Anda di halaman 1dari 3

Laboratorium Dasar

Fakultas Ilmu Komputer

Latihan Lab-07

Petunjuk Pengerjaan
1. Kerjakan setiap kasus yang ada.
2. Tulis dikertas hasilnya saja dan tunjukkan program dan kertas tersebut ke dosen/asisten.
3. Kerjakan dengan sungguh-sungguh. Usahakan untuk mengerjakan sendiri dahulu! Boleh
diskusi dengan teman untuk menyelesaikan masalah setelah mencoba sendiri. Tetap
kumpulkan tepat waktu meskipun masih terdapat error didalamnya!
Kasus 1-Foo Rekursif
Diberikan sebuah kode program:

def foo(n,A,key):
if(n<0): #Basis 1
return -1
if(A[n-1]==key): #Basis 2
return 1
#Rekuren
return foo(n-1, A, key)

def main():
Arr = [12,3,12,3,4]
print(foo(5,Arr,30))

if __name__ == "__main__":
main()

Pertanyaan:
1. Apa output program fungsi tersebut?
2. Berikan judul yang cocok untuk fungsi tersebut?
3. Jelaskan alur fungsi rekursif tersebut tersebut (basis & Rekuren & analisisnya)?

Kasus 2-Fun Rekursif


Diberikan sebuah kode program:

def fun(n, i = 2):


# Basis
if (n <= 2):
return True if(n == 2) else False
if (n % i == 0):
return False
if (i * i > n):
return True
# Rekuren
return fun(n, i + 1)
def main():
n = 15
if (fun(n)):
print("merupakan bilangan fun")
else:
print("bukan merupakan bilangan fun")

if __name__ == "__main__":
main()
Pertanyaan:
1. Apa output program fungsi tersebut?
2. Berikan judul yang cocok untuk fungsi tersebut (ganti istilah fun)?
3. Jelaskan alur fungsi rekursif tersebut tersebut (basis & rekuren & analisisnya)?

Kasus 3-Pembagian Rekursif


Deskripsi: Diberikan suatu bilangan integer a dan b. Lakukan operasi pembagian dengan
fungsi rekursif.

Input/Output Program
Penjelasan Input: a int, b int
Penjelasan Output: hasil pembagian int
Contoh Input-Output:
Input: 12
3
Output:
4

Kasus 4-Power Set Generator


Deskripsi: Diberikan suatu set yang direpresentasikan dengan string. Tulis sub-set sub-set dari
string tersebut. Gunakan cara rekursif untuk melakukan ini.

Input/Output Program
Penjelasan Input: String
Penjelasan Output: sub-set string
Contoh Input-Output:
Input: abc
Output:
abc
ab
ac
a
bc
b
c

Anda mungkin juga menyukai