Latihan Soal 4.7, Bab 4 Buku Python: Bahasa Pemrograman Era Digital
Nama: Moh. Taufik Wirajaya
Nim: 411423038
Prodi/Kelas: Pendidikan Matematika UNG/B 23
Mata Kuliah: Komputasi dan Pemrograman
Dosen Pengampu: Agusyarif Rezka Nuha, S.Pd. M.Pd
Pada Blog Kali ini kita akan menyelesaikan Latihan 4.7
1. Apa itu Fungsi?
Fungsi adalah sekelompok kode yang dirancang untuk menjalankan tugas tertentu dan menghasilkan nilai sebagai keluaran. Fungsi sering digunakan untuk menghindari penulisan ulang kode yang sama berulang kali, cukup memanggil fungsi saat kita membutuhkan hasilnya.
Contoh Fungsi Sederhana:
Penjelasan:
- def adalah kata kunci untuk mendefinisikan fungsi di Python.
- tambah adalah nama fungsi, dan a, b adalah parameter yang diberikan kepada fungsi ini.
- return a + b artinya fungsi ini akan menjumlahkan nilai a dan b, lalu mengembalikan hasil penjumlahannya.
Ketika fungsi tambah dipanggil seperti ini:
Hasil yang dicetak adalah 7.
2. Apa itu Prosedur?
Prosedur adalah sekelompok kode yang juga menjalankan tugas tertentu, tapi tidak mengembalikan nilai. Prosedur hanya menjalankan perintah di dalamnya, biasanya digunakan untuk mencetak sesuatu ke layar atau memodifikasi variabel.
Contoh Prosedur Sederhana:
Penjelasan:
- cetak_pesan adalah nama prosedur.
- Di dalamnya hanya ada satu baris kode print("Ini adalah prosedur"), yang akan mencetak kalimat tersebut ke layar.
Ketika kita memanggil prosedur ini:
Output yang muncul di layar adalah:
Tidak ada hasil yang dikembalikan karena prosedur hanya menjalankan aksi cetak.
3. Perbedaan Fungsi dan ProsedurFungsi mengembalikan nilai setelah menjalankan tugasnya, sedangkan prosedur hanya melakukan tindakan tanpa memberikan hasil. Jadi, fungsi bisa digunakan ketika kita butuh hasil (seperti hasil perhitungan), sedangkan prosedur hanya untuk melakukan aksi (seperti mencetak pesan).
4. Apa itu Iteratif dan Rekursif?
- Iteratif adalah metode menggunakan perulangan (loop) seperti for atau while untuk mengulang serangkaian instruksi hingga kondisi tertentu tercapai.
- Rekursif adalah metode di mana fungsi memanggil dirinya sendiri untuk menyelesaikan masalah yang lebih kecil, hingga mencapai kondisi akhir yang disebut "base case".
Contoh Iteratif (Menghitung Faktorial):
Penjelasan:
- Kita mendefinisikan fungsi faktorial_iteratif yang menerima input n.
- hasil dimulai dari 1, dan kemudian kita menggunakan loop for untuk mengalikan hasil dengan angka dari 1 hingga n.
- Setelah perulangan selesai, hasil berisi faktorial dari n dan dikembalikan.
Contoh Rekursif (Menghitung Faktorial):
Penjelasan:
- Di sini kita menggunakan rekursi, di mana fungsi faktorial akan memanggil dirinya sendiri.
- Jika n bernilai 0 atau 1, fungsi mengembalikan 1 (base case).
- Jika tidak, ia akan mengembalikan n * faktorial(n - 1), yang berarti fungsi akan terus memanggil dirinya sendiri dengan nilai yang lebih kecil hingga mencapai base case.
5. Membuat Fungsi untuk Mengecek Bilangan Positif atau NegatifFungsi ini akan mengecek apakah sebuah bilangan positif, negatif, atau nol.
Penjelasan:
- Fungsi cek_positif_negatif menerima satu parameter bilangan.
- if mengecek apakah bilangan lebih besar dari 0. Jika iya, fungsi akan mengembalikan string "Positif".
- elif mengecek apakah bilangan lebih kecil dari 0. Jika iya, fungsi mengembalikan "Negatif".
- Jika tidak keduanya, artinya bilangan adalah nol, dan fungsi mengembalikan "Nol".
6. Membuat Fungsi untuk Mengecek Bilangan Bulat atau GanjilFungsi ini mengecek apakah bilangan tersebut genap atau ganjil.
Penjelasan:
- cek_bulat_ganjil menerima satu input bilangan.
- if mengecek apakah bilangan tersebut habis dibagi 2 (bilangan % 2 == 0), jika iya, artinya bilangan tersebut genap (bilangan bulat).
- Jika tidak, maka bilangan tersebut ganjil.
7. Membuat Fungsi untuk Mengecek Tahun KabisatFungsi ini mengecek apakah suatu tahun adalah tahun kabisat atau bukan.
Penjelasan:
- Fungsi menerima input tahun.
- Tahun kabisat adalah tahun yang habis dibagi 4, tapi bukan kelipatan 100, kecuali tahun tersebut juga kelipatan 400.
- Jika salah satu kondisi ini terpenuhi, fungsi akan mengembalikan "Tahun Kabisat", jika tidak, "Bukan Tahun Kabisat".
8. Program Rekursif (Faktorial)Berikut adalah program rekursif untuk menghitung faktorial:
Penjelasan:
- Fungsi ini akan menghitung faktorial dengan cara memanggil dirinya sendiri.
- Jika n adalah 0 atau 1 (base case), hasilnya adalah 1.
- Jika tidak, fungsi mengembalikan hasil n * faktorial(n - 1), yang berarti fungsi akan terus berjalan sampai mencapai base case.
Sebagai contoh, jika kita memanggil faktorial(5), maka program akan berjalan seperti berikut:
- 5 * faktorial(4)
- 5 * (4 * faktorial(3))
- 5 * (4 * (3 * faktorial(2)))
- 5 * (4 * (3 * (2 * faktorial(1))))
- 5 * 4 * 3 * 2 * 1 = 120
Kategori
- Masih Kosong
Blogroll
- Masih Kosong