Tugas Pertemuan 3:Percabangan dan Perulangan pada Python

 

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 forelse 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 BCbuku 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

 

 

 

 

 

 

 

 

 

0 komentar:

Posting Komentar