Buku Python: Bahasa Pemrograman Era Digital Latihan Soal Bab 4

07 October 2024 21:38:56 Dibaca : 11

Nama                    : Siti Fauziah Ar Rosydah

NIM                       : 411423045

Prodi / Kelas         : Pendidikan Matematika / B

Mata Kuliah           : Komputasi dan Pemrograman

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

1. Jelaskan apa yang dimaksud dengan fungsi

Fungsi adalah blok kode terpisah yang dirancang untuk melakukan tugas tertentu, yang dapat dipanggil dan digunakan kembali di berbagai bagian program. Fungsi memungkinkan pemrogram untuk mengorganisir kode dengan cara yang lebih terstruktur, modular, dan efisien. Konsep fungsi sangat penting dalam pengembangan perangkat lunak modern, karena membantu dalam memecah masalah kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola.

2. Jelaskan apa yang dimaksud dengan prosedur

Prosedur adalah sekumpulan instruksi atau pernyataan yang dikelompokkan bersama untuk melakukan tugas tertentu. Dalam konteks pemrograman, prosedur sering kali digunakan untuk merujuk pada blok kode yang dapat dipanggil untuk menjalankan suatu operasi, dan biasanya tidak mengembalikan nilai. Prosedur lebih fokus pada tindakan yang dilakukan, dibandingkan dengan fungsi yang lebih menekankan pada pengembalian nilai.

3. Jelaskan apa perbedaan fungsi dan prosedur

Fungsi itu blok kode yang dirancang untuk melakukan suatu tugas tertentu dan mengembalikan nilai. Fungsi dapat menerima input (parameter) dan memberikan output (nilai yang dikembalikan). Fungsi digunakan untuk menghitung atau menghasilkan nilai yang diperlukan dalam alur program. Fungsi sering digunakan saat ada hasil yang perlu diproses lebih lanjut.

Prosedur adalah blok kode yang juga melakukan tugas tertentu tetapi tidak mengembalikan nilai. Prosedur lebih fokus pada eksekusi tindakan daripada pengembalian hasil. Prosedur digunakan untuk menjalankan tindakan tertentu tanpa perlu menghasilkan nilai. Prosedur lebih sering digunakan untuk melakukan tugas yang bersifat operasional.

4. Jelaskan apa yang dimaksud dengan iteratif, rekursif, dan apa perbedaan keduanya

  • Iteratif adalah metode pemrograman di mana suatu blok kode (seperti loop) dijalankan berulang kali sampai kondisi tertentu terpenuhi. Dalam pendekatan ini, kita menggunakan struktur kontrol seperti for, while, atau do-while untuk mengulangi eksekusi pernyataan.
  • Rekursif adalah metode pemrograman di mana suatu fungsi memanggil dirinya sendiri untuk menyelesaikan suatu masalah yang lebih kecil. Pendekatan ini membagi masalah menjadi sub-masalah yang lebih sederhana hingga mencapai kondisi dasar (base case) yang dapat diselesaikan tanpa pemanggilan lebih lanjut.
  • Iteratif dan rekursif adalah dua pendekatan yang berbeda dalam pemrograman untuk menyelesaikan masalah yang melibatkan pengulangan. Perbedaan utama antara keduanya terletak pada cara mereka menangani pengulangan: iteratif menggunakan loop untuk menyelesaikan tugas, sementara rekursif memecah masalah dengan memanggil diri sendiri, yang dapat membuat rekursi lebih elegan untuk beberapa jenis masalah tetapi juga lebih rentan terhadap masalah kinerja dan penggunaan memori.

5. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan tersebut positif atau negatif

Langkah-langakah:

1. Mendefinisikan Fungsi (def mengecek_bilangan(bilangan):)

Baris ini mendefinisikan sebuah fungsi bernama mengecek_bilangan yang menerima satu parameter bilangan.Fungsi ini digunakan untuk mengecek apakah nilai dari bilangan adalah positif, negatif, atau nol.

2. Kondisi Pertama: Memeriksa Apakah Bilangan Positif (if bilangan > 0:)

Jika nilai bilangan lebih besar dari 0, maka blok kode ini akan dijalankan.Fungsi akan mencetak "Bilangan positif" karena nilai bilangan tersebut adalah positif.

3. Kondisi Kedua: Memeriksa Apakah Bilangan Negatif (elif bilangan < 0:)

Jika nilai bilangan tidak memenuhi kondisi pertama tetapi lebih kecil dari 0, maka blok kode ini akan dijalankan.Fungsi akan mencetak "Bilangan negatif" karena nilai bilangan tersebut adalah negatif.

4. Kondisi Ketiga: Memeriksa Apakah Bilangan Nol (else:)

Jika nilai bilangan tidak memenuhi kedua kondisi sebelumnya (tidak lebih besar dari 0 dan tidak lebih kecil dari 0), maka kondisi ini akan dijalankan.Fungsi akan mencetak "Bilangan nol" karena nilai bilangan tersebut adalah nol.

5. Meminta Input dari Pengguna (bilangan = int(input("Masukkan bilangan: ")))

Baris ini meminta pengguna untuk memasukkan bilangan melalui keyboard.Fungsi input() digunakan untuk mengambil nilai dari pengguna dalam bentuk teks, lalu int() mengonversinya menjadi bilangan bulat.

6. Memanggil Fungsi (mengecek_bilangan(bilangan))

Baris ini memanggil fungsi mengecek_bilangan dengan nilai input yang dimasukkan oleh pengguna.Fungsi kemudian menjalankan logika yang telah kita definisikan berdasarkan nilai bilangan yang diberikan.

Output akhir:

6. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan bulat atau bilangan ganjil

Langkah- langkah:

1. Mendefinisikan Fungsi (def mengecek_bilangan(bilangan):)

Baris ini mendefinisikan fungsi mengecek_bilangan yang menerima satu parameter bilangan.Fungsi ini digunakan untuk mengecek apakah bilangan adalah genap atau ganjil.

2. Kondisi untuk Bilangan Bulat (if bilangan % 2 == 0:)

Operasi % adalah operator modulus yang menghitung sisa pembagian.Jika bilangan % 2 bernilai 0, itu berarti bilangan tersebut habis dibagi 2, jadi bilangan tersebut adalah genap.Program mencetak "Bilangan genap".

3. Kondisi untuk Bilangan Ganjil (else:)

Jika kondisi pertama tidak terpenuhi, berarti bilangan tersebut tidak habis dibagi 2, sehingga bilangan tersebut adalah ganjil.Program mencetak "Bilangan ganjil".

4. Meminta Input dari Pengguna (bilangan = int(input("Masukkan bilangan: ")))

Baris ini meminta pengguna untuk memasukkan bilangan melalui keyboard.Fungsi input() digunakan untuk mengambil nilai dari pengguna dalam bentuk teks, dan kemudian int() mengonversinya menjadi bilangan bulat.

5. Memanggil Fungsi (mengecek_bilangan(bilangan))

Baris ini memanggil fungsi mengecek_bilangan dengan nilai yang dimasukkan oleh pengguna.Fungsi kemudian menjalankan logika untuk memeriksa apakah bilangan tersebut genap atau ganjil.

Output akhir:

7. Buat fungsi yang digunakan untuk mengecek apakah suatu tahun adalah tahun kabisat atau bukan

Langkah- langkah:

1. Mendefinisikan Fungsi (def mengecek_tahun(tahun):)

Fungsi ini menerima satu parameter tahun dan digunakan untuk mengecek apakah tahun tersebut adalah tahun kabisat.

2. Kondisi untuk Tahun Kabisat (if (tahun % 4 == 0 and tahun % 100 != 0) or (tahun % 400 == 0):)

Tahun kabisat harus memenuhi salah satu dari dua kondisi berikut:Habis dibagi 4 tetapi tidak habis dibagi 100.Atau, habis dibagi 400.Jika salah satu kondisi ini terpenuhi, program akan mencetak "Tahun kabisat".

3. Kondisi untuk Bukan Tahun Kabisat (else:)

Jika tidak ada kondisi yang terpenuhi, maka tahun tersebut bukan tahun kabisat, dan program akan mencetak "Bukan tahun kabisat".

4. Meminta Input dari Pengguna (tahun = int(input("Masukkan tahun: ")))

Program meminta pengguna untuk memasukkan tahun melalui keyboard dan mengonversi input tersebut menjadi bilangan bulat menggunakan int().

5. Memanggil Fungsi (mengecek_tahun(tahun))

Fungsi mengecek_tahun dipanggil dengan input dari pengguna dan akan mencetak apakah tahun tersebut kabisat atau bukan.

Output akhir:

8. Buat sebuah program yang menerapkan proses rekursif

Langkah- langkah:

1. Mendefinisikan Fungsi (def fibonacci(n):)

Fungsi ini menerima satu parameter n, yang merupakan posisi dari bilangan Fibonacci yang ingin dihitung.

2. Kondisi Dasar: Bilangan Fibonacci untuk n <= 0 (if n <= 0:)

Jika n kurang dari atau sama dengan 0, fungsi mengembalikan 0. Ini adalah definisi dasar yang menyatakan bahwa tidak ada bilangan Fibonacci untuk posisi tersebut.

3. Kondisi Dasar: Bilangan Fibonacci untuk n = 1 (elif n == 1:)

Jika n sama dengan 1, fungsi mengembalikan 1, yang merupakan bilangan Fibonacci pertama.

4. Kondisi Rekursif (else:)

Untuk nilai n yang lebih besar dari 1, fungsi memanggil dirinya sendiri untuk menghitung dua bilangan Fibonacci sebelumnya: fibonacci(n - 1) dan fibonacci(n - 2).Hasil dari kedua panggilan ini dijumlahkan untuk menghasilkan bilangan Fibonacci ke-n.

5. Meminta Input dari Pengguna (n = int(input("Masukkan angka: ")))

Program meminta pengguna untuk memasukkan angka (posisi bilangan Fibonacci yang diinginkan) dan mengonversinya menjadi integer.

6. Memanggil Fungsi dan Mencetak Hasil (print(f"Bilangan Fibonacci ke-{n} adalah {fibonacci(n)}"))

Fungsi fibonacci(n) dipanggil dengan nilai input yang diberikan oleh pengguna, dan hasilnya dicetak ke layar.

Output akhir:

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong