Latihan Soal Bab 4 dalam Buku Phyton dan Pembahasannya
1. Definisi Fungsi
Dalam konteks pemrograman phyton, fungsi adalah sekumpulan perintah yang dikelompokkan bersama dan dapat dipanggil untuk melakukan tugas tertentu. Fungsi membantu dalam mengorganisir kode, meningkatkan keterbacaan, dan memungkinkan penggunaan kembali kode. Fungsi didefinisikan menggunakan kata kunci def, diikuti dengan nama fungsi dan tanda kurung yang berisi parameter (jika ada).
2. Definisi Porsedur
Dalam konteks pemrograman phyton, prosedur biasanya merujuk pada sebuah fungsi atau blok kode yang dapat dipanggil untuk melakukan tugas tertentu. Prosedur biasanya tidak mengembalikan nilai, berbeda dengan fungsi yang sering mengembalikan hasil. Prosedur memungkinkan pengorganisasian kode yang lebih baik, membuatnya lebih mudah dibaca dan mengurangi pengulangan.
3. Perbedaan Fungsi dan Prosedur
- Fungsi adalah blok kode yang melakukan suatu tugas dan mengembalikkan nilai. Fungsi bisa menerima input(parameter) dan setelah melakukan pemrosesan, mengembalikkan output menggunakan pernyataan return.
- Sedangka Prosedur, di sisi lain, adalah blok kode yang melakukan suatu tugas tetapi tidak mengembalikan nilai. Prosedur biasanya digunakan untuk menjalankan serangkaian perintah atau operasi tanpa mengembalikan hasil.
4. Definisi Iteratif, Rekursif, dan Perbedaan Keduanya
- Iteratif adalah suatu proses yang dilakukan berulang kali. Dalam pemrograman, ini biasanya dilakukan menggunakan struktur kontrol seperti loop (pengulangan) yang memungkinkan sekelompok intruksi dieksekusi berulang kali.
- Rekursif adalah teknik dimana fungsi menyelesaikan masalah dengan memanggil dirinya sendiri, biasanya dengan parameter yang berbeda, sampai kondisi tertentu terpenuhi (sering disebut kondisi dasar atau basis)
- Perbedaan Keduanya : Iterasi menggunakan loop, lebih efisien dalam penggunaan memori dan waktu, kadang-kadang lebih kompleks untuk beberapa masalah. Sedangkan Rekursi memanggil fungsi sendiri, menggunakan lebih banyak memori, bisa lebih mudah dibaca untuk masalah tertentu.
5. Berikut program membuat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan tersebut positif atau negatif!
Langkah-langkahnya sebagai berikut:
1. Definisikan Fungsi :
- Buat fungsi cek_bilangan(bilangan) untuk mengecek apakah bilangan positif, negatif, atau nol.
2. Minta Input Pengguna:
- Gunakan input () untuk meminta pengguna memsukkan sebuah desimal.
3. Konversi Input:
- Ubah input tersebut menjadi tipe float untuk menangani bilangan desimal.
4. Panggil Fungsi:
- Panggil fungsi cek_bilangan dengan input daripengguna dan simapn hasilanya.
5. Tampilkan Hasil:
- Cetak hasil dari fungsi
6. Tangani Kesalahan:
- Gunakan try-except untuk menangani input yang tidak valid dengan menampilkan pesan kesalahan.
Setelah dijalankan akan menghasilkan output sebagai berikut:
6. Berikut program membuat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan bulat atau bilangan ganjil.
Langakah-langkahnya sebagai baerikut:
1. Definisikan Fungsi:
- Buat fungsi cek_bilangan (bilangan) untuk memeriksa apakah bilangan tersebut genap atau ganjil.
- Gunakan isinstance() untuk memastikan input adalah integer.
- Cek apakah bilangan genap atau ganjil menggunakan modulus%.
2. Minta input pengguna:
- Gunakan input() untuk meminta pengguna memasukkan sebuah bilangan.
3. Koversi input:
- Ubah input menjadi tipe float untuk memeriksa apakah itu bilangan bulat.
4. Periksa bilangan bulat:
- Gunakan is_integer() untuk memeriksa apakah angka tersebut adalah bilangan bulat.
- Jika ya, ubah angka ke tipe int.
5. Panggil fungsi:
- panggil fungsi cek_bilangan dengan input yang sudah di konversi.
6. Tampilkan hasil:
- Cetak hasilnya dengan format yang sesuai.
7. Tangani kesalahan :
- Gunakan try-except untuk menangani input yang tidak valid dan tampilkan pesan kesalahan yang sesuai.
Setelah dijalankan akan menghasilkan output sebagai berikut:
7. Berikut program membuat fungsi yang diguakan untuk mengecek apakah suatu tahun adalah tahun kabisat atau bukan!
Langkah-langkahnya sebagai berikut:
1. Definisikan fungsi:
- Buat fungsi cek_tahun_kabisat (tahun) yang memeriksa apakah tahun tersebut kabisat.
- Gunakan kondisi:
- Tahun kabisat jika: - Tahun habis dibagi 4 dan tiidak habis dibagi 100, atau
- Tahun habis dibagi 400
2. Minta input pengguna:
- Gunakan input() untuk meminta pengguna memasukkan sebuah tahun.
3. Konversi input:
- Ubah input menjadi tipe int untuk memastikan input adalah tahun yang valid.
4. Panggil fungsi:
- Panggil fungsi cek_tahun_kabisat dengan tahun yang dimasukkan.
5. Tampilkan hasilnya:
- Cetak hasilnya, apakah tahun tersebut kabisat atau bukan.
6. Tangani kesalahan:
- Guanakan try-except untuk menangani input yang tidak valid dan tampilkan pesan kesalahan yang sesuai.
Setelah dijalankan akan menampilkan output sebagai berikut:
8. Berikut program yang menerapkan proses rekursif!
Langkah-langkahnya sebagai berikut:
1. Definisikan fungsi:
- Buat fungsi jumlah_angka(n) untuk menghitung jumlah digit dari bilangan.
- Ubah bilangan negatif menjadi positif dengan abs(n).
- Tentukan basis kasus : jika n adalah 0, kembalikan 0.
- Untuk kasus rekursif, ambil digit terakhir dengan n % 10 dan tambhkan dengan hasil rekursif dari sisi digit n // 10.
2. Minta input pengguna:
- Gunakan input() untuk meminta pengguna memasukkan bilangan bulat.
3. Periksa bilangan 0:
- Jika pengguna memasukkan 0, cetak bahwa jumlah angka adalah 0.
4. Panggil fungsi:
- Panggil fungsi jumlah_angka dengan angka yang dimasukkan untuk menghitung jumlah digit.
5. Tampilkan hasil:
- Cetak hasil jumlah angka dari bilangan yang dimasukkan.
6. Tangani kesalahn:
- Guanakan try-except untuk menangani input yang tidak valid dan tampilkan pesan kesalahan yang sesuai.
Setelah dijalankan akan menampilkan output seperti berikut: