# iterasi dari 0 sampai n-1
for x in range(5):
print(x)
0
1
2
3
4
Looping Logic: FOR, WHILE
Tim Dosen Praktikum Algoritma dan Pemrograman
September 17, 2024
Kembali ke Mata Kuliah Praktikum Algoritma dan Pemrograman
17 September 2024 - Pertemuan 4
Materi Pembahasan:
FOR Loop
FOR Loop dengan suatu input
Nested FOR Loop
Penggunaan break dalam FOR Loop
Penggunaan break pada Nested Loop
Penggunaan continue dalam FOR Loop
Penggunaan continue dalam Nested Loop
While Loop
Break dalam WHILE Loop
Continue dalam WHILE Loop
Praktikum Algoritma dan Pemrograman PTA 2024-2025
Departemen Matematika FMIPA Universitas Indonesia
For loop dapat mengiterasi suatu barisan tertentu dengan menggunakan fungsi range pada python.
# Pada iterasi pertama, i = 0, kemudian for loop di dalamnya (j in range(5)) akan menghasilkan nilai j dari 0 hingga 4.
# Setelah semua nilai j dicetak untuk i = 0, iterasi i akan berlanjut ke 1 dan begitu seterusnya hingga i = 2.
# Proses berlanjut hingga seluruh kombinasi i dan j tercetak.
for i in range(3):
for j in range(5):
print(i, j)
0 0
0 1
0 2
0 3
0 4
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 2
2 3
2 4
Penggunaan break untuk keluar dari for loop lebih cepat.
# Program akan mencetak karakter dari string "algoritma dan pemrograman".
# Saat karakter 'e' ditemukan, pernyataan break dijalankan, sehingga loop berhenti sebelum mencetak karakter 'k'.
# break hanya keluar dari loop yang sedang dijalankan, tidak memengaruhi nested loop yang lain
for i in "algoritma dan pemrograman":
if i == "e":
break
print(i)
a
l
g
o
r
i
t
m
a
d
a
n
p
Pernyataan continue digunakan untuk menskip sisa dari program didalam loop untuk interasi tertentu saja. Loop tidak berhenti tetapi lanjut ke iterasi selanjutnya.
Pernyataan continue dalam for loop digunakan untuk melewatkan sisa kode dalam iterasi saat ini dan melanjutkan ke iterasi berikutnya, tanpa keluar dari loop. Dengan kata lain, ketika continue ditemukan dalam sebuah loop, Python akan melewati semua perintah di bawah continue untuk iterasi tersebut dan langsung melanjutkan ke iterasi berikutnya.
Continue hanya menskip satu iterasi dari for loop yang sedang dijalankan (tidak menskip semua loop pada nested loop)
While loop akan terus menjalankan suatu perintah berulang kali selama kondisinya terpenuhi (benar). Namun, perlu berhati-hati karena loop dapat berjalan tanpa henti jika kondisinya tidak pernah menjadi salah. Jika hal ini terjadi, Anda mungkin perlu menghentikan atau me-restart kernel untuk mengakhiri eksekusi program.
# Iterasi dengan membagi bilangan dengan dua sampai |i| < 1
i = 200
while abs(i) > 1:
print(i)
i = i / 2
200
100.0
50.0
25.0
12.5
6.25
3.125
1.5625
# Input dua bilangan bulat i, j
# i akan dijumlahkan dengan 1 dan j akan dikurangi dengan 1 sampai i positif dan j negatif
i = int(input("Masukkan bilangan bulat pertama: "))
j = int(input("Masukkan bilangan bulat kedua: "))
while i <= 0 or j >= 0:
print(i, j)
i += 1
j -= 1
Masukkan bilangan bulat pertama: 8
Masukkan bilangan bulat kedua: 5
8 5
9 4
10 3
11 2
12 1
13 0
Program berikut seharusnya menghitung nilai dari $ s=_{k=1}^{M} $.
Perbaiki kodenya agar program berjalan dengan baik.