0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan37 halaman

Modul BPD-P06 Python

Modul ini membahas tentang kontrol percabangan dalam bahasa pemrograman Python. Topik utama yang dibahas adalah struktur IF, IF-ELSE, ELIF, dan Switch Case beserta contoh kode programnya.

Diunggah oleh

erick ilhansyah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan37 halaman

Modul BPD-P06 Python

Modul ini membahas tentang kontrol percabangan dalam bahasa pemrograman Python. Topik utama yang dibahas adalah struktur IF, IF-ELSE, ELIF, dan Switch Case beserta contoh kode programnya.

Diunggah oleh

erick ilhansyah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 37

MODUL MATA KULIAH

BAHASA
PEMROGRAMAN
DASAR
PG168 – 3 SKS

FAKULTAS TEKNOLOGI INFORMASI


UNIVERSITAS BUDI LUHUR

JAKARTA TIM Penyusun


SEPTEMBER 2021 Agus Umar Hamdani, M.Kom
Tri Ika Jaya Kusumawati, M.Kom 1
UNIVERSITAS BUDI LUHUR
FAKULTAS TEKNOLOGI INFORMASI

MODUL PERKULIAHAN #6
KONTROL PERCABANGAN
Mahasiswa Mampu:
Capaian : 1. Memahami bentuk umum kondisi percabangan If
Pembelajaran dan Switch CASE in Python.
2. Memahami penggunaan kontrol kondisional dan
logika menggunakan kontrol percabangan .
1. Kontrol percabangan IF, IF-Else, Multiple IF, IF-
Sub Pokok Bahasan : ELIF-ELSE dan Nested-IF
2. Kontrol Switch Case di Python.
3. Operator Perbandinan dan Logika dalam kontrol
IF.
1. Zarman, Wendi dan Wicaksono, Mochamad Fajar. “Implementasi
Daftar Pustaka : Algoritma dalam bahasa Python”. Edisi Pertama. Bandung : Penerbit
Informatika. 2020.
2. Kurniawati, Arik. “Algoritma dan Pemrograman menggunakan
Python”. Edisi Pertama. Yogyakarta : Depublish. 2016.
3. Ismah. “Pemrograman Komputer Dasar-dasar Python”. Jakarta :
Fakultas Ilmu Pendidikan Universitas Muhammadiyah Jakarta. 2017.
4. Irfani, M. Haviz dan Dafid. “Modul Praktikum Dasar Pemrograman
dengan bahasa Python”. Palembang : Sekolah Tinggi Manajemen
Informatika Global Informatika Multidata Palembang. 2016.
5. Fikri, Rijalul. “Praktikum Algoritma dan Pemrograman Komputer”.
Surabaya : Program Studi Teknik Komputer dan Telematika Jurusan
Teknik Elektro Fakultas Teknologi Industri Institut Teknologi Sepuluh
Nopember. 2010.
6. Sugiana, Owo. Membuat Aplikasi Bisnis menggunakan bahasa
Python dan database berbasis SQL. Jakarta. 2003.
7. Septian, Ridwan Fadjar. Buku Serial Open Source Belajar
Pemrograman Python Dasar. Versi 1. Bandung : POSS-UPI. 2013.
8. Hendri. Cepat Mahir Python. Ilmu Komputer.com. 2003.
9. Herho, Sandy H.S. Tutorial Pemrograman Python 2 Untuk pemula.
Bandung: WCPL Press. 2017.
10. Welcome to Python.org (diakses pada 29 September 2021
pukul : 21.00 WIB)
11. Programiz.com. Python Operators
(https://www.programiz.com/python-programming/operators
diakses pada 29 September 2021 pukul 21.32 WIB)

2
PRAKTIKUM 6

KONTROL PERCABANGAN

3.1 Teori Singkat

Struktur Kontrol Percabangan adalah ekspresi yang perintah atau aksinya


dikerjakan, jika kondisi yang menjadi syaratnya terpenuhi [1]. Dengan demikian
kita dapat mengatur bagaimana suatu program bekerja sesuai dengan kebutuhan
yang kita inginkan. Pemilihan kondisi tersebut harus dilakukan jika kondisi yang
dihadapi menghasilkan nilai benar (True). Disebut percabangan, dikarenakan
untuk menggambarkan alur program yang bercabang. Pada model algoritma
menggunakan Flowchart, logika “Jika …, Maka …” digambarkan dalam bentuk
cabang.
Gambar 6.1 merupakan struktur blok untuk kontrol IF.

Gambar 6.1 Flowchart Blok Kontrol IF

Selain percabangan, struktur ini juga disebut Kontrol Flow, Decision, struktur
kondisi, Struktur IF, dsb. Percabangan akan mampu membuat program berpikir
dan menentukan tindakan sesuai dengan logika/kondisi yang kita berikan.
Terdapat beberapa kontrol percabangan yang dapat digunakan dalam bahasa
Python, antara lain : IF, IF-ELSE, ELIF.

4
Kontrol IF mendukung penggunaan kondisi Logika aritmatika, seperti :

Tabel 6.1 Operator Perbandingan dalam Kontrol IF


Operator Perbandingan Deskripsi
a == b Sama dengan
a != b Tidak sama dengan
a<b Nilai a lebih kecil dari nilai b
a <= b Nilai a lebih kecil atau sama dengan dari nilai b
a>b Nilai a lebih besar dari nilai b
a >= b Nilai a lebih besar atau sama dengan dari nilai b

Tabel 6.2 Operator Logika dalam Kontrol IF


Operator Logika Deskriipsi
a > b AND c > a Nilai a lebih besar dari nilai b DAN nilai c lebih besar
dari nilai a
a > b OR c > a Nilai a lebih besar dari nilai b ATAU nilai c lebih besar
dari nilai a
NOT c > a Nilai a lebih besar dari nilai b ATAU nilai c lebih besar
dari nilai a

a. Kontrol IF
Python memiliki cara yang berbeda, gaya penulisan sintak sangat
berbeda dan unik, jika pada bahasa pemrograman C++, PHP maupun java
menggunakan tanda pengenal {}, berbeda dengan python yang tidak
mengenal tanda tersebut. Untuk mengelompokan suatu blok kode dibuat
dengan cara melakukan pergeseran kode terhadap perintah-perintah terkait
ke arah kanan.

Berikut ini sintak umum penulisan percabangan IF di bahasa Python :

If kondisi :
Pernyataan1
4
Pernyataan_lain_diluar blok
Indentasi Tab

Gambar 6.2 Struktur Kontrol IF

Penulisan kondisi di dalam python TIDAK diapit dengan tanda () seperti


pada pemrograman bahasa pemrograman C++, PHP maupun Java. Cukup
menuliskan langsung dan diakhiri dengan tanda : (titik dua). Setiap
pernyataan yang akan dieksekusi harus diberikan Indentasi Tab atau spasi
2x sebagaimana aturan penulisan sintak dalam Python. Setiap Perintah
didalam Python pun TIDAK diakhiri dengan tanda ; (titik koma). Bagian
kondisi adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik
berupa nilai True/False secara langsung, atau pun sebuah ekspresi logika.
Jika kondisi bernilai True, maka bagian pernyataan1 dan pernyataan2 akan
dieksekusi oleh komputer.

Studi Kasus 6.1


Program pada gambar 6.3 merupakan contoh penerapan struktur kontrol
IF. Program tersebut mendemonstrasikan cara menyeleksi kelulusan
mahasiswa menurut nilai ujiannya.

Gambar 6.3 Contoh Program dengan Kontrol IF (1)

Perhatikan gambar 6.3, program akan menunggu kita untuk memasukkan


nilai. Nilai yang diinput akan dikonvesi ke dalam tipe Integer dan disimpan
pada variabel nilai_akhir. Nilai yang terdapat pada variabel nilai_akhir akan
diperiksa, apakah bernilai lebih atau sama dengan (>=) 60 atau tidak. Jika

5
variabel nilai_akhir bernilai lebih besar atau sama dengan 60 (>=60), maka
variabel keterangan = “Lulus” akan dicetak. Sebaliknya, jika nilai_akhir
bernilai kurang dari 60 (<60), maka program akan berakhir.
Setelah kode program diatas dijalankan dan diinput dengan nilai 77, maka
hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.4 Contoh Hasil Keluaran Program

Studi Kasus 6.2


Program pada gambar 6.5 merupakan contoh program untuk menyeleksi
kategori suatu bilangan bulat, apakah termasuk kategori bilangan Genap atau
bilangan Ganjil.

Gambar 6.5 Contoh Program dengan Kontrol IF (2)

Perhatikan gambar 6.5, variabel keterangan didefinisikan bertipe String dan


berisi nilai awal “Ganjil”. Program tersebut akan menunggu kita untuk
memasukkan nilai. Nilai tersebut akan dikonversi ke tipe Integer dan
disimpan ke variabel x. untuk mengetahui sebuah bilangan itu termasuk ke
dalam kategori Genap atau Ganjil, maka kita perlu menyeleksi sisa bagi nilai
x setelah dibagi 2. Jika sisa bagi 2 terhadap nilai x adalah 0, maka keterangan
= “Genap” akan dieksekusi. Dan sebaliknya, jika sisa bagi 2 terhadap nilai x
adalah 1, maka program akan mengeksekusi variabel keterangan = “Ganjil”.
Setelah kode program diatas dijalankan dan diinput dengan nilai x = 35, maka
hasil keluaran yang ditampilkan sebagai berikut :

6
Gambar 6.6 Contoh Hasil Keluaran Program

Jika nilai yang akan diperiksa hanya terdiri atas satu kondisi aja, maka dapat
menuliskan kode programnya dalam satu baris (Penyederhanaan kontrol If ...
Else), seperti terlihat pada gambar 6.7.

Gambar 6.7 Contoh Penyederhanaan Kontrol If..ELSE

Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai :


a = 50
b = 10
maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.8 Contoh Hasil Keluaran Program

b. Kontrol IF-ELSE.
Struktur kontrol IF-ELSE sebenarnya hamper sama dengan pernyataan IF.
Perbedaanya adalah struktur kontrok IF-ELSE memiliki lebih dari satu aksi.
Blok IF-ELSE ini biasa dinamakan percabangan, karena memiliki setidaknya 2
cabang. Satu aksi akan dikerjakan, jika kondisinya bernilai benar (TRUE) dan
satu aksi lagi akan dikerjakan, jika kondisinya bernilai salah (FALSE). Gambar
6.9 merupakan struktur blok untuk kontrol IF-ELSE.

7
Gambar 6.10 Flowchart Blok Kontrol IF-ELSE

Berikut ini sintak umum penulisan percabangan IF-ELSE di bahasa Python


:

If kondisi :
Pernyataan1
else
Pernyataan_alternatif2

Gambar 6.11 Struktur Kontrol IF-ELSE

Studi Kasus 6.3


Program pada gambar 6.12 merupakan contoh program untuk menyeleksi
apakah IPK yang diinput termasuk ke dalam kategori “Berhak Mendapatkan
Predikat Cumlaude” atau “Tidak Berhak Mendapatkan Predikat Cumlaude”.

8
Gambar 6.12 Contoh Program dengan Kontrol IF-ELSE (1)

Perhatikan gambar 6.12, variabel x didefinisikan bertipe Float digunakan


untuk menampung nilai IPK. Program tersebut akan menunggu kita untuk
memasukkan nilai x. setelah diinput, maka nilai x akan diperiksa, apakah lebih
besar atau sama dengan 3.5 (>=3.5) atau tidak. Jika nilai x>=3.5, maka
keterangan = “Berhak mendapatkan predikat Cumlaude” akan dicetak.
Sebaliknya, jika nilai x<3.5, maka keterangan = “Tidak Berhak mendapatkan
predikat Cumlaude” akan dicetak.
Setelah kode program diatas dijalankan dan diinput dengan nilai 77, maka
hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.13 Contoh Hasil Keluaran Program

Studi Kasus 6.4


Program pada gambar 6.14 merupakan contoh program untuk menyeleksi
pegawai yang mendapatkan kenaikan gaji berdasarkan gaji yang diterima.
Kenaikan gaji dihitung berdasarkan masa kerja. Untuk masa kerja diatas 10
tahun mendapatkan kenaikan gaji sebesar 20% dari gaji pokok, sedangkan
masa kerja lainnya mendapatkan kenaikan gaji sebesar 5% dari gaji pokok.

9
Gambar 6.14 Contoh Program dengan Kontrol IF-ELSE (2)

Perhatikan gambar 6.14, variabel masa_kerja didefinisikan bertipe Float


untuk menampung nilai masa_kerja. Variabel gaji_pokok didefinisikan bertipe
Integer untuk menampung nilai gaji_pokok. Program tersebut akan
menunggu kita untuk memasukkan nilai untuk variabel masa_kerja dan
gaji_pokok. Setelah diinput, maka nilai masa_kerja akan diperiksa, apakah
lebih besar atau sama dengan 10 (tahun) (>=10) atau tidak. Jika nilai
masa_kerja>=10, maka kenaikan_gaji sebesar 20% dari gaji pokok akan
dicetak. Sebaliknya, jika nilai masa kerja<10, maka kenaikan_gaji sebesar 5%
dari gaji pokok akan dicetak.

Setelah kode program diatas dijalankan dan diinput dengan nilai sebagai
berikut :
Masa kerja = 9.5
Gaji pokok = 3.500.000
Maka : masa kerja tersebut akan terdeteksi sebagai kondisi masa kerja <10
tahun sehingga hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.15 Contoh Hasil Keluaran Program

10
c. Kontrol Multiple IF
Struktur kontrol Multiple IF merupakan lanjutan/percabangan logika dari
“kondisi IF”. Dengan Multiple IF kita bisa membuat kode program yang akan
menyeleksi beberapa kemungkinan yang bisa terjadi. Hampir sama dengan
kondisi “ELSE”, bedanya kondisi “IF” bisa banyak dan tidak hanya satu kondisi
yang diseleksi.

Gambar 6.16 Flowchart Blok Kontrol Multiple IF

Berikut ini sintak umum penulisan percabangan Multiple IF di bahasa


Python :

If kondisi-1 :
Pernyataan1
If kondisi-2 :
Pernyataan_alternatif2
If kondisi-3 :
Pernyataan_alternatif3
If
Pernyataan_alternatif4

Gambar 6.17 Struktur Kontrol Multiple IF

11
Studi Kasus 6.5
Program pada gambar 6.18 merupakan contoh program untuk menyeleksi
sebuah nilai, apakah termasuk ke dalam kategori bilangan Positif, Nol atau
bilangan Negatif dengan ketentuan sebagai berikut :
1. Jika nilai x lebih besar dari 0 (x > 0), maka cetaklah keterangan “Bilangan
Positif”.
2. Jika nilai x sama dengan 0 (x == 0), maka cetaklah keterangan “Nol”.
3. Jika nilai x lebih kecil dari 0 (x < 0), maka cetaklah keterangan “Bilangan
Negatif”.

Gambar 6.18 Contoh Program dengan Kontrol Multiple IF

Perhatikan gambar 6.19, variabel x didefinisikan bertipe Float untuk


menampung sebuah nilai dari keyboard. Program tersebut akan menunggu
kita untuk memasukkan nilai untuk variabel x. Setelah diinput, maka nilai x
akan diperiksa, apakah lebih besar dari 0 (x > 0), jika benar, maka keterangan
“Bilangan Positif” akan dicetak. Jika nilai x sama dengan 0 (x == 0), maka
keterangan “Nol” akan dicetak. Jika nilai x lebih kecil dari 0 ( x < 0), maka
keterangan “Bilangan Positif” akan dicetak. Setelah kode program diatas
dijalankan dan diinput dengan nilai sebagai berikut :
x = 3.4
Maka hasil keluaran yang ditampilkan sebagai berikut :

12
Gambar 6.20 Contoh Hasil Keluaran Program

d. Kontrol IF-ELIF-ELSE
Struktur kontrol IF-ELIF-ELSE merupakan lanjutan/percabangan logika dari
“kondisi IF”. Dengan IF-ELIF-ELSE kita bisa membuat kode program yang
akan menyeleksi beberapa kemungkinan yang bisa terjadi. Hampir sama
dengan kondisi “ELSE”, bedanya kondisi “IF-ELIF-ELSE” bisa banyak dan tidak
hanya satu kondisi yang diseleksi. Struktur kontrol IF-ELIF-ELSE dapat dilihat
pada gambar 6.21.

Gambar 6.21 Flowchart Blok Kontrol IF-ELIF-ELSE

Berikut ini sintak umum penulisan percabangan IF-ELIF-ELSE di bahasa


Python :

If kondisi-1 :
Pernyataan1
Elif kondisi-2 :
Pernyataan_alternatif2
Elif kondisi-3 :
Pernyataan_alternatif3
Else
Pernyataan_alternatif4

Gambar 6.13 Struktur Kontrol IF-ELIF-ELSE

13
Studi Kasus 6.6
Program pada gambar 6.22 merupakan pengembangan dari contoh program
pengembangan dari studi kasus 6.5, tetapi menggunakan perintah IF-ELIF-
ELSE.

Gambar 6.22 Contoh Program dengan Kontrol IF-ELIF-ELSE

Perhatikan gambar 6.22, variabel x didefinisikan bertipe Float untuk


menampung sebuah nilai dari keyboard. Program tersebut akan menunggu
kita untuk memasukkan nilai untuk variabel x. Setelah diinput, maka nilai x
akan diperiksa, apakah lebih besar dari 0 (x > 0), jika benar, maka keterangan
“Bilangan Positif” akan dicetak. Jika nilai x sama dengan 0 (x == 0), maka
keterangan “Nol” akan dicetak. Jika nilai x lebih kecil dari 0 ( x < 0), maka
keterangan “Bilangan Positif” akan dicetak.
Setelah kode program diatas dijalankan dan diinput dengan nilai sebagai
berikut :
x = -9
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.23 Contoh Hasil Keluaran Program

14
e. Kontrol SWITCH-CASE di bahasa Python
Kontrol Switch Case digunakan untuk percabangan yang kondisinya
banyak. Sedangkan Kontrol IF hanya bisa untuk menangani dua kondisi yaitu
TRUE atau FALSE. Pernyataan switch case adalah pengganti pernyataan 'IF-
ELSE'.
Keuntungan menggunakan Pernyataan Switch Case dalam program adalah
sebagai berikut:
1) Lebih mudah untuk men-debug.
2) Lebih mudah untuk membaca program oleh siapa saja kecuali
programmer.
3) Lebih mudah dipahami dan juga lebih mudah dipelihara.
4) Lebih mudah untuk memverifikasi semua nilai yang akan diperiksa untuk
ditangani.
Dalam bahasa python tidak menggunakan pernyataan switch case
seperti bahasa lain, kita dapat menggunakan 3 (tiga) pengganti untuk
mengimplementasikan Switch Case dengan menggunakan cara sebagai
berikut :
a. Cara ke-1 : menggunakan IF-ELIF-ELSE
Berikut ini sintak umum penulisan kontrol IF-ELIF di bahasa Python :

If kondisi-1 :
Pernyataan1
Elif kondisi-2 :
Pernyataan_alternatif2
Elif kondisi-3 :
Pernyataan_alternatif3
Else
Pernyataan_alternatif4

Gambar 6.24 Struktur Kontrol IF-ELIF

Studi Kasus 6.7


Program pada gambar 6.11 merupakan pengembangan dari contoh program
pengembangan dari studi kasus 6.5, tetapi menggunakan perintah IF-ELIF-
ELSE.

15
b. Cara ke-2 : Dictionary Mapping
Dalam bahasa Python terdapat tipe data Dictionary yang menyimpan
sekelompok obyek menggunakan pasangan Key-Value. Kita dapat
menggunakan Dictionary untuk mengganti kontrol Switch-Case. Key-
Value pada Dictionary bekerja mirip seperti seperti Kontrol Switch-Case.
Sintak penulisan tipe data Dictionary adalah
nama_variabel = {
“Key1” : “value”,
“Key2” : “value,
“..” : “...”}

Studi Kasus 6.7


Program pada gambar 6.13 merupakan contoh implementasi kontrol
Switch-Case menggunakan tipe Dictionary.

16
Gambar 6.25 Contoh Penggunaan Kontrol Switch-Case
menggunakan Dictionary

Perhatikan gambar 6.13, terdapat definisi fungsi yang mengembalikan


nilai, contoh : def Senin() yang mengembalikan nilai “Senin” dalam
bentuk String. terdapat variabel switcher bertipe Dictionary yan berisi
pasangan Key-Value, contoh : 1: Senin. Kemudian terdapat
variabel hari untuk menginput data bertipe Integer dari keyboard,
Kemudian terdapat fungsi yang akan mengembalikan nama hari dari
nilai yang diinput dengan memanggil variabel switcher.get().

Setelah kode program diatas dijalankan dan diinput dengan nilai


sebagai berikut :
hari = 3
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.26 Contoh Hasil Keluaran Program

17
c. Cara ke-3 : Menggunakan kelas (akan dipelajari di pertemuan
berikutnya).

f. Kontrol Nested IF di bahasa Python


Ada kalanya, kita ingin memeriksa kondisi lain setelah kondisi bernilai benar.
Untuk hal seperti itu, maka kita dapat menggunakana kontrol If Bersarang
(Nested IF). Disebut demikian, karena terdapat sebuah kondisi lain yang akan
dijalankan, apabila kondisi utamanya bernilai benar (True). Struktur control
Nested IF bisa dilihat pada gambar 6.27.

If kondisi-1 :
Pernyataan1
If kondisi-2 :
Pernyataan_alternatif2
Elif kondisi-3 :
Pernyataan_alternatif3
Elsif kondisi4 :
Pernyataan_alternatif4
Else
Pernyataan_alternatif5
Else
Pernyataan_alternatif2
Gambar 6.27 Struktur Kontrol NESTED IF

Studi Kasus 6.8


Program pada gambar 6.28 merupakan contoh implementasi kontrol
Nested IF.

18
Gambar 6.28 Contoh Penggunaan Kontrol Nested IF

Perhatikan gambar 6.28, terdapat definisi variabel x dengan tipe Integer


dengan nilai yang diinput dari keyboard. Kemudian terdapat kontrol IF yang
memeriksa nilai x apakah kurang dari 200 (x < 200). Jika kondisi Benar
(TRUE), maka program akan mencetak keterangan = “Nilai kurang dari
200”, beserta pemeriksaan kondisi berikutnya yang sesuai dengan nilai x.
apabila x bernilai lebih dari 200 (x > 200), maka kondisinya adalah False,
sehingga tercetak keterangan = “Nilai yang dimasukkan salah” dan
“Selesai”.
Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai
sebagai berikut :
x = 175, kemudian input Kembali nilai x menjadi 250,
Maka hasil keluaran yang ditampilkan sebagai berikut :

19
Gambar 6.29 Contoh Hasil Keluaran Program

g. Operator AND di dalam kontrol IF


Kita dapat memeriksa beberapa kondisi menggunakan operator AND.
Kedua kondisi harus terpenuhi agar pernyataan yang diberikan dapat
dieksekusi oleh Interpreter Python. Berikut ini sintak umum penulisan kontrol
IF dengan operator Logika AND di bahasa Python :

If kondisi-1 AND kondisi-2:


Pernyataan1
Elif kondisi-2 AND kondisi-3:
Pernyataan_alternatif2
Else
Pernyataan_alternatif3

Gambar 6.30 Struktur Kontrol IF-ELIF dengan operator AND

Kita dapat menggunakan struktur kontrol IF, Multiple IF dan IF-ELIF untuk
mengimplementasikan penggunaan operator AND menggunakan struktur
kontrol diatas.

Tabel 6.3 Rumus Untuk Operator AND


Kondisi-1 Kondisi-2 Hasil :
Kondisi-1 AND Kondisi-2
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE

20
Studi Kasus 6.9
Program pada gambar 6.31 merupakan contoh implementasi penggunakan
operator AND pada kontrol IF.

Gambar 6.31 Struktur Kontrol IF-ELIF dengan operator AND

Perhatikan gambar 6.31, terdapat definisi variabel x dengan tipe String


dengan nilai yang diinput dari keyboard dan variabel y bertipe Integer dengan
nilai yang diinput dari keyboard. Kemudian terdapat dua kondisi pemeriksaan,
yaitu type(x) is int dan type(y) is int. apabila kedua kondisi tersebut
terpenuhi (True), maka keterangan akan diisi dengan jumlah antara x
dan y. tetapi jika, salah satu kondisi tidak terpenuhi (False), maka
keterangan akan disini dengan “x atau y tidak bertipe Integer”.
Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai
sebagai berikut :
x = 5, kemudian input nilai y = 25,
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.32 Contoh Hasil Keluaran Program

Perhatikan gambar 6.16, kondisi pertama type(x) is Integer tidak


terpenuhi (False), dikarenakan variabel x bertipe String dan kondisi kedua

21
type(y) is Integer terpenuhi (True), sehingga hasil akhirnya adalah False
menggunakan operator AND, sehingga Python akan mencetak keterangan
= “x atau y tidak bertipe Integer”.

h. Operator OR di dalam kontrol IF


Kita juga dapat memeriksa beberapa kondisi menggunakan operator OR.
Kedua kondisi harus terpenuhi agar pernyataan yang diberikan dapat
dieksekusi oleh Interpreter Python. Berikut ini sintak umum penulisan kontrol
IF dengan operator Logika OR di bahasa Python dapat dilihat pada gambar
6.33.

If kondisi-1 OR kondisi-2:
Pernyataan1
Elif kondisi-2 OR kondisi-3:
Pernyataan_alternatif2
Else
Pernyataan_alternatif3

Gambar 6.33 Struktur Kontrol IF-ELIF dengan operator OR

Kita dapat menggunakan struktur kontrol IF, Multiple IF dan IF-ELIF untuk
mengimplementasikan penggunaan operator OR menggunakan struktur
kontrol diatas.

Tabel 6.3 Rumus Untuk Operator OR


Kondisi-1 Kondisi-2 Hasil :
Kondisi-1 OR Kondisi-2
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE

22
Studi Kasus 6.9
Program pada gambar 6.34 merupakan contoh implementasi penggunakan
operator OR pada kontrol IF.

Gambar 6.34 Struktur Kontrol IF-ELIF dengan operator OR

Perhatikan gambar 6.34, terdapat definisi variabel x dengan tipe String


dengan nilai yang diinput dari keyboard dan variabel y bertipe Integer dengan
nilai yang diinput dari keyboard. Kemudian terdapat dua kondisi pemeriksaan,
yaitu type(x) is int dan type(y) is int. Apabila salah satu kondisi terpenuhi,
maka keterangan akan diisi dengan jumlah antara x dan y. Tetapi jika,
kedua kondisi tidak terpenuhi, maka keterangan akan disini dengan “x atau
y tidak bertipe Integer” akan dicetak.
Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai
sebagai berikut :
x = 5, kemudian input nilai y = 25,
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.35 Contoh Hasil Keluaran Program

23
Perhatikan gambar 6.16, kondisi pertama type(x) is Integer tidak
terpenuhi (False), dikarenakan variabel x bertipe String dan kondisi kedua
type(y) is Integer terpenuhi (True), sehingga hasil akhirnya adalah TRUE
dikarenakan menggunakan operator OR, sehingga aka Python akan
mencetak keterangan = “int(x) + y” dengan hasil 30.

i. Operator NOT di dalam kontrol IF


Kita juga dapat memeriksa beberapa kondisi menggunakan operator
NOT. Operator NOT digunakan untuk membalikkan kondisi TRUE dan FALSE
suatu pengujian logika. Operator NOT dapat dikombinakan dengan operator
perbandingan, operator AND dan OR.
Berikut ini sintak umum penulisan kontrol IF dengan operator Logika OR
di bahasa Python dapat dilihat pada gambar 6.36.

If NOT kondisi-1 :
Pernyataan1
Else
Pernyataan_alternatif2

Gambar 6.36 Struktur Kontrol IF-ELIF dengan operator NOT

Studi Kasus 6.10


Program pada gambar 6.37 merupakan contoh implementasi penggunakan
operator AND dan NOT pada kontrol IF-ELSIF.

Gambar 6.37 Struktur Kontrol IF-ELSE dengan operator NOT AND

24
Perhatikan gambar 6.18, terdapat definisi variabel x dengan tipe String
dengan nilai yang diinput dari keyboard dan variabel y bertipe Integer dengan
dengan nilai yang diinput dari keyboard. Kemudian terdapat dua kondisi
pemeriksaan, yaitu not (type(x) is int and type(y) is int). Hasil dari
pemeriksaan not tersebut akan bernilai True sehingga keterangan = int(x)
+ y akan dikerjakan dan dicetak nilainya. Apabila hasil pemeriksaan not
tersebut tidak terpenuhi, maka keterangan “x atau y tidak bertipe
Integer” akan dikerjakan dan dicetak.
Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai
sebagai berikut :
x = 5, kemudian input nilai y = 25,
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.38 Contoh Hasil Keluaran Program

Perhatikan gambar 6.38, kondisi pertama type(x) is Integer tidak


memenuhi (False), dikarenakan variabel x bertipe String dan kondisi kedua
type(y) is Integer terpenuhi (True), sehingga kedua kondisi tersebut
bernilai False dalam operator AND. Kemudian terdapat operator NOT yang
berjalan pada operator AND sehingga hasilnya adalah TRUE sehingga Python
akan mencetak keterangan = “int(x) + y” dengan hasil 30.

Studi Kasus 6.11


Program pada gambar 6.39 merupakan contoh implementasi penggunakan
operator OR dan NOT pada kontrol IF-ELSIF.

25
Gambar 6.39 Struktur Kontrol IF-ELSE dengan operator NOT OR

Perhatikan gambar 6.39, terdapat definisi variabel x dengan tipe String


dengan nilai yang diinput dari keyboard dan variabel y bertipe Integer dengan
dengan nilai yang diinput dari keyboard. Kemudian terdapat dua kondisi
pemeriksaan, yaitu not (type(x) is int or type(y) is int). Hasil dari
pemeriksaan not tersebut akan bernilai True sehingga keterangan = int(x)
+ y akan dikerjakan dan dicetak nilainya. Apabila hasil pemeriksaan not
tersebut tidak terpenuhi (False), maka keterangan “x atau y tidak bertipe
Integer” akan dikerjakan dan dicetak.
Setelah kode program diatas dijalankan dan diinput dengan nilai-nilai
sebagai berikut :
x = 5, kemudian input nilai y = 25,
Maka hasil keluaran yang ditampilkan sebagai berikut :

Gambar 6.40 Contoh Hasil Keluaran Program

Perhatikan gambar 6.40, kondisi pertama type(x) is Integer tidak


memenuhi (False), dikarenakan variabel x bertipe String dan kondisi kedua
type(y) is Integer terpenuhi (True), sehingga kedua kondisi tersebut

26
bernilai True dalam operator AND. Kemudian terdapat operator NOT yang
berjalan pada operator AND sehingga hasilnya adalah False sehingga Python
akan mencetak keterangan = “x atau y tidak bertipe Integer”.

3.2 Praktikum
Langkah-langkah Praktikum
1. Buka Editor Python (IDLE / Pycharm / VSCode).
2. Buatlah file baru dengan membuka menu File > New > Source File atau dengan
shortcut Ctrl + N.
3. Tulislah kode program berikut ini :

Program 6.1 : Praktikum61. Py


1. Buatlah program menggunakan bahasa Python untuk mencetak informasi total
harga barang yang dibeli dalam jumlah tertentu.
Algoritma / Inisiasi Persoalan :
Variabel input :
kode barang, nama_barang, harga_satuan, jumlah_beli, total_harga
Proses :
total_harga = harga_satuan * jumlah_beli
Output :
total_harga
Aturan bisnis :
a. Jika total harga lebih besar atau sama dengan Rp. 200.000,-, akan
mendapatkan potongan harga sebesar 3% dari total harga.
b. Total bayar dihitung dari total harga dikurangi dengan potongan harga.
Untuk menjawab persoalan diatas, maka tuliskan Program 6.1 berikut ini pada
editor :

27
Gambar 6.41 Keluaran Program Praktikum 61

2. Simpan Program ini dengan nama Praktikum61.py


3. Jalankan program praktikum61 di atas, kemudian input nilai-nilai berikut ini :
Kode barang : B001
Nama barang : Kemeja
Harga satuan : 75000
Jumlah beli :5

4. Jalankan program praktikum61 di atas, kemudian tuliskan apa yang tercetak


di layar.

28
5. Jalankan program praktikum61 di atas, kemudian input nilai-nilai berikut ini :
Kode barang : B001
Nama barang : Pensil
Harga satuan : 7500
Jumlah beli : 350

6. Jalankan program praktikum61 di atas, lalu tuliskan apa yang tercetak di layar.

7. Apakah hasil keluaran program di nomor 4 dan nomor 6 memiliki hasil yang
sama, jelaskan!.

Program 6.2 : Praktikum62. Py


1. Buatlah program menggunakan bahasa Python untuk mencetak informasi gaji
pegawai beserta dengan komisi yang diterima.
Algoritma / Inisiasi Persoalan :
Variabel input :
nip, nama_pegawai, gaji_pokok, golongan, lama_kerja
Proses :
komisi = ..??
total_gaji = gaji_pokok + komisi
Output :
Komisi
Total_gaji
Aturan bisnis :
a. Jika golongan pegawai adalah “B”, “C” atau “D” dan lama kerja lebih dari
10 tahun, maka akan mendapatkan komisi sebesar 15% dari total gaji yang
diterima.
b. Jika tidak memenuhi kondisi (a), maka tidak mendapat komisi.

29
Untuk menjawab persoalan diatas, maka tuliskan Program 6.2 berikut ini pada
editor :

Gambar 6.42 Kode Program Praktium62

2. Jalankan program praktikum62 di atas, kemudian input nilai-nilai berikut ini :


NIP : P001
Nama pegawai : Bambang Jeger
Gaji pokok : 3500000
Lama Kerja : 15
Golongan :B

30
3. Jalankan program praktikum62 di atas, kemudian tuliskan apa yang tercetak
di layar.

4. Jalankan program praktikum62 di atas, kemudian input nilai-nilai berikut ini :


Kode barang : ID321
Nama barang : Bagus Sajiwo
Gaji pokok : 4500000.288
Lama Kerja :8
Golongan :B

5. Jalankan program praktikum62 di atas, lalu tuliskan apa yang tercetak di layar.

6. Apakah hasil keluaran program di nomor 3 dan nomor 5 memiliki hasil yang
sama, jelaskan!.

Program 6.2 : Praktikum63. Py


7. Buatlah program menggunakan bahasa Python untuk mencetak informasi gaji
pegawai beserta dengan komisi yang diterima.
Algoritma / Inisiasi Persoalan :
Variabel input :
nip, nama_pegawai, gaji_pokok, golongan, lama_kerja
Proses :
total_gaji = gaji_pokok + komisi
komisi = ..??
Output :
Total_gaji
Komisi

31
Aturan bisnis :
c. Jika golongan pegawai adalah “B”, “C” atau “D” atau lama kerja lebih dari
10 tahun, maka akan mendapatkan komisi ebesar 15% dari total gaji yang
diterima.
d. Jika tidak memenuhi kondisi (a), maka tidak mendapat komisi.

Untuk menjawab persoalan diatas, maka tuliskan Program 6.3 berikut ini pada
editor :

32
Gambar 6.43 Kode Program Praktium52

8. Jalankan program praktikum63 di atas, kemudian input nilai-nilai berikut ini :

NIP : P001
Nama pegawai : Bambang Jeger
Gaji pokok : 3500000
Lama Kerja : 15
Golongan :B

9. Jalankan program praktikum63 di atas, kemudian tuliskan apa yang tercetak


di layar.

10. Jalankan program praktikum63 di atas, kemudian input nilai-nilai berikut ini :
Kode barang : ID321
Nama barang : Bagus Sajiwo
Gaji pokok : 4500000
Lama Kerja :8
Golongan :-

11. Jalankan program praktikum63 di atas, lalu tuliskan apa yang tercetak di layar.

33
12. Apakah hasil keluaran program di nomor 3 dan nomor 5 memiliki hasil yang
sama, jelaskan!.

3.3 Rangkuman

1. Dengan kontrol IF dalam bahasa Python, maka kita dapat membuat


perbandingan logis antara nilai dan apa yang diharapkan dengan menguji kondisi
dan mengembalikan hasil berupa benar (True) atau salah (False).
2. Kontrol IF sendiri memiliki beberapa struktur kontrol yang berbeda, yaitu IF
digunakan jika hanya untuk satu kondisi seleksi saja, IF-Else digunakan bila
memiliki dua kondisi seleksi, Multiple IF dan IF-ELIF-ELSE digunakan bila
memiliki banyak kondisi.
3. Memungkinkan juga penggunaan kontrol bersarang di dalam IF (Nested IF),
dimana terdapat kondisi seleksi lain di dalam sebuah kondisi seleksi.
4. Kontrol SWITCH-CASE tidak dikenali di dalam bahasa Python, tetapi kita bisa
mengganti kontrol tersebut dengan kontrol IF-ELIF-ELSE, tipe Dictionary
maupun menggunakan kelas (Class).

3.4 Latihan

Buatlah program untuk mencetak nilai akhir yang diperoleh dari nilai presensi, nilai
tugas, nilai UTS dan nilai UAS dengan ketentuan sebagai berikut :
a. Bobot nilai presensi adalah 10%
b. Bobot nilai tugas adalah 20%
c. Bobot nilai UTS adalah 30%
d. Bobot nilai UAS adalah 40%
Nilai akhir dihitung dengan rumus = (10% * nilai presensi) + (20% * nilai tugas) +
(30% * nilai UTS) + (40% * nilai UAS).

34
Grade ditentukan berdasarkan nilai akhir sebagai berikut :
 Grade A : 85 – 100.
 Grade A- : 80 – 84
 Grade B+ : 75 – 79
 Grade B : 70 – 74
 Grade C : 60 – 69
 Grade D : 0 - 50
Sehingga apabila diinput nilai-nilai diatas, maka akan menghasilkan tampilan
berikut :

Gambar 6.64 Tampilan keluaran program

3.5 Tugas Mandiri


Kerjakan soal-soal berikut :
1. Jelaskan perbedaan kontrol Multiple IF dan IF-ELIF-ELSE?
2. Apakah mungkin membuat kontrol bersarang (Nested IF) di dalam kontrol IF-
ELIF-ELSE? Jelaskan!
3. Buatlah program dengan Python untuk mencari harga produk paling murah
(terkecil) dari 3 harga yang diinput (harga produk harus bilangan bulat
sembarang).
Pertanyaan :
a. Tentukan input / output prosesnya.
b. Buatlah kode program untuk menyelesaikan permasalahan tersebut.
c. Jalankan kode program pada soal (b), temukan dan selesaikan masalah
yang terjadi!
Contoh keluaran program :

35
Harga 1 = 3500
Harga 2 = 4200
Harga 3 = 3800
Harga terkecil adalah harga ke-3 yaitu 3800.
4. Buatlah program dengan Python untuk menghitung harga layanan yang
dikenakan kepada member :
Program hanya menerima inputan berupa kode member, nama member, biaya
layanan, lama menjadi member. Untuk masing-masing member akan diberikan
diskon berdasarkan lama bergabung menjadi member. Diskon ditentukan
sebagai berikut :
 Lama member lebih besar atau sama dengan 20 tahun, diberikan diskon
15% dari biaya layanan.
 Lama member lebih besar atau sama dengan 10 tahun, diberikan diskon
10% dari biaya layanan.
 Lama member lebih besar atau sama dengan 5 tahun, diberikan diskon
5% dari biaya layanan.
 Lama member kurang dari 5 tahun, tidak diberikan diskon.
Pertanyaan :
a. Tentukan input / output prosesnya.
b. Buatlah kode program untuk menyelesaikan permasalahan tersebut.
c. Jalankan kode program pada soal (b), temukan dan selesaikan masalah
yang terjadi!

36
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR
Jl. Raya Ciledug, Petukangan Utara, Pesanggrahan
Jakarta Selatan, 12260
Telp: 021-5853753 Fax : 021-5853752
http://fti.budiluhur.ac.id

37

Anda mungkin juga menyukai