Latihan Bab 4
Nama : I Komang Yuda
NIM : 411423072
Prodi / Kelas : Pendidkan Matematika / B
Mata Kuliah : Komputasi dan Pemrograman
Dosen Pengampu : Agusyarif Rezka Nuha, S.Pd. M.Pd
1. Jelaskan apa yang dimaksud dengan fungsi
Fungsi dalam algoritma adalah blok kode yang dirancang untuk melakukan tugas tertentu. Fungsi digunakan untuk mengimplementasikan konsep modular (memecah mecah program ke dalam subprogram yang dikenal dengan tehnik dekomposisi). Fungsi bertugas untuk menjalankan serangkaian perintah secara speksifik. Cara membuat fungsi di phyton dengan menggunakan kata kunci def, kemudian diikuti dengan nama fungsi.
- def, untuk membuat fungsi
- nama fungsi, merupakan nama fungsi
- daftar parameter, untuk membuat parameter (argumen)
- statement, merupakan pernyataan yang diberikan pada fungsi
- return, untuk mengembalikan suatu nilai ekspresi dari sebuah fungsi
Tujuan utama dari fungsi adalah untuk:
- Modularitas: Fungsi membantu memisahkan tugas-tugas berbeda dalam program, membuatnya lebih terorganisir.
- Pengulangan: Anda dapat menggunakan kembali kode yang sama di berbagai tempat tanpa menulis ulang.
- Pemeliharaan: Kode yang terorganisir dengan fungsi lebih mudah dibaca, dipahami, dan dimodifikasi.
- Abstraksi: Pengguna fungsi tidak perlu tahu detail internal cara kerja fungsi, hanya bagaimana cara menggunakannya.
2. Jelaskan apa yang dimaksud dengan prosedur
Prosedur dalam pemrograman adalah sekumpulan instruksi yang dikelompokkan untuk melaksanakan tugas tertentu. Prosedur mirip dengan fungsi, tetapi biasanya tidak mengembalikan nilai setelah eksekusi. Tujuan utama dari prosedur adalah untuk menyederhanakan dan mengorganisir kode, sehingga membuatnya lebih terstruktur dan mudah dipahami.
3. Jelaskan apa perbedaan Fungsi dengan Prosedur
Fungsi Mengembalikan Nilai, Prosedur Tidak:
Fungsi, Dirancang untuk melakukan perhitungan atau pengolahan data dan mengembalikan hasil. Ini memungkinkan pengguna untuk mendapatkan nilai dari fungsi yang dapat digunakan dalam ekspresi lain, menjadikannya fleksibel untuk berbagai aplikasi.Prosedur, Fokus pada menjalankan serangkaian instruksi atau tugas tertentu tanpa mengembalikan nilai. Prosedur lebih banyak digunakan untuk menjalankan aksi, seperti mengubah status atau menampilkan informasi, tanpa perlu memberikan hasil kembali ke pemanggil.
4. Jelaskan apa yang dimaksud dengan literatif, rekursif, dan apa perbedaan keduanya
Iteratif dan rekursif adalah dua pendekatan berbeda dalam pemrograman untuk memecahkan masalah, khususnya dalam hal pengulangan atau pemrosesan berulang.
a. Iteratif
Pendekatan iteratif adalah metode di mana proses pengulangan dilakukan menggunakan struktur kontrol loop (seperti for, while, atau do while). Dalam pendekatan ini, instruksi yang sama diulang sampai kondisi tertentu terpenuhi.
Ciri-ciri iteratif:
- Menggunakan loop untuk melakukan pengulangan.
- Biasanya lebih efisien dalam hal penggunaan memori, karena tidak memerlukan banyak stack frame.
- Umumnya lebih mudah dipahami dalam beberapa kasus karena pendekatannya yang langsung.
b. RekursifPendekatan rekursif adalah metode di mana sebuah fungsi memanggil dirinya sendiri untuk menyelesaikan bagian dari masalah, biasanya dengan ukuran masalah yang lebih kecil, hingga mencapai kondisi dasar (base case) yang menghentikan rekursi.
Ciri-ciri rekursif:
- Fungsi memanggil dirinya sendiri dalam proses.
- Memerlukan base case (kondisi dasar) agar tidak terjadi rekursi tanpa henti.
- Biasanya lebih mudah digunakan untuk masalah yang memiliki struktur berulang yang jelas (misalnya, pohon, graf).
- Dapat menggunakan lebih banyak memori karena setiap pemanggilan fungsi disimpan dalam stack (call stack).
Iteratif dan rekursif berbeda dalam cara mereka menangani pengulangan. Iteratif menggunakan struktur kontrol seperti loop (for, while) untuk mengulang instruksi hingga kondisi tertentu terpenuhi. Misalnya, dalam menghitung faktorial, iterasi terus berlangsung sampai nilai tertentu tercapai. Pendekatan ini biasanya lebih hemat memori karena tidak menggunakan call stack. Sebaliknya, rekursif melibatkan fungsi yang memanggil dirinya sendiri untuk menyelesaikan bagian-bagian kecil dari masalah, hingga mencapai kondisi dasar (base case) yang menghentikan pemanggilan lebih lanjut. Dalam menghitung faktorial secara rekursif, fungsi terus memanggil dirinya sendiri dengan nilai yang lebih kecil hingga mencapai nilai dasar (misalnya n = 1). Rekursi sering kali lebih mudah digunakan pada masalah yang dapat dipecah menjadi sub-masalah yang lebih kecil, seperti pada struktur pohon atau graf.
5. Membuat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan tersebut positif atau negatif
Berikut adalah langkah-langkah untuk membuat fungsi yang mengecek apakah suatu bilangan positif, negatif, atau nol:
1. Mendefinisikan Fungsi
Pertama, kita buat fungsi yang akan melakukan pengecekan. Fungsi ini diberi nama cek bilangan dan akan menerima satu parameter yaitu bilangan yang akan diperiksa.
2. Melakukan Pengecekan
Di dalam fungsi, kita buat kondisi untuk mengecek apakah bilangan tersebut positif, negatif, atau nol menggunakan pernyataan if, elif, dan else.
- Jika bilangan lebih besar dari 0, maka kita katakan bahwa bilangan tersebut positif.
- Jika bilangan lebih kecil dari 0, maka kita katakan bahwa bilangan tersebut negatif.
- Jika bilangan sama dengan 0, maka bilangan tersebut adalah nol.
3. Memanggil Fungsi
Setelah mendefinisikan fungsi, kita perlu memanggil fungsi tersebut dan memberikan bilangan yang ingin dicek. Misalnya, kita ingin memeriksa apakah bilangan 5 positif atau negatif.
4. Menampilkan Hasil
Setelah kita memanggil fungsi, kita bisa mencetak hasilnya menggunakan print() untuk melihat apakah bilangan tersebut positif, negatif, atau nol.
Program akan menampilkan hasil seperti ini:
Ketika kita memeriksa bilangan 5:
Ketika kita memeriksa bilangan - 5:
Ketika kita memeriksa bilangan 0:
6. Membuat fungsi yang digunakan untuk mengecek suatu bilangan. apakah bilangan bulat atau bilangan ganjil
Penjelasan:
a. Fungsi cek ganjil genap:
- Fungsi ini menerima satu parameter, yaitu bilangan.Di dalam fungsi, dilakukan pengecekan apakah bilangan tersebut habis dibagi 2 menggunakan operator modulus ().
- Jika habis dibagi 2, bilangan dianggap genap; jika tidak, bilangan tersebut ganjil.
b. Input dari Pengguna:
- Program menggunakan fungsi input() untuk meminta pengguna memasukkan sebuah bilangan.
- Hasil input berupa string, sehingga perlu dikonversi menjadi bilangan bulat menggunakan int().
c. Program menggunakan loop while untuk terus menanyakan bilangan kepada pengguna hingga mereka tidak ingin melanjutkan lagi.
- Variabel lanjutkan diinisialisasi dengan nilai y untuk memastikan loop dimulai.Setelah setiap pengecekan, pengguna ditanya apakah mereka ingin melanjutkan dengan mengetik y (ya) atau n (tidak).
- Jika pengguna mengetik y, program akan mengulang. Jika mengetik n, loop akan berhenti.
Program akan menampilkan hasil seperti ini:
7. Membuat fungsi yang digunakan untuk mengecek apakah suatu tahun adalah tahun kabisat atau bukan
Penjelasan :
a. Fungsi cek tahun kabisat:
- Fungsi ini menerima satu parameter, yaitu tahun.
- Di dalam fungsi, kita menggunakan kondisi if untuk memeriksa apakah tahun tersebut memenuhi kriteria tahun kabisat:tahun 4 == 0: Memeriksa apakah tahun dapat dibagi 4.
- tahun 100 = 0: Memeriksa apakah tahun tidak dapat dibagi 100 (kecuali jika juga dapat dibagi 400).
- tahun 400 == 0: Memeriksa apakah tahun dapat dibagi 400.
b. Meminta Input dari Pengguna:
- Program meminta pengguna untuk memasukkan tahun yang ingin dicek dengan menggunakan input(). Input ini kemudian dikonversi menjadi integer menggunakan int().
c. Memanggil Fungsi dan Menampilkan Hasil:
- Setelah mendapatkan input tahun dari pengguna, kita memanggil fungsi cek tahun kabisat dengan tahun tersebut sebagai argumen.
- Hasil dari fungsi (True atau False) digunakan untuk mencetak apakah tahun tersebut adalah tahun kabisat atau bukan.
Program akan menampilkan hasil seperti ini:
8. Membuat sebuah program yang menerapkan proses rekursif
Penjelasan:
a. Fungsi faktorial:
Fungsi ini menggunakan rekursi untuk menghitung faktorial dari bilangan yang diberikan
b. Meminta Input dari Pengguna:
- Program meminta pengguna untuk memasukkan bilangan bulat positif menggunakan input(), dan mengkonversinya menjadi integer.
- Program juga memeriksa apakah input tersebut adalah bilangan bulat positif. Jika input negatif, program akan meminta pengguna untuk memasukkan bilangan positif.
Program akan menampilkan hasil seperti ini:
Kategori
Blogroll
- Masih Kosong