Anda di halaman 1dari 11

Laporan Praktikum

Algoritma dan Pemrograman


FUNGSI DAN REKURSIF

Asisten :
Salfina 16211025

Fachri Yusuf Triantoro 04221042

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.

Dalam pemakaian sehari-hari, rekursif merupakan teknik pemrograman yang


digunakan pada pekerjaan pemrograman dengan mengeksperisikannya ke dalam
suku-suku dari program lain dengan menambahkan langkah-langkah sejenis.
Contoh paling sederhana dari proses rekursi adalah menghitung nilai faktorial dari
bilangan bulat.

Secara umum bentuk dari sub program rekursif memiliki statemen


kondisional:
• if kondisi khusus tak dipenuhi
• then panggil diri-sendiri dengan parameter yang sesuai
• else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi

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.

Kelebihan perulangan rekursif


Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian
melakukan perulangan dalam skala yang besar. Dapat melakukan perulangan dengan batasan
fungsi

Kekurangan perulangan rekursif


Tidak bisa melakukan nested loop atau looping bersarang. Biasanya membuat fungsi
sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja. Memerlukan stack yang lebih
besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan
ke stack dan ada kalaya akan menyebabkan stack tak cukup lagi (Stack Overum). Proses agak
berbelit- belit karena terdapat pemangilan fungsi yang berulang-ulang dan pemanggilan data
yang ditumpuk.
Source Code

No. Program_Fungsi_faktorial.py

1. print(".:: Program Fungsi Faktorial ::.")


2.
3. n = int(input("Masukkan Angka : "))
4. def faktorial(n):
5. print(n, end=" ")
6. if n < 2:
7. return 1
8. else:
9. print("+", end=" ")
10. return n * faktorial(n - 1)
11.
12. print(f"= {faktorial(n)}")
13.

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:

Setelah diprogram akan mengfaktorialkan angka yang di masukkan dan


menjumlahkannya:

➢ Program Mendeteksi Bilangan Prima


Tampilan awal, user diminta untuk masukkan bilangan

Setelah dimasukkan bilangan, program akan menghasilkan apakah akngka yang


dimasukkan termasuk bilangan prima atau bukan:
Pembahasan
fungsi_faktorial.py
No. Penjelasan
1 Mencetak judul 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)

13 Mencetak hasil faktorial n

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)

DEFINISI FUNGSI REKURSIF DAN CONTOHNYA | asepsumpena09 (wordpress.com)

Memahami Penggunaan Fungsi Pada Python | Kelas Programmer

PROSEDUR dan FUNGSI REKURSIF (ugm.ac.id)

Anda mungkin juga menyukai