Perulangan

13 views
Perulangan,5 / 5 ( 1votes )

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

Pada gambar sanggup dilihat bahwa perulangan juga memerlukan tes kondisi. Bila hasil tes kondisi True, maka blok arahan kembali dieksekusi. Tapi kalau False, maka keluar dari perulangan.

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

  1. Menggunakan for
  2. Menggunakan while

Perulangan Dengan Menggunakan For

Perulangan dengan memakai for mempunyai sintaks ibarat berikut:

for var in sequence:
body of for

var yakni variabel yang dipakai untuk penampung sementara nilai dari sequence pada dikala terjadi perulangan. Sequence yakni tipe data berurut ibarat string, list, dan tuple.

Perulangan terjadi hingga looping mencapai elemen atau anggota terakhir dari sequence. Bila loop sudah hingga ke elemen terakhir dari sequence, maka jadwal 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 jadwal tersebut kita jalankan, maka alhasil yakni ibarat berikut:

Jumlah semuanya: 46

Fungsi range()

Fungsi range() sanggup dipakai untuk menghasilkan deret bilangan. range(10) akan menghasilkan bilangan dari 0 hingga dengan 9 (10 bilangan).

Kita juga sanggup memilih 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 menciptakan fungsi ini eksklusif menampilkan semua item, kita sanggup memakai 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 sanggup memakai fungsi range() dalam perulangan memakai for untuk iterasi bilangan berurut. Hal ini dengan cara mengkombinasikan fungsi range() dengan fungsi len() . Fungsi len() berfungsi untuk mendapat panjang atau jumlah elemen suatu data sekuensial atau berurut.


# Program untuk iterasi list memakai pengindeksan

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

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

Kalau jadwal dijalankan, alhasil akan jadi ibarat berikut:

Saya suka matematika
Saya suka fisika
Saya suka kimia

Perulangan Menggunakan while

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

Adapun sintaks dari perulangan memakai while adalah:

while expression:
statement (s)

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

Adapun diagram alir while yakni ibarat gambar berikut:

 

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 jadwal tersebut dijalankan, maka alhasil ibarat 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 dikala nilai count mencapai 5, maka kondisi menjadi False dan jadwal 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, contohnya untuk jadwal client/server dimana server perlu menjaga komunikasi tetap hidup dan tidak terputus.

Pada pola jadwal while di atas, bila kita lupa menuliskan arahan count = count + 1, maka akan jadi infinite loop. Hasilnya akan jadi ibarat 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 sanggup kita lakukan dengan memakai kata kunci break dan continue.

Statement break memaksa jadwal keluar dari blok looping di tengah jalan. Sedangkan statement continue menjadikan jadwal eksklusif melanjut ke step / interval berikutnya dan mengabaikan (skip) baris arahan 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 ibarat berikut:

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

Bila pada jadwal di atas kita ganti arahan break menjadi continue, maka alhasil akan jadi ibarat 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 abjad g tidak pernah ditampilkan sebab diabaikan sebab arahan continue.

while else

Python mendukung penggunaan else sebagai pasangan dari while. Blok pernyataan else hanya akan dihukum 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 jadwal tersebut akan menghasilkan tampilan ibarat 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

 

Author: 
    author
    No related post!