Anda di halaman 1dari 40

Puji Syukur penulis panjatkan ke hadirat Tuhan Yang Maha Kuasa, karena atas rahmatnya modul study

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.

Manokwari, 27 Oktober 2020

Christian Dwi Suhendra, ST.,M.Cs


1. Mahasiswa mampu menjelaskan logika proposisi
Tujuan :
2. Mahasiswa mampu menjelaskan fungsi setiap operator-operator logika
pada logika proposisi.

Indikator : 1. Mahasiswa mampu menggunakan operator logika dalam menganalisa nilai


kebenaran dari setiap proposisi.

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:

• Bahasa untuk merepresentasikan pernyataan


• Notasi yang tepat untuk menuliskan sebuah pernyataan
• Metodologi untuk bernalar secara obyektif untuk menentukan nilai benar-salah dari pernyataan.
• Dasar-dasar untuk menyatakan pembuktian formal dalam semua cabang matematika.

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.

penghubung Nama Operator Arity Simbol


NOT Operator negasi Unary ¬

AND Operator konjungsi Binary ∧

OR Operator Disjungsi Binary ∨

If-then Operator implikasi Binary →

If-and-only-if Operator biimplikasi Binary ↔

Tabel kebenaran
Tabel kebenaran and

Tabel kebenaran or
Tabel kebenaran not

Tabel kebenaran if-then


If-then dikenal juga sebagai operator implikasi. Implikasi p→q menyatakan bahwa p mengimplikasi q. j
Dari tabel kebenaran menunjukan jika p benar maka q benar. Namun, jika p salah maka q bisa benar,
bisa juga salah. p→q tidak mensyaratkan bahwa p atau q harus benar.

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

Tabel kebenaran if-then-only-if


Pada operator biimplikasi p
1. Proposisi majemuk and, or, not
Nyatakan proposisi berikut dalam bentuk simbol:
Hari ini tidak kuliah dan dosen tidak masuk atau hari ini ada kuliah.
p = hari ini ada kuliah
q = dosen masuk
¬𝑝 = hari ini tidak ada kuliah
¬𝑞 = dosen tidak masuk
¬𝑝 ∧ ¬𝑞 = hari ini tidak ada kuliah dan dosen tidak masuk
¬𝑝 ∧ ¬𝑞 ∨ 𝑝 = hari ini tidak ada kuliah dan dosen tidak masuk atau hari ini ada kuliah.
2. Proposisi majemuk if-then
Nyatakan proposisi berikut dalam bentuk simbol:
Jika nilai ujian akhir anda 80 atau lebih maka anda mendapat nilai A
p = nilai ujian akhir anda 80 atau lebih
q = anda mendapat nilai A
p→q = jika nilai ujian anda 80 atau lebih maka anda mendapat nilai A

3. Proposisi majemuk if-then-only-if


Nyatakan proposisi berikut dalam bentuk simbol:
Jika dan hanya jika saya lulus tes masuk di Universitas Papua maka saya akan menjadi mahasiswa
Teknik Informatika Angkatan 2020.
p = saya lulus tes masuk di Universitas Papua
q = saya menjadi mahasiswa Teknik Informatika Angkatan 2020
p ↔ q = Jika dan hanya jika saya lulus tes masuk di Universitas Papua maka saya akan menjadi

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.

Diketahui proposisi-proposisi berikut:


p : Budi pintar.
q: Budi sopan.

Nyatakan pernyataan-pernyataan berikut dalam bentuk simbolik:


a. Budi sopan dan pintar
b. Budi sopan tapi tidak pintar
c. Budi tidak pintar maupun sopan
d. Tidak benar bahwa Budi bodoh dan tidak sopan
e. Budi pintar, atau bodoh namun sopan.
3. Mahasiswa mampu menjelaskan tipe data pada bahasa pemrograman
Tujuan :
Python.
4. Mahasiswa mampu membuat variabel dalam bahasa pemrograman
Python.

Indikator : 2. Mahasiswa mampu menggunakan variabel dalam membuat program


sederhana

Variabel = wadah/media penyimpanan data

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:

Penjelasan kode program:


• Nama adalah suatu variabel
• Tanda = menyatakan assignment, nilai sebelah kanan diasosiasikan dengan variabel sebelah
kiri
• Print() adalah fungsi untuk mencetak nilai pada shell.
5. Membuat variabel tipe data string, integer, float, Boolean
• Buat file baru dengan nama file latihan2.py
• Buat variabel string, integer, float, Boolean seperti pada gambar berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:

Penjelasan kode program:


• Nama, umur, jenisKelamin, tinggi, berat, status adalah variabel
• Input() adalah fungsi untuk mencetak string pada command line, menunggu masukan
terhadap input yang akan kita ketik (diakhiri enter), mengembalikan input yang kita ketik
sebagai sebuah string.
• eval() adalah fungsi yang akan mengevaluasi tipe data input yang dimasukan terhadap
variabel dan mengubah tipe data string ke tipe data yang bersesuaian dengan nilai.
• Untuk mengetahui tipe data dari variabel dapat menggunakan fungsi type()

6. Python sebagai kalkulator


• Buat file baru dengan nama file latihan3.py
• Buat variabel seperti pada gambar berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:

Penjelasan kode program:


• angka1, angka2 dan mod adalah varibel tipe data integer
• int() fungsi untuk mengubah tipe data nilai dari string menjadi integer
• str() fungsi untuk mengubah tipe data nilai dari integer menjadi string
• % adalah operator modulo
• Kita dapat membuat Python sebagai kalkulator dengan menggunakan berbagai operator
aritmatika seperti +,-,*,/,%,**,//
Peserta akan dibentuk kelompok kecil kemudian membuat tugas 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.

Indikator : 1. Mahasiswa mampu menggunakan percabangan dalam membuat program


sederhana

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

Struktur if-else pada Python adalah:


if kondisi:
pernyataan_1
else
pernyataan_2

Struktur if-elif-else pada Python adalah:

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:

Penjelasan kode program:


• nilai, ket adalah suatu variabel
• kondisi pada if digunakan untuk membandingkan variabel nilai terhadap nilai 60 yang
merupakan syarat minimal untuk lulus.
• Print() adalah fungsi untuk mencetak nilai pada shell.
2. Menggunakan if-else
• Buat file baru dengan nama file Latihan_if_2.py
• tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:

Penjelasan kode program:


• x1, x2, terbesar adalah variabel
• kondisi pada if membandingkan nilai variabel x1 dan x2. Jika x1 > x2 bernilai True maka
variabel terbesar akan diisi nilai nilai variabel x1 kemudian mencetak isi variabel terbesar.
Jika bernilai False maka variabel terbesar akan diisi nilai variabel x2 selanjutnya mencetak
isi variabel terbesar.
• Pada contoh di atas kondisi x1>x2 bernilai False atau tidak terpenuhi sehingga variabel
terbesar adalah nilai x2.
3. Menggunakan if-elif-else dan operator logika
• Buat file baru dengan nama file Latihan_if_3.py
• tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:

Penjelasan kode program:


• Suhu dan ket adalah variabel
• Kondisi suhu>=20 and suhu<=25 adalah kondisi yang menggunakan operator logika and.
Kondisi akan bernilai True jika suhu>=20 dan suhu<=25 sama-sama terpenuhi. Jika salah
satu kondisi tidak terpenuhi maka kondisi pertama akan bernilai False dan program akan
memeriksa kondisi kedua yaitu suhu> 25.
• elif digunakan untuk membuat kondisi kedua. Jika kondisi pertama tidak terpenuhi
program akan memerika kondisi pada elif. Jika tidak terpenuhi maka program akan
menjalankan bagian else.
4. seleksi dengan banyak kondisi
• Buat file baru dengan nama file Latihan_if_4.py
• tuliskan kode program 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:

Gaji = gaji pokok + tunjangan + lembur

Gaji pokok, tunjangan, dan lembur diatur berdasarkan ketentuan berikut:

Gol Gaji Pokok Tunjangan Lembur/jam


A 500000 10% gaji pokok 5000
B 700000 15% gaji pokok 7500
C 900000 20% gaji pokok 10000
Lembur dihitung apabila jam kerja setiap bulan lebih dari 200 jam dan dihitung berdasarkan kelebihan
jam kerjanya. Bentuk tampilan keluaran yang diminta adalah sebagai berikut:

Data Pegawai

----------------------------------------------------------------------------------
Nama :………

Golongan :………

Total jam kerja :………


-----------------------------------------------------------------------------------

PERHITUNGAN GAJI
----------------------------------------------------------------------------------

Gaji Pokok :<gapok>

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.

Indikator : 2. Mahasiswa mampu menggunakan perulangan dalam membuat program


sederhana

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

Struktur perulangan for adalah:


for nama_variabel in range (banyaknya perulangan):
pernyataan_yang_diulang

• for harus ditulis dengan huruf kecil,


• baris pertama harus diakhir dengan tanda titik dua.
• Pernyataan yang diulang harus berada dibawah baris pertama dan menjorok ke dalam.
• Fungsi range() digunakan untuk menentukan batas perulangan.
• Nama variabel dan banyaknya perulangan harus merupakan bilangan bulat.
• Banyaknya perulangan harus dibatasi oleh indeks akhir.
• Nilai awal(indeks awal) banyaknya perulangan dimulai dari angka 0
• Perulangan akan berhenti di banyaknya perulangan -1.
• Pada bentuk lain Fungsi range() terdapat tiga variabel yaitu batas awal, batas akhir dan step.
Contoh perulangan for:

for i in range(10):
print(“hai”)

Perintah di atas akan mencetak kata hai sebanyak 10 kali.

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!!!!

end=’ ’ untuk menampilkan ouput pada satu baris.

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 = eval(input(“masukan suhu dalam celsius: ”)


print(“suhu dalam Fahrenheit adalah: ”, 9/5*suhu+32)

Masukan suhu dalam Celsius: 20


Suhu dalam Fahrenheit adalah: 68.0
Pada program di atas, setiap kali user akan memasukan suhu baru maka user harus menjalankan lagi
programnya. Perulangan while dapat mengatasi jika user ingin memasukan suhu baru berulangkali. Cara
sederhana adalah dengan memberikan kondisi user memasukan suhu yang tidak masuk akal untuk keluar
dari program yaitu -1000. Setelah menambahkan perulangan while kode program di atas akan menjadi
seperti demikian:

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:

Penjelasan kode program:


• Program di atas meminta untuk memasukan sebuah angka kemudian mencetak pangkat dari
angka tersebut.
• Perulangan terjadi sebanyak tiga kali kemudian perulangan selesai.
• Baris kedua dan ketiga pada kode program menjorok ke dalam, Python mengenali sebagai
pernyataan yang diulang.
• Baris keempat tidak menjorok ke dalam, Python mengenali bukan bagian dari perulangan
dan hanya akan dieksekusi ketika perulangan selesai.
2. Membuat perulangan for dengan batas awal, batas akhir, step
• Buat file baru dengan nama file Latihan_loop_2.py
• tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Ouput program adalah sebagai berikut:

Penjelasan kode program:


• Program di atas menghasilkan deret bilangan dengan suku awal, beda, dan banyak deret
adalah masukan dari user.
• jumDeret = (int)banyak+1 agar banyaknya deret sesuai dengan yang dimasukan, karena
batas akhir perulangan Python adalah batas_akhir -1.
3. membuat segitiga bintang
• Buat file baru dengan nama file Latihan_loop_3.py
• Tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:

Penjelasan kode program:


• Program di atas mencetak * hingga membentuk segitiga
• Pada perulangan * dicetak berdasarkan nilai variabel i+1. Pada saat i sama dengan 0, *
dicetak sebanyak 1. Pada saat variabel i adalah 1 maka * sebanyak 2 dan seterusnya.
• Meskipun batas_akhir perulangan pada fungsi range() adalah 3. Namun, karena trik yang
digunakan pada pernyataan_yang_diulang +1 sehingga membuat banyak * sesuai dengan
nilai yang diberikan.
4. membuat perulangan while
• Buat file baru dengan nama file Latihan_loop_4.py
• Tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:

Penjelasan kode program:


• Program di atas menampilkan deret bilangan genap range 0-20.
• Variabel i adalah nilai default.
• Jika kondisi i<10 jika terpenuhi, maka perintah di dalam while dikerjakan.
• Setiap selesai mengerjakan perintah di dalam perulangan while program akan mengecek
lagi kondisi i<10 jika kondisi bernilai benar, maka perintah di dalam perulangan while
dikerjakan Kembali sampai kondisi i<10 tidak terpenuhi atau bernilai False.
• Perintah i=i+2 adalah ekspresi pengontrol yang berfungsi mengubah nilai i, dan
memastikan bahwa pengulangan suatu saat akan berhenti.
5. membuat perulangan while infinite loop
• Buat file baru dengan nama file Latihan_loop_5.py
• Tuliskan kode program berikut:

• Jalankan program dengan memilih menu run->run module atau bisa langsung menekan
tombol F5
• Output program adalah sebagai berikut:

Penjelasan kode program:


• Program di atas menghitung luas bangun datar seperti pada Latihan 4 modul
percabangan.
• Penambahan while untuk memungkinkan menghitung luas bangun datar berulang kali
tanpa harus menjalankan lagi program.
• Perulangan diatas adalah perulangan tanpa henti (infinite loop) karena variabel
perulangannya(i) tidak pernah mencapai nilai batas perulangan.
Buatlah program permainan menebak sebuah angka yang dipilih oleh komputer secara acak range 1-100.
Kesempatan menebak dibatasi sebanyak 5 kali. Jika tebakan sudah habis maka program mencetak “anda
kalah” dan menampilkan angka yang sebenarnya.

Note: fungsi untuk bilangan random:


from random import randint
rnd= randint(1,100)
Heinold, B. (2012). A practical introduction to python Programming. Department of Mathematics and
Computer Science Mount St. Mary’s University.

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.

Darari Fariz, 2020. Video pembelajaran dasar-dasar pemrograman Python.


https://youtu.be/5yhbA8P4Tm8?list=PLvkbIcjwo0qwModeUU2JyUi2RQcI6Nfc-

Anda mungkin juga menyukai