Modul BPD-P06 Python
Modul BPD-P06 Python
BAHASA
PEMROGRAMAN
DASAR
PG168 – 3 SKS
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
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 :
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.
If kondisi :
Pernyataan1
4
Pernyataan_lain_diluar blok
Indentasi Tab
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 :
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.
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
If kondisi :
Pernyataan1
else
Pernyataan_alternatif2
8
Gambar 6.12 Contoh Program dengan Kontrol IF-ELSE (1)
9
Gambar 6.14 Contoh Program dengan Kontrol IF-ELSE (2)
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 :
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.
If kondisi-1 :
Pernyataan1
If kondisi-2 :
Pernyataan_alternatif2
If kondisi-3 :
Pernyataan_alternatif3
If
Pernyataan_alternatif4
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”.
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.
If kondisi-1 :
Pernyataan1
Elif kondisi-2 :
Pernyataan_alternatif2
Elif kondisi-3 :
Pernyataan_alternatif3
Else
Pernyataan_alternatif4
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.
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
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,
“..” : “...”}
16
Gambar 6.25 Contoh Penggunaan Kontrol Switch-Case
menggunakan Dictionary
17
c. Cara ke-3 : Menggunakan kelas (akan dipelajari di pertemuan
berikutnya).
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
18
Gambar 6.28 Contoh Penggunaan Kontrol Nested IF
19
Gambar 6.29 Contoh Hasil Keluaran Program
Kita dapat menggunakan struktur kontrol IF, Multiple IF dan IF-ELIF untuk
mengimplementasikan penggunaan operator AND menggunakan struktur
kontrol diatas.
20
Studi Kasus 6.9
Program pada gambar 6.31 merupakan contoh implementasi penggunakan
operator AND pada kontrol IF.
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”.
If kondisi-1 OR kondisi-2:
Pernyataan1
Elif kondisi-2 OR kondisi-3:
Pernyataan_alternatif2
Else
Pernyataan_alternatif3
Kita dapat menggunakan struktur kontrol IF, Multiple IF dan IF-ELIF untuk
mengimplementasikan penggunaan operator OR menggunakan struktur
kontrol diatas.
22
Studi Kasus 6.9
Program pada gambar 6.34 merupakan contoh implementasi penggunakan
operator OR pada kontrol IF.
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.
If NOT kondisi-1 :
Pernyataan1
Else
Pernyataan_alternatif2
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 :
25
Gambar 6.39 Struktur Kontrol IF-ELSE dengan operator NOT OR
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 :
27
Gambar 6.41 Keluaran Program Praktikum 61
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!.
29
Untuk menjawab persoalan diatas, maka tuliskan Program 6.2 berikut ini pada
editor :
30
3. Jalankan program praktikum62 di atas, kemudian tuliskan apa yang tercetak
di layar.
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!.
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
NIP : P001
Nama pegawai : Bambang Jeger
Gaji pokok : 3500000
Lama Kerja : 15
Golongan :B
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
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 :
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