Condition#

Operator Relasional#

Suatu ekspresi dengan operator relasional mengembalikan nilai Boolean: True atau False.

print("2 < 3: ", 2 < 3) 
print("4 <= 1: ", 4 <= 1)
2 < 3:  True
4 <= 1:  False
#----- 0/0.0/None/empty-struct diperlakukan sebagai False
a = 0
b = 0.0
c = ''
d = []
e = None
print("0 (integer): ", bool(a))
print("0.0 (float): ", bool(b))
print("'' (empty str): ", bool(c)) 
print("[] (empty list): ", bool(d))
print("None: ", bool(e))
0 (integer):  False
0.0 (float):  False
'' (empty str):  False
[] (empty list):  False
None:  False
#----- Selain itu dianggap True
a = 3
b = "hello"
print("3: ", bool(a))
print("'hello': ", bool(b))
3:  True
'hello':  True

Condition and If statements#

Python mendukung kondisi logis yang terdapat di matematika

Sama dengan: a == b Tidak Sama dengan: a != b Kurang dari: a < b Kurang dari atau sama dengan: a <= b Lebih besar dari: a > b Lebih besar dari atau sama dengan: a >= b

If statement#

Ekspresi yang memberikan suatu nilai Boolean (True atau False). Pernyataan di dalamnya yang cocok dengan ekspresi harus diinden dengan jarak yang sama, dan pastikan menggunakan tanda titik dua di ujung ekspresi. if ekspresi: pernyataan_jika_cocok else: penyataan_jika_tak_cocok

x=5
y=10
if x > y:
    print("x is: ", x)
    print("y is: ", y)
    print("x lebih besar dari y")
else:
    print("x is: ", x)
    print("y is: ", y)
    print("x lebih kecil dari y")
x is:  5
y is:  10
x lebih kecil dari y

Logical Operators#

Ada tiga logical operators: and, or, not

lebar=5
panjang=20
if lebar < 10 and panjang <= 20:
    print("area kecil")

score=40
if score < 50 or score > 100:
    print("Skor tidak valid: ", score)
area kecil
Skor tidak valid:  40

if-elif-else#

if ekspresi: pernyataan_jika_cocok elif ekspresi2: pernyataan2_jika_cocok elif ekspresi3: pernyataan3_jika_cocok else: penyataan_jika_tak_ada_yg_cocok

num = 3
if num == 1:
    print("Memilih angka satu")
elif num == 2:
    print("Memilih angka dua")
elif num == 3:
    print("Memilih angka tiga")
else:
    print("Invalid course number.")
Memilih angka tiga

While Loops#

while loop merupakan struktur perulangan yang umum. Dengan while loop kita dapat mengeksekusi satu pernyataan selama kondisinya benar.

k = 0
while k < 10:
    print("k: ", k)
    k = k + 1
k:  0
k:  1
k:  2
k:  3
k:  4
k:  5
k:  6
k:  7
k:  8
k:  9

The break Statement#

Dengan pernyataan break kita dapat menghentikan perulangan meskipun kondisi while benar:

i = 1
while i < 5:
  print(i)
  if i == 4:
    break
  i += 1
1
2
3
4

The continue Statement#

Dengan pernyataan continue kita dapat menghentikan iterasi saat ini, dan melanjutkan dengan iterasi berikutnya:

f = 0
while f < 5:
  f += 1
  if f == 2:
    continue
  print(f)
1
3
4
5

The else Statement#

Dengan pernyataan else kita dapat menjalankan blok kode satu kali ketika kondisi tidak lagi benar:

g = 1
while g < 5:
    print (g)
    g = g + 1
else:
    print("else: g =", g)
1
2
3
4
else: g = 5

for loops#

Suatu for loop bergerak melalui grup item seperti string, list, tuple, dll. Dapat menggunakan fungsi range yang mengembalikan suatu deretan angka (integer).

print("loop menggunakan fungsi range")
for k in range(0, 11):
    print("k: ", k)

print("loop string")
p = "123ash"
for c in p:
    print(c)
loop menggunakan fungsi range
k:  0
k:  1
k:  2
k:  3
k:  4
k:  5
k:  6
k:  7
k:  8
k:  9
k:  10
loop string
1
2
3
a
s
h

Range Function#

Fungsi range membutuhkan 3 argumen: range(start, end, step) • start: jika dihilangkan, nilai defaultnya adalah 0. • end: harus disediakan. Jika hanya satu argumen yang diberikan, itu adalah nilai ‘akhir’: range(end). • step: jika dihilangkan, nilai defaultnya adalah 1: range(start,end).

demo = range(5)
for i in demo:
    print(i, end='|') # 0|1|2|3|4|
print('\n')
demo = range(1, 5)
for i in demo:
    print(i, end='|') # 1|2|3|4|
print('\n')
demo2 = range(1, 10, 2)
for i in demo2:
    print(i, end='|') # 4|6|8|
0|1|2|3|4|

1|2|3|4|

1|3|5|7|9|

Nested for loops (Loop bersarang)#

nRows = 6
nCols = 6
print("---------------------")
for i in range(1, nRows):
    for j in range(1, nCols):
        product = i * j
        print(product, end=' ')
    print()
print("---------------------")
---------------------
1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25 
---------------------

Output format#

nRows = 6
nCols = 6
print("---------------------")
for i in range(1, nRows):
    for j in range(1, nCols):
        product = i * j
        print('{0:5}'.format(product), end='') #'{0:4}'.format(string) - dengan 4 spasi
    print()
print("---------------------")
print("Floating point {0:10.3f}".format(3.14))
print("Floating point {0}".format(3.14))
---------------------
    1    2    3    4    5
    2    4    6    8   10
    3    6    9   12   15
    4    8   12   16   20
    5   10   15   20   25
---------------------
Floating point      3.140
Floating point 3.14