Anda di halaman 1dari 224

1

2
KATA PENGANTAR

Bismillahir Rohmannir Rohiim Segala puji Penulis panjatkan


kehadirat Mu Ya Allah atas segala Rahmat, karunia dan
kesempatan yang telah diberikan untuk dapat mewujudkan cita
cita menulis buku tentang Teori dan Praktek Belajar Python
Programing. Buku ini di dilengkapi dengan contoh contoh
sederhana dan cocok bagi pemula, yang akan belajar bahasa
Python, didesign untuk Dosen, Mahasiswa, dan Umum,
terutama bagi Pemula.
Buku ini tidak akan terwujud tanpa dukungan dan bantuan dari
berbagai pihak. Pada kesempatan ini, tidak lupa mengucapkan
terima kasih yang sebesar besarnya bagi akademisi dan praktisi
dimana buku buku nya referensi penulis dalam menyusun buku
ini. Pihak penerbit, keluarga, teman teman propesi serta
berbagai pihak yang tidak bisa disebutkan semuanya, yang
sudah membantu mendukung terwujudnya buku ini

Bekasi, Januari 2019


Ttd

Amril Mutoi Siregar

3
DAFTAR ISI

Kata Pengantar ....................................................................... i


Daftar isi ................................................................................. ii
Daftar Gambar........................................................................ vii
BAB 1 Cara Install Python..................................................... 1
1.1 Installasi Python di Windows .......................................... 2
1.2 Installasi Python di Linux ................................................ 6
1.3 Installasi Python di Mac OS............................................. 7
1.4 Installasi Anaconda Navigator di Linux .......................... 8
1.4 Menjalankan Interpreter Python Di linux ........................ 9
BAB 2 Filosofi Pemrograman Python
2.1 ................................................................................. Fil
osofi Pemrograman Python .............................................. 10
2.2 Dasar dasar Pemrograman Python ................................... 11
2.3 Memulai Pemrograman spyder Python ............................ 13
2.4 Simpan dan Jalankan ........................................................ 15
BAB 3 Python IDE Windows dan Linux ............................... 16
BAB 4 Pengertian Pemrograman Python ............................... 20
4.1 Python Pemrograman Open Source ................................. 20
4.2 Rapid Application Development (RAD).......................... 21
4.3 Python Mendukung Berbagai Sistem Operasi ................. 21
4.4 Aplikasi Penggunaan Python ........................................... 22
4.5 Graphical User Interface (GUI) ....................................... 23
BAB 5 Pengenalan Dasar Python .......................................... 24
5.1 Persiapan Belajar Pemrograman Python .......................... 26
5.2 Mengenal Mode Interaktif Python ................................... 28
5.3 Menulis Skrip Python....................................................... 31
5.4 Alur Kerja Pembuatan Program Python........................... 33
5.5 Pemrograman Python Menggunakan PyCharm ............... 34
BAB 6 Penulisan Sintaks Python ........................................... 42
6.1 Penulisan Statement Python ............................................. 42
6.2 Penulisan String pada Python .......................................... 43
6.3 Penulisan Case pada Python ............................................ 43
6.4 Penulisan Blok Program Python ...................................... 44
4
6. 5 Cara Penulisan Komentar pada Python ........................... 46
BAB 7 Percabangan dan Perulangan ..................................... 48
7.1 Struktur Percabangan If ................................................... 49
7.2 Struktur Percabangan If/Else ........................................... 51
7.3 Struktur Percabangan If/Elif/Else .................................... 53
7.4 Memahami Perulangan .................................................... 54
7.4.1 Perulangan for ......................................................... 55
7.4.2 Perulangan while ..................................................... 57
BAB 8 Fungsi dan Prosedur pada Python .............................. 59
8.1 Cara Membuat Fungsi pada Python ................................. 59
8.2 Fungsi dengan Parameter ................................................. 61
8.3 Fungsi yang Mengembalikan Nilai .................................. 62
8.4 Variabel Global dan Lokal pada Python .......................... 64
8.5 Contoh Program dengan Fungsi ....................................... 66
BAB 9 Variabel dan Tipe Data dalam Python ....................... 72
9.1 Pengertian Variabel dan Tipe Data .................................. 72
9.2 Membuat Variabel di Python ........................................... 72
9.3 Menghapus Variabel ........................................................ 73
9.3.1 Tipe data .................................................................. 74
9.3.2 Jenis-jenis Tipe Data ............................................... 75
9.3.3 Tipe data Boolean ................................................... 76
9.4 Contoh Program Variabel dan Tipe Data ......................... 77
9.5 Konversi Tipe Data .......................................................... 77
BAB 10 Mengambil Input dan Menampilkan Output ........... 79
10.1 Cara Mengambil Input dari Keyboard ........................... 79
10.2 Cara Menampilkan Output ............................................. 80
BAB 11 Jenis Operator dalam Python ................................... 83
11.1 Operator Aritmatika ....................................................... 83
11.2 Operator Penugasan ....................................................... 85
11.3 Operator Pembandingan ................................................. 89
11.4 Operator Logika ............................................................. 92
11.5 Operator Bitwise ............................................................ 93
11.6 Operator Ternary ............................................................ 96
BAB 12 Penulisan dan Penggunaan String pada Python ....... 98
12.1 Penulisan String pada Python ........................................ 98
5
12.2 Mendefinisikan Variabel String pada Python ................ 99
12.3 Operasi String pada Python .......................................... 100
12.4 Mengindex String pada Python .................................... 102
12.5 Range Slice pada Variabel String Python .................... 102
BAB 13 Membuat Variabel dengan Tipe Data Numerik ..... 104
13.1 Pengertian Variabel pada Python ................................. 104
13.2 Tipe Data Numerik pada Python .................................. 105
13.2.1 Tipe Data Integer pada Python......................... 105
13.2.2 Tipe Data Float pada Python ............................ 105
13.2.3 Tipe Data Complex pada Python ..................... 105
13.3 Contoh Mendifinisikan Variabel pada Python ............ 106
BAB 14 Pengertian Operator Logika pada Python .............. 108
14.1 Pengertian Operator Logika pada Python .................... 108
14.2 Operasi Matematika pada Logika Python .................... 108
14.3 Menggunakan Jenis Operator Logika .......................... 109
14.3.1 Operator AND ................................................... 109
14.3.2 Operator OR ...................................................... 110
14.3.3 Operator XOR ................................................... 111
14.3.4 Operator NOT ................................................... 112
BAB 15 Struktur Data List................................................... 113
15.1 Cara Membuat List di Python ...................................... 113
15.2 Cara Mengambil Nilai dari List ................................... 114
15.2.1 Menambahkan Item List ................................... 116
15.2.2 Mengganti Nilai List ......................................... 116
15.2.3 Menghapus Item di List .................................... 119
15.2.4 Memotong list ................................................... 120
15.2.5 Operasi List ....................................................... 120
15.2.6 List Multi Dimensi ............................................ 122
BAB 16 Pengertian dan Membuat List pada Python ........... 124
16.1 Cara Membuat List pada Python .................................. 124
16.2 Membuat List dalam bentuk Vektor ............................ 125
16.3 Membuat List dalam bentuk N..................................... 125
16.4 Membuat List dengan Nilai String ............................... 126
16.2.1 Array Addressing | Mengindex List pada Python ..... 127

6
16.2.2 Address |Mengambil Nilai Element List dengan Index
Tertentu ................................................................................ 128
16.2.3 Address | Mengubah Nilai Element List dengan Index
Tertentu ................................................................................ 129
16.2.4 Address | Menambah Element List ........................... 131
16.2.5 Address | Menghapus Element List .......................... 133
16.3 pop() | Menghapus Element dengan index tertentu atau
terakhir ................................................................................. 134
16.4 del | Menghapus Element dengan index tertentu ......... 135
16.5 clear() | Mengosongkan List......................................... 137
BAB 17 Pengenalan Bahasa Python .................................... 138
17.1 Cara Membaca File di Python ...................................... 139
17.2 Membaca File Per Baris ............................................... 141
17.3 Membaca Semua Teks dalam File ............................... 143
17.4 Cara Menulis File di Python ........................................ 145
17.5 Menyisipkan Data ke File ............................................ 147
17.6 Membaca dan Menulis File dengan Mode "r+" ........... 149
17.7 Menggunakan with dan as............................................ 150
BAB 18 Tuple dalam Python ............................................... 152
18.1 Cara Membuat Tuple di Python ................................... 152
18.2 Membuat Tuple Kosong dan Singleton ....................... 153
18.3 Mengakses Nilai Tuple ................................................ 153
18.4 Memotong Tuple .......................................................... 154
18.5 Mengambil Panjang Tuple ........................................... 155
18.6 Tuple Nested ................................................................ 156
18.7 Sequence Unpacking .................................................... 156
BAB 19 Fungsi dan Prosedur pada Python .......................... 158
19.1 Cara Membuat Fungsi pada Python ............................. 158
19.2 Fungsi dengan Parameter ............................................. 160
19.3 Fungsi yang Mengembalikan Nilai .............................. 161
19.4 Variabel Global dan Lokal pada Python ...................... 162
19.5 Contoh Program dengan Fungsi ................................... 164
BAB 20 Dictionary pada Python ......................................... 171
20.1 Pengertian Dictionary pada Python.............................. 171
20.2 Membuat Dictionary .................................................... 172
7
20.3 Mengakses Nilai Item dari Dictionary ......................... 174
20.4 Mengubah Nilai Item Dictionary ................................. 176
20.5 Menghapus Item dari Dictionary ................................. 177
20.6 Menambahkan Item ke Dictionary............................... 178
20.7 Mengambil Panjang Dictionary ................................... 178
BAB 21 Penanganan Error pada Python .............................. 180
21.1 Syntax Errors................................................................ 180
21.2. Exceptions ................................................................... 181
21.2.1 ZeroDivisionError ..................................................... 181
21.2.2 NameError ................................................................. 181
21.2.3 TypeError .................................................................. 182
BAB 22 Parsing XML dengan DOM API ........................... 183
22.1 Parsing XML di Python ............................................... 183
22.2 Menambahkan Node pada XML .................................. 188
BAB 23 Parsing Data dari JSON ......................................... 192
23.1 Parsing File JSON di Python ....................................... 192
23.1.1 Membuat File JSON.......................................... 192
23.1.2 Percobaan di Iterpreter ...................................... 193
23.2 Parsing JSON dari URL Web Service di Python ......... 195
23.2.1 Percobaan di Postman ....................................... 195
23.2.2 Penguraian Informasi ........................................ 196
BAB 24 API Simsimi + Pemrograman PyGTK .................. 198
24.1 Mendapatkan Kunci API.............................................. 198
24.2 Membuat Request ........................................................ 199
24.3 Membuat Aplikasi Chat ............................................... 201
24.3 Pemrograman PyGTK .................................................. 202
24.5 Persiapan Pemrograman PyGTK ................................. 203
24.6 Contoh Program Membauat Jendela ............................ 204
24.7 Penjelasan Method ....................................................... 206
24.8 Membuat Jendela dengan Class ................................... 206
24.9 Membuat Tombol dan Label Teks ............................... 209
DAFTAR PUSTAKA .......................................................... 213
PROFILE PENULIS

8
DAFTAR GAMBAR

Gambar 1.1 Tampilan Anaconda Navogator .......................... 1


Gambar 1.2 Tampilan python.org .......................................... 2
Gambar 1.3 Tampilan Python 3.4.2 ....................................... 2
Gambar 1.4 Tampilan select user Python .............................. 3
Gambar 1.5 Pilih lokasi install Python................................... 4
Gambar 1.6 Pilih customize Python ....................................... 4
Gambar 1.7 Pilih setelah customize Python........................... 5
Gambar 1.8 Tampilan Python shell........................................ 5
Gambar 1.9 Tampilan Python interpreter .............................. 6
Gambar 1.10 Tampilan Python interpreter linux ................... 9
Gambar 2.1 Tampilan Spyder Python .................................... 14
Gambar 2.2 Program Spyder Python .................................... 14
Gambar 2.3 Program simpan dan jalankan ........................... 15
Gambar 3.1 tampilan program spyder ................................... 17
Gambar 3.2 Tampilan program Jupyterlab ............................ 18
Gambar 3.3 Tampilan program PyCharm .............................. 19
Gambar 5.1 Perbandingan Coding Python dengan Lain ........ 25
Gambar 5.2 Tampilan Mode Interaktif python di Linux ....... 28
Gambar 5.3 Tampilan untuk input dan output ....................... 29
Gambar 5.4 Tampilan teks editor menulis skrip .................... 31
Gambar 5.5 Tampilan menyimpan dteks editor ..................... 32
Gambar 5.6 Tampilan direktori yang disimpan ..................... 32
Gambar 5.7 Alur Kerja Program Python ............................... 33
Gambar 5.8 Download PyCharm ........................................... 34
Gambar 5.9 Tampilan Root .................................................... 35
Gambar 5.10 Tampilan direktori Opt ..................................... 35
Gambar 5.11 Tampilan untuk run .......................................... 36
Gambar 5.12 Complete Instalations ....................................... 37
Gambar 5.13 Setting Enable file ............................................ 37
Gambar 5.14 Periksan PyCharm ............................................ 38
Gambar 5.15 Tampilan PyCharm Community Edition ......... 38
Gambar 5.16 Tampilan isi nama project ................................ 39
Gambar 5.17 Tampilan area kerja PyCharm .......................... 39
9
Gambar 5.18 Membuak project baru ..................................... 40
Gambar 5.19 Tampilan nama project baru............................. 40
Gambar 5.20 Tampilan menjalankan Projectnya ................... 41
Gambar 6.1Tampilan Blok Program ...................................... 44
Gambar 7.1Tampilan Percabangan ........................................ 48
Gambar 7.2 Tampilan Percabangan if.................................... 49
Gambar 7.3 Tampilan Hasil Percabangan if .......................... 51
Gambar 7.4 Tampilan Percabangan if/else ............................ 52
Gambar 7.5 Tampilan hasil Percabangan if/else .................... 52
Gambar 7.6 Tampilan Percabangan if/elseif/else .................. 53
Gambar 7.7 Tampilan hasil Percabangan if/elseif/else .......... 54
Gambar 10.1 Tampilan Flow Input output............................. 79
Gambar 24.1 Tampilan API configuration .......................... 199
Gambar 24.2 Tampilan PyGTK for python ......................... 203

10
BAB 1
Cara Install Python

Sebelum kita memulai pemrograman bahasa Python, terlebih


dahulu dilakukan installasi Python komputer atau laptop yang
digunakan. Setelah itu, interpreter bahasa python dapat
dijalankan, baik menggunakan command promt pada sistem
operasi Windows, terminal pada sistem operasi Linux, atau IDE
Python untuk mempermudah pengembangan suatu aplikasi.
Berikut cara install Python di Windows, Linux atau Mac OS.
Untuk melakukan installasi Python, dapat menggunakan
Python original dari situs resmi atau sumber lain. Penggunaan
Python dari sumber lain biasa lebih mempermudah dalam
penggunaan lebih lanjut, seperti penggunaan library NumPy,
ScriPy, ScyPy, dan matplotlib. Pada buku ini disarankan
menggunakan installasi Python dari sumber lain misalnya
Anaconda Navigator. Software ini menyediakan IDE Spyder,
Jupyter, serta Visual Studio Code yang dapat mempermudah
menulis kode Python.

Gambar 1.1 Tampilan Anaconda Navogator


11
1.1 Installasi Python di Windows
1. Download Python untuk Windows
Kunjungi link berikut untuk mendownload Python,
disarankan versi Python terbaru.
https://www.python.org/downloads/windows/ atau Python v3.61
Windows.

Instalasi python di Windows sangat mudah. Langkah-


langkanya hampir sama seperti menginstal software Windows
pada umumnya, next-next-finish.
Perhatikan ada sedikit konfigurasi yang harus dipilih ditengah
tengah proses instalasi, agar perintah Python dapat agar
dikenali di cmd atau command prompt.
di situs resmi Python yang akan diinstal dalam panduan ini
adalah python versi 3. Download python.org.

Gambar 1.2 Tampilan python.org


2. Pilih File python-3.msi

12
Setelah selesai download, kita akan mendapatkan file python-
3.4.2.msi. File python-3.4.2.msi adalah file instalator python.
File ini akan melakukan instalasi ke sistem windows.
Klik dua kali untuk mengeksekusinya. Seperti file gambar di
bawah ini.

Gambar 1.3 Tampilan Python 3.4.2


3. Pilih User
Tahapan untuk memilih siapa saja yang boleh memakai
python.
Pilih Install for all users.

Gambar 1.4 Tampilan select user Python

13
4. Lokasi Instalasi
Kita menentukan lokasi python akan diinstal. Contohnya kita
letakkan di C:\python34\, kemudian klik next.

Gambar 1.5 Pilih lokasi install Python


5. Kostumisasi
Kita menentukan fitur-fitur yang akan diinstal. Jangan lupa
untuk mengaktifkan “Add python.exe to path” agar perintah
python dikenali pada CMD (Command Prompt).

Gambar 1.6 Pilih customize Python

14
Setelah diaktifkan, akan menjadi seperti ini:

Gambar 1.7 Pilih setelah customize Python


6. Finish
Klik finish.
Uji coba Python
Pertama, kita coba dulu membuka Python Shell. Silahkan buka
Start Menu kemudian cari Python Shell.

Gambar 1.8 Tampilan Python shell

15
Kemudian coba dengan Python dari Cmd, ketik perintah
python untuk masuk ke Python Shell dari Cmd.

Gambar 1.9 Tampilan Python interpreter


Jika tampilan seperti diatas berarti anda berhasil install Python.

1.2 Installasi Python di Linux


1. Download Python untuk Linux
Kunjungi link berikut untuk mendownload Python,
disarankan versi Python terbaru.
https://www.python.org/downloads/source/ atau Python
v3.65 Linux
2. Ekstrak File Dwonload
3. Buka Direktori Folder File
4. Jalankan Melalui Terminal

16
Buka terminal dengan melakukan klik kanan pada
direktori folder file, pilih Open in terminal. Jalankan
perintah dengan otoritas super user contoh diawali
dengan sudo (Ubuntu) pada perintah no 1.
1./configure script
1 make
1 make install

Python Terinstall
Langkah ini menginstal Python pada /usr/local/bin dan
usr/local/lib/PythonXX dengan XX adalah kode versi
Python.

1.3 Installasi Python di Mac OS


1. Download Python untuk Mac OS
Kunjungi link berikut untuk mendownload Python,
disarankan versi Python terbaru.
https://www.python.org/downloads/mac-osx/ atau
Python v3.65 Mac OS
2. Klik 2x untuk Melakukan Installasi Python
Lakukan installasi Python hingga selesai.

17
1.4 Install Python Anaconda Navigator
Untuk melakukan installasi Python menggunakan Anaconda
Navigator, dapat mendownload software secara gratis pada
situs resminya.
https://www.anaconda.com/download/
Dwonload software Anaconda sesuai dengan sistem operasi
yang anda gunakan. Untuk Windows dan Mac OS, anda dapat
melakukan installasi dengan membuka langsung file hasil
download di situs Anaconda Navigator.
Installasi Anaconda Navigator di Linux
1. Buka Direktori yang Memuat File
Misalkan nama filenya Anaconda3-5.1.0-Linux-x86.sh
2. Jalankan Terminal
Klik kanan pada direktori yang memuat file yang telah
didownload, pilih Open in terminal. Jalankan perintah
dengan otoritas super user, misalnya sudo untuk
Ubuntu.
1bash ./Anaconda3-5.1.0-Linux-x86.sh
3. Lakukan Proses Installasi
Untuk membuka Anaconda Navigator pada Linux, jalankan
pada terminal pada direktori awal, anda dapat menuju direktori
awal dengan melakukan eksekusi perintah cd pada terminal
yang masih terbuka.

18
Disarankan untuk tidak menggunakan otoritas Super User
untuk membukan Anaconda Navigator pada Linux.
1 anaconda-navigator

1.5 Menjalankan Interpreter Python


Untuk menguji apakah Python telah berhasil diinstall anda
dapat menjalankan perintah berikut melalui command prompt
atau terminal.
1 python

Gambar 1.10 Tampilan Python interpreter linux


Dengan terminal tersebut sudah dapat menjalankan interpreter
python.

19
BAB 2
Filosofi Pemrograman Python

2.1 Filosofi Pemrograman Python


Bahasa pemrograman Python ditujukan untuk menghasilkan
bahasa pemrograman sederhana yang mampu memberikan
fitur-fitur dari bahasa pemrograman lain termasuk C++, C, dan
Java. Sehingga Python mampu memberikan cita rasa
pemrograman yang cepat, pembelajaran yang mudah, serta
mempermudah pengembangan software.
Python menjadi bahasa pemrograman open source terbesar.
Setiap orang dapat berkontribusi untuk membangun program-
program yang dapat digunakan oleh orang lain dalam
programnya. Hal ini disebut dengan package atau module.
Tercatat untuk tahun 2018, terdapat 117.181 module yang
dibuat oleh seluruh developer dan dibagikan sebagai repository
Python.
“Filosofi Python adalah sebagai bahasa pemrograman
multipurpose, portable, object-oriented, dan high level programming
yang memberikan lingkungan interaktif untuk menulis kode secara
minimalis“

20
2.2 Dasar dasar pemrograman Python
1. Multipurpose
Python merupakan bahasa pemrograman multiguna
(multipurpose). Terdapat banyak modul yang
mempermudah berbagai disiplin ilmu misalnya
scientific computation, statistic, networking,
cryptography, game development, GUI, machine
learning, image processing, plotting, database,
HTML/XML parsing, natural language processing, dan
testing.
2. High Level Language
Python merupakan high level programming language
atau bahasa pemrograman tinggi. Dalam hal
pemrograman secara umum, dikenal bahasa
pemrograman rendah dan bahasa pemrograman tinggi.
Bahasa pemrograman rendah melakukan komunikasi
langsung menggunakan bahasa mesin untuk
berkomunikasi dengan hardware. Sedangkan bahasa
pemrograman tinggi menggunakan library untuk
melakukan komunikasi dengan hardware. Library ini
berfungsi untuk melakukan terjemahan bahasa tinggi ke
bahasa mesin.

21
3. Object Oriented Programming
Python menggunakan fundamental pemrograman
berorientasi objek atau object oriented programming.
Bahasa pemrograman tradisional melakukan komputasi
secara natural, dalam artian semua harus didefinisikan
terlebih dahulu untuk dilakukan proses secara runut.
Dalam perkembangan selanjutnya, dikenal object
oriented programming (OOP). Fundamental ini
membagi kode menjadi blok-blok yang dieksekusi
secara paralel sebagai tread pemrosesan yang disebut
dengan object. Dalam hal ini metode OOP akan
melakukan eksekusi dengan berorientasi pada object.
Object dapat berupa function dan class.
4. Interactive Environtment
Syntax pemrograman pada Python merupakan turunan
dari syntax yang digunakan bahasa C dan UNIX.
Sebagain besar syntax Python mempunyai kesamaan
dengan bahasa pemrograman C. Dengan mengadopsi
lingkungan UNIX, bahasa pemrograman Python dapat
diajalan dalam mode console. Ditambah dengan syntax-
syntax yang dibuat untuk mempermudah pembelajaran
seperti help() membuat Python menjadi bahasa
pemrograman interaktif.

22
5. Minimalistic Design
Struktur kode yang minimalis membuat bahasa
pemrograman Python mempunyai tingkat keterbacaan
yang jauh lebih mudah dari bahasa pemrograman
lainnya. Seperti penggunaan tabulasi atau indentasi
sebagai pembatas struktur. Filosofi terkait minimalisasi
syntax terdapat pada dokumen yang diterbitkan Tim
Peters yang berjudul The Zen of Python.
6. Portability
Python didukung oleh komunitas open source-nya. Hal
ini membuat Python dapat berjalan di berbagai
platform. Termasuk Linux, Microsoft Windows, Solaris,
Macintosh, dan SonyPlaystation.
7. Extensibilty
Python mempunyai ratusan ribu modul yang dapat
digunakan untuk mempermudah pengembangan suatu
software atau riset. Misalnya modul untuk menghitung
integral, pengguna dapat membuat program tanpa harus
membuat syntax yang dapat menghitung integral.

2.3 Memulai Pemrograman Python


Untuk memulai pemrograman python dapat dilakukan melalui
IDE. Pada artikel ini digunakan IDE Spyder. Syntax dapat

23
dieksekusi melalui console (misalnya IPython) maupun dalam
bentuk file melalui editor. File syntax python disimpan dalam
format (.py).

Gambar 2.1 Tampilan Spyder Python


1. Buka IDE yang anda gunakan
2. Membuat Program Sederhana
Program Hello World
1 print("Hello World")

Gambar 2.2 Program Spyder Python

24
2.4 Simpan dan Jalankan
Misalnya save nama program dengan nama
(hello_world.py). Selanjutnya program dapat dijalankan
dan output dihasilkan pada console.

Gambar 2.3 Program simpan dan jalankan

25
BAB 3
Python IDE Windows dan Linux

Sebagai bahasa pemrograman interpretatif, banyak developer


yang mengembangkan Python IDE Windows dan Linux untuk
memberikan layanannya. Python IDE atau Integrated
Development Environtment adalah software yang membantu
developer untuk mengembangkan aplikasi dengan
menggunakan bahasa pemrograman Python yang dilengkapi
GUI. Peggunaan Python IDE, dapat mempermudah kita untuk
menulis kode dan menjalankan kode Python. Berikut artikel
review Python IDE Windows Linux terbaik dan gratis.
1. Spyder
Spyder adalah kependekan dari The Scientific PYthon
Development EnviRonment yang merupakan IDE yang
memfokuskan untuk melakukan pemrograman di ranah
scientific atau keilmuan. IDE ini tersedia untuk sistem
operasi Windows, Linux, dan Mac OS. Sypder juga
didistribusikan secara langsung pada software
Anaconda.

26
Gambar 3.1 Tampilan program spyder

Spyder mempunyai user interface seperti text editor


dengan fitur syntax highlighter untuk mempermudah
keterbacaan kode. Selain itu tersedia fitur Interactive
console, Documentation viewer, Variable explorer, Find
in filfes, File explorer, dan History log. Fitur-fitur ini
sangat mendukung pengguna dengan latar belakang
pemrograman menggunakan MATLAB dan RStudio.
Download Spyder

2. JupyterLab
JupyterLab adalah IDE Python yang dibangun dari web
server komputer pengguna dalam bentuk aplikasi
berbasis web. JupyterLab diterbitkan sejak tahun 2014

27
dan telah menjadi pilihan sebagai IDE Python
khususnya analisis data. Dengan menggunakan
arsitektur berbasis web server, IDE ini menjadi sangat
ringan.

Gambar 3.2 Tampilan program Jupyterlab

JupyterLab memungkinkan pengguna untuk melakukan


ekspor data hasil visualisasi seperti matplotlib kebentuk
html dan pdf. Hal ini akan mempermudah pengguna
untuk membagikan hasil analisis data, baik untuk
presentasi maupun diupload ke situs web atau blog.
JupyterLab tersedia untuk sistem operasi Linux,
Windows, dan Mac OS.
Download JupyterLab

28
3. PyCharm
PyCharm adalah IDE Python yang dikembangkan oleh
JetBrains‟s. IDE ini sangat direkomendasikan bagi yang
terbiasa dengan IDE bahasa pemrograman lain yang
didstribusikan oleh JetBrain‟s. IDE ini tersedia gratis
untuk versi komunitas. Tersedia untuk sistem operasi
Linux, Windows, dan Mac OS.

Gambar 3.3 Tampilan program PyCharm


Sama dengan Spyder dan JupiterLab, PyCharm juga
dapat diintegrasikan dengan library-library Python
seperti NumPy, ScyPy, MatplotLib, dan lain-lain.
PyCharm memiliki fitur-fitur pendukung seperti code
editor, syntax highlighter, debugger, integrasi GIT,
SVN, dan Mercurial. Download PyCharm

29
BAB 4
Pengertian Pemrograman Python

Pengertian bahasa pemrograman python adalah bahasa


pemrograman tingkat tinggi yang dapat melakukan eksekusi,
sejumlah intruksi multiguna secara langsung (interpretatif)
dengan metode orientasi objek (Object Oriented Programming)
serta menggunakan semantik dinamis untuk memberikan
tingkat keterbacaan syntax. Sebagai bahasa pemrograman
tingkat tinggi, python dapat dipelajari dengan mudah karena
sudah dilengkapi dengan manajemen memori otomatis
(pointer).

4.1 Python Pemrograman Open Source


Python dapat digunakan secara bebas, bahkan untuk
kepentingan komersial sekalipun. Banyak perusahaan yang
mengembangkan bahasa pemrograman python secara
komersial juga memberikan layanannya. Misalnya Anaconda
Navigator, adalah salah satu aplikasi untuk pemrograman
python yang dilengkapi dengan tool-tool pengembangan
aplikasi.

30
4.2 Rapid Application Development (RAD)
Python diklaim mampu memberikan kecepatan dan kualitas
untuk membangun aplikasi bertingkat tinggi (Rapid
Application Development). Hal ini didukung oleh adanya
library dengan modul-modul baik standar maupun tambahan
misalnya NumPy, SciPy, dan lain-lain. Python juga mempunyai
komunitas yang besar sebagai tempat tanya jawab
memecahkan masalah.
Mesin pencari Google adalah contoh nyata dari penggunaan
bahasa pemrograman python dalam kehidupan sehari-hari.
Mesin pencari ini termasuk Rapid Application Development, ia
tidak hanya berguna untuk mencari halaman website. Kolom
pencarian Google juga dapat digunakan sebagai kalkulator,
membuat grafik fungsi, memprediksi cuaca, memprediksi
harga saham, terjemahan, mencari dengan gambar,
menanyakan hari, pemesanan tiket pesawat, dan lain-lain.

4.3 Python Mendukung Berbagai Sistem Operasi


Syntax python dapat dijalankan dan ditulis untuk membangun
aplikasi di berbagai sistem operasi.
1. Linux/Unix
2. Microsoft Windows
3. Mac OS

31
4. Android
5. Java Virtual Machine
6. Symbian OS
7. Amiga
8. Palm
9. OS/2

4.4 Aplikasi Penggunaan Python


Python digunakan di berbagai bidang pengembangan. Berikut
beberapa aplikasi penggunakan python yang paling populer,
1. Website dan internet
Bahasa pemrograman python dapat digunakan sebagai
server side yang diintegrasikan dengan berbagai internet
protokol misalnya HTML, JSON, Email Processing,
FTP, dan IMAP. Selain itu, python juga mempunyai
library untuk pengembangan internet.

2. Penelitian ilmiah dan Numerik


Python dapat digunakan untuk melakukan riset ilmiah
untuk mempermudah perhitungan numerik. Misalnya
penerapan algoritma KNN, Naive Bayes, Decision Tree,
dan lain-lain.

32
3. Data Science dan Big Data
Python memungkinkan untuk melakukan analisis data
dari database big data.

4. Media pembelajaran pemrograman


Python dapat digunakan sebagai media pembelajaran di
universitas. Python sangat mudah dan hemat untuk
dipelajari sebagai Object Oriented Programming
dibandingkan bahasa lainnya seperti MATLAB, C++,
dan C#.

4.5 Graphical User Interface (GUI)


Python dapat digunakan untuk membangun interface sebuah
aplikasi. Tersedia library untuk membuat GUI menggunakan
python, misalnya Qt, win32extension, dan GTK+.
1. Pengembangan Software
Python menyediakan dukungan struktur kode untuk
mempermudah pengembangan software.
2. Aplikasi bisnis
Python juga dapat digunakan untuk membuat sistem
informasi baik untuk bisnis dan instansi.

33
BAB 5
Pengenalan Dasar Python

Belajar bahasa pemrograman python sangat mudah, sekarang


ini sangat popular dikalangan ilmuan atau researcher, karena
bahasa python baik digunakan untuk pengujian Artificial
intelligence. Untuk memahami bahasa python ada beberapa hal
yang harus diketahui.
Python merupakan bahasa pemrograman tingkat tinggi yang
dibuat oleh Guido van Rossum, dia adalah programmer
komputer berkewarganegaraan Belanda yang lebih di kenal
sebagai pencipta dan "Benevolent Dictator for Life" dari bahasa
pemrograman Python yang artinya dia hanya akan memberikan
keputusan akhir jika dibutuhkan.
Python banyak digunakan untuk membuat berbagai macam
program, seperti: program CLI, Program GUI (desktop),
Aplikasi Mobile, Web, IoT, Game, Program untuk Hacking,
dan sebagainya.
Python juga dikenal dengan bahasa pemrograman yang mudah
dipelajari, karena struktur sintaknya rapi dan mudah dipahami.
(Python bagus untuk pemula yang belum pernah coding)
Berikut perbedaan bahasa python , C++ dan JAVA

34
Gambar 5.1 Perbandingan Coding Python dengan Lain
Python memang sangat sederhana dibandingkan bahasa yang
lainnya. Tidak perlu banyak aturan membuat program Hello
World!.
Defenisi bahasa python adalah sebagai berikut:
“Python is a programming language that lets you work quickly
and integrate systems more effectively”.

Beikur alasan kita kenapa belajar pemrograman Python.


1. Cocok digunakan untuk mengolah data science
2. Mudah dipelajari
3. Banyak digunakan di perusahaan besar
4. Banyak digunakan para ilmuan dibidang computer
terutama machine learning
5. Banyak digunakan para peneliti / researcher
35
5.1 Persiapan Belajar Pemrograman Python
Peralatan yang harus dipersiapkan untuk belajar pemrograman
python adalah sebagai berikut:
1. Python: Interpreter yang menerjemahkan bahasa
python ke bahasa mesin, sehingga program bisa
dijalankan.
2. Teks Editor/IDE: Program yang digunakan untuk
menulis kode.
Bagi pengguna Linux, Python tidak perlu diinstal. Karena
Sebagian besar distro Linux sudah menyediakannya secara
default.
Untuk mengeceknya, silahkan ketik perintah python --
version di terminal.
$ python --version

Python 2.7.12
Bagi pengguna Windows, silahkan baca Cara Install Python di
Windows dibab sebelumnya.
Python memiliki versi saat ini ada dua macam yaitu Python
Versi 2 dan Python Versi 3. Adapun perbedaannya adalah
Python versi 2 merupakan versi yang banyak digunakan saat
ini, baik dilingkungan produksi dan pengembangan.

36
Sementara Python versi 3 adalah pengembangan lanjutan dari
versi 2. Python 3 memiliki lebih banyak fitur dibandingkan
Python 2.
Untuk membuka Python 2 kita hanya menggunakan perintah
python saja, sedangkan Python 3 menggunakan perintah
python3.

-$ python –version

Pyhton 2.7.12
-$ python3 –version

Pyhton 2.7.12
Untuk yang baru belajar disarankan menggunakan versi 2.
Sementara untuk yang sudah mahir, bisa mencoba yang versi 3.
Siapkan Teks Editor/IDE untuk Menulis Kode, Teks editor
yang digunakan untuk menulis program python bisa apa saja.
Bahkan Notepad pun bisa.
Pada Linux, banyak sekali pilihan teks editor yang bisa
digunakan.
Untuk teks editor berikut referesi untuk dibaca:
 6 Teks Editor Berbasis Teks (CLI) di Linux untuk
Menulis Kode
 [Review] Text Editor Visual Studio Code di Linux

37
Selain teks editor, kita juga bisa menggunakan IDE
(Integereted Development Environtment). Namun, nanti kita
akan bahas belakangan.
Untuk saat ini kita pakai teks editor saja dulu, biar lebih paham
konsep pemrograman.

5.2 Mengenal Mode Interaktif Python


Mode interaktif merupakan fasilitas/fitur yang disediakan oleh
Python sebagai tempat menulis kode secara interaktif.
Fitur ini dikenal juga dengan Shell, Console, REPL (Read–
Eval–Print Loop), interpreter, dan lain lain.
Cara membuka mode interaktif adalah dengan mengetik
perintah python pada terminal.

Gambar 5.2 Tampilan Mode Interaktif python di Linux


Untuk keluar dari mode interaktif tekan Ctrl+d atau ketik
perintah exit().
38
Tanda >>> adalah artinya python siap menerima perintah.
Terdapat juga tanda ... yang berarti secondary prompt atau
sub prompt, biasanya muncul saat membuat blok kode dan
menulis perintah tunggal dalam beberapa baris.
Mari kita coba memberikan perintah print, perintah ini
berfungsi untuk mencetak teks ke layar.
Cobalah tulis print "Hello World" kemudian tekan Enter.

Gambar 5.3 Tampilan untuk input dan output


Perintah yang kita tulis langsung dieksekusi dan ditampilkan
hasilnya. Inilah mode interaktif, setiap kode atau perintah yang
diketik akan direspon langsung oleh python.
Kita bisa memanfaatkan mode interaktif ini untuk:
 Uji coba suatu fungsi
 Eksperimen modul tertentu
 Kalkulator
39
 Mencari bantuan tentang fungsi tertentu dll
Hal yang perlu kita coba adalah mencari bantuan tentang
fungsi tertentu, karena akan membantu sekali dalam
mempelajari python.
Ada dua fungsi yang digunakan untuk mencari bantuan:
1. fungsi dir() untuk melihat fungsi apa saja yang
tersedia pada sebuah modul.
2. fungsi help() untuk membuka dokumentasi suatu
fungsi.
Sebgai contoh, kita akan coba mencari tahu tentang
penggunaan modul Math. Pertama kita impor dulu modulnya
ke mode interaktif.
>>> import math

Setelah itu kita bisa melihat fungsi apa saja yang tersedia di
modul tersebut.
>>> dir(math)

['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin',


'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh',
'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor',
'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp',
'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians',
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']

40
Lalu, kita bisa cari tahu cara penggunaan fungsi-fungsi tersebut
dengan help(). Misalkan ingin cari tahu cara penggunaan
fungsi pow(), maka kita harus memberikan perintah
help(math.pow). Bantuan pada fungsi pow dalam modul
matematika :pow(...)
pow(x, y)
Return x**y (x to the power of y).
(END)
*untuk keluar dari dokumentasi tekan q

5.3 Menulis Skrip Python


Program yang kita tulis dalam mode interaktif tidak akan
disimpan. Setelah mode interaktif ditutup, program akan
hilang. Oleh karena itu, kita harus membuat skrip.
Silahkan gunakan teks editor untuk menulis skrip seperti di
bawah ini.

Gambar 5.4 Tampilan teks editor menulis skrip

41
Setelah itu simpan dengan nama hello_world.py

Gambar 5.5 Tampilan menyimpan dteks editor


Kemudian untuk menjalankan skripnya, gunakan perintah
berikut:
python nama_skrip.py

Pastikan mengetik perintah tersebut pada direktori tempat


menyimpan skripnya.

Gambar 5.6 Tampilan direktori yang disimpan

42
5.4 Alur Kerja Pembuatan Program Python

Gambar 5.7 Alur Kerja Program Python


1. Membuat skrip python dengan teks editor.
2. Skrip python diterjemahkan ke dalam kode biner oleh
(intepreter) python, sehingga komputer dapat
mengerti arti perintah tersebut.
3. Komputer mengerjakan perintah tersebut.
Sampai tahap ini, kita sudah tahu cara membuat program
Python.
Selanjutnya, kita akan membuat program Python menggunakan
IDE PyCharm.

43
5.5 Pemrograman Python Menggunakan PyCharm
PyCharm merupakan IDE terbaik untuk pemrograman python.
PyCharm dibuat oleh JetBrains.
Ada dua versi PyCharm:
1. Versi Profesional (Trial 30 hari) – Memiliki fitur lebih
banyak untuk pemrograman python dan web.
2. Versi Komunitas (Gratis dan opensource) – Fiturnya
standar untuk pemrograman python.
Pada buku ini, kita akan menggunakan PyCharm versi
Komunitas.
Instalasi PyCharm di Linux, Pertama, pastikan komputermu
sudah terinstal JDK (Java Development Kit) atau JRE. Karena
PyCharm terbuat dari Java dan dia membutuhkan JRE untuk
berjalan. Silahkan baca Cara Instal JDK dan JRE di Linux.
Silahkan download PyCharm di website JetBrains.

Gambar 5.8 Download PyCharm

44
Pastikan men-download yang versi komunitas.
Setelah itu, ikuti langkah-langkah berikut untuk menginstalnya:
1. Buka File manager sebagai root.

Gambar 5.9 Tampilan Root


2. Cari File PyCharm yang sudah didownload tadi,
kemudian ekstrak ke direktori /opt.

Gambar 5.10 Tampilan direktori Opt

45
Pada gambar di atas, Saya menggunakan F3 untuk
memecah tampilan (tergantung dari file manager yang
kamu gunakan).
3. Buka kembali File Manager sebagai user biasa.
Kemudian masuk ke /opt/pycharm-community-

2017.1.2/bin dan klik ganda pada file


pycharm.sh, lalu pilih run.

Gambar 5.11 Tampilan untuk run

4. Tungulah sebentar, maka akan terbuka jendela baru.


Pilih Don not import settings, kemudian klik
OK.

46
Gambar 5.12 Complete Instalations
5. Jendela sambutan akan terbuka, silahkan centang
“Enable opening file…” agar perintah charm
dikenali di terminal. Setelah itu klik Ok.

Gambar 5.13 Setting Enable file


Masukkan Password bila diminta, setelah itu klik OK.

47
Coba periksa di menu, apakah sudah ada PyCharm atau tidak

Gambar 5.14 Periksan PyCharm


Membuat Proyek Python di PyCharm, Untuk membuat proyek
baru, kita bisa klik “Create new Project” pada jendela
sambutan (welcome) PyCharm.

Gambar 5.15 Tampilan PyCharm Community Edition

48
Atau bisa juga dilakukan melalui menu File-> New Project.
Setelah itu, kita akan diminta untuk mengisi nama proyeknya
dan memilih versi Python yang akan digunakan.
Isi saja nama proyeknya dengan hello-world dan gunakan
Python versi 2 (python2.7).

Gambar 5.16 Tampilan isi nama project


Maka kita akan langsung di bawah ke area kerja PyCharm.

Gambar 5.17 Tampilan area kerja PyCharm

49
Selanjutnya, silahkan tambahkan file python dengan klik kanan
pada direktori proyek, kemudian pilih New->Python File.

Gambar 5.18 Membuak project baru


Setelah itu, berikan nama filenya dengan program-pertama
dan klik Ok.

Gambar 5.19 Tampilan nama project baru


Selanjutnya, tulis kode program-nya.
print "Hello dunia"
print "Selamat datang di pemrograman Python"
print "Saya belajar Python dengan PyCharm"
print "Salam, Petani Kode"

50
Kemudian buka menu Run-> Run… atau tekan tombol
Alt+Shift+F10. Kalau muncul pilihan, pilih saja program-
pertama.

Gambar 5.20 Tampilan menjalankan Projectnya


Program pertama kita di PyCharm sudah berhasil dieksekusi.
Begitulah cara membuat program python menggunakan IDE
PyCharm, kita tidak perlu membuka terminal untuk
mengekseskusi programnya.

51
BAB 6
Penulisan Sintaks Python

Setelah mempersiapkan segala perlengkapan untuk coding


python dan mengetahui cara membuat program python, harus
mempelajari aturan-aturan penulisan sintaks Python yang harus
dipatuhi.
Buku ini, akan membahas beberapa aturan dasar penulisan
sintaks Python yang harus diketahui. Agar nanti mudah dalam
menulis program.

6.1 Penulisan Statement Python


Statement adalah sebuah intruksi atau kalimat perintah yang
akan dieksekusi oleh komputer.
Contoh:
print("Hello World!")
print("Belajar Python dari Nol")
nama = "Belajar Python"
Penulisan satu statement tidak diakhiri dengan tanda titik-
koma. Sedangkan, bila ingin menulis lebih dari satu statement
dalam satu baris, maka harus memisahnya dengan titik-koma.
Contoh:
print("Hello");print("World");print("Tutorial
Python untuk Pemula")
nama_depan = "belajar"; nama_belakang = "python"

52
Tapi menurut beberapa style guide python, tidak dianjurkan
menulis lebih dari satu statement dalam satu baris. Karena akan
sulit dibaca.

6.2 Penulisan String pada Python


String adalah teks atau kumpulan dari karakter. String dalam
pemrograman biasanya ditulis dengan dibungkus menggunakan
tanda petik. Bisa menggunakan tanda petik tunggal maupun
ganda.
Contoh:
judul = "Belajar Pemrograman Python sampai Bisa"
penulis = 'Belajar Python'
Atau bisa menggunakan triple tanda petik.
Contoh:
judul = """Belajar Python dengan Cepat"""
penulis = '''Belajar Python'''

6.3 Penulisan Case pada Python


Sintak Python bersifat case sensitive, artinya teksini
dengan TeksIni dibedakan.
Contoh:
judul = "Belajar Dasa-dasar Python"
Judul = "Belajar Membuat Program Python"
Antara variabel judul dengan Judul itu dibedakan…

53
Case Style
Menurut rekomendasi style guide Google, berikut ini contoh
penulisan case yang disarankan:
## Snake Case digunakan pada:
module_name, package_name, method_name,
function_name, , global_var_name,
instance_var_name, function_parameter_name,
local_var_name.
## CamelCase digunakan Pada:
ClassName, ExceptionName
## ALL CAPS digunakan Pada:
GLOBAL_CONSTANT_NAME

Silakan dibaca ada 4 Macam Gaya Penulisan Case dalam


Pemrograman.

6.4 Penulisan Blok Program Python


Blok program adalah kumpulan dari beberpaa statement yang
digabungkan dalam satu blok.
Penulisan blok program harus ditambahkan indentasi (tab atau
spasi 2x/4x).

Gambar 6.1Tampilan Blok Program

54
Contoh yang benar:
# blok percabangan if
if username == 'belajarpython':
print("Selamat Datang Admin")
print("Silahkan ambil tempat duduk")
# blok percabangan for
for i in range(10):
print i
Contoh yang salah:
# blok percabangan if
if username == 'petanikode':
print("Selamat Datang Admin")
print("Silahkan ambil tempat duduk")
# blok percabangan for
for i in range(10):
print i
Ada beberapa macam blok program yang digunakan pada
bahasa python:
1. Blok Percabangan
2. Blok Perulangan
3. Blok Fungsi
4. Blok Class
5. Blok Exception
6. Blok With

55
6. 5 Cara Penulisan Komentar pada Python
Komentar merupakan baris kode yang tidak akan dieksekusi.
Komentar digunakan untuk memberikan informasi tambahan
dan untuk menonaktifkan kode.
Ada beberapa cara menulis komentar pada pemrograman
Python. Menggunakan Tanda Pagar (#)
Contohnya:
# ini adalah komentar
# Ini juga komentar
Menggunakan Tanda Petik
Selain untuk mengapit teks (string), tanda petik juga dapat
digunakan untuk membuat komentar.
Contoh:
"Ini adalah komentar dengan tanda petik ganda"
'Ini juga komentar, tapi dengan tanda petik
tunggal'
Penulisan komentar dengan tanda petik jarang digunakan,
kebanyakan orang lebih memilih untuk menggunakan tanda
pagar. Jadi tidak direkomendasikan, menggunakan Triple
Tanda Petik, Sedangkan triple tanda petik, sering digunakan
untuk menuliskan dokumentasi.
Contohnya:
class Pagar:
"""kelas pagar untuk membuat objek pagar. Dibuat
oleh Petani Kode sebagai contoh saja."""
def __init__(self, warna, tinggi, bahan):
self.warna = warna

56
self.tinggi = tinggi
self.bahan = bahan

# Mengakses dokumentasi kelas


print Pagar.__doc__
raw_input('\ntekan [enter] untuk melihat
bantuan (dokumentasi) kelas: ')
help(Pagar) # untuk melihat dokumentasi kelas_
Hasilnya:
$ python kelas_pagar.py

kelas pagar untuk membuat objek pagar.


dibuat oleh Belajar Python
sebagai contoh saja.
tekan [enter] untuk melihat bantuan (dokumentasi) kelas:
Setelah Enter ditekan
Help on class Pagar in module main:
class Pagar
| kelas pagar untuk membuat objek pagar.
| dibuat oleh Belajar Python
| sebagai contoh saja.
|
| Methods defined here:
|
| __init__(self, warna, tinggi, bahan)
(END)

57
BAB 7
Percabangan dan Perulangan

Apa itu percabangan dan kenapa dinamakan percabangan


karena dalam algoritma dan flowchart, Istilah ini sebenarnya
untuk menggambarkan alur program yang bercabang.
Pada flow chart, logika “jika…maka” digambarkan dalam
bentuk cabang.

Gambar 7.1 Tampilan Percabangan


Ini disebut percabangan. Selain percabangan, struktur ini juga
disebut control flow, decision, struktur kondisi, Struktur if, dan
lain lain. Percabangan akan mampu membuat program berpikir
dan menentukan tindakan sesuai dengan logika/kondisi yang
kita berikan.

58
Pada buku ini, kita akan belajar struktur percabangan pada
python. Mulai dari yang paling dasar hingga yang kompleks.
Pastikan sebelumnya sudah paham tentang operator relasi dan
logika.

7.1 Struktur Percabangan If


Percabangan If digunakan saat terdapat satu pilihan keputusan.
Misalkan, kalau kita tidak lulus dalam ujian, maka kita ikut
remedial. Sedangkan kalau lulus tidak perlu ikut remedial.

Gambar 7.2 Tampilan Percabangan if


Maka kita bisa membuat kode-nya seperti ini:
if lulus == "tidak":
print("kamu harus ikut remidi")
“Jika lulus == "tidak" maka cetak teks "kamu harus
ikut remidi"“
Kita menggunakan operator relasi sama dengan (==) untuk
membandingkan isi variabel lulus. Sedangkan tanda titik-dua
(:) adalah tanda untuk memulai blok kode If.

59
Penulisan blok If, harus diberikan indentasi tab atau spasi 2x.
Contoh penulisan yang salah:
if lulus == "tidak":
print("Kamu harus ikut remidi")
Contoh penulisan yang benar:
if lulus == "tidak":
print("kamu harus ikut remidi")
Contoh Program:
Buatlah program berikut:
# lulus.py
lulus = raw_input("Apakah kamu lulus? [ya/tidak]:
")
if lulus == "tidak":
print("Kamu harus ikut ujian")
Silahkan dieksekusi, lalu masukan jawaban “ya” atau “tidak”.
Perhatikanlah hasil outputnya.

Contoh lagi:
Biar pemahamannya semakin mantap, silahkan coba contoh
kasus berikut ini.
# program untuk mengecek bonus dan diskon
# file: bonus.py

total_belanja = input("Total belanja: Rp ")

# jumlah yang harus dibayar adalah berapa total


belanjaannya

60
# tapi kalau dapat diskon akan berkurang
bayar = total_belanja

# jika dia belanja di atas 100rb maka berikan bonus


dan diskon
if total_belanja > 100000:
print("Kamu mendapatkan bonus minuman dingin")
print("dan diskon 5%")

# hitung diskonnya
diskon = total_belanja * 5/100 #5%
bayar = total_belanja - diskon

# cetak struk
print("Total yang harus dibayar: Rp %s" % bayar)
print("Terima kasih sudah berbelanja")
print("Datang lagi yaa...")
Hasilnya:

Gambar 7.3 Tampilan Hasil Percabangan if

7.2 Struktur Percabangan If/Else


Percabangan If/Else digunakan saat terdapat dua pilihan
keputusan. Misalkan, jika umur diatas atau sama dengan 18
tahun boleh membuat SIM. Sedangkan dibawah itu belum
boleh.
61
Gambar 7.4 Tampilan Percabangan if/else
Maka kita bisa membuatnya dalam program:
# cek_umur.py
umur = input("Berapa umur kamu: ")

if umur >= 18:


print("Kamu boleh membuat SIM")
else:
print("Kamu belum boleh membuat SIM")
Selain blok If, terdapat juga blok Else yang akan
dieksekusi apabila kondisi umur >= 18 salah
(False).
Hasil eksekusi dari kode di atas adalah sebagai berikut:

Gambar 7.5 Tampilan hasil Percabangan if/else


62
7.3 Struktur Percabangan If/Elif/Else
Percabangan If/Elif/Else digunakan apabila terdapat lebih dari
dua pilihan keputusan.
if begini:
maka ini
elif begitu:
maka itu
else:
Kata kunci elif artinya Else if, fungsinya untuk membuat
kondisi/logika tambahan apabila kondisi pertama salah.
Contoh Program:
Misalkan kita akan membuat program untuk menentukan grade
nilai dengan flow chart sebagai berikut:

Gambar 7.6 Tampilan Percabangan if/elseif/else


63
Maka kode programnya bisa kita buat seperti ini:
#file grade_nilai.py
nilai = input("Inputkan nilaimu: ")

if nilai >= 90:


grade = "A"
elif nilai >= 80:
grade = "B+"
elif nilai >= 70:
grade = "B"
elif nilai >= 60:
grade = "C+"
elif nilai >= 50:
grade = "C"
elif nilai >= 40:
grade = "D"
else:
grade = "E"

print("Grade: %s" % grade)


Maka hasilnya:

Gambar 7.7 Tampilan hasil Percabangan if/elseif/else

7.4 Memahami Perulangan


Perulangan dalam bahasa pemrograman berfungsi menyuruh
komputer melakukan sesuatu secara berulang-ulang. Terdapat
64
dua jenis perualangan dalam bahasa pemrograman python,
yaitu perulangan dengan for dan while.
Perulangan for disebut counted loop (perulangan yang
terhitung), sementara perulangan while disebut uncounted
loop (perulangan yang tak terhitung). Perbedaannya adalah
perulangan for biasanya digunakan untuk mengulangi kode
yang sudah diketahui banyak perulangannya. Sementara while
untuk perulangan yang memiliki syarat dan tidak tentu berapa
banyak perulangannya.

7.4.1 Perulangan for


Bentuk umum:
for indek in range(banyak_perulangan):
# jalankan kode ini
# jalankan juga kode ini
#kode ini tidak akan diulang karena berada di luar
for

Contoh program:
# file: perulanganFor.py
ulang = 10
for i in range(ulang):
print "Perulangan ke-"+str(i)
Pertama kita menentukan banyak perulangannya sebanyak 10x
ulang = 10

65
Variabel i berfungsi untuk menampung indeks, dan fungsi
range() berfungsi untuk membuat list dengan range dari 0-10.
Fungsi str() berfungsi merubah tipe data ineger ke string.
for i in range(ulang):
print "Perulangan ke-"+str(i)
Hasil:
Selamatkode@imajinasi:~$ python perulanganFor.py
Perulangan ke-0
Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Perulangan ke-6
Perulangan ke-7
Perulangan ke-8
Perulangan ke-9

Contoh lain menggunakan senarai (list):


# berkas: perulanganFor.py
item = ['kopi','nasi','teh','jeruk']
for isi in item:
print isi
Hasil:
selamatkode@imajinasi:~$ python perulanganFor.py
kopi
66
nasi
teh
jeruk

7.4.2 Perulangan while


Bentuk umum:
while(True):
# jalankan kode ini
# kode ini berada di luar perulangan while

Contoh:
# berkas: perulanganWhile.py
jawab = 'ya'
hitung = 0
while(jawab == 'ya'):
hitung += 1
jawab = raw_input("Ulang lagi tidak? ")
print "Total perulagan: " + str(hitung)
Atau bisa juga dengan bentuk yang seperti ini, dengan
menggunakan kata kunci break
# berkas: perulanganWhile.py
jawab = 'ya'
hitung = 0
while(True):
hitung += 1
jawab = raw_input("Ulang lagi tidak? ")
if jawab == 'tidak':
break
print "Total perulagan: " + str(hitung)
Pertama menentukan variabel untuk menghitung, dan
menentukan kapan perulangan berhenti. kalau pengguna
menjawab tidak maka perulangan akan terhenti.
67
jawab = 'ya'
hitung = 0
Melakukan perulangan dengan while, kemudian menambah
satu variabel hitung setiap kali mengulang. lalu menanyakan
kepada pengguna, apakah mau berhenti mengulang atau tidak?
while(jawab == 'ya'):
hitung += 1
jawab = raw_input("Ulang lagi tidak? ")
Setelah selesai mengulang, cetak berapa kali perulangan
tersebut terjadi
print "Total perulagan: " + str(hitung)
Hasil:
selamatkode@imajinasi:~$ python perulanganWhile.py
Ulang lagi tidak? ya
Ulang lagi tidak? ya
Ulang lagi tidak? ya
Ulang lagi tidak? ya
Ulang lagi tidak? ya
Ulang lagi tidak? ya
Ulang lagi tidak? tidak
Total perulagan: 7

68
BAB 8
Fungsi dan Prosedur pada Python

Dalam pembuatan program yang kompleks dan memiliki


banyak fitur, kita diharuskan menggunakan fungsi dan
prosedur. Kenapa memangnya kalau tidak menggunakan
fungsi? Bisa jadi kita akan mengalami kesulitan menulis kode
programnya, karena banyak yang harus ditulis dan kode akan
menjadi sulit dibaca dan dirawat (maintenance).
Dengan fungsi, kita dapat memecah program besar menjadi sub
program yang lebih sederhana. Masing-masing fitur pada
program dapat kita buat dalam satu fungsi. Pada saat kita
membutuhkan fitur tersebut, kita tinggal panggil fungsinya
saja.
Hal ini akan kita coba pada contoh program yang sudah
tersedia dibawah ini. Sebelum lihat program alangkah baiknya
kita memahami teori dasar dan hal apa saja yang harus kita
ketahui tentang fungsi di Python.

8.1 Cara Membuat Fungsi pada Python


Fungsi pada Python, dibuat dengan kata kunci def kemudian
diikuti dengan nama fungsinya.
Contoh:

69
def nama_fungsi():
print "Hello ini Fungsi"
Sama seperti blok kode yang lain, kita juga harus memberikan
identasi (tab atau spasi 2x) untuk menuliskan isi fungsi.

Setelah kita buat fungsinya, kita bisa memanggilnya seperti ini:


nama_fungsi()
Sebagai contoh, coba tulis kode program berikut:
# Membuat Fungsi
def salam():
print "Hello, Selamat Pagi"
## Pemanggilan Fungsi
salam()
Hasilnya:
Hello, Selamat Pagi
Coba panggil sebanyak 2x:
# Membuat Fungsi
def salam():
print "Hello, Selamat Pagi"
## Pemanggilan Fungsi
salam()
salam()

70
Hasilnya:
Hello, Selamat Pagi
Hello, Selamat Pagi
Bagaimana mudah bukan, intinya apapun yang ada di dalam
fungsi, ketika dipanggil itulah yang akan dilakukan.
FYI: fungsi juga dapat dipanggil pada fungsi lain, bahkan bisa
memanggil dirinya sendiri. Fungsi yang memanggil dirinya
sendiri, disebut fungsi rekursif.

8.2 Fungsi dengan Parameter


Buku ini membahas bagaimana kalau kita ingin memberikan
input nilai ke dalam fungsi. Dengan memanfaatkan parameter.
Parameter adalah variabel yang menampung nilai untuk
diproses di dalam fungsi.

71
Contoh:
def salam(ucapan):
print(ucapan)
Pada contoh diatas, kita akan membuat fungsi dengan
parameter ucapan.
Cara pemanggilan fungsi yang memiliki parameter adalah
seperti ini:
salam("Selamat siang")
"Selamat siang"  adalah nilai parameter yang akan diberikan.
Lalu bagaimana kalau parameternya lebih dari satu.
Kita bisa menggunakan tanda koma (,) untuk memisahnya.
Contoh:
# Membuat fungsi dengan parameter
def luas_segitiga(alas, tinggi):
luas = (alas * tinggi) / 2
print "Luas segitiga: %f" % luas;
# Pemanggilan fungsi
luas_segitiga(4, 6)
Hasilnya:
Luas segitiga: 12.000000

8.3 Fungsi yang Mengembalikan Nilai


Fungsi yang tidak mengembalikan nilai biasanya disebut
dengan prosedur. Namun, kadang kita butuh hasil proses dari
fungsi untuk digunakan pada proses berikutnya.
Maka fungsi harus mengembalikan nilai dari hasil
pemrosesannya. Cara mengembalikan nilai adalah
72
menggunakan kata kunci return lalu diikuti dengan nilai atau
variabel yang akan dikembalikan. Berikut struktur
parameternya.

Contoh:
def luas_persegi(sisi):
luas = sisi * sisi
return luas
# pemanggilan fungsi
print "Luas persegi: %d" % luas_persegi(6)
Hasilnya:
Luas persegi: 36
Perbedaan dengan fungsi luas_segitiga() yang tadi.
Pada fungsi luas_segitiga() kita melakukan print dari
hasil pemrosesan secara langsung di dalam fungsinya.
Sedangkan fungsi luas_persegi(), kita melakukan print
pada saat pemanggilannya. Jadi, fungsi luas_persegi()
akan bernilai sesuai dengan hasil yang dikembalikan.
Sehingga kita dapat memanfaatkannya untuk pemerosesan
berikutnya.

73
Misalnya seperti ini:
# rumus: sisi x sisi
def luas_persegi(sisi):
luas = sisi * sisi
return luas
# rumus: sisi x sisi x sisi
def volume_persegi(sisi):
volume = luas_persegi(sisi) * sisi
Pada contoh di atas, kita melakukan pemanggilan fungsi
luas_persegi() untuk menghitung volume persegi.

8.4 Variabel Global dan Lokal pada Python


Saat kita menggunakan fungsi, maka kita juga harus
mengetahui yang namanya variabel Global dan Lokal. Yang
maksud variabel Global adalah variabel yang bisa diakses dari
semua fungsi, sedangkan variabel lokal hanya bisa diakses di
dalam fungsi tempat dia berada saja. Pada Python, urutan
pengaksesan variabel (scope) dikenal dengan sebutan LGB
(Local, Global, dan Build-in).
Jadi program python mulai mencari vairabel lokal terlebih
dahulu, kalau ada maka itu yang digunakan. Tapi kalau tidak
ada, pencarian terus ke Global, dan Build-in.
Variabel Build-in adalah variabel yang sudah ada di dalam
Python.
Contoh program:
# membuat variabel global
nama = "Petanikode"

74
versi = "1.0.0"
def help():
# ini variabel lokal
nama = "Programku"
versi = "1.0.2"
# mengakses variabel lokal
print "Nama: %s" % nama
print "Versi: %s" % versi
# mengakses variabel global
print "Nama: %s" % nama
print "Versi: %s" % versi
# memanggil fungsi help()
help()
Hasilnya:
Nama: Petanikode
Versi: 1.0.0
Nama: Programku
Versi: 1.0.2

Perhatikanlah variabel nama yang berada di dalam fungsi


help() dan diluar fungsi help().Variabel nama yang
berada di dalam fungsi help() adalah variabel lokal.
Jadi, saat kita memanggil fungsi help() maka nilai yang
akan tampil adalah nilai yang ada di dalam fungsi help().
Kenapa tidak tampil yang global karena Python mulai mencari
dari lokal, ke global, dan build-in. Kalau di tiga tempat itu
tidak ditemukan, maka biasanya akan terjadi NameError atau
variabel tidak ditemukan.

75
8.5 Contoh Program dengan Fungsi
Sekarang kita memulai program, pertama tama silahkan buat
file baru bernama program_fungsi.py.
Pertama kita buat sebuah variabel global berupa list untuk
menampung judul-judul buku.
# Variabel global untuk menyimpan data Buku
buku = []
Nanti program ini akan mampu melakukan operasi CRUD
(Create, Read, Update, dan Delete). Maka kita membutuhkan
fungsi-fungsi berikut:
 show_data() untuk menampilkan data dari list buku
 insert_data() untuk menambahkan data ke list buku
 edit_data() untuk mengedit data di list buku
 delete_data() untuk untuk menghapus data dari list
buku.
Sekarang kita bahasa pertama fungsi show_data().
# fungsi untuk menampilkan semua data
def show_data():
if len(buku) <= 0:
print "BELUM ADA DATA"
else:
for indeks in range(len(buku)):
print "[%d] %s" % (indeks,
buku[indeks])
Fungsi diatas akan mengecek isi dari list buku. Jika isinya
kosong (len(buku) <= 0) maka tampilkan "BELUM ADA

76
DATA". Namun, apabila ada isinya, maka tampilkan semua
isinya dengan perulangan.
Selanjutnya membuat fungsi insert_data():
# fungsi untuk menambah data
def insert_data():
buku_baru = raw_input("Judul Buku: ")
buku.append(buku_baru)
Fungsi di atas akan mengambil input dari user kemudian diisi
ke dalam list buku dengan fungsi append().
Fungsi append() adalah fungsi untuk menambahkan item di
akhir list. Selain append() ada juga prepend(). Namun, untuk
kasus ini, kita pakai append() saja. Penjelasan lengkap tentang
append() dan prepend() bisa dibaca pada: Mengenal Struktur
Data List pada Python.
Selanjutnya membuat fungsi edit_data():
# fungsi untuk edit data
def edit_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
judul_baru = raw_input("Judul baru: ")
buku[indeks] = judul_baru
Fungsi di atas akan menampilkan isi dari list buku dengan
memanggil fungsi show_data() di dalamnya. Setelah itu, kita
meminta user untuk menginputkan ID atau nomer indeks buku
yang akan diedit. Lalu kita lakukan pengecekan, jika ID yang
diinputkan melebihi dari isi list buku (indeks > len(buku)),

77
maka tampilkan pesan "ID salah". Namun, apabila tidak
melebihi dari isi buku, maka ambil input untuk judul baru dan
simpan sesuai ID-nya.
Selanjutnya membuat fungsi delete_data():
# fungsi untuk menhapus data
def delete_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
buku.remove(buku[indeks])
Hampir sama dengan fungsi edit_data(). Fungsi delete_data()
juga harus menampilkan isi list buku dan mengambil ID yang
akan dihapus. Kita dapat menghapus item pada list dengan
fungsi remove().
Berikut ada dua fungsi lagi yang kita butuhkan:
1. Fungsi untuk menampilkan menu
2. Fungsi untuk keluar (sudah ada di python: exit())
Sekarang kita buat programnya
# fungsi untuk menampilkan menu
def show_menu():
print "\n"
print "----------- MENU ----------"
print "[1] Show Data"
print "[2] Insert Data"
print "[3] Edit Data"
print "[4] Delete Data"
print "[5] Exit"

menu = input("PILIH MENU> ")


print "\n"

78
if menu == 1:
show_data()
elif menu == 2:
insert_data()
elif menu == 3:
edit_data()
elif menu == 4:
delete_data()
elif menu == 5:
exit()
else:
print "Salah pilih!"

Fungsi diatas akan menampilkan menu dari 1–5, lalu


memanggil fungsi-fungsi yang sudah dibuat berdasarkan menu
yang dipilih.
Terakhir, kita harus membuat main loop programnya.
if __name__ == "__main__":

while(True):
show_menu()
Program akan mengulang terus-menerus sampai fungsi exit()
dieksekusi.
if __name__ == "__main__": adalah blok main di Python.
Sebenarnya tanpa ini, programnya sudah bisa dijalankan.
Sehingga kode lengkapnya akan seperti ini:
# Variabel global untuk menyimpan data Buku
buku = []

# fungsi untuk menampilkan semua data


def show_data():
if len(buku) <= 0:

79
print "BELUM ADA DATA"
else:
for indeks in range(len(buku)):
print "[%d] %s" % (indeks,
buku[indeks])

# fungsi untuk menambah data


def insert_data():
buku_baru = raw_input("Judul Buku: ")
buku.append(buku_baru)

# fungsi untuk edit data


def edit_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
judul_baru = raw_input("Judul baru: ")
buku[indeks] = judul_baru

# fungsi untuk menhapus data


def delete_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
buku.remove(buku[indeks])

# fungsi untuk menampilkan menu


def show_menu():
print "\n"
print "----------- MENU ----------"
print "[1] Show Data"
print "[2] Insert Data"
print "[3] Edit Data"
print "[4] Delete Data"
print "[5] Exit"

menu = input("PILIH MENU> ")


80
print "\n"

if menu == 1:
show_data()
elif menu == 2:
insert_data()
elif menu == 3:
edit_data()
elif menu == 4:
delete_data()
elif menu == 5:
exit()
else:
print "Salah pilih!"

if __name__ == "__main__":

while(True):
show_menu()
Cobalah untuk mengeksekusinya dan perhatikan hasilnya.

81
BAB 9
Variabel dan Tipe Data dalam Python

Pada kesempatan ini kita akan membahas tentang variabel dan


tipe data pada Python. Pastikan sebelumnya sudah mengetahui
cara membuat skrip atau program python.

9.1 Pengertian Variabel dan Tipe Data


Variabel merupakan tempat menyimpan data, sedangkan tipe
data adalah jenis data yang terseimpan dalam variabel.

Variabel bersifat mutable, artinya nilainya bisa berubah-ubah.

9.2 Membuat Variabel di Python


Variabel di python dapat dibuat dengan format seperti ini:
nama_variabel = <nilai>
Contoh:
variabel_ku = "ini isi variabel"
variabel2 = 20

82
Kemudian untuk melihat isi variabel, kita dapat menggunakan
fungsi print.
print variabel_ku dan print variabel2
Aturan Penulisan Variabel
1. Nama variabel boleh diawali menggunakan huruf atau
garis bawah (_), contoh: nama, _nama, namaKu,
nama_variabel.
2. Karakter selanjutnya dapat berupa huruf, garis bawah
(_) atau angka, contoh: __nama, n2, nilai1.
3. Karakter pada nama variabel bersifat sensitif (case-
sensitif). Artinya huruf besar dan kecil dibedakan.
Misalnya, variabel_Ku dan variabel_ku, keduanya
adalah variabel yang berbeda.
4. Nama variabel tidak boleh menggunakan kata kunci
yang sudah ada dalam python seperti if, while, for, dsb.

9.3 Menghapus Variabel


Ketika sebuah variabel tidak dibutuhkan lagi, maka kita bisa
menghapusnya dengan fungsi del().
Contoh:
>>> nama = "petanikode"
>>> print nama
petanikode
>>> del(nama)
>>> print nama
Traceback (most recent call last):
83
File "<stdin>", line 1, in <module>
NameError: name 'nama' is not defined
>>>
Pada perintah terakhir, kita akan mandapatkan NameError.
Artinya variabel tidak ada di dalam memori alias sudah
dihapus.

9.3.1 Tipe data


Cara mengisi nilai variabel ditentukan dengan jenis datanya,
misalkan untuk tipe data teks (string) maka harus diapit dengan
tanda petik ("..."). Sedangkan untuk angka (integer) dan
boolean tidak perlu diapit dengan tanda petik.
Contoh:
nama_ku = "selamatKode"
umur = 20
tinggi = 183.22
Python akan seara otomatis mengenali jenis data atau tipe data
yang tersimpan dalam sebuah variabel. Untuk memeriksa tipe
data pada suatu variabel, kita bisa menggunakan fungsi
type().

Contoh:
>>> usia = 20
>>> type(usia)
<type 'int'>
>>> usia = "20"
>>> type(usia)
<type 'str'>

84
>>> usia = '20'
>>> type(usia)
<type 'str'>
>>> usia = 20.5
>>> type(usia)
<type 'float'>
>>> usia = true
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> usia = True
>>> type(usia)
<type 'bool'>

9.3.2 Jenis-jenis Tipe Data


Secara umum, tipe data primitif dalam python dibagi menjadi
tiga jenis:
1. Tipe data angka
2. Tipe data teks
3. Tipe data boolan
Mari kita bahas satu per satu…
1. Tipe Data Angka
Tipe data angka dibagi menjadi beberapa jenis lagi:
1. int (Integer): bilangan bulat, contoh 32, 22, 12, 10, dsb.
2. float: bilangan pecahan, contoh 1.3, 4.2, 22.3, dsb.
Contoh:
harga = 12000 #tipe int
berat = 23.12 #float
jarak = 3e3 #float 3000.0, huruf e artinya eksponen
10

85
2. Tipe Data Teks
Tipe data teks dibagi menjadi dua jenis lagi:
1. Char: Karakter, contoh 'R'.
2. String: Kumpulan karakter, contoh "aku lagi makan".
Penulisan tipe data teks harus diapit dengan tanda petik. Bisa
menggunakan petik tunggal ('...'), ganda ("..."), dan tiga
('''...''' atau """...""").
Contoh:
nama = "Ivan"
jenis_kelamin = 'L'
alamat = """
Jl. Melati I Rt 06 Rw 10 Kode Pos 17837,
Kelurahan Waluya , Kab Bekasi
"""
agama = 'islam'

9.3.3 Tipe data boolean


Tipe data boolean adalah tipe data yang hanya memiliki dua
nilai yaitu True dan False atau 0 dan 1.
Penulisan True dan False, huruf pertamnya harus kapital dan
tanpa tanda petik.
Contoh:
bergerak = True
nyala = 1 #sebenarnya tipenya int, tapi bisa juga
menjadi bool

86
9.4 Contoh Program Variabel dan Tipe Data
Berikut ini contoh sederhana penerapan variabel dalam
program.
# Program bio data penduduk desa X
# membuat variabel beserta isinya (nilainya)
nama = "Hartono"
alamat = 'Mataram'
umur = 19
tinggi = 170.5
menikah = False
# mencetak isi variabel
print "Nama : ", nama
print "Alamat : ", alamat
print "Umur : ", umur
print "Tinggi : ", tinggi
if(menikah):
print "Status: menikah"
else:
print "Status: belum menikah"

9.5 Konversi Tipe Data


Meskipun Python telah otomatis mendeteksi tipe data yang
tersimpan dalam variabel, tapi ada kalanya kita perlu
melakukan konversi tipe data.
Misalkan, pada contoh berikut ini:
a = 10
b = 3
c = a / b
print c #output: 3
Pembagian nilai a dan b menghasilkan 3 (integer). Mengapa
demikian?

87
Karena nilai a dan b bertipe integer, maka hasilnya pun berupa
integer.
Bagaimana agar hasilnya ada komanya?
Tentu kita harus merubah tipe variabel a dan b menjadi
bilangan pecahan (float) dulu, baru setelah itu dibagi.
a = 10
b = 3
c = float(a) / float(b) #output: 3.3333333333333335

print c
Fungsi float() akan mengubah nilai a menjadi 10.0 dan b
menjadi 3.0.
Fungsi-fungsi untuk mengubah tipe data:
1. int() untuk mengubah menjadi integer;
2. long() untuk mengubah menjadi integer panjang;
3. float() untuk mengubah menjadi float;
4. bool() untuk mengubah menjadi boolean;
5. chr() untuk mengubah menjadi karakter;
6. str() untuk mengubah menjadi string.
7. bin() untuk mengubah menjadi bilangan Biner.
8. hex() untuk mengubah menjadi bilangan Heksadesimal.
9. oct() untuk mengubah menjadi bilangan okta.

88
BAB 10
Mengambil Input dan Menampilkan Output

Input adalah masukan yang kita berikan ke program. Program


akan memprosesnya dan menampilkan hasil outputnya.
Input, proses, dan output adalah inti dari semua program
komputer.

Gambar 10.1 Tampilan Flow Input output


Pada buku ini, kita akan belajar cara mengambil input dan
menampilkan output untuk program berbasis teks.

10.1 Cara Mengambil Input dari Keyboard


Python sudah menyediakan fungsi input() dan raw_input()
untuk mengambil inputan dari keyboard.
nama_varabel = input("Sebuah Teks")
Artinya, teks yang kita inputkan dari keyboard akan disimpan
ke dalam nama_variabel.
# Mengambil input
nama = raw_input("Siapa nama kamu: ")
umur = input("Berapa umur kamu: ")
89
# Menampilkan output
print "Hello",nama,"umur kamu adalah",umur,"tahun"

Hasilnya:

Apa perbedaan fungsi input() dengan raw_input()?


Fungsi input() digunakan untuk mengambil data angka.
Sedangkan raw_input() untuk mengambil teks.
Pada Python3 cukup menggunakan fungsi input() saja,
karena fungsi raw_input() sudah digabungkan di sana.

10.2 Cara Menampilkan Output


Seperti yang kita sudah ketahui pada contoh-contoh
sebelumnya. Untuk menampilkan output teks, kita
menggunakan fungsi print(). Contoh sebagai berikut
print "Hello World!"
print nama_variabel
print "Gabung dengan", variabel
Menampilkan Variabel dan Teks
Pada contoh di atas kita menggunakan tanda koma (,) untuk
menggabungkan teks dan variabel yang akan ditampilkan.
nama = "Selamatkode"
print "Hello",nama
Hasil:
90
Hello Selamatkode
Antara kata Hello dan Petanikode terdapat spasi sebagai
pemisah, karena kita menggunakan tanda koma.
Jangan ditambahkan kurung seperti ini:
nama = "Selamatkode"
print("Hello",nama)
Karena akan dibaca sebagai Tuple yang akan mengahsilkan
output seperti ini:
('Hello', 'Selamatkode')
Sebaiknya jangan dikurung kalau menggunakan tanda koma.
Jika ingin menggunakan kurung, maka kita harus
menggabungkan teks dan variabelnya dengan tanda plus (+).
Contoh:
nama = "Selamatkode"
print("Hello " + nama)
Hasilnya:
Hello Selamatkode

Menggunakan Fungsi format()


Fungsi format() akan menggabungkan isi variabel dengan
teks.
Contoh:
nama = raw_input("Nama: ")
print "Hello {} apa kabar?".format(nama)
Tanda {} akan otomatis diganti sesuai dengan nilai yang kita
inputkan ke variabel nama.
91
Contoh lagi:
String Formatting Cara Lama
Penggabungan nama_mu = raw_input("Nama kamu: ")
nama_dia = raw_input("Nama dia: ")
print "{} dengan {} sepertinya pasangan yang serasi
:)".format(nama_mu, nama_dia)

Menggunakan teks dan variabel cara lama menggunakan


simbol persen (%).
Contoh:
nama = raw_input("Inputkan nama: ")
print "Selamat datang %s" % nama
Tanda %s akan otomatis diganti dengan nilai yang kita inputkan
ke variabel nama.
Contoh lagi:
nama = raw_input("Inputkan nama: ")
umur = input("Inputkan umur: ")
tinggi = input("Inputkan tinggi badan: ")

print "Hello %s, saat ini usiamu %d tahun dan


tinggi badanmu %f cm" % (nama, umur, tinggi)

Tanda %s untuk tipe data teks, %d untuk angka (desimal), dan


%f untuk bilangan pecahan.

92
BAB 11
Jenis Operator dalam Python

Setelah kita mengenal variabel dan tipe data pada Python,


selanjutnya kita akan berkenalan dengan Operator. Operator
merupakan simbol-simbol yang digunakan untuk melakukan
operasi tertentu.
Ada enam jenis operator dalam pemrograman bahasa Python
yang harus diketahui:
1. Operator Aritmatika
2. Operator Pembanding/Relasi
3. Operator Penugasan
4. Opeartor Logika
5. Operator Bitwise
6. Operator Ternary

11.1 Operator Aritmatika


Operator aritmatika pada python adalah operator yang
digunakan untuk melakukan perhitungan data. Berikut
pengertian dan contoh penggunaan operator aritmatika pada
python. Catatan: “>>>” merupakan perunjuk interpreter
python.

93
Contoh
Operator Simbol Penjelasan
Interpreter
Menjumlahkan masing- >>> 1+2
Penjumlahan +
masing bilangan (operan) 3
Mengurangi nilai operan >>> 4-7
Pengurangan –
kiri dengan operan kanan -3
Mengalikan masing-masing >>> 7*4
Perkalian *
bilangan (operan) 28
Membagi nilai operan >>> 9/5
Pembagian /
kiri dengan operan kanan 1.8
Pembagian Menghilangkan nilai >>> 9//5
//
bulat desimal suatu pembagian 1
Menghasilkan sisa >>> 14%5
Modulo %
pembagian 4
Perpangkatan dengan
>>> 4**3
Eksponen ** operan kiri sebagai
64
pokok
Berikut contoh penggunaan operator aritmatika pada python
shell
Mari kita coba dalam program pythonnya
# file: operator_aritmatika.py
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")
b = input("Inputkan nilai b: ")

# Menggunakan operator penjumlahan


c = a + b
print "Hasil %d + %d = %d" % (a,b,c)

# Operator Pengurangan
c = a - b
print "Hasil %d - %d = %d" % (a,b,c)

# Operator Perkalian
c = a * b
print "Hasil %d * %d = %d" % (a,b,c)

94
# Operator Pembagian
c = a / b
print "Hasil %d / %d = %d" % (a,b,c)

# Operator Sisa Bagi


c = a % b
print "Hasil %d %% %d = %d" % (a,b,c)

# Operator Pangkat
c = a ** b
print "Hasil %d ** %d = %d" % (a,b,c)
Hasilnya:

Pada kode program diatas, kita menggunakan string formatting


untuk mencetak hasil dari masing-masing opearasi. Operator %
selain digunakan untuk string formatting, operator ini juga
digunakan untuk menghitung operasi sisa bagi.
Misal: 5 % 2, maka hasilnya 1. Karena sisa dari hasil bagi
antara 5 dengan 2 adalah 1.

11.2 Operator Penugasan


Seperti namanya, operator ini digunakan untuk memberikan
tugas pada variabel.
Misalnya:
95
umur = 18
Maka variabel umur telah kita berikan tugas untuk menyimpan
angka 18. Selain menyimpan atau pengisian nilai, ada juga
menjumlahkan, mengurangi, perkalian, pembagian, Dan
sebagainya.
Operator penugasan adalah operator yang digunakan untuk
memasukkan nilai atau memodifikasi nilai suatu variabel.
Contoh
Operator Simbol Penjelasan
Interpreter
Mendefinisikan nilai
Sama dengan = >>> x=3
suatu varibel.
>>> y=2
Tambah sama Menambahkan nilai >>> y+=7
+=
dengan suatu variabel >>> y
9
>>> z=4
Kurang sama Mengurangkan nilai >>> z-=2
-=
dengan suatu variabel >>> z
2
>>> a=6
Kali sama Mengalikan nilai >>> a*=3
*=
dengan suatu variabel >>> a
18
>>> b=8
Bagi sama Membagi nilai suatu >>> b/=4
/=
dengan variabel >>> b
2.0
>>> c=5
Pembagian
Pembagian bulat nilai >>> c//=2
bulat sama //=
suatu variabel >>> c
dengan
2
>>> d=7
Sisa pembagian nilai
Modulo sama >>> d%=3
%= variabel dengan suatu
dengan >>> d
bilangan
1
96
>>> e=2
Pangkat Perpangkatan nilai >>> e**=3
**=
sama dengan suatu variabel >>> e
8
Berikut contoh penggunaan operator penugasan pada python
shell

Untuk lebih jelasnya, mari kita coba contohnya dalam program.


# file: operator_penugasan.py
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")
# ^
# | contoh operator penugasan untuk mengisi nilai
print "Nilai a = %d" % a

# Coba kita jumlahkan nilai a dengan opertor


penugasan
a += 5
# ^
# |

# contoh operator penugasan untuk menjumlahkan


# Setelah nilai a ditambah 5, coba kita lihat
isinya
print "Nilai setelah ditambah 5:"
print "a = %d" % a

97
Hasilnya:

Pada awalnya kita mengisi nilai variabel a dengan 4. Kemudian


dilakukan penjumlahan atau ditambah 5.
a += 5
Penjumlahan tersebut sama maksudnya seperti ini
a=a+5
Artinya, kita mengisi nilai variabel a dengan nilai a
sebelumnya, lalu ditambah 5.
Sekarang kita coba dengan operator lain
# Ambil input untuk mengisi nilai
a = input("Inputkan nilai a: ")

# tambahkan dengan 2
a += 2

# kurangi 3
a -= 3

# kali 10
a *= 10

# bagi dengan 4
a /= 4

# pangkat 10
a **= 10
98
# Berapakah nilai a sekarang?
print "Nilai a adalah %d" % a
Silahkan coba inputkan nilai variabel a dengan 8 dan
berapakah hasil akhirnya?

11.3 Operator Pembandingan


Operator perbandingan pada python digunakan untuk
melakukan suatu perbandingan antar operan. Output yang
ditampilkan adalah nilai boolean True atau False. Operator
perbandingan sering digunakan dalam perulangan. Berikut
pengertian dan contoh penggunaan operator perbandingan pada
python.
Contoh
Operator Simbol Penjelasan Interpre
ter
Bernilai True: operan
mempunyai nilai yang sama >>>
1==1.0
Persamaan == Bernilai False: operan True>>>
tidak mempunyai nilai yang 1==4
sama False

Bernilai True: operan


mempunyai nilai yang tidak
sama >>> 7!=8
True>>>
Tidak sama !=
2!=2.0
Bernilai False: operan
False
mempunyai nilai yang sama

Lebih besar Bernilai True: operan kiri >>> 9>7


>
dari lebih besar dari operan True>>>

99
kanan 9>9
False
Bernilai False: operan
kiri tidak lebih besar
dari operan kanan

Bernilai True: operan kiri


lebih kecil dari operan
kanan >>> 7<8
Lebih kecil True>>>
<
dari Bernilai False: operan 8<7
kiri tidak lebih kecil False
dari operan kanan

Bernilai True: operan


kiri lebih besar atau sama
dengan operan kanan
>>> 9>=7
Lebih besar
True>>>
atau sama >= Bernilai False: operan
7>=9
dengan kiri tidak lebih besar
False
atau sama dengan operan
kanan

Bernilai True: operan kiri


lebih kecil atau sama
dengan operan kanan
>>> 8<=8
Lebih kacil
True>>>
atau sama <= Bernilai False: operan
7<=6
dengan kiri tidak kecil besar
False
atau sama dengan operan
kanan

Berikut contoh penggunaan operator perbandingan pada python


shell

100
Contoh lain:
a=9
b=5
c=a<b
Apakah isi dari variabel c
Isinya adalah False, karena nilai 9 lebih kecil dari 5 (9 < 5)
adalah salah (False).
Untuk lebih jelasnya, kita coba contonya dalam program.
# file: operator_pembanding.py
a = input("Inputkan nilai a: ")
b = input("Inputkan nilai b: ")

# apakah a sama dengan b?


c = a == b
print "Apakah %d == %d: %r" % (a,b,c)

# apakah a < b?
c = a < b
print "Apakah %d < %d: %r" % (a,b,c)

# apakah a > b?
c = a > b
print "Apakah %d > %d: %r" % (a,b,c)

101
# apakah a <= b?
c = a <= b
print "Apakah %d <= %d: %r" % (a,b,c)

# apakah a >= b?
c = a >= b
print "Apakah %d >= %d: %r" % (a,b,c)

# apakah a != b?
c = a != b
print "Apakah %d != %d: %r" % (a,b,c)

11. 4 Operator Logika


Operator logika digunakan untuk membuat operasi logika,
seperti logika AND, OR, dan NOT.

Operator logika terdiri dari:

Nama Simbol di Python


Logika AND and
Logika OR or
Negasi/kebalikan not

Contoh programnya sebagai berikut:


a = True
b = False

# Logika AND
c = a and b
print "%r and %r = %r" % (a,b,c)

# Logika OR
102
c = a or b
print "%r or %r = %r" % (a,b,c)

# Logika Not
c = not a
print "not %r = %r" % (a,c)
Hasilnya:

11.5 Operator Bitwise


Operator Bitwise adalah operator untuk melakukan operasi
berdasarkan bit/biner.
Operator ini terdiri dari:
Nama Simbol
AND &
OR |
XOR ^
Negasi/kebalikan ~
Left Shift <<
Right Shift >>

103
Hasil operasi dari operator ini agak sulit dipahami, kalau kita
belum paham operasi bilangan biner. Sekarang coba pahami
dengan contoh sederhana:
Misalnya, kita punya variabel a = 60 dan b = 13.
Bila dibuat dalam bentuk biner, akan menjadi seperti ini:
a = 00111100
b = 00001101
Kemudian, dilakukan operasi bitwise
Operasi AND
a = 00111100
b = 00001101
a & b = 00001100
Operasi OR
a = 00111100
b = 00001101
a | b = 00111101
Operasi XOR
a = 00111100
b = 00001101
a ^ b = 00110001
Opearsi NOT (Negasi/kebalikan)
a = 00111100
~a = 11000011

104
Konsepnya memang hampir sama dengan opeartor Logika.
Namun, Bitwise digunakan untuk biner.
Mari kita coba dalam program…
a = input("Masukan nilai a: ")
b = input("Masukan nilai b: ")

# Operasi AND
c = a & b
print "a & b = %s" % c

# Operasi OR
c = a | b
print "a | b = %s" % c

# Operasi XOR
c = a ^ b
print "a ^ b = %s" % c

# Operasi Not
c = ~a
print "~a = %s" % c

# Operasi shift left (tukar posisi biner)


c = a << b
print "a << b = %s" % c

# Operasi shift right (tukar posisi biner)


c = a >> b
print "a >> b = %s" % c
Hasilnya:

105
11.6 Operator Ternary
Operator ternary juga dikenal dengan operator kondisi, karena
digunakan untuk membuat sebuah ekspresi kondisi seperti
percabangan IF/ELSE.

Operator ternary sebenarnya tidak ada dalam Python, tapi


python punya cara lain untuk menggantikan operator ini.
Pada bahasa pemrograman lain operator ternary menggunakan
tanda tanya (?) dan titik dua (:). kondisi ? <nilai true> : <nilai
false>. Berikut Contohnya.
aku = (umur < 10) ? "bocah" : "dewasa"

Dalam Python bentuknya berbeda, yaitu menggunakann


IF/ELSE dalam satu baris.
<Nilai True> if Kondisi else <Nilai False>

Contoh:
umur = input("berapa umur kamu? ")
aku = "bocah" if umur < 10 else "dewasa"
print aku

106
Hasilnya:

Silakan dicoba untuk mengisi nilai variabel umur dengan nilai


di bawah 10 dan perhatikan output-nya. Cara lain untuk
membuat operasi ternary juga bisa menggunakan Tuple dan
List.
jomblo = True
status = ("Menikah", "Single")[jomblo]
print status

107
BAB 12
Penulisan dan Penggunaan String pada Python
String pada Python adalah tipe data yang memuat satu karakter
atau lebih karakter (sequences of character) yang diapit oleh
tanda petik tunggal („) atau tanda petik (“). Dalam bahasa
pemrograman Python, deklarasi suatu string tidak dibedakan
penggunaan tanda petik atau tanda petik tunggal. Hal ini
berbeda dengan bahasa pemrograman yang mendekati bahasa
mesin seperti C++ dan C, dimana penggunaan („) untuk
mendefinisikan satu karakter dan (“) untuk mendefiniskan
banyak karakter.
1 "Hello World"
1 'Hello World'

12.1 Penulisan String pada Python


Untuk menulis string serta menampilkannya langsung, dapat
menggunakan syntax
print(“Hello World”)
Sistematika menampilkan string dengan syntax prnit()
1. Syntax print() digunakan untuk menampilkan string
berupa output pada console.
2. Didalam syntax dituliskan string atau variabel.
Beberapa karakter khusus pada python
Karakter Fungsi
\n Untuk membuat New Line atau paragraf baru

108
\s Untuk membuat karakter spasi
\e Untuk membuat karakter escape
\b Untuk membuat backspace
\t Untuk membuat tabulasi
Misalkan ditampilkan suatu string Hello World, dapat
diilustrasikan sebagai berikut

12.2 Mendefinisikan Variabel String pada Python


Untuk mendefinisikan variabel string pada Python, praktiknya
hampir sama dengan mendefinisikan variabel numerik.
Misalkan dibuat suatu variabel x yang berisi nilai string “Hello
World”
1 x = "Hello World"
1 print(x)

109
Berikut ilustrasi eksekusi syntax di atas melalui console

Catatan: Syntax ;\ digunakan untuk membuat line baru pada


console.

12.3 Operasi String pada Python


String pada Python juga dapat dilakukan eksekusi secara
komputasi. Misalnya perulangan dan penjumlahan string.
Contoh: Penjumlahan String (+)
1 a = "Belajar "
2 b = "Python"
3 c = a+b
4 print (c)

110
Berikut ilustrasi operasi penjumlahan string

Contoh: Perkalian String (*)


1 x = "Python "
2 print (x*7)

111
12.4 Mengindex String pada Python
Variabel yang menyimpan suatu nilai berupa barisan karakter,
sehingga dapat dilakukan index string untuk menampilkan
karakter dengan index tertentu. Index String menggunakan
bilangan bulat dari 0.
nama_variabel[index_karakter]
Misalnya akan ditampilkan karakter dengan index 1 pada suatu
variabel string x berikut.
1 x = "Hello World"
2 print (x[2])

terlihat variabel x memuat string “Hello World”, dimana x[0] =


“H”, x[1] = “e”, x[2] = “l”, dan seterusnya.

12.5 Range Slice pada Variabel String Python


Range Slice menampilkan range karakter dari a mendekati b
(limit b), yang diformulasikan dengan,
112
nama_variabel[a:b]
a = index karakter yang mulai dicetak
b = batas akhir karakter yang dicetak, b tidak dicetak atau
kosongkan untuk mencetak sampai karakter terakhir.
Misalnya pada variabel x akan dicetak “Hello” sehingga range
slicenya adalah x[0:5]
Misalnya pada variabel x akan dicetak “World” sehingga range
slicenya adalah x[0:]

113
BAB 13
Membuat Variabel dengan Tipe Data Numerik
Variabel pada Python digunakan menyimpan data di dalam
memory sehingga dapat digunakan untuk melakukan suatu
proses komputasi. Pada tutorial ini dijelaskan cara membuat
variabel dalam Python menggunakan tipe data numerik.

13.1 Pengertian Variabel pada Python


Variabel pada Python adalah set memory yang digunakan untuk
menyimpan data yang bersifat dinamis. Dinamis berarti nilai
data yang disimpan dalam suatu variabel dapat berubah, baik
dilakukan oleh pengguna maupun secara komputasi. Variabel
pada Python dapat menyimpan berbagai jenis tipe data.
Variabel pada bahasa pemrograman Python harus diberi nama
untuk diproses.
Aturan Penulisan Variabel
1. Harus dimulai dengan huruf atau undescore, misalnya:
a, _a, nilai, _n
2. Tidak boleh dimulai oleh angka
3. Panjang nama maksimum adalah 256 karakter
4. Dapat memuat angka, huruf, underscore, dollar, dan
lain-lain
5. Tidak boleh berisi spasi

114
6. Tidak boleh memuat simbol matematika, misalnya: +, –
, /, (, )
7. Tidak boleh sama dengan fungsi Python standar
Nama variabel Python yang tidak dapat digunakan dan sebagai
pernyataan break class lanjutkan def del elif else kecuali exec
jika impor lambda tidak atau lulus print rise return coba sambil
menghasilkan Benar Salah Salah

13.2 Tipe Data Numerik pada Python


Terdapat 3 tipe data numerik pada Python yaitu integer, float,
dan complex.
13.2.1 Tipe Data Integer pada Python
Integer adalah tipe data numerik berupa bilangan bulat …-,3,-
2,-1,0,1,2,3,…

13.2.2 Tipe Data Float pada Python


Float adalah tipe data numerik berupa bilangan desimal.
Pemisah desimal pada bahasa pemrograman Python
menggunakan tanda titik (.)

13.2.3 Tipe Data Complex pada Python


Complex adalah tipe data numerik berupa bilangan kompleks
yaitu bilangan imaginer. Bilangan imaginer dalam ilmu

115
matematika adalah bilangan yang diformulasikan dengan j² = -
1, dengan j adalah bilangan imaginer. Untuk mendefinisikan
varibel berupa nilai imaginer dapat menggunakan karakter j.

13.3 Contoh Mendifinisikan Variabel pada Python


Mendifinisikan suatu variabel x dengan nilai integer 2
1x = 2

Mendifinisikan suatu variabel y dengan nilai floating 1.87


1 y = 1.87

Mendefinisikan suatu variabel z dengan nilai kompleks 1+3j

116
1 z = 1+3j

117
BAB 14
Pengertian Operator Logika pada Python
Operator logika pada Python merupakan operator yang
digunakan untuk melakukan komputasi boolean, salah satu tipe
data pada bahasa pemrograman Python. Sama halnya seperti
bahasa pemrograman lainnya, operator logika Python
merupakan aplikasi dari disiplin ilmu matematika modern.

14.1 Pengertian Operator Logika pada Python


Operator logika pada python adalah operasi logika matematika
untuk melakukan operasi komputasi dari data boolean, yang
terdiri dari True dan False. True bernilai benar dan False
bernilai salah.

14.2 Operasi Matematika pada Operasi Logika Python


Berikut beberapa operasi matematika yang erat kaitannya
dengan operasi logika

Operasi Matematika Fungsi


< Lebih kecil dari
<= Lebih kecil atau sama dengan
> Lebih besar dari
>= Lebih besar atau sama dengan
== Sama dengan
!= Tidak sama dengan

118
14.3 Menggunakan Jenis Operator Logika pada Python
Terdapat 4 operator logika yang dapat digunakan pada bahasa
pemrograman Python.
Operator Python Function Symbolic Function

AND and() &

OR or() |

XOR xor() ^

NOT not()

14.3.1 Operator AND


Operator AND pada python dapat dilakukan menggunakan
function and() atau &. Nilai kebenaran operator AND adalah
benar ketika kedua operand bernilai benar. Operand adalah
nilai yang digunakan pada operator logika. Berikut tabel
kebenaran operator AND.
119
AND Operand 1 Operand 2
True True True

False True False

False False True

False False False

14.3.2 Operator OR
Operator OR pada python dapat dilakukan menggunakan
fungsi OR() atau |. Operator OR mempunyai nilai kebenaran
salah saat kedua operand bernilai salah. Berikut tabel
kebenaran operator logika OR.

120
OR Operand 1 Operand 2
True True True
True True False
True False True
False False False

14.3.3 Operator XOR


Operator XOR pada Python adalah operasi logika dari OR
Eklusif. Dalam aljabar boolean, Operasi XOR mempunyai
definisi setiap tapi tidak semua. Operator XOR memberikan
nilai kebenaran benar (1) saat jumlahan operand adalah
ganjil.

XOR Operand 1 Operand 2


True (2) True (1) True (1)
True (1) True (1) False (0)

True (1) False (0) True (1)

121
False (0) False (0) False (0)

14.3.4 Operator NOT


Operator NOT pada Python berati negasi dari dari operand
yang dimuatnya.

122
BAB 15
Struktur Data List
Bagaimana caranya menyimpan banyak data dalam satu
veriabel dengan menggunakan List. List adalah struktur data
pada python yang mampu menyimpan lebih dari satu data,
seperti array.
Pada kesempatan ini, kita akan membahas cara menggunakan
list di Python dari yang paling sederhana sampai yang sedikit
kompleks.
Poin-poin yang akan dipelajari list.
1. Cara Membuat List dan Mengisinya
2. Cara Mangambil nilai dari List
3. Cara Menambahkan dan Menghapus isi List
4. Operasi pada List
5. List multi dimensi

15.1 Cara Membuat List di Python


List dapat kita buat seperti membuat variabel biasa, namun
nilai variabelnya diisi dengan tanda kurung siku ([]).
Contoh:
# Membuat List kosong
warna = []

# Membuat list dengan isi 1 item


hobi = ["membaca"]

123
Apabila list-nya memiliki lebih dari satu isi, maka kita bisa
memisahnya dengan tanda koma.
Contoh:
buah = ["jeruk", "apel", "mangga", "duren"]
Jenis jenis yang diperbolehkan dalam List. list dapat diisi
dengan tipe data apa saja, string, integer, float, double,
boolean, object, dan sebagainya.
Kita juga bisa kombinasi isinya.
Contoh:
laci = ["buku", 21, True, 34.12]

Ada empat jenis tipe data pada list laci:


1. "buku" adalah tipe data string;
2. 21 adalah tipe data integer;
3. True adalah tipe data boolean;
4. dan 34.12 adalah tipe data float.

15.2 Cara Mengambil Nilai dari List


Setelah kita tahu cara membuat dan menyimpan data di dalam
List, mari kita coba mengambil datanya. List sama seperti
array, list juga memiliki nomer indeks untuk mengakses data
atau isinya. Nomer indeks list selalu dimulai dari nol (0).
Nomer indeks ini yang kita butuhkan untuk mengambil isi
(item) dari list.

124
Contoh:
# Kita punya list nama-nama buah
buah = ["apel", "anggur", "mangga", "jeruk"]

# Misanya kita ingin mengambil mangga


# Maka indeknya adalah 2
print buah[2]
Akan menghasilkan output sebagai berikut:
"mangga"
Latihan 1: Membuat Program dengan List
Untuk memantapkan pemahaman, silahkan coba latihan
berikut.
1. Buat sebuah list untuk menyimpan kenalanmu
2. Isi list sebanyak 5
3. Tampilkan isi list indeks nomer 3
4. Tampilkan semua teman dengan perulangan
5. Tampilkan panjang list

# Buat list untuk menampung nama-nama teman


my_friends = ["Anggun", "Dian", "Agung", "Adi",
"Adam"]

# Tampilkan isi list my_friends dengan nomer indeks


3
print "Isi my_friends indeks ke-3 adalah:
{}".format(my_friends[3])

# Tampilkan semua daftar teman


print "Semua teman: ada {}
orang".format(len(my_friends))
for friend in my_friends:
print friend

125
Pada kode di atas, kita menggunakan fungsi len() untuk
mengambil panjang list.
Hasil outputnya:
Isi my_friends indeks ke-3 adalah Adi
Semua teman ada 5 orang
Anggun
Dian
Agung
Adi
Adam

15.2.1 Mengganti Nilai List


List bersifat mutable, artinya isinya bisa kita ubah-ubah.
Contoh:
# list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
# mengubah nilai index ke-2
buah[2] = "kelapa"
Maka "mangga" akan diganti dengan "kelapa".
["jeruk", "apel", "kelapa", "duren"]

15.2.2 Menambahkan Item List


Tedapat Tiga metode (method) atau fungsi yang bisa digunakan
untuk menambahkan isi atau item ke List:
1. prepend(item) menambahkan item dari depan;
126
2. append(item) menambahkan item dari belakang.
3. insert(index, item) menambahkan item dari indeks
tertentu
Contoh:
#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
# Tambahkan manggis
buah.append("manggis")
Hasilnya "manggis" akan ditambahkan setelah item terakhir.
["jeruk", "apel", "mangga", "duren", "manggis"]
Metode yang kedua menggunakan prepend(). Metode
prepend() akan menambahkan item dari depan atau awal list.
Contoh:
#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
buah.prepend("anggur")
Maka "anggur" akan ditambahkan pada awal list.
["anggur","jeruk", "apel", "mangga", "duren"]
Selain prepend() dan append() kita juga bisa mengginakan
method insert() untuk menambahkan item pada indeks
tertentu.
Contoh:
#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
buah.insert(2, "duren")

127
Latihan 2: Membuat Program dengan List
Sekarang mari kita coba membuat program dengan
memanfaatkan method prepend() dan append().
Silahkan langsung di ketik dan dicoba.
# Membuat list kosong untuk menampung hobi
hobi = []
stop = False
i = 0

# Mengisi hobi
while(not stop):
hobi_baru = raw_input("Inputkan hobi yang ke-
{}: ".format(i))
hobi.append(hobi_baru)

# Increment i
i += 1

tanya = raw_input("Mau isi lagi? (y/t): ")


if(tanya == "t"):
stop = True

# Cetak Semua Hobi


print "=" * 10
print "Kamu memiliki {} hobi".format(len(hobi))
for hb in hobi:
print "- {}".format(hb)
Coba eksekusi dan inputkan sebuah nilai.
petanikode@imajinasi ~ $ python hobi.py
Inputkan hobi yang ke-0: Membaca
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-1: Menulis
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-2: Main Game
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-3: Ngoding
Mau isi lagi? (y/t): t

128
Kamu memiliki 4 hobi
- Membaca
- Menulis
- Main Game
- Ngoding

15.2.3 Menghapus Item di List


Untuk menghapus salah satu isi dari List, kita bisa
menggunakan perintah del. Perintah del akan menghapus
sebuah variabel dari memori.
Contoh:
# Membuat List
todo_list = [
"Balajar Python",
"Belajar Django",
"Belajar MongoDB",
"Belajar Sulap",
"Belajar Flask"
]

# Misalkan kita ingin menghapus "Belajar Sulap"


# yang berada di indeks ke-3
del todo_list[3]

print todo_list
Hasilnya, "Belajar Sulap" akan dihapus:
['Balajar Python', 'Belajar Django', 'Belajar MongoDB', 'Belajar
Flask']

129
Selain menggunakan perintah del, kita juga bisa menggunakan
method remove() dengan paramter item yang akan dihapus.
Contoh:
# mula-mula kita punya list
a = ["a", "b", "c", "d"]
# kemudian kita hapus b
a.remove("b")

print a
Hasilnya:
["a", "c", "d"]

15.2.4 Memotong list


Seperti string, list juga dapat dipotong-potong.
Contoh:
# Kita punya list warna
warna = ["merah", "hijau", "kuning", "biru",
"pink", "ungu"]

# Kita potong dari indeks ke-1 sampai ke-5


print warna[1:5]
Hasilnya:
['hijau', 'kuning', 'biru', 'pink']

15.2.5 Operasi List


Ada beberapa operasi yang bisa dilakukan terhadap List,
diantaranya:
 Penggabungan (+)
 Perkalian (*)
130
Contoh:
# Beberapa list lagu
list_lagu = [
"No Women, No Cry",
"Dear God"
]

# playlist lagu favorit


playlist_favorit = [
"Break Out",
"Now Loading!!!"
]

# Mari kita gabungkan keduanya


semua_lagu = list_lagu + playlist_favorit

print semua_lagu
Hasilnya:
['No Women, No Cry', 'Dear God', 'Break Out', 'Now
Loading!!!']
Sedangkan untuk operasi perkalian hanya dapat dilakukan
dengan bilangan.
Contoh:
# playlist lagu favorit
playlist_favorit = [
"Break Out",
"Now Loading!!!"
]

# ulangi sebanyak 5x
ulangi = 5

now_playing = playlist_favorit * ulangi

print now_playing

131
Hasilnya:
['Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!',
'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!',
'Break Out', 'Now Loading!!!']

15.2.6 List Multi Dimensi


Pada contoh-contoh di atas, kita hanya membuat list satu
dimensi saja. List dapat juga memiliki lebih dari satu dimensi
atau disebut dengan multi dimensi. List multi dimensi biasanya
digunakan untuk menyimpan struktur data yang kompleks
seperti tabel, matriks, graph, tree, dan sebagainya.
Contoh:
# List minuman dengan 2 dimensi
list_minuman = [
["Kopi", "Susu", "Teh"],
["Jus Apel", "Jus Melon", "Jus Jeruk"],
["Es Kopi", "Es Campur", "Es Teler"]
]

# Cara mengakses list multidimensi


# misalkan kita ingin mengambil "es kopi"
print list_minuman[2][0]
Angka 2 pada kode di atas, menunjukan indeks list yang akan
kita akses. Kemudian setelah dapat list-nya baru kita ambil
isinya.
Hasil outputnya:
"Es Kopi"

132
Bagaimana kalau kita ingin menampilkan semua isi dalam list
multi dimensi, tinggal gunakan perulangan bersarang.
# List minuman dengan 2 dimensi
list_minuman = [
["Kopi", "Susu", "Teh"],
["Jus Apel", "Jus Melon", "Jus Jeruk"],
["Es Kopi", "Es Campur", "Es Teler"]
]

for menu in list_minuman:


for minuman in menu:
print minuman
Hasilnya:
Kopi
Susu
Teh
Jus Apel
Jus Melon
Jus Jeruk
Es Kopi
Es Campur
Es Teler

133
BAB 16
Pengertian dan Membuat List pada Python
List adalah salah satu jenis array pada python dengan
menggunakan square brackets [kurung siku], yang
mengizinkan terjadinya perubahan nilai element dan duplikasi
nilai index. Dengan mengizinkan perubahan nilai element, list
dapat digunakan untuk melakukan perhitungan yang dinamis.
Duplikasi nilai index memungkinkan list menyimpan element
yang sama pada index yang berbeda. Berikut cara membuat list
pada Python.

16.1 Cara Membuat List pada Python


Cara membuat list pada python sama halnya dengan
mendefinisikan variable numerik biasa. Berikut sistematika
penulisan list,
1 listname = [[x11, x12, x13],[x21, x22, x23, x24]]
 listname adalah nama variable yang menyimpan list.
 Nilai yang dimasukkan dapat berupa nilai numerik, atau
string.
 Nilai string diapit oleh tanda petik.
 Size setiap element menentukan banyaknya nilai yang
disimpan pada elemen list.
 Index List dimulai dari angka 0, 1, …, dst.

134
 [x11, x12, x13] adalah nilai list pada index 1 dengan
size 3
 [x21, x22, x23, x24] adalah nilai list pada index 2
dengan size 4

16.2 Membuat List dalam bentuk Vektor


Akan dibuat list A dengan anggota 2, 3, 4, 5

Sehingga digunakan syntax berikut


1 A = [2, 3, 4, 5]

16.3 Membuat List dalam bentuk N


Akan dibuat list B dengan anggota baris pertama 1, 3, 6 dan
kedua 1, 7, 9, 1, 9

135
Sehingga digunakan syntax berikut
1 B = [[1, 3, 6],[1, 7, 9, 1, 9]]

16.4 Membuat List dengan Nilai String


Akan dibuat list C dari nama hewan anjing, kucing, monyet

Sehingga dapat digunakan syntax berikut


1 C = ['anjing', 'kucing', 'monyet']

136
16.2.1 Array Addressing | Mengindex List pada Python
Berikut cara melakukan index list pada Python
Metode Deskripsi
append() Menambah element pada index terakhir
clear() mengosongkan list
len() menghitung panjang list
del menghapus list atau element
insert() Menambah element pada index tertentu
pop() menghapus element pada index tertentu
remove() menghapus 1 element dengan nilai tertentu

Len() | Menghitung Panjang List


Untuk menghitung jumlah index pada list dapat digunakan
syntax len().
Misalnya diktehui list E

1 E = [[1, 2], 3, 1, [1, 6]]


2
3 len(E)

137
Sehingga diperoleh panjang list E adalah 4

16.2.2 Address |Mengambil Nilai Element List dengan


Index Tertentu
Untuk mengambil element tertentu pada suatu list dapat
menggunakan referensi nama list menggunakan square
brackets. Berikut sistematika addressing list,
Mengambil 1 Element
namalist[i]
i adalah angka index element yang diambil
Contoh:
Pada list x = [[2, 3], 1, 2, 4] dapat diketahui
x[0] adalah [2, 3]
x[1] adalah [1]
x[2] adalah [2]
x[3] adalah [4]

138
Mengambil beberapa Element
1 namalist[a:b]
a adalah index awal yang diambil
b adalah index yang membatasi element yang diambil (nilai
index b tidak diambil)
jika a atau b kosong nilai index akan berada pada tingkat
minimum (a) dan maksimum (b) list
Contoh:
Pada list x = [[2, 3], 1, 2, 4] dapat diketahui
x [0:2] adalah [[2, 3], 1]
x [2: ] adalah [2, 4]
x [:3] adalah [[2, 3], 1, 2]

16.2.3 Address | Mengubah Nilai Element List dengan


Index Tertentu
Untuk mengubah nilai element list dapat digunakan sistematika
berikut
Mengubah Satu Element
1 namalist[i] = x1
i adalah index element yang akan dirubah.
x1 adalah nilai yang meggantikan nilai sebelumnya pada
element i.

139
Contoh:
Mengganti element dengan index 0 pada list x

Mengubah Beberapa Element


1 namalist[a:d] = [xa, xb, xc]
a adalah index awal yang diambil
d adalah index yang membatasi element yang diambil (nilai
index d tidak diambil)
jika a atau b kosong nilai index akan berada pada tingkat
minimum (a) dan maksimum (d) list
xa, xb, xc adalah nilai terurut yang menggantikan nilai element
sebelumnya
Contoh:

140
16.2.4 Address | Menambah Element List
Untuk menambah element pada list dapat menggunakan syntax
append() dan insert()
append() | Menambah element pada index selanjutnya
Syntax append() digunakan untuk menambah element baru di
index selanjutnya pada list. Berikut sistematika penggunaan
syntax append()
namalist.append(nilai_element)
Misalnya diketahui list A = [1, 4, 7] akan ditambahkan element
8 pada index selanjutnya. Sehingga dapat digunakan kode
berikut
1 A = [1,4,7]
2
3 A.append(8)
4
5 print(A)

141
insert() | Menambah element pada index tertentu
Syntax insert() digunakan untuk menambah element pada
index tertentu. Berikut sistematika penulisan syntax insert()
namalist.insert(i, nilai element)
i adalah index tempat elemen baru ditambahkan, element
lainnya akan menyesuaikan.
Contoh:
Misalnya ditambahkan nilai „anjing‟ di index 1 pada list y =
[„kucing‟, „monyet‟,]. Sehingga dapat digunakan kode berikut
1 y = ['kucing', 'monyet',]
2
3 y.insert(1, 'anjing')
4
5 print(y)

142
16.2.5 Address | Menghapus Element List
Untuk menghapus element pada list dapat menggunakan
syntax remove(), pop(), del, dan clear(). Masing-masing syntax
mempunyai kegunaan yang berbeda-beda.
 Syntax remove() digunakan untuk menghapus 1 element
dengan nilai tertentu.
 Syntax pop() digunakan untuk menghapus element
dengan index tertentu atau index terakhir.
 Syntax del digunakan untuk menghapus element dengan
index tertentu.
 Syntax clear() digunakan untuk mengosongkan list.
remove() | Menghapus Elemen dengan Nilai Tertentu
Berikut sistematika penulisan syntax remove()
namalist.remove(x)

143
x adalah nilai yang akan dihapus dalam list.
Contoh:
Dihapus nilai 0 pada list y = [1, 0, 2, 0, 3]
1 y = [1, 0, 2, 0, 3]
2
3 y.remove(0)
4
5 print(y)

16.3 pop() | Menghapus Element dengan index tertentu


atau terakhir
Berikut sistematika penulisan syntax pop()
namalist.pop(x)
x adalah nilai yang akan dihapus dalam list.
Contoh:
Dihapus index terakhir pada list z = [„buku‟, „pensil‟, „pulpen‟]

144
1 z = ['buku', 'pensil', 'pulpen']
2
3 z.pop()
4
5 print(z)

16.4 del | Menghapus Element dengan index tertentu


Berikut sistematika penulisan syntax del
del namalist(i)
i adalah index yang akan dihapus dalam list.
Contoh:
Dihapus index 1 dari list q = [1, 2, 3]
1 1q = [1, 2, 3]
2 del q[1]
3 print(q)

145
syntax del juga dapat digunakan untuk menghapus list secara
keseluruhan, dengan mengosongkan parameter index.
1 p = [1, 2, 3]
2 del p
3 print(p)

146
16.5 clear() | Mengosongkan List
Berikut sistematika penulisan syntax clear()
namalist.clear()
Contoh:
1 f = [1, 2, 3, 7]
2
3 f.clear()
4
5 print(f)

147
BAB 17
Membaca dan Menulis File di Python

Membaca dan menulis file adalah teknik dasar yang harus


dipahami dalam pemrograman Python, karena banyak
digunakan untuk pengolahan dan pemerosesan file.
Paham cara membaca dan menulis file dengan Python akan
membuatmu mampu membuat aplikasi yang bisa mengambil
dan menyimpan data ke file.
Selain itu juga, kamu akan lebih mudah memahami beberapa
materi Python selanjutnya, seperti membaca dan parshing file
JSON, XML, CSV, XLS, dan sebagainya.
Ada banyak sekali tipe file pada computer seperti, dokumen,
video, gambar, audio, arsip, dll.
Pada Python, file hanya dikelompokkan menjadi dua tipe:
1. File Teks: File yang berisi teks. Setiap baris teks
memiliki EOL (End of Line).
Contoh: TXT, MD, CSV, JSON, dsb.
2. File Binary: File yang bukan teks, hanya bisa diproses
oleh program tertentu yang memahami strukturnya.
Contoh: EXE, JPG, MKV, M4A, 3GP, dsb.
Pada tutorial ini, kita akan hanya belajar cara membaca dan
menulis file teks saja.

148
Untuk file binary, mungkin nanti di kesempatan yang lain.

17.1 Cara Membaca File di Python


Python sudah menyediakan fungsi open(), untuk membaca
dan menulis file.
Fungsi ini memiliki dua parameter, yaitu nama file dan mode.

Objek file adalah variabel objek yang menampung isi file.


Kita bisa melakukan pemrosesan file berkatnya.
Nama file bisa kita isi langsung apabila file-nya terletak dalam
satu direktori dengan skrip python. Namun, apabila terletak di
direktori yang berbeda, maka kita harus memberikan alamat
path file-nya.
Misalnya seperti ini:
obj_file = open("/path/ke/file.txt", "r")

Kemudian untuk parameter mode, fungsinya untuk menentukan


hak akses terhadap file.

149
Ada beberapa mode yang tersedia:
Mode Ketereangan
“r” hanya baca saja
akses untuk menulis file, jika file sudah ada, maka file
“w”
akan di replace dan diganti dengan yang baru ditulis
digunakan untuke append atau menambah data ke file,
“a” artinya jika sudah ada data dalam file, maka akan
ditambahkan dan tidak di-replace
digunakan untuk membaca sekaligus menulis data ke
“r+”
file
Pada Windows, kadang ditambahkan "b" dibelakangnya,
seperti: "rb", "wb", "ab", "r+b".
Artinya untuk membuka file dalam mode binary.
Seperti yang kita ketahui antara EOL Unix dan Windows
berbeda, kadang file binary seperti JPG dan EXE bisa rusak
pada Windows kalau tidak ditambahkan akhiran "b".
Tapi di Unix/Linux tidak masalah, tanpa harus menggunakan
akhiran "b".
Sekarang kita latihan praktek dan latihan agar lebih paham.
Sekarang silahkan buat direktori bernama file-io, lalu di
dalamnya buat file puisi.txt dan baca_file.py.
file-io/
├── baca_file.py
└── puisi.txt
Setelah itu, silahkan buka file puisi.txt dengan notepad atau
teks editor, kemudian isi dengan teks berikut:
Engkau bahkan bukan lagi variabel bagiku
150
Engkau adalah konstanta abadi yang tak
tergantikan...
Jangan lupa di simpan.

17.2 Membaca File Per Baris


Selanjutnya kita akan mulai menulis kode programnya.
Silahkan buka file baca_file.py kemudian ketik kode berikut.
(usahakan diketik sendiri dan jangan dicopas)
# buka file
file_puisi = open("puisi.txt", "r")

# baca isi file


print file_puisi.readlines()

# tutup file
file_puisi.close()

kita membuka file dengan fungsi open(), selanjutnya


mencoba membaca isinya per baris dengan method
readlines(), dan terakhir menutup file dengan close() agar
dihapus dalam memori.

151
Saat dieksekusi, kode di atas akan menghasilkan output berupa
list, karena kita menggunakan method readlines().

Perhatikan \n adalah EOL (End of Line), simbol ini akan


membuat baris baru.
Selanjutnya mari kita coba ubah kodenya menjadi seperti ini:
# buka file
file_puisi = open("puisi.txt", "r")

# baca isi file


puisi = file_puisi.readlines()

# cetak baris pertama


print puisi[0]
# cetak baris kedua
print puisi[1]

# tutup file
file_puisi.close()
Hasil outputnya:
Engkau bahkan bukan lagi variabel bagiku
Engkau adalah konstanta abadi yang tak
tergantikan...
Bagus, kita sudah berhasil membaca dan mencetak isi file.
“Tunggu dulu…bagaimana kalau filenya memiliki banyak
baris?”
152
kita tinggal menggunakan pengulangan untuk mencetaknya.
Silahkan ubah lagi kodenya menjadi seperti ini:
# buka file
file_puisi = open("puisi.txt", "r")

# baca isi file


puisi = file_puisi.readlines()

# cetak isi file dengan perulangan


for teks in puisi:
print teks

# tutup file
file_puisi.close()
Coba tambahkan isi file puisi.txt dan coba lihat hasil
outputnya sekarang.

17.3 Membaca Semua Teks dalam File


Kalau tadi kita membaca isi file per baris, sekarang kita coba
baca semua teks menggunakan method read().
Silahkan ikuti kode berikut:
# buka file
file_puisi = open("puisi.txt", "r")

# baca isi file


puisi = file_puisi.read()

153
# cetak isi file
print puisi

# tutup file
file_puisi.close()
Hasilnya:

“Apa bedanya method read() dengan readlines()?”


Bedanya:
Method read() membaca seluruh teks dan akan
mengembalikan nilai string. Sedangkan readlines()

membaca isi file per baris dan akan mengembalikan nilai


berupa list. Perlu diketahui, method read() dan
readlines() hanya sekali pakai. Artinya, hanya diekekusi
sekali saja.
Eksekusi pertama, dia akan mengembalikan nilai berdasarkan
isi filenya.
Eksekusi kedua, dia akan mengembalikan nilai kosong.
Karena itu, kita harus menyimpan hasilnya ke dalam variabel
seperti puisi.

154
Contoh:
>>> f = open("puisi.txt","r")
>>> print f.read()
Engkau bahkan bukan lagi variabel bagiku
Engkau adalah konstanta abadi yang tak
tergantikan...
Tak ada yang bisa memisahkan kita

>>> f.read()
''
>>> f.readlines()
[]
Lihat:
Pada eksekusi kedua, method read() dan readlines()
mengembalikan nilai kosong.
Selanjutnya kita akan mencoba menulis data ke file.

17.4 Cara Menulis File di Python


Seperti yang sudah kita ketahui, ada tiga mode yang digunakan
bila ingin menulis file, yaitu: "w", "a", dan "r+".
Apa saja perbedaan dari ketiga mode itu. Menulis File dengan
Mode "W"
Silahkan buat program baru bernama tulis_bio.py,
kemudian ikuti kodenya seperti ini.
print "Selamat datang di Program Biodata"
print "================================="

# Ambil input dari user


nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")

155
# format teks
teks = "Nama: {}\nUmur: {}\nAlamat:
{}".format(nama, umur, alamat)

# buka file untuk ditulis


file_bio = open("biodata.txt", "w")

# tulis teks ke file


file_bio.write(teks)

# tutup file
file_bio.close()
Setelah itu, coba eksekusi programnya.

Maka sekarang kita punya file baru bernama biodata.txt.

156
Apa bila file itu sudah ada, maka akan di-replace atau ditulis
ulang dengan yang baru.
Ada dua method yang bisa kita gunakan untuk menulis file
1. write(): parameternya teks (string)
2. writelines(): parameternya teks dalam bentuk list.
Contoh:
teks = "ini sebuah teks"
teks_list ["apel", "mangga", "anggur"]

f = open("file.txt", "w")
f.write(teks)
f.writelines(teks_list)
perbedaan Method write() akan menulis semua teks,
sedangkan writelines() akan menulis per baris.

17.5 Menyisipkan Data ke File


Apabila kita tidak ingin menulis ulang atau menindih file yang
sudah ada, kita bisa menggunakan mode "a" (append) untuk
menulisnya.
Silahkan modifikasi program sebelumnya.
print "Selamat datang di Program Biodata"
print "================================="

# Ambil input dari user


nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")

# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---
".format(nama, umur, alamat)
157
# buka file untuk ditulis
file_bio = open("biodata.txt", "a")

# tulis teks ke file


file_bio.write(teks)

# tutup file
file_bio.close()
Setelah itu, coba eksekusi dan masukan beberapa data.

Maka sekarang di file bioadta.txt ada data baru.

158
17.6 Membaca dan Menulis File dengan Mode "r+"
Saat kita ingin membaca dan menulis file bersamaan, kita bisa
saja membuat dua objek file seperti ini:
file_baca = open("nama_file.txt", "r")
file_tulis = open("nama_file.txt", "w")
Namun, sepertinya akan memakan banyak memori, karen kita
membuat banyak objek. Maka cara terbaik yang digunakan
adalah menggunakan mode "r+" membaca sekaligus menulis.
Silahkan modifikasi kembali program yang tadi.
print "Selamat datang di Program Biodata"
print "================================="

# buka file untuk dibaca dan ditulis


file_bio = open("biodata.txt", "r+")

teks = file_bio.read()

# cetak isi file


print teks

# Ambil input dari user


nama = raw_input("Nama: ")
umur = input("Umur: ")
alamat = raw_input("Alamat: ")

# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---
".format(nama, umur, alamat)

# tulis teks ke file


file_bio.write(teks)

# tutup file
file_bio.close()
Setelah itu, coba eksekusi programnya.

159
Maka sekarang akan ada data baru yang ditambahkan.
Sifat dari mode "r+" sama seperti "a", dia tidak menindih data
yang sudah ada.

17.7 Menggunakan with dan as


Pada contoh-contoh di atas, kita selalu menutup file dengan
method close().
Sebenarnya file bisa ditutup otomatis dengan mengguakan
with.

Contoh:
with open("dokumen.txt", "r") as dok:
print dok.read()
Setelah blok with dieksekusi, file akan ditutup dan otomatis
dihapus dari memori.
Menggunakan Exception
Ada kalanya saat kita baca file, tapi filenya belum ada.

160
Maka biasanya akan terjadi IOerror.
IOError: [Errno 2] No such file or directory:
'file.txt'
Hal ini, bisa kita atasi dengan menggunakan exception.
Contoh:
try:
f = open("file.txt","r")
except IOError as err:
print "Terjadi kesalahan: {}".format(err)
Maka, bila error…akan menghasilkan output:
Terjadi kesalahan: [Errno 2] No such file or
directory: 'file.txt'

BAB 18
161
Tuple dalam Python

Tuple dalam Python adalah stuktur data yang digunakan untuk


menyimpan sekumpulan data. Tupe bersifat immutable, artinya
isi tuple tidak bisa kita ubah dan hapus. Namun, dapat kita isi
dengan berbagai macam nilai dan objek.
Pada artikel ini, kita akan membahas:
1. Cara Membuat Tuple
2. Cara Mengakses Nilai Tuple
3. Slicing Nilai Tuple
4. Cara Mengambil panjang tuple
5. Nested Tuple
6. Unpacking Sequence

18.1 Cara Membuat Tuple di Python


Tuple biasanya dibuat dengan tanda kurung seperti ini:
t = (1234, 4321, 'Hello')
atau bisa juga tanpa tanda kurung:
t = 1234, 432, 'World!'
Kedua-duanya valid.

18.2 Membuat Tuple Kosong dan Singleton

162
Apabila membuat sebuah tuple tanpa isi, kita bisa
menuliskannya seperti ini:
# Membuat tuple kosong
kosong = ()
Lalu untuk membuat Tuple yang hanya berisi satu (singleton),
maka kita harus manambahkan tanda koma di belakangnnya.
Contoh:
# membuat tuple
satu = ('Isinya',)
siji = "isinya siji",
dalam coding mengunakan koma, karena kalau tidak
ditambahkan koma, akan dianggap sebagai string.
satu = ('isinya') # <-- ini string
siji = "isinya satu" # <-- ini juga string

18.3 Mengakses Nilai Tuple


Sama seperti list, Tuple juga memiliki indeks untuk Mengakses
item di dalamnya. Indeks Tuple dan list dimulai dari nol 0.
Contoh:
# membuat tuple
nama = ('petani', 'kode', 'linux')

# mengakses nilai tuple


print(nama[1])

Maka hasilnya:
163
Apabila kita coba mengubah nilainya, maka akan terjadi error.

Ini karena Tuple bersifat immutable.

18.4 Memotong Tuple


Sama seperti list, di Tuple juga kita bisa melakukan slicing.
Contoh:
# mula-mula kita punya tuple seperti ini
web = (123, 'Petani Kode', 'coding.com')
# lalu kita ingin potong agar ditampilkan
# dari indeks nomer 1 sampai 2
164
print(web[1:2])

Maka hasilnya:
('Petani Kode',)
Logikanya sama seperti di list.

18.5 Mengambil Panjang Tuple


Untuk mengambil panjang atau jumlah item di dalam Tuple,
kita bisa menggunakan fungsi len().
Contoh:
# Membuat Tuple
hari = ('Senin', 'Selasa', 'Rabu', 'Kamis',
'Jum\'at', 'Sabtu', 'Minggu')

# Mengambil panjang tuple hari


print("Jumlah hari: %d" % len(hari))

Maka hasilnya:

18.6 Tuple Nested

165
Tuple juga bisa nested, artinya Tuple bisa diisi dengan Tuple.
Contoh:
tuple1 = "aku", "cinta", "kamu"
tuple2 = "selama", 3, "tahun"
tuple3 = (tuple1, tuple2) # <- nested tuple
tuple3 akan berisi nilai dari tuple1 dan tuple2.

Tuple juga bisa diisi dengan objek apapun seperti list,


dictionary, object, dan lain-lain.
Contoh:
t = ([1,2,3], {'nama': 'Petanikode', 'rank', 123}, True)
Tuple t berisi list, dictionary, dan nilai boolean.

18.7 Sequence Unpacking


Proses pembuatan Tuble bisa kita sebut sebagai packing,
sementara untuk mengambil (ekstrak) seluruh isinya disebut
unpacking.
Contoh:
# mula-mula kita buat tuple seperti ini
web = 123, "Petani Kode", "Selamat Koding"
# lalu di-unpacking
id_web, nama, url = web

# maka sekarang tiga variabel tersebut akan


bernilai
# sesuai yang ada di dalam tuple
#
# mari kita cetak
166
print(id_web)
print(nama)
print(url)
Hasilnya:

Dengan melakukan upacking, isi tuple akan di-copy ke


variabel. Lalu dengan variabel kita bisa melakukan apapun,
seperti mengubah isinya. Karena variabel bersifat mutable.

BAB 19
167
Fungsi dan Prosedur pada Python

Pada pembuatan program yang kompleks dan memiliki banyak


fitur, kita diharuskan menggunakan fungsi. Bisa jadi kita akan
kerepotan menulis kode programnya, karena banyak yang
harus ditulis dan kode akan menjadi sulit dibaca dan dirawat
(maintenance).
Dengan fungsi, kita dapat memecah program besar menjadi sub
program yang lebih sederhana. Masing-masing fitur pada
program dapat kita buat dalam satu fungsi. Pada saat kita
membutuhkan fitur tersebut, kita tinggal panggil fungsinya
saja. Hal ini akan kita coba pada contoh program yang sudah
saya sediakan di bawah ini.
Terlebih dahulu kita memahami teori dasar dan hal apa saja
yang harus kita ketahui tentang fungsi di Python.

19.1 Cara Membuat Fungsi pada Python


Fungsi pada Python, dibuat dengan kata kunci def kemudian
diikuti dengan nama fungsinya.
Contoh:
def nama_fungsi():
print "Hello ini Fungsi"
Sama seperti blok kode yang lain, kita juga harus memberikan
identasi (tab atau spasi 2x) untuk menuliskan isi fungsi.

168
Setelah dibuat fungsinya, lalu kita dapat memanggilnya
kembali seperti dibawah ini.
nama_fungsi()
Sebagai contoh, coba tulis kode program berikut:
# Membuat Fungsi
def salam():
print "Hello, Selamat Pagi"

## Pemanggilan Fungsi
salam()

Hasilnya:
Hello, Selamat Pagi
Coba panggil sebanyak 3x:
# Membuat Fungsi
def salam():
print "Hello, Selamat Pagi"

## Pemanggilan Fungsi
salam()
salam()
salam()
Hasilnya:
Hello, Selamat Pagi
Hello, Selamat Pagi
Hello, Selamat Pagi

Intinya apapun yang ada di dalam fungsi, ketika dipanggil


itulah yang akan dilakukan.

169
FYI: fungsi juga dapat dipanggil pada fungsi lain, bahkan bisa
memanggil dirinya sendiri. Fungsi yang memanggil dirinya
sendiri, disebut fungsi rekursif.

19.2 Fungsi dengan Parameter


Bagaimana kalau kita ingin memberikan input nilai ke dalam
fungsi, kita bisa manfaatkan parameter.
Parameter adalah variabel yang menampung nilai untuk
diproses di dalam fungsi.
Contoh:
def salam(ucapan):
print(ucapan)

Pada contoh diatas, untuk membuat fungsi dengan parameter


ucapan. Dan bagaimana cara memanggilnya.
Cara pemanggilan fungsi yang memiliki parameter adalah
seperti dibawah ini:
salam("Selamat siang")
"Selamat siang" adalah nilai parameter yang kita berikan.
Lalu bagaimana kalau parameternya lebih dari satu, Kita bisa
menggunakan tanda koma (,) untuk memisahnya.

Contoh:
# Membuat fungsi dengan parameter
def luas_segitiga(alas, tinggi):
170
luas = (alas * tinggi) / 2
print "Luas segitiga: %f" % luas;

# Pemanggilan fungsi
luas_segitiga(4, 6)
Hasilnya:
Luas segitiga: 12.000000

19.3 Fungsi yang Mengembalikan Nilai


Fungsi yang tidak mengembalikan nilai biasanya disebut
dengan prosedur. Namun, kadang kita membutuhkan hasil
proses dari fungsi untuk digunakan pada proses berikutnya.
Maka fungsi harus mengembalikan nilai dari hasil
pemrosesannya.
Cara mengembalikan nilai adalah dengan menggunakan kata
kunci return lalu diikuti dengan nilai atau variabel yang akan
dikembalikan.
Contoh:
def luas_persegi(sisi):
luas = sisi * sisi
return luas

# pemanggilan fungsi
print "Luas persegi: %d" % luas_persegi(6)
Hasilnya:
Luas persegi: 36
Apa bedanya dengan fungsi luas_segitiga() yang tadi, fungsi
luas_segitiga() kita melakukan print dari hasil pemrosesan

171
secara langsung di dalam fungsinya. Sedangkan fungsi
luas_persegi(), kita melakukan print pada saat
pemanggilannya.
Jadi, fungsi luas_persegi() akan bernilai sesuai dengan hasil
yang dikembalikan. Sehingga kita dapat memanfaatkannya
untuk pemrosesan berikutnya.
Misalnya seperti ini:
# rumus: sisi x sisi
def luas_persegi(sisi):
luas = sisi * sisi
return luas
# rumus: sisi x sisi x sisi
def volume_persegi(sisi):
volume = luas_persegi(sisi) * sisi
Pada contoh di atas, kita melakukan pemanggilan fungsi
luas_persegi() untuk menghitung volume persegi.

19.4 Variabel Global dan Lokal pada Python


Saat kita menggunakan fungsi, maka kita mengetahui yang
namanya variabel Global dan Lokal. Variabel Global adalah
variabel yang bisa diakses dari semua fungsi, sedangkan
variabel lokal hanya bisa diakses di dalam fungsi tempat ia
berada saja.
Pada Python, urutan pengaksesan variabel (scope) dikenal
dengan sebutan LGB (Local, Global, dan Build-in).

172
Jadi program python mulai mencari vairabel lokal terlebih
dahulu, kalau ada maka itu yang digunakan.
Tapi kalau tidak ada, pencarian terus ke Global, dan Build-in.
Variabel Build-in adalah variabel yang sudah ada di dalam
Python.
Contoh program:
# membuat variabel global
nama = "Selamatkode"
versi = "1.0.0"

def help():
# ini variabel lokal
nama = "Programku"
versi = "1.0.2"
# mengakses variabel lokal
print "Nama: %s" % nama
print "Versi: %s" % versi

# mengakses variabel global


print "Nama: %s" % nama
print "Versi: %s" % versi

# memanggil fungsi help()


help()
Hasilnya:
Nama: Selamatkode
Versi: 1.0.0
Nama: Programku
Versi: 1.0.2

173
Perhatikanlah variabel nama yang berada di dalam fungsi
help() dan diluar fungsi `help(). Variabel nama yang berada di
dalam fungsi help() adalah variabel lokal.
Jadi, saat kita memanggil fungsi help() maka nilai yang akan
tampil adalah nilai yang ada di dalam fungsi help().
Python mulai mencari dari lokal, ke global, dan build-in.
Kalau di tiga tempat itu tidak ditemukan, maka biasanya akan
terjadi NameError atau variabel tidak ditemukan.

19.5 Contoh Program dengan Fungsi


Sekarang tiba saatnya kita membuat program dengan membuat
file baru bernama program_fungsi.py.
Pertama kita buat sebuah variabel global berupa list untuk
menampung judul-judul buku.
# Variabel global untuk menyimpan data Buku
buku = []

Nanti program ini akan mampu melakukan operasi CRUD


(Create, Read, Update, dan Delete). Maka kita membutuhkan
fungsi-fungsi berikut:
 show_data() untuk menampilkan data dari list buku;
 insert_data() untuk menambahkan data ke list buku;
 edit_data() untuk mengedit data di list buku;
 delete_data() untuk untuk menghapus data dari list
buku.
174
Mari kita buat semuanya. dimulai dari fungsi show_data():
# fungsi untuk menampilkan semua data
def show_data():
if len(buku) <= 0:
print "BELUM ADA DATA"
else:
for indeks in range(len(buku)):
print "[%d] %s" % (indeks,
buku[indeks])

Fungsi di atas akan mengecek isi dari list buku. Jika isinya
kosong (len(buku) <= 0) maka tampilkan "BELUM ADA
DATA".
Namun, apabila ada isinya, maka tampilkan semua isinya
dengan perulangan.
Selanjutnya membuat fungsi insert_data():
# fungsi untuk menambah data
def insert_data():
buku_baru = raw_input("Judul Buku: ")
buku.append(buku_baru)

Fungsi di atas akan mengambil input dari user kemudian diisi


ke dalam list buku dengan fungsi append().
Fungsi append() adalah fungsi untuk menambahkan item di
akhir list.
Selain append() ada juga prepend(). Namun, untuk kasus ini,
kita pakai append() saja.
Penjelasan lengkap tentang append() dan prepend() bisa dibaca
pada Mengenal Struktur Data List pada Python.
175
Selanjutnya membuat fungsi edit_data():
# fungsi untuk edit data
def edit_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
judul_baru = raw_input("Judul baru: ")
buku[indeks] = judul_baru

Fungsi di atas akan menampilkan isi dari list buku dengan


memanggil fungsi show_data() di dalamnya. Setelah kita
meminta user untuk menginputkan ID atau nomer indeks buku
yang akan diedit.
Lalu melakukan pengecekan, jika ID yang diinputkan melebihi
dari isi list buku (indeks > len(buku)), maka tampilkan pesan
"ID salah". Namun, apabila tidak melebihi dari isi buku, maka
ambil input untuk judul baru dan simpan sesuai ID-nya.
Selanjutnya membuat fungsi delete_data():
# fungsi untuk menhapus data
def delete_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
buku.remove(buku[indeks])
Hampir sama dengan fungsi edit_data(). Fungsi delete_data()
juga harus menampilkan isi list buku dan mengambil ID yang
akan dihapus.
176
Kita dapat menghapus item pada list dengan fungsi remove().
Apakah sudah selesai ternyata belum, masih ada dua fungsi
lagi yang kita butuhkan:
1. Fungsi untuk menampilkan menu
2. Fungsi untuk keluar (sudah ada di python: exit())
Sekarang kita buat codingnya
# fungsi untuk menampilkan menu
def show_menu():
print "\n"
print "----------- MENU ----------"
print "[1] Show Data"
print "[2] Insert Data"
print "[3] Edit Data"
print "[4] Delete Data"
print "[5] Exit"

menu = input("PILIH MENU> ")


print "\n"

if menu == 1:
show_data()
elif menu == 2:
insert_data()
elif menu == 3:
edit_data()
elif menu == 4:
delete_data()
elif menu == 5:
exit()
else:
print "Salah pilih!"
Fungsi di atas akan menampilkan menu dari 1–5, lalu
memanggil fungsi-fungsi yang sudah dibuat berdasarkan menu
yang dipilih.
Terakhir, kita harus membuat main loop programnya.
177
if __name__ == "__main__":

while(True):
show_menu()
Program akan mengulang terus-menerus sampai fungsi exit()
dieksekusi.
if __name__ == "__main__": adalah blok main di Python.
Sebenarnya tanpa ini, programnya sudah bisa dijalankan.
Biar bagus, kita dapat menambahkan.
Sehingga kode lengkapnya akan seperti ini:
# Variabel global untuk menyimpan data Buku
buku = []

# fungsi untuk menampilkan semua data


def show_data():
if len(buku) <= 0:
print "BELUM ADA DATA"
else:
for indeks in range(len(buku)):
print "[%d] %s" % (indeks,
buku[indeks])

# fungsi untuk menambah data


def insert_data():
buku_baru = raw_input("Judul Buku: ")
buku.append(buku_baru)

# fungsi untuk edit data


def edit_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
judul_baru = raw_input("Judul baru: ")
buku[indeks] = judul_baru

178
# fungsi untuk menhapus data
def delete_data():
show_data()
indeks = input("Inputkan ID buku: ")
if(indeks > len(buku)):
print "ID salah"
else:
buku.remove(buku[indeks])

# fungsi untuk menampilkan menu


def show_menu():
print "\n"
print "----------- MENU ----------"
print "[1] Show Data"
print "[2] Insert Data"
print "[3] Edit Data"
print "[4] Delete Data"
print "[5] Exit"

menu = input("PILIH MENU> ")


print "\n"

if menu == 1:
show_data()
elif menu == 2:
insert_data()
elif menu == 3:
edit_data()
elif menu == 4:
delete_data()
elif menu == 5:
exit()
else:
print "Salah pilih!"

if __name__ == "__main__":

while(True):
show_menu()

179
Cobalah untuk mengeksekusinya dan perhatikan hasilnya.

180
BAB 20
Dictionary pada Python

Pada pembahasan sebelumnya, kita sudah mengenal stuktur


data list yang mampu menyimpan berbagaimacam hal. List
biasanya digunakan untuk menyimpan koleksi data. Namun,
list ternyata memiliki kekurangan.
Kekurangannya: tidak bisa menggunakan kata kunci untuk
mengakses itemnya. Hanya bisa menggunakan nomer indeks
saja. Kekurangn ini sudah ditutipi oleh Dictionary.

20.1 Apa itu Dictionary pada Python


Dictionary adalah stuktur data yang bentuknya seperti kamus.
Ada kata kunci kemudian ada nilainya. Kata kunci harus unik,
sedangkan nilai boleh diisi denga apa saja.
Contoh:
aku = {
"nama": "Petani Kode",
"url:" "https://www.petanikode.com"
}
Pada contoh diatas kita membuat sebuah Dictionary bernama
aku dengan isi data nama dan URL. nama dan url adalah kunci
(key) yang akan kita gunakan untuk mengakses nilai di
dalamnya.

181
Inilah perbedaanya dibandingkan list dan tuple. Dictionary
memiliki kunci berupa teks bisa juga angka sedangkan list dan
tuple menggunakan indeks berupa angka saja untuk mengakses
nilainya.
Dalam bahasa pemrograman lain (seperti PHP), Dictionary
juga dikenal dengan sebutan asosiatif array.

20.2 Membuat Dictionary


Hal yang wajib di dalam pembuatan Dictionary adalah sebagai
berikut:
1. nama dictionary
2. key
3. value
4. buka dan tutupnya menggunakan kurung kurawal.
Antara key dan value dipisah dengan titik dua (:) dan apabila
terdapat lebih dari satu item, maka dipisah dengan tanda koma
(,).
Contoh satu item:
nama_dict = {
"key": "value"
}
Contoh tiga item:
nama_dict = {
"key1": "value",
"key2": "value",
"key3": "value"

182
}
Isi dari Dictionary dapat berupa:
1. String
2. Integer
3. Objek
4. List
5. Tuple
6. Dictionary
Contoh:
pak_tani = {
"nama": "Petani Kode",
"umur": 22,
"hobi": ["coding", "membaca", "cocok tanam"],
"menikah": False,
"sosmed": {
"facebook": "petanikode",
"twitter": "@petanikode"
}
}
Mari kita lihat isi dari Dictionary di atas:
 nama berisi string "Petani Kode"
 umur berisi integer 22
 hobi berisi list dari string
 menikah berisi boolean False
 dan sosmed berisi Dictionary

183
Menggunakan Konstruktor, Selain menggunakan cara diatas,
kita juga bisa membaut Dictionary dari constructor dict()
dengan parameter key dan value.
Contoh:
warna_buah = dict(jeruk="orange", apel="merah",
pisang="kuning")

Maka akan menghasilkan dictionary seperti ini:


{'jeruk': 'orange', 'pisang': 'kuning', 'apel': 'merah'}

20.3 Mengakses Nilai Item dari Dictionary


Setelah mengetahui cara membuat Dictionary, sekarang
bagaimana cara mengaksesnya. Cara mengaksesnya sama
seperti list. Namun kunci yang digunakan bukan angka,
melainkan keyword yang sudah kita tentukan di dalam
Dictionary-nya.
Contoh:
# Membuat Dictionary
pak_tani = {
"nama": "Petani Kode",
"umur": 22,
"hobi": ["coding", "membaca", "cocok tanam"],
"menikah": False,
"sosmed": {
"facebook": "petanikode",
"twitter": "@petanikode"
}
}

# Mengakses isi dictionary


184
print("Nama saya adalah %s" % pak_tani["nama"])
print("Twitter: %s" %
pak_tani["sosmed"]["twitter"])
Maka akan menghasilkan:
Nama saya adalah Petani Kode
Twitter: @petanikode
Selain dengan cara di atas, kita juga bisa mengambil nilai
Dictionary dengan method get().
Contoh:
print(pak_tani.get("nama"))

Hasilnya:
Petani Kode
Menggunakan Perulangan
Untuk mencetak semua isi Dictionary, kita bisa menggunakan
perulangan seperti ini:
# Membuat dictionary
web = {
"name": "petanikode",
"url": "https://www.petanikode.com",
"rank": "5"
}

# Mencetak isi dictionary dengan perulangan


for key in web:
print(web[key])
Hasilnya:
petanikode
5
https://www.petanikode.com

185
Kita juga bisa melakukannya seperti ini:
web = {
"name": "petanikode",
"url": "https://www.petanikode.com",
"rank": "5"
}

for key, val in web.items():


print("%s : %s" % (key, val))
Hasilnya:
name : petanikode
rank : 5
url : https://www.petanikode.com

20.4 Mengubah Nilai Item Dictionary


Dictionary bersifat mutable, artinya nilainya dapat kita ubah-
ubah. Untuk mengubah nilai Dictionary, kita bisa lakukan
seperti ini:
nama_dic["kunci"] = "Nilai Baru"
Contoh:
# membuat dictioanary
skill = {
"utama": "Python",
"lainnya": ["PHP","Java", "HTML"]
}

# Mencetak isi skill utama


print(skill["utama"])

# mengubah isi skill utama


skill["utama"] = "Rust"

186
# Mencetak isi skill utama
print(skill["utama"])
Maka akan menghasilkan:
Python
Rust

20.5 Menghapus Item dari Dictionary


Untuk menghapus nilai Dictionary, kita bisa menggunakan
perintah del dan method pop(). Method pop() adalah method
yang berfungsi untuk mengeluarkan item dari dictionary
sedangak fungsi del adalah fungsi untuk menghapus suatu
variabel dari memori.
Contoh menghapus dengan del:
>>> del skill["utama"]
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}
Contoh menghapus dengan method pop():
>>> skill.pop("utama")
'Rust'
>>> skill
{'lainnya': ['PHP', 'Java', 'HTML']}

Apabila kita ingin menghapus semuanya sekaligus, kita bisa


menggunakan method clear().
Contoh:
skill.clear()

187
20.6 Menambahkan Item ke Dictionary
Kita bisa menggunakan method update() untuk
menambahkan isi ke Dictionary. Parameternya berupa
Dictionary. Selain berfungsi untuk menambahkan, method ini
juga berfungsi untuk mengubah nilai dictionary apabila kunci
yang dimasukkan sudah ada di dalamnya.
Contoh:
# membuat dictionary user
user = {
"name": "petanikode"
}

# menambahkan password
user.update({"password": "akucintakamu123"})

print(user)

# update name
user.update({"name": "peternaklinux"})

print(user)
Hasilnya:
{'name': 'petanikode', 'password': 'akucintakamu123'}
{'name': 'peternaklinux', 'password': 'akucintakamu123'}

20.7 Mengambil Panjang Dictionary


Untuk mengambil jumlah data atau panjang Dictionary, kita
bisa menggunakan fungsi len().

188
Contoh:
# membuat dictonary
books = {
"python": "Menguasai Python dalam 2028 jam",
"java": "Tutorial Belajar untuk Pemula",
"php": "Membuat aplikasi web dengan PHP"
}

# mencetak jumlah data yang ada di dalam dictionary


print("total buku: %d" % len(books))
Hasilnya:
total buku: 3

189
BAB 21
Penanganan Error pada Python
Saat kita menulis kode Python, pasti pernah mengalami
kesalahan baik dari segi penulisan syntax maupun saat
penulisan sudah benar. Untuk itu perlu dilakukan penanganan
error pada Python. Terdapat 2 jenis error pada Bahasa
pemrograman Python yaitu Errors dan Exceptions.

21.1 Syntax Errors


Syntax Errors adalah suatu keadaan saat kode python
mengalami kesalahan penulisan. Python interpreter dapat
mendeteksi kesalahan ini saat kode dieksekusi.
1 >>> print"Hello World"
2 SyntaxError: invalid syntax
Output dari program yang dieksekusi akan menampilkan pesan
“invalid syntax“. Penanganan Syntax Errors dilakukan dengan
memperbaiki penulisan kode yang salah tersebut. Berikut
ilustrasi penanganan Syntax Erros:

190
21.2. Exceptions
Exceptions adalah suatu keadaan saat penulisan syntax sudah
benar, namun kesalahan terjadi karena syntax tidak bisa
dieksekusi. Banyak hal yang menyebabkan terjadinya
Exceptions, mulai dari kesalahan matematika, kesalahan nama
function, kesalahan library, dan lain-lain.

21.2.1 ZeroDivisionError
ZeroDivisonError adalah exceptions yang terjadi saat eksekusi
program menghasilkan perhitungan matematika pembagian
dengan angka nol (0).

21.2.2 NameError
NameError adalah exception yang terjadi saat kode melakukan
eksekusi terhadap local name atau global name yang tidak
terdefinisi. Misalnya saat menjumlahkan variable yang tidak

191
didefinisikan, memanggil function yang tidak ada, dan lain-
lain.

21.2.3 TypeError
TypeError adalah exception yang terjadi saat dilakukan
eksekusi terhadap suatu operasi atau fungsi dengan type object
yang tidak sesuai.

192
BAB 22
Parsing XML dengan DOM API

Python memungkinkan kita melakukan parsing (penguraian)


dan manipulasi terhadap file XML dengan DOM API.
DOM (Document Object Model) adalah sebuah API yang
menyediakan fungsi-fungsi untuk memanipulasi dokumen.
Salah satu modul DOM yang dapat kita gunakan untuk parsing
XML adalah MiniDOM.
Pada kesempatan ini kita akan belajar cara parsing file XML
dan HTML menggunakan MiniDom.
Apa saja yang akan kita pelajari?
 Cara Parsing XML di Python
 Cara Membuat Node/Elemen

22.1 Parsing XML di Python


Pertama, silahkan persiapkan sebuah file XML untuk di-parse.
Letakan filenya satu direktori dengan file program python-nya:

193
Isi File XML-nya seperti berikut:
<?xml version="1.0" encoding="UTF-8" ?>
<mahasiswa>
<nama>Rena</nama>
<alamat>Surabaya</alamat>
<jurusan>Teknik Informatika</jurusan>

<hobi name="Blogging"/>
<hobi name="Membaca Buku"/>
<hobi name="Nonton Anime"/>
</mahasiswa>

Pada file tersebut, terdapat node akar (root) yaitu


<mahasiswa>, di dalamnya terdapat node lagi yang berisi data
mahasiswa yang akan kita parse.
Selanjutnya silahkan kita buat program python-nya:
import xml.dom.minidom as minidom

def main():
# gunakan fungsi parse() untuk me-load xml ke
memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")

# Cetak isi doc dan tag pertamanya


print doc.nodeName
print doc.firstChild.tagName

if __name__ == "__main__":
main()

194
Sekarang coba jalankan dan perhatikan hasilnya:

Penjelasannya:
Pertama kita membutuhkan modul atau library minidom, maka
kita harus mengimpornya:
import xml.dom.minidom as minidom

Setelah itu, kita load file XML-nya ke memori dan langsung


di-parse oleh fungsi parse() dari minidom.
doc = minidom.parse("mahasiswa.xml")

Selanjutnya, kita bisa lakukan manipulasi dengan variabel


objek doc.

195
Sebagai contoh, kita mencetak nama node-nya dan tag pertama
(root) yaitu <mahasiswa>.
print doc.nodeName
print doc.firstChild.tagName

selanjutnya silahkan ubah dan lengkapi programmnya menjadi


seperti ini:
import xml.dom.minidom as minidom
def main():
# gunakan fungsi parse() untuk me-load xml ke
memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")

# Cetak isi doc dan tag pertamanya


print doc.nodeName
print doc.firstChild.tagName

nama =
doc.getElementsByTagName("nama")[0].firstChild.data
alamat =
doc.getElementsByTagName("alamat")[0].firstChild.data
jurusan =
doc.getElementsByTagName("jurusan")[0].firstChild.data
list_hobi = doc.getElementsByTagName("hobi")

print "Nama: {}\nAlamat: {}\nJurusan:


{}\n".format(nama, alamat, jurusan)

print "Memiliki {}
hobi:".format(len(list_hobi))

for hobi in list_hobi:


print "-", hobi.getAttribute("name")

if __name__ == "__main__":
main()

196
Sekarang coba eksekusi, maka hasil outputnya akan seperti ini:
#document
mahasiswa
Nama: Rena
Alamat: Surabaya
Jurusan: Teknik Informatika

Memiliki 3 hobi:
- Blogging
- Membaca Buku
- Nonton Anime

Penjelasan adalah untuk mengambil nilai dari node XML, kita


dapat menggunakna fungsi getElementsByTagName(). Artinya
kita memilih semua elemen dengan nama tag tertentu.
Fungsi tersebut akan menghasilkan list, bertasakan banyak
elemen di dalam XML.
Misalkan untuk tag <nama>, akan menghasilkan:
[<DOM Element: nama at 0x7fe9280e2440>]

Sedangkan untuk tag <hobi>:


[
<DOM Element: hobi at 0x7fe9280e27a0>,
<DOM Element: hobi at 0x7fe9280e2950>,
<DOM Element: hobi at 0x7fe9280e2b00>
]

List tersebut berisi objek DOM yang bisa kita ambil nilainya.
Misalkan kita ingin mengambil nilai nama:
nama = doc.getElementsByTagName("nama")[0].firstChild.data

197
Kita memilih objek DOM pada indeks ke-0, dan mengambil
isinya. Sedangkan untuk tag <hobi>, kita bisa menggunakan
perulangan dan method getAttribute() untuk mengambil
nilai dari atribut.
for hobi in list_hobi:
print "-", hobi.getAttribute("name")

22.2 Menambahkan Node pada XML


Node atau elemen dapat kita tambahkan dengan beberapa
metode.
Contoh:
# Membuat elemen XML baru <hobi>
hobi_baru = doc.createElement("hobi")
# Menambahkan atribut name pada <hobi> dengan nilai
"programming"
hobi_baru.setAttribute("name", "Programming")
# Menambahkan elemen tersebut ke dalam <mahasiswa>
doc.firstChild.appendChild(hobi_baru)

Sekarang modifikasi kembali kode tadi menjadi seperti ini:


import xml.dom.minidom as minidom

def main():
# gunakan fungsi parse() untuk me-load xml ke memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")

# Cetak isi doc dan tag pertamanya


print doc.nodeName
print doc.firstChild.tagName

nama =
doc.getElementsByTagName("nama")[0].firstChild.data

198
alamat =
doc.getElementsByTagName("alamat")[0].firstChild.data
jurusan =
doc.getElementsByTagName("jurusan")[0].firstChild.data

print "Nama: {}\nAlamat: {}\nJurusan:


{}\n".format(nama, alamat, jurusan)

# Mendambahkan Elemen
hobi_baru = doc.createElement("hobi")
hobi_baru.setAttribute("name", "Programming")
doc.firstChild.appendChild(hobi_baru)

# Ambil kembali daftar hobi


list_hobi = doc.getElementsByTagName("hobi")

print "Memiliki {} hobi:".format(len(list_hobi))

for hobi in list_hobi:


print "-", hobi.getAttribute("name")

if __name__ == "__main__":
main()

Sekarang coba eksekusi dan perhatikanlah hasilnya:


#document
mahasiswa
Nama: Rena
Alamat: Surabaya
Jurusan: Teknik Informatika

Memiliki 4 hobi:
- Blogging
- Membaca Buku
- Nonton Anime
- Programming

199
File XML-nya tidak bertamabah, Penambahan yang kita
lakukan di atas bersifat temporer, artinya kalau programnya
ditutup semua akan hilang. Karena elemen tersebut hanya
terseimpan dalam memori saja.
Bagaimana kalau kita igin menyimpannya ke dalam file XML
Contoh:
# buka file XML dengan mode write (w)
file_xml = open("mahasiswa.xml","w")
# tulis XML yang ada di memori ke file XML
doc.writexml(file_xml)
# tutup file XML
file_xml.close()
Silahkan tambahakan kode tersebut pada program sebelumnya:
import xml.dom.minidom as minidom

def main():
# gunakan fungsi parse() untuk me-load xml ke memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")

# Cetak isi doc dan tag pertamanya


print doc.nodeName
print doc.firstChild.tagName

nama =
doc.getElementsByTagName("nama")[0].firstChild.data
alamat =
doc.getElementsByTagName("alamat")[0].firstChild.data
jurusan =
doc.getElementsByTagName("jurusan")[0].firstChild.data

print "Nama: {}\nAlamat: {}\nJurusan:


{}\n".format(nama, alamat, jurusan)

hobi_baru = doc.createElement("hobi")
hobi_baru.setAttribute("name", "Programming")
doc.firstChild.appendChild(hobi_baru)

list_hobi = doc.getElementsByTagName("hobi")

200
print "Memiliki {} hobi:".format(len(list_hobi))

for hobi in list_hobi:


print "-", hobi.getAttribute("name")

file_xml = open("mahasiswa.xml","w")
doc.writexml(file_xml)
file_xml.close()

if __name__ == "__main__":
main()

Setelah itu, eksekusi dan coba buka file mahasiswa.xml.

Tag <hobi name="Programming"/> sudah ditambahkan.


Itulah beberapa teknik memanipulasi, parsing, dan menulis file
XML.

201
BAB 23
Parsing Data dari JSON

JSON adalah salah satu format standar pertukaran data antar


aplikasi. Biasanya JSON banyak kita temukan ketika bermain
dengan web service atau RESTful API.
JSON hampir bisa dibaca di sebagian besar bahasa
pemrograman, seperti C, PHP, Javascript, C++, C#, Java,
Ruby, Python, dll.

23.1 Parsing File JSON di Python


Penguraian JSON pada bahasa pemrograman Python,
membutuhkan modul json dan urllib untuk mendownload
JSON dari web service. Kedua modul ini sudah disediakan oleh
Python.

23.1.1 Membuat File JSON


Pertama, kita buat dulu file JSON-nya dengan isi seperti pada
gambar di atas. Nama file: petanikode.json
{
"nama" : "Petani Kode",
"url" : "http://petanikode.com",
"media": {
"facebook" : "petanikode",
"twitter" : "@petanikode",
"instagram": "@petanikode"
}
202
}

23.1.2 Percobaan di Iterpreter


Sebelum membuat kode, kita coba dulu mengurai JSON-nya
melalui interpreter. Ketik python pada terminal untuk masuk
ke interpreter.

Pada percobaan di atas, kita menggunakan fungsi open()


untuk membuka file JSON. Kemudian, kita menggunakan
fungsi loads() dari modul json untuk me-load data JSON.
Data JSON disimpan pada variabel data dalam bentuk
dictionary. Dengan demikian, kita bisa leluasa mengurai data
JSON-nya.

203
Buat file skrip python dan letakkan di direktori yang sama
dengan file JSON-nya. Berikut ini isi skripnya.
import json

# buka file JSON-nya dulu


file_json = open('petanikode.json')

# load file JSON dari file yang sudah dibuka


data = json.loads(file_json.read())

# cetak isi data


print data

Hasil output dari kode di atas:


{u'url': u'http://petanikode.com', u'nama':
u'Petani Kode', u'media': {u'twitter':
u'@petanikode', u'facebook': u'petanikode',
u'instagram': u'@petanikode'}}

Selanjutnya, kita tinggal percantik saja hasil output-nya.


Silahkan modifikasi lagi kodenya.
import json

# buka file JSON-nya dulu


file_json = open('petanikode.json')

# load file JSON dari file yang sudah dibuka


data = json.loads(file_json.read())

# cetak isi data


print "nama \t: %s" % data['nama']
print "url \t: %s" % data['url']

print "Media Sosial "


for sosial in data['media']:
print "\t%s \t: %s" % (sosial,
data['media'][sosial])

204
Hasil outputnya:

Selanjutnya kita akan mencoba parsing JSON dari web service.

23.2 Parsing JSON dari URL Web Service dengan Python


Kita membutuhkan modul atau pustaka urlib untuk
mengambil JSON dari URL Web Service. Setelah itu, kita
dapat melakukan penguraian (parsing) informasi yang ada di
dalamnya. Web service yang akan saya gunakan pada tulisan
ini adalah web service dari Google. Web service tersebut
menyediakan RSS Feed untuk Blogger dalam bentuk JSON.

23.2.1 Percobaan di Postman


Sebelum kita mulai parsing, ada baiknya kita coba dulu URL
web service-nya. Supaya kita mudah mengetahui, atribut atau
kunci yang digunakan pada JSON.
URL:
http://ajax.googleapis.com/ajax/services/feed/load?v=1.0#=10
0&q=http://feeds.feedburner.com/petanikode

205
Hasil Percobaan di Postman:

Hasil respon:

23.2.2 Penguraian Informasi


Setelah mengetahui, struktur JSON yang diterima. Selanjutnya
kita bisa mengurai informasi yang ada di dalamnya dengan
mudah. Kita coba tampilkan semua judul yang ada di RSS
Feed saja dulu.
import urllib, json

url =
"http://ajax.googleapis.com/ajax/services/feed/load
?v=1.0#=100&q=http://feeds.feedburner.com/petanikod
e"
respon = urllib.urlopen(url)
data = json.loads(respon.read())

206
post = data['responseData']['feed']['entries']

for artikel in post:


print artikel['title']

Perhatikan pada kode di atas, kita menggunakan modul urlib


untuk mengambil JSON dari URL. Kemudian kita
menggunakan modul json untuk mengurai informasinya.
Berikut ini hasil yang akan kita dapatkan dari kode di atas.

Pengetahuan tentang cara parsing JSON sangatlah penting,


karena JSON banyak digunakan dalam aplikasi modern.

207
BAB 24
API Simsimi + Pemrograman PyGTK
Sekarang kita mengajak untuk mencoba bereksperimen dengan
API Simsimi. Simsimi buat untuk aplikasi smartphone,
silahkan instal aplikasi Simsimi di smarphonenya.

API Simsimi konsepnya sangat sederhana. Kita hanya


melakukan request dari URL dengan query string, lalu
mendapatkan jawaban atau respon berdasarkan data yang
dimiliki Simsimi. Respon tersebut, bisa kita olah untuk
membuat Simsimi versi kita sendiri.

24.1 Mendapatkan Kunci API


Kunci API atau API Key, merupakan kunci yang digunakan
untuk mengakses API Simsimi.

208
Ada dua jenis kunci API (API Key) yang disediakan oleh
Simsimi:
1. API Key percobaan (diberikan gratis selama 7 hari).
2. API Key Berbayar. Untuk mendapatkan kunci API,
silakan mendaftar di http://developer.simsimi.com/api.
Isi data diri dan nama aplikasi yang akan dibuat.
Setelah berhasil, nanti akan mendapatkan kunci API
seperti ini.

Gambar 24.1 Tampilan API configuration

24.2 Membuat Request


Pembuatan Request dilakukan melalui URL dengan Query
String. Kita disediakan dua jenis URL. Pertama, untuk yang
menggunakan kunci API percobaan (gratis) dan untuk yang
menggunakan kunci API berbayar.
1. Kunci Percobaan:
http://sandbox.api.simsimi.com/request.p
2. Kunci Berbayar: http://api.simsimi.com/request.p
209
Berikut ini parameter untuk membuat request melalui URL di
atas.
Nilai
Parameter Tipe Data Wajib Keterangan
Default
key String Ya Kunci API
text String Ya Query message
lc String Ya Kode bahasa
Double(0.0 1.0 : „Bad Word
ft Tidak 0.0
~ 1.0) Discriminator‟
Untuk membuat request-nya, silahkan susun URL-nya menjadi
seperti ini:
http://sandbox.api.simsimi.com/request.p?key=KUNCI_
API&lc=id&ft=1.0&text=tau petanikode?

Berikut ini contoh hasil requestnya melalui browser dengan


query message “.

Seperti pada gambar di atas, responnya dalam bentuk JSON.


Percobaan kedua saya lakukan dengan Postman.

210
24.3 Membuat Aplikasi Chat
Oke, tiba saatnya di bagian yang paling menyenangkan. Jadi,
setelah kita tahu respon dari API Simsimi berupa JSON. Kita
tinggal melakukan penguraian (parshing) saja sehingga
menjadi sebuah aplikasi.
Untuk melakukan ini, saya menggunakan bahasa pemrograman
Python. Karena kodenya lebih sederhana dan singkat.
import urllib, json

print "Silahkan kirim pesan!"

while(True):
pesan = raw_input("Anda: ")
url =
"http://sandbox.api.simsimi.com/request.p?key=KUNCI
_API&lc=id&ft=1.0&text=%s" % pesan
link_json = urllib.urlopen(url)
data = json.loads(link_json.read())

print "Petanikode-simi: %s" % data['response']

211
Hasilnya, ketika dijalankan:

24.4 Pemrograman PyGTK


Aplikasi dengan antarmuka grafis (GUI) lebih disukai
pengguna, karena mudah dioperasikan. Pada kesempatan ini,
kita akan mempelajari membuat aplikasi berbasis GUI dengan
bahasa pemrograman python dan pustaka PyGTK.
Apa itu GTK+ dan PyGTK adalah GTK+ (GIMP Toolkit)
merupakan pustaka yang digunakan untuk membangun
antarmuka grafis. GTK+ adalah bagian dari proyek GNU.
GTK+ sendiri merupakan pustaka yang digunakan untuk
bahasa C, sedangkan untuk python kita menggunakan PyGTK.
PyGTK adalah pustaka GTK+ yang sudah diracik khusus untuk
Python.

212
Gambar 24.2 Tampilan PyGTK for python
24.5 Persiapan Pemrograman PyGTK
Apa saja alat-alat yang diperlukan untuk pemrograman PyGTK
berikut yang perlu dipersiapkan.
1. Teks Editor
Teks editor digunakan untuk menulis kode. Gunakan teks
editor yang anda sukai. Beberapa teks editor rekomendasi:
Atom, Ms. Visual Studio Code, Komodo Edit, Geany, dan lain
lain.

213
2. Python
Sebagian besar distro Linux sudah membawa python pada
distribusinya, jadi tidak perlu diinstal.
Silahkan cek versi yang terinstal di terminal dengan perintah:
$ python --version
Python 2.7.6

3. PIP
PIP merupakan sebuah sistem manajemen paket yang
digunakan untuk menginstal dan mengelola pustaka python.
Kita membutuhkan PIP untuk menginstal pustaka PyGTK.
Cara instal PIP:
sudo apt-get isntall python-pip

4. Instal Pustaka PyGTK


Sekarang baru kita bisa install pustaka PyGTK-nya. Gunakan
perintah berikut untuk meingstal:
sudo pip install PyGTK

24.6 Contoh Program Membauat Jendela


Setelah semua perealatan siap, mari kita coba membuat sebuah
jendela. Jendela merupakan bagian utama dari aplikasi GUI.

214
Silahkan ikuti kode berikut:
#impor pustaka GTK
import gtk

# membuat objek jendela


jendela = gtk.Window()

# konfigurasi jendela
jendela.set_size_request(600,200)
jendela.set_position(gtk.WIN_POS_CENTER)
jendela.set_title("Pemrograman PyGTK - Petani
Kode")
jendela.connect("destroy", gtk.main_quit)

# tampilkan jendela
jendela.show()
gtk.main()
Setelah itu, simpan dengan nama jendela.py dan eksekusi
skript tersebut.

Jika berhasil muncul seperti gambar di atas, berarti program


PyGTK pertama kita berhasil.

215
24.7 Penjelasan Method
Class gtk.Window() memiliki beberapa method untuk mengatur
konfigurasi jendela, berikut ini penjelasannnya:
 .set_size_request(600,200) untuk menentukan
ukuran jendela.
 .set_position(gtk.WIN_POS_CENTER) untuk
menentukan posisi muncul jendela.
gtk.WIN_POS_CENTER artinya posisi munculnya di
tengah-tengah layar.
 .set_title() untuk memberikan judul jendela.
 .connect("destroy", gtk.main_quit) untuk
menghubungkan sinyal "destroy" dengan fungsi
main_quit. Artinya, ketika tombol close diklik…
aplikasi akan langsung keluar.
 .show() untuk menampilkan jendela.
Selain method dari class Window() ada satu hal lagi yang perlu
diperhatikan yaitu fungsi gtk.main().
gtk.main() adalah main loop (perulangan utama) yang menjaga
jendela tetap terbuka.

24.8 Membuat Jendela dengan Class


Pada contoh di atas kita membuat jendela dengan membuat
langsung objek dari class gtk.Window().

216
Sekarang kita coba membuat jendela dengan membuat class
turunan dari gtk.Window().
import gtk

class Aplikasi(gtk.Window):
def __init__(self):
super(Aplikasi, self).__init__()

self.connect("destroy", gtk.main_quit)
self.set_size_request(250, 150)
self.set_position(gtk.WIN_POS_CENTER)
self.show()

# Tampilkan Jendela
Aplikasi()
gtk.main()
Pertama kita membuat class bernama Aplikasi() yang
merupakan turunan dari class gtk.Window().
Kemudian kita lakukan konfigurasi jendela pada konstruktor
class Aplikasi().
Lalu… pada akhirnya kita bisa langsung menampilkan jendela
dengan memanggil class-nya atau bisa juga dengan cara
membuat objek dari class Aplikasi().
app = Aplikasi()
gtk.main()

217
Hasilnya:

Silakan anda pilih lebih suka yang menggunakan class apa


tidak, karena lebih sederhana dan mudah dikelola kalau pakai
class.
Menambahkan Ikon
Untuk menambahkan ikon, kita menggunakan method:
.set_icon_from_file("path/ikon.png")

Jangan lupa juga untuk menambahkan file ikonnya


petanikode.png. Letakkan file tersebut satu direktori dengan
skrip python-nya.
import gtk

class Aplikasi(gtk.Window):
def __init__(self):
super(Aplikasi, self).__init__()

218
self.connect("destroy", gtk.main_quit)
self.set_size_request(250, 150)
self.set_position(gtk.WIN_POS_CENTER)
self.set_title("Jendela dengan Ikon")
self.set_icon_from_file("petanikode.png")
self.show()

Aplikasi()
gtk.main()

Hasilnya:

24.9 Membuat Tombol dan Label Teks


Pada antarmuka grafis (GUI), tombol merupakan komponen
penting penyusun antarmuka.Tombol dipakai untuk
menjalankan fungsi atau aksi tertentu. Pada kesempatan ini,
kita membahas langkah-langkah atau proses dalam pembuatan
tombol di PyGTK.

219
1. Membuat Tombol
Tombol dibuat dengan membuat objek dari kelas Button().
Contoh:
tombol = gtk.Button(“Sebuah Tombol”)

2. Membuat Kontainer
Kontainer kita perlukan untuk membungkus atau menampung
tombol dan komponen-komponen lainnya. Apabila tidak
menggunakan kontainer, bisa jadi akan berantakan. Pembuatan
kontainer dapat dilakukan dengan membuat objek dari kelas-
kelas kontainer, seperti Fixed() untuk kontainer fixed. Contoh:
kontainer = gtk.Fixed()

3. Menambahkan tombol ke kontainer


Setelah membuat kontainer, selanjutnya kita tambahkan
komponen ke dalamnya. Penambahan komponen ke kontainer
dapat dilakukan dengan fungsi put(). Contoh:
kontainer.put(tombol, 20, 30)

Tombol akan diletakkan pada posisi koordinat x=20 dan y=30.

4. Menambahkan kontainer ke jendela


Semua komponen sudah dimasukkan ke dalam kontainer.
Selanjutnya, kita masukkan kontainer ke dalam jendela agar

220
dapat ditampilkan. Hal ini dapat dilakukan dengan fungsi
add(). Contoh:
jendela.add(kontainer)

5. Tampilkan semua komponen


Terakhir, setelah semua komponen dimasukan ke jendela, kita
tampilkan semuanya dengan fungsi show_all(). Contoh:
jendela.show_all()

6. Contoh Lengkap
import gtk
class Aplikasi(gtk.Window):
def init(self):
super(Aplikasi, self).init()

self.set_title(“Tombol”)
self.set_size_request(250,150)
self.set_position(gtk.WIN_POS_CENTER)

tbl1 = gtk.Button(“Tombol 1”)


tbl1.set_sensitive(False) # non-aktifkan tombol
tbl2 = gtk.Button(“Tombol 2”)
tbl3 = gtk.Button(stock=gtk.STOCK_CLOSE)
tbl4 = gtk.Button(“Tombol 4”)
tbl4.set_size_request(80,40) # set ukuran
tombol

kontainer = gtk.Fixed() # membuat kontainer

kontainer.put(tbl1, 20, 30)


kontainer.put(tbl2, 100, 30)
kontainer.put(tbl3, 20, 80)
kontainer.put(tbl4, 100, 80)

221
self.connect(“destroy”, gtk.main_quit)

self.add(kontainer)
self.show_all()

Aplikasi()
gtk.main()

Hasilnya:

Terdapat empat tombol yang telah dibuat. Salah satunya tidak


aktif dan ada juga yang memiliki gambar ikon. Tombol nomor
4 memiliki ukuran yang lebih besar, karena ukuran awalnya
sudah dirubah.

222
DAFTAR PUSTAKA

Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects:


bringing Ruby on Rails to the Java platform. Berkeley:
APress. hlm. 3. ISBN 978-1-59059-881-8.

Kuchling, Andrew M. (22 December 2006). "Interview with


Guido van Rossum (July 1998)".

Kuchling, A. M. "Functional Programming HOWTO". Python


v2.7.2 documentation. Python Software Foundation.
tanggal 9 February 2012.

Rossum van, Guido (1993). "An Introduction to Python for


NIX/C Programmers". Proceedings of the NLUUG
najaarsconferentie (Dutch UNIX users group). even
though the design of C is far from ideal, its influence on
Python is considerable.

Rossum van, Guido, 2012. Python Software Foundation.


Diakses tanggal 20 February 2012. It is a mixture of
the class mechanisms found in C++ and Modula-3

Simionato, Michele. "The Python 2.3 Method Resolution


Order". Python Software Foundation. The C3 method
itself has nothing to do with Python, since it was
invented by people working on Dylan and it is
described in a paper intended for lispers

Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May


2001). "PEP 255 – Simple Generators". Python
Enhancement Proposals. Python Software Foundation.

223
Smith, Kevin D.; Jewett, Jim J.; Montanaro, Skip; Baxter,
Anthony (2 September 2004). "PEP 318 – Decorators
for Functions and Methods". Python Enhancement
Proposals. Python Software Foundation.

https://docs.python-guide.org/starting/install3/linux/

https://www.ics.uci.edu/~pattis/common/handouts/pythoneclips
ejava/python.html

https://docs.python-guide.org/starting/install/win/

https://id.wikipedia.org/wiki/Python_(bahasa_pemrograman)

https://www.petanikode.com/tutorial/python/

https://belajarpython.com/

https://www.advernesia.com/blog/python/variabel-pada-
python-dengan-tipe-data-numerik/

https://www.python.org

https://docs.python.org

https://pypi.org

https://code.activestate.com/recipes/langs/python/

http://www.pyvideo.org

https://scipy.org

224