Anda di halaman 1dari 11

Laporan Praktikum

Algoritma dan Pemrograman


Fungsi dan Rekursif

Asisten :
Muhammad Priandani Nur Ikhsan 10201063

Andi Muhammad Agung Ramadhani Syam 11211011

Disusun Oleh :
Aisyah Permatasari 05211004

Dimas Rizqi Fahrezi 03211022

Adha Annisa Putri 08211004

Muhammad Kemal Arsyadan H. 08211048

Salsa Bilha Marsuki 13211060

Rivaldo Appulembang 15211047

22 April 2022
Dasar Teori
1. Fungsi

Fungsi adalah kumpulan perintah atau baris kode yang dikelompokkan


menjadi satu kesatuan untuk kemudian bisa dipanggil atau digunakan berkali-kali.
Fungsi juga dapat diartikan sebagai blok kode terorganisir dan dapat digunakan
Kembali untuk melakukan sebuah tindakan/action. Sebuah fungsi bisa menerima
parameter, bisa mengembalikan suatu nilai, dan bisa dipanggil berkali-kali secara
independen. Kita dapat menentukan fungsi untuk menyediakan fungsionalitas yang
dibutuhkan. Berikut adalah aturan sederhana untuk mendefinisikan fungsi dengan
Python :

1. Fungsi blok dimulai dengan def kata kunci diikuti oleh nama fungsi dan tanda
kurung ( () ).
2. Setiap parameter masukan atau argumen harus ditempatkan di dalam tanda kurung
ini. Kita juga dapat menentukan parameter di dalam tanda kurung ini. Pernyataan
pertama dari sebuah fungsi dapat berupa pernyataan opsional – string
dokumentasi fungsi atau docstring.
3. Blok kode dalam setiap fungsi dimulai dengan titik dua ( : ) dan indentasi.
4. Pernyataan Kembali (ekspresi) keluar dari sebuah fungsi, secara opsional tanpa
argument sama dengan return none.

2. Rekursif

Rekursif merupakan sebuah perulangan di dalam sebuah program. Namun,


perulangan yang satu ini sangat berbeda dengan perulangan pada umumnya, seperti
while dan for. Walaupun fungsinya sama yaitu perulangan atau looping. Letak
perbedaannya adalah dari cara kerjanya, jika for dan while merupakan sebuah
perulangan yang menggunakan sebuah kondisi atau boolean, maka pada rekursif ini
terjadi pada sebuah fungsi atau metode yang memanggil dirinya sendiri. Di dalam
dunia pemrograman, fungsi rekursif merupakan sebuah metode perulangan yang
bersifat non-iterasi. Sebenarnya fungsi rekursif hanyalah sebuah fungsi biasa seperti
fungsi def pada umumnya. Dia bisa dipanggil, bisa menerima parameter, bisa
mengembalikan nilai, dan lain sebagainya. Hanya saja sesuai namanya, fungsi
rekursif itu bersifat rekursi, karena ia memanggil dirinya sendiri sehingga
menimbulkan efek perulangan. Perulangan ini bisa berhenti Ketika kondisi tertentu
tercapai, atau bisa juga bersifat tak terbatas, atau mungkin bahkan bisa menimbulkan
error karena pemanggilan fungsi yang taka da habisnya.

1
Source Code
No. Program Mencari Nilai Faktorial.py

1 print("=> Hitung Bilangan Faktorial <=")

2 import math

3 def faktorial (a) :

4 if a == 0 :

5 return 1

6 else :

7 return a * faktorial (a-1)

8 bil = int(input("Masukkan Bilangan : "))

9 print(bil, "! = ", end = " ")

10 bil_f = math.faktorial(bil)

11 while(bil >= 2) :

12 print(bil, end = "x")

13 bil = bil – 1

14 print(" 1 = ", bil_f)

No. Program Mempresentasikan Fungsi Matematika.py

1 def hasil(x) :

2 if x >= -10 and x <= 10 :

3 y = 6 * (x**2)+3*X+2

4 return y

5 else :

6 print("Masukkan nilai x antara -10 sampai 10!")

7 angka = int(input("Masukkan nilai x : ")

8 print(hasil(angka))

2
No. Program Mengekstrak String.py

1 angka = "0123456789"

2 alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

3 sym = "+-@$()*/':#,=!?[]{}<>& _%√|¦\¤~¥°`...€$¥£¢₹₦


¤ΦπΠ™️
©️®️
^Δβα;«»¡¿ "

4 def elemen(a):

5 b = [];c = [];d = [];e = []

6 for I in range (len(a)):

7 if a[i] in angka:

8 b.append(a[i])

9 elif a[i] in alp:

10 c.append(a[i])

11 elif a[i] in sym:

12 d.append(a[i])

13 e.append("".join(c))

14 e.append("".join(b))

15 e.append("".join(d))

16 print(e)

17 elemen(input(" Masukkan Elemen : “))

No. Program Deteksi Bilangan Prima.py

1 print(" ``=> mendeteksi bilangan prima <= ``")

2 def is prima (x):

3 for I in range (2, x):

4 if x % I == 0:

5 return False

6 return True

7 bil = int(input("Masukkan Bilangan : "))

8 print(bil, is_prima(bil))

3
No. Program Penjumlahan Bilangan Genap.py

1 Print(".::program menghitung bilangan genap::.")

2 Def hitung_genap(a,b):

3 Sum = 0

4 For I in range(a, b+1):

5 Genap = I % 2

6 If(genap == 0):

7 Sum = sum + i

8 Return sum

9 A = int(input("masukkan nilai a: "))

10 B = int(input("masukkan nilai b: "))

11 Print("hasil penjumlahan bilangan genap", a, "sampai", b,


"adalah", hitung_genap(a,b))

No. Program Fungsi Rekursif Huruf Kapital.py

1 #fungsi rekursif untuk mencari huruf kapital pertama pada


string

3 print("\033[32nMencari huruf kapital")

4 def huruf_kapital(str,kata):

5 sum = 0

6 kata = input("\033[36nMasukkan kata : ")

7 for kar in kata :

8 if kar.isupper():

9 print("\033[355mHuruf kapital = " + str(kar))

4
Screenshot
Program Mencari Nilai Faktorial.py

Tampilan awal program, pengguna diminta untuk memasukkan nilai yang akan difaktorialkan

Setelah memasukkan nilai yang akan difaktorialkan, hasil nilai factorial akan terlihat

Program Mempresentasikan Fungsi Matematika.py

Tampilan awal program, pengguna diminta untuk memasukkan nilai x

Setelah memasukkan nilai x, hasil fungsi matematika akan terlihat

Program Mengekstrak String.py

5
Tampilan awal program, pengguna diminta untuk memasukkan elemen

Setelah memasukkan elemen, hasil program mengekstrak string akan terlihat

Deteksi Bilangan Prima.py

Tampilan awal program, pengguna diminta untuk memasukkan bilangan

Setelah memasukkan bilangan, hasil program deteksi bilangan prima akan terlihat. Berikut adalah
tampilan apabila bilangan yang dimasukkan termasuk bilangan prima

Berikut adalah tampilan apabila bilangan yang dimasukkan bukan termasuk bilangan prima

6
Program Penjumlahan Bilangan Genap.py

Tampilan awal program, pengguna diminta untuk memasukkan nilai a

Setelah memasukkan nilai a dan b, hasil dari program penjumlahan bilangan genap akan terlihat

Program Fungsi Rekursif Huruf Kapital.py

Tampilan awal program, pengguna diminta untuk memasukkan kata maupun kalimat

Setelah memasukkan kata, hasil dari program fungsi rekursif huruf kapital akan terlihat

7
8
Pembahasan
pingsut.py
No. Penjelasan

penerjemah_protein.py
No. Penjelasan

9
Kesimpulan
Pada praktikum Algoritma dan Pemrograman kesimpulan yang dapat diambill adalah:

1. kesimpulan 1

Saran
saran 1

Referensi
https://kodepy.com/pemrograman-dasar-perintah-kondisional-if-pada-python/

http://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html

10

Anda mungkin juga menyukai