Operasi statistika dasar

22 October 2024 08:43:08 Dibaca : 13

Di sini kita memiliki data pengangguran di Indonesia dari tahun 2014 - 2024 :

2014: 7,14 juta orang - 5,7% dari total populasi 2015: 7,45 juta orang - 5.81% dari total populasi2016: 7,02 juta orang - 5,5% dari total populasi2017: 7,00 juta orang - 5,3% dari total populasi2018: 6,93 juta orang - 5,1% dari total populasi2019: 6,89 juta orang - 4,98% dari total populasi2020: 6,92 juta orang - 4,94% dari total populasi2021: 8,74 juta orang - 6,2% dari total populasi2022: 8,40 juta orang - 5,8% dari total populasi2023: 7,98 juta orang - 5,4% dari total populasi2024: 7,19 juta orang - 4,8% dari total populasi

sumber : Kaylara, A.F. (2024). Infografis tingkat pengangguran di Indonesia dari 2014-2024.Inilah.com.diakses selasa, 22/10/2024 pukul 07.30. (https://www.inilah.com/tingkat-pengangguran-di-indonesia)

Lalu kita akan menghitung operasi  statistika dasarnya mulai dari mean sampai argmin dan argmax menggunakan Python 

1. Import Pustaka

- import numpy as np: Mengimpor pustaka NumPy, yang digunakan untuk operasi matematis dan manipulasi array.- import statistics: Mengimpor pustaka statistics, yang menyediakan fungsi statistik dasar.

2. Mendefinisikan Data

Menggunakan np.array untuk membuat array NumPy dari data pengangguran yang diberikan dalam juta jiwa.

3. Menampilkan Data

Perintah untuk menampilkan array yang berisi data pengangguran.

4. Menghitung Rata-rata

 Kita akan menghitung rata-rata atau mean dari data dalam array a dengan fungsi agregasi np.mean(a).

5. menghitung Median

Selanjutnya menghitung median atau nilai tengah dari data menggunakan fungsi agregasi np.median(a).

6, Menghitung Modus 

Selanjutnya menghitung modus atau nilai yang paling sering muncul dalam data menggunakan fungsi statistik statistics.mode(a).

7.Menghitung Standar Deviasi

Selanjutnya menghitung standar deviasi dari data. karena data yang saya gunakan berupa data sampel maka menggunakan fungsi statistik statistics.stdev(a) namun apabila data anda berupa data populasi anda bisa menggunakan fungsi statistik statistics.pstdev ().

8. menghitung persentil 

Selanjutnya menghitung persentil 1,2 dan 3 menggunakan fungsi agregasi np.quantile. untuk persentil 1 (a,.25), persentil 2 (a,.50), dan persentil 3 (a,.75).

9. Menghitung Varians 

Selanjutnya menghitung varians dari data, yang menunjukkan seberapa jauh nilai-nilai dalam dataset tersebar dari rata-ratanya menggunakan fungsi statistik statistics.variance(a).

10. Menghitung nilai minimun dan maksimun

Selanjutnya untun menentukan nilai minimum dan maksimum dari data kita dapat menggunakan fungsi agregasi np.min(a) untuk mencari nilai minimum dan np.max(a) untuk nilai maksimum.

11. Menghitung jumlah dan hasil perkalian

Selanjutnya kita dapat menghitung jumlah dari semua elemen dalam data dengan menggunakan a.sum() dan untuk hasil perkalian semua elemen dalam data menggunakan a.prod().

12. Menghitung Argmin (indeks minimum) dan Argmax (indeks Maksimum)

Selanjutnya kita dapat menghitung indeks minimum dari elemen terkecil dalam array dengan menggunakan a.argmin() dan indeks maksimum dari elemen terbesar dalam array menggunakan a.argmax().

Kemudian apabila program dijalankan maka akan memberikan hasil seperti berikut :

 

Sekian dan Terima kasih

 

Latihan Soal BAB 4

04 October 2024 20:55:26 Dibaca : 12

1. Dalam pemrograman, fungsi adalah sekumpulan instruksi yang dikelompokkan untuk melakukan tugas tertentu. Fungsi memungkinkan programmer untuk menulis kode yang dapat digunakan kembali, sehingga meningkatkan efisiensi dan keterbacaan program. Dengan menggunakan fungsi, Anda dapat mendefinisikan logika tertentu sekali dan memanggilnya kapan saja di program, tanpa harus menulis ulang kode yang sama.

Fungsi dapat menerima input dalam bentuk parameter, melakukan operasi berdasarkan input tersebut, dan mengembalikan nilai hasilnya. Misalnya, fungsi matematika seperti sqrt() dalam Python menghitung akar kuadrat dari angka yang diberikan. Fungsi juga dapat digunakan untuk membagi program menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola, yang membantu dalam pengembangan dan pemeliharaan perangkat lunak. Secara keseluruhan, penggunaan fungsi meningkatkan modularitas, memudahkan pengujian, dan mempercepat pengembangan kode.

2. Dalam pemrograman, prosedur adalah sekumpulan instruksi atau pernyataan yang dikelompokkan untuk menjalankan tugas tertentu, mirip dengan fungsi. Namun, perbedaan utama antara prosedur dan fungsi adalah bahwa prosedur biasanya tidak mengembalikan nilai. Prosedur digunakan untuk melakukan aksi atau untuk melakukan serangkaian langkah, seperti memanipulasi data, menampilkan output, atau mengubah status program.

Prosedur membantu dalam mengorganisir kode menjadi bagian-bagian yang lebih terstruktur dan dapat digunakan kembali. Dengan mendefinisikan prosedur, programmer dapat memanggilnya kapan saja di dalam program, sehingga meningkatkan keterbacaan dan pemeliharaan kode. Prosedur juga memungkinkan pemisahan logika program menjadi bagian-bagian yang lebih kecil, yang memudahkan pengujian dan debugging. Dalam banyak bahasa pemrograman, prosedur sering disebut sebagai "subrutin" atau "subprogram," dan mereka memainkan peran penting dalam pengembangan perangkat lunak yang terstruktur.

3. Perbedaan utama antara fungsi dan prosedur terletak pada tujuan dan cara mereka digunakan dalam pemrograman:

a. Pengembalian Nilai:

-Fungsi: Fungsi dirancang untuk melakukan perhitungan atau pemrosesan tertentu dan selalu mengembalikan nilai. Sebagai contoh, fungsi matematika seperti sqrt() mengembalikan akar kuadrat dari angka yang diberikan.-Prosedur: Prosedur, di sisi lain, tidak mengembalikan nilai. Tujuannya adalah untuk melakukan tindakan, seperti mencetak output atau memodifikasi data, tanpa memberikan hasil kembali kepada pemanggilnya.b. Konteks Penggunaan:

-Fungsi: Digunakan ketika hasil dari pemrosesan diperlukan dalam perhitungan lebih lanjut. Fungsi sering digunakan dalam ekspresi dan dapat disisipkan dalam perhitungan matematis atau logika lainnya.-Prosedur: Digunakan untuk menjalankan serangkaian instruksi yang tidak memerlukan hasil, seperti pengaturan status atau pengelolaan alur program. Prosedur lebih fokus pada aksi daripada penghitungan nilai.

Dengan demikian, fungsi dan prosedur memiliki peran penting dalam pemrograman, tetapi mereka digunakan dalam konteks yang berbeda berdasarkan kebutuhan logika dan struktur program.

4. Iteratif dan rekursif adalah dua metode yang digunakan dalam pemrograman untuk menyelesaikan permasalahan yang melibatkan pengulangan atau perhitungan berulang.

a. IteratifMetode iteratif menggunakan struktur kontrol seperti loop (seperti for atau while) untuk mengulangi blok kode hingga kondisi tertentu terpenuhi. Dalam pendekatan ini, proses pengulangan dilakukan secara eksplisit, dan setiap iterasi biasanya mengubah nilai variabel yang digunakan dalam loop. Contohnya, menghitung jumlah angka dari 1 hingga n dapat dilakukan dengan menggunakan loop untuk menambahkan angka satu per satu.

b. RekursifMetode rekursif melibatkan fungsi yang memanggil dirinya sendiri untuk menyelesaikan submasalah. Setiap kali fungsi tersebut dipanggil, ia memecah masalah menjadi bagian yang lebih kecil, hingga mencapai kondisi dasar yang menghentikan pemanggilan lebih lanjut. Misalnya, menghitung faktorial dari suatu angka dapat dilakukan dengan fungsi yang memanggil dirinya sendiri dengan angka yang lebih kecil hingga mencapai 1.

Perbedaannya yaitu :Pendekatan:

-Iteratif menggunakan loop untuk mengulangi blok kode, sementara rekursif menggunakan pemanggilan fungsi ke dirinya sendiri.Penggunaan Memori:

-Iteratif biasanya lebih efisien dalam penggunaan memori karena tidak memerlukan tumpukan panggilan fungsi. Rekursif, di sisi lain, dapat mengakumulasi banyak panggilan fungsi dalam tumpukan, yang dapat menyebabkan penggunaan memori lebih tinggi dan berpotensi menyebabkan stack overflow jika terlalu dalam.Keterbacaan:

-Rekursif sering kali lebih mudah dibaca dan dipahami untuk masalah yang dapat dipecah menjadi submasalah yang lebih kecil, sementara iteratif dapat terlihat lebih rumit untuk masalah yang sama. Namun, iteratif cenderung lebih jelas untuk masalah yang melibatkan perulangan sederhana.

Secara keseluruhan, pemilihan antara metode iteratif dan rekursif tergantung pada konteks masalah dan preferensi dalam hal efisiensi dan keterbacaan.

5. Program untuk mengecek apakah suatu bilangan termasuk positif atau negatif 

Program dimulai dengan mendefinisikan fungsi cek_bilangan, yang menerima satu parameter, yaitu bilangan. Di dalam fungsi, terdapat tiga kondisi yang diperiksa: jika bilangan lebih besar dari nol, fungsi mengembalikan string "Bilangan positif"; jika bilangan kurang dari nol, mengembalikan "Bilangan negatif"; dan jika bilangan sama dengan nol, mengembalikan "Bilangan nol". Dengan demikian, fungsi ini dapat mengevaluasi dan memberikan informasi tentang sifat dari bilangan yang dimasukkan.

Setelah mendefinisikan fungsi, program meminta pengguna untuk memasukkan sebuah bilangan dengan menggunakan input(). Input tersebut kemudian dikonversi menjadi tipe data float untuk mengakomodasi bilangan desimal. Blok try digunakan untuk menangani kemungkinan kesalahan konversi, seperti jika pengguna memasukkan karakter non-numerik. Jika input valid, program memanggil fungsi cek_bilangan dan mencetak hasilnya. Namun, jika terjadi kesalahan, program akan memberikan pesan kesalahan yang meminta pengguna untuk memasukkan angka yang valid. Dengan cara ini, program menjadi lebih robust dan ramah pengguna.

Kemudian ketika program dijalankan akan menampil seperti berikut ini :

6. Program untuk mengecek apakah suatu bilangan termasuk bulat atau ganjil

Program di atas dimulai dengan mendefinisikan fungsi cek_bilangan, yang bertugas untuk menentukan apakah sebuah bilangan bulat adalah genap atau ganjil. Fungsi ini pertama-tama memeriksa apakah parameter bilangan yang diterima adalah tipe data integer menggunakan isinstance(). Jika bilangan tersebut adalah integer, program kemudian memeriksa apakah bilangan tersebut genap dengan menggunakan operator modulo (%). Jika hasilnya 0, maka bilangan tersebut adalah genap; jika tidak, bilangan tersebut adalah ganjil. Jika bilangan bukan integer, fungsi akan mengembalikan string "bukan bilangan bulat".

Setelah mendefinisikan fungsi, program meminta pengguna untuk memasukkan sebuah bilangan dengan menggunakan input(). Input tersebut awalnya dikonversi menjadi float untuk mendukung bilangan desimal. Program kemudian memeriksa apakah angka tersebut adalah bilangan bulat dengan menggunakan metode is_integer(). Jika angka tersebut adalah bilangan bulat, maka dikonversi menjadi tipe integer sebelum diproses lebih lanjut dengan memanggil fungsi cek_bilangan. Hasilnya kemudian dicetak ke layar. Namun, jika input tidak valid—baik karena bukan bilangan bulat atau karena kesalahan konversi—program akan mengeluarkan pesan kesalahan yang sesuai, meminta pengguna untuk memasukkan angka yang valid. Dengan demikian, program ini dirancang untuk menangani berbagai jenis input dengan baik.

Lalu ketika dijalankan program akan menampilkan sebagai berikut :

7. Program untuk mengecek apakah suatu tahun termasuk tahun kabisat atau bukan 

Program di atas dimulai dengan mendefinisikan fungsi cek_tahun_kabisat, yang bertugas untuk menentukan apakah suatu tahun adalah tahun kabisat atau bukan. Di dalam fungsi, terdapat logika yang memeriksa syarat tahun kabisat: sebuah tahun dianggap kabisat jika habis dibagi 4 dan tidak habis dibagi 100, kecuali jika tahun tersebut juga habis dibagi 400. Jika kondisi tersebut terpenuhi, fungsi akan mengembalikan True, menandakan bahwa tahun tersebut adalah kabisat; jika tidak, ia akan mengembalikan False.

Setelah mendefinisikan fungsi, program meminta pengguna untuk memasukkan tahun dengan menggunakan input(). Input tersebut kemudian dikonversi menjadi tipe data integer. Program memanggil fungsi cek_tahun_kabisat dengan tahun yang diinputkan dan memeriksa hasilnya. Jika fungsi mengembalikan True, program akan mencetak bahwa tahun tersebut adalah tahun kabisat; jika mengembalikan False, program akan mencetak bahwa tahun tersebut bukan tahun kabisat. Jika pengguna memasukkan nilai yang tidak valid (misalnya, huruf atau simbol), blok except akan menangkap kesalahan dan menampilkan pesan yang meminta pengguna untuk memasukkan tahun yang valid. Dengan demikian, program ini dirancang untuk memberikan umpan balik yang jelas dan menangani kesalahan input dengan baik.

Kemudian ketika kode dijalankan akan menampilkan seperti berikut ini :

8. Program untuk menghitung jumlah dari angka yang diberikan

 

Program di atas dimulai dengan mendefinisikan fungsi rekursif jumlah_angka, yang bertujuan untuk menghitung jumlah digit dari sebuah bilangan bulat. Fungsi ini pertama-tama mengubah bilangan negatif menjadi positif menggunakan abs(). Kemudian, terdapat dua kondisi: jika n sama dengan 0, fungsi akan mengembalikan 0 sebagai basis kasus; jika tidak, fungsi akan mengambil digit terakhir dari n dengan menggunakan operator modulo (% 10) dan menambahkan hasilnya pada pemanggilan rekursif fungsi itu sendiri dengan n yang dibagi 10 (menghilangkan digit terakhir). Dengan cara ini, fungsi akan terus memanggil dirinya hingga mencapai basis kasus, menghitung total jumlah digit.

 

Setelah mendefinisikan fungsi, program meminta pengguna untuk memasukkan bilangan bulat melalui input. Input tersebut kemudian dikonversi menjadi tipe data integer. Jika pengguna memasukkan 0, program secara langsung mencetak bahwa jumlah angka dari 0 adalah 0. Namun, jika bilangan yang dimasukkan adalah angka lain, program akan memanggil fungsi jumlah_angka untuk menghitung jumlah digit dan mencetak hasilnya. Jika terjadi kesalahan saat konversi input (misalnya, jika pengguna memasukkan karakter non-numerik), blok except akan menangkap kesalahan tersebut dan menampilkan pesan yang meminta pengguna untuk memasukkan angka yang valid. Dengan demikian, program ini memberikan umpan balik yang jelas dan menangani kesalahan input dengan baik.

Ketika dijalankan akan menampilkan hasil seperti berikut ini :

 

 

Latihan Soal BAB 3

26 September 2024 18:10:02 Dibaca : 25

1.  Counted Loop adalah jenis pengulangan di mana jumlah iterasi (pengulangan) sudah ditentukan sebelumnya. Ini biasanya digunakan ketika kita tahu berapa kali kita ingin menjalankan blok kode. Uncounted Loop (atau loop tak terhitung) adalah jenis loop dalam pemograman yang tidak memiliki batasan yang jelas mengenai berapa kali loop tersebut akan dijalankan. Berbeda dengan loop hitung (counted loop) yang memiliki jumlah iterasi yang ditentukan, uncounted loop biasanya digunakan ketika jumlah iterasi tidak dapat diprediksi sebelumnnya.

2. Nested Loop (Loop bersarang) adalah konsep dalam pemograman di mana satu loop (loop luar) menggandung satu atau lebih loo lain (loop dalam) di dalamnya. Ini memungkinkan kita untuk melakukan iterasi melalui struktur data yang lebih kompleks, seperti matriks atau array multidimensi.

3. Controlled Jump adalah konsep dalam pemrograman yang merujuk pada pengalihan alur eksekusi program secara eksplisit menggunkan pernyataan tertentu.Dengan Controlled jump, Programmer dapat menggontrol kapan dan di mana alur program akan melompat ke bagian tertentu dari kode berdasarkan kondisi yang ditentukan.

4. Perulangan jenis iteratif adalah metode untuk menjalankan sekelompok instruksi secara berulang-ulang hingga kondisi tertentu terpenuhi. Dalam pemrograman, perulangan ini memungkinkan kita untuk mengulangi eksekusi kode tanpa menulisnya berulang kali, yang membuat kode lebih efisien dan mudah dibaca.

Karakteristik Perulangan Iteratifa. Kondisi Perulangan: Setiap perulangan memiliki kondisi yang menentukan apakah perulangan akan dilanjutkan atau dihentikan. Kondisi ini biasanya dievaluasi di awal atau akhir setiap iterasi.b. nkrementasi/Decrementasi: Dalam banyak kasus, variabel kontrol perulangan akan diubah (ditambahkan atau dikurangi) setiap kali perulangan dilakukan untuk mendekati kondisi penghentian.c. Blok Kode: Kode yang akan dijalankan di dalam perulangan disebut blok perulangan, dan akan dieksekusi berulang kali selama kondisi perulangan terpenuhi.

Jenis-Jenis Perulangan Iteratifa. For Loop: Digunakan ketika jumlah iterasi sudah diketahui sebelumnya.

b. While Loop: Digunakan ketika jumlah iterasi tidak diketahui, dan perulangan dilakukan selama kondisi tertentu terpenuhi.

c. Do While Loop: Mirip dengan while loop, tetapi blok kode dieksekusi setidaknya sekali sebelum kondisi diperiksa.

Kelebihan:

Meningkatkan efisiensi dan keterbacaan kode.Memudahkan pengolahan data dalam jumlah besar.

Kekurangan:

Jika tidak ditangani dengan baik, dapat menyebabkan loop tak terhingga, yang dapat menghanguskan program.Performa dapat menurun jika terlalu banyak iterasi dilakukan, terutama pada struktur data yang besar.

5. Program untuk membuat Tebel Perkalian.

Penjelasan Program di atas :

1. Loop Pertama:

- Loop Luar: Mengiterasi nilai j dari 0 hingga 10.- Loop Dalam: Mengiterasi nilai i dari 1 hingga 5.- Output: Mencetak hasil perkalian antara i dan j dengan format i * j = hasil, dipisahkan dengan tab (\t).- Baris Baru: Setelah menyelesaikan satu iterasi dari loop luar, program mencetak baris baru.

2. Spasi Kosong:

- Baris kosong dicetak untuk memisahkan dua tabel yang dihasilkan.

3. Loop Kedua:

- Loop Luar: Mengiterasi nilai j dari 0 hingga 10, sama seperti sebelumnya.- Loop Dalam: Mengiterasi nilai i dari 6 hingga 10.- Output: Mencetak hasil perkalian antara i dan j dengan cara yang sama.

Berikut di bawah ini merupakan Tampilan ketika Program di jalankan :

6. Program untuk membuat Tabel Komversi suhu dari Celcius, Reamur, Fahrenheit dan Kelvin.

Penjelasan dari Program di atas :

Langkah 1: Definisi Fungsi Konversi dan TabelPada langkah ini, kita mendefinisikan tiga fungsi untuk mengonversi suhu dari Celsius ke skala lainnya (Fahrenheit, Reamur, dan Kelvin). Selain itu, kita juga mendefinisikan fungsi untuk menampilkan tabel suhu.

Langkah 2: Menghitung dan Menampilkan Tabel SuhuDi langkah ini, kita menggunakan loop untuk menghitung suhu dari 0 hingga 5 derajat Celsius dan menampilkan hasil konversi ke dalam tabel dengan format yang rapi.

Berikut di bawah ini merupakan Tampilan ketika Program di jalankan :

7. Program untuk membuat Pola segitiga seperti pada gambar di bawah 

 

Bentuk Programnya yaitu :

Penjelasan dari Program di atas :

a. Inisialisasi Variabel:

current_number diinisialisasi dengan nilai 1. Variabel ini digunakan untuk melacak angka yang akan dicetak.

b. Loop Utama:

Loop pertama (for i in range(1, n + 1)) berjalan dari 1 hingga n. Ini menentukan jumlah baris yang akan dicetak.

c. Loop Dalam:

Loop kedua (for j in range(i)) berjalan sebanyak i, yang berarti jumlah angka yang dicetak pada baris ke-i.

d. Mencetak Angka:

Di dalam loop dalam, angka current_number dicetak, diikuti dengan spasi. Setelah itu, current_number ditingkatkan satu.Pindah ke Baris Baru:

Setelah menyelesaikan pencetakan angka untuk satu baris, print() digunakan untuk berpindah ke baris berikutnya.

Berikut di bawah ini merupakan Tampilan ketika Program di jalankan akan sesuai dengan gambar yang di berikan :

8. Program untuk membuat Pola segitiga seperti pada gambar di bawah

Berikut Programnya yaitu:

Penjelasan dari Program di atas :

a. Loop Utama:

Loop for i in range(n) berjalan dari 0 hingga n-1. Ini menentukan jumlah baris yang akan dicetak.

b. Menghitung Karakter:

Di dalam loop, karakter saat ini dihitung menggunakan chr(65 + i), di mana 65 adalah kode ASCII untuk huruf 'A'. Dengan menambahkan i, kita mendapatkan huruf berikutnya dalam urutan abjad.

c. Mencetak Karakter:

print(current_char * (i + 1)) mencetak karakter saat ini sebanyak i + 1 kali. Ini berarti baris pertama akan mencetak huruf 'A' satu kali, baris kedua akan mencetak huruf 'B' dua kali, dan seterusnya.

Berikut di bawah ini merupakan Tampilan ketika Program di jalankan akan sesuai dengan gambar yang di berikan :

Latihan Soal BAB 1 & 2

25 September 2024 20:14:37 Dibaca : 19

Nama : Fatur Rahman Dusi

NIm : 411423021

Prodi / Kelas : Pendidikan Matematika / B

Mata kuliah : Komputasi dan Pemograman

Dosen Pengampu : Agusyarif Rezka Nuha, S.Pd, M,Pd

1. Algoritma adalah sekumpulan langkah-langkah atau instruksi yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam konteks komputasi, algoritma sering digunakan untuk memproses data, melakukan perhitungan, dan menyelesaikan masalah secara otomatis. Algoritma adalah dasar dari pemrograman dan pengembangan perangkat lunak, dan pemahaman yang baik tentang algoritma dapat membantu dalam menyelesaikan berbagai masalah secara efisien. 

2. Ciri-ciri Algoritma:-Tepat dan Jelas: Setiap langkah harus jelas dan tidak membingungkan.-Terbatas: Algoritma harus memiliki langkah-langkah yang terbatas, sehingga akan berakhir dalam waktu tertentu.-Input dan Output: Algoritma biasanya memerlukan input dan menghasilkan output.-Umum: Algoritma yang baik dapat diterapkan pada berbagai kasus dengan kondisi yang serupa-.

3. Berikut adalah langkah-langkah dan cara penulisan algoritma yang umum digunakan:

a. Menggunakan Bahasa Natural:

Tulis algoritma dalam bentuk kalimat yang mudah dipahami. Contoh:

1. Mulai2. Ambil dua angka A dan B dari pengguna3. Hitung jumlah A dan B4. Tampilkan hasil5. Selesai

b. Menggunakan Pseudocode:

Pseudocode adalah cara menulis algoritma yang menyerupai kode pemrograman, tetapi lebih sederhana dan mudah dipahami. Contoh:

STARTINPUT A, BSUM = A + BOUTPUT SUMEND

c. Menggunakan Diagram Alir (Flowchart):

Gambarkan langkah-langkah algoritma dalam bentuk diagram. Gunakan simbol standar seperti:

-Oval untuk mulai/akhir-Persegi panjang untuk proses-Belah ketupat untuk keputusan

4. Interpreter dan kompiler adalah dua jenis program yang digunakan untuk menerjemahkan kode sumber (source code) yang ditulis dalam bahasa pemrograman menjadi bentuk yang dapat dijalankan oleh komputer. Meskipun keduanya memiliki tujuan yang sama, cara kerjanya berbeda.

a. Interpreter adalah program yang langsung menerjemahkan dan mengeksekusi kode sumber baris per baris tanpa perlu mengubahnya menjadi file biner atau executable terlebih dahulu.

b. Kompiler adalah program yang menerjemahkan seluruh kode sumber menjadi file executable (biner) sekaligus sebelum program dijalankan.

 5. Dekomposisi adalah proses membagi suatu masalah atau sistem yang kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola. Dalam konteks pemrograman dan rekayasa perangkat lunak, dekomposisi membantu menyederhanakan perancangan, pengembangan, dan pemeliharaan sistem.

Tujuan Dekomposisi:-Mempermudah Pemahaman: Dengan membagi masalah menjadi bagian-bagian kecil, lebih mudah untuk memahami setiap komponen dan interaksinya.-Peningkatan Manajemen Proyek: Proyek besar dapat dikelola lebih efisien ketika dipecah menjadi tugas-tugas yang lebih kecil.-Reusabilitas: Komponen yang telah dibuat dapat digunakan kembali di proyek lain, menghemat waktu dan usaha.-Pengujian yang Lebih Efisien: Setiap bagian kecil dapat diuji secara terpisah, memudahkan dalam menemukan dan memperbaiki kesalahan.

6. Bahasa sumber, atau sering disebut sebagai source code, adalah bahasa pemrograman yang digunakan oleh pengembang untuk menulis program atau aplikasi. Ini adalah representasi teks dari instruksi yang dapat dibaca manusia dan ditulis dalam sintaks yang sesuai dengan aturan bahasa pemrograman tertentu.

Ciri-ciri Bahasa Sumber:-Teks yang Dapat Dibaca: Kode ditulis dalam format teks yang dapat dibaca dan dimengerti oleh pengembang.-Struktur dan Sintaks: Setiap bahasa sumber memiliki aturan dan sintaks tersendiri yang harus diikuti agar kode dapat dikompilasi atau diinterpretasi dengan benar.-Portabilitas: Kode sumber dapat dipindahkan dan dijalankan di berbagai platform, asalkan ada kompiler atau interpreter yang sesuai.

7. Program Python untuk menghitung Volume Tabung

pertama : Deklarasikan Nilai dari phi  = 3,14

Kedua : Buat kode yang meminta pengguna untuk memasukan nilai variabel jari-jari (r) dan dan tiniggi (t) Tabung.

ketiga : Masukan Rumus Menghitung Volume Tabung, V = phi* r**2* t

keempat : Masuk Perintah untuk menampilkan hasil dengan 2 angka di belakang koma.

kelima : Menunjukan hasil yang ditampilkan bila program di running dengan memasukan nilai dari variabel. contoh, misal r = 7 dan tinggi =10.

 8. Program Python untuk menghitung Volume dan luas Kerucut

 

Dalam kode tersebut, langkah pertama adalah mendeklarasikan konstanta phi sebagai nilai pendekatan (phi) dengan menggunakan rumus 22/7. Selanjutnya, program meminta pengguna untuk memasukkan jari-jari (r) dan tinggi (t) kerucut. Nilai jari-jari diambil sebagai angka desimal dengan fungsi float(), sedangkan tinggi diambil sebagai bilangan bulat menggunakan int(). Input ini penting untuk perhitungan yang akurat dari volume dan luas kerucut.

Pada langkah kedua, volume kerucut dihitung dengan phi * r * 2 * 1/3 * t,. Selanjutnya, luas alas kerucut dihitung menggunakan rumus phi*r**2 dan disimpan dalam variabel luas. Hasil perhitungan volume dan luas kerucut kemudian ditampilkan di layar dengan menggunakan perintah print(). Penggunaan rumus yang benar sangat penting untuk memastikan hasil perhitungan yang akurat dan dapat dipahami.

Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r = 7 dan t = 5 :

9. Program Python untuk menghitung Volume dan luas permukaan bola

 

Pada kode ini, langkah pertama adalah mendeklarasikan konstanta phi dengan nilai 3.14, yang merupakan pendekatan untuk  (pi). Pengguna diminta untuk memasukkan nilai jari-jari bola (r) menggunakan fungsi input(), yang kemudian dikonversi menjadi angka desimal dengan float(). Input ini sangat penting karena akan digunakan dalam perhitungan volume dan luas permukaan bola.

Selanjutnya, volume bola dihitung menggunakan rumus 4/3 * phi * r**3. Luas permukaan bola dihitung dengan rumus  phi * 4 * r**2. Setelah perhitungan selesai, hasil volume ditampilkan dengan format dua angka desimal menggunakan '{:0,.2f}'.format(Volume), sedangkan luas permukaan ditampilkan langsung. Dengan demikian, hasil yang ditampilkan memberikan informasi yang jelas dan terformat dengan baik mengenai karakteristik bola berdasarkan jari-jari yang dimasukkan.

Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r = 5 :

10. Program untuk menghitung potongan harga dengan minimal belanja

Pada kode ini, langkah pertama adalah meminta pengguna untuk memasukkan total belanja Budi. Input tersebut diambil menggunakan fungsi input() dan dikonversi menjadi bilangan bulat dengan int(), disimpan dalam variabel total_belanja. Setelah itu, program menghitung diskon yang diberikan, yaitu 20% dari total belanja, dengan mengalikan total_belanja dengan 0.20. Hasil diskon disimpan dalam variabel diskon, dan total yang harus dibayar setelah diskon diterapkan dihitung dengan mengurangi nilai diskon dari total belanja, disimpan dalam variabel total_bayar.

Langkah kedua adalah menampilkan total yang harus dibayar oleh Budi. Program menggunakan pernyataan if untuk memeriksa apakah total_belanja lebih besar atau sama dengan Rp 100.000. Jika ya, program mencetak total yang harus dibayar setelah diskon dan memberikan pesan selamat kepada Budi atas diskon yang didapat. Jika tidak, program hanya menampilkan total belanja tanpa diskon. Dengan demikian, hasil yang ditampilkan memberikan informasi yang jelas tentang total yang harus dibayar dan manfaat diskon yang diterima.

Setelah Program dijalankan akan menampilkan seperti berikut ini, disini saya menggunkan total belanja 120.000 :

11. Program untuk menghitung biaya rental bus

Pada kode ini, langkah pertama adalah mendeklarasikan variabel yang diperlukan untuk menghitung total biaya sewa. Variabel biaya_sewa diatur ke Rp 2.000.000, yang merupakan biaya sewa per hari. Program kemudian meminta pengguna untuk memasukkan nama, alamat, nomor HP, lama sewa (dalam hari), dan lama keterlambatan (jika ada). Input ini dilakukan menggunakan fungsi input(), dan nilai yang dimasukkan dikonversi ke tipe data yang sesuai (string untuk nama, alamat, dan nomor HP; serta integer untuk lama sewa dan keterlambatan). Data ini penting untuk menghitung total pembayaran yang harus dilakukan oleh penyewa.

Langkah kedua melibatkan logika untuk menghitung total pembayaran berdasarkan lama sewa dan keterlambatan. Program menggunakan pernyataan if untuk memeriksa apakah ada keterlambatan. Jika lama_keterlambatan lebih besar atau sama dengan 1, denda dihitung sebagai 0.5 kali biaya sewa per hari dikalikan dengan jumlah hari keterlambatan, dan ditambahkan ke total pembayaran. Jika tidak ada keterlambatan, total pembayaran hanya dihitung berdasarkan lama sewa dikalikan dengan biaya sewa. Hasil total pembayaran kemudian ditampilkan ke layar, memberikan informasi yang jelas mengenai jumlah yang harus dibayar oleh penyewa.

Apabila program dijalankan akan menampilkan hasil seperti berikut ini, dsini saya menggunkan lama sewa = 4 hari dan terlambat = 1 hari : 

12. Program untuk perulangan

 

Dalam kode ini, pengguna diminta untuk memasukkan sebuah nilai yang disimpan dalam variabel nilai dengan tipe data integer. Selanjutnya, program menggunakan perulangan for untuk mencetak kalimat "Saya Belajar Python" sebanyak nilai yang dimasukkan. Fungsi range(nilai) menghasilkan urutan angka mulai dari 0 hingga nilai - 1, dan pada setiap iterasi, program mencetak nomor urut i diikuti oleh kalimat tersebut. Hasilnya adalah output yang menunjukkan berapa kali pengguna 'belajar Python' sesuai dengan nilai yang diberikan, dengan nomor urut yang tertera di depan setiap kalimat. Namun, perlu diperhatikan bahwa sintaks range(nilai) harus ditulis dengan tanda kurung yang benar, yaitu range(nilai).

Apabila kode di jalankan akan menunjukan hasil seperti berikut, disini nilai saya ambil 5 :

 

14. program untuk keterlambatan pengembalian buku di perpustakaan

Pada kode ini, pengguna diminta untuk memasukkan dua tanggal: tanggal rencana pengembalian buku (tanggal_kembali1) dan tanggal aktual pengembalian buku (tanggal_kembali2). Kedua input ini diambil sebagai bilangan bulat. Program kemudian menggunakan pernyataan if untuk membandingkan kedua tanggal. Jika tanggal_kembali1 lebih kecil dari tanggal_kembali2, itu berarti pengembalian terlambat. Program akan menghitung selisih hari keterlambatan dan menampilkan pesan yang sesuai, misalnya "anda terlambat X hari dalam pengembalian buku."

Di sisi lain, jika tanggal_kembali1 lebih besar dari tanggal_kembali2, program menghitung selisih hari dan memberi tahu pengguna bahwa mereka mengembalikan buku lebih cepat dari yang direncanakan dengan pesan "anda lebih cepat X hari dalam pengembalian." Jika kedua tanggal sama, program mencetak pesan bahwa pengembalian buku dilakukan tepat waktu. Namun, terdapat kesalahan logika pada perhitungan selisih hari; seharusnya selisih dihitung dengan nilai mutlak agar tidak menghasilkan angka negatif saat tanggal terlambat. Dengan demikian, kode ini bertujuan untuk memberikan informasi yang jelas tentang status pengembalian buku berdasarkan tanggal yang dimasukkan.

Kemudian ketika program dijalankan akan menunjukan hasil :

15. program untuk konversi hari,jam, menit dan detik 

Pada kode ini, program dimulai dengan meminta pengguna untuk memasukkan jumlah total detik melalui fungsi input(), yang hasilnya dikonversi menjadi integer dan disimpan dalam variabel total_detik. Selanjutnya, program melakukan perhitungan untuk mengonversi detik tersebut menjadi hari, jam, menit, dan detik. Pertama, jumlah hari dihitung dengan membagi total_detik dengan jumlah detik dalam satu hari (24 jam dikalikan dengan 3600 detik). Sisa detik setelah menghitung hari disimpan dalam variabel sisa_detik, yang kemudian digunakan untuk menghitung jam. Proses ini diulang untuk menghitung menit dan detik, sehingga setiap unit waktu dapat ditentukan dari nilai total detik yang dimasukkan.

Setelah semua perhitungan selesai, program mencetak hasil konversi dalam format yang jelas dan terstruktur. Menggunakan f-string, program menampilkan jumlah hari, jam, menit, dan detik yang setara dengan total detik yang diberikan. Dengan cara ini, pengguna dapat dengan mudah memahami konversi waktu yang dilakukan dan mendapatkan informasi yang relevan dari input yang diberikan. Program ini efektif dalam menunjukkan bagaimana detik dapat dipecah menjadi unit waktu yang lebih besar, memberikan wawasan tentang durasi dalam konteks yang lebih familiar.

Ketika kode di jalankan akan menampikan hasil seperti berikut, di sini saya memasukan nilai 450.500 :

 

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong