Modul Perkuliahan Dan Pratikum Algoritma Dan Pemrograman Python
Modul Perkuliahan Dan Pratikum Algoritma Dan Pemrograman Python
PERKULIAHAN
DAN PRAKTIKUM
ALGORITMA DAN
PEMROGRAMAN
Penulis:
Fauzan Asrin, S.Kom,. M.Kom
Fakultas Teknik
Jurasan Sistem Informasi
Universitas Muhammadiyah Pontianak
Tahun 2019/2020
DAFTAR ISI
DAFTAR ISI i
PETUNJUK PRATIKKUM vi
2.2.3 Algoritma 14
2.2.2 Pseudocode 15
2.2.3 Flowchart 17
i
2.2.4 Latihan 21
4.2. Variabel 39
4.3. Deklarasi 40
4.5. Komentar 41
4.6.1 Input 43
4.6.2 Output 43
4.6.3 Latihan 44
ii
5 OPERATOR DAN EKSPRESI 45
6 STRUKTUR KONTROL 62
6.2. Latihan 64
7 PERCABANGAN 65
7.3. Kondisi If 67
iii
7.3.2 Contoh Script If Error 68
9 PERULANGAN 78
iv
11 PENGGABUNGAN PERCABANGAN DAN PERULANGAN 90
13 Library 105
13.3.
v
Petunjuk Pratikum
1. Praktikum yang dilakukan pada setiap bagian adalah yang terdapat pada Point
B (Percobaan)
2. Jika tidak dijelaskan alat/hardware yang digunakan maka secara default
perangkat yang dipergunakan adalah:
a) 1 Set PC Desktop dengan spesifikasi minimal (Intel Core 2 Duo atau
yang setara, RAM 1 GB, dan Harddisk 20GB)
b) 1 buah Tetikus (Mouse)
c) 1 buah Papan Ketik (Keyboard)
3. Pada dasarnya seluruh praktik yang ada di dalam modul ini mengharuskan
praktikan untuk menghidupkan komputer terlebih dahulu dan mengetikkan
kode yang ada di dalam text editor seperti Geany.
4. 4. Pada beberapa tugas praktikum praktikan diminta untuk menuliskan
hasil yang didapat pada lembar asistensi praktikum. Lembar tersebut dapat
dicetak secara mendiri melalui lampiran yang terdapat pada modul ini.
5. Semua praktikan wajib mengikuti semua kegiatan praktikum
6. Praktikan wajib datang tepat waktu.
7. 7. Praktikum dimulai sesuai dengan waktu yang telah ditetapkan, tidak
harus menunggu seluruh praktikan lengkap.
8. Pada saat praktikum, praktikan harus mengisi logbook penggunaan
laboratorium.
9. Mengerjakan tugas sesuai ketentuan.
10. 10. Selama praktikum atau di dalam ruang praktikum, praktikan dilarang
minum, dan merokok serta harus menjaga ketertiban.
vi
11. Sanksi terhadap pelanggaran peraturan diatur di peraturan praktikum dan
penggunaan laboratorium.
12. Praktikan dapat menggunakan peralatan di laboratorium di luar waktu
praktikum selama mendapat ijin dari laboran yang ada dilaboratorium.
13. 13. Setiap pelanggaran akan dikenakan poin sesuai ketentuan yang berlaku.
vii
1 | Modul Pratikum Algoritma dan Pemrograman
Bagian 1
Asal Mula Algoritma
Capaian Pembelajaran:
1. Mahasiswa mampu menjelaskan secara singkat pengertian dari algoritma
Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah
yang aneh. Kata ini tidak muncul di dalam kamus webster sampai akhir tahun
1957. Orang hanya menemukan kata algorism yang berarti proses menghitung
Para ahli bahasa menemukan asal kata algorism ini namun hasilnya
mula kata tersebut. kata algorism berasal dari nama penulis buku arab yang
artinya “Buku Pemugaran dan Pengurangan”. Dari judul buku itu kita juga
thm. Karena perhitungan dengan angka arab sudah menjadi hal yang
2019©fauzanasrin
2 | Modul Pratikum Algoritma dan Pemrograman
maupun amerika.
Apa yang dimaksud dengan algoritma (algorithm)? Dalam ilmu komputer dan
matematika, pengertian algoritma adalah suatu urutan dari beberapa langkah logis
lain mengatakan definisi algoritma adalah proses atau serangkaian aturan yang
harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama
oleh komputer. Dengan kata lain, semua susunan logis yang diurutkan berdasarkan
sistematika tertentu dan digunakan untuk memecahkan suatu masalah dapat disebut
dengan algoritma.
terdapat rangkaian terbatas dari beberapa intruksi untuk menghitung suatu fungsi
yang jika dieksekusi dan diproses akan menghasilkan output, lalu berhenti pada
kondisi akhir yang sudah ditentukan. Berikut ini bentuk dasar algoritma:
2019©fauzanasrin
3 | Modul Pratikum Algoritma dan Pemrograman
Agar lebih memahami apa itu algoritma, maka kita dapat merujuk pada
suatu masalah.
komputer), pengertian algoritma adalah suatu daftar langkah demi langkah yang
2019©fauzanasrin
4 | Modul Pratikum Algoritma dan Pemrograman
E. Marvin Minsky
algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat
Algoritma memiliki lima ciri utama yang saling berhubungan satu dengan
lainnya. Menurut Donald E. Knuth, dapun kriteria algoritma adalah sebagai berikut:
A. Ada Input
B. Ada Proses
tujuan akhir.
2019©fauzanasrin
5 | Modul Pratikum Algoritma dan Pemrograman
C. Ada Output
yaitu solusi atau tampilan akhir yang didapatkan dari suatu algoritma.
D. Ada intruksi-intruksi
yang jelas dan tidak ambigu, yaitu instrukti yang jelas dalam algoritma
yaitu akhir dari program dimana program akan berhenti ketika tujuan akhir telah
tercapai.
Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
sependek mungkin.
Sifatnya general
Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk
2019©fauzanasrin
6 | Modul Pratikum Algoritma dan Pemrograman
Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan
Mudah dimengerti
Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah
Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang
akan menjalankannya.
Harus terminate
Pada dasarnya tujuan dan fungsi utama dari algoritma adalah untuk
memecahkan suatu masalah. Lebih jelasnya, adapun tujuan dan fungsi algoritma
besar.
2019©fauzanasrin
7 | Modul Pratikum Algoritma dan Pemrograman
tertentu.
permasalahan.
sistematis.
2019©fauzanasrin
8 | Modul Pratikum Algoritma dan Pemrograman
B. Logical
2019©fauzanasrin
9 | Modul Pratikum Algoritma dan Pemrograman
Suatu algoritma mungkin saja memiliki solusi yang tepat, atau setidaknya
acak.
F. Algoritma Quantum
komputasi quantum.
A. Contoh 1
Langkah :
Menulis surat
2019©fauzanasrin
10 | Modul Pratikum Algoritma dan Pemrograman
B. Contoh 2
Pada dasarnya algoritma tidak hanya dalam ilmu komputer dan matematika
saja, tetapi juga pada berbagai kegiatan manusia sehari-hari. Salah satu
Langkah:
Mendefinisikan masalah
2019©fauzanasrin
11 | Modul Pratikum Algoritma dan Pemrograman
Menulis program
a. Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik
Mencari Kesalahan
c. Ketelitian.
2019©fauzanasrin
12 | Modul Pratikum Algoritma dan Pemrograman
Bagian 2
Capaian Pembelajaran:
1. Mahasiswa mampu menjelaskan Struktur Penulisan Algoritma
2. Mahasiswa Mampu membedakan Penyajian Algoritma
3. Mahasiswa mampu membuat dan menjelaskan Penyajian Algoritma dalam
tiga bentuk
Judul (Header)
Kamus
Algoritma
prosedur, fungsi.
Gambar 1. Header
2019©fauzanasrin
13 | Modul Pratikum Algoritma dan Pemrograman
Nama type
Nama konstanta
Nama variabel
Nama fungsi
Nama prosedur.
Gambar 2. Kamus
2019©fauzanasrin
14 | Modul Pratikum Algoritma dan Pemrograman
2.1.3 Algoritma
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau
Gambar 3. Algoritma
2.2 Penyajian Algoritma
2019©fauzanasrin
15 | Modul Pratikum Algoritma dan Pemrograman
Pada penyajian algoritma struktur Bahasa Indonesia dilihat dari beberapa sifat
sebagai berikut:
pemrograman.
4) Tulis hasilnya
2.2.2 Pseudocode
2019©fauzanasrin
16 | Modul Pratikum Algoritma dan Pemrograman
baku, oleh karena itu sembarang versi pseudocode dapat diterima asalkan
bawah ini:
• Aritmatika: +,-,*,/,%,div,sub,mul,min
• Pemberian nilai: ←
2019©fauzanasrin
17 | Modul Pratikum Algoritma dan Pemrograman
simbol dari komentar yang hanya digunakan untuk memberi catatan pada
1) input (a, b, c)
2) Jml = a+b+c
3) Rerata = Jml/3
4) Output (Rerata)
2.2.3 Flowchart
urutan prosedur dari suatu program. Flowchart menolong analis dan programmer
2019©fauzanasrin
18 | Modul Pratikum Algoritma dan Pemrograman
1. Relathionship
Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang
prosedur logic. Teknik penyajian yang bersifat grafis jelas akan lebih baik
2. Analysis
Dengan adanya pengungkapan yang jelas dalam model atau chart, maka para
3. Communication
sudah diakui secara umum, maka flowchart dapat merupakan alat bantu yang
2019©fauzanasrin
19 | Modul Pratikum Algoritma dan Pemrograman
Gambar 4. Flowchart
yaitu:
2019©fauzanasrin
20 | Modul Pratikum Algoritma dan Pemrograman
Bagan alir (flowchart) tidak banyak digunakan lagi pada masa sekarang
2019©fauzanasrin
21 | Modul Pratikum Algoritma dan Pemrograman
sebagai berikut
ALGORITMA
INIT a,b,c : integer //bilangan bulat yang akan dijadikan variabel input
READ a
READ b
READ c
IF a > b THEN
IF a > c THEN PRINT a
ELSE print c
ELSE
IF b > c THEN PRINT b
ELSE print c
2.2.4 Latihan
Soal :
Persegi Panjang?
2019©fauzanasrin
22 | Modul Pratikum Algoritma dan Pemrograman
Bagian 3
Capaian Pembelajaran:
1. Mahasiswa Mengetahui Sejarah Bahasa Pemrograman Python
2. Mahasiswa Mengetahui Perkembangan Bahsa Pemrograman Python dari
tahun ke tahun
3. Mahasiswa Mampu Mengintall Python
4. Mahasiswa Mampu Menginstall Compiler atau IDE pada Python
Mathematisch Centrum (CWI) di Belanda pada awal tahun 1990-an. Bahasa python
terinspirasi dari bahasa pemrograman ABC. Sampai sekarang, Guido masih menjadi
penulis utama untuk python, meskipun bersifat open source sehingga ribuan orang
Pada Mei 2000, Guido dan tim Python pindah ke BeOpen.com dan membentuk
tim BeOpen PythonLabs. Di bulan Oktober pada tahun yang sama, tim python
pindah ke Digital Creation (sekarang menjadi Perusahaan Zope). Pada tahun 2001,
2019©fauzanasrin
23 | Modul Pratikum Algoritma dan Pemrograman
merupakan organisasi nirlaba yang dibuat khusus untuk semua hal yang berkaitan
dengan hak intelektual Python. Perusahaan Zope menjadi anggota sponsor dari PSF.
Semua versi python yang dirilis bersifat open source. Dalam sejarahnya, hampir
2019©fauzanasrin
24 | Modul Pratikum Algoritma dan Pemrograman
sumber.
d. berorientasi objek.
2019©fauzanasrin
25 | Modul Pratikum Algoritma dan Pemrograman
secara langsung.
pengoperasiannya.
Kode python mudah ditulis dan mudah dibaca, sehingga lebih mudah diperbaiki
bahasa lain seperti C, C++, maupun Java. Untuk melakukan sesuatu dengan 5
2019©fauzanasrin
26 | Modul Pratikum Algoritma dan Pemrograman
baris kode pada bahasa lain, bisa jadi di python hanya diperlukan 1 baris kode.
Hal ini menyebabkan pembuatan program dalam Python menjadi lebih ringkas
melakukan berbagai hal mulai dari memproses teks, membuat website, membuat
Dengan python Anda bisa membuat aplikasi berbasis desktop maupun berbasis
smartphone.
sekali modul-modul dan ekstensi program yang sudah siap Anda pakai untuk
yang sangat aktif mengembangkan python sehingga menjadi bahasa yang sangat
handal. Python bisa berinteraksi dengan bahasa lain. Kode python bisa
memanggil oleh bahasa C, C++, dan sebaliknya juga bisa dipanggil dari bahasa
lain
adalah ‘sedikit’ lebih lambat pada saat dijalankan bila dibandingkan bahasa C
maupun C++. Tapi hal inipun sangat bersifat relatif. Tergantung dari besar
2019©fauzanasrin
27 | Modul Pratikum Algoritma dan Pemrograman
pengguna layanannya.
menggunakan Python.
sainsnya.
2019©fauzanasrin
28 | Modul Pratikum Algoritma dan Pemrograman
berikut:
python versi 3.4. Bila Anda bingung yang mana linknya, silahkan
2019©fauzanasrin
29 | Modul Pratikum Algoritma dan Pemrograman
Run.
2019©fauzanasrin
30 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
31 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
32 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
33 | Modul Pratikum Algoritma dan Pemrograman
7. Bila sudah selesai, akan keluar kotak dialog sebagai berikut. Hal ini
2019©fauzanasrin
34 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
35 | Modul Pratikum Algoritma dan Pemrograman
dalam untuk menjalankan python dalam mode interaktif. Arti interaktif di sini
1. Klik start menu, pilih All Programs. Kemudian pilih Python34, dan
selanjutnya klik IDLE (Python 3.4 GUI – 32 bit). Kalau Anda menggunakan
2019©fauzanasrin
36 | Modul Pratikum Algoritma dan Pemrograman
2. Selanjutnya akan muncul jendela IDLE yang mirip dengan tampilan python
2019©fauzanasrin
37 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
38 | Modul Pratikum Algoritma dan Pemrograman
Bagian 4
Tipe data, Variabel, dan Input Output
Capaian Pembelajaran:
1. Mahasiswa mampu membedakan tipe data yang terdapat pada bahasa
pemrograman Python
2. Mahasiswa mampu memahami cara menggunakan fungsi input dan output
standar dalam bahasa Python
3. Mahasiswa mampu membuat program dengan menggunakan Variabel
dengan tipe data yang tepat
saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe
datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika
keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe
data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Dalam bahasa Python terdapat beberapa tipe data dasar, seperti terlihat
pada Tabel 1.
2019©fauzanasrin
39 | Modul Pratikum Algoritma dan Pemrograman
Menyatakan karakter/kalimat
STRING "Sisfo UMP" bisa berupa huruf angka, dll
(diapit tanda " atau ')
INTEGER 25 atau 1209 Menyatakan bilangan bulat
FLOAT 3.14 atau 0.99 Menyatakan bilangan yang
mempunyai koma
Menyatakan bilangan dalam format
HEXADECIMAL 9a atau 1d3 heksa (bilangan berbasis 16)
COMPLEX 1 + 5j Menyatakan pasangan angka real
dan imajiner
Data untaian yang menyimpan
LIST ['xyz', 786, 2.23] berbagai tipe data dan isinya bisa
diubah-ubah
Data untaian yang menyimpan
TUPLE ('xyz', 768, 2.23) berbagai tipe data tapi isinya
tidak bisa diubah
Data untaian yang menyimpan
DICTIONARY {'nama': 'adi','id':2} berbagai tipe data berupa
pasangan penunjuk dan nilai
4.2 Variabel
konstanta yang nilainya selalu tetap, nilai dari suatuvariable bisa diubah-
2019©fauzanasrin
40 | Modul Pratikum Algoritma dan Pemrograman
4.3 Deklarasi
tentang library.
2019©fauzanasrin
41 | Modul Pratikum Algoritma dan Pemrograman
Pada bahasa python tidak perlu untuk menentukan tipe data terlebih
terlebih dahulu. Variabel yang ingin digunakan akan ditulis dan langsung
diberikan nilai. Dengan pemberian nilai itulah nantinya yang menentukan tipe
nama_variabel=nilai
Contoh:
>>> x = 123.456
>>> print(x)
123.456
>>> x = "This is a string"
>>> print(x + "!") This is a string
4.5 Komentar
2019©fauzanasrin
42 | Modul Pratikum Algoritma dan Pemrograman
x = 365 y = 7
# ini adalah komentar
print(x % y) # ini adalah komentar dalam satu baris dengan perintah
# print (x // y)
# komentar lainnya
Terdapat pula jenis lain yang mirip dengan komentar yaitu adalah
dirancang untuk menjelaskan kode. Namun lebih spesifik dan memiliki sintaks
berisi penjelasan tentang fungsi di bawah baris pertama fungsi ini. Perhatikan
contoh berikut:
teriak("merdeka")
2019©fauzanasrin
43 | Modul Pratikum Algoritma dan Pemrograman
4.6.1 Input
4.6.2 Output
print()
2019©fauzanasrin
44 | Modul Pratikum Algoritma dan Pemrograman
Contoh:
>>> print(1 + 1)
2
>>> print("Hello\nWorld!")
Hello
World!
4.6.3 Latihan
Lakukanlah percobaan-percobaan pada bagian ini dengan seksama dan
python praktikum-4-1-nim.py
2019©fauzanasrin
45 | Modul Pratikum Algoritma dan Pemrograman
Bagian 5
Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan macam-macam Operator dalam bahasa
Python
2. Mahaiswa mampu menjelaskan macam-macam ekspresi dalam bahasa
Python
3. Mahasiswa mampu membuat program sederhana dengan menggunakan
operator dan ekspresi dalam bahasa Python
aritmatika maupun logika. Nilai yang padanya dilakukan operasi disebut operand.
Operator Aritmatika
Operator Perbandingan
Operator Penugasan
Operator Logika
Operator Bitwise
Operator Identitas
Operator Keanggotaan
2019©fauzanasrin
46 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
47 | Modul Pratikum Algoritma dan Pemrograman
2 buah nilai. Hasil perbandingannya adalah True atau False tergantung kondisi.
2019©fauzanasrin
48 | Modul Pratikum Algoritma dan Pemrograman
kanan
2019©fauzanasrin
49 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
50 | Modul Pratikum Algoritma dan Pemrograman
operasi logika.
2019©fauzanasrin
51 | Modul Pratikum Algoritma dan Pemrograman
operand. Operator ini beroperasi bit per bit sesuai dengan namanya. Sebagai
misal, angka 2 dalam bit ditulis 10 dalam notasi biner dan angka 7 ditulis 111.
| OR 12|10 =14
^ XOR 12^10 = 6
Carilah secara manual soal dibawah ini sesuai dengan fungsi dari
Operator Bitwise
2019©fauzanasrin
52 | Modul Pratikum Algoritma dan Pemrograman
| OR 12|10 =14
^ XOR 12^10 = 6
a. Operator (&)
Operator & berguna untuk melakukan operasi ”DAN” pada tataran bit.
12&10
0 0 0 0 1 1 0 0 12
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 0 0 10
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 0 0 12&10=8
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
2019©fauzanasrin
53 | Modul Pratikum Algoritma dan Pemrograman
Syarat:
b. Operator Or ( | )
12|10
0 0 0 0 1 1 0 0 12
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 0 0
10
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 1 1 12|10=14
27 26 25 24 𝟐𝟑 𝟐𝟐 𝟐𝟏 20
Syarat:
c. Operator XOR ( ^ )
Operator & berguna untuk melakukan operasi ”XOR” pada tataran bit.
2019©fauzanasrin
54 | Modul Pratikum Algoritma dan Pemrograman
12^10
0 0 0 0 1 1 0 0 12
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 0 0 10
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
0 0 0 0 1 1 1 1
27 26 25 24 𝟐𝟑 𝟐𝟐 𝟐𝟏 20 12^10=6
Syarat:
Operator & berguna untuk melakukan operasi ”NOT” pada tataran bit.
~12
0 0 0 0 1 1 0 0 12
27 26 25 24 𝟐𝟑 𝟐𝟐 21 20
1 1 1 1 0 0 1 1
-13
27 26 25 24 23 22 21 20
Syarat:
2019©fauzanasrin
55 | Modul Pratikum Algoritma dan Pemrograman
ditambah 1
3. Nilai 1 pada bit bagian kiri menandakan Negatif, sedangkan nilai 0 pada
12>>2 = 3
0 0 0 0 1 1 0 0 12
0 0 0 0 0 0 1 1 3
Syarat:
kelipatan 2
4. 12:2 = 6 (satu kali geser) 6:2 = 3 (dua kali geser), jadi hsilnya 3
12<<2 = 48
2019©fauzanasrin
56 | Modul Pratikum Algoritma dan Pemrograman
0 0 0 0 1 1 0 0 12
0 0 1 1 0 0 0 0 48
Syarat:
dua
a=5
b=5 2019©fauzanasrin
c=6
print(a is b)
print(a is c)
print(a is not c)
print('\n')
57 | Modul Pratikum Algoritma dan Pemrograman
i = 'Duniailkom'
j = 'Duniailkom'
print('i is j)
print('i is not j)
print('\n');
x = ['a','b','c']
y = ['a','b','c']
print(x is y)
print(' is not y)
5.1.7 Operator Keanggotaan
apakah suatu nilai atau variabel merupakan anggota atau ditemukan di dalam
2019©fauzanasrin
58 | Modul Pratikum Algoritma dan Pemrograman
foo = 'Duniailkom'
print('foo :',foo)
print('\'i\' in foo :', 'i' in foo)
print('\'k\' not in foo :', 'k' not in foo)
print('\'d\' not in foo :', 'd' not in foo)
print('\n')
bar = ['a','b','c']
print('bar :',bar)
print('\'a\' in bar :', 'a' in bar)
print('\'a\' not in bar :', 'a' not in bar)
print('\'d\' not in bar :', 'd' not in bar)
print('\n')
baz = (12,43,102,55)
print('baz :',baz)
print('102 in baz :', 102 in baz)
print('102 not in baz :', 102 not in baz)
print('35 not in baz :', 35 in baz)
2019©fauzanasrin
59 | Modul Pratikum Algoritma dan Pemrograman
1+2*3 =7
(1+2)*3=9
Atau
5*(5+(6-2)+1)
Untuk memenggal satu pernyataan agar diletakkan pada lebih satu baris
Ex:
4+\
3
Pengecualian:
kurawal.
2019©fauzanasrin
60 | Modul Pratikum Algoritma dan Pemrograman
EX:
X= (1,2,3,4,5,
6,7,8)
while Antar pernyataan ditulis dengan pemisah berupa tanda titik koma ( ; )
X=17; print(x)
a=2437
b=2347
c=7456
d=1856
a. nama=“Budi”
name=“Budi”
kamu=“ica”
dia=“iko”
2019©fauzanasrin
61 | Modul Pratikum Algoritma dan Pemrograman
Keanggotaan:
y=“JOKOWIDODO
z=1,2,3,4,5,6,7,8,9,0
2019©fauzanasrin
62 | Modul Pratikum Algoritma dan Pemrograman
Bagian 6
Struktur Kontrol
Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan konsep Struktur kontrol dasar
2. Mahasiswa mampu membuat program sederhana dengan menggunakan
struktur kontrol dasar pada bahasa Python
diantaranya adalah:
Control Structures)
Bila struktur kontrol digambarkan dalam bentuk flowchart maka dapat dilihat pada
Gambar 17.
2019©fauzanasrin
63 | Modul Pratikum Algoritma dan Pemrograman
dari sebuah program. Pada struktur kontrol berurutan program berjalan berdasarkan
sumber program hingga akhir kode sumber program. Pada umumnya contoh-
contoh program yang telah dibahas pada bagian-bagian sebelumnya, dan memiliki
statement 1
statement 2
statement 3
2019©fauzanasrin
64 | Modul Pratikum Algoritma dan Pemrograman
a=1
b=2
c=3
d=a*c
print(d)
Pada contoh program tersebut, program akan menjalankan perintah mulai dari
b, dilanjutkan pemberian nilai pada variabel c, dan diakhiri dengan pemberian nilai
d yang merupakan hasil dari perkalian a dan c untuk kemudian ditampilkan di layar
monitor.
Pada bahasa program yang umum seperti C dikenal pula istilah blok kode
program yang merupakan kumpulan perintah yang diait oleh tanda kurung
kurawal {} . Kumpulan perintah yang diapit oleh tanda tersebut akan dijalankan
sesuai dengan fungsi dari blok tersebut. Python menggunakan indentasi (spasi
putih di awal baris) untuk membatasi blok kode. Bahasa lain, seperti C, gunakan
kurung kurawal untuk membatasi blok kode, namun dengan identasi Python
6.2 Latihan
Buatlah tiga buah contoh program yang mengandung Struktur kontrol yang
telah dijelaskan.
2019©fauzanasrin
65 | Modul Pratikum Algoritma dan Pemrograman
Bagian 7
Percabangan
Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan konsep Struktur kontrol percabangan
2. Mahasiswa mampu membuat program sederhana dengan menggunakan
struktur kontrol percabangan pada bahasa Python
lain didapatkan istilah percabangan dengan nama seleksi, ada pula yang
mengandung makna yang sama, sebab pada beberapa hal berubahnya nama
jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila
katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain.
2019©fauzanasrin
66 | Modul Pratikum Algoritma dan Pemrograman
atau salah . Kondisi atau ekspresi tersebut disebut ekspresi boolean. Hasil dari
pengecekan kondisi adalah True atau False. Bila benar (True), maka pernyataan
yang ada di dalam blok kondisi tersebut akan dieksekusi. Bila salah (False),
sebagai berikut:
No Pernyataan Deskripsi
2019©fauzanasrin
67 | Modul Pratikum Algoritma dan Pemrograman
7.3 Kondisi IF
menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau
bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan
dikerjakan. Pernyataan if menguji satu buah kondisi. Bila hasilnya benar maka
if tes kondisi:
blok pernyataan if
2019©fauzanasrin
68 | Modul Pratikum Algoritma dan Pemrograman
Dalam bahasa Python, karakter spasi di awal baris 5 wajib ditulis, karena
inilah penanda blok if. Jika baris ini tidak ‘dijorokkan’ satu atau beberapa spasi,
2019©fauzanasrin
69 | Modul Pratikum Algoritma dan Pemrograman
pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka
berikut :
if kondisi:
pernyataan_pernyataan_1
else
pernyataan_pernytaan_2
x=9
y=10
terbesar=x
if x<y:
terbesar=y
print("Bilangan terbesar : ", terbesar)
else:
terbesar=x
2019©fauzanasrin
70 | Modul Pratikum Algoritma dan Pemrograman
Contoh Lainnya
#penentuan kelulusan
nilai=input("Nilai ujian (0-100) : ")
nilai=int(nilai)
if nilai>=60:
print("Lulus")
else:
print("Gagal")
Pernyataan elif (singkatan dari else … if ...) adalah jika pernyataan ada
3 kondisi atau lebih. Serangkaian elif dapat memiliki blok akhir yang lain,
yang disebut jika tidak ada ekspresi if atau elif yang Benar. Bentuk umum
2019©fauzanasrin
71 | Modul Pratikum Algoritma dan Pemrograman
If kondisi_1:
pernyataan_1
Elif kondisi_2
pernyataan_2
Elif kondisi_3
pernyataan_3
Else:
pernyataan_4
Nilai Skor
Nilai >= 90 A
Nilai < 50 E
2019©fauzanasrin
72 | Modul Pratikum Algoritma dan Pemrograman
#penentuan skor
nilai=input("Nilai ujian (0-100): ")
nilai=int(nilai)
if nilai>=90:
print("A")
elif nilai >=70:
print("B")
elif nilai >=60:
print("C")
elif nilai >=50:
print("D")
else:
print("E")
2019©fauzanasrin
73 | Modul Pratikum Algoritma dan Pemrograman
Bagian 8
dalam Stuktur IF. Artinya Jika kondisi If yang paling luar sudah terpenuhi atau
bernilai Benar maka Kondisi If yang di dalam nya baru akan Di cek. Bentuk
umumnya adalah:
if (kondisi) :
if (kondisi) :
-perintah yang akan dieksekusi jika kondisi terpenuhi-
else :
-perintah yang akan dieksekusi jika kondisi terpenuhi-
else :
-perintah yang akan dieksekusi jika kondisi terpenuhi-
2019©fauzanasrin
74 | Modul Pratikum Algoritma dan Pemrograman
gaji karyawan.
berkeluarga = True
punya_rumah = True
if punya_rumah:
print("wajib bayar pajak rumah")
else:
print("tidak wajib bayar pajak rumah")
else:
print("Gaji belum UMR")
2019©fauzanasrin
75 | Modul Pratikum Algoritma dan Pemrograman
if username == 'python':
if password == 1234:
print("Selamat Datang, Python!")
else :
print('Password Salah')
else :
print('Akun tidak terdaftar')
Sehingga tercipta sebuah program ber authentikasi atau proteksi terhadap sebuah
2019©fauzanasrin
76 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
77 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
78 | Modul Pratikum Algoritma dan Pemrograman
Bagian 9
Perulangan
Capaian Pembelajaran
5. Mahasiswa mampu menjelaskan konsep Struktur kontrol perulangan
6. Mahasiswa mampu membuat program sederhana dengan menggunakan
struktur kontrol perulangan pada bahasa Python
Secara umum, Python mengeksekusi program baris perbaris. Mulai dari baris
satu, dua, dan seterusnya. Ada kalanya, kita perlu mengeksekusi satu baris atau satu
blok kode program beberapa kali. Hal ini disebut dengan perulangan atau biasa
disebut looping atau iterasi. Pengulangan (looping) adalah suatu bagian yang
berulang sampai sebuah kondisi yang diinginkan, oleh karena itu pengulangan
2019©fauzanasrin
79 | Modul Pratikum Algoritma dan Pemrograman
pengulangan.
Pengulangan merupakan salah satu inti dari analisis kasus pada pembuatan
proses atau aksi yang harus dikerjakan secara berulang agar sebuah kasus
2019©fauzanasrin
80 | Modul Pratikum Algoritma dan Pemrograman
Pada gambar bisa dilihat bahwa perulangan juga memerlukan tes kondisi.
Bila hasil tes kondisi True, maka blok kode kembali dieksekusi. Tapi jika False,
Struktur pengulangan for biasa digunakan untuk mengulang suatu proses yang
pengulangan for tampaknya lebih efisien karena susunannya lebih simpel dan
2019©fauzanasrin
81 | Modul Pratikum Algoritma dan Pemrograman
himpunan (salah satu dari tipe data string, list, tuple, set atau dictionary).
warna = ['Merah','Biru','Kuning','Biru']
for i in warna:
print(i)
2019©fauzanasrin
82 | Modul Pratikum Algoritma dan Pemrograman
Variabel warna sebagai tipe data list menggunakan kurung SIKU [ ]. List
isi variabel.
warna = {'Merah','Biru','Kuning','Biru'}
for i in warna:
print(i)
kurung kurawal yang merupakan cara pembuatan tipe data set di dalam Python.
web = "Python"
for huruf in web:
print(huruf)
end= “ “.
for kar in “Python”
print(kar, end=“ “)
2019©fauzanasrin
83 | Modul Pratikum Algoritma dan Pemrograman
Di sini perintah range(5) akan membuat 5 buah deret yang dimulai dari angka
for i in range(5):
print(i)
Namun kita bisa mengatur jangkauan yang diinginkan. Caranya, tambah angka
for i in range(5,10):
print(i)
proses, misalnya digunakan while untuk menuliskan “Python” serratus kali atau
2019©fauzanasrin
84 | Modul Pratikum Algoritma dan Pemrograman
While kondisi:
Pernyataan
Else:
Pernyataan
#penggunaan while
Pencacah=1
While pencacah <=5:
print(“Python”)
Pencacah=pencacah+1
pemrosesan while:
1. kondisi pencacah <=5 diperiksa, karena 1 itu adalah True maka nilainya
benar
3. pernyataan:
2019©fauzanasrin
85 | Modul Pratikum Algoritma dan Pemrograman
#penggunaan while
bilangan=0
while bilangan <=11:
print(bilangan)
bilangan=bilangan+2
else:
print("Akhir while")
Bilangan=74
Deret <=120
Pada fungsi while harus ditentukan pernytaan yang sifatnya harus ada
akhir, apa bila tidak ditentukan maka pengulangan yang akan dilakukan tidak
akan berakhir
While 1:
print(“Abadi Selamanya”)
2019©fauzanasrin
86 | Modul Pratikum Algoritma dan Pemrograman
Bagian 10
lainnya, dan tidak membatasai jenis pengulangan apa yang boleh berada di
pengulangan for.
statement(i)
2019©fauzanasrin
87 | Modul Pratikum Algoritma dan Pemrograman
Inisialisasi while(Terminasi):
Proses 1
Proses 2
Proses n
Inisialisasi while(Terminasi):
Proses 1
Proses 2
Proses n
Iterasi
Iterasi
2019©fauzanasrin
88 | Modul Pratikum Algoritma dan Pemrograman
Contoh perulangan bersarang for adalah contoh program input tinggi segitiga
Berguna untuk mengakhiri suatu pengulangan pada for maupun while. Selain itu
for i in [1,2,3,4,5]:
if i==3:
break
print (i)
else:
print("Akhir for")
2019©fauzanasrin
89 | Modul Pratikum Algoritma dan Pemrograman
#Pencarian nama
daftar_nama=["Budi anto","Agus ramadhan","Caca
handika","Nisa sabyan","khairul salam","Malika
Putri","Indah ayu","Juni ningsih"]
dicari=input("Penggalan nama yg dicari: ")
indeks=0
ditemukan=False
i=dicari
while indeks<len(daftar_nama):
if dicari in daftar_nama[indeks]:
ditemukan=True
break
indeks=indeks+1
if ditemukan:
print("Nama yang anda cari: ", daftar_nama[indeks])
else:
print("tidak ada yang cocok")
dicari=input("Penggalan nama yg dicari: ")
for i in [1,2,3,4,5]:
if i==3:
continue
print(i)
else:
print("Akhir for")
2019©fauzanasrin
90 | Modul Pratikum Algoritma dan Pemrograman
Bagian 11
Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan konsep Struktur kontrol penggabungan
percabangan dan perulangan
2. Mahasiswa mampu membuat program sederhana dengan menggunakan
Struktur kontrol penggabungan percabangan dan perulangan pada bahasa
Python
Dua metode ini sering digunkan untuk applikasi atau pun system yang sifatnya
2019©fauzanasrin
91 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
92 | Modul Pratikum Algoritma dan Pemrograman
Bagian 12
Capaian Pembelajaran
1. Mahasiswa mampu menjelaskan konsep Eksepsi
2. Mahasiswa mampu mengatasi error dengan konsep Eksepsi
Pada saat menulis dan menjalankan program, kita sering dihadapkan pada
sendiri. Error dapat terjadi akibat kesalahan struktur (sintaks) program. Hal ini
>>>if x < 5
File "<stdin>", line 1
if x < 5
^
SyntaxError: invalid syntax
Kita bisa melihat bahwa penyebabnya adalah lupa titik dua pada pernyataan if.
Error juga dapat terjadi pada saat runtime (saat program berjalan). Error
seperti ini disebut eksepsi. Misalnya, bila kita membuka file yang tidak ada, maka
2019©fauzanasrin
93 | Modul Pratikum Algoritma dan Pemrograman
dengan nol akan muncul ZeroDivisionError, dan lain sebagainya. Pada saat terjadi
eksepsi, Python akan menampilkan traceback dan detail dimana kesalahan terjadi.
Contoh:
>>>1/0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
Aneka eksepsi pada python dapat dilihat dengan menuliskan perintah seperti
dir(__builtins__)
Nama-nama eksepsi pada umumnya ditandai dengan kata Error, misalnya IOError
dan KeyError. Namun tidak semua pernyataan diatas adalah nama nama eksepsi
2019©fauzanasrin
94 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
95 | Modul Pratikum Algoritma dan Pemrograman
RuntimeError Muncul saat error yang terjadi di luar semua kategori eksepsi lain
Muncul saat indentasi memiliki jumlah spasi atau tab yang tidak
TabError
konsisten
TypeError Muncul saat melakukan operasi pada tipe data yang tidak sesuai
Muncul saat referensi dibuat untuk variabel lokal dari fungsi, tapi
UnboundLocalError
tidak ada nilainya.
ValueError Muncul saat fungsi menerima argumen yang tipe datanya salah
2019©fauzanasrin
96 | Modul Pratikum Algoritma dan Pemrograman
Pada python kealahan atau error yang terjadi telah diberitahu kepada
kesalahan yang terjadi pada setiap script program. Berikut beberapa kesalahan atau
2019©fauzanasrin
97 | Modul Pratikum Algoritma dan Pemrograman
pemakai menekan tombol Ctrl+C. Contoh dibawah ini while True: pass membuat
Penyebab kesalahan di bawah ini adalah penyebutan kunci 4 yang tidak ada pada
dictionary kamus.
2019©fauzanasrin
98 | Modul Pratikum Algoritma dan Pemrograman
Pada contoh dibawah ini penyebab eksepsi karena xyz belum pernag didefinisikan
Dibawah ini contoh eksepsi SyntaxError. Penulisan yang benar seharusnya berupa:
2019©fauzanasrin
99 | Modul Pratikum Algoritma dan Pemrograman
2019©fauzanasrin
100 | Modul Pratikum Algoritma dan Pemrograman
1. file_saya=open c:\\test.txt
2. bilangan=[0,1234,45454,8,454545,900]
bilangan[9]
3. If <5:
karyawan[4]
5. print(saya)
6. saya=open(“saya”)
Untuk mencegah hal tersebut, kita harus mengantisipasi hal tersebut. Python
except. Di dalam blok try kita meletakkan baris program yang kemungkinan akan
terjadi error. Bila terjadi error, maka penanganannya diserahkan kepada blok
except.
2019©fauzanasrin
101 | Modul Pratikum Algoritma dan Pemrograman
■ try:
Pernyataan_pernyataan
except[nama_eksepsi]:
pernyataan_pernyataan_dieksekusi_kalua_ada_eksepsi
else:
pernyataan_pernyataan_dieksekusi_kalua_tak_ada_eksepsi
pembagian dengan Nol pada pernyataan print(x/y), maka Pernyataan yang terletak
pada bagian else Dijalankan, sedangkan jika terjadi operasi Pembagian dengan nol,
2019©fauzanasrin
102 | Modul Pratikum Algoritma dan Pemrograman
Contoh dua dibawah ini memunujukkan Bahwa baris yang berisi except
dilengkapi Dengan nama eksepsi yang ditangani, Yaitu ValueError. Pada keadaan
seperti itu, Bagian except hanya akan dijalankan kalua Eksepsi ValueError terjadi.
2019©fauzanasrin
103 | Modul Pratikum Algoritma dan Pemrograman
Bila ingin menangani lebih dari satu eksepsi dalam sebuah except, dapat
Gambar 32 Contoh 4
2019©fauzanasrin
104 | Modul Pratikum Algoritma dan Pemrograman
Eksepsi muncul bila terjadi error pada saat runtime atau saat program
berjalan. Akan tetapi, kita juga bisa memunculkan eksepsi dengan sengaja untuk
maksud tertentu dengan menggunakan kata kunci raise. Contohnya adalah seperti
berikut:
2019©fauzanasrin
105 | Modul Pratikum Algoritma dan Pemrograman
Bagian 13
Library
Capaian Pembelajaran
1. Mahasiswa mampu mengetahui pustaka pada python
3. Mahasiswa mampu membuat program dan menerapkan pustaka pada
python
yang kerap digunakan dalam membuat suatu program. Pustaka berisi modul built-
file I / O yang tidak dapat diakses oleh programmer Python, serta modul yang
ditulis dengan Python yang menyediakan solusi standar untuk banyak masalah
program Python.
Untuk sistem operasi mirip Unix, Python biasanya disediakan sebagai kumpulan
paket, jadi mungkin perlu menggunakan alat pengemas yang disediakan dengan
2019©fauzanasrin
106 | Modul Pratikum Algoritma dan Pemrograman
Selain pustaka standar, ada koleksi yang terus bertambah dari beberapa ribu
komponen (dari program individu dan modul hingga paket dan kerangka kerja
Beberapa diantara pustaka dasar python yang sudah tersedia ketika kita
• abs()
• min()
# using min(iterable)
num = [3, 2, 8, 5, 10, 6]
print('Minimum is:', min(num))
2019©fauzanasrin
107 | Modul Pratikum Algoritma dan Pemrograman
• max()
# using max(iterable)
num = [1, 3, 2, 8, 5, 10, 6]
print('Maximum is:', max(num))
• hex()
hexadecimal
• bin()
• oct()
• bool()
2019©fauzanasrin
108 | Modul Pratikum Algoritma dan Pemrograman
• int()
• str()
• float()
• object()
• sorted()
• sum()
• pow()
• tuple()
• type()
diberikan. Jika tiga argumen (nama, basis dan dict) dilewatkan, akan
numberList = [1, 2]
print(type(numberList))
2019©fauzanasrin
109 | Modul Pratikum Algoritma dan Pemrograman
<class 'list'>
<class 'dict'>
• chr()
• list()
• round()
Dan masih banyak fungsi lainnya yang dapat anda lihat pada link berikut
https://docs.python.org/3/library/functions.html#abs
2019©fauzanasrin
110 | Modul Pratikum Algoritma dan Pemrograman
Daftar Pustaka
Information
2019©fauzanasrin