Python
Dasar: Percabangan(If-Else dan Elif)
Kali kita
akan membahas tentang percabangan pada python
Apa itu Percabangan?
Percabangan
adalah proses untuk menentukan keputusan dalam suatu program
Percabangan Pada Python
Di python
statement percabangan yang biasa di pakai adalah:
1.
If
2.
Elif
3.
Else
If
merupakan kondisi utama, elif adalah kondisi kedua atau ketiga hingga
seterusnya dan else adalah kondisi terakhir
Blok If
If pada
python strukturnya seperti ini:
if kondisi
:
statement()
kondisi
adalah sebuah variable atau nilai yang
bertipe Boolean.Berupa nilai true/false secara langsung.Jika kondisi bernilai
true maka statement akan dieksekusi.
Contoh
kode program:
if True :
print(‘Kode
program ini akan dieksekusi’) #ini adalah identitas
if Fasle :
print(‘Kode
program tidak akan dieksekusi’)
print(‘Kode
program ini akan selalu dieksekusi karena tidak termasuk pada percabangan’)
Jika
dijalankan adakan seperti ini:
Kode
program ini akan dieksekusi
Kode
program ini akan selalu dieksekusi
Mengapa
demikian?karena kondisi kedua if bernilai false,sehingga statement yang ada di
kondisi kedua tidak akan pernah dieksekusi,dan print() yang ketiga bakal selalu
dieksekusi karena diluar dari if.
Selain
menggunakan Boolean kita bisa menggunakan ekspresi logika untuk percabangan.
Contoh :
if 5 >10: #salah
print(‘Nilai
5 lebih dari 10’)
if
10>5: #benar
print(‘Nilai
10 lebih dari lima’)
hasil dari
contoh di atas:
Nilai 10
lebih dari 5
Blok if..else
If else
bisa dinamakna percabangan karena punya 2 cabang:
1.
Cabang
if
2.
Cabang
else
Lihat
contoh ini:
nilai = 50
print(‘Nilai
anda adalah:’,nilai,’\n’)
if nilai
>= 70:
print(‘Selamat
anda lulus’)
else :
print(‘Maaf
anda tidak lulus’)
jika di
running:
Nilai anda
adalah: 50
Maaf anda
tidak lulus
Kita bisa
ubah angka 50 jadi inputan:
nilai =
int(input(‘Masukkan nilai anda:’))
Blok if..elif..else
Kita bisa
membuat lebih dari 2 cabang logika,di python unutk membuat lebih dari 2 cabang
kita bisa pakai blok kode if..elif..else.
Biar lebih
jelas kita coba praktekin.
Contoh
yang paling umum adalah mentukan grade nilai siswa.
Ini yang
akan kita gunakan:
1.
Predikat
A untuk nilai >=90
2.
Predikat
B untuk nilai >=80 < 90
3.
Predikat
C untuk nilai >= 60 < 80
4.
Predikat
D untuk nilai >=40 < 60
5.
Selain
itu,maka predikat E.
Dari 5
yang disebutkan tadi kita akan pakai 1 if,3 elif dan 1 else.
Contoh :
Kita akan
mencoba menjalankan dan memasukan angka 60:
Kenapa
pakai elif? Kan bisa pakai if aja?
Nah pasti
banyak yang bertanya saperti ini,sekarang kita coba ubah kode elif menjadi if
semua ya.
Ini
contohnya:
Dan ini
outputnya:
Nah kenapa
seperti itu,karena setiap kita buat if,itu artinya kita buat satu percabangan
saja
Oleh
karena itu, di kode program yang pertama, kita sejatinya hanya membuat satu pohon
percabangan, dan kondisi yang dieksekusi hanya 1, meskipun yang terpenuhi lebih
dari 1.
Berbeda
dengan contoh yang kedua, kita sedang membuat 4 buah pohon
percabangan,outputnya pun akan berbeda sesuai dengan banyaknya pohon
percabangan yang kita buat.
Operator-Operator Boolean
Pada
percabangan if..else,operator logika dan tipe data Boolean akan sering dipakai
Ini contoh
operator keanggotaan:
saya input
paku,dan ini outputnya:
Percabangan Satu Baris
Pada
python, kita bisa menggunakan if..else dalam satu baris. Biasanya,
pada bahasa pemrograman lainnya, ini disebut sebagai ternary (meskipun
python cukup unik dari segi sintaksisnya).
Perhatikan
contoh berikut:
nilai =
int(input('Masukkan nilai: '))
status =
'lulus' if nilai >= 70 else 'tidak lulus'
print(status)
Kode
program di atas adalah shortcut dari kode seperti di bawah:
if nilai >= 70:
status = 'lulus'
else:
status = 'tidak lulus'
print(status)
Percabangan Bertingkat
Percabangan
bertingkat adalah sebuah istilah untuk if di dalam if.
Silakan
coba dan jalankan kode program di bawah ini:
nilai =
int(input('Masukkan nilai: '))
usia =
int(input('Masukkan usia: '))
if nilai >= 75:
if (usia < 15):
print('Selamat adek, kamu lulus!')
else:
print('Selamat kakak, kamu lulus!')
else:
if (usia < 15):
print('Mohon maaf dek, coba lagi
ya!')
else:
print('Mohon maaf kak, coba lagi
ya!')
Kode
program di atas akan memeriksa terlebih dahulu apakah nilai yang
dimasukkan adalah lulus atau tidak. Setelah itu, program akan meriksa usia,
apakah dia akan disapa dengan kaka atau kah dengan adek.
sekian
penjelasan dari kita tentang percabangan if..elif..else
Apa
Itu Perulangan While Pada Python?
Perulangan while pada python adalah
proses pengulangan suatu blok kode program selama sebuah kondisi
terpenuhi.
perulangan while adalah perulangan
yang bersifat indefinite (tidak pasti),
atau bahkan tidak terbatas.
Sebuah blok kode akan dilakukan terus
menerus selama suatu kondisi terpenuhi. Saat suatu kondisi tidak terpenuhi pada
iterasi ke 10, maka itu perulangan akan berhenti. Kondisi yang sama pada saat
yang berbeda maka pada iterasi ke 100 akan berhanti, maka perulangan akan
begernti pada jumlah tersebut.
Penulisan Sintaks While
Contoh :
While <kondisi> :
#blok kode yang akan di ulang-ulang
Terdapat 3 komponen utama:
1. Keyword while, ini harus di isi
2. <kondisi> ini berupa variabel
boolean/ekspresi logika.
3. Blok (kumpulan baris) kode yang diulang-ulang saat kondisi
terpenuhi
Perulangan tanpa batas
Perulangan while sangat berkaitan dengan
variabel boolean. Saat penenuan kapan suatu blok kode akan di ulang-ulang di
tinjau dari True or False dari pernyataan logika.
Sehingga suatu kondisi itu selalu benar,
maka yang terjadi perulangannya akan selalu di jalankan.
Contoh :
while (1 + 2 == 3):
print('Selamat pagi')
Jika di run maka akan mencetak
berkali-kali tanpa henti.
Maka hasil nya seperti ini :
Jika mau memberhentikan nya dengan
menekan tombol Ctr+c atau menekan tombol stop jika menggunakan IDE atau
sejenisnya.
Kenapa perulangan di atas di jalankan
terus menerus ?
Karena kita memperintahkan komputer
dengan rumus 1 + 2 = 3 maka akan berjalan terus.
Perulangan while seperti for + range
Cara agar memberhentikan perulangan
while yaitu di buat kondisinya bersifat dinamis (alias berubah-ubah).
Sebagai contoh kita akan menampilkan
angka 1 sampai angka 10 dengan menggunakan perulangan while.
i = 1
while i <= 10:
print(i)
i += 1
Hasil nya seperti berikut :
Penjelasannya :
1. Melakukan perulangan selama variabel “i” kurang dari atau
sama dengan 10
2. Setiap kali iterasi, system akan menampilkan nilai dari i
3. Pada setiap iterasi, system akan menambahkan nilai i dengan
angka 1
Bisa juga di modifikasi kode program di
atas misalkan untuk :
-
Menampilkan bilangan prima
dari 1 sampai 100
-
Menampilkan angka kelipatan
4 dari 1 sampai 100
-
Menampilkan angka ganjil
dari 1 sampai 27
-
Dan lainnya
Perulangan pada while untuk list
Untuk menampilkan semua item pada list
cara yang paling simple adalah menggunakan metode for.
Meskipun begitu, tetap bisa menggunakan
perulangan while dengan list
Contoh :
listnama = ['Azis','kelvin','gilang','rizki','jerico','nopal','topik']
#bermain index
i = 0
while i < len(listnama):
print(listnama[i])
i += 1
Hasil nya seperti ini :
Bisa juga menggunakan fungsi list.pop(
). Contoh :
listnama = ['Azis','kelvin','gilang','rizki','jerico','nopal','topik']
#bermain pop
while listnama:
print(listnama.pop(0))
Hasil jika di jalankan :
Hasil nya pun sama dengan cara yang
pertama.
Perulangan while dengan inputan
Bisa juga menggunakan while dengan
inputan
Sebagai contoh :
a = int(input('Masukan bilangan ganjil lebih dari 10:'))
while a % 2 != 1 or a <= 10:
a = int(input('Salah, Coba Lagi: '))
print('Benar')
Hasil output :
Perulangan while dengan continue
Sama dengan perulangan for, juga bisa menggunakan
perintah continue pada perulangan while.
Perintah continue berfungsi untuk
men-skip iterasi sekarang ke iterasi selanjutnya.
Contoh :
listnama = [
'jerico', 'kelvin', 'gilang', 'rizki'
]
# skip jika i adalah bilangan genap
# dan i lebih dari 0
i = -1
while i < len(listnama):
i += 1
if i % 2 == 0 and i > 0:
print('skip')
continue
# tidak dieksekusi ketika continue dipanggil
print(listnama[i])
Contoh output :
ketika i-nya adalah bilangan genap yang lebih dari
satu, perintah print(listKota[i]) tidak dieksekusi dan justru di-skip.
Perulangan
while dengan break
bisa menggunakan perintah break pada perulangan
while.
Perintah break itu mirip dengan perintah
continue.
Perbedaanya saat perintah break di panggil, maka
perulangan akan di berhenti secara paksa
Contoh :
listNama = [
'kelvin', 'Gilang', 'Rizki', 'Azis', 'Jerico',
]
namaYangDicari = input('Masukan nama yang di cari: ')
i = 0
while i < len(listNama):
if listNama[i].lower() == namaYangDicari.lower():
print('Ketemu di index', i)
break
print('Bukan', listNama[i])
i += 1
Contoh output :
while … else
Sama seperti for, ini juga bisa menggunakan
blok kode else pada perulangan while.
Tugasnya pun sama: yaitu untuk mendefinisikan
suatu tugas yang akan dieksekusi ketika perulangan telah selesai secara
natural tanpa dihentikan secara paksa.
Kita coba ubah program pencarian nama di atas
dengan menambahkan blok kode else.
Contoh :
listNama = [
'kelvin', 'Gilang', 'Rizki', 'Azis', 'Jerico',
]
namaYangDicari = input('Masukan nama yang di cari: ')
i = 0
while i < len(listNama):
if listNama[i].lower() == namaYangDicari.lower():
print('Ketemu di index', i)
break
print('Bukan', listNama[i])
i += 1
else:
print('Maaf, nama yang di cari tidak di temukan')
Perintah yang ada di blok
kode else tidak dieksekusi oleh sistem. Karena perulangannya
diberhentikan secara paksa dengan perintah break, bukan karena berhenti
secara natural.
Menggunakan for dan while untuk menyelesaikan
kasus-kasus. Banyak sekali kasus yang bisa di selesaikan dengan for dan while.
Berikut penjelasannya :
1. menggunakan for untuk kasus-kasus yang
berkaitan dengan data sequence pada python, atau untuk kasus
yang sudah jelas jumlah perulangannya berapa.
2. menggunakan while jika memang perulangannya
tidak jelas akan dilakukan berapa banyak.
PYTHON DASAR: MEMPELAJARI PERULANGAN FOR
PERULANGAN
Perulangan
dalam pemrograman merupakan baris kode atau instruksi yang dieksekusi oleh
computer secara berulang-ulang sampai suatu kondisi tertentu terpenuhi.
Perbedaan
percabangan phyton dengan perulangan yaitu:
· Percabangan
hanya memenuhi kondisi tertentu hanya diekskusi satu kali.
· Perlungan
dilakukan secara berulang-ulang selama kondisi tertentu terpenuhi.
PERULANGAN FOR
Perulangan
for pada phyton merupakan perintah
yang digunakan untuk melakukan iterasi dari sebuah nilai sequence. Berikut 3 bagian penting yang harus diperhatikan pada
perulangan for:
1.
Sequence
Sebuah
nilai yang bersifat iterable yang
bisa diulang-ulang.
2.
Nilai
Setiap
item yang diekstrak dari sequence
3.
Blok
Kode
Statemen
- statemen tertentu yang akan dieksekusi secara berulang.
Berikut
tipe data yang bersifat sequence atau
iterable:
1.1 LIST
Untuk
mengetahui urutan iterasi for dengan list, dapat menggunakan fungsi
enumerate.
Fungsi dapat mengesktrak
2 buah nilai:
a. Pertama
adalah index: yaitu urutan iterasi yang ke berapa.
b. Item
adalah nilai dari list itu sendiri.
Berikut
contoh:
listKota = [
'Jakarta', 'Bekasi', 'Solo', 'Bali'
]
for a, kota in enumerate(listKota):
print(a, kota)
Hanya nenambahkan fungsi enumerate()
dan memindahkan variabel listKota sebagai parameter. Mengekstrak dua buat nilai
yang sudah dinamai yaitu a dan kota.
Berikut hasil output yang didapatkan:
0 Jakarta
1 Bekasi
2 Solo
3 Bali
Urutan dimulai dari 0 bukan 1.
1.2 FUNGSI
RANGE ()
Berikut contoh
penggunaan for dengan fungsi range ():
for b in range(3):
print("Perulangan ke -", b)
Output :
Perulangan ke - 0
Perulangan ke - 1
Perulangan ke - 2
Dengan fungsi range yang telah dilakukan bahwa hasil perulangan yang didapatkan adalah
0 sampai 2.
Berikut contoh fungsi range mulai dari angka yang diinginkan:
# 7 sampai 9
for c in range(7, 10):
print('c =', c)
Output yang dihasilkan:
c = 7
c = 8
c = 9
Berikut contoh fungsi range dengan menggunakan kelipatan:
# Bilangan genap kelipatan 2
for d in range(2, 8, 2):
print('d =', d)
Output yang dihasilkan:
d = 2
d = 4
d = 6
Pada contoh tersebut bahwa sistem
melakukan perulangan dimulai dari angka 2, hingga kurang dari 8 dengan
interval/kelipatan sebanyak 2. Apabila ingin melakukan kelipatan yang lain
hanya tentukan angka depan yaitu angka yang ingin dimulai, angka tengah
merupakan jumlah yang ingin dituju diusahakan angka yang dituju harus lebih
besar dari angka yang dituliskan serta angka terakhir itu merupakan besarnya kelipatan
yang diinginkan.
1.3 FOR
DENGAN TUPLE
Berikut contoh perulangan for dengan tuple:
tupleBuah = ('Mangga', 'Jeruk', 'Apel')
for buah in tupleBuah:
print(buah)
Output yang dihasilkan:
Mangga
Jeruk
Apel
1.4 FOR
DENGAN STRING
Berikut contoh for dengan string:
for string in "HAI":
print(string)
Output yang dihasilkan:
H
A
I
BREAK & CONTINUE
Pada phyton dapat menginterupsi dan
men-skip suatu iterasi pada perulangan. Terdapat 2 perintah yang dapat
digunakan, yaitu:
·
Break untuk interupsi (memberhentikan paksa) sebuah perulangan.
·
Continue untuk menskip ke iterasi selanjutnya.
Berikut contoh penggunaan continue:
for e in range(8, 11):
# skip jika e == 9
if (e == 9):
continue
print(e)
Output yang dihasilkan :
8
10 <-- Habis 8 langsung 10
Pada output yang dihasilkan pada saat e == 9,
perintah tidak dieksekusi dan justru di-skip ke iterasi berikutnya.
Berikut contoh break:
for f in range(1, 10):
# Hentikan jika f == 3
if (f == 3):
break
print(f)
Output yang dihasilkan:
1
2
3 <-- print terakhir
sebelum terjadi break pada f == 3
Pada
hasil output yang didapatkan sistem
berhenti melakukan perulangan ketika f == 3 dan belum sempat print.
FOR … ELSE?
Penggunaan
ini hampir mirip dengan if … else. Perbedaan perulangan for jika ditambah blok else,
maka perintah yang ada blok else
hanya akan dieksekusi ketika perulangan selesai secara natural – tanpa
interupsi.
Berikut contoh :
listnegara = ['Indonesia', 'Inggris', 'Jepang']
for negara in listnegara:
print(negara)
else:
print('Tidak ada yang tersisa')
Output yang dihasilkan bila
dijalankan:
Indonesia
Inggris
Jepang
Tidak ada yang tersisa
FOR … ELSE + BREAK
Jika
gabungkan for … else dengan break, maka
blok else hanya akan dieksekusi jika
perintah break tidak dieksekusi. Memanfaatkan for … else + break untuk pencarian sebuah item pada list.
Berikut contoh:
listwarna = ['Merah', 'Hitam', 'Biru']
warnacari = input('warna yang dicari: ')
for g, warna in enumerate(listwarna):
# ubah katanya ke lowercase agar
# menjadi case insensitive
if warna.lower() == warnacari.lower():
print('Warna yang dicari pada indeks', g)
break
else:
print('Maaf, warna yang dicari tidak ada')
Program
di atas akan meminta user untuk
menginputkan warna yang ingin dicari. Jika warnanya maka akan kita kasih info
indeksnya berapa (dalam listwarna), dan jika tidak ada maka perintah print ()
yang ada diblok else akan dieksekusi.
Output yang dihasilkan bila dimasukkan
kata merah:
Warna yang dicari: merah
Warna yang dicari berada
pada indeks 1
Contoh program yang memudahkan konsumen
“TOKO BUKU NOVA” dalam mencari buku yang diinginkan dapat ditunjukan letak
rak-rak tersebut
NO
|
JENIS RAK
|
0
|
Pelajaran
|
1
|
Komik
|
2
|
Majalah
|
3
|
Novel
|
Berikut Programnya:
print(' SELAMAT DATANG DI ')
print(' TOKO BUKU NOVA ')
listrak = ['Pelajaran','Komik','Majalah','Novel'] # daftar rak yang ada
BCari = input('Buku yang dicari: ') # untuk menginputkan item
# Proses penentuan dan peletakkan rak
for BC, buku in enumerate(listrak):
if buku.lower() == BCari.lower():
print('Buku yang dicari pada rak - ',BC)
break
else:
print('Maaf belum tersedia')
OUTPUT ketika dirun dengan menginputkan
komik
PERULANGAN
BERSARANG / BERTINGKAT.
Perulangan bersarang / perulangan bertingkat adalah sebuah yang berada /
terletak di dalam perulangan yang lain.
ALUR
DASAR
Contoh :
for i in range(3) :
print(‘Perulangan luar
[i] = ‘, i)
for j in range(5) :
print(‘Perulangan
dalam[i, j] =, str(i) + ‘, ‘ + str(j))
Output yang terjadi :
Perulangan luar [i] = 0
Perulangan dalam [i, j]
= 0,0
Perulangan dalam [i, j]
= 0,1
Perulangan dalam [i, j]
= 0,2
Perulangan dalam [i, j]
= 0,3
Perulangan dalam [i, j]
= 0,4
Perulangan luar [i] = 1
Perulangan dalam [i, j]
= 1,0
Perulangan dalam [i, j]
= 1,1
Perulangan dalam [i, j]
= 1,2
Perulangan dalam [i, j]
= 1,3
Perulangan dalam [i, j]
= 1,4
Perulangan dalam [i] = 2
Perulangan dalam [i, j]
= 2,0
Perulangan dalam [i, j]
= 2,1
Perulangan dalam [i, j]
= 2,2
Perulangan dalam [i, j]
= 2,3
Perulangan dalam [i, j]
= 2,4
Sehingga total iterasi seluruhnya yaitu 15
MENGGUNAKAN
WHILE
Kita juga bisa menggunakan perulangan while, berikut contohnya.
list kota = [
‘Bandung’, ‘Depok’,
‘Surakarta’
]
For kota in listKota:
print(kota)
listTempat = [
‘Masjid’, ‘Klenteng’,
‘Pura’
]
while listTempat :
print(-->,
listTempat, pop(0))
Output yang terjadi :
Bandung
> Masjid
> Klenteng
> Pura
Depok
> Masjid
> Klenteng
> Pura
Surakarta
> Masjid
> Klenteng
> Pura