Anda di halaman 1dari 13

Laporan Praktikum

Algoritma dan Pemrograman

AP – 4
Pengulangan

Nama : Riyan Fathurrahman


NPM : 140310220045
Hari/Tanggal : Rabu/ 19 Oktober 2022
Waktu : 07.30 – 09.10
Asisten : Julian Evan

LABORATORIUM KOMPUTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2022
LEMBAR PENGESAHAN

AP - 4
Struktur Kendali

Nama : Riyan Fathurrahman


NPM : 140310220045
Hari / Tanggal : Rabu/ 19 Oktober 2022
Waktu : 07.30 – 09.10
Asisten : Julian Evan

Pretest Laporan Akhir

Jatinangor, 19 Oktober 2022


Asisten

( )
I. TUJUAN
• Mahasiswa dapat memahami dan menggunakan sintak pengulangan pada
Python.
II. TUGAS PERCOBAAN
1. Percobaan 1: Pengulangan while
Ketikkan Program di bawah ini:
# Percobaan 1: Pengulangan while
# alpro401.py
nilai = int(input("Masukkan nilai awal = "))
print ("Pengulangan while dimulai...")
while (nilai > 1):
nilai = nilai / 2
print (nilai)
print ("Pengulangan while selesai.")

1. Jelaskan hasil eksekusi program!


2. Apa yang terjadi jika nilai = nilai / 2 diganti dengan nilai = nilai * 2?
Kenapa?
Jawab:
1) Soal a
a) Listing Program
# Percobaan 1: Pengulangan while
# alpro401.py
nilai = int(input("Masukkan nilai awal = "))
print ("Pengulangan while dimulai...")
while (nilai > 1):
nilai = nilai / 2
print (nilai)
print ("Pengulangan while selesai.")

Hasil Program
Masukkan nilai awal
= 7
Pengulangan while dimulai...
3.5
1.75
0.875
Pengulangan while selesai.
b) Analisa Program
Pada percobaan ini digunakan while yang berfungsi untuk
mengeksekusi perulangan selama ekspresi benar. Kita bisa
mengetahui bahwa nilai awal pada percobaan ini adalah nilai yang
kita masukkan sendiri. Misal kita memasukkan nilai 7, maka
program akan berjalan mundur dari 7 sampai batas minimal yang
diketahui. Batas minimal pada percobaan ini adalah 1. Nilai-nilai
yang tertera pada output selama program berjalan mundur dari 7
adalah nilai yang dibagi 2 karena kita menambahkan informasi
bahwa nilai pada program ini dibagi 2. Oleh karena itu, nilai yang
muncul di output adalah 3,5 1,75 dan 0,875.
2) Soal b
a) Listing Program
# Percobaan 1: Pengulangan while
# alpro401.py
nilai = int(input("Masukkan nilai awal = "))
print ("Pengulangan while dimulai...")
while (nilai > 1):
nilai = nilai / 2
print (nilai)
print ("Pengulangan while selesai.")

b) Hasil Program
Masukkan nilai awal
= 7
Pengulangan while dimulai...
14
28
56
112
224
448
896
1792
3584
…….

c) Analisa Program
Seperti yang telah kita ketahui, batas nilai minimal nilai pada
program ini adalah 1, namun tidak diketahui berapa batas
maksimalnya. Ketika kita mengubah nilai = nilai / 2 menjadi nilai
= nilai *2, maka output akan menghasilkan perkalian bilangan awal
dengan 2. Misal kita memasukkan nilai yang sama, yaitu 7. Maka
output yang dihasilkan adalah 14, 28, 56, 112, 224, 448, 896, 1792,
3584, dan seterusnya. Pada akhirnya, program ini tak akan berhenti
alias while tidak akan pernah selesai karena kita tidak menentukan
batas nilai maksimal untuk menghentikan program.
2. Percobaan 2: Pengulangan for
Ketikkan Program di bawah ini:
# Percobaan 2: Pengulangan for
# alpro403.py
for i in range (1,101,1):
print (i, end=' ')

a. Jelaskan hasil eksekusi program!


b. Coba rentang deretnya diganti 2 dan 3
Jawab:
1. Soal a
a) Listing Program
for i in range (1,101,1):
print (i, end=' ')
b) Hasil Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
81 82 83
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
c) Analisa Program
Pada program ini kita akan mengetahui fungsi for. For pada python
adalah syntax yang digunakan untuk melakukan perulangan
berdasarkan interval yang ditentukan pengguna. Interval pada
program ini yaitu (1,101,1) dengan rincian penjelasan sebagai
berikut:
• 1 pada sebelah kiri adalah nilai awal program bekerja
• 101 yaitu batas akhir interval. Namun kita harus mengetahui
bahwa batas akhirnya adalah satu angka sebelum 101 yaitu
100.
• 1 pada sebelah kanan 101 adalah besaran penjumlahan setiap
nilai yang ada.
Untuk menampilkan output, seperti biasa kita mengetikkan print.
Agar output yang dihasilkan mendatar, maka kita menambahkan
end= ‘ ‘.
2. Soal b
a) Listing Program
for i in range (2,101,3):
print (i, end=' ')
b) Hasil Program
2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53
56 59 62
65 68 71 74 77 80 83 86 89 92 95 98
c) Analisa Program
Deret pada percobaan ini memiliki nilai awal 2, beda 2, dan suku
terakhir yaitu 98. Dengan mengubah nilai awal dan beda, maka
program pun akan menjalankan programnya sesuai dari apa yang
kita tentukan di awal.

3. Percobaan 3: Pengulangan for


Ketikkan Program di bawah ini:
awal=int(input('Set Nilai Awal = '))
akhir=int(input('Set Nilai Akhir = '))
count=0
summ=0
print ('Bilangan antara %d dan %d' % (awal,akhir))
for i in range(awal,akhir+1):
print(i, end=' ')
count=count+1
summ=summ+i

print('Bilangan di atas ada %d bilangan' %count)


print('Jumlah semua bilangan adalah %d' %summ)

Jawab:
1. Soal a
a) Listing Program
awal=int(input('Set Nilai Awal = '))
akhir=int(input('Set Nilai Akhir = '))
count=0
summ=0
print ('Bilangan antara %d dan %d' % (awal,akhir))
for i in range(awal,akhir+1):
print(i, end=' ')
count=count+1
summ=summ+i

print('Bilangan di atas ada %d bilangan' %count)


print('Jumlah semua bilangan adalah %d' %summ)

b) Hasil Program
Set Nilai Awal = 1
Set Nilai Akhir = 6
Bilangan antara 1 dan 6
1 2 3 4 5 6 Bilangan di atas ada 6 bilangan
Jumlah semua bilangan adalah 21
c) Analisa Program
Di dalam percobaan ketiga. Hasil eksekusi yang dapat kita pelajari
berada pada line 10 dan line seterusnya kebawah. Pada percobaan
sebelumnya kita telah menyinggung perbedaan while looping dan
for looping. Pada kasus ini, awal sebagai batas awal dan akhir
sebagai batas akhir+1. Kegunaan + 1 ini ialah agar si batas
terakhirnya itu tetap termasuk ke dalam barisan tersebut. Untuk
keberlanjutannya/perbedaan di setiap Batasan/suku, ditambah
dengan 1. Ini kodekan di line 12 dan di variabelkan dengan nama
count. Jika kita eksekusi dan print count di line 15, maka system
akan mengeprint bentuk barisan dengan batas awal 1 hingga batas
akhir 6 dengan keberlanjutan/perbedaan suku sebesar 1. Untuk
menjumlahkan semua suku yang ada, divariabelkan dengan summ.
Sum = sum + i tersebut ialah kegunaanya untuk menjumlahkan
semua suku I yang ada pada di barisan tersebut.
III. TUGAS AKHIR
1. Buatlah program C untuk menampilkan deret Fibbonaci dengan input :
jumlah bilangan,bilangan pertama dan kedua.Hasil keluaran yang
diharapkan berupa deret Fibbonaci sebanyak jumlahbilangan yang
diinputkan. Program Deret Fibonaci Masukkan jumlah bilangan yang
ingin ditampilkan : 7 Masukkan bilangan pertama : 4 Masukkan bilangan
ke dua : 7 Output : 4,7,11,18,29,47,76

Jawab:
a) Listing Program
print("==============Fibonacci Series================")
bnykBil = int(input("masukkan banyak bilangan fibonacci
yang ingin
di tampilkan : "))
awal = int(input("Masukkan suku awal : "))
simpan = int(input("masukkan suku kedua : "))
n = awal
m = simpan
total = 0
print(awal)
print(simpan)
while (bnykBil > 0):
total = n + m
n = m
m = total
bnykBil = bnykBil - 1
print(total)

b) Hasil Program
==============Fibonacci Series================
masukkan banyak bilangan fibonacci yang ingin di tampilkan
: 10
Masukkan suku awal : 4
masukkan suku kedua : 7
4
7
11
18
29
47
76
123
199
322
521
843
c) Analisa Program
Di dalam percobaan keempat, kita gunakan while (bnykBill>0):.
Dengan perbedaan setiap suku itu merupakan perbedaan dari
penjumlahan dari 2 suku sebelumnya sesuai dengan rumus fibonaci
yakni Un = Un – 1 + Un – 2 . dengan menganalogikan Un – 1 sebagai
n (awal) dan Un – 2 sebagai m (simpan). Nantinya n = m dan m = total
ini terus melooping hingga batas yang di inputkan oleh user.

2. Buat program untuk menghitung nilai faktorial. Contoh = 4!, 5!, atau N!
(Ingat bahwa 0! = 1! = 1)
Jawab:
a) Listing Program
print("===================+++FAKTORIAL+++==============
======")
print("Kalkulator FAKTORIAL")
#Nomor 2
fact = int(input("Masukkan angka yang ingin
difaktorialkan : "))
n = fact
hasil = 1
while (fact > 1):
hasil *= fact
fact -= 1

print("{}! = {}".format(n,hasil))

b) Hasil Program
===================+++FAKTORIAL+++====================
Kalkulator FAKTORIAL
Masukkan angka yang ingin difaktorialkan : 5
5! = 120
c) Analisa Program
Di dalam percobaan kelima ini, kita gunakan while (fact>1): agar hasil
print barisan dari nilai yang di inputkan lebih besar dari pada angka 1.
Dengan perbedaan setiap suku itu dikurang 1 (line 9) dan setiap suku
dikalikan dengan suku berikutnya (8). Jika kita printkan akan
menghasilkan hasil dari factorial angka yang di inputkan. Semisal
angka input = 4. Maka system akan mengeksekusi 4 x (4-1) x (3-1) x
(2-1) x (1-0) = 24.
3. Buatlah program C untuk menghitung nilai permutasi dan kombinasi dari
suatu bilangan. Rumus permutasi : nPr = n!/(n-r)!.Rumus kombinasi : nCr
= n!/(r!(n-r)!).
Jawab:
a) Listing Program
print("===================+++KOMBINASI+++==============
======")
print("Kalkulator KOMBINASI")
#Nomor 3
fact_1 = int(input("Masukkan nilai n : "))
n = fact_1
fact_2 = int(input("Masukkan nilai r : "))
r = fact_2
hasil_1 = 1
hasil_2 = 1
while (fact_1>1):
hasil_1 *= fact_1
fact_1 -= 1
fact_2 = n - r
while (fact_2>1):
hasil_2 *= fact_2
fact_2 -= 1
hasil_permutasi = hasil_1 / hasil_2
print("hasil perhitungan permutasinya = {}
".format(hasil_permutasi))
print("===================+++PERMUTASI+++==============
======")
print("Kalkulator PERMUTASI")
fact_1 = int(input("Masukkan nilai n : "))
n = fact_1
fact_2 = int(input("Masukkan nilai r : "))
r = fact_2
k = n - r
fact_3 = k
hasil_1 = 1
hasil_2 = 1
hasil_3 = 1
while (fact_1>1):
hasil_1 *= fact_1
fact_1 -= 1
while (fact_2>1):
hasil_2 *= fact_2
fact_2 -= 1
while(fact_3>1):
hasil_3 *=fact_3
fact_3 -= 1
hasil_kombinasi = (hasil_1)/(hasil_2*hasil_3)
print("hasil perhitungan kombinasi =
{}".format(hasil_kombinasi))

b) Hasil Program
===================+++KOMBINASI+++====================
Kalkulator KOMBINASI
Masukkan nilai n : 6
Masukkan nilai r : 3
hasil perhitungan permutasinya = 120.0
===================+++PERMUTASI+++====================
Kalkulator PERMUTASI
Masukkan nilai n : 6
Masukkan nilai r : 3
hasil perhitungan kombinasi = 20.0
c) Analisa Program
Sama halnya seperti konsep nomor 2. Mengaplikasikan dari kegunaan
while looping. Sesuai dengan rumus dari Permutasi : nPr = n!/(n-r)!
dan Rumus kombinasi : nCr = n!/(r!(n-r)!). kita terlebih dahulu
mencari komponen pembilang dan penyebut terlebih dahulu lalu
setelahnya kita bagi antara keduanya. Seperti contoh pada sintaks
kombinasi diatas, karena ada 2 angka yang harus kita faktorialkan,
maka pada system pyhton kombinasi ini, kita lakukan while looping
sebanyak 2 kali untuk setiap kombinasi. Pada pembilang kombinasi
terdapat 1 faktorial dan pembilang kombinasi terdapat juga 1 faktorial,
maka kita bedakan nantinya antara hasil factorial pembilang dan
penyebut dengan memvariabelkan hasil_1 sebagai hasil factorial
pembilang dan hasil_2 sebagai hasil factorial penyebut. Lalu hasil_1
dan hasil_2 ini nantinya akan di operasikan dalam bentuk pembagian
dan nantinya akan menghasilkan sebuah nilai kombinasi dari angka-
angka yang di inputkan. Jikalau permutasi juga menggunakan konsep
yang sama, di dalam rumus kombinasi juga terdapat 3 faktorial
diantaranya terdapat 1 faktorial di pembilang dan 2 faktorial di
penyebut pada rumusan permutasi, kita lakukan sama seperti halnya
kombinasi, kita operasikan terlebih dahulu dan selesaikan semua
operasi yang ada di setiap pembilang dan penyebut. Pada rumus
permutasi tepatnya berada di penyebut(bawah) kita perlu kalikan
terlebih dahulu nilai n! dengan (n-r)!. setelah itu baru kita operasi
pembagian dengan pembilangnya yakni n!.

Anda mungkin juga menyukai