club CODING FOR FUN ini dapat terlaksana. Study club CODING FOR FUN dimaksudkan sebagai upaya
penguatan kemampuan mahasiswa dalam bidang pemrograman. Kurikulum pada program studi Teknik
Informatika memiliki lima mata kuliah pemrograman. Tentunya kemampuan dasar pemrograman
mahasiswa harus baik agar dapat mengikuti, menerima, dan memahami materi pada mata kuliah
pemrograman dengan cermat. Sebagai penguatan bagi kemampuan mahasiswa dalam dasar-dasar
pemrograman maka pelaksanaan study club ini dirasa sangat dibutuhkan bagi upaya penguatan
kemampuan dasar pemrograman tersebut dengan mengajarkan dasar pemrograman dengan ringan dan
menarik agar dapat tujuan dari pelaksanaan study club ini dapat tercapai. Penulis berharap materi-materi
yang terdapat pada modul ini dapat diterima dengan baik oleh mahasiswa yang akan mengikuti study club
CODING FOR FUN. Akhir kata penulis mengucapkan banyak terima kasih kepada pihak-pihak yang telah
membantu dalam penyusunan modul study club ini yakni, Pak Roni Rahmat Nugraha, ST.,MT dari PPSDM
KEBTKE sebagai coach latsar, Ibu Pandung Sarungallo, ST.,MT dari Fakultas Teknik sebagai atasan dan
mentor, dan tim pengajar (pak Fridolin F. Paiki, ST.,M.Sc, Pak Wintuahe Macpal, dan Pak Eka) yang telah
membantu memberikan ide dalam penyusunan modul study club ini. Semoga Pendidikan di tanah Papua
semakin maju dan berkualitas oleh karena peran dari ASN yang profesional.
Logika adalah ilmu tentang penalaran yang berhubungan dengan pembuktian validitas suatu argumen.
Logika mengkaji hubungan antara pernyataan-pernyataan(statement).
Contoh:
• Semua anak Teknik informatika adalah mahasiswa unipa
• Setiap mahasiswa unipa jago coding.
Jadi, semua anak Teknik jago coding.
Logika matematika adalah sebuah alat untuk bekerja dengan pernyataan(statement) majemuk yang rumit
termasuk di dalamnya:
Dalam logika obyek fundamentalnya adalah proposisi. Proposisi adalah sebuah pernyataan tentang benar
atau salah. Pernyataan benar atau salah ini disebut dengan nilai kebenaran dari proposisi.
Contoh proposisi:
• Manokwari adalah ibu kota propinsi papua barat
• Universitas Papua adalah satu-satunya Universitas Negeri yang ada di kota Manokwari.
• Christian Dwi Suhendra adalah dosen informatika Universitas Papua
Contoh yang bukan proposisi:
• Lakukan saja!(perintah)
• Jam berapa sekarang?(pertanyaan)
• 1+2 (ekspresi tanpa nilai benar atau salah)
Logika adalah sistem yang didasarkan atas proposisi, nilai kebenaran dari proposisi adalah benar(T) atau
salah(F). lebih lanjut tentang proposisi dicontohkan sebagai berikut:
1. 5 > 3
• Ini pernyataan? Ya
• Ini proposisi? Ya
• Nilai kebenaran dari proposisi ini? True
2. Pulau Mansinam terletak di provinsi Papua Barat.
• Ini pernyataan? Ya
• Ini proposisi? Ya
• Nilai Kebenaran dari proposisi ini? True
3. Sorong ibu kota Papua Barat.
• Ini pernyataan? Ya
• Ini proposisi? Ya
• Nilai Kebenaran dari proposisi ini? False
Terdapat dua jenis proposisi yaitu proposisi atomik dan proposisi majemuk. Proposisi atomik proposisi
yang tidak dapat dibagi lagi. Kombinasi dari proposisi atomik dengan penghubung membentuk proposisi
majemuk. Dalam menggabungkan proposisi menjadi proposisi majemuk membutuhkan penghubung.
Penghubung yang digunakan untuk menggabungkan proposisi adalah operator logika, selanjutnya notasi
proposisi diformalkan menggunakan alfabet seperti p,q,r,s.
Contoh:
Proposisi atomik:
Mozes hidup Bahagia (p)
Aryum sangat kaya (q)
Proposisi Majemuk:
Mozes hidup Bahagia dan Aryum sangat kaya (p and q) and adalah operator penghubung sehingga
proposisi atomik di atas menjadi proposisi majemuk.
Ada 5 penghubung yang akan digunakan untuk menghubungkan antar proposisi atomik yang dikenal
sebagai operator logika atau operator Boolean.
Tabel kebenaran
Tabel kebenaran and
Tabel kebenaran or
Tabel kebenaran not
Contoh implikasi:
• Jika saya rajin kuliah hari ini, maka matahari akan bersinar esok hari.
p = saya rajin kuliah hari ini (T)
q = matahari akan bersinar esok hari (T)
p→q = T
• Jika 1+1=4, maka Pak Kristia Yuliawan adalah ketua jurusan Teknik Informatika
p = 1+1 (F)
q = pak Kristia Yuliawan adalah ketua jurusan Teknik Informatika (T)
p→q = T
• Jika kelinci kakinya tiga, maka saya lebih kaya daripada Bill Gates
p = kelinci kakinya tiga (F)
q = saya lebih kaya daripada Bill Gates (F)
p→q = T
• Jika hari setelah hari minggu adalah hari senin, maka matahari terbit dari barat.
p = hari setelah hari minggu adalah hari senin (T)
q = matahari terbit dari barat (F)
p→q = F
mahasiswa.
Nyatakan pernyataan berikut dalam bentuk ekspresi logika kemudian buatlah tabel kebenarannya:
1. “saya mendapat predikat cum laude jika IPK saya lebih dari atau sama dengan 3.5 dan masa studi
kurang dari 4 tahun.”
2. “saya tidak dapat terdaftar sebagai pemilih dalam pilkada manokwari jika saya berusia dibawah 17
Tahun kecuali saya sudah menikah”
3. “Jika Budi dan Iwan tidak Bahagia maka Budi tidak Bahagia dan Iwan tidak Bahagia.”
Tentukan manakah dari proposisi berikut yang sahih atau nilai kebenarannya adalah True
1. Jika hari ini hujan, maka tanaman akan tumbuh subur.
2. Es yang mencair di kutub mengakibatkan ibukota Perancis adalah Roma
3. Sekarang turun hujan dan berangin dan sekarang tidak turun hujan.
Algoritma terdiri dari urutan perintah untuk melakukan operasi manipulasi data. Untuk melakukan
operasi-operasi tersebut variabel digunakan untuk menampung data-data tersebut pada lokasi tertentu
di alamat memori untuk kemudian digunakan dalam manipulasi data. Variabel hanya digunakan untuk
menyimpan satu jenis data saja dan tidak bisa dicampur dengan jenis data lainnya.
Tipe data
Tipe data merujuk pada jenis data yang dapat disimpan pada variabel. Terdapat beberapa tipe data pada
bahasa pemrograman Python yaitu integer (int) untuk tipe data bilangan bulat, float untuk tipe data
bilangan riil, Boolean(bool) untuk tipe data bernilai true dan false, char untuk tipe data karakter, dan string
untuk data berupa gabungan karakter.
Identifier
Setiap nilai pada bahasa pemrograman Python adalah objek. Objek dapat berupa label, konstanta, nama
tipe, variabel, fungsi, maupun prosedur. Untuk membedakan suatu objek dengan objek lainnya yang kita
lakukan adalah memberi nama atau pengenal kepada setiap objek. Aturan penulisan pengenal adalah:
1. Case sensitive.
2. Jangan dimulai dengan angka.
3. Diawali dengan huruf, atau underscore, selanjutnya dapat berupa kombinasi huruf, angka, atau
underscore.
4. Tidak mengandung blank.
5. Tidak mengandung simbol-simbol khusus(misal: !,@,#,$,%,^,&,*,dll).
6. Bukan merupakan kata baku(Reserved words) dalam Python seperti pada tabel berikut.
Reserved Words
False class finally is return continue
None for lambda try def from
True nonlocal while and del global
not with as elif if or
yield assert else import pass break
except in raise
Identifier variabel
Telah disebutkan bahwa variabel adalah media penyimpanan data. Data tersebut dapat berubah selama
proses eksekusi. Namun, perubahan tersebut hanya dapat digunakan untuk nilai setipe, artinya data yang
baru dan yang lama memiliki tipe data yang sama. Format penulisan variabel adalah sebagai berikut:
nama_variabel = nilai
Dalam penulisan variabel ada beberapa aturan yang harus dipahami yaitu:
4. Tidak perlu dideklarasikan tipe datanya.
5. Variabel aka nada(terdeklarasi) ketika variabel tersebut diberi nilai.
6. Variabel harus diisi terlebih dahulu sebelum dipanggil.
7. Nilai dapat berubah di dalam program
8. Tipe data secara otomatis dikenali oleh Python dan interpreter akan mengalokasikan memori sesuai
dengan tipe data dan variabel yang dikenali.
9. Harus diawali dengan huruf(a-z, A-Z) atau diawali dengan menggunakan underscore(_)
10. Bersifat case sensitive.
11. Nama variabel tidak boleh menggunakan reserved words Python.
4. Membuat variabel
• Buat file baru dengan nama latihan1.py
• Buat variabel string seperti pada gambar berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
Buatlah program untuk menghitung luas bangun datar yang terdiri dari segitiga, persegi panjang, layang-
layang, jajar genjang, persegi dan lingkaran.
1. Mahasiswa mampu menjelaskan struktur percabangan pada bahasa
Tujuan :
pemrograman Python.
2. Mahasiswa mampu menggunakan struktur percabangan dalam bahasa
pemrograman Python.
Kita telah melihat bahwa program komputer adalah sederet instruksi yang saling berurutan. Urutan
merupakan konsep dasar dari pemrograman. Dalam struktur percabangan, perintah dikerjakan bila
terpenuhi syaratnya. Misalnya kita ingin menentukan apakah suhu ruangan terlalu panas atau terlalu
dingin. Jika suhu ruangan diatas 25°C maka suhu ruangan panas, dan jika suhu ruangan dibawah 25°C
maka suhu ruangan sejuk. Algoritmanya dapat kita jabarkan sebagai berikut:
1. Masukan suhu
2. Jika suhu lebih dari sama dengan 25°C maka lanjut ke Langkah 3. Jika tidak,
lanjut ke Langkah 4.
3. Tulis “suhu ruangan panas” lanjut ke Langkah 5
4. Tulis “suhu ruangan sejuk. Lanjut ke Langkah 5
5. Selesai.
Pada algoritma di atas ada dua kemungkinan setelah perintah 2 dijalankan yaitu jika suhu lebih dari 25°C
maka selanjutnya perintah 3 dikerjakan, jika tidak perintah 4 yang dikerjakan.
Percabangan menggunakan ekspresi if. Terdapat dua bentuk ekspresi if yaitu if-then dan if-then-else.
Flowchart if ditunjukan pada gambar berikut:
<kondisi>True?
<pernyataan>
<pernyataan>
<pernyataan>
Kondisi
Pada percabangan kondisi adalah bagian terpenting. Kondisi membandingkan nilai antara dua ekspresi.
Pada if sederhana, statement akan dikerjakan bilamana if bernilai True. Bentuk kondisi adalah sebagai
berikut:
<expr> <relop> <expr>
<relop> adalah singkatan dari relational operator (operator relasi). Terdapat enam operator relasi seperti
ditunjukan pada tabel berikut:
Python Matematika Arti
< < kurang dari
<= ≤ kurang dari sama dengan
== = sama dengan
>= ≥ Lebih dari sama dengan
> > Lebih dari
!= ≠ tidak sama dengan
Selain menggunakan operator relasi,jika terdapat dua atau lebih ekspresi yang akan dibandingkan maka
operator yang digunakan selain operator relasi adalah operator logika atau operasi Boolean seperti and,
or, not, xor.
Ekspresi if
Ekspresi percabangan di dalam bahasa Python bisa dinyatakan dalam beberapa variasi yaitu: if, if-else,
if-elif-else.
Struktur if pada Python adalah:
if kondisi:
pernyataan
if kondisi_1:
pernyataan_1
elif kondisi_2:
pernyataan_2
elif kondisi_3:
pernyataan_3
elif kondisi_n:
pernyataan_n
else:
pernyataan_n+1
Pada struktur if-elif-else jika kondisi_1 terpenuhi atau True maka pernyataan akan dieksekusi. Jika
kondisi_1 tidak terpenuhi maka program akan masuk ke kondisi selanjutnya dan memeriksa kondisi pada
elif, jika kondisi_2 True, maka pernyataan_2 akan dieksekusi dan seterusnya. Jika semua kondisi tidak
terpenuhi, maka pernyataan pernyataan dibagian else yang akan dieksekusi oleh program.
If tersarang
Struktur if tersarang adalah bentuk pernyataan if yang berada dalam lingkungan if yang lain. Bentuk if
bersarang adalah:
if kondisi_1:
if kondisidalam_1_1:
pernyataan_kondisi_dalam_1_1
elif kondisidalam_1_2:
pernyataan_kondisi_dalam_1_2
else:
pernyataan_kondisi_dalam_1_3
elif kondisi_2:
if kondisidalam_2_1:
pernyataan_kondisi_dalam_2_1
elif kondisidalam_2_2
pernyataan_kondisi_dalam_2_2
else:
pernyataan_kondisi_dalam_2_3
else:
pernyataan_jika_semua_kondisi_tidak_terpenuhi
Pada struktur di atas, jika kondisi terpenuhi maka program akan masuk ke percabangan dibagian dalam
untuk memeriksa kondisinya. Dibagian dalam akan diseleksi lagi apakah kondisidalam_1_1
terpenuhi(True), jika ya maka program akan mengeksekusi pernyataan_kondisi_dalam_1_1 dan program
keluar dari percabangan. Namun jika kondisidalam_1_1 tidak terpenuhi(False) maka bagian elif akan
diperiksa yaitu kondisidalam_1_2. Jika kondisi_dalam_1_2 terpenuhi maka program akan mengeksekusi
pernyataan_kondisi_dalam_1_2 dan program keluar dari percabangan. Namun, jika kondisidalam_1_2
tidak terpenuhi(False) maka bagian else akan dieksekusi dan program akan keluar dari percabangan.
Selanjutnya jika kondisi_1 tidak terpenuhi, maka program akan memeriksa kondisi_2 dengan alur yang
sama dengan kondisi_1. Jika kondisi_1 dan kondisi_1 maka program akan mengeksekusi bagian else
terluar dan keluar dari percabangan.
1. Menggunakan if
• Buat file baru dengan nama Latihan_if_1.py
• tuliskan kode program berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
Penjelasan kode program:
• Terdapat 6 pilihan untuk perhitungan luas bangun ruang. V
• Variabel pilih digunakan untuk memilih pilihan luas bangun ruang.
• Program akan memeriksa nilai dari variabel yang dipilih pada masing-masing kondisi if-elif-
else
• Jika kondisi pertama terpenuhi program akan mengeksekusi perintah menghitung luas
pada kondisi pertama yaitu menghitung luas segitiga kemudian program akan berhenti.
Jika tidak terpenuhi maka program akan memeriksa kondisi elif lainnya. Saat kondisi salah
satu kondisi elif terpenuhi program akan mengeksekusi perintah pada kondisi tersebut dan
kemudian program akan berhenti.
• Jika tidak ada kondisi yang terpenuhi maka bagian else akan dieksekusi.
5. If Bersarang
• Buat file baru dengan nama file Latihan_if_5.py
• tuliskan kode program berikut:
vcvc
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
Penjelasan kode program:
• Terdapat dua pilihan pada struktur if bersarang yaitu western food dan Indonesian food.
• Masing-masing pilihan terdapat tiga pilihan dalam setiap if. Pada western food terdapat
pilihan steak, pizza, burger. Sedangkan pada Indonesian food terdapat pilihan papeda,
coto makassar, dan nasi padang.
• Variabel pilih digunakan untuk memilih pilihan makanan western food atau Indonesian
food
• Variabel pilihWestern digunakan untuk memilih pilihan makanan di dalam kondisi
pertama
• Variabel pilihIndonesian digunakan untuk memilih pilihan makanan pada kondisi kedua.
• Jika kedua kondisi tidak terpenuhi maka program akan mengeksekusi bagian else.
Peserta akan dibentuk kelompok kecil kemudian membuat tugas berikut:
Buatlah program untuk menghitung gaji seorang karyawan sebuah perusahaan. Rumus gaji adalah
tersebut adalah:
Data Pegawai
----------------------------------------------------------------------------------
Nama :………
Golongan :………
PERHITUNGAN GAJI
----------------------------------------------------------------------------------
Tunjangan :<tjg>
Lembur :<lbr>
-----------------------------------------------------------------------------------
Total :<total>
3. Mahasiswa mampu menjelaskan struktur perulangan pada bahasa
Tujuan :
pemrograman Python.
4. Mahasiswa mampu menggunakan struktur perulangan dalam bahasa
pemrograman Python.
Pada bahasa pemrograman, percabangan dan perulangan menjadi kunci utama. Hampir bisa dikatakan
setiap program yang dibangun dengan bahasa pemrograman apapun struktur syntaxnya terdapat
percabangan dan perulangan. Salah satu kemampuan utama komputer adalah mampu melakukan
perulangan terhadap banyak hal berulang kali dengan sangat cepat. Pada bahasa pemrograman Python
terdapat dua struktur perulangan yaitu perulangan for dan perulangan while. Tiap ekspresi perulangan
memiliki komponen yang relatif sama. Komponen-komponen perulangan tersebut terdiri dari:
a. Kondisi perulangan: setiap perintah atau kumpulan perintah yang dikerjakan jika memenuhi kondisi
tertentu. Selama kondisi terpenuhi perintah tersebut akan terus dikerjakan.
b. Badan perulangan: kumpulan perintah yang hendak diulang.
c. Nilai awal atau inisialisasi: pemberian nilai satu atau beberapa variabel sebelum perulangan dilakukan.
d. Perubahan variabel kontrol(updating): variabel yang menontrol berapa kali perintah harus diulang
dan mencegah perulangan berlangsung selama tak hingga kali(terus menerus)
Perulangan for
for i in range(10):
print(“hai”)
Variabel perulangan
for i in range(10):
print(i)
Pada contoh di atas terdapat satu bagian pada perulangan yang adalah variabel yaitu i. i sering disebut
adalah variabel perulangan. Ketika perulangan pertama kali dijalankan, Python memberi nilai 0 pada i.
setiap kali mengulang perintah cetak i, Python menaikan nilai i sebanyak +1. Program di atas mengulang
sebanyak 10 kali, setiap kali mengulang nilai i naik sebanyak +1 hingga 9 perulangan dan program berhenti.
Fungsi range()
Telah disebutkan di atas nilai yang dimasukan pada fungsi range menentukan berapa banyak perulangan
yang terjadi. Cara kerja range adalah menghasilkan deret angka mulai dari 0 sampai nilai-1. Sebagai
contoh, range(5) menghasilkan 5 nilai yaitu: 0,1,2,3,4. Jika kita ingin deret angka tidak mulai dari angka 0,
kita dapat menetapkan nilai awal. Range(1,5) menghasilkan nilai 1,2,3,4. Pada contoh ini, 1 merupakan
batas awal dan program akan berhenti pada batas akhir-1 yaitu 4. Jika ingin menghasilkan 5 nilai dari 1-5,
maka nilai batas akhir harus diubah sehingga fungsi range menjadi range(1,6). Step digunakan untuk
mengatur pola perulangan jika perulangan naik satu nilai maka step diatur menjadi 1 dan jika perulangan
menurun satu nilai maka step diatur menjadi -1. Sebagai contoh range(5,1,-1) akan menghasilkan deret
nilai 5,4,3,2. Berikut beberapa contoh fungsi range():
Pernyataan Nilai yang dihasilkan
range(10) 0,1,2,3,4,5,6,7,8,9
range(1,10) 1,2,3,4,5,6,7,8,9
range(3,7) 3,4,5,6
range(2,15,3) 2,5,8,11,14
range(9,2,-1) 9,8,7,6,5,4,3
Berikut contoh perulangan yang menghitung mundur dari angka 5 kemudian mencetak pesan.
for i in range(5,0,-1):
print(i, end=’ ’)
print(‘duarrrr!!!!’)
5 4 3 2 1 duarrrr!!!!
Perulangan while
Pada perulangan for, banyaknya perulangan sudah ditentukan terlebih dahulu. Pada pemrograman sering
kali dijumpai masalah ketika ingin melakukan perulangan tapi tidak mengetahui pasti berapa banyak
jumlah perulangan. Sebagai contoh permainan tic-tac-toe atau sering dikenal x o atau juga dengan nama
lain kali bulat. Permainan ini akan terus berulang hingga seseorang menang atau tidak ada lagi Langkah
yang dibisa dibuat. Untuk situasi ini perulangan while jagonya.
Struktur perulangan while adalah:
while kondisi:
pernyataan_yang_diulang
ekspresi di atas menunjukan ada pengecekan kondisi sebelum pernyataan di dalam perulangan
dieksekusi. Pernyataan akan dikerjakan jika kondisi terpenuhi.
Contoh terdapat program pengubah suhu Celsius – Fahrenheit.
suhu =0
while suhu != -1000:
suhu = eval(input("masukan suhu: "))
print("suhu dalam Farhenheit adalah ",9/5*suhu+32)
Pada contoh di atas, pada baris while disebutkan program akan terus berulang dan melakukan konversi
suhu selama suhu yang dimasukan bukan -1000. Ketika suhu yang dimasukan adalah -1000 maka while
akan seketika berhenti. Jadi, selama suhu yang dimasukan bukan -1000 maka program akan terus
meminta suhu baru kemudian mengubah suhu dari Celsius ke Fahrenheit.
Perulangan while mirip dengan statement if karena terdapat kondisi yang harus terpenuhi atau bernilai
True kemudian perintah-perintah yang ada di dalam perulangan dieksekusi. Bedanya adalah perintah
pada if hanya dieksekusi sekali sedangkan perintah pada while dieksekusi berulang kali selama kondisi
masih terpenuhi.
Perulangan bersarang
Perulangan tersarang adalah perulangan yang berada di dalam perulangan lainnya. Perulangan ini dapat
merupakan kombinasi antara perulangan yang sama atau yang berbeda. Berikut merupakan contoh
perulangan bersarang menggunakan perulangan for.
For i in range(1,6,1):
For j in range(1,6,1):
Print(“perulangan luar ke “,i,”perulangan dalam ke ”,j)
Print(“”)
Prinsip kerja utama dari perulangan bersarang adalah program akan mengeksekusi terlebih dahulu
perulangan luar satu kali kemudian menyelesaikan perulangan dalam. Setelah itu, program akan
melanjutkan perualngan luar satu kali lagi dan Kembali mengeksekusi perulangan abgian dalam. Proses
tersebut terus berlanjut sampai dengan program mencapat batas akhir dari perulangan luar.
1. Membuat perulangan for
• Buat file baru dengan nama Latihan_loop_1.py
• tuliskan kode program berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:
Levin Oscar. Discrete Mathematics School of Mathematical Science, University of Northen Colorado
Zarman Wendi & Wicaksono Mochamad. 2020. Implementasi Algoritma dalam Bahasa Python
Penerbit INFORMATIKA. Bandung.