artikel ini diperbaharui terus dan bisa didapatkan di http://www.poss-upi.org/download. Jika Anda
mendapatkannya di tempat lain kemungkinan besar merupakan versi lama.
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU
Free Documentation License, Version 1.1 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front−Cover Texts, and no Back−Cover Texts. A copy
of the license is included in Tentang GNU Free Documentation License.
Izin untuk menyalin, mendistribusikan dan/atau mengubah isi dokumen berada dibawah aturan
GNU Free Documentation License, Versi 1.1 atau versi lainnya yang diterbitkan oleh Fre Software
Foundation; dengan tidak mengubah isi apapun. Untuk melihat lebih lengkap tentang lisensi ini,
Anda bisa melihatnya di bagian Tentang GNU Free Documentation License.
The example programs in this book are free software; you can redistribute and/or modify them
under the terms of the Python license as published by the Python Software Foundation.
Contoh program pada artikel ini merupakan free software; Anda dapat menyebar ulang dan atau
mengubahya dibawa atura Python License yang diterbitkan oleh Python Software Foundation. Logo
Python merupakan merk dagang dari Python Software Foundation. Logo POSS – UPI merupakan
logo resmi milik POSS – UPI.
1. Instalasi Python
Lingkungan Python
Dari http://www.tutorialspoint.com/python/python_environment.htm , terdapat beberapa lingkungan
yang dapat dihuni Python. Berikut yaitu beberapa lingkungan sistem operasi yang bisa dihuni
Python:
Win 9x/NT/2000
Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, dan lain - lain)
Macintosh (Intel, PPC, 68K)
OS/2
DOS
PalmOS
Nokia mobile phones
Windows CE
Acorn/RISC OS
BeOS
Amiga
VMS/OpenVMS
QNX
VxWorks
Psion
Python juga dirancang ulang di Java dan .NET Virtual Machine
Install Python di Linux
Unduh installer Python untuk Unix/Linux di http://www.python.org/download. lalu . Unduh
source code Python yang dibungkus oleh zip dan ikuti alur pengunduhannya. sesudah diunduh
lalu ekstrak installer ini . lalu masuk kedirektori installer Python. Jika ada
pengaturan khusus yang diinginkan, edit file Modules/Setup pada installer. Jika pengaturan sudah
sesuai jalankan perintah ./configure. Hal ini dilakukan untuk konfigurasi installer Python pada
sistem operasi kita. sesudah konfigurasi beres, jalankan perintah make untuk meng-compile
installer Python. sesudah itu baru jalankan perintah make install untuk memulai proses instalasi.
File ekskeusi Python akan diinstall di /usr/local/bin dan library nya diinstall di
/usr/local/bin/pythonX.X. lalu jangan lupa untuk lakukan pengaturan path agar bisa
dieksekusi di shell. Berikut yaitu beberapa pengaturan path pada beberapa shell :
pengaturan path di shell bash : export PATH = “$PATH:/usr/local/bin/python” lalu
tekan enter
pengaturan path di shell csh : setenv PATH = “$PATH:/usr/local/bin/python” lalu
tekan enter
pengaturan path di shell ksh : PATH = “$PATH:/usr/local/bin/python” lalu tekan enter
Selain memakai source code Python dan diinstall secara manual seperti diatas. Anda bisa
menginstall Python melalui packet manager jika sistem operasi yang Anda gunakan mendukung
fitur ini seperti Ubuntu, Slackware, dan Fedora.
Di beberapa sistem operasi kadang sudah tertanam di dalamnya dan langsung bisa digunakan
seperti di Ubuntu dan Fedora.
Install Python di Windows
Unduh Python dari http://www.python.org/download. lalu unduh installer Python untuk
Windows. sesudah berhasil mengunduh, klik dua kali installer ini . Ikuti alurnya sampai selesai.
sesudah berhasil biasanya hasil instalasi Python disimpan di direktori C:/PythonX.X dimana X.X
yaitu versi dari Python yang digunakan.
lalu agar Python bisa dieksekusi di cmd, akses Control Panel → System → Advanced →
Environment Variables → Klik variabel yang dinamakan PATH di bagian System Variables
lalu pilih dan edit, tambahkan ;C\PythonX.X tanpa tanda petik. lalu tekan OK, dan
siap dijalankan di cmd
2. Cara memakai Python
memakai Python Interpreter Prompt dan Teks Editor
Untuk memakai Python, kita bisa memilih dua cara yang umum digunakan, yaitu lewat Python
Interpreter Prompt dan mengeksekusi file Python dari command line. Anda bisa memakai
interpreter prompt untuk sekedar menulis program kecil, atau menguji coba modul – modul yang
dimiliki Python. Untuk memakai nya jika sistem operasi Anda sudah di-install Python, coba
panggil perintah python melalui command line. Dan jika pengaturan path-nya sudah sesuai, akan
muncul ___________ seperti berikut:
<< ___________ 2.1 python interpreter prompt >>
Untuk keluar dari mode interpreter prompt, gunakan kombinasi ctrl+d atau ctrl+z lalu tekan
enter.
Lalu jika ingin memakai Python tanpa melalui interpreter prompt, Anda bisa memakai
text editor yang Anda sering gunakan dan simpan file Python dengan ekstensi file *.py .lalu
atur jarak tab pada text editor ini sebanyak empat satuan dan isi tab ini diganti dengan
spasi atau memilih menu “replace by space”. Berikut yaitu beberapa contoh text editor yang bisa
digunakan untuk membuat program Python beserta menu untuk pengaturan tab.
Tampilan antarmuka Geany dan tempat pengaturan indentasinya :
<< ___________ 2.2 Geany dan pengaturan tab-nya>>
Tampilan antarmuka GEdit dan tempat pengaturan indentasinya :
<< ___________ 2.3 GEdit dan pengaturan tab-nya>>
Tampilan antarmuka Komodo Edit dan tempat pengaturan indentasinya :
<< ___________ 2.4 KomodoEdit dan pengaturan tab-nya >>
Jika Anda belum pernah belajar pemrograman Anda bisa gunakan GEdit atau Geany untuk
membuat file Python. Jika sudah pernah belajar pemrograman, Anda bisa pilih text editor manapun
sesuai selera.
Mencetak Informasi dengan Function “print”
Output digunakan pada program untuk memberikan feedback dan keadaan sebuah program, misal
hasil perhitungan, pertanyaan, daftar pengguna, dan grafik.. Tapi dalam sebuah program konsol,
output biasanya berupa teks yang dicetak dengan memakai function tertentu pada sebuah
bahasa pemrograman. Di Python untuk mencetak teks ke layar digunakanlah function print.
Function print ini akan mencetak string yang diinginkan. Ada banyak cara dalam memakai
print, berikut yaitu contoh penggunaan print dalam sebuah program konsol :
listing : pakai_python_1.py
# mencetak sebuah kalimat
6
print "Aku sedang belajar bahasa pemrograman python"
# mencetak angka
print 6666
# mencetak variabel
sebuah_variabel = "Life is never float"
print sebuah_variabel
# mencetak langsung sebuah operasi bilangan
panjang = 10
lebar = 5
print (2 * panjang) + (2 * lebar)
# mencetak sebuah variabel dan string dengan memakai koma
nama = "Mario"
# dicetak diakhir
print "Nama saya yaitu ", nama
# dicetak ditengah
print "Saya memainkan game Super ", nama, " bersama adik saya"
# dicetak diawal
print nama, " yaitu karakter utama dalam permainan Super ", nama
# mencetak banyak baris
print "Belajar bahasa pemrograman"
print "Python itu mudah sekali"
print "sebab sudah memiliki dokumentasi yang lengkap"
# mencetak banyak baris dalam satu kali print
print "Belajar bahasa pemrograman \nPython itu mudah sekali \nsebab sudah memiliki
dokumentasi yang lengkap"
# mencetak variabel pada string dengan format string
panjang = 10
lebar = 5
keliling = (2 * panjang) + (2 * lebar)
print "keliling dari (2 * %d) + (2 * %d) yaitu %d " % (panjang, lebar, keliling)
Jika kode diatas dieksekusi, akan tampil output seperti berikut :
7
<< ___________ 2.5 hasil eksekusi pakai_python_1.py >>
Menerima Masukan Data dengan Function “raw_input” dan “input”
Selain output tentu saja dalam membuat sebuah program Anda membutuhkan fitur untuk meminta
input dari user . Fitur ini berguna untuk menciptakan interaksi antara user dan program yang
Anda bangun. Di Python, untuk menerima input ada beberapa cara yang biasa digunakan :
raw_input, function ini berguna untuk menerima input dari user yang akan selalu dikonversi
kedalam string. Misal Anda memberikan input berupa “Belajar Python”. Maka data ini akan
ditampung sebagai string utuh. lalu pada raw_input, terdapat satu parameter yang akan
dijadikan pertanyaan atau perintah tertulis saat meminta input. Jika Anda ingin memberikan input
berupa angka, saat memasukkan angka ini tidak boleh lebih dari satu angka. Hal ini
disebabkan sebab saat memakai raw_input, sekalipun yang diberikan yaitu angka tetap
akan dianggap string. Apabila Anda memberikan input satu angka kepada raw_input, Anda harus
mengkonversinya dengan function int, float, long, atau beberapa function konversi ke angka
lainnya sesuai dengan kebutuhan yang diinginkan. Coba perhatikan kode dibawah ini :
listing : pakai_python_2.py
nama = raw_input('masukkan nama anda : ')
panjang = raw_input("panjang : ")
lebar = raw_input("y : ")
print "Nama Anda yaitu ", nama
luas = int(panjang) * int(lebar)
print " %d * %d = %d" % (int(panjang), int(lebar), luas)
Jika kode diatas dieksekusi, maka akan muncul output seperti berikut :
<< ___________ 2.6 hasil eksekusi pakai_python_2.py >>
input, function ini digunakan untuk menerima input sesuai dengan data yang diberikan oleh user.
Tidak seperti raw_input yang menerima input dan dianggap string. Saat memberikan input kepada
raw_input, Anda tidak perlu memakai aturan penulisan untuk tipe data tertentu. sedang di
input Anda harus mengikuti aturan penulisan untuk memasukkan input dari tipe data tertentu.
Sebagai contoh dibawah terdapat beberapa contoh aturan penulisan saat akan memberikan data
dengan tipe data tertentu kepada input.
listing : pakai_python_3.py
9
# meminta input boolean : coba masukkan True
variabel_bool = input('masukkan data boolean : ')
print "isi variabel_bool : ", variabel_bool
# meminta input float : coba masukkan 3.14
variabel_float = input('masukkan data float : ')
print "isi variabel_float : ", variabel_float
# meminta input string : coba masukkan “lagi belajar python”
variabel_string = input('masukkan data string : ')
print "isi variabel_string : ", variabel_string
# meminta input octal : coba masukkan 010
variabel_octal = input('masukkan data octal : ')
print "isi variabel_octal : ", variabel_octal
# meminta input hexa : coba masukkan 0x114
variabel_hexa = input('masukkan data hexa : ')
print "isi variabel_hexa : ", variabel_hexa
# meminta input long : coba masukkan 123456789123456789L
variabel_long = input('masukkan data long : ')
print "isi variabel_long : ", variabel_long
# meminta input dictionary : coba masukkan {'nama':'luffy', 'hobi':'makan', 'asal':'east blue'}
variabel_dict = input('masukkan data dictionary : ')
print "isi variabel_dict : ", variabel_dict
# meminta input list : coba masukkan [1, 2, 3, 4, 5]
variabel_list = input('masukkan data list : ')
print "isi variabel_list : ", variabel_list
# meminta input tuple : coba masukkan (1, 2, 3, 4, 5)
variabel_tuple = input('masukkan data tuple : ')
print "isi variabel_tuple : ", variabel_tuple
Jika kode diatas dieksekusi, akan muncul output seperti berikut :
10
<< ___________ 2.7 hasil eksekusi pakai_python_3.py >>
Contoh diatas memperlihatkan sebuah perbedaan penggunaan raw_input dengan input. Data
yang didapat dari raw_input harus dikonversikan dengan built-in function untuk tipe data tertentu.
sedang data yang didapat dari input tidak perlu dikonversikan, tapi saat memasukkan data harus
mengikuti aturan penulisan untuk tipe data tertentu.
Hal Lain yang Harus Diingat dalam Penggunaan Python
Selain itu terdapat beberapa karakter khusus yang dinamakan escape character. Berikut yaitu
daftar beberapa escape character yang terdapat di Python :
Escape Character Heksadesimal Keterangan
\a 0x07 bel
\b 0x08 backspace
\f 0x0c formfeed
\e 0x1b escape
\n 0x0a newline
\t 0x09 tab
\v 0x0b Vertical tab
\r 0x0d Carriage return
\nnn Notasi oktal, dimana n
11
Escape Character Heksadesimal Keterangan
merupakan rentang
angka dari 0 sampai 7
\xnn Notasi heksadesimal,
dimana n merupakan
rentang dari 0..9, a..f,
atau A..F
Pada kode diatas listing pakai_python_1.py, terdapat sebuah simbol %d di dalam perintah print.
Simbol ini dinamakan string formatter yang berfungsi untuk mencetak data sesuai dengan
format yang diinginkan pada string yang disisipi simbol ini . Berikut yaitu daftar beberapa
string formatter yang disediakan Python:
Simbol Keterangan
%c Mencetak karakter
%s
Mencetak data dari jenis apapun
menjadi string
%i, %d Mencetak angka desimal bertanda
%u Mencetak angka desimal tak bertanda
%o Mencetak angka oktal
%x, %X
Mencetak angka heksa dengan huruf
kecil, Mencetak angka heksa dengan
huruf besar
%f Mencetak angka real berkoma
%e, %E
Mencetak tanda eksponensial dengan
huruf kecil, mencetak tanda
eksponensial dengan huruf besar
%g, %G
Fungsi hampir sama dengan %f dan
%e hanya saja pencetakan angka di
belakang koma lebih pendek,
pencetakan tanda eksponensial
memakai huruf besar
lalu tak lupa kalau di Python sendiri saat sedang memakai interpreter prompt,Anda bisa
memakai function help() untuk melihat struktur sebuah objek atau perintah – perintah di
Python. Misal Anda bisa melihat bantuan tentang perintah print maka Anda harus mengetikkan:
>> help('print')
12
The ``print`` statement
***********************
print_stmt ::= "print" ([expression ("," expression)* [","]]
| ">>" expression [("," expression)+ [","]])
``print`` evaluates each expression in turn and writes the resulting
object to standard output (see below). If an object is not a string,
it is first converted to a string using the rules for string
conversions. The (resulting or original) string is then written. A
space is written before each object is (converted and) written, unless
the output system believes it is positioned at the beginning of a
line. This is the case (1) when no characters have yet been written
to standard output, (2) when the last character written to standard
output is a whitespace character except ``' '``, or (3) when the last
write operation on standard output was not a ``print`` statement. (In
some cases it may be functional to write an empty string to standard
output for this reason.)
Note: Objects which act like file objects but which are not the built-in
file objects often do not properly emulate this aspect of the file
object's behavior, so it is best not to rely on this.
A ``'\n'`` character is written at the end, unless the ``print``
statement ends with a comma. This is the only action if the statement
contains just the keyword ``print``.
Standard output is defined as the file object named ``stdout`` in the
built-in module ``sys``. If no such object exists, or if it does not
have a ``write()`` method, a ``RuntimeError`` exception is raised.
``print`` also has an extended form, defined by the second portion of
the syntax described above. This form is sometimes referred to as
"``print`` chevron." In this form, the first expression after the
``>>`` must evaluate to a "file-like" object, specifically an object
that has a ``write()`` method as described above. With this extended
form, the subsequent expressions are printed to this file object. If
the first expression evaluates to ``None``, then ``sys.stdout`` is
used as the file for output.
(END)
Untuk keluar dari mode bantuan ini tekan tombol “q”. Sekarang kita coba lihat bantuan
mengenai struktur data list:
13
>> help('list')
Help on class list in module __builtin__:
class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
|
| Methods defined here:
|
| __add__(...)
| x.__add__(y) <==> x+y
|
| __contains__(...)
| x.__contains__(y) <==> y in x
|
| __delitem__(...)
| x.__delitem__(y) <==> del x[y]
|
| __delslice__(...)
| x.__delslice__(i, j) <==> del x[i:j]
|
| Use of negative indices is not supported.
|
| __eq__(...)
:[]
Dengan demikian sekalipun tidak ada koneksi internet, Anda tetap bisa terus membuat program
Python dengan dibantu help() yang sudah disediakan oleh Python.
Tipe data yang terdapat pada kode – kode diatas akan dijelaskan lebih lanjut pada bab berikutnya.
14
3. Mengenal Tipe Data dan Operator
Tipe Data di Python
Variabel menyimpan data yang dilakukan selama program dieksekusi dan isinya dapat diubah oleh
operasi – operasi tertentu pada program yang memakai variabel ini .
Di dalam Python, terdapat beberapa tipe data yang cukup unik bila dibandingkan dengan bahasa
pemrograman seperti C, Java, dan yang lainnya. Tipe data pada Python yaitu sebagai berikut :
Boolean, contoh True and False
Complex, pasangan angka real dan imajiner, misalnya 1 + 5j
Date, bilangan yang dapat dikonversi menjadi format tanggal, misalnya 26-09-2013
Float, bilangan yang memiliki koma, misalnya 3.14, 6.387
Hexadecimal, bilangan dalam format heksa, misalnya 7b, 4d2
Integer, bilangan bulat, misalnya 10, 20, 30, 15, 37
Long, bilangan bulat yang panjang, misal 123456789123456789L
None, data yang tidak terdefinisi tipe data apapun
String, data yang berisi kalimat. Bisa dibentuk dengan diapit tanda ' dan ', atau diapit “ dan
“, atau diapit “”” dan “”” untuk membentuk paragraf.
List, sebuah data berupa untaian yang menyimpan berbagai tipe data dan isinya bisa diubah.
Lebih lengkapnya akan dibahas di bab 6.
Tuple, sebuah data berupa untaian yang menyimpan berbagai tipe data tapi isinya tidak bisa
diubah. Lebih lengkapnya akan dibahas di bab 6.
Dictionary, sebuah data berupa untaian yang menyimpan berbagai tipe data berupa pasangan
penunjuk dan nilai. Lebih lengkapnya akan dibahas di bab 6.
Objek, sebuah data yang berisi atribut dan method. Lebih lengkapnya akan dibahas di bab
10
Operator – Operator di Python
Selain variabel diatas, terdapat juga beberapa operator untuk pemrosesan data di Python. Agar lebih
memahami seperti apa cara kerja operator dipython, bukalah console python dan coba contoh
disamping penjelasan tiap operator. Berikut operator yang ada di Python :
1. Aritmatika (Arithmetic Operator)
Oper
ator
Penjelasan Contoh
+ Penjumlahan, menambahkan dua buah
operan
a, b = 10, 5
hasil = a + b
15
Oper
ator
Penjelasan Contoh
# hasil akan 15
print “hasil : “, hasil
-
Pengurangan, mengurangka operan
disebelahkiri operator dengan operan di
sebelah kanan operator
a, b = 10, 8
hasil = a – b
# hasil akan 2
print “hasil : “, hasil
*
Perkalian, mengalikan operan di sebelah
kiri dengan operan di sebelah kanan
operator
a, b = 3, 5
hasil = a * b
# hasil akan 15
print “hasil : “, hasil
/
Pembagian, membagi operan di sebelah
kiri dengan operan disebelah kanan
operator
a, b = 4, 2
hasil = a / b
# hasil akan 2
print “hasil : “, hasil
%
Modulus, mendapatkan sisa pembagian
dari operan di sebelah kiri operator saat
dibagi oleh operan di sebelah kanan
a, b = 11, 2
hasil = a % b
# hasil akan 1
print “hasil : “, hasil
**
Pemangkatan, memangkatkan operan
disebelah kiri operator dengan operan di
sebelah kanan operator
a, b = 11, 2
hasil = a ** b
# hasil akan 121
print “hasil : “, hasil
//
Pembagian bulat, prosesnya sama seperti
pembagian. Hanya saja angka dibelakang
koma dihilangkan
a, b = 11, 2
hasil = a // b
# hasil akan 5
print “hasil : “, hasil
2. Perbandingan (Comparison Operator)
Oper
ator
Penjelasan Contoh
==
Memeriksa apakah kedua nilai (operan)
yang dibandingkan sama atau tidak. Jika
sama akan dikembalikan nilai True jika
tidak sama akan dikembalikan nilai False.
a, b = 10, 10
# hasil akan True
print “hasil : “, a == b
16
Oper
ator
Penjelasan Contoh
!=
Memeriksa apakah kedua nilai yang
dibandingkan sama atau tidak. Jika tidak
sama akan dikembalikan nilai True jika
sama akan dikembalikan nilai False.
a, b,= 10, 8
# hasil akan True
print “hasil : “, a != b
c = 10
# hasil akan False
print “hasil : “, a != c
<>
Fungsinya sama dengan operator != a, b,= 10, 8
# hasil akan True
print “hasil : “, a <> b
c = 10
# hasil akan False
print “hasil : “, a <> c
>
Memeriksa apakah nilai di sebelah kiri
operator lebih besar dari nilai di sebelah
kanan operator
a, b = 4, 2
# hasil akan True
print “hasil : “, a > b
<
Memeriksa apakah nilai di sebelah kiri
operator lebih kecil dari nilai di sebelah
kanan operator
a, b = 2, 4
# hasil akan True
print “hasil : “, a < b
>=
Memeriksa apakah nilai di sebelah kiri
operator lebih besar dari nilai di sebelah
kanan operator atau memiliki nilai yang
sama
a, b = 4, 2
c = 4
# hasil akan True
print “hasil : “, a >= b
# hasil akan True
print “hasil : “, a >=c
# hasil akan False
print “hasil : “, b >= a
<= Memeriksa apakah nilai di sebelah kiri
operator lebih kecil dari nilai di sebelah
kanan operator atau memiliki nilai yang
sama
a, b = 4, 2
c = 4
# hasil akan False
print “hasil : “, a <= b
# hasil akan True
print “hasil : “, a <= c
# hasil akan True
17
Oper
ator
Penjelasan Contoh
print “hasil : “, b <= a
3. Penugasan (Assignment Operator)
Oper
ator
Penjelasan Contoh
=
Mengisikan nilai di sebelah kanan operator
ke nilai di sebelah kiri operator
a = 10
# hasil akan 10
print a
b = 15
# hasil akan 15
print b
+=
Menambahkan operan sebelah kiri
operator dengan operan sebelah kanan
operator lalu hasilnya diisikan ke
operan sebelah kiri
a, b,= 10, 8
# hasil akan 18 sma dgn a = a + b
a += b
print “hasil : “, a
-=
Mengurangi operan sebelah kiri operator
dengan operan sebelah kanan operator
lalu hasilnya diisikan ke operan
sebelah kiri
a, b,= 10, 8
# hasil akan 2 sma dgn a = a - b
a -= b
print “hasil : “, a
*=
Mengalikan operan sebelah kiri operator
dengan operan sebelah kanan operator
lalu hasilnya diisikan ke operan
sebelah kiri
a, b,= 10, 8
# hasil akan 80 sma dgn a = a * b
a *= b
print “hasil : “, a
/=
Membagi operan sebelah kiri operator
dengan operan sebelah kanan operator
lalu hasilnya diisikan ke operan
sebelah kiri
a, b,= 10, 5
# hasil akan 2 sma dgn a = a / b
a /= b
print “hasil : “, a
%=
Mengambil sisa bagi dari operan sebelah
kiri operator dengan operan sebelah kanan
operator lalu hasilnya diisikan ke
operan sebelah kiri
a, b,= 10, 4
# hasil akan 2 sma dgn a = a % b
a %= b
print “hasil : “, a
**= Memangkatkan operan sebelah kiri a, b,= 10, 2
18
Oper
ator
Penjelasan Contoh
operator dengan operan sebelah kanan
operator lalu hasilnya diisikan ke
operan sebelah kiri
# hasil akan 100 sma dgn a = a ** b
a **= b
print “hasil : “, a
//=
Membagi bulat operan sebelah kiri
operator dengan operan sebelah kanan
operator lalu hasilnya diisikan ke
operan sebelah kiri
a, b,= 10, 4
# hasil akan 2 sma dgn a = a // b
a //= b
print “hasil : “, a
4. Biner (Bitwiser Operator)
Oper
ator
Penjelasan Contoh
&
Operator biner AND, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan memiliki angka biner 1 di setiap
bit. Jika keduanya bernilai 1 maka bit hasil
operasi akan bernilai 1
a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
c = a & b
# c akan bernilai 5 = '0000 0101'
print c
|
Operator biner OR, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan memiliki angka biner 1 di setiap
bit. Jika salah satunya bernilai 1 maka bit
hasil operasi akan bernilai 1
a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
c = a | b
# c akan bernilai 45 = '0010 1101'
print c
^
Operator biner XOR, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan memiliki angka biner 1 di setiap
bit. Jika keduanya bernilai 1 maka bit hasil
operasi akan bernilai 0
a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
c = a ^ b
# c akan bernilai 40 = '0010 1000'
print c
~ Operator biner Negative, membalik nilai
bit. Misal dari 1 menjadi 0, dari 0 menjadi
1
a, b = 13, 37
# a akan bernilai '0000 1101'
19
Oper
ator
Penjelasan Contoh
# b akan bernilai '0010 0101'
<<
Operator penggeser biner ke kiri, deret bit
akan digeser ke kiri sebanyak n kali
a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
# hasil bernilai 52 = ''0011 0100'
print a << 2
# hasil bernilai 148 = '1001 0100'
print b << 2
>>
Operator penggeser biner ke kanan, deret
bit akan digeser ke kanan sebanyak satu
kali
a, b = 13, 37
# a akan bernilai '0000 1101'
# b akan bernilai '0010 0101'
# hasil bernilai 3 = '0000 0011'
print a >> 2
# hasil bernilai 9 = '0000 1001'
print b >> 2
5. Logika (Logical Operator)
Oper
ator
Penjelasan Contoh
and
Jika kedua operan bernilai True, maka
kondisi akan bernilai True. Selain kondisi
tadi maka akan bernilai False
a, b = True, True
# hasil akan True
print a and b
or
Jika salah satu atau kedua operan bernilai
True maka kondisi akan bernilai True. Jika
keduanya False maka kondisi akan bernilai
False
a, b = True, False
# hasil akan True
print a or b
print b or a
print a or a
# hasil akan False
print b or b
not Membalikkan nilai kebeneran pada operan, a, b = True, False
20
Oper
ator
Penjelasan Contoh
misal jika asalnya True akan menjadi False
dan begitupun sebaliknya # hasil akan True
print not a
print not b
6. Keanggotaan (Membership Operator)
Oper
ator
Penjelasan Contoh
in
Memeriksa apakah nilai yang dicari berada
pada list atau struktur data python lainnya.
Jika nilai ini ada maka kondisi akan
bernilai True
sebuah_list = [1, 2, 3,4 ,5]
print 5 in sebuah_list
not
in
Memeriksa apakah nilai yang dicari tidak
ada pada list atau struktur data python
lainnya. Jika nilai ini tidak ada maka
kondisi akan bernilai True
sebuah_list = [1, 2, 3,4 ,5]
print 10 not in sebuah_list
7. Identitas (Identity Operator)
Oper
ator
Penjelasan Contoh
is
Memeriksa apakah nilai di sebelah kiri
operan memiliki identitas memori yang
sama dengan nilai di sebelah kanan operan.
Jika sama maka kondisi bernilai True
a, b = 10, 10
# hasil akan True
print a is b
is
not
Memeriksa apakah nilai di sebelah kiri
operan memiliki identitas memori yang
berbeda dengan nilai di sebelah kanan
operan. Jika berbeda maka kondisi bernilai
True
a, b = 10, 5
# hasil akan True
print a is not b
Prioritas Eksekusi Operator di Python
Dari sekian banyaknya operator yang telah disebutkan, masing – masing memiliki prioritas
pemroresan yang dapat dilihat pada tabel berikut. Prioritas ini makin ke bawah makin akhir
untuk dieksekusi. Paling atas yaitu yang akan didahulukan daripada operator lain, sedang
paling bawah yaitu operator yang paling terakhir dieksekusi :
21
Operator Keterangan
** Aritmatika
~, +, - Bitwise
*, /, %, // Aritmatika
+, - Aritmatika
>>, << Bitwise
& Bitwise
^, | Bitwise
<=, <, >, >= Perbandingan
<>, ==, != Perbandingan
=, %=, /=, //=,
-=, +=, *=,
**=
Penugasan
is, is not identitas
in, not in membership
not, or, and logika
22
4. Membuat Pemilihan Kondisi
Penggunaan Operator Kondisional dan Logika pada Keyword “if”
Dalam kehidupan sehari – hari pasti Anda menentukan pilihan untuk memulai sebuah aksi di pagi
hari. “Kalau hari ini ga hujan saya akan main tenis”, “Kalau ada ongkos nanti nonton Man of Steel”,
“Kalau ga hujan dan ada ongkos nanti mau pergi makan ramen”. Disadari atau tidak, pengandaian
atau kondisional sudah menjadi bagian dari hidup Anda secara otomatis saat sebelum melakukan
sebuah tugas.
Dalam pemrograman pun demikian ada mekanisme dimana program akan menentukan aksi – aksi
sesuai kondisi dari input atau nilai – nilai yang diproses selama program berjalan langsung.
Pemilihan kondisi ini membutuhkan nilai “True” jika aksi yang diinginkan dibawah kondisi ini
dieksekusi. Jika nilainya “False”, maka akan diperiksa kondisi lain yang sesuai atau akan langsung
ke bagian program yang tidak memeriksa kondisi.
Di Python, terdapat beberapa keyword untuk membuat sebuah pemilihan kondisi. Ada if, elif, else.
Tidak memerlukan kurawal atau penutup pada blok if ini . Sebuah statement akan dianggap
blok if jika indentasinya lebih satu tab dari jumlah tab if diatasnya. Sebuah if akan diawali tanda
titik dua baru dibawahnya terdapat kode program yang akan dieksekusi jika kondisi terpenuhi.
Dalam membuat pemilihan kondisi Anda juga membutuhkan operator logika (and, not, or) dan
perbandingan (==, <=, >=, >, <, <>, !=) untuk menyusun kondisi yang Anda butuhkan.
Berikut yaitu contoh penggunaan if di Python. Contoh berikut memakai beberapa operator
perbandingan untuk melihat hasil perbandingan dua buah angka. Dalam program berikut beberapa
kondisi yang terpenuhi akan dieksekusi.
listing : kondisional_1.py
print "Masukkan dua buah angka.."
print "Dan Anda akan check hubungan kedua angka ini "
angka1 = raw_input("Masukkan angka pertama : ")
angka1 = int(angka1)
angka2 = raw_input("Masukkan angka kedua : ")
angka2 = int(angka2)
if angka1 == angka2 :
print "%d sama dengan %d" % (angka1, angka2)
if angka1 != angka2 :
print "%d tidak sama dengan %d" % (angka1, angka2)
23
if angka1 < angka2 :
print "%d kurang dari %d" % (angka1, angka2)
if angka1 > angka2 :
print "%d lebih dari %d" % (angka1, angka2)
if angka1 <= angka2 :
print "%d kurang dari sama dengan %d" % (angka1, angka2)
if angka1 >= angka2 :
print "%d lebih dari sama dengan %d" % (angka1, angka2)
Cobalah berbagai angka sebagai test case dan amati hasilnya. Misal Anda masukkan angka 10 dan 5
Maka hasilnya akan terdapat beberapa kondisi yang dieksekusi :
<< ___________ 4.1 hasil eksekusi kondisional_1.py >>
Penggunaan “else” pada “if”
Keyword else digunakan dalam blok if untuk menampung berbagai kondisi yang berlawanan
dengan kondisi pada if sebelumnya. Keyword else ini membutuhkan blok if atau elif diatasnya.
Tanpa kedua keyword tadi, else tidak dapat digunakan. Berikut ini terdapat contoh penggunaan else,
mari kita coba.
listing : kondisional_2.py
24
print "Masukkan dua buah angka.."
print "Dan Anda akan check hubungan kedua angka ini "
angka1 = raw_input("Masukkan angka pertama : ")
angka1 = int(angka1)
angka2 = raw_input("Masukkan angka kedua : ")
angka2 = int(angka2)
if angka1 == angka2 :
print "%d sama dengan %d" % (angka1, angka2)
else:
print "%d tidak sama dengan %d" % (angka1, angka2)
cobalah masukkan dua angka berbeda dan amati hasilnya. Misalkan Anda memasukkan angka 10
dan 5 maka akan tampil hasil seperti berikut :
<< ___________ 4.2 hasil eksekusi kondisional_2.py >>
Penggunaan “elif” pada “if”
Jika pada kondisional_1.py beberapa blok if akan dieksekusi, sebab tidak ada pilihan lain pada
masing – masing blok if. Pada contoh berikutnya beberapa if akan digabung dan membentuk
sebuah blok if yang lebih besar sebab adanya elif. Keyword elif ini berfungsi untuk membuat
multi kondisional. Jadi jika kondisi di if paling atas tidak sesuai maka kondisi yang ada dibawahnya
akan diperiksa dan jika cocok akan dieksekusi. Pada contoh berikutnya jika kondisi sudah sesuai
25
pada blok teratas maka blok ini lah yang akan dieksekusi, berbeda dengan contoh pada
kondisional_1.py sebab terdiri dari beberapa blok if yang dianggap berbeda oleh Python. Untuk
lebih jelasnya mari coba kode berikut
listing : kondisional_3.py
print "Masukkan dua buah angka.."
print "Dan Anda akan check hubungan kedua angka ini "
angka1 = raw_input("Masukkan angka pertama : ")
angka1 = int(angka1)
angka2 = raw_input("Masukkan angka kedua : ")
angka2 = int(angka2)
if angka1 == angka2 :
print "%d sama dengan %d" % (angka1, angka2)
elif angka1 != angka2 :
print "%d tidak sama dengan %d" % (angka1, angka2)
elif angka1 < angka2 :
print "%d kurang dari %d" % (angka1, angka2)
elif angka1 > angka2 :
print "%d lebih dari %d" % (angka1, angka2)
elif angka1 <= angka2 :
print "%d kurang dari sama dengan %d" % (angka1, angka2)
elif angka1 >= angka2 :
print "%d lebih dari sama dengan %d" % (angka1, angka2)
Coba masukkan dengan angka 10 dan 20, maka blok if yang dieksekusi hanya blok kedua yang
berisi kondisi angka1 tidak sama dengan angka 2. Jelas berbeda dengan kode yang ada di
kondisional_1.py. Untuk lebih jelasnya coba perhatikan ___________ berikut
26
<< ___________ 4.3 hasil eksekusi kondisional_3.py >>
Penggunaan “else” pada “if”
Misal ada sebuah kondisi seperti berikut, “Kalau saya punya uang saya akan pergi ke taman
bermain, Lalu kalau uangnya cuma 10.000 cuma bakal naik komedi putar, kalau uangnya 20.000
bakal naik komedi putar dan bom bom car”. Jika Anda perhatikan sesudah kondisi pertama ada
kondisi lagi yang masih berada dibawah kondisi pertama. Kondisi semacam ini dapat disebut
dengan kondisi bersarang (nested if).
Di Python, untuk membuat sebuah blok if di dalam if, maka blok if yang ingin disimpan di dalam
sebuah if harus memiliki satu tab lebih dibanding if sebelumnya. Anda dapat membuat if
bersarang di dalam if bersarang hingga tingkat sedalam yang Anda inginkan.
Agar lebih paham mari Anda coba kode berikut :
listing : kondisional_4.py
username = raw_input("masukkan username : ")
password = raw_input("masukkan password : ")
username_from_db = "user"
password_from_db = "admin"
if username == username_from_db :
if password == password_from_db :
27
print "Username dan password cocok "
else:
print "Password salah "
else:
print "User tidak terdaftar"
Pada contoh diatas, Anda diminta masukan berupa “username” dan “password”. lalu ada
sebuah variabel yang diasumsikan mengambil data “username” dan “password” dari database. Blok
if akan memeriksa apakah user sudah sesuai atau belum, jika tidak sesuai maka akan ditampilkan
“User tidak terdaftar”. Jika “username” sesuai maka kondisi selanjutnya yaitu memeriksa
“password” jika sesuai maka akan muncul notifikasi “Username dan password cocok”, jika tidak
sesuai maka akan muncul notifikasi “Password salah”. Lebih jelasnya perhatikan ___________ berikut :
<< ___________ 4.4 hasil eksekusi kondisional_4.py >>
28
5. Menyusun Pengulangan
Mengenal Pengulangan “for” dan “while”
Seperti pada bahasa pemrograman lainnya, Python memiliki mekanisme pengulangan untuk
menjalankan pekerjaan – pekerjaan yang berulang. Pada umumnya pengulangan terdiri dua jenis.
Ada pengulangan yang terbatas dan tidak terbatas. Pengulangan terbatas biasanya dilakukan
pengulangan dari 1 hingga kesekian kali (n kali). Perulangan terbatas memakai for. sedang
pengulangan tidak terbatas memakai while. Dalam pengulangan memakai while
pengulangan akan terus dilakukan selama kondisional dalam perulangan while tetap dalam keadaan
true jika dalam keadaan false maka pengulangan while akan berhenti.
Menyusun Pengulangan dengan “for”
Kita melangkah ke pengulangan yang terbatas dulu yah. Dalam pengulangan for, tidak seperti di
bahasa pemorgraman C atau Java yang memakai nilai incremental untuk melakukan
pengulangan. Di Python, for melakukan pengulangan dengan meng-iterasi elemen dari sebuah list.
List ini dapat berisi kumpulan karakter, kumpulan string, kumpulan angka, atau kumpulan data
jenis lainnya yang disediakan Python. (Untuk lebih lengkapnya di bab berikutnya akan dibahas
lebih jauh tentang List di Python).
Misal disini ada sebuah list yang berisi [1, 2, 3, 4, 5], ( sebuah list diawali oleh tanda '[' dan ditutup
oleh tanda ']' ). Banyaknya elemen pada list ini menentukan banyaknya pengulangan yang
akan dilakukan saat melakukan pengulangan. Mari kita lihat implementasinya pada kode dibawah
ini :
listing : kode pengulangan_1.py
# pengulangan sebanyak 5 kali
for i in [1, 2, 3, 4, 5]:
print "Ini pengulangan ke - ", i
Pada contoh diatas, akan dicetak teks “ini pengulangan ke - “ sebanyak 5 kali. Nilai 'i' pada
pengulangan ini akan selalu berganti nilainya setiap tahap pengulangan dilakukan. Misal
saat pengulangan pertama, nilai 'i' akan berisi 1, saat pengulangan kedua, nilai 'i' akan berisi 2,
begitu seterusnya sampai elemen terakhir. Jika kode diatas dieksekusi akan menampilkan hasil
seperti pada ___________ dibawah ini :
29
<< ___________ 5.1 hasil eksekusi pengulangan_1.py >>
Selain memakai list yang berisi angka, List yang berisi string dapat digunakan juga untuk
melakukan pengulangan for di Python. Misal terdapat list yang berisi seperti berikut [“Rawon”,
“Nasi Kuning”, “Soto Madura”, “Kupat Tahu”, “Kerak Telor”, “Rendang Batoko”, “Pempek
Selam”, “Ayam Betutu”], dalam list ini terdapat elemen sebanyak delapan jenis masakan
nusantara. Dengan demikian saat pengulangan for memakai list masakan tadi, pengulangan
akan dijalankan sebanyak delapan kali. Mari Anda lihat implementasinya pada kode dibawah ini :
listing : kode pengulangan_2.py
# pengulangan sebanyak 8 kali
for i in ["Rawon", "Nasi Kuning", "Soto Madura", "Kupat Tahu", "Kerak Telor", "Rendang
Batoko", "Pempek Selam", "Ayam Betutu"] :
print i, " yaitu masakan khas nusantara …"
Kode diatas jika dieksekusi akan terlihat seperti ___________ dibawah ini :
<< ___________ 5.2 hasil eksekusi pengulangan_2.py >>
30
Sekarang Anda coba contoh terakhir dengan memakai string. String pada dasarnya merupakan
list karakter. Misal terdapat string seperti berikut “abcde”. Jika string ini digunakan pada
pengulangan for, maka akan terjadi pengulangan sebanyak lima kali. Coba lihat kode dibawah ini :
listing : kode pengulangan_3.py
# pengulangan sebanyak 5 kali
for i in "abcde":
print i, " yaitu alfabet"
Kode diatas jika dieksekusi akan terlihat seperti ___________ dibawah ini :
<< ___________ 5.3 hasil eksekusi pengulangan_3.py >>
Memahami Function “range”
Kalau teman – teman memperhatikan list yang dipakai pada pengulangan_1.py, pengulangan
ini memakai list angka yang sudah jadi atau di-hardcode. Nah bagaimana nih kalau
ingin membentuk suatu pola atau ingin membuat list incremental agar pengulangan for di Python
ini mirip di Java atau C. Di Python terdapat fungsi yang bernama range. Range ini menghasilkan
deret angka dengan parameter (start, stop, step). Start yaitu batasawal dari list, stop yaitu batas
akhir dari list, step yaitu jarak antar angka yang dihasilkan oleh range. Ada beberapa kasus
penting yang perlu diperhatikan saat memakai range. Coba perhatikan kode dibawah ini :
listing : kode pengulangan_4.py
# pengulangan_4.py
# kasus - 1 : jika step tidak disertakan maka step akan diisi 1 secara default
print range(1, 10)
# kasus - 2 : jika step disertakan maka step akan sesuai dengan angka yang diisikan
31
print range(1, 10, 2)
print range(1, 10, 3)
print range(1, 10, 4)
print range(1, 10, 5)
# kasus - 3 : jika step melebihi stop maka list hanya akan berisi start
print range(1, 10, 11)
# kasus - 4 : jika start lebih besar nilainya daripada stop maka list akan kosong
print range(10, 1)
# kasus - 5 : jika start lebih besar nilainya daripada stop dan
# jika step melebihi stop maka list akan kosong
print range(10, 1, 2)
print range(10, 1, 11)
# kasus - 6 : jika start lebih besar daripada stop dan step bernilai minus
# dan jika start dikurangi step menghasilkan angka positif
# maka list akan berisi deret angka menurun
print range(10, 1, -1)
# kasus - 7 : jika start lebih besar daripada stop dan step bernilai minus
# dan jika start dikurangi step bernilai minus maka list hanya akan berisi start
print range(10, 1, -11)
# kasus - 8 : jika step bernilai 0 maka akan terjadi error
print range(1, 10, 0)
# kasus - 9 : jika start lebih besar daripada stop dan step bernilai 0 maka akan terjadi error
print range(10, 1, 0)
Kode diatas jika dieksekusi akan terlihat seperti ___________ dibawah ini :
<< ___________ 5.4 hasil eksekusi pengulangan_4.py >>
32
memakai Function “range” pada Pengulangan “for”
Bagaimana dengan pengenalan range diatas ? Mudah kan ? Nah sekarang Anda akan coba
memakai range dalam pengulangan for. Coba perhatikan contoh berikut :
listing : kode pengulangan_5.py
for i in range(1, 10):
print "ini pengulangan ke - ", I
Pada contoh diatas akan terjadi pengulangan sebanyak 10 kali terhadap statement dibawah for.
Dengan memakai range, Anda tidak perlu repot untuk membuat list terlebih dahulu untuk
menentukan banyaknya pengulangan yang akan Anda lakukan terhadap statement.Jika kode diatas
dieksekusi akan terlihat seperti ___________ dibawah ini :
<< ___________ 5.5 hasil eksekusi pengulangan_5.py >>
Agar lebih memahami lagi pengulangan for, kita coba lagi pelajari dua contoh berikut. Berikut ada
kasus membuat sebuah segitiga yang dibuat dari kumpulan bintang dan membuat baris bilangan
prima. Untuk lebih jelasnya coba perhatikan dua kasus berikut :
listing : kode pengulangan_6.py
# pengulangan_6.py
for i in range(0, 10):
for j in range (0, i+1):
if j == i:
print "x"
33
else:
print "*",
print ""
Kode diatas jika dieksekusi akan tampil seperti berikut :
<< ___________ 5.6 hasil eksekusi pengulangan_6.py >>
lalu dibawah ini yaitu kode program untuk mencari bilangan prima. Bilangan prima yaitu
bilangan yang hanya bisa dibagi 1 dan bilangan itu sendiri
listing : kode pengulangan_7.py
# pengulangan_7.py
for i in range(1, 20):
count_zero_remainder = 0
for j in range(1, i+1):
num_remainder = i % j
#print num_remainder,
if num_remainder == 0:
count_zero_remainder = count_zero_remainder + 1
if count_zero_remainder == 2:
print i, " yaitu bilangan prima"
else:
print i, " bukanlah bilangan prima"
Kode diatas jika dieksekusi akan tampil seperti berikut :
34
<< ___________ 5.7 hasil eksekusi pengulangan_7.py >>
Menyusun Pengulangan dengan “while”
Sekarang kita akan bahas pengulangan yang memakai while. Pengulangan while memiliki cara
kerja selama kondisi tertentu bernilai true maka pengulangan akan diteruskan sampai kondisi
bernilai false. Tentunya dalam kondisi yang dipakai untuk eksekusi while memerlukan operator
logika dan perbandingan seperti yang sudah di jelaskan di bab 3.
sebagai contoh coba lihat kode berikut. Kode berikut dieksekusi apabila variabel “angka” masih
dibawah 10.
listing : kode pengulangan_8.py
angka = 0
while (angka < 10):
print "Aku sudah berjalan sebanyak ", angka, " langkah "
angka += 1
Kode diatas jika dieksekusi akan tampil seperti pada ___________ berikut ini :
35
<< ___________ 5.8 hasil eksekusi pengulangan_8.py >>
Pada contoh diatas kondisi untuk melakukan pengulangan ditaruh di while. Sekarang Anda coba
taruh kondisi pengulangan di dalam pengulangannya. Coba lihat contoh berikut :
listing : kode pengulangan_9.py
terus_tanya = True
while terus_tanya :
temp = raw_input('masukkan angka kurang dari 10 !! : ')
angka = int(temp)
if angka < 10:
terus_tanya = False
else:
terus_tanya = True
<< ___________ 5.9 hasil eksekusi pengulangan_9.py >>
Untuk memahami pengulangan while lebih lanjut, berikut terdapat contoh penjumlahan angka dari
1 sampai 10. Dalam pengulangan ini terdapat sebuah variabel jml_angka yang berfungsi untuk
menampung angka – angka yang akan ditambahkan dengan angka berikutnya di setiap
36
pengulangan. Coba perhatikan kode dibawah ini :
listing : kode pengulangan_10.py
i = 1
jml_angka = 0
while i <= 10:
print 'loop ke - %d : %d + %d' % (i, jml_angka, i)
jml_angka = jml_angka + i
i += 1
print 'total angka yang dijumlahkan : ', jml_angka
kode diatas jika dieksekusi akan tampi seperti pada ___________ berikut ini :
<< ___________ 5.10 hasil eksekusi pengulangan_10.py >>
37
6. Mengenal Data Struktur Python Tingkat Lanjut
Mengenal List, Dictionary dan Tuple
Data yang kompleks biasanya dapat menampung objek atau entitas yang banyak. Misal ada sebuah
toples yang berisi banyak permen dengan ragam jenisnya. Dalam sebuah toples dapat saja ada
permen rasa asem, permen rasa stroberi, permen rasa nanas, permen rasa asem lagi, dan rasa
lainnya. Tapi bukan hanya menyimpan entitas yang banyak saja, struktur data pun ada yang
menyimpan jaringan sebuah graf, antrian, tumpukan, dan banyak lagi tipe lainnya.
Di Python sendiri, terdapat beberapa tipe struktur data yang dapat digunakan oleh penggunanya.
Tapi tiga tipe data yang umum digunakan, diantaranya list, tuple, dan dictionary. Ketiga tipe data
struktur ini sangat membantu sekali bagi programmer Python yang membutuhkan tipe data banyak.
Ketiga tipe data ini yaitu objek Python yang berarti jika Anda mendefinisikan struktur data
ini , Anda dapat memakai method – method yang berhubungan dengan pengolahan
struktur data ini . Selain itu terdapat pula function untuk mengolah tiga struktur data tadi
seperti mencari nilai max, min, hitung panjang, dan perbandingan isi.
Untuk mendefinisikan sebuah list Anda cukup buat sebuah variabel dengan nama yang diinginkan,
lalu isi variabel ini dengan list yang akan dibuat. List diawali dengan tanda '[' dan
diakhiri dengan tanda ']'. Isinya dapat beragam, dapat string, number, object, bahkan list lagi.
Pemisah antara data yang satu dengan yang lainnya digunakan tanda koma. List dapat ditambah
isinya, dirubah data pada elemennya, hapus elemen, dan hapus seluruh list.
Hampir sama dengan list, tuple diawali dengan tanda '(' dan ')'. Elemen pada tuple tidak dapat
dihapus dan diubah. Maka dari itu tuple disebut immutable sequence. Lebih jelasnya nanti Anda
akan lihat perbedaan tuple dengan list.
Beda halnya antara dengan list dan tuple, pada dictionary setiap data akan memiliki pengenalnya
masing – masing. Pengenal ini dinamakan dengan key dan datanya dinamakan dengan value.
Dictionary diawali dengan tanda '{' dan diakhiri dengan tanda '}'. Khusus untuk key pada dictionary,
nilainya harus berupa tipe data yang tidak dapat diganti seperti tuple, string dan number. Tapi
umumnya key berisi number dan string. sebab jika Anda mencoba memasukkan tipe data yang
mutable, akan keluar peringatan 'unhashable type' saat mendefinisikan dictionary yang key-nya
berupa tipe data mutable.
Agar lebih paham mari Anda coba mendefinisikan list, tuple, dan dictionary kedalam sebuah
variabel.
listing : strukdat_1.py
# cara mendefinisikan list
sebuah_list = ['Zorin OS',
38
'Ubuntu',
'FreeBSD',
'NetBSD',
'OpenBSD',
'Backtrack',
'Fedora',
'Slackware']
# cara mendefinisikan tuple
sebuah_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# cara mendefinisikan dictionary
sebuah_dictionary = {'nama':'Wiro Sableng',
'prodi':'ilmu komputer',
'email':'wirosableng@localhost',
'website':'http://www.sitampanggarang.com'
}
print sebuah_list
print sebuah_tuple
print sebuah_dictionary
Dengan memakai perintah print maka Anda dapat mencetak isi list, tuple, atau dictionary
yang hasil keluarannya berupa string.
<< ___________ 6.1 hasil eksekusi strukdat_1.py >>
Cara Akses List, Tuple, dan Dictionary
sesudah Anda mengenal cara membuat ketiga struktur data ini , sekarang Anda coba cara
mengakses elemen – elemen pada struktur data ini . Ada beberapa cara mengakses elemen pada
struktur data ini yang biasa dilakukan misalnya mengakses salah satu elemen dengan
39
memakai indeks, slicing indeks, dan mengakses elemen lewat pengulangan.
Untuk akses elemen lewat indeks elemen Anda panggil nama list lalu disusul indeks elemen
yang Anda inginkan dengan diapit tanda baca “[“ dan “]”, misal ada sebuah list dengan nama
daftar_barang lalu ingin mengakses indeks ke – 10, maka pemanggilan indeks pada list
ini yaitu daftar_barang[9]. Kenapa di pemanggilan indeks nya dari 9 ? sebab indeks
ini diawali dari 0 sehingga indeks yang diinginkan akan dikurangi 1. Begitupun dengan tuple
cara akses salah satu elemenya sama dengan cara akses salah satu elemen di list. Pada dictionary,
untuk mengakses salah satu elemennya Anda panggil salah satu key-nya untuk mendapatkan data
yang ditunjuk key ini .
Slicing indeks merupakan cara untuk mengakses beberapa elemen pada list dan tuple. Cara ini tidak
dapat dilakukan di dictionary. Slicing indeks dilakukan dengan memanggil list atau tuple lalu
tentukan indeks awal slicing dan batas akhirnya. lalu indeks ini dipisahkan dengan
tanda “:” dan diapit oleh tanda “[“ dan “]”. Misal ada sebuah list daftar_barang lalu ingin
mengambil 10 datanya dari indeks ke – 2 maka pemanggilannya yaitu daftar_barang[1:11].
Berikutnya cara terakhir yang biasa dilakukan oleh untuk mengakses elemen secara keseleruhan
yaitu dengan melalui pengulangan for. Melalui cara ini , isi dari list, tuple, dan dictionary
dapat diambil elemennya selama iterasi pada pengulangan for. Pada list dan tuple jika datanya
diambil lewat pengulangan for, setiap elemen akan langsung diekstrak di setiap iterasi dan dapat
digunakan untuk keperluan pemrosesan pada proses di setiap iterasi. Kalau pada dictionary di setiap
iterasi pengulangan bukan elemen yang diektrak tapi key-nya. Jadi saat ingin mengambil datanya
Anda harus memanggil elemen dictionary ini dengan key yang didapatkan disetiap iterasi.
Dibawah ini yaitu contoh mengakses elemen dari list, tuple dan dictionary dengan tiga cara yang
biasa dipakai programmer python.
listing : strukdat_2.py
# cara mendefinisikan list
sebuah_list = ['Zorin OS',
'Ubuntu',
'FreeBSD',
'NetBSD',
'OpenBSD',
'Backtrack',
'Fedora',
'Slackware']
# cara mendefinisikan tuple
sebuah_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# cara mendefinisikan dictionary
sebuah_dictionary = {'nama':'Wiro Sableng',
'prodi':'ilmu komputer',
'email':'wirosableng@localhost',
'website':'http://www.sitampanggarang.com'
}
40
# mengakses elemennya
print "mengakses salah satu elemen : "
print "-----------------------------"
print sebuah_list[5]
print sebuah_tuple[8]
print sebuah_dictionary['website']
print "\n\n"
# mengakses beberapa elemen
print "mengakses beberapa elemen : "
print "-----------------------------"
print sebuah_list[2:5]
print sebuah_tuple[3:6]
print "\n\n"
# mengakses elemennya dengan looping
print "mengakses semua elemen dengan looping for : "
print "-----------------------------"
for sebuah in sebuah_list:
print sebuah,
print "\n"
for sebuah in sebuah_tuple:
print sebuah,
print "\n"
for sebuah in sebuah_dictionary:
print sebuah, ':', sebuah_dictionary[sebuah],
Apabila Anda jalankan kode program diatas maka akan muncul output seperti pada ___________ berikut
ini :
41
<< ___________ 6.2 hasil eksekusi strukdat_2.py >>
Mengubah Isi List, Tuple, dan Dictionary
Ada waktunya Anda ingin mengubah salah satu elemen sesudah mendefinisikan stuktur data. Misal
ada sebuah list daftar_barang dan Anda ingin mengubah elemen ke-7 dengan data baru yang
asalnya “kursi” menjadi “meja”. Atau ada sebuah informasi dalam bentuk dictionary dengan key
“nama” yang value asalnya “Son Go Ku” menjadi “Vash De Stampede”. Cara mengubah data salah
satu elemen di struktur data python mudah sekali. Tinggal tentukan indeks mana yang akan diubah,
lalu masukkan nilai baru kedalam indeks ini . Lebih jelasnya coba lihat contoh berikut :
listing : strukdat_3.py
# cara mendefinisikan list
sebuah_list = ['Zorin OS',
'Ubuntu',
'FreeBSD',
'NetBSD',
'OpenBSD',
'Backtrack',
'Fedora',
42
'Slackware']
# cara mendefinisikan tuple
sebuah_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# cara mendefinisikan dictionary
sebuah_dictionary = {'nama':'Wiro Sableng',
'prodi':'ilmu komputer',
'email':'wirosableng@localhost',
'website':'http://www.sitampanggarang.com'
}
# cara update sebuah elemen :
print "cara update sebuah elemen : "
print "\n"
print sebuah_list
sebuah_list[5] = 'Kali Linux'
print sebuah_list
print "\n"
print sebuah_tuple
# tuple tidak dapat melakukan operasi perubahan elemen :D
#sebuah_tuple[5] = 100
print sebuah_tuple
print "\n"
print sebuah_dictionary
sebuah_dictionary['email'] = 'wiro.sableng@gmail.com'
print sebuah_dictionary
print "\n\n"
Mudah sekali kan ? Dengan mengakses indeks tertentu pada list dan tuple serta mengakses keys
tetentu pada dictionary, Anda dapat mengubah nilai pada indeks atau key ini dengan nilai yang
baru.
43
<< ___________ 6.3 hasil eksekusi strukdat_3.py >>
Menambahkan Data pada List, Tuple, dan Dictionary
Ketiga struktur data inipun dapat ditambahkan data baru dari data semula. Pada list, digunakan
tanda “+” untuk menambahkan data dari list baru ke list lama. Begitupun dengan tuple, tanda “+”
digunakan untuk menambahkan data dari tuple baru ke tuple lama. sedang pada dictionary
digunakan method update dari dictionary yang ingin ditambahkan data baru. lalu dictionary
semula akan memiliki data yang ditambahkan melalui method ini . Berikut yaitu contoh
menambahkan data baru pada ketiga struktur data ini .
listing : strukdat_4.py
# cara mendefinisikan list
sebuah_list = ['Zorin OS',
'Ubuntu',
'FreeBSD',
'NetBSD',
'OpenBSD',
'Backtrack',
'Fedora',
44
'Slackware']
# cara mendefinisikan tuple
sebuah_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# cara mendefinisikan dictionary
sebuah_dictionary = {'nama':'Wiro Sableng',
'prodi':'ilmu komputer',
'email':'wirosableng@localhost',
'website':'http://www.sitampanggarang.com'
}
# cara menambahkan data baru
print "cara menambahkan data baru
