1.1 Sejarah Python
Bahasa pemrograman Python pertama kali dikembangkan oleh Guido van Rossum
pada tahun 1990 di CWI, Belanda. Python termasuk bahasa pemrograman tingkat tinggi
(high-level language) dan juga merupakan bahasa pemrograman dinamis berorientasi objek
(object-oriented dynamic language). Python tidak hanya sebagai “bahasa lain” untuk dapat
membuat suatu aplikasi, tapi merupakan sebuah bahasa “jenis baru” yang menawarkan :
Berorientasi objek
Struktur pemrograman yang handal
Arsitektur yang dapat dikembangkan (extensible) dan ditanam (embedable) dalam
bahasa lain
Sintaks yang mudah dibaca
Dengan ciri orientasi objeknya, Python dapat digabungkan dengan modul lain yang
ditulis dengan bahasa pemrograman C++. Python sebagai tools yang berdiri sendiri,
sering dipakai untuk system administrator (di Red Hat Linux konfigurasi network bisa
memakai netcfg yang ditulis dengan Python dan berantarmuka grafis), antar-muka
grafis, script internet, dan pemrograman database.
1.2 memakai Python Interpreter Prompt dan Python Compiler
Untuk memakai Python, kita bisa memilih dua cara yang umum dipakai ,
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, pada aplikasi python tinggal membuka program python.
Pada linux coba anda tulis perintah “python” pada terminal Linux anda. Dan jika pengaturan
telah ter-install dengan benar, akan muncul _________ seperti berikut:
Untuk keluar dari mode interpreter prompt, gunakan kombinasi ctrl+d atau ctrl+z kemudian
tekan enter atau menekan tombol X yang ada di sudut kanan atas.
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 . Di dalam linux maupun windows, script Python dapat dibuat sedemikian rupa
sehingga bisa langsung dieksekusi, seperti shell- script memakai command prompt
(cmd), dengan mengarahkan ke direktori file ini seperti _________ berikut ini :
Dari _________ diatas dapat kita lihat direktori yang mengarah ke dalam program Python yang
berada di C:\Python27, dengan script yang akan dieksekusi dengan nama file “bacaseq1.py”.
1.3 Elemen Dasar Python
a) Himpunan Karakter
Semua karakter di Python terdiri dari huruf besar, huruf kecil, angka dan simbol-simbol
lainnya yang terdapat pada keyboard dapat dipakai untuk menandai atau memberi
nama terhadap sebuah data atau object.
6
b) Pengenal
Pengenal (identifier) merupakan suatu nama yang biasa dipakai oleh user (programmer)
untuk menamakan : variabel, konstanta, tipe data, fungsi, label, objek, serta hal-hal lain.
Penamaan ini dapat berupa huruf, angka, maupun garis bawah asalkan bukan kata
kunci (keywords), penamaan di Python merupakan penamaan yang case sensitive,
maksudnya huruf besar dan huruf kecil berbeda.
Contoh :
No_mahasiswa berbeda dengan no_mahasiswa
c) Kata Kunci
Kata kunci (keywords) merupakan pengenal ke sistem Python yang mempunyai arti
khusus bagi interpreter Python. Kegunaan dari kata kunci ini tidak dapat dirubah.
Jangan memakai kata kunci untuk keperluan pribadi user (programmer) yang
diartikan lain selain dari arti yang ditetapkan oleh interpreter Python memakai
huruf kecil.
Tabel dibawah ini mencantumkan kata kunci yang ada di Python :
Tabel 1.1 kata kunci yang terdapat pada python
and elif global or
assert else if pass
break except import print
class exec in raise
continue finally is return
def for lambda try
del from not while
Catatan : Kata kunci diatas tidak boleh dipakai sebagai pengenal (identifier) untuk
suatu variabel.
7
2. Instalasi Python
2.1 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/Open VM
QNX
VxWorks
Psion
Python juga dirancang ulang di Java dan .NET Virtual Machine
2.2 Install Python di Linux
1. Buka terminal pada linux dengan menekan ctrl+alt+t
2. Lalu ketik pada terminal : sudo apt-get install python
3. Tunggu hingga proses download dan install selesai
4. Python siap dipakai
8
Catatan :
Di beberapa sistem operasi kadang sudah tertanam di dalamnya dan langsung bisa dipakai
seperti di Ubuntu dan Fedora, untuk mengeceknya ketik “python” pada terminal anda maka
akan terlihat apakah sudah terinstall atau belum python pada operating sistem anda.
2.3 Install Python di Windows
1. Download python dari http://www.python.org/download
2. Ikuti alur proses instalasi sampai dengan selesai
3. Biasanya hasil instalasi Python disimpan di direktori C:/PythonX.X dimana X.X
yaitu versi dari Python yang dipakai
4. Buka Control Panel → System → Advanced → Environment Variables
5. Klik variabel yang dinamakan PATH di bagian System Variables
6. Edit dan tambahkan ;C\PythonX.X tanpa tanda petik X.X yaitu versi python anda
7. Tekan ok, dan siap dijalankan di cmd
3. Operasi Input, Output dan Assignment
Setelah mempelajari sintaks dasar bahasa Python kita tidak boleh melupakan salah
satu komponen penting dalam sebuah program, yaitu input dan output. Input dan output ini
tidak hanya dari keyboard dan layar saja. Tetapi meliputi semua proses transfer data secara
umum.
3.1 Operasi Input
Proses input bisa berupa proses baca dari keyboard (papan ketik) atau dari file yang terdapat
dalam media penyimpan magnetik, yang kemudian bisa disimpan lagi pada media penyimpan
ini .
Membaca Masukan
Python menyediakan dua fungsi bawaan untuk mengambil masukan, yaitu raw_input() dan
input().
Format dari instruksi raw_input dan input yaitu :
raw_input([prompt]), input([prompt])
Setiap masukan yang diterima oleh fungsi raw_input() dari standard input dianggap sebagai
string. Untuk membuktikan hal ini jalankan interpreter Python dan ketikkan baris berikut,
>>> raw_input("Nama Anda : ")
Nama Anda : Willy Pratama
'Willy Pratama'
>>>_
Coba lagi dengan memberikan masukan berupa bilangan,
>>> raw_input("Bilangan Anda : ")
Bilangan Anda : 17
'17'
>>>_
10
Tampak di sini masukan benar-benar dianggap sebagai string. Perhatikan tanda petik yang
mengapit keluaran interpreter.
Karena input yang diberikan pada fungsi ini dianggap sebagai string maka tidak bisa kita
operasikan dengan operator aritmetika.
Berbeda dengan raw_input(), fungsi input() akan memasukkan bilangan yang dibaca ke
dalam sebuah variable sehingga bisa kita olah dengan operator aritmetika. Coba perhatikan
contoh dibawah ini :
>>> x = input("Bilangan I:")
Bilangan I:12
>>> y = input("Bilangan II:")
Bilangan II:3
>>> print x+y
15
>>> print x*y
36
>>> print x/y
4
>>>_
Membaca Dari File Text
Akhirnya sampailah kita pada pembahasan operasi baca tulis ke file. Kita akan melakukan
beberapa percobaan. Sebelumnya kita siapkan dahulu file teks normal dengan isi yang
ditunjukkan di bawah ini. Ketik memakai notepad dan beri nama dumpfile.txt.
11
ini baris pertama
ke-2
dan ketiga
Buka Python (interpreter) kemudian coba buka file dumpfile.txt tadi dengan python,
>>> file = open(‘dumpfile.txt’,’r’)
>>> print file.read()
>>> file.close()
Fungsi open mempunyai sintaks umum,
open(filename[, mode[, buffering]])
Fungsi open berguna untuk membuka file sesuai dengan operasi yang ingin kita lakukan.
Secara default mode yaitu file dibuka untuk dibaca saja, yaitu mode diisi dengan "r". Mode
yang lain yang bisa kita berikan yaitu "w" dan "a". Berturut-turut berfungsi untuk menulis
dan menambahkan. Untuk sementara parameter buffering kita tinggalkan lebih dahulu. Anda
dapat mendalami lebih lanjut di lain waktu.
Beberapa informasi yang penting sehubungan dengan manipulasi file bisa kita dapatkan
dengan mengetikkan command ‘file’ ditambah parameter yang diperlukn, seperti contoh
berikut ini,
12
>>> file.name #mencetak nama file
'dumpfile.txt'
>>> file.mode #file dibuka dengan mode ini
'r'
>>> file.close #cek apakah file telah ditutup
0
>>> file.fileno() #mencetak file deskriptor yang dipakai
3
>>>_
Pembacaan data dari file tidak hanya bisa dilakukan per karakter tetapi bisa juga dibaca per
baris dengan fungsi readline(), seperti contoh dibawah ini :
file = open('dumpfile.txt', 'r')
print file.readlines()
file close()
jika di eksekusi akan menghasilkan :
ini baris pertama
Terdapat fungsi lain agar membaca seluruh file yang telah dieksekusi dengan memakai
fungsi readlines()
file = open('dumbfile.txt', 'r')
print file.readlines()
file.close()
jika di eksekusi akan menghasilkan :
13
ini baris pertama
ke-2
dan ketiga
3.2 Operasi Output
Mencetak ke Layar
Membahas bagaimana cara kita meminta masukan data tidak bisa terlepas bagaimana kita
akan menampilkan data.. Perintah print akan melayani semua permintaan pencetakan ke layar.
Baik yang sederhana maupun yang terformat. Dengan bantuan beberapa modul penanganan
string, perintah print lebih baik lagi penampilannya. Mari kita mulai mengekplorasi perintah
ini.
Buatlah sebuah file bernama “kali.py” memakai notepad atau notepad++ yang berisi
statement di bawah ini :
def kali(x, y):
return x*y
for x in range(1,11):
for y in range(1,11):
print "%3d " % kali(x,y),
Lakukan kompilasi dan ekseskusi script di atas dengan menjalankannya melalui command
prompt seperti berikut ini :
14
_________ 3.1 Hasil eksekusi kali.py
Modul yang mendukung format pencetakan yaitu modul string. Modul ini berisi fungsi-
fungsi yang ada hubungannya dengan manipulasi string.
Menyimpan Ke File
Sejauh ini kita sudah melakukan eksperimen-eksperimen membaca file. Tentu saja kita juga
ingin bisa menyimpan data yang telah selesai kita olah ke dalam file. Langkah-langkanya
yaitu :
1. Buka file untuk proses tulis,
2. Siapkan data yang akan disimpan,
3. Simpan data,
4. Tutup file.
Sebagai contoh, kita akan menyalin satu baris text dari file yang telah kita buat ke file yang
lain. Perhatikan contoh dibawah ini :
15
>>> asal = open("dumpfile.txt")
>>> tujuan = open("hasil.txt", "w")
>>> satu = asal.readline()
>>> tujuan.write(satu)
>>> asal.close()
>>> tujuan.close()
>>>_
Sekarang Anda bisa melihat apakah file hasil.txt berisi baris pertama dari file dumpfile.txt.
Jika kita ingin menyimpan string berbentuk list, kita bisa memakai fungsi writeline().
Sebagai contoh kita akan menyalin isi file dumpfile.txt ke file salinan.txt.
>>> asal = open("dumpfile.txt")
>>> tujuan = open("salinan.txt", "w")
>>> isi = asal.readlines()
>>> tujuan.writelines(isi)
>>> asal.close()
>>> tujuan.close()
>>>_
16
3.3 Operasi Assignment
Tabel 3.1 Operasi Assignment
Oper
ator
Penjelasan Contoh
=
Mengisikan nilai di sebelah kanan operator
ke nilai di sebelah kiri operator
c = a+b ekivalen dengan nilai a + b = c
+=
Menambahkan operan sebelah kiri
operator dengan operan sebelah kanan
operator kemudian hasilnya diisikan ke
operan sebelah kiri
c += a ekivalen dengan c = c + a
-=
Menambahkan operan sebelah kiri
operator dengan operan sebelah kanan
operator kemudian hasilnya diisikan ke
operan sebelah kiri
c -= a ekivalen dengan c = c - a
*=
Mengalikan operan sebelah kiri operator
dengan operan sebelah kanan operator
kemudian hasilnya diisikan ke operan
sebelah kiri
c *= a ekivalen dengan c = c * a
/=
Membagi operan sebelah kiri operator
dengan operan sebelah kanan operator
kemudian hasilnya diisikan ke operan
sebelah kiri
c /= a ekivalen dengan = c / a
%=
Mengambil sisa bagi dari operan sebelah
kiri operator dengan operan sebelah kanan
operator kemudian hasilnya diisikan ke
operan sebelah kiri
c %= a ekivalen dengan c = c % a
**=
Memangkatkan operan sebelah kiri operator
dengan operan sebelah kanan operator kenudian
hasilnya diisikan ke operan sebelah kiri
c **= a ekivalen dengan c = c ** a
//=
Membagi bulat operan sebelah kiri
operator dengan operan sebelah kanan
operator kemudian hasilnya diisikan ke
operan sebelah kiri
c //= a ekivalen dengan c = c // a
Berikut contoh program operator assignment :
17
a = 21
b = 10
c = 0
c = a + b
print "Line 1 - Value of c is ", c
c += a
print "Line 2 - Value of c is ", c
c *= a
print "Line 3 - Value of c is ", c
c /= a
print "Line 4 - Value of c is ", c
c = 2
c %= a
print "Line 5 - Value of c is ", c
c **= a
print "Line 6 - Value of c is ", c
c //= a
print "Line 7 - Value of c is ", c
Berikut hasil eksekusi program assignment.py :
18
4. Mengenal Tipe Data dan Operator
4.1 Tipe Data di Python
Tipe data yaitu kumpulan nilai yang dapat dikenakan operasi padanya. Kali ini kita
akan sama-sama belajar bahasa pemrograman Python tentang bagaimana cara memakai
tipe data variable. Sama halnya dengan bahasa-bahasa pemrograman yang lain python juga
tentu memiliki tipe-tipe data yang pada umumnya disebut sebagai tipe objek default. Ada
beberapa tipe data antara lain:
1. Boolean
Type data Boolean memiliki 2 nilai, yaitu True dan False. Tipe data ini yaitu sebuah
tipe data fundamental, karna banyak dipakai hampir di semua bahasa pemrograman.
Boolean sangat penting dalam mengevaluasi suatu kondisi dan sering dipakai untuk
menentukan alur program. Berikut yaitu contohnya :
>>> print bool(True)
True
>>> print bool(False)
False
>>> print bool("text")
True
>>> print bool("")
False
>>> print bool(" ")
True
>>> print bool(0)
False
>>> print bool()
False
>>> print bool(3)
True
>>> print bool(None)
False
Pada contoh diatas kita bisa menyimpulkan bahwa jika data yang kita masukan yaitu
0, None, “”, (data kosong) dst, maka akan menghasilkan nilai FALSE, sebaliknya jika
kita isi dengan nilai selain nilai2 tsb maka akan bernilai TRUE.
Selain itu tipe data ini bisa juga dipakai untuk membandingkan beberapa kondisi,
berikut contohnya :
19
>>> a = 3
>>> b = 10
>>> if a < b :
print 'Nilai A lebih kecil dari B'
>>> if a > b :
print 'Nilai A lebih besar dari B'
>>> Nilai A lebih kecil dari B
Dari contoh diatas kita dapat lihat bahwa jika kondisi if bernilai true, maka perintah
dibawahnya akan dieksekusi, dan jika bernilai false maka perintah dibawahnya tidak
akan dieksekusi.
2. Number
Python memiliki 3 jenis tipe data number, yaitu Integer, Float, dan Complex number.
Integer dipakai untuk bilangan bulat. Berikut contoh integer :
>>> keranjang = 10
>>> jumlah_apel = 5
>>> jumlah_keranjang = 10
>>> jumlah_total = jumlah_apel * jumlah_keranjang
>>> print 'Jumlah Apel Yang Ada Di Semua Keranjang = ', jumlah_total
Jumlah Apel Yang Ada Di Semua Keranjang = 50
Float merupakan bilangan real dalam komputasi. Float dipakai untuk bilangan
pecahan ataupun decimal. Berikut contoh float :
>>> jarak_kM = 0.1
>>> waktu_yang_dibutuhkan = 9.87 / 3600
>>> kecepatan = jarak_kM / waktu_yang_dibutuhkan
>>> print "Rata-rata kecepatan berlari yaitu " , kecepatan, " km/jam"
Rata-rata kecepatan berlari yaitu 36.4741641337 km/jam
3. String
Strings yaitu tipe data yang mewakili data tekstual dalam program computer. String
merupakan salah satu tipe data yang penting dalam bahasa pemrograman.
String pada python dapat dibuat dengan memakai tanda satu kutip (‘), dua kutip
(‘’), ataupun tiga kutip (‘’’). Jika memakai tiga kutip, maka string dapat
direnggangkan menjadi beberapa baris tanpa memakai tanda escape (\). Perhatikan
contoh dibawah ini :
20
>>> a = 'String memakai 1 kutip'
>>> b = "String memakai 2 kutip"
>>> c = '''String
memakai
3
kutip'''
>>> print a
String memakai 1 kutip
>>> print b
String memakai 2 kutip
>>> print c
String
memakai
3
kutip
Tanda escape (\) juga dapat dipakai dengan tujuan khusus ketika kita memakai
string, seperti contoh dibawah ini :
>>> print 'Hari ini yaitu hari jum\'at'
Hari ini yaitu hari jum'at
>>> print 'Besok yaitu \thari sabtu'
Besok yaitu hari sabtu
>>> print 'Lusa yaitu hari \nAhad'
Lusa yaitu hari
Ahad
Selain itu tipe data string juga memiliki fungsi-fungsi yang dapat dipakai untuk
melakukan suatu operasi yang kita inginkan. seperti contoh dibawah ini :
>>> A = "Assalamu'alaikum"
>>> len(A)
16
4. List, sebuah data berupa untaian yang menyimpan berbagai tipe data dan isinya bisa
diubah. Lebih lengkapnya akan dibahas di bab 7.
5. Tuple, sebuah data berupa untaian yang menyimpan berbagai tipe data tapi isinya tidak
bisa diubah. Lebih lengkapnya akan dibahas di bab 7.
6. Dictionary, sebuah data berupa untaian yang menyimpan berbagai tipe data berupa
pasangan penunjuk dan nilai. Lebih lengkapnya akan dibahas di bab 7.
21
4.2 Operator
Selain variabel diatas, terdapat juga beberapa operator untuk pemrosesan data
di Python, antara lain sebagai berikut :
1. Aritmatika (Arithmetic Operator)
Kita asumsikan a = 10 dan b = 20
Oper
ator
Penjelasan Contoh
+ Penjumlahan,menambahkan dua buah operan a + b = 30
-
Pengurangan, mengurangkan operan disebelahkiri
operator dengan operan disebelah kanan operator
a - b = -10
* Perkalian, mengalikan operan disebelah kiri dengan
operan di sebelah kanan operator
a * b = 200
/ Pembagian, membagi operan disebelah kiri dengan
operan disebelah kanan operator
a / b = 2
%
Modulus, mendapatkan sisa pembagian dari operan di
sebelah kiri operator ketika dibagi oleh operan di
sebelah kanan
b + a = 0
** Pemangkatan, memangkatkan operan disebelah kiri
operator dengan operan di sebelah kanan operator
a**b = 10
20
// Pembagian bulat, prosesnya sama seperti pembagian.
Hanya saja angka dibelakang koma dihilangkan
9//2 = 4
2. Perbandingan (Comparison Operator)
Untuk contoh dibawah ini kita asumsikan a = 10 dan b = 20
Operat
or
Penjelasan Contoh
==
Memeriksa apakah kedua nilai (operan) yang
dibandingkan sama atau tidak. Jika sama
akan dikembalikan nilai True jika tidak akan
sama dikembalikan nilai False
(a == b) is not true
22
!=
Memeriksa apakah kedua nilai yang
dibandingkan sama atau tidak. Jika tidak
sama akan dikembalikan nilai True jika
sama akan dikembalikan nilai False.
(a != b) is true
<> Fungsinya sama dengan operator != (a <> b) is true
>
Memeriksa apakah nilai di sebelah kiri
operator lebih besar dari nilai di sebelah
kanan operator
(a > b) is not true
<
Memeriksa apakah nilai di sebelah kiri
operator lebih kecil dari nilai di sebelah
kanan operator
(a < b) is true
>=
Memeriksa apakah nilai di sebelah kiri
operator lebih besar dari nilai di sebelah
kanan operator atau memiliki nilai yang
sama
(a >= b) is not true
<
<=
Memeriksa apakah nilai di sebelah kiri
operator lebih kecil dari nilai di sebelah
kanan operator atau memiliki nilai yang
sama
(a <= b) is true
3. Biner (Bitwise Operator)
Bitwise operator bekerja pada bit per bit operasi. Untuk contoh dibawah ini kita
asumsikan jika a = 60 dan b = 13. Sekarang format binary akan mengikuti seperti
dibawah ini :
a = 0011 1100
b = 0000 1101
----------------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
23
Operat
or
Penjelasan Contoh
&
Operator biner AND, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan mempunyai angka biner 1 di setiap
bit. Jika keduanya bernilai 1 maka bit hasil
operasi akan bernilai 1
(a & b) = 12 dengan binary 0000
1100
|
Operator biner OR, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan mempunyai angka biner 1 di setiap
bit. Jika salah satunya bernilai 1 maka bit
hasil operasi akan bernilai 1
(a | b) = 61 dengan binary 0011
1101
^
Operator biner XOR, memeriksa apakah
operan di sebelah kiri dan operan sebelah
kanan mempunyai angka biner 1 di setiap
bit. Jika keduanya bernilai 1 maka bit hasil
operasi akan bernilai 0
(a ^ b) = 49 dengan binary 0011
0001
~
Operator biner Negative, membalik nilai
bit. Misal dari 1 menjadi 0, dari 0 menjadi
1
(~a ) = -61 dengan binary 1100
0011
<< Operator penggeser biner ke kiri, deret bit
akan digeser ke kiri sebanyak n kali
a << 2 = 240 dengan binary 1111
0000
>>
Operator penggeser biner ke kanan, deret
bit akan digeser ke kanan sebanyak satu
kali
a >> 2 = 15 dengan binary 0000
1111
4. Logika (Logical Operator)
Untuk contoh dibawah ini kita asumsikan a = 10 dan b = 20
Operat
or
Penjelasan Contoh
and
Jika kedua operan bernilai True, maka
kondisi akan bernilai True. Selain kondisi
tadi maka akan bernilai False
(a and b) is true.
or
Jika salah satu atau kedua operan bernilai
True maka kondisi akan bernilai True. Jika
keduanya False maka kondisi akan bernilai
False
(a or b) is true.
not Membalikkan nilai kebeneran pada operan not(a and b) is false.
24
5. Keanggotaan (Membership Operator)
Operat
or
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
6. Identitas (Identity Operator)
Operat
or
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
25
5. Perintah Kondisional
5.1 Satu Kondisi (if)
Sama dengan bahasa pemrograman lainnya, Python juga memakai pernyataan
if. Pernyatan if ini berisi sebuah ekspresi logika memakai data yang telah
dibandingkan, dan menghasilkan sebuah keputusan yang dibuat berdasarkan
perbandingan ini . Aturan penulisan untuk pernyataan if sebagai berikut:
if kondisi:
pernyataan_benar
Semua pernyataan dituliskan dengan indentasi (alinea) setelah bagian kondisi bersyarat.
Python memakai indentasi untuk mengelompokkan satu atau beberapa pernyataan.
Pada pernyataan if, syarat kondisi akan dijalankan pertama kali. Jika kondisi ini
benar, maka pernyataan pada blok pernyataan_benar akan dijalankan. Berikut contohnya,
>>> x = 10
>>> if x>0:
... print 'Hello'
Pada contoh di atas, pernyataan if akan menampilkan teks ‘Hello’ jika nilai variabel x
lebih besar dari 0.
5.2 Dua Kondisi (if - else)
Pernyataan else ini biasanya digabungkan dengan pernyataan if di atas. Pernyataan
else dapat berisi satu atau beberapa blok pernyataan (kode) yang mana akan dijalankan
jika kondisi ini salah (atau tidak sesuai dengan syarat yang berlaku). Berikut syntax
untuk if - else,
if kondisi:
pernyataan_benar
else:
pernyataan_salah
Sebagai contoh, untuk mengetahui apakah suatu bilangan merupakan genap atau ganjil,
kita bisa memakai kode seperti berikut ini,
26
>>> if (bilangan%2 == 0):
print 'genap'
else:
print 'ganjil'
Pada contoh di atas, ‘genap‘ akan ditampilkan jika sisa dari pembagian bilangan dengan 2
sama dengan 0. Dan sebaliknya jika tidak sama dengan 0, maka akan ditampilkan
‘ganjil‘.
5.3 Lebih dari dua kondisi (if - elif)
Pernyataan elif memperbolehkan kita untuk menguji beberapa kondisi bersyarat
untuk tiap-tiap nilai dan menjalankan kode pernyataan yang sesuai dengan syarat yang
diberlakukan. Berikut syntax dari pernyataan elif :
if kondisi_1:
pernyataan_1_benar
elif kondisi_2:
pernyataan_2_benar
:
:
elif kondisi_N:
pernyataan_N_benar
else:
pernyataan_tidak_sesuai_syarat_di_atas
Contoh berikut ini memakai pernyataan elif untuk menampilkan apakah huruf yang
kita input merupakan huruf vokal. Jika tidak, maka sebuah pesan lain akan ditampilkan.
Perhatikan contoh dibawah ini :
27
huruf = raw_input("Masukkan sebuah huruf: ")
if (huruf == 'a'):
print "Ini yaitu huruf vokal - a -"
elif (huruf == 'e'):
print "Ini yaitu huruf vokal - e -"
elif (huruf == 'i'):
print "Ini yaitu huruf vokal - i -"
elif (huruf == 'o'):
print "Ini yaitu huruf vokal - o -"
elif (huruf == 'u'):
print "Ini yaitu huruf vokal - u -"
else:
print "Ini bukan huruf vokal"
Pada contoh kode di atas, ketika seorang user mengetikkan sebuah huruf maka huruf
ini akan diproses apakah huruf vokal atau bukan. Jika user mengetikkan huruf ‘a‘,
maka sesuai syarat yang berlaku maka akan ditampilkan ‘Ini yaitu huruf vokal – a -‘.
Jika kondisinya tidak sesuai, misalkan user mengetikkan huruf ‘u‘, maka akan dilanjutkan
kondisi bersyarat elif yang berikutnya sampai ditemukan kondisi yang sesuai dan akan
ditampilkan hasilnya ‘Ini yaitu huruf vokal – u -‘. Jika user mengetikkan huruf ‘x‘,
maka tidak ada syarat yang sesuai dengan kondisi bersyarat if dan elif. Dan pernyataan
else yang dijalankan yaitu ‘Ini bukan huruf vokal‘.
28
5.4 Kondisi : if bersarang (nested if)
Pada kondisi tertentu, kita dapat memakai pernyataan if bersarang. Maksudnya
yaitu kita dapat menuliskan pernyataan if - else di dalam pernyataan if - else. Berikut
contoh penggunaan if bersarang pada program untuk menentukan apakah huruf yang
dimasukkan user yaitu huruf besar atau huruf kecil, simpah file dibawah ini dengan
nama tes.py
huruf = raw_input("Masukkan sebuah huruf: ")
if (huruf >= 'A'):
if (huruf <= 'Z'):
print "Ini yaitu Huruf Besar"
elif (huruf >= 'a'):
if (huruf <= 'z'):
print "Ini yaitu huruf kecil"
else:
print "Huruf > z"
else:
print "Huruf > z tapi < a"
else:
print "Huruf < A"
Berikut hasilnya jika telah di eksekusi :
29
6. Menyusun Pengulangan
6.1 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.
6.2 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
30
dilakukan. Misal ketika pengulangan pertama, nilai 'i' akan berisi 1, ketika pengulangan
kedua, nilai 'i' akan berisi 2, begitu seterusnya sampai elemen terakhir. Jika kode diatas
dieksekusi akan menampilkan hasil seperti pada _________ dibawah ini :
Selain memakai list yang berisi angka, List yang berisi string dapat dipakai
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 ketika 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
31
# 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 :
_________ 6.2 hasil eksekusi pengulangan_2.py
Sekarang Anda coba contoh terakhir dengan memakai string. String pada dasarnya
merupakan list karakter. Misal terdapat string seperti berikut “abcde”. Jika string ini
dipakai pada pengulangan for, maka akan terjadi pengulangan sebanyak lima kali.
Coba lihat kode dibawah ini :
listing : kode pengulangan_3.py
# pengulangan_3.py sebanyak 5 kali
for i in "abcde":
print i, " yaitu alfabet"
6.3 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
33
# 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
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 :
6.4 memakai Function “range” pada Pengulangan “for”
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 :
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"
else:
print "*",
print ""
Kode diatas jika dieksekusi akan tampil seperti berikut :
36
Kemudian 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"
37
Kode diatas jika dieksekusi akan tampil seperti berikut :
_________ 6.7 hasil eksekusi pengulangan_7.py
38
6.5 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 jika variabel “angka”
masih dibawah 10.
Secara umum pengulangan while memiliki aturan penulisan seperti berikut :
while (condition):
statement
listing : kode pengulangan_8.py
angka = 0
while (angka < 10):
print "Aku sudah berjalan sebanyak ",
angka, " langkah " angka += 1
39
Kode diatas jika dieksekusi akan tampil seperti pada _________ berikut ini :
_________ 6.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
Kode diatas jika dieksekusi akan tampil seperti berikut :
40
_________ 6.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 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 tampil seperti berikut :
41
_________ 6.10 hasil eksekusi pengulangan_10.py
42
7. Mengenal Data Struktur Python Tingkat Lanjut
7.1 Mengenal List, Dictionary dan Tuple
Di Python sendiri, terdapat beberapa tipe struktur data yang dapat dipakai oleh
penggunanya. Tapi tiga tipe data yang umum dipakai , 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.
Berikut perbedaan antara list, tuple, dan dictionary :
Tabel 7.1 Perbedaan List, Dictionary, dan Tuple
List Tuple Dictionary
Diawali dan diakhiri
dengan tanda
'[' dan ']' '(' dan ')' {' dan '}'
Karakteristik
Setiap anggota list tidak
harus sama tipe datanya
Tidak bisa dimodifikasi
(immutable sequence)
Terdiri dari sepasang data
(key dan value)
Tipe data string, number, list, objek string, number, list, objek string, number, list, objek
Agar lebih paham mari Anda coba mendefinisikan list, tuple, dan dictionary kedalam sebuah
variabel.
listing : strukdat_1.py
43
# 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'
}
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.
7.2 Cara Akses List, Tuple, dan Dictionary
Setelah 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 memakai indeks, slicing indeks, dan mengakses elemen
lewat pengulangan.
Untuk akses elemen lewat indeks elemen Anda panggil nama list kemudian disusul
indeks elemen yang Anda inginkan dengan diapit tanda baca “[“ dan “]”, misal ada
sebuah list dengan nama daftar_barang kemudian ingin mengakses indeks ke – 10,
maka pemanggilan indeks pada list ini yaitu daftar_barang[9]. Kenapa di
pemanggilan indeks nya dari 9 ? karena 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 kemudian tentukan indeks awal slicing dan batas akhirnya.
Kemudian indeks ini dipisahkan dengan tanda “:” dan diapit oleh tanda “[“ dan “]”.
Misal ada sebuah list daftar_barang kemudian 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 dipakai 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
45
# 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'
}
# 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],
46
jika Anda jalankan kode program diatas maka akan muncul output seperti pada
_________ berikut
ini :
7.3 Mengubah Isi List, Tuple, dan Dictionary
Ada waktunya Anda ingin mengubah salah satu elemen setelah 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, kemudian masukkan
nilai baru kedalam indeks ini . Lebih jelasnya coba lihat contoh berikut :
listing : strukdat_3.py
47
# 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 = {‘namaSisOp’ : ‘Ubuntu,
‘pembuat’ : ‘OpenSource’,
‘tahun’ : ‘
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
#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.
7.4 Menambahkan Data pada List, Tuple, dan Dictionary
Ketiga struktur data inipun dapat ditambahkan data baru dari data semula. Pada list,
dipakai tanda “+” untuk menambahkan data dari list baru ke list lama. Begitupun dengan
tuple, tanda “+” dipakai untuk menambahkan data dari tuple baru ke tuple lama.
sedang pada dictionary dipakai method update dari dictionary yang ingin ditambahkan
data baru. Kemudian 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
49
# 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'
}
# cara menambahkan data baru
print "cara menambahkan data baru : "
print "\n"
print sebuah_list
list_baru = sebuah_list + ['PC Linux OS', 'Blankon', 'IGOS', 'OpenSUSE']
print list_baru
print "\n"
print sebuah_tuple
tuple_baru = sebuah_tuple + (100, 200, 300)
print tuple_baru
print "\n"
print sebuah_dictionary
dictionary_baru = {'telp':'022-12345678', 'alamat':'Bandung, Jabar'}
sebuah_dictionary.update(dictionary_baru)
print sebuah_dictionary
print "\n\n"
50
Kode diatas jika dieksekusi akan muncul tampilan seperti berikut ini :
7.5 Menghapus Isi List, Tuple, dan Dictionary
Tidak lengkap rasanya bila dalam sebuah informasi ada yang tidak dapat dihapus.
Terkadang ada sebuah data yang tidak Anda butuhkan dan ingin Anda hilangkan dari
kumpulan data yang dimiliki. Misal dalam sebuah list Anda ingin menghapus salah satu
elemen. Atau di dictionary, Anda ingin menghilangkan salah satu key dari
dictionary.ini . Di python sendiri penghapusan salah satu elemen dapat dilakukan di
list dan dictionary. sedang tuple tidak mendukung penghapusan elemen. Jika kita
lakukan penghapusan pada salah satu elemen di tuple, maka akan muncul pesan error :
“TypeError: 'tuple' object doesn't support item deletion”. Pada list Anda tinggal
menunjuk salah satu elemennya dengan sebuah angka dari 0 sampai panjang list ini
dikurangi satu dengan diapit tanda “[“ dan “]”. sedang pada dictionary Anda tunjuk
salah satu key yang akan dihapus dari dictionary. Berikut yaitu contoh penghapusan
salah satu elemen pada list dan dictionary.
listing : strukdat_5.py
51
# 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'
}
# cara delete sebuah elemen :
print "cara delete sebuah elemen : "
print "\n"
print sebuah_list
del sebuah_list[0]
print sebuah_list
print "\n"
print sebuah_tuple
# tuple tidak mendukung proses penghapusan elemen :D.(coba hilangkan tanda '#'
disampingnya)
#del sebuah_tuple[8]
print sebuah_tuple
print "\n"
print sebuah_dictionary
del sebuah_dictionary['website']
print sebuah_dictionary
print "\n\n"
7.6 Menghapus List, Tuple, dan Dictionary
Pada contoh sebelumnya Anda hanya menghapus salah satu elemen. Lalu
bagaimanakah jika ingin menghapus keseluruhan struktur data sehingga struktur data
ini terhapus dari memory seluruhnya ?. Di Python dengan memakai perintah
del pada sebuah struktur data maka struktur data ini akan dihapus sepenuhnya dari
memory. Hal ini berlaku juga bagi variabel dan objek yang didefinisikan oleh
programmer. Dengan hilangnya dari memory maka struktur data yang telah dihapus tidak
dapat dipakai lagi oleh program yang Anda bangun.
list : strukdat_6.py
53
# 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'
}
# cara update sebuah elemen :
print "cara delete sebuah elemen : "
print "\n"
print sebuah_list
del sebuah_list
#print sebuah_list
print "\n"
print sebuah_tuple
del sebuah_tuple
#print sebuah_tuple
print "\n"
print sebuah_dictionary
del sebuah_dictionary
#print sebuah_dictionary
print "\n\n"
Cobalah hapus tanda “#” pada baris perintah print di bawah perintah del. Cobalah satu
persatu dan amatilah apa yang terjadi. Jika kita coba pada print sebuah_list yang berada
dibawah del sebuah_list. Maka akan muncul pesan error : “NameError : name
'sebuah_list' is not defined”
7.7 memakai Built-in Function pada List, Tuple, dan Dictionary
Apakah fitur – fitur manipulasi list, tuple, dan dictionary hanya terbatas pada hapus,
tambah dan ubah ?. Python menyediakan beberapa fitur dasar lainnya yang dapat
dipakai untuk proses mencari nilai maksimum dan minimum, menghitung panjang,
membandingkan dua buah struktur data yang sejenis, bahkan mengubah struktur data dari
list ke tuple atau sebaliknya.
Untuk mencari nilai maksimum pada list, tuple, atau dictionary dipakai function
max(), sedang untuk mencari nilai minimum dipakai function min(). Untuk
perbandingan dua buah struktur data sejenis, misal list dengan list, dipakai lah function
cmp(). Function cmp() ini akan menghasilkan tiga nilai yaitu -1 jika list pertama kurang
dari list kedua, 0 jika kedua list sama, dan 1 jika list pertama lebih besar dari list kedua.
Kemudian untuk mencari jumlah elemen yang berada pada struktur data ini
dipakai function len() . Dan terdapat juga untuk konversi tipe struktur data. Tapi fitur
ini hanya dapat dipakai pada list dan tuple. Dictionary tidak mendukung proses
konversi. Jadi hanya pengubahan dari list ke tuple dan sebaliknya. Untuk pengubahan
dari list ke tuple dipakai function tuple() sedang untuk pengubahan dari tuple ke
list dipakai function list().
Agar lebih paham cobalah sedikit source code tentang penggunaan built-in function
yang dipakai untuk manipulasi list, tuple, dan dictionary.
listing : strukdat_7.py
55
# 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'
}
#menambahkan elemen baru
print "menambahkan elemen baru : \n"
print sebuah_list
list_baru = sebuah_list + ['PC Linux OS', 'Blankon', 'IGOS', 'OpenSUSE']
print list_baru
print "\n"
print sebuah_tuple
tuple_baru = sebuah_tuple
print tuple_baru
print "\n"
print sebuah_dictionary
dictionary_baru = {'telp':'022-12345678', 'alamat':'Bandung, Jabar'}
print sebuah_dictionary
print "\n\n"
56
# membandingkan yang lama dengan yang baru
print "membandingkan yang lama dengan yang baru : \n"
print "sebuah_list banding list_baru : ", cmp(sebuah_list, list_baru)
print "sebuah_tuple banding tuple_baru : ", cmp(sebuah_tuple, tuple_baru)
print "sebuah_dictionary banding dictionary_baru : ", cmp(sebuah_dictionary, dictionary_baru)
print "\n\n"
# mengetahui panjang list, tuple, dan dictionary
print "mengetahui panjang list, tuple, dan dictionary : \n"
print "panjang sebuah_list : ", len(sebuah_list)
print "panjang sebuah_tuple : ", len(sebuah_tuple)
print "panjang sebuah_dictionary : ", len(sebuah_dictionary)
print "\n\n"
# mengubah list, tuple, dictionary menjadi string
print "mengubah list, tuple, dictionary menjadi string : \n"
print str(sebuah_list), ' memiliki panjang karakter : ', len(str(sebuah_list))
print str(sebuah_tuple), ' memiliki panjang karakter : ', len(str(sebuah_tuple))
print str(sebuah_dictionary), ' memiliki panjang karakter : ', len(str(sebuah_dictionary))
# mencari nilai max dan min
print "mencari nilai max dan min : \n"
print "coba periksa sebuah_list :"
print "max : ", max(sebuah_list)
print "min : ", min(sebuah_list)
print "\n"
print "coba periksa sebuah_tuple :"
print "max : ", max(sebuah_tuple)
print "min : ", min(sebuah_tuple)
print "\n"
print "coba periksa sebuah_dictionary :"
print "max : ", max(sebuah_dictionary)
print "min : ", min(sebuah_dictionary)
print "\n"
# mengubah list ke tuple dan sebaliknya
57
print "mengubah list ke tuple : "
print "semula : ", sebuah_list
print "menjadi : ", tuple(sebuah_list)
print "\n"
print "mengubah tuple ke list : "
print "semula : ", sebuah_tuple
print "menjadi : ", list(sebuah_tuple)
Dengan adanya built-in function ini pekerjaan Anda sudah dimudahkan oleh Python dalam
memanipulasi struktur data yang telah Anda definisikan sebelumnya. Berikut yaitu salah satu
contoh hasil operasi dengan built function dari kode diatas
