6 Looping
6 Looping
●
Siswa mampu menjelaskan:
●
Struktur kontrol perulangan
●
Jenis-jenis perulangan: WHILE, FOR
●
Statement else di perulangan
●
Statement break
●
Statement continue
Outline
●
Struktur Perulangan
●
Jenis Perulangan
– WHILE
– FOR
– Perulangan bertingkat
– Perulangan dengan else
●
Pernyataan break
●
Pernyataan continue
Struktur Perulangan
●
Perulangan (iterasi, looping) adalah melakukan tindakan
yang sama berulang kali sampai batas yang telah
ditentukan
●
Tujuan:
Menjalankan secara berulang kali serangkaian perintah
yang hanya cukup dituliskan satu kali
Struktur Perulangan
●
Perbedaan antar masing-masing looping adalah cara
melakukan kontrol pengulangannya
●
Ada 2 bagian penting:
– Sebuah ekspresi yang diuji benar atau salahnya
– Blok pernyataan yang dikerjakan berulang selama
ekspresi di atas benar
Perulangan WHILE
●
Pernyataan while digunakan ketika kondisi diperiksa
terlebih dahulu sebelum menjalankan pernyataan.
●
Pernyataan while akan mengulang proses secara terus
menerus sampai kondisi bernilai benar.
●
Bentuk umum perulangan while, sebagai berikut :
while syarat:
perintah1
perintah2
di luar while
Diagram Perulangan WHILE
Contoh Perulangan WHILE
count = 0
while count <= 3:
print(count)
count += 1
●
Keluaran program adalah
0
1
2
3
●
Diambil dari sini
Nested WHILE
●
While di dalam while
●
Contoh:
j = 1
while(j<=10):
k = 1
while(k<=10):
print(j*k, end=" ")
k+=1
print()
j+=1
●
Terinspirasi dari sini
Perulangan FOR
●
For dipakai jika batasannya jelas
●
Sintaks :
for variabel in sequence:
Statement1
Statement2
Contoh perulangan for
for i in [‘Satu’,’Dua’,’Tiga’]:
print(i)
print('Selesai')
●
Output:
Satu
Dua
Tiga
Selesai
Fungsi range
●
range(awal, akhir) : rangkaian bilangan dari awal sampai akhir-1
●
range(akhir) : rangkaian bilangan dari 0 sampai akhir-1
●
for i in range(1,4):
print(i)
print('Selesai')
●
Output:
1
2
3
Selesai
Fungsi range (2)
●
range(akhir) : rangkaian bilangan dari 0 sampai akhir-1
●
range(awal, akhir) : rangkaian bilangan dari awal sampai
akhir-1
●
range(awal, akhir, step): rangkaian bilangan dari awal
sampai akhir-1 setiap step
●
Coba buat menggunakan range(10)
●
Coba buat menggunakan range(1,10,3)
Bentuk lain
l = [‘Satu’,’Dua’,’Tiga’]
for i in range(len(l)):
print(l[i])
print('Selesai')
●
Output:
Satu
Dua
Tiga
Selesai
●
Apa yang terjadi kalau pakai range(1,len(l)) ?
●
Apa yang terjadi kalau pakai range(0,len(l),2) ?
Nested for
●
Contoh:
for i in range(1,11):
for j in range(1,11):
k = i*j
print (k, end=' ')
print()
Perintah break dan continue
●
Break mengeluarkan dari loop walau belum “selesai”
●
Contoh: (diambil dari sini)
# Prints out 0,1,2,3,4
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
Perintah continue
●
Continue membuat loop melewati perintah-perintah di
bawahnya dan langsung melanjutkan loop
●
Contoh: (diambil dari sini)
# Prints out only odd numbers - 1,3,5,7,9
for x in range(10):
# Check if x is even
if x % 2 == 0:
continue
print(x)
else di perulangan
●
Tidak seperti di C / C++, perulangan di python ada else
●
Contoh: (diambil dari sini)
# Prints out 0,1,2,3,4 and then it prints "count value reached 5"
count=0
while(count<5):
print(count)
count +=1
else:
print("count value reached %d" %(count))
break/continue di else
●
Break juga melewati else, continue juga melompati else
●
Contoh: (diambil dari sini)
# Prints out 1,2,3,4
for i in range(1, 10):
if(i%5==0):
break
print(i)
else:
print("this is not printed because for loop is terminated because of
break but not due to fail in condition")
Quiz
●
Print semua bilangan ganjil dari list berikut, hentikan perulangan ketika sudah melewati
bilangan 553. Pakai perulangan while. (diambil dari sini)
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
Quiz
●
Buat program untuk minta input jumlah baris dan buat
rangkaian berikut ini
*
**
***
****
●
Dan seterusnya sejumlah baris yang diinputkan
●
Gunakan for loop dengan range