Buku Python_latihan soal bab 4

08 October 2024 04:59:45 Dibaca : 8

Nama  : Windi Hasan 

NIM     : 411423015

Prodi/Kelas  : Pendidikan Matematika/B

Mata Kuliah   : Komputasi Dan Pemrograman 

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

1. Jelaskan apa yang dimaksud dengan fungsi

Fungsi adalah unit atau blok kode yang dirancang untuk melakukan tugas tertentu dan dapat dipanggil berulang kali di berbagai bagian program. Fungsi menerima input (parameter), menjalankan sekumpulan pernyataan atau instruksi, dan dapat mengembalikan output (nilai).

2. Jelaskan apa yang dimaksud dengan prosedur

prosedur adalah sekumpulan instruksi atau pernyataan yang dirancang untuk menyelesaikan tugas tertentu. Prosedur sering kali digunakan dalam konteks pemrograman untuk menyusun kode yang dapat mengelola berbagai operasi atau algoritma tanpa mengembalikan nilai, meskipun beberapa prosedur dapat mengembalikan nilai tetapi tidak diutamakan.

3. Jelaskan apa perbedaan fungsi dan prosedur

Fungsi: Sekumpulan instruksi yang dirancang untuk melakukan suatu tugas tertentu dan mengembalikan nilai setelah eksekusi. Biasanya fungsi digunakan untuk melakukan perhitungan atau pengolahan data dan menghasilkan output yang dapat digunakan kembali, fungsi juga selalu mengembalikan nilai. Setiap kali fungsi dipanggil, hasil dari fungsi tersebut dapat disimpan dalam variabel atau digunakan langsung.

Prosedur: Sekumpulan instruksi yang dirancang untuk melakukan tindakan tertentu, tetapi tidak mengembalikan nilai (meskipun bisa saja mengembalikan nilai, tujuan utamanya bukan untuk itu).prosedur umumnya digunakan untuk melakukan serangkaian langkah atau operasi tanpa fokus pada pengembalian nilai.prosedur juga tidak selalu mengembalikan nilai. Prosedur lebih fokus pada eksekusi instruksi dan efek samping (seperti mencetak ke layar atau mengubah data).

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

  • Iteratif adalah pendekatan dalam pemrograman yang menggunakan loop (perulangan) untuk mengulangi suatu blok kode sampai kondisi tertentu terpenuhi. Dalam pendekatan ini, proses diulang secara langsung, biasanya dengan menggunakan struktur kontrol seperti for, while, atau do-while.
  • Rekursif adalah pendekatan di mana sebuah fungsi memanggil dirinya sendiri untuk menyelesaikan tugas. Setiap panggilan fungsi tersebut melakukan bagian dari pekerjaan dan memecah masalah menjadi sub-masalah yang lebih kecil. Proses ini berlanjut hingga mencapai kondisi dasar (base case) yang menghentikan rekursi.

Perbedaan dari keduannya yaitu :

Iteratif menggunakan struktur kontrol seperti loop (for, while) untuk menjalankan blok kode berulang kali sampai kondisi tertentu terpenuhi. iteratif mumnya lebih efisien dalam penggunaan memori karena tidak menggunakan stack tambahan.serta sering kali lebih cepat karena tidak ada overhead dari pemanggilan fungsi berulang. sedangkan rekursif adalah fungsi memanggil dirinya sendiri untuk menyelesaikan masalah, dengan membagi masalah menjadi sub-masalah yang lebih kecil. rekursif juga dapat menggunakan lebih banyak memori karena setiap panggilan fungsi menambah stack frame, yang dapat menyebabkan stack overflow jika kedalaman rekursi terlalu besar. serta lebih lambat karena setiap pemanggilan fungsi memerlukan overhead tambahan.

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

Langkah - Langkahnya :

  1. Tentukan tujuan dari fungsi yang akan dibuat, yaitu untuk mengecek status dari suatu bilangan (positif, negatif, atau nol) dan mengembalikannya dalam bentuk tuple.
  2. Pilih nama yang deskriptif untuk fungsi. Dalam hal ini, kita menggunakan nama cek_bilangan.
  3. Tentukan parameter yang akan diterima oleh fungsi. Kita akan menggunakan satu parameter, yaitu bilangan.

  4. Buat kerangka dasar dari fungsi dengan mendefinisikan fungsi menggunakan kata kunci def.

  5. Tambahkan logika untuk memeriksa nilai dari parameter bilangan:

  6. Gunakan pernyataan return untuk mengembalikan hasil sebagai tuple yang berisi status dan nilai bilangan.

  7. Buat beberapa bilangan pemanggilan fungsi untuk menguji apakah fungsi bekerja dengan benar.

Outputnya :

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

Langkah - langkah :

  1. Tentukan tujuan dari fungsi yang akan dibuat, yaitu untuk mengecek apakah suatu bilangan adalah bilangan bulat dan, jika ya, apakah itu genap atau ganjil.
  2. Pilih nama yang deskriptif untuk fungsi. Dalam hal ini, kita menggunakan nama cek_bilangan.

  3. Tentukan parameter yang akan diterima oleh fungsi. Kita akan menggunakan satu parameter, yaitu bilangan.

  4. Buat kerangka dasar dari fungsi dengan mendefinisikan fungsi menggunakan kata kunci def.

  5. Tambahkan logika untuk memeriksa apakah bilangan adalah tipe int (bilangan bulat) menggunakan isinstance.

  6. Tambahkan logika untuk menentukan apakah bilangan bulat tersebut genap atau ganjil:

  7. Jika bilangan bukan tipe int, kembalikan pesan "Bukan bilangan bulat".

  8. tentukan beberapa bilangan pemanggilan fungsi untuk menguji apakah fungsi bekerja dengan benar.

  9. Gunakan pernyataan print untuk menampilkan hasil yang dikembalikan oleh fungsi.

Outputnya :

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

Langkah - langkah:

1. Tentukan Tujuan Program:

  • Program ini bertujuan untuk menentukan apakah tahun yang dimasukkan oleh pengguna adalah tahun kabisat.

2. Definisikan Aturan Tahun Kabisat:

  • Tahun kabisat adalah tahun yang:Dapat dibagi 4.
  • Tidak dapat dibagi 100, kecuali jika dapat dibagi 400.

3. Buat Fungsi:

  • Buat fungsi dengan nama mengecek_tahun yang menerima parameter tahun.
  • Di dalam fungsi, gunakan struktur pengkondisian (if dan else) untuk mengecek apakah tahun tersebut kabisat atau bukan.
  • Kembalikan hasil pemeriksaan dalam bentuk string.

4. Ambil Input dari Pengguna:

  • Gunakan fungsi input() untuk meminta pengguna memasukkan tahun.
  • Pastikan untuk mengonversi inputan pengguna dari string ke integer menggunakan int().

5. Panggil Fungsi dan Tampilkan Hasil:

  • Panggil fungsi mengecek_tahun dengan argumen tahun yang dimasukkan oleh pengguna.
  • Tampilkan hasil yang dikembalikan oleh fungsi menggunakan print().

Output

8. Buat sebuah program yang menerapkan proses rekursif

Langkah - langkah

1. Tentukan Tujuan Program:

  • Program ini bertujuan untuk menghitung faktorial dari suatu angka yang dimasukkan oleh pengguna.

2. Definisikan Konsep Faktorial:

  • Faktorial dari n (dituliskan n!) adalah hasil perkalian semua bilangan bulat positif dari 1 hingga n.
  • Secara matematis, n! = n × (n-1) × (n-2) × ... × 1, dan 0! = 1.

3. Buat Fungsi Faktorial:

  • Buat fungsi dengan nama faktorial yang menerima satu parameter n.
  • Dalam fungsi, tentukan basis kasus: jika n adalah 0 atau 1, kembalikan 1.
  • Jika tidak, buat kasus rekursif di mana fungsi memanggil dirinya sendiri dengan n - 1.

4. Ambil Input dari Pengguna:

  • Gunakan input() untuk meminta pengguna memasukkan angka.
  • Pastikan untuk mengonversi inputan dari string ke integer dengan int().

 5. Panggil Fungsi dan Tampilkan Hasil:

  • Panggil fungsi faktorial dengan argumen yang diberikan oleh pengguna.
  • Tampilkan hasilnya menggunakan print().

Output :

 

 

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong