Belajar Python Programing Teori Dan Praktek
Belajar Python Programing Teori Dan Praktek
Belajar Python Programing Teori Dan Praktek
2
KATA PENGANTAR
3
DAFTAR ISI
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
10
BAB 1
Cara Install Python
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.
13
4. Lokasi Instalasi
Kita menentukan lokasi python akan diinstal. Contohnya kita
letakkan di C:\python34\, kemudian klik next.
14
Setelah diaktifkan, akan menjadi seperti ini:
15
Kemudian coba dengan Python dari Cmd, ketik perintah
python untuk masuk ke Python Shell dari Cmd.
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.
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
19
BAB 2
Filosofi Pemrograman Python
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.
23
dieksekusi melalui console (misalnya IPython) maupun dalam
bentuk file melalui editor. File syntax python disimpan dalam
format (.py).
24
2.4 Simpan dan Jalankan
Misalnya save nama program dengan nama
(hello_world.py). Selanjutnya program dapat dijalankan
dan output dihasilkan pada console.
25
BAB 3
Python IDE Windows dan Linux
26
Gambar 3.1 Tampilan program 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.
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.
29
BAB 4
Pengertian Pemrograman Python
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.
31
4. Android
5. Java Virtual Machine
6. Symbian OS
7. Amiga
8. Palm
9. OS/2
32
3. Data Science dan Big Data
Python memungkinkan untuk melakukan analisis data
dari database big data.
33
BAB 5
Pengenalan Dasar Python
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”.
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.
Setelah itu kita bisa melihat fungsi apa saja yang tersedia di
modul tersebut.
>>> dir(math)
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
41
Setelah itu simpan dengan nama hello_world.py
42
5.4 Alur Kerja Pembuatan Program Python
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.
44
Pastikan men-download yang versi komunitas.
Setelah itu, ikuti langkah-langkah berikut untuk menginstalnya:
1. Buka File manager sebagai root.
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-
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.
47
Coba periksa di menu, apakah sudah ada PyCharm atau tidak
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).
49
Selanjutnya, silahkan tambahkan file python dengan klik kanan
pada direktori proyek, kemudian pilih New->Python File.
50
Kemudian buka menu Run-> Run… atau tekan tombol
Alt+Shift+F10. Kalau muncul pilihan, pilih saja program-
pertama.
51
BAB 6
Penulisan Sintaks Python
52
Tapi menurut beberapa style guide python, tidak dianjurkan
menulis lebih dari satu statement dalam satu baris. Karena akan
sulit dibaca.
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
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
57
BAB 7
Percabangan dan Perulangan
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.
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
60
# tapi kalau dapat diskon akan berkurang
bayar = total_belanja
# 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:
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:
# 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
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.
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.
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
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.
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
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"
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!"
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 = []
79
print "BELUM ADA DATA"
else:
for indeks in range(len(buku)):
print "[%d] %s" % (indeks,
buku[indeks])
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
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.
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'>
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'
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"
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
Hasilnya:
92
BAB 11
Jenis Operator dalam 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: ")
# 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 Pangkat
c = a ** b
print "Hasil %d ** %d = %d" % (a,b,c)
Hasilnya:
97
Hasilnya:
# 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?
99
kanan 9>9
False
Bernilai False: operan
kiri tidak lebih besar
dari operan kanan
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 < 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)
# 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:
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
105
11.6 Operator Ternary
Operator ternary juga dikenal dengan operator kondisi, karena
digunakan untuk membuat sebuah ekspresi kondisi seperti
percabangan IF/ELSE.
Contoh:
umur = input("berapa umur kamu? ")
aku = "bocah" if umur < 10 else "dewasa"
print aku
106
Hasilnya:
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'
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
109
Berikut ilustrasi eksekusi syntax di atas melalui console
110
Berikut ilustrasi operasi penjumlahan string
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])
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.
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
115
matematika adalah bilangan yang diformulasikan dengan j² = -
1, dengan j adalah bilangan imaginer. Untuk mendefinisikan
varibel berupa nilai imaginer dapat menggunakan karakter j.
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.
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
OR or() |
XOR xor() ^
NOT not()
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
121
False (0) False (0) False (0)
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
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]
124
Contoh:
# Kita punya list nama-nama buah
buah = ["apel", "anggur", "mangga", "jeruk"]
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
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
128
Kamu memiliki 4 hobi
- Membaca
- Menulis
- Main Game
- Ngoding
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"]
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
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!!!']
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"]
]
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.
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
135
Sehingga digunakan syntax berikut
1 B = [[1, 3, 6],[1, 7, 9, 1, 9]]
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
137
Sehingga diperoleh panjang list E 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]
139
Contoh:
Mengganti element dengan index 0 pada list x
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)
144
1 z = ['buku', 'pensil', 'pulpen']
2
3 z.pop()
4
5 print(z)
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
148
Untuk file binary, mungkin nanti di kesempatan yang lain.
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.
# tutup file
file_puisi.close()
151
Saat dieksekusi, kode di atas akan menghasilkan output berupa
list, karena kita menggunakan method readlines().
# 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")
# tutup file
file_puisi.close()
Coba tambahkan isi file puisi.txt dan coba lihat hasil
outputnya sekarang.
153
# cetak isi file
print puisi
# tutup file
file_puisi.close()
Hasilnya:
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.
155
# format teks
teks = "Nama: {}\nUmur: {}\nAlamat:
{}".format(nama, umur, alamat)
# tutup file
file_bio.close()
Setelah itu, coba eksekusi programnya.
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.
# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---
".format(nama, umur, alamat)
157
# buka file untuk ditulis
file_bio = open("biodata.txt", "a")
# tutup file
file_bio.close()
Setelah itu, coba eksekusi dan masukan beberapa data.
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 "================================="
teks = file_bio.read()
# format teks
teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n---
".format(nama, umur, alamat)
# 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.
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
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
Maka hasilnya:
163
Apabila kita coba mengubah nilainya, maka akan terjadi error.
Maka hasilnya:
('Petani Kode',)
Logikanya sama seperti di list.
Maka hasilnya:
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.
BAB 19
167
Fungsi dan Prosedur pada Python
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
169
FYI: fungsi juga dapat dipanggil pada fungsi lain, bahkan bisa
memanggil dirinya sendiri. Fungsi yang memanggil dirinya
sendiri, disebut fungsi rekursif.
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
# 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.
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
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.
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)
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 = []
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])
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
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.
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")
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"
}
185
Kita juga bisa melakukannya seperti ini:
web = {
"name": "petanikode",
"url": "https://www.petanikode.com",
"rank": "5"
}
186
# Mencetak isi skill utama
print(skill["utama"])
Maka akan menghasilkan:
Python
Rust
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'}
188
Contoh:
# membuat dictonary
books = {
"python": "Menguasai Python dalam 2028 jam",
"java": "Tutorial Belajar untuk Pemula",
"php": "Membuat aplikasi web dengan PHP"
}
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.
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
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>
def main():
# gunakan fungsi parse() untuk me-load xml ke
memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")
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
195
Sebagai contoh, kita mencetak nama node-nya dan tag pertama
(root) yaitu <mahasiswa>.
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 "Memiliki {}
hobi:".format(len(list_hobi))
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
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")
def main():
# gunakan fungsi parse() untuk me-load xml ke memori
# dan melakukan parsing
doc = minidom.parse("mahasiswa.xml")
nama =
doc.getElementsByTagName("nama")[0].firstChild.data
198
alamat =
doc.getElementsByTagName("alamat")[0].firstChild.data
jurusan =
doc.getElementsByTagName("jurusan")[0].firstChild.data
# Mendambahkan Elemen
hobi_baru = doc.createElement("hobi")
hobi_baru.setAttribute("name", "Programming")
doc.firstChild.appendChild(hobi_baru)
if __name__ == "__main__":
main()
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")
nama =
doc.getElementsByTagName("nama")[0].firstChild.data
alamat =
doc.getElementsByTagName("alamat")[0].firstChild.data
jurusan =
doc.getElementsByTagName("jurusan")[0].firstChild.data
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))
file_xml = open("mahasiswa.xml","w")
doc.writexml(file_xml)
file_xml.close()
if __name__ == "__main__":
main()
201
BAB 23
Parsing Data dari JSON
203
Buat file skrip python dan letakkan di direktori yang sama
dengan file JSON-nya. Berikut ini isi skripnya.
import json
204
Hasil outputnya:
205
Hasil Percobaan di Postman:
Hasil respon:
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']
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.
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.
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
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())
211
Hasilnya, ketika dijalankan:
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
214
Silahkan ikuti kode berikut:
#impor pustaka GTK
import gtk
# 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.
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.
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:
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:
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()
220
dapat ditampilkan. Hal ini dapat dilakukan dengan fungsi
add(). Contoh:
jendela.add(kontainer)
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)
221
self.connect(“destroy”, gtk.main_quit)
self.add(kontainer)
self.show_all()
Aplikasi()
gtk.main()
Hasilnya:
222
DAFTAR PUSTAKA
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