Anda di halaman 1dari 19

Laporan Praktikum

Algoritma dan Pemrograman


FUNGSI DAN REKURSIF

Asisten :
Ansar Fadilah 11201012

Rianti Kusumah Wardhani 05201073

Disusun Oleh :
Daffa Maulana 02211004

Adi Rahmat 06211001

Erika Agustina Panca Putri 14211007

Najwan Ibnu Atha'illah 07211060

adhy kresna bayu 07211002

Fauzan Pachrozi Yandra 07211035

29 April 2022
Dasar Teori

Pemanggilan Fungsi

Fungsi merupakan suatu urutan argumen yang memiliki nama dalam melakukan
komputasi. Fungsi didefinisikan dengan nama fungsi yang diikuti dengan urutan
argumen. Sebagai contoh python telah menyediakan fungsi-fungsi yang menjalankan
pernyataan/program tertentu sehingga kita tidak perlu melakukan hard code dari awal.
Contoh pemanggilan fungsi yang tersedia di python.

type(2)

-> <class „int‟>


Nama dari fungsi diatas adalah type. Fungsi tersebut diikuti dengan argumen yang berada
pada tanda kurung.

Membuat Fungsi

Pada Python tersedia fungsi seperti yang ada pada math dan random, kita dapat membuat
fungsi kita sendiri. Setelah kita mendefinisikan suatu fungsi, kita dapat memanggil
berulang kali fungsi tersebut sesuai kebutuhan.

def cetak_lirik():

print("Indonesia Raya..")

print("Merdeka Merdeka..")

print("Tanahku, Negeriku yang kucinta!")

Hasil dari pencetakan suatu fungsi :

print(cetak_lirik)

-> <function cetak_lirik at 0x000001E5FAD81D08>

print(type(cetak_lirik))

-> <class `function`>

tertentu. Sedangkan pada saat jenis “cetak_lirik” dicetak, menghasilkan tipe berupa
fungsi. Untuk memanggil fungsi yang telah dibuat, cukup dengan memanggil nama
beserta argumennya :

cetak_lirik()
Indonesia Raya..

Merdeka Merdeka..
Tanahku, Negeriku yang kucinta!

Setelah fungsi dibuat, kita dapat memanggil fungsi tersebut di dalam fungsi yang
lain.

def ulangi_lirik():

cetak_lirik()

cetak_lirik()

Indonesia Raya..

Merdeka Merdeka..

Tanahku, Negeriku yang kucinta!

Indonesia Raya..
Merdeka Merdeka..

Tanahku, Negeriku yang kucinta!

Default Argumen

Dapat memberikan argumen secara default jika tersebut tidak tersedia saat pemanggilan
fungsi. Argumen default dinyatakan dengan tanda “=” setelah parameter.

Contoh :
def print_twice(bruce = "Tidak ada"):
print(bruce)
print(bruce)
print_twice()
-> Tidak ada
Tidak ada

Praktikum 1 : Contoh Fungsi


1 Def asal(kota = “Balikpapan”) Print(f”saya berasal dari {
kota}”)
2 Def cetak_list(list = [“kosong”]):
3 For x in list :
4 Print(x)

5 Def cetak_segi_tiga(n = 5): For i in


6 range(n):
7
For j in range(i+1):
8
9 Print(“*”, end = “”)
10 Print()

Asal(“Banjarmasin”)
11 Asal(“Samarinda”)
12 Asal(“Palangkaraya”)
13
Asal(“Pontianak”) Asal()
14

Cetak_list([1, 2, 3, 4, 5]) Cetak_list()


15
Cetak_segi_tiga(3)
16 Cetak_segi_tiga()
17

Fungsi dengan Nilai Kembali

Beberapa fungsi memiliki nilai kembali atau menghasilkan suatu hasil berupa nilai.
Contoh contoh fungsi diatas dapat dikatakan suatu prosedur atau fungsi void yang
tidak memiliki nilai kembali. Prosedur tersebut hanya mengeksekusi pernyataan
pernyataan dalam suatu fungsi, Contoh fungsi dengan nilai kembali :

x = math.cos(radians)

golden = (math.sqrt(5) + 1) / 2

Math.cos merupakan fungsi untuk menghasilkan nilai cos dari nilai radian. Fungsi
tersebut menghasilkan nilai yang disimpan pada variabel x.

Ekspresi merupakan suatu pernyataan yang melibatkan fungsi dimana Math.sqrt


menghasilkan nilai berupa hasil akar yang selanjutnya dioperasikan dengan operand
lainnya :

Fungsi Rekursif

Jika fungsi yang dipanggil adalah nama fungsi itu sendiri (memanggil dirinya
sendiri), maka fungsi tersebut merupakan fungsi rekursif. Pemanggilan tersebut akan
menghasilkan perulangan yang mirip dengan perulangan while dan diperlukan
kondisi khusus untuk membuat fungsi tersebut berhenti.

Sebagai contoh, terdapat suatu permasalahan sederhana untuk mencetak angka


mundur dari n sampai dengan 1. Permasalahan ini dapat diselesaikan dengan mudah
menggunakan perulangan while atau for. Tetapi permasalahan ini juga dapat
diselesaikan secara rekursif. Contoh fungsi rekursif untuk mencetak angka mundur :

def cetak_mundur(n):

if(n > 0):


print(n)
cetak_mundur(n-1)

Keluaran dari cetak_mundur(5) adalah

1
Source Code

NO. nilai faktorial suatu angka.py

1 def faktorial(x):
2 if x <= 1:
3 return 1
4 else:
5 f = x * faktorial(x-1)
6 return f
7 print("Program Menghitung bilangan faktorial menggunakan fungsi rekursif\n")
8
9 angka = int(input("Masukkan sebuah bilangan : "))
10 faktorial_bil = faktorial(angka)
print("Bilangan faktorial dari {} adalah {}".format(angka,faktorial_bil))

NO. Program mempresentasikan fungsi matematika.py

1 def fungsi(x):
2 if x <= -10 or x > 10 :
3 print("\n nilai x harus bilangan bulat antara -10 sampai 10")
4 fungsi(int(input("Masukkan nilai x | -10 > x > 10 : ")))
5 else:
6 print("\ny 6x\u00b2 + 3x + 2")
7 print("y = 6(%d)\u00b2 + 3(%d)x + 2"%(x, x)),
8 print("y =", 6*(x**2) + 3*x + 2),
9 fungsi(int(input("Masukkan nilai x | -10 > x > 10 : ")))
NO. elemen_program3.py

1 angka = "0123456789"
2 huruf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
3 simbol = "+-
4 @$()*/':#,=!?[]{}<>&_%√|¦\¤~¥°`...€$¥£¢₹₦¤ΦπΠ™©®^Δβα;«»¡¿"
5 def elemen(k):
6 l=[];m=[];n=[];o=[]
7 for i in range(len(k)):
8 if k[i] in angka:
9 l.append(k[i])
10 elif k[i] in huruf:
11 m.append(k[i])
12 elif k[i] in simbol:
13 n.append(k[i])
14 o.append("".join(l))
15 o.append("".join(m))
16 o.append("".join(n))
17 print(o)
18 elemen(input(" masukkan elemen :"))

NO. Program Fungsi mendeteksi Bilangan prima atau bukan

1 Buatlah fungsi untuk mendeteksi apakah suatu angka yang dimasukkan merupakan
2 bilangan prima atau bukan !
3 # Program python untuk menentukan bilangan prima atau tidak
4 # Meminta input bilangan dari user
5 num = int(input("\033[32mMasukkan bilangan : "))

6 # bilangan prima harus lebih besar dari 1


7 if num > 1:
8 for i in range(2,num):
9 if (num % i) == 0:
10 print(num, "\033[35mbukan bilangan prima")
11 print(i, "x", num//i, "=", num)
12 break
13 else:
14 print(num,"\033[35madalah bilangan prima")

15 # bila bilangan kurang atau sama dengan satu


16 else:
17 print(num, "\033[32mbukan bilangan prima")

18 num = int(input("\033[32mMasukkan bilangan : "))

19 # bilangan prima harus lebih besar dari 1


20 if num > 1:
21 for i in range(2,num):
22 if (num % i) == 0:
23 print(num, "\033[35mbukan bilangan prima")
24 print(i, "x", num//i, "=", num)
25 break
26 else:
27 print(num,"\033[35madalah bilangan prima")

28 # bila bilangan kurang atau sama dengan satu else:


29 print(num, "\033[32mbukan bilangan prima")

NO. Penghitung Bilangan Genap

1 print (“.:: Program Penghitung Bilangan Genap ::.\n”)

2 a = int (input(“Masukkan Nilai a: “)


3 b = int (input(“Masukkan Nilai b: “)
4 def jumlah_genap (a,b) :
5 sum = 0
6 for i in range (a, b + 1) :
7 genap = i % 2
8 if (genap == 0) :
sum += i
return sum
print (“hasil penjumlahan bilangan genap dari rentang”, a,” sampai “,b,
“adalah”, jumlah_genap (a,b))

NO. Program fungsi rekursif untuk mencari huruf kapital pertama pada string

1 #fungsi rekursif untuk mencari huruf kapital pertama pada string

2 print("\033[32mMencari Huruf Kapital")


3 def huruf_kapital(str, kata):
4 sum = 0
5 kata = input("\033[36mMasukkan kata : ")
6 for kar in kata:
7 if kar.isupper():
8 print("\033[35mHuruf kapital = " + str(kar))
Screenshot

1. Program mencari nilai faktorial suatu angka.py

Program sebelum angka dimasukkan

Program setelah angka dimasukkan

2. Program mempresentasikan fungsi matematika.py

Program sebelum angka dimasukkan


Program setelah angka dimasukkan

3. Program fungsi rekursif untuk mencari elemen

Tampilan awal program, memasukkan data yang diinginkan

Setelah memasukkan data, akan muncul hasil pada layar aplikasi Pycharm

4. Program mendeteksi apakah suatu angka merupakan bilangan prima atau bukan
program masukkan bilangan
masukkan nilai bilangan

masukkan bilangan bukan prima

5. Program menghitung jumlah rentang bilangan genap


Tampilan awal program, pengguna diminta untuk memasukkan nilai a.

Setelah memasukkan nilai a, pengguna diminta untuk memasukkan nilai b.


Setelah memasukkan nilai b, maka program akan menampilkan hasil dari penjumlahan
tersebut.

6. Program fungsi rekursif untuk mencari huruf kapital pertama pada string

Tampilan awal program, memasukkan data yang diinginkan

Setelah memasukkan data, akan muncul hasil pada layar aplikasi Pycharm

Pembahasan
1. Program mencari nilai faktorial suatu angka.py
No. Penjelasan

1 Membuat fungsi faktorial dengan 1 parameter nilai

2 Jika x lebih dari sama dengan 1 program baris 3 berjalan

3 Kembali ke 1
4 Jika selain itu program baris ke 5 berjalan

5 Melakukan perhitungan f sama dengan x yang dimasukan pengguna dikali x-1

6 Kembali ke f

7 Mencetak judul program

8 Baris kosong

9 Menginput angka

10 Menyatakan factorial_bil adalah factorial dari variabel angka

11 Cetak bilangan factorial dari variabel angka yang dimasukan pengguna adalah
hasil
perhitungan program yang dijalankan

2. Program mempresentasikan fungsi matematika.py


No. Penjelasan

1 Membuat fungsi dengan 1 parameter nilai

2 Jika x kurang dari -10 atau lebih dari 10 program baris 3 berjalan

3 Mencetak kalimat “nilai x harus bilangan bulat antara -10 sampai 10"

4 Pengguna memasukkan nilai x antara -10 sampai 10, x harus integer

5 fungsi else, jika nilai x tidak sesuai syarat pada baris 2 maka program baris 6-8
berjalan

6 Cetak y sama dengan 6x‟2 + 3x + 2

7 Cetak y sama dengan 6x‟2 + 3x + 2, dimana x diganti dengan nilai x yang sudah
dimasukkan pengguna

8 Mencetak hasil perhitungan akhir

9 Pengguna memasukkan nilai x antara -10 sampai 10, x harus integer


3. elemen_program.py
1 Masukkan variabel angka

2 Masukkan variabel huruf dari huruf kecil maupun kapital

3 Masukkan beberapa simbol

5 Buat fungsi dengan nama elemen (k)

6-16 Buat Statement untuk memisahkan elemen-elemen dan mengelompokkan sesuai


angka, huruf maupun simbol

7-18 Panggil fungsi dan print agar output kelompok elemen keluar dan ditampilkan

4. Program mendeteksi apakah suatu bilangan prima atau bukan


NO Penjelasan

1 Buatlah fungsi untuk mendeteksi apakah suatu angka yang dimasukkan


merupakan bilangan prima atau bukan

2 Buatlah python untuk menentukan bilangan prima atau tidak

3 Meminta input bilangan dari user

4 Input untuk memasukkan bilangan

5 Bilangan prima harus lebih besar dari q

6 Masukkan nomor kurang dari 1

7 For i in range (2, num)

8 Masukkan rumus num modulus i

9 Print num, bukan bilangan prima

10 Print i, kali, num//i, “=”, num


11 Break

12 Masukkan pilihan lain

13 Print num, adalah bilangan prima

14 Bila bilangan kurang atau sama dengan 1

15 Masukkan pilihan lain

16 Print num, bukan bilangan prima

5. Program Mencetak bilangan Genap rentang A sampai B


No Penjelasan

1-2 Judul Program yang akan dibuat

3 Program untuk meng-input nilai a

4 Program untuk meng-input nilai b

5 Def jumlah genap(a,b) untuk membuat fungsi perulangan dengan ketentuan di


dalamnya

6 Variable sum dengan nilai 0

7 Looping for I di range a samapai b +

8 Variable genap sama dengan i modulus 2

9 Jika genap sama dengan 0

10 Program untuk menambah setiap sum dengan i

11-12 Program untuk mengembalikan sum

13 Print ("Hasil penjumlahan bilangan genap dari rentang", a, "sampai",b, "adalah",


jumlah_genap(a,b))

6. Program fungsi rekursif untuk mencari huruf kapital pertama pada string.py
NO Penjelasan

1 Print judul program


2 Masukkan definisi huruf kapital (string, kata)

3 Masukkan sum = 0

4 Input untuk memasuk kan kalimat

5 Masukkan kar kedalam kata / for kar in kata

6 Masukkan rumus kar.isupper untuk mendeteksi atau mencari huruf kapital pada
string

7 Print huruf kapital


Kesimpulan

Kesimpulan yang bisa didapatkan yaitu praktikan dapat menggunakan fungsi dan rekursif
untuk diterapkan dalam memprogram pada aplikasi pyton.

Saran
Tidak ada saran karena pemaparan materi sudah baik.
Daftar Pustaka

https://www.pythonindo.com/mengecek-bilangan-prima-atau-tidak/
https://kelasprogrammer.com/program-bilangan-ganjil-genap-python/

Anda mungkin juga menyukai