Anda di halaman 1dari 17

Laporan Praktikum

Algoritma dan Pemrograman


Perulangan dengan While

Asisten :
Mochammad Nazar Norman Wivana 03201049

Patricia Yohana Beslar 05201069

Disusun Oleh :
Harli Andrika Lomo 10211036
Firlanda Italis Wanita 10211032
Rely Anto Pratama 10211076
Dimas Pramudya 11211032
Rifqah Azzah Mu’tashimah 11211076
Hanifah Nur Fadhillah 12211036
Salma Yanda Asmara 12211080

26 September 2021
Dasar Teori

While

Pada suatu kasus, untuk menyelesaikan masalah tertentu, kita perlu menuliskan beberapa
perintah yang mirip berulang kali. Ketika pernyataan yang kita tulis saat memprogram
membutuhkan lebih dari 100 kali perulangan maka hal tersebut akan memakan waktu. Oleh
sebab itu, bahasa pemrograman memiliki kemampuan dalam mengulang perintah berkali-kali
sesuai dengan kondisi pemrogram. Salah satu pernyataan yang dapat kita gunakan adalah
dengan menggunakan while.

While merupakan syntax untuk membuat suatu perulangan berdasarkan kondisi tertentu.
Sesuai dengan maknanya yaitu “selama” (while), statement yang masuk dalam blok while
akan terus diulang selama kondisi terpenuhi. While memerlukan ekspresi boolean sebagai
penentu perulangan terus dijalankan atau tidak. Jika ekspresi bernilai True, maka statement
dijalankan. Setelah semua statement didalamnya selesai dieksekusi, program akan kembali
mengeksekusi ekspresi boolean pada while (berulang). Begitu sebaliknya jika False, maka
statement didalamnya tidak akan dijalankan dan akan berlanjut pada eksekusi statement
selanjutnya.

Terdapat 3 komponen utama:

1. Yang pertama adalah keyword while, ini harus kita isi.


2. Yang kedua adalah <kondisi>: ini bisa berupa variabel boolean atau ekspresi logika.
3. Dan yang terakhir adalah blok (atau kumpulan baris) kode yang akan diulang-
ulang kondisi terpenuhi.

Perulangan Tanpa Batas

Perulangan while sangat berkaitan dengan variabel boolean, atau logical statement. Karena
penentuan kapan suatu blok kode akan diulang-ulang ditinjau dari True or False dari suatu
pernyataan logika.

Sehingga jika suatu kondisi itu selalu benar, maka perulangannya pun akan selalu di
eksekusi.

Perhatikan contoh berikut:

while (1 + 2 == 3):
print('Halo dunia!')

1
Jika dieksekusi, sistem akan mencetak tulisan “Halo dunia!” berkali-kali tanpa henti.

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...

Kita bisa memaksanya berhenti dengan menekan tombol Ctr + C jika menggunakan CLI,
atau dengan cara menekan tombol stop jika menggunakan IDE atau sejenisnya.

Kenapa perulangan di atas dieksekusi terus menerus?

Karena kita memerintahkan komputer untuk menulis “Hello World” selama satu ditambah
dua sama dengan tiga.

Pertanyaannya: apakah satu ditambah dua sama dengan tiga terus-menerus atau tidak?

Jawabannya iya! Oleh karena itu sistem melakukan iterasi tak terbatas.

Contoh perulangan while seperti for + range

Nah, timbul pertanyaan.

Lalu bagaimana caranya agar kita bisa memberhentikan perulangan while?

Caranya gampang, kita buat kondisinya bersifat dinamis (alias bisa berubah-ubah).

Di dalam contoh berikut, kita akan menampilkan angka 1 sampai dengan angka 5
menggunakan perulangan while.

i=1

while i <= 5:
print(i)
i += 1

Kode program di atas akan menghasilkan output seperti berikut:

1
2
3
4
5

2
Penjelasan

Pada kode program di atas, kita menginstruksikan sistem untuk:

1. Melakukan perulangan selama variabel i kurang dari atau sama dengan 5.


2. Setiap kali iterasi, sistem akan menampilkan nilai dari i.
3. Dan yang terakhir, pada setiap iterasi, sistem akan menambahkan nilai i dengan
angka 1.

Kalian bisa memodifikasi kode program di atas misalkan untuk:

 menampilkan bilangan prima dari 1 sampai 100


 menampilkan angka kelipatan 4 dari 1 sampai 100
 menampilkan angka ganjil dari 1 sampai 27
 dan sebagainya

Contoh perulangan while untuk list

Untuk menampilkan semua item pada list, cara yang paling clean adalah dengan
menggunakan metode for seperti yang telah kita bahas sebelumnya.

Meskipun begitu, kita tetap bisa menggunakan perulangan while untuk bermain-main dengan
list.

Perhatikan contoh berikut:

listKota = [
'Jakarta', 'Surabaya', 'Depok', 'Bekasi', 'Solo',
'Jogjakarta', 'Semarang', 'Makassar'
]

# bermain index
i=0
while i < len(listKota):
print(listKota[i])
i += 1

Jika dijalankan, hasilnya akan terlihat seperti ini:

Jakarta
Surabaya
Depok
Bekasi
Solo
Jogjakarta
Semarang
Makassar

Kita juga bisa menggunakan fungsi list.pop(). Perhatikan kode program berikut:

3
# bermain pop
while listKota:
print(listKota.pop(0))

Kode program di atas juga akan menghasilkan output yang sama seperti yang kita lakukan
dengan pendekatan indeks.

Contoh perulangan while dengan inputan

Kita juga bisa menggunakan while dengan inputan.

Perhatikan contoh di bawah. Pada contoh ini kita akan meminta user untuk memasukkan
angka ganjil lebih dari 50. Jika user justru memasukkan nilai genap atau nilai yang kurang
dari 50, maka sistem akan meminta user untuk menginputkan kembali.

a = int(input('Masukkan bilangan ganjil lebih dari 50: '))

while a % 2 != 1 or a <= 50:


a = int(input('Salah, masukkan lagi: '))

print('Benar')

Contoh Output:

Masukkan bilangan ganjil lebih dari 50: 1


Salah, masukkan lagi: 2
Salah, masukkan lagi: 3
Salah, masukkan lagi: 10
Salah, masukkan lagi: 50
Salah, masukkan lagi: 52
Salah, masukkan lagi: 54
Salah, masukkan lagi: 55
Benar

Contoh perulangan while dengan continue

Sama dengan perulangan for, kita juga bisa menggunakan perintah continue pada
perulangan while.

Apa itu perintah continue?

Perintah continue berfungsi untuk men-skip iterasi sekarang ke iterasi selanjutnya.

Contoh:

listKota = [
'Jakarta', 'Surabaya', 'Depok', 'Bekasi', 'Solo',
'Jogjakarta', 'Semarang', 'Makassar'
]

4
# skip jika i adalah bilangan genap
# dan i lebih dari 0
i = -1
while i < len(listKota):
i += 1
if i % 2 == 0 and i > 0:
print('skip')
continue

# tidak dieksekusi ketika continue dipanggil


print(listKota[i])

Output:

Jakarta
Surabaya
skip <-- i sama dengan 2
Bekasi
skip <-- i sama dengan 4
Jogjakarta
skip <-- i sama dengan 6
Makassar
skip <-- i sama dengan 8

Pada output di atas, ketika i-nya adalah bilangan genap yang lebih dari satu,
perintah print(listKota[i]) tidak dieksekusi dan justru di-skip.

Contoh perulangan while dengan break

Kita juga bisa menggunakan perintah break pada perulangan while.

Perintah break itu sebenarnya mirip dengan perintah continue.

5
Source Code

No. Bilangan bulat.py

1 n = int(input("Masukkan bilangan bulat : "))


2
3 while n >= 1 :
4 if n % 2 == 1:
5 print(f"{n}", end=" ")
6 n -= 1

No. Luas dan keliling bidang persegi, persegi panjang, dan


segitiga.py

1 while True:
2 print("--Program Menghitung Luas dan Keliling Bidang")
3 print("1. Persegi")
4 print("2. Persegi Panjang")
5 print("3. Segitiga")
6 print("4. Keluar")
7 n = int(input("Pilihan anda : "))
8 if n < 1 or n > 4:
9 print("Masukkan angka yang benar [1-4] \n")
10 elif n == 1:
11 s = int(input("\nMasukkan sisi : "))
12 luas_persegi = s * s
13 kel_persegi = 4 * s
14 print(f"Luas persegi adalah : {luas_persegi} cm2")
15 print(f"Keliling persegi adalah : {kel_persegi} cm \n")
16 elif n == 2:
17 p = int(input("\nMasukkan panjang : "))
18 l = int(input("Masukkan lebar : "))
19 luas_perpan = p * l
20 kel_perpan = 2 * (p + l)
21 print(f"Luas persegi panjang adalah : {luas_perpan} cm2 ")
22 print(f"Keliling persegi panjang adalah : {kel_perpan} cm \n")
23 elif n == 3:
24 a = int(input("\nMasukkan alas : "))
25 t = int(input("Masukkan tinggi : "))
26 s = int(input("Masukkan panjang sisi : "))
27 luas_segitiga = 1/2 * a * t
28 kel_segitiga = 3 * s
29 print(f"Luas segitiga adalah : {luas_segitiga} cm2")
30 print(f"Keliling segitiga adalah : {kel_segitiga} cm \n")
31 else:
32 print("\nSelamat tinggal")
33 break

6
No. Nilai faktorial.py

1 print("--Mencari Nilai Faktorial--")


2 n = int(input("Masukkan faktorial : "))
3 faktor = 1
4 print(f"{n}! = ", end=" ")
5 while n >= 1:
6 faktor *= n
7 if n != 1:
8 print(f"{n} x ", end="")
9 else:
10 print(f"{n} = {faktor}")
11 n -= 1

No. Nilai faktorial.py

1 import random, string


2
3 huruf = string.ascii_letters
4 angka = string.digits
5 password = ""
6
7 n = int(input("Masukkan panjang password : "))
8
9 while n >= 1:
10 if n % 2 == 1:
11 password += random.choice(angka)
12 else:
13 password += random.choice(huruf)
14 n -= 1
15
16 print(password)

7
Screenshot
Tampilan awal program, Bilangan Bulat

Setelah hasil masukkan bilangan bulat,

Tampilan awal program, Menghitung Luas dan Keliling Bidang

8
Memasukkan luas dan keliling bidang

9
Tampilan awal Memasukkan faktorial

Masukkan hasil nilai faktorial

10
Tampilan awal program, pembangkit password otomatis

Tampilan hasil pembangkit password otomatis

11
Pembahasan
Bilangan Bulat.py
No. Penjelasan

1 Masukkan input bilangan bulat

2 Memasukkan while n >= 1 :

3 Memasukkan if n % 2 == 1:

5 Memasukkan hasil dari print(f"{n}", end=" ")

6 Memsukkan n -= 1

7 Masukkan bilangan bulat =10

8 Penjelasan program baris 11-15

9 Setelah itu muncul hasilnya

Luas dan keliling bidang persegi, persegi panjang, dan segitiga py


No. Penjelasan

1 Meng-import while True

2 Menampilkan output yang merupakan judul program

3-6 Mendeklarasikan Persegi,Persegi Panjang, Segitiga, dan Keluar

7 Memasukkan hasil dari print(f"{n}", end=" ")

8 Memasukkan Input Pilihan

9 Memasukkan Input 1-4

10 Masukkan angka yang benar [1-4] \n

11 Memasukkan elif n == 1:

12 Masukkan sisi

13-14 Memasukkan luas_persegi = s * s dan kel_persegi = 4 * s

18-23 Memasukkan p = int(input("\nMasukkan panjang : ")) l = int(input("Masukkan lebar : "))


luas_perpan = p * l
kel_perpan = 2 * (p + l) print(f"Luas persegi panjang adalah : {luas_perpan} cm2 ")
print(f"Keliling persegi panjang adalah : {kel_perpan} cm \n")

24 Memasukkan elif n == 2:

25-30 p = int(input("\nMasukkan panjang : "))


l = int(input("Masukkan lebar : "))
luas_perpan = p * l

12
kel_perpan = 2 * (p + l)
print(f"Luas persegi panjang adalah : {luas_perpan} cm2 ")
print(f"Keliling persegi panjang adalah : {kel_perpan} cm \n")

31 Masukkan elif n == 3:

32-38 Memasukkan a = int(input("\nMasukkan alas : "))


t = int(input("Masukkan tinggi : "))
s = int(input("Masukkan panjang sisi : "))
luas_segitiga = 1/2 * a * t
kel_segitiga = 3 * s
print(f"Luas segitiga adalah : {luas_segitiga} cm2")
print(f"Keliling segitiga adalah : {kel_segitiga} cm \n")

39-41 else:
print("\nSelamat tinggal")
break

42 Maka hasilnya akan muncul

Nilai faktorial.py
No. Penjelasan

1 Memasukkan untuk Mencari Nilai Faktorial

2 menginput Masukkan faktorial

3 Memasukkan faktor = 1

5 Memasukkan print(f"{n}! = ", end=" ")

6 Memasukkan while n >= 1:

7 Masukkan faktor *= n

8 Memasukan if n != 1:

9 Memasukkan print(f"{n} x ", end="")

10-12 Memasukkan else:


print(f"{n} = {faktor}")
n -= 1

13 Setelah itu muncul hasilnya

13
pembangkit password otomatis dengan panjang karakter sebagai masukkan
pengguna..py
No. Penjelasan

1 Meng-import random, string

2 Memasukkan huruf = string.ascii_letters

3 Memasukkan angka = string.digits

5 Memasukkan password = ""

6 Masukkan panjang password

7-8 Masukkan while n >= 1:


if n % 2 == 1:

9-11 password += random.choice(angka)


else:
password += random.choice(huruf)

12 Memasukkan print(password)

13 Setelah muncul hasilnya

14
Kesimpulan
Pada suatu kasus, untuk menyelesaikan masalah tertentu, kita perlu menuliskan beberapa
perintah yang mirip berulang kali. Ketika pernyataan yang kita tulis saat memprogram
membutuhkan lebih dari 100 kali perulangan maka hal tersebut akan memakan waktu. Oleh
sebab itu, bahasa pemrograman memiliki kemampuan dalam mengulang perintah berkali-kali
sesuai dengan kondisi pemrogram. Salah satu pernyataan yang dapat kita gunakan adalah
dengan menggunakan while.

While merupakan syntax untuk membuat suatu perulangan berdasarkan kondisi tertentu.
Sesuai dengan maknanya yaitu “selama” (while), statement yang masuk dalam blok while
akan terus diulang selama kondisi terpenuhi. While memerlukan ekspresi boolean sebagai
penentu perulangan terus dijalankan atau tidak. Jika ekspresi bernilai True, maka statement
dijalankan. Setelah semua statement didalamnya selesai dieksekusi, program akan kembali
mengeksekusi ekspresi boolean pada while (berulang). Begitu sebaliknya jika False, maka
statement didalamnya tidak akan dijalankan dan akan berlanjut pada eksekusi statement
selanjutnya.

Tujuan

Setelah menyelesaikan praktikum ini, praktikan diharapkan mampu membuat program


sederhana dengan melibatkan perulangan while.

Saran
Saran saya dari materi praktikum kedua ini, materi yang disampainya harus secara jelas dan
mudah dipahami sehingga ketika melakuka praktikum mudah dipahami.

15
Daftar Pustaka
[1] https://www.programiz.com/python-programming/while-loop – diakses tanggal 17 Mei
2021
[2] https://pythonbasics.org/while-loop/ – diakses tanggal 17 Mei 2021

16

Anda mungkin juga menyukai