A. PENDAHULUAN
1. Deskripsi singkat
Pada minggu ini dipelajari beberapa pernyataan kontrol pada Python yang
digunakan untuk operasi pengujian dan pengulangan (looping). Beberapa
pernyataan pengujian yang akan dipelajari meliputi: pernyataan if, if... else..., if...
elif..., dan nested-if. Sedangkan beberapa pernyataan pengulangan yang akan
dipelajari meliputi: pernyataan while, for, nested-for, break, dan continue.
Semua pernyataan kontrol tersebut disertai penggunaannya dalam suatu ekspresi
atau ungkapan yang selanjutnya disusun untuk menjadi sebuah skrip program.
2. Learning Outcomes
Kognitif:
Menjelaskan dan menunjukkan prosedur penggunaan pernyataan kontrol baik
berupa pengujian dan pengulangan/berkalang (looping) dalam sebuah program,
serta dapat mengidentifikasi kesalahan yang terjadi.
Afektif:
Dapat bekerja dalam sebuah kelompok, dan mendiskusikan hasil kerjanya, serta
berpikir logis.
B. PENYAJIAN
1. Apa Pernyataan Kontrol itu?
Ada kalanya pernyataan-pernyataan yang terdapat di dalam sebuah
program tidak harus dieksekusi secara urut dari atas ke bawah (sequential).
Sering kali sebuah atau beberapa pernyataan dieksekusi secara berulang-ulang.
Ada juga sebuah pernyataan baru akan dieksekusi jika hasil pengujian terhadap
pernyataan sebelumnya bernilai benar, tetapi jika salah maka pernyataan tersebut
tidak akan dieksekusi. Bahkan ada pula beberapa pernyataan yang tidak
dieksekusi sama sekali karena adanya suatu pernyataan yang diminta untuk
meloncati beberapa pernyataan tersebut. Semua hal tersebut, di dalam bahasa
pemrograman dikenal dengan istilah pernyataan kontrol atau kendali yang meliputi
pernyataan pengujian dan pengulangan.
kurawal { dan }.
3. Pernyataan Pengujian
Pernyataan pengujian digunakan untuk melakukan pengetesan terhadap
suatu kondisi yang akan menghasilkan dua buah kemungkinan, yaitu kondisi yang
dites bernilai benar atau salah. Keduanya akan menentukan pernyataan-
pernyataan mana yang akan dipilih untuk dieksekusi. Oleh karena itu terdapat
kemungkinan adanya beberapa pernyataan yang tidak akan dieksekusi. Untuk
melakukan proses pengujian terhadap suatu kondisi, dapat melibatkan operator
perbandingan (==, !=, <, <=, >, >=) atapun operator logika (and, or, not) yang telah
dijelaskan pada Minggu ke 3.
a. Pernyataan if
Syntax pernyataan if adalah:
if kondisi:
pernyataan
kondisi menyatakan pembandingan
antara 2 variabel atau salah satu salah
kondisi
dapat berupa konstanta, dimana
A > 20
operator perbandingan atau logika
?
digunakan
pernyataan dapat berupa sebuah
pernyataan ataupun beberapa
pernyataan dalam blok, yang akan benar
dijalankan jika kondisi yang dites
bernilai benar pernyataan
mis: cetak A
Ilustrasi pernyataan if dapat dilihat
pada Gambar 1, dan Program 1.1
menunjukkan penggunaan
pernyataan if tersebut.
print("\nProgram selesai")
Akhir Program
pernyataan1 pernyataan2
Kemungkinan 3:
if kondisi:
pernyataan11
pernyataan12
...
else:
pernyataan2
Kemungkinan 4:
if kondisi:
pernyataan11
pernyataan12
...
else:
pernyataan21;
pernyataan22;
...
print("\nProgram selesai")
Akhir Program
Akhir Program
x = float(input("Nilai x = "))
y = float(input("Nilai y = "))
print("\nProgram selesai")
Akhir Program
Gambar 4 memperlihatkan
diagram alir pernyataan if
bersarang sesuai syntax
yang diberikan. salah
kondisi1
?
benar
salah
kondisi2
?
benar
pernyataan
mis: cetak A
if angka % 2 == 0: # kondisi_1
if angka % 3 == 0: # kondisi_2
print('\nBilangan yang anda masukkan', angka,\
'merupakan bilangan kelipatan 2 dan 3')
print("\nProgram selesai")
Akhir Program
salah
kondisi1 pernyataan6
?
benar
pernyataan1
salah
kondisi2 pernyataan3
?
benar
salah
pernyataan2 kondisi3 pernyataan5
?
benar
pernyataan4
print("\nProgram selesai")
Akhir Program
''' Contoh skrip program penulisan if... else... dalam satu baris '''
Akhir Program
4. Pernyataan Pengulangan
Sesuai namanya, pernyataan pengulangan (berkalang/loop) dimaksudkan
untuk menjalankan sebuah atau beberapa pernyataan beberapa kali sebanyak
yang diinginkan oleh program.
a. Pernyataan while
Syntax-nya adalah:
while kondisi:
pernyataan
Bagian pernyataan dapat juga berupa beberapa pernyataan dalam blok
(ditulis dalam indentasi), sehingga syntax-nya menjadi:
while kondisi:
pernyataan1
pernyataan2
...
pernyataanN
Bagian pernyataan akan dieksekusi secara berulang, selama kondisi
pada while bernilai benar (true). Mengingat pengujian terhadap kondisi
pada while dilakukan sebelum bagian pernyataan, maka ada kemungkinan
bagian pernyataan pada while tidak akan dijalankan sama sekali, yaitu jika
kondisi yang dites bernilai salah. Ilustrasi pernyataan while dapat dilihat
pada Gambar 6.
salah
kondisi ?
benar
pernyataan
akhir while
print("\nProgram selesai")
Akhir Program
Akhir Program
b. Pernyataan for
Berbeda dengan mayoritas bahasa pemrograman lain seperti C++, di
dalam Python pernyataan pengulangan for lebih banyak digunakan ke
perulangan untuk memproses tipe data array (himpunan), seperti string,
list, tuple, set dan dictionary. Hal ini secara khusus akan dipelajari pada
saat pembahasan tentang array. Namun Python juga menyediakan fungsi
range() untuk menghasilkan suatu deret bilangan yang berfungsi sebagai
urutan (sequence) dalam pernyataan for. Bentuk syntax for dengan
range():
for nama_variabel in range(.....):
pernyataan
Bagian pernyataan dapat juga terdiri atas beberapa pernyataan, sehingga
syntax-nya menjadi:
for nama_variabel in range(.....):
pernyataan_1
pernyataan_2
.......
pernyataan_N
Contoh:
for i in range(5): pencacah i akan berjalan mulai
dari 0 sampai 4 dengan kenaikan
1. Artinya pernyataan dalam
kalang akan dikerjakan sebanyak
5 kali
for j in range(5, 10): pencacah j akan berjalan mulai
dari 5 sampai 9 dengan kenaikan
1. Jadi pencacah j akan bernilai
mulai dari 5, 6, 7, 8, dan 9
for k in range(3, 10, 3): pencacah k akan berjalan mulai
dari 3 sampai 9 dengan kenaikan
3. Jadi pencacah k akan bernilai
mulai dari 3, 6, dan 9
for n in range(10, 0, -2): pencacah n akan berjalan mulai
dari 10, 8, 6, dan seterusnya
sampai 2
print("\nProgram selesai")
Akhir Program
Akhir Program
Akhir Program
i = 1
while i < 4:
print("Untuk i =", i, " --> kalang luar")
j = 1
while j < 3:
print(" maka j =", j, " --> kalang dalam")
j += 1
# akhir kalang dalam j
print("-" * 32)
i += 1
# akhir kalang luar i
Akhir Program
d. Pernyataan break
Pernyataan break digunakan untuk loncat keluar dari proses berulang
(looping) yang telah dinyatakan pada pernyataan while dan for. Aturan
terkait dengan eksekusi loncat ke dalam ataupun keluar dari kalang dapat
dilihat pada Gambar 8.
Pernyataan masuk
Pernyataan
keluar
Eksekusi loncat ke
Eksekusi loncat keluar
dalam kalang tidak
dari kalang diperbolehkan
diperbolehkan
masuk kalang
for var in sequence:
……...
kondisi salah ………
kalang ? if kondisi:
break
………
benar ………
# akhir for
benar
break ? print(“Selesai”)
salah
sisa pernyataan
dalam kalang keluar kalang
Perhatikan Program 4.7 dan Program 4.8 berikut ini, yang menunjukkan
pemakaian pernyataan break pada pernyataan while dan for. Apakah hasil
keluaran (output) kedua program tersebut sama? Jelaskan!
''' Contoh skrip program efek break pada pernyataan while '''
i = 1 # mula-mula diisi 1
Akhir Program
''' Contoh skrip program efek break pada pernyataan for '''
Akhir Program
Jika pada Program 4.8 di atas, pernyataan di bawah pernyataan for diganti
menjadi:
for i in range(1, 10):
if i > 5:
break
print("i =", i, "--> Selamat Belajar Python")
apakah output-nya masih sama dengan output Program 4.8? Jelaskan
kenapa!
e. Pernyataan continue
Python juga menyediakan pernyataan continue yang berfungsi untuk
menghentikan proses perulangan ketika ada kondisi tertentu yang telah
dipenuhi dan eksekusi dilanjutkan ke urutan berikutnya pada pernyataan
for atau kembali ke pengujian kondisi pada pernyataan while.
Gambar 10 memperlihatkan diagram alir pernyataan continue dan
ilustrasi pernyataan continue yang dijalankan pada pernyataan for dan
while.
Perhatikan Program 4.9 dan Program 4.10 berikut yang menunjukkan
pemakaian pernyataan continue pada pernyataan while dan for. Apakah
hasil keluaran (output) kedua program tersebut sama? Jelaskan!
masuk kalang
for var in sequence:
……...
………
kondisi salah if kondisi:
kalang ? continue
………
………
benar # akhir for
print(“Selesai”)
benar
continue
?
print(“Selesai”)
''' Contoh skrip program efek continue pada pernyataan while '''
i = 0
Akhir Program
''' Contoh skrip program efek continue pada pernyataan for '''
Akhir Program
5. Aktivitas
Ada tiga jenis aktivitas yang dikerjakan mahasiswa terkait dengan materi
yang diberikan pada minggu ke 4 & 5 ini, yaitu:
a. Klasikal, yang meliputi:
Diskusi kelompok
Mengerjakan tugas
b. Membuat dan menjalankan skrip-skrip program di atas dengan terlebih
dulu mencoba mengetahui hasil keluaran dari setiap skrip (tanpa
menjalankan skrip).
c. Praktikum di Lab. Komputer dengan materi pada modul praktek
d. Mengakses beberapa website terkait dengan materi minggu ini, seperti
w3schools.com/python/, w3resource.com/python dan lain sebagainya.
C. PENUTUP
Tes Formatif
1. Bolehkan penulisan pernyataan for seperti berikut ini? Jelaskan!
for _ in range(0, 5):
print('a', end = ' ')
Apa hasil keluarannya?
2. Diberikan sebuah skrip program Python 3 sebagai berikut:
line statement
1 # Contoh soal mencermati kesalahan pada skrip program
2
3 p, q, n = 4, 5, 2
4 r = p * q
5 if r = 20:
6 p, q = 10, 20
7 if p < 5:
8 p = q
9 else
10 p = r
11 for a in range(1, 4)
12 n =+ a # identik dengan n = n + a
13 n = n + 3
14 b = n % 6 if p == q else q ** 2
15 print(p, q, p + q, b)
16 print("N = " + n)
20 20 40 5
N = 17
3. 16 32
4. 16 128
5. 6 8 10 13 14 15 15 17
Daftar Pustaka
1. Hetland, M., L., 2008, Beginning Python: From Novice to Prefessional,
Second Edition, Apress.
2. Hunt, J., 2019, A Beginners Guide to Python 3 Programming, Springer
Nature Switzerland.
3. Kadir, A., 2018, Dasar Pemrograman Python 3 – Panduan untuk
Mempelajari Python dengan Cepat dan Mudah bagi Pemula, Penerbit
Andi, Yogyakarta.
4. https://docs.python.org/3/tutorial/controlflow.html
5. https://www.w3resource.com/python
6. https://www.w3schools.com/python