Perulangan

Secara umum, Python mengeksekusi kegiatan baris perbaris. Mulai dari baris satu, dua, dan seterusnya. Ada kalanya, kita perlu mengeksekusi satu baris atau satu blok instruksi kegiatan beberapa kali. Hal ini disebut dengan perulangan atau biasa disebut looping atau iterasi. Untuk lebih jelasnya perhatikan gambar berikut:





Perulangan



Pada gambar mampu dilihat bahwa perulangan juga memerlukan tes kondisi. Bila hasil tes kondisi True, maka blok instruksi kembali dieksekusi. Tapi jikalau False, maka keluar dari perulangan.



Di python, perulangan mampu dilakukan dengan dua cara atau metode, yaitu:




  1. Menggunakan for


  2. Menggunakan while



Perulangan Dengan Menggunakan For



Perulangan dengan menggunakan for memiliki sintaks mirip berikut:



for var in sequence:
body of for


var yakni variabel yang digunakan untuk penampung sementara nilai dari sequence pada saat terjadi perulangan. Sequence yakni tipe data berurut mirip string, list, dan tuple.



Perulangan terjadi sampai looping mencapai elemen atau anggota terakhir dari sequence. Bila loop sudah sampai ke elemen terakhir dari sequence, maka kegiatan akan keluar dari looping.




# Program untuk menemukan jumlah bilangan dalam satu list


# List number
numbers = [7, 5, 9, 8, 4, 2, 6, 4, 1]


# variablel untuk menyimpan jumlah


sum = 0


# iterasi
for each in numbers:
sum = sum + each


# Output: Jumlah semuanya: 46
print("Jumlah semuanya:", sum)



Bila kegiatan tersebut kita jalankan, maka akibatnya yakni mirip berikut:



Jumlah semuanya: 46


Fungsi range()



Fungsi range() mampu digunakan untuk menghasilkan deret bilangan. range(10) akan menghasilkan bilangan dari 0 sampai dengan 9 (10 bilangan).



Kita juga mampu menentukan batas bawah, batas atas, dan interval dengan format range(batas bawah, batas atas, interval).Bila interval dikosongkan, maka nilai default 1 yang akan digunakan.



Fungsi range tidak menyimpan semua nilai dalam memori secara langsung. Ia hanya akan mengingat batas bawah, batas atas, dan interval dan membangkitkan hasilnya satu persatu hanya bila dipanggil. Untuk membuat fungsi ini langsung menampilkan semua item, kita mampu menggunakan fungsi list(). Untuk jelasnya perhatikan pola berikut:



# Output: range(0,10)
print(range(10))

# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(10))

# Output: [2, 3, 4, 5, 6, 7]
print(list(range(2,8))

# Output: [2, 5, 8, 11, 14, 17]
print(list(range(2, 20, 3))


Kita mampu menggunakan fungsi range() dalam perulangan menggunakan for untuk iterasi bilangan berurut. Hal ini dengan cara mengkombinasikan fungsi range() dengan fungsi len() . Fungsi len() berfungsi untuk menerima panjang atau jumlah elemen suatu data sekuensial atau berurut.





# Program untuk iterasi list menggunakan pengindeksan


mapel = ['matematika', 'fisika', 'kimia']


# iterasi list menggunakan indeks
for i in range(len(mapel)):
print("Saya suka", mapel[i])



Kalau kegiatan dijalankan, akibatnya akan jadi mirip berikut:



Saya suka matematika
Saya suka fisika
Saya suka kimia


Perulangan Menggunakan while



Perulangan menggunakan while akan menjalankan blok pernyataan terus menerus selama kondisi bernilai benar.



Adapun sintaks dari perulangan menggunakan while adalah:



while expression:
statement (s)


Di sini, statement (s) mampu terdiri dari satu baris atau satu blok pernyataan. Expression merupakan verbal atau kondisi apa saja, dan untuk nilai selain nol dianggap True. Iterasi akan terus berlanjut selama kondisi benar. Bila kondisi salah, maka kegiatan akan keluar dari while dan lanjut ke baris pernyataan di luar while.



Adapun diagram alir while yakni mirip gambar berikut:



Perulangan



 



Perhatikan bahwa bila kondisi yang diuji bernilai salah, maka loop tidak akan pernah dieksekusi.





count = 0
while (count < 5):
print('The count is:', count)
count = count + 1
print('Good bye!')


Bila kegiatan tersebut dijalankan, maka akibatnya mirip berikut:



The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
Good bye


Di sini, blok pernyataan print('The count is:', count), dijalankan terus selama count masih lebih kecil dari 5. Count ditambah 1 setiap kali iterasi. Pada saat nilai count mencapai 5, maka kondisi menjadi False dan kegiatan keluar dari looping while dan melanjutkan baris selanjutnya yaitu print("Good bye").



Infinite Loop



Sebuah kondisi dimana loop selalu benar dan tidak pernah salah disebut loop tidak terbatas (infinite loop). Terkadang hal ini menjadi masalah. Tapi sering juga infinite loop berguna, misalnya untuk kegiatan client/server dimana server perlu menjaga komunikasi tetap hidup dan tidak terputus.



Pada pola kegiatan while di atas, bila kita lupa menuliskan instruksi count = count + 1, maka akan jadi infinite loop. Hasilnya akan jadi mirip berikut:



The count is: 0
The count is: 0
The count is: 0
The count is: 0
The count is: 0
Traceback (most recent call last):
File "<pyshell#4>", line 2, in <module>
print('The count is:', count)
File "C:\Python34\lib\idlelib\PyShell.py", line 1344, in write
return self.shell.write(s, self.tags)
KeyboardInterrupt


Kita perlu menekan CTRL+C untuk menghentikan program.



Kendali Looping



Looping umumnya akan berhenti bila kondisi sudah bernilai salah. Akan tetapi, seringkali kita perlu keluar dari looping di tengah jalan tergantung keperluan. Hal ini mampu kita lakukan dengan menggunakan kata kunci break dan continue.



Statement break memaksa kegiatan keluar dari blok looping di tengah jalan. Sedangkan statement continue menyebabkan kegiatan langsung melanjut ke step / interval berikutnya dan mengabaikan (skip) baris instruksi di bawahnya (yang satu blok). Jelasnya perhatikan pola berikut:




# pola penggunaan statement break
for letter in "Programming":
if letter == "g":
break
print("Huruf sekarang:", letter)
print("Good bye")

Hasilnya yakni mirip berikut:



Huruf sekarang: P
Huruf sekarang: r
Huruf sekarang: o
Good bye


Bila pada kegiatan di atas kita ganti instruksi break menjadi continue, maka akibatnya akan jadi mirip berikut:



Huruf sekarang: P
Huruf sekarang: r
Huruf sekarang: o
Huruf sekarang: r
Huruf sekarang: a
Huruf sekarang: m
Huruf sekarang: m
Huruf sekarang: i
Huruf sekarang: n
Good bye


Perhatikan bahwa karakter g tidak pernah ditampilkan alasannya yaitu diabaikan alasannya yaitu instruksi continue.



while else



Python mendukung penggunaan else sebagai pasangan dari while. Blok pernyataan else hanya akan dieksekusi bila kondisi while bernilai salah.





count = 0
while (count < 5):
print(count, "kurang dari 5")
count = count + 1
else:
print(count, "tidak kurang dari 5")


Bila dijalankan kegiatan tersebut akan menghasilkan tampilan mirip berikut:



0 kurang dari 5
1 kurang dari 5
2 kurang dari 5
3 kurang dari 5
4 kurang dari 5
5 tidak kurang dari 5


 



Popular posts from this blog

Subitems Listview Berwarna Selang Seling

Source Code Aplikasi Tagihan Internet Memakai Php