Pembahasan Latihan Mandiri Bab 4 "Fungsi"

06 October 2024 23:01:20 Dibaca : 29

Nama : Dahlia Hunawa

Nim : 411423004

Prodi / Kelas : Pendidikan Matematika/B

Mata Kuliah : Komputasi dan Pemrograman

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

 

Pembahasan Latihan Mandiri Bab 4 "Fungsi"

1. Apa yang dimaksud dengan fungsi?

Fungsi adalah sebuah blok kode dalam pemrograman yang dirancang untuk melakukan tugas tertentu dan dapat dipanggil kapan saja dalam program. Fungsi biasanya menerima input berupa argumen dan mengembalikan output sebagai hasil dari proses yang dilakukan. Misalnya, kita bisa membuat fungsi untuk menghitung luas lingkaran, yang menerima input berupa jari-jari dan mengembalikan hasil berupa luasnya.

Fungsi memudahkan kita dalam menyusun kode karena kita bisa memecah program besar menjadi potongan-potongan kecil yang dapat digunakan ulang tanpa perlu menulis ulang kode yang sama. Dengan menggunakan fungsi, program menjadi lebih modular dan mudah dipelihara.

2. Apa yang dimaksud dengan prosedur?

Prosedur mirip dengan fungsi, yaitu sebuah blok kode yang digunakan untuk menyelesaikan tugas tertentu dalam program. Namun, perbedaannya adalah prosedur tidak harus mengembalikan nilai seperti fungsi. Prosedur digunakan lebih untuk menjalankan serangkaian instruksi atau melakukan tugas tertentu tanpa memperhatikan hasil output yang dikembalikan.

Misalnya, kita bisa membuat prosedur untuk menampilkan pesan ke layar. Prosedur ini tidak mengembalikan nilai apapun, melainkan hanya mengeksekusi instruksi yang ada di dalamnya, seperti menampilkan teks atau pesan.

3. Apa perbedaan fungsi dan prosedur?

Perbedaan utama antara fungsi dan prosedur adalah pada output yang dihasilkan. Fungsi selalu mengembalikan nilai, sedangkan prosedur tidak. Ketika kita membuat fungsi, kita mengharapkan ada nilai yang dihasilkan sebagai hasil dari operasi yang dilakukan fungsi tersebut. Sebaliknya, prosedur lebih fokus pada menjalankan serangkaian instruksi tanpa perlu memberikan hasil.

Contohnya, jika kita membuat fungsi untuk menghitung jumlah dua angka, maka fungsi tersebut akan mengembalikan hasil penjumlahan. Namun, jika kita membuat prosedur untuk mencetak sesuatu ke layar, prosedur tersebut hanya menjalankan tugasnya tanpa mengembalikan nilai apapun.

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

Iteratif adalah metode di mana sebuah proses diulang menggunakan struktur loop seperti for atau while sampai kondisi tertentu tercapai. Misalnya, ketika kita ingin menjumlahkan angka dari 1 hingga 10, kita bisa menggunakan loop untuk mengulang proses penjumlahan hingga angka terakhir tercapai. Pendekatan iteratif ini biasanya lebih mudah dipahami dan sering digunakan dalam banyak situasi.

Rekursif, di sisi lain, adalah metode di mana sebuah fungsi memanggil dirinya sendiri untuk menyelesaikan masalah yang lebih besar dengan membaginya menjadi submasalah yang lebih kecil. Rekursi sering digunakan pada masalah yang secara alami dapat dipecah menjadi bagian-bagian yang lebih kecil, seperti mencari faktor dari sebuah bilangan atau menghitung deret Fibonacci.

Perbedaan utama antara keduanya adalah pada cara penyelesaian masalah. Pendekatan iteratif menggunakan loop dan menghentikan eksekusi ketika kondisi tertentu tercapai, sementara rekursif mengandalkan fungsi yang memanggil dirinya sendiri hingga mencapai kondisi dasar (base case) yang menyelesaikan rekursi tersebut.

Misalnya, jika kita ingin menghitung faktorial dari sebuah angka, kita bisa menggunakan pendekatan iteratif dengan loop atau pendekatan rekursif dengan fungsi yang memanggil dirinya sendiri hingga mencapai angka 1.

 

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

Penjelasan:

  1. input(): Digunakan untuk mengambil input dari pengguna.
  2. float(input()): Karena input secara default adalah string, kita harus mengonversinya menjadi tipe data numerik seperti float (atau int, tergantung kebutuhan).
  3. Mencetak hasil: Setelah fungsi dipanggil, hasilnya disimpan di variabel hasil, lalu dicetak.

Contoh penggunaan program:

Jika dimasukkan angka 8, program akan mengeluarkan hasil:

 

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

Penjelasan:

1. Definisi Fungsi:

  • Fungsi cek_bilangan(bilangan) didefinisikan menggunakan kata kunci def, dengan parameter bilangan sebagai input.

2. Pengecekan Bilangan Bulat:

  • isinstance(bilangan, int) digunakan untuk mengecek apakah bilangan adalah tipe bilangan bulat (integer).

3. Pengecekan Bilangan Ganjil:

  • bilangan % 2 != 0 memeriksa apakah sisa pembagian bilangan dengan 2 tidak sama dengan 0, yang berarti bilangan tersebut ganjil.

4. Mengembalikan Nilai Ganjil:

  • Jika bilangan ganjil, fungsi akan mengembalikan "Bilangan ganjil" menggunakan pernyataan return.

5. Pengecekan Bilangan Genap:

  • Jika bilangan tidak ganjil, maka akan diidentifikasi sebagai bilangan genap, dan mengembalikan "Bilangan bulat tetapi genap".

6. Menangani Bilangan Non-Bulat:

  • Jika bilangan bukan bulat, fungsi akan mengembalikan "Bukan bilangan bulat".

7. Meminta Input Pengguna:

  • Dengan float(input()), pengguna diminta memasukkan bilangan yang kemudian dicek apakah itu bilangan bulat menggunakan angka.is_integer().

8. Mengonversi ke Integer:

  • Jika bilangan adalah bulat, dikonversi menjadi integer menggunakan int() sebelum diperiksa oleh fungsi cek_bilangan().

9. Mencetak Hasil:

  • Hasil dari pengecekan bilangan (ganjil, genap, atau bukan bulat) ditampilkan menggunakan print().

 Output:

Jika memasukkan bilangan 5:

Jika memasukkan bilangan 6:

dan jika memasukkan bilangan desimal seperti 7.5:

 

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

Sebelum membuat fungsi, mari kita pahami dulu aturan dasar tahun kabisat:

  • Tahun kabisat adalah tahun yang habis dibagi 4.
  • Namun, tahun yang habis dibagi 100 bukan tahun kabisat, kecuali tahun tersebut juga habis dibagi 400.

Berikut fungsi untuk mengecek tahun kabisat

Penjelasan:

1. Definisi Fungsi:

  • Fungsi cek_tahun_kabisat(tahun) didefinisikan dengan parameter tahun sebagai input.

2. Pengecekan Apakah Tahun Bisa Dibagi 4:

  • tahun % 4 == 0 mengecek apakah tahun tersebut habis dibagi 4. Jika ya, lanjut ke pengecekan berikutnya. Jika tidak, tahun tersebut bukan tahun kabisat.

3. Pengecekan Apakah Tahun Dibagi 100:

  • tahun % 100 == 0 mengecek apakah tahun tersebut juga habis dibagi 100. Jika ya, tahun tersebut belum tentu kabisat, dan perlu dicek apakah habis dibagi 400.

4. Pengecekan Apakah Tahun Dibagi 400:

  • tahun % 400 == 0 mengecek apakah tahun tersebut habis dibagi 400. Jika iya, maka tahun itu adalah tahun kabisat. Jika tidak, maka tahun itu bukan tahun kabisat.

5. Mengembalikan Nilai:

  • Jika semua syarat dipenuhi, fungsi akan mengembalikan string "Tahun kabisat". Jika tidak, maka akan mengembalikan "Bukan tahun kabisat".

 

Output:

Misalkan tahun 2024:

Tahun 1900:

      Dengan menggunakan fungsi ini, kita bisa dengan mudah mengecek apakah suatu tahun adalah tahun kabisat atau bukan. Logika yang digunakan mengikuti aturan dasar dalam penentuan tahun kabisat: habis dibagi 4, kecuali tahun yang habis dibagi 100, kecuali juga habis dibagi 400.

 

8. Buat sebuah program yang menerapkan proses rekursif!

Program yang akan saya buat yaitu untuk menghitung total jumlah diigit dari bilangan dengan cara rekursif.

Program Rekursif: Menghitung Jumlah Digit Bilangan

Penjelasan Program:

1. Definisi Fungsi:

  • Fungsi jumlah_digit(bilangan) akan menghitung jumlah digit dari bilangan yang diberikan.

2. Basis Rekursi:

  • Kondisi dasar rekursi adalah ketika bilangan < 10, artinya bilangan tersebut hanya memiliki satu digit. Dalam kasus ini, kita cukup mengembalikan nilai bilangan itu sendiri.

3. Proses Rekursi:

  • Pada kondisi selain basis, kita akan memecah bilangan menjadi dua bagian: digit terakhir (bilangan % 10) dan sisa bilangan yang diproses lebih lanjut oleh rekursi (bilangan // 10).
  • Secara rekursif, fungsi akan memanggil dirinya sendiri dengan bilangan yang sudah dipecah, sampai semua digit berhasil dijumlahkan.

4. Penggunaan Input:

  • Bilangan diminta dari pengguna menggunakan int(input()), lalu diproses untuk menghitung jumlah digitnya.

 

Contoh Penggunaan:

Jika kita memasukkan bilangan 1234, hasilnya adalah:

      Program ini memperlihatkan cara menggunakan rekursi untuk menghitung jumlah digit dari suatu bilangan. Dengan pendekatan rekursif, bilangan dipecah menjadi digit-digitnya sampai hanya tersisa satu digit, dan setiap digit dijumlahkan kembali untuk menghasilkan totalnya.

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong