Asisten :
Salfina 16211025
Disusun Oleh :
Ahmad Maulana Adi Nugroho 03221026
Brithanio Marubeni Kila’S.P 03221042
Marietha Naresvari 08221010
Imelda Natalia Leme’ 05221002
Renaldy Rante 05221051
13 April 2023
Dasar Teori
Fungsi atau method adalah suatu blog program yang digunakan untuk
menjalankan suatu tugas tertentu. Fungsi juga disebut sebagai sub program dimana
program yang besar bisa kita pecah menjadi bagian-bagian kecil yang masing-
masing sub program akan bekerja sesuai tugas dari fungsi tersebut. Dengan
menggunakan fungsi, pengembang akan jauh di mudahkan karena cukup sekali
mendefinisikan fungsi dan bisa digunakan berkali-kali sesuai kebutuhan program.
Di bahasa pemrograman python fungsi dapat dibedakan menjadi dua yaitu:
▪ Fungsi tanpa nilai balik
▪ Fungsi dengan nilai balik
Seperti pada bahasa pemrograman lainnya fungsi tanpa nilai balik adalah fungsi
yang tidak menghailkan nilai. Biasa fungsi ini disebut prosedur atau void function.
Sedangkan fungsi dengan nilai balik adalah fungsi yang ketika di panggil akan
menghasilkan nilai. Dalam bahasa lain bisa disebut non-void function.
Fungsi rekursif adalah fungsi yang dapat memanggil dirinya sendiri secara
berulang-ulang hingga suatu kondisi yang di definisikan terpenuhi atau bernilai benar
(true). Pemanggilan prosedur atau fungsi ke dirinya sendiri bisa berarti proses yang
berulang yang tidak bisa diketahui kapan akan berakhir sama seperti looping karena
itu juga dapat disebut sebagai perulangan rekursif. Namun, perbedaannya adalah jika
pada perulangan iteratif menggunakan instruksi perulangan seperti for dan while,
sementara pada fungsi rekursif perulangan di lakukan pada fungsi itu sendiri.
Berikut ini merupakan tiga contoh penerapan dari fungsi rekursif yaitu:
1. Faktorial
2. Fungsi Pangkat
3. Fibonacci
Contoh program mencetak angka :
def rekursif(angka):
if angka > 0 :
print (angka)
angka = angka - 1
rekursif(angka)
else :
print(angka)
masukan = int(input("masukkan angka : "))
rekursif(masukan)
Hasil output :
Jadi, program ini merupakan program untuk mencetak angka yang kalian
masukkan dan akan dikurangi 1 sampai angka nya bernilai 0.
No. Program_Fungsi_faktorial.py
No. Program_mendeteksi_bilangan_prima.py
1. print(".:: Program Mendeteksi Bilangan Prima ::.")
2.
def prima(n):
3. if n > 1:
4. for i in range(2, n):
5. if (n % i) == 0:
6. print("Bilangan tersebut tidak bilangan prima")
break
7. else:
8. print("Bilangan tersebut adalah bilangan prima")
9. else:
print("Bilangan tersebut tidak bilangan prima")
10.
11. bil = int(input("Masukka Bilangan : "))
12. prima(bil)
Screenshot
➢ Program Fungsi faktorial
Tampilan awal, user diminta untuk masukkan program fungsi faktorial:
3 Menginput nilai n
5 def faktorial untuk n
6 Mencetak (n, end=“ ”)
7 Jika n kurang dari 2 maka
8 Return 1
9 Sebaliknya
10 Mencetak (“+”, end=“ ”_
11 Return n * faktorial (n – 1)
mendeteksi_bilangan_prima.py
No. Penjelasan
1 Mencetak judul program mendeteksi bilangan prima
3 def prima
4 Jika n lebih besar dari 1 maka
5 Untuk perulangan i in range (2, n) maka
6 Jika n mod i == 0
7 Mencetak “Bilangan tersebut tidak bilangan prima”
8 Break
9 Sebaliknya
10 Mencetak “Bilangan tersebut adalah bilangan prima”
11 Sebaliknya
12 Mencetak “Bilangan tersebut tidak bilangan prima”
14 Masukkan bilangan berupa integer ke dalam variabel bil
15 prima(bil)
Kesimpulan
Pada praktikum Algoritma dan Pemrograman kali ini kesimpulan yang dapat diambil adalah:
1. Fungsi adalah suatu blog program yang digunakan untuk menjalankan suatu tugas tertentu. Fungsi
rekursif adalah fungsi yang dapat memanggil dirinya sendiri secara berulang-ulang hingga suatu kondisi yang di
definisikan terpenuhi atau bernilai benar (true).
2. Kelebihan perulangan rekursif yaitu mudah melakukan perulangan dalam skala yang besar. Dapat
melakukan perulangan dengan batasan fungsi. Kekurangan perulangan rekursif yaitu tidak bisa melakukan
nested loop atau looping bersarang dan membuat fungsi sulit untuk dipahami. Memerlukan stack yang lebih
besar dan proses yang berbelit-belit.
Saran
Untuk saran sendiri apakah bisa dikondisikan sesuai dari materi yang dari kelas, dimana materi
yang di dapat atau teori yang diberikan sangat terlambat dan untuk praktikumnya sendiri sudah jauh
dari teori yang diberikan di kelas
Daftar Pustaka
pengertian rekursif dan contoh program rekursif ~ Belajar Python (mn-belajarpython.blogspot.com)