Modul Pemrograman Python Dasar
Disusun Oleh : WILLY PRATAMA 0102509025
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AL AZHAR INDONESIA 2014
Universitas Al Azhar Indonesia
Teknik Informatika
Kata Pengantar Puji dan syukur kita panjatkan atas kehadirat- Nya karena dengan rahmatnya modul ini dapat disusun hingga versi pertama ini. Python merupakan salah satu bahasa pemrograman dan penunjang pada perkembangan FOSS dan Linux. Tidak hanya kedua itu di perkembangan teknologi lainnya Python hadir sebagai salah satu teknologi mumpuni yang patut kita pelajari. Biasanya Python sudah tertanam di distro – distro tertentu seperti Ubuntu, Fedora, dan Slackware. Python sendiri merupakan bahasa pemrograman yang mendukung paradigma object oriented programming ataupun scripting. Python hadir di ranah sistem operasi, virtualisasi, jaringan komputer, grafika komputer, kecerdasan buatan, teknologi web, game, dan lain sebagainya. Modul ini ditujukan bagi programmer pemula atau yang sudah ahli tapi ingin mencoba bahasa pemrograman Python. Modul ini juga merupakan penghantar untuk maju ke teknologi Python lainnya. Kritik dan saran kami tunggu demi kemajuan modul ini. Semoga Anda mendapatkan manfaat dalam mempelajari bahasa pemrograman Python dan ikut memajukan teknologi informasi dan komunikasi di Indonesia.
Jakarta, 1 Mei 2014 Willy Pratama
Modul Pemrograman Python
1
Universitas Al Azhar Indonesia
Teknik Informatika
DAFTAR ISI Kata Pengantar ..................................................................................................................................... 1 1. Pengenalan Python ........................................................................................................................... 4 1.1 Sejarah Python ............................................................................................................................. 4 1.2 Menggunakan Python Interpreter Prompt dan Python Compiler ................................................. 4 1.3 Elemen Dasar Python.................................................................................................................... 5 a) Himpunan Karakter ................................................................................................................... 5 b) Pengenal .................................................................................................................................... 6 c) Kata Kunci ................................................................................................................................ 6 2. Instalasi Python ................................................................................................................................ 7 2.1 Lingkungan Python ...................................................................................................................... 7 2.2 Install Python di Linux ................................................................................................................. 7 2.3 Install Python di Windows ........................................................................................................... 8 3. Operasi Input, Output dan Assignment ............................................................................................ 9 3.1 Operasi Input................................................................................................................................. 9 Membaca Masukan ...................................................................................................................... 9 Membaca Dari File Text ............................................................................................................ 10 3.2 Operasi Output ............................................................................................................................ 13 Mencetak ke Layar ..................................................................................................................... 13 Menyimpan Ke File ................................................................................................................... 14 3.3 Operasi Assignment .................................................................................................................... 16 4. Mengenal Tipe Data dan Operator ................................................................................................. 18 4.1 Tipe Data di Python .................................................................................................................... 18 4.2 Operator ...................................................................................................................................... 21 5. Perintah Kondisional ...................................................................................................................... 25 5.1 Satu Kondisi (if).......................................................................................................................... 25 5.2 Dua Kondisi (if - else) ................................................................................................................ 25 5.3 Lebih dari dua kondisi (if - elif).................................................................................................. 26 5.4 Kondisi : if bersarang (nested if) ................................................................................................ 28 6. Menyusun Pengulangan ................................................................................................................. 29 6.1 Mengenal Pengulangan “for” dan “while” ................................................................................. 29 6.2 Menyusun Pengulangan dengan “for” ........................................................................................ 29 Modul Pemrograman Python
2
Universitas Al Azhar Indonesia
Teknik Informatika
6.3 Memahami Function “range”...................................................................................................... 32 6.4 Menggunakan Function “range” pada Pengulangan “for” ......................................................... 34 6.5 Menyusun Pengulangan dengan “while” .................................................................................... 38 7. Mengenal Data Struktur Python Tingkat Lanjut ............................................................................ 42 7.1 Mengenal List, Dictionary dan Tuple ......................................................................................... 42 7.2 Cara Akses List, Tuple, dan Dictionary ...................................................................................... 43 7.3 Mengubah Isi List, Tuple, dan Dictionary .................................................................................. 46 7.4 Menambahkan Data pada List, Tuple, dan Dictionary ............................................................... 48 7.5 Menghapus Isi List, Tuple, dan Dictionary ................................................................................ 50 7.6 Menghapus List, Tuple, dan Dictionary ..................................................................................... 52 7.7 Menggunakan Built-in Function pada List, Tuple, dan Dictionary ............................................ 54 Daftar Pustaka .................................................................................................................................... 59
Modul Pemrograman Python
3
Universitas Al Azhar Indonesia
Teknik Informatika
1. Pengenalan Python 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 menggunakan netcfg yang ditulis dengan Python dan berantarmuka grafis), antar-muka grafis, script internet, dan pemrograman database.
1.2 Menggunakan Python Interpreter Prompt dan Python Compiler Untuk menggunakan Python, kita bisa memilih dua cara yang umum digunakan, yaitu lewat Python Interpreter Prompt dan mengeksekusi file Python dari command line . Anda bisa menggunakan interpreter prompt untuk sekedar menulis program kecil, atau menguji coba modul – modul yang dimiliki Python. Untuk menggunakannya 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 gambar seperti berikut:
Modul Pemrograman Python
4
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 1.1 Python Interpreter Prompt
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 menggunakan Python tanpa melalui interpreter prompt, Anda bisa menggunakan 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
menggunakan command prompt
(cmd), dengan mengarahkan ke direktori file tersebut seperti gambar berikut ini :
Gambar 1.2 Executable Python Script pada windows
Dari gambar 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 digunakan untuk menandai atau memberi nama terhadap sebuah data atau object.
Modul Pemrograman Python
5
Universitas Al Azhar Indonesia
Teknik Informatika
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 tersebut 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 menggunakan kata kunci untuk keperluan pribadi user (programmer) yang diartikan lain selain dari arti yang ditetapkan oleh interpreter Python menggunakan 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 digunakan sebagai pengenal (identifier) untuk suatu variabel. Modul Pemrograman Python
6
Universitas Al Azhar Indonesia
Teknik Informatika
2. Instalasi Python 2.1 Lingkungan Python Dari
http://www.tutorialspoint.com/python/python_environment.htm,
terdapat
beberapa lingkungan yang dapat dihuni Python. Berikut adalah 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 digunakan
Modul Pemrograman Python
7
Universitas Al Azhar Indonesia
Teknik Informatika
Catatan : Di beberapa sistem operasi kadang sudah tertanam di dalamnya dan langsung bisa digunakan 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 adalah versi dari Python yang digunakan
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 adalah versi python anda
7.
Tekan ok, dan siap dijalankan di cmd
Gambar 2.1 Konfigurasi pada path
Modul Pemrograman Python
8
Universitas Al Azhar Indonesia
Teknik Informatika
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 tersebut.
Membaca Masukan Python menyediakan dua fungsi bawaan untuk mengambil masukan, yaitu raw_input() dan input(). Format dari instruksi raw_input dan input adalah : 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' >>>_
Modul Pemrograman Python
9
Universitas Al Azhar Indonesia
Teknik Informatika
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 menggunakan notepad dan beri nama dumpfile.txt.
Modul Pemrograman Python
10
Universitas Al Azhar Indonesia
Teknik Informatika
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 adalah file dibuka untuk dibaca saja, yaitu mode diisi dengan "r". Mode yang lain yang bisa kita berikan adalah "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,
Modul Pemrograman Python
11
Universitas Al Azhar Indonesia
Teknik Informatika
>>> 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()
Apabila di eksekusi akan menghasilkan : ini baris pertama
Terdapat fungsi lain agar membaca seluruh file yang telah dieksekusi dengan menggunakan fungsi readlines() file = open('dumbfile.txt', 'r') print file.readlines() file.close()
Apabila di eksekusi akan menghasilkan :
Modul Pemrograman Python
12
Universitas Al Azhar Indonesia
Teknik Informatika
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” menggunakan 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), print
Lakukan kompilasi dan ekseskusi script di atas dengan menjalankannya melalui command prompt seperti berikut ini :
Modul Pemrograman Python
13
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 3.1 Hasil eksekusi kali.py
Modul yang mendukung format pencetakan adalah modul string. Modul ini berisi fungsifungsi 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 adalah : 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 :
Modul Pemrograman Python
14
Universitas Al Azhar Indonesia
Teknik Informatika
>>> 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 menggunakan 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() >>>_
Modul Pemrograman Python
15
Universitas Al Azhar Indonesia
Teknik Informatika
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 :
Modul Pemrograman Python
16
Universitas Al Azhar Indonesia
Teknik Informatika
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 :
Gambar 3.2 Hasil eksekusi assignment.py
Modul Pemrograman Python
17
Universitas Al Azhar Indonesia
Teknik Informatika
4. Mengenal Tipe Data dan Operator 4.1 Tipe Data di Python Tipe data adalah kumpulan nilai yang dapat dikenakan operasi padanya. Kali ini kita akan sama-sama belajar bahasa pemrograman Python tentang bagaimana cara menggunakan 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 adalah sebuah tipe data fundamental, karna banyak digunakan hampir di semua bahasa pemrograman. Boolean sangat penting dalam mengevaluasi suatu kondisi dan sering digunakan untuk menentukan alur program. Berikut adalah contohnya : >>> print True >>> print False >>> print True >>> print False >>> print True >>> print False >>> print False >>> print True >>> print False
bool(True) bool(False) bool("text") bool("") bool(" ") bool(0) bool() bool(3) bool(None)
Pada contoh diatas kita bisa menyimpulkan bahwa jika data yang kita masukan adalah 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 digunakan untuk membandingkan beberapa kondisi, berikut contohnya :
Modul Pemrograman Python
18
Universitas Al Azhar Indonesia
Teknik Informatika
>>> 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 digunakan 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 digunakan 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 adalah " , kecepatan, " km/jam" Rata-rata kecepatan berlari adalah 36.4741641337 km/jam
3. String Strings adalah 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 menggunakan tanda satu kutip (‘), dua kutip (‘’), ataupun tiga kutip (‘’’). Jika menggunakan tiga kutip, maka string dapat direnggangkan menjadi beberapa baris tanpa menggunakan tanda escape (\). Perhatikan contoh dibawah ini :
Modul Pemrograman Python
19
Universitas Al Azhar Indonesia
Teknik Informatika
>>> a = 'String menggunakan 1 kutip' >>> b = "String menggunakan 2 kutip" >>> c = '''String menggunakan 3 kutip''' >>> print a String menggunakan 1 kutip >>> print b String menggunakan 2 kutip >>> print c String menggunakan 3 kutip
Tanda escape (\) juga dapat digunakan dengan tujuan khusus ketika kita menggunakan string, seperti contoh dibawah ini : >>> print 'Hari ini adalah hari jum\'at' Hari ini adalah hari jum'at >>> print 'Besok adalah\thari sabtu' Besok adalah hari sabtu >>> print 'Lusa adalah hari \nAhad' Lusa adalah hari Ahad
Selain itu tipe data string juga memiliki fungsi-fungsi yang dapat digunakan 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.
Modul Pemrograman Python
20
Universitas Al Azhar Indonesia
Teknik Informatika
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
Penjelasan
ator
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 = 1020
//
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
Penjelasan
or
Contoh
Memeriksa apakah kedua nilai (operan) yang ==
dibandingkan sama atau tidak. Jika sama akan dikembalikan nilai True jika tidak akan
(a == b) is not true
sama dikembalikan nilai False
Modul Pemrograman Python
21
Universitas Al Azhar Indonesia
Teknik Informatika
Memeriksa apakah kedua nilai yang !=
dibandingkan sama atau tidak. Jika tidak sama akan dikembalikan nilai True jika
(a != b) is true
sama akan dikembalikan nilai False. <>
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
(a >= b) is not true
sama Memeriksa apakah nilai di sebelah kiri
kanan operator atau memiliki nilai yang
(a <= b) is true
sama
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
Modul Pemrograman Python
22
Universitas Al Azhar Indonesia
Operat
Teknik Informatika
Penjelasan
or
&
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
|
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
^
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
~
Operator biner Negative, membalik nilai bit. Misal dari 1 menjadi 0, dari 0 menjadi 1
<<
Operator penggeser biner ke kiri, deret bit akan digeser ke kiri sebanyak n kali
>>
Operator penggeser biner ke kanan, deret bit akan digeser ke kanan sebanyak satu kali
Contoh
(a & b) = 12 dengan binary 0000 1100
(a | b) = 61 dengan binary 0011 1101
(a ^ b) = 49 dengan binary 0011 0001
(~a ) = -61 dengan binary 1100 0011 a << 2 = 240 dengan binary 1111 0000 a >> 2 = 15 dengan binary 0000 1111
4. Logika (Logical Operator) Untuk contoh dibawah ini kita asumsikan a = 10 dan b = 20 Operat
Penjelasan
or and
or not
Jika kedua operan bernilai True, maka kondisi akan bernilai True. Selain kondisi tadi maka akan bernilai False Jika salah satu atau kedua operan bernilai True maka kondisi akan bernilai True. Jika keduanya False maka kondisi akan bernilai False Membalikkan nilai kebeneran pada operan
Modul Pemrograman Python
Contoh
(a and b) is true. (a or b) is true.
not(a and b) is false.
23
Universitas Al Azhar Indonesia
Teknik Informatika
5. Keanggotaan (Membership Operator) Operat
Penjelasan
or
in
Memeriksa apakah nilai yang dicari berada pada list atau struktur data python lainnya. Jika nilai tersebut ada maka kondisi akan bernilai True
not in
Memeriksa apakah nilai yang dicari tidak ada pada list atau struktur data python lainnya. Jika nilai tersebut tidak ada maka kondisi akan bernilai True
Contoh
sebuah_list = [1, 2, 3,4 ,5] print 5 in sebuah_list
sebuah_list = [1, 2, 3,4 ,5] print 10 not in sebuah_list
6. Identitas (Identity Operator) Operat
Penjelasan
or
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
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
Modul Pemrograman Python
contoh
a, b = 10, 10 # hasil akan True print a is b
a, b = 10, 5 # hasil akan True print a is not b
24
Universitas Al Azhar Indonesia
Teknik Informatika
5. Perintah Kondisional 5.1 Satu Kondisi (if) Sama dengan bahasa pemrograman lainnya, Python juga menggunakan pernyataan if. Pernyatan if ini berisi sebuah ekspresi logika menggunakan data yang telah dibandingkan,
dan
menghasilkan
sebuah
keputusan
yang
dibuat
berdasarkan
perbandingan tersebut. Aturan penulisan untuk pernyataan if sebagai berikut: if kondisi: pernyataan_benar
Semua pernyataan dituliskan dengan indentasi (alinea) setelah bagian kondisi bersyarat. Python menggunakan indentasi untuk mengelompokkan satu atau beberapa pernyataan. Pada pernyataan if, syarat kondisi akan dijalankan pertama kali. Jika kondisi tersebut 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 tersebut 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 menggunakan kode seperti berikut ini, Modul Pemrograman Python
25
Universitas Al Azhar Indonesia
Teknik Informatika
>>> 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 menggunakan pernyataan elif untuk menampilkan apakah huruf yang kita input merupakan huruf vokal. Jika tidak, maka sebuah pesan lain akan ditampilkan. Perhatikan contoh dibawah ini :
Modul Pemrograman Python
26
Universitas Al Azhar Indonesia
Teknik Informatika
huruf = raw_input("Masukkan sebuah huruf: ") if (huruf == 'a'): print "Ini adalah huruf vokal - a -" elif (huruf == 'e'): print "Ini adalah huruf vokal - e -" elif (huruf == 'i'): print "Ini adalah huruf vokal - i -" elif (huruf == 'o'): print "Ini adalah huruf vokal - o -" elif (huruf == 'u'): print "Ini adalah huruf vokal - u -" else: print "Ini bukan huruf vokal"
Pada contoh kode di atas, ketika seorang user mengetikkan sebuah huruf maka huruf tersebut akan diproses apakah huruf vokal atau bukan. Jika user mengetikkan huruf ‘a‘, maka sesuai syarat yang berlaku maka akan ditampilkan ‘Ini adalah 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 adalah 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‘.
Modul Pemrograman Python
27
Universitas Al Azhar Indonesia
Teknik Informatika
5.4 Kondisi : if bersarang (nested if) Pada kondisi tertentu, kita dapat menggunakan pernyataan if bersarang. Maksudnya adalah 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 adalah 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 adalah Huruf Besar" elif (huruf >= 'a'): if (huruf <= 'z'): print "Ini adalah huruf kecil" else: print "Huruf > z" else: print "Huruf > z tapi < a" else: print "Huruf < A"
Berikut hasilnya apabila telah di eksekusi :
Gambar 5.1 hasil eksekusi tes.py
Modul Pemrograman Python
28
Universitas Al Azhar Indonesia
Teknik Informatika
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 menggunakan for. Sedangkan pengulangan tidak terbatas menggunakan while. Dalam pengulangan menggunakan 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 menggunakan nilai incremental untuk melakukan pengulangan. Di Python, for melakukan pengulangan dengan mengiterasi 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 tersebut 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 tersebut akan selalu berganti nilainya setiap tahap pengulangan
Modul Pemrograman Python
29
Universitas Al Azhar Indonesia
Teknik Informatika
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 gambar dibawah ini :
Gambar 6.1 hasil eksekusi pengulangan_1.py
Selain menggunakan 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 tersebut terdapat elemen sebanyak delapan jenis masakan nusantara. Dengan demikian ketika pengulangan for menggunakan list masakan tadi, pengulangan akan dijalankan sebanyak delapan kali. Mari Anda lihat implementasinya pada kode dibawah ini :
listing : kode pengulangan_2.py
Modul Pemrograman Python
30
Universitas Al Azhar Indonesia
Teknik Informatika
# pengulangan sebanyak 8 kali for i in ["Rawon", "Nasi Kuning", "Soto Madura", "Kupat Tahu", "Kerak Telor", "Rendang Batoko", "Pempek Selam", "Ayam Betutu"] : print i, " adalah masakan khas nusantara ..."
Kode diatas jika dieksekusi akan terlihat seperti gambar dibawah ini :
Gambar 6.2 hasil eksekusi pengulangan_2.py
Sekarang Anda coba contoh terakhir dengan menggunakan string. String pada dasarnya merupakan list karakter. Misal terdapat string seperti berikut “abcde”. Jika string tersebut digunakan 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, " adalah alfabet"
Modul Pemrograman Python
31
Universitas Al Azhar Indonesia
Teknik Informatika
Kode diatas jika dieksekusi akan terlihat seperti gambar dibawah ini :
Gambar 6.3 hasil eksekusi pengulangan_3.py
6.3 Memahami Function “range” Kalau teman – teman memperhatikan list yang dipakai pada pengulangan_1.py, pengulangan tersebut menggunakan 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 adalah batasawal dari list, stop adalah batas akhir dari list, step adalah jarak antar angka yang dihasilkan oleh range. Ada beberapa kasus penting yang perlu diperhatikan saat menggunakan range. Coba perhatikan kode dibawah ini listing : kode pengulangan_4.py
Modul Pemrograman Python
32
Universitas Al Azhar Indonesia
Teknik Informatika
# 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 gambar dibawah ini :
Modul Pemrograman Python
33
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 6.4 hasil eksekusi pengulangan_4.py
6.4 Menggunakan Function “range” pada Pengulangan “for” Sekarang Anda akan coba menggunakan 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 menggunakan 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 gambar dibawah ini :
Modul Pemrograman Python
34
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 6.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" else: print "*", print ""
Kode diatas jika dieksekusi akan tampil seperti berikut :
Modul Pemrograman Python
35
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 6.6 hasil eksekusi pengulangan_6.py
Kemudian dibawah ini adalah kode program untuk mencari bilangan prima. Bilangan prima adalah 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, " adalah bilangan prima" else: print i, " bukanlah bilangan prima"
Modul Pemrograman Python
36
Universitas Al Azhar Indonesia
Teknik Informatika
Kode diatas jika dieksekusi akan tampil seperti berikut :
Gambar 6.7 hasil eksekusi pengulangan_7.py
Modul Pemrograman Python
37
Universitas Al Azhar Indonesia
Teknik Informatika
6.5 Menyusun Pengulangan dengan “while” Sekarang kita akan bahas pengulangan yang menggunakan 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. 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
Modul Pemrograman Python
38
Universitas Al Azhar Indonesia
Teknik Informatika
Kode diatas jika dieksekusi akan tampil seperti pada gambar berikut ini :
Gambar 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 :
Modul Pemrograman Python
39
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 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 :
Modul Pemrograman Python
40
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 6.10 hasil eksekusi pengulangan_10.py
Modul Pemrograman Python
41
Universitas Al Azhar Indonesia
Teknik Informatika
7. Mengenal Data Struktur Python Tingkat Lanjut 7.1 Mengenal List, Dictionary dan Tuple 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 adalah objek Python yang berarti jika Anda mendefinisikan struktur data tersebut, Anda dapat menggunakan method – method yang berhubungan dengan pengolahan struktur data tersebut. 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
'[' dan ']'
'(' dan ')'
{' dan '}'
Setiap anggota list tidak
Tidak bisa dimodifikasi
Terdiri dari sepasang data
harus sama tipe datanya
(immutable sequence)
(key dan value)
string, number, list, objek
string, number, list, objek
string, number, list, objek
Diawali dan diakhiri dengan tanda Karakteristik Tipe data
Agar lebih paham mari Anda coba mendefinisikan list, tuple, dan dictionary kedalam sebuah variabel. listing : strukdat_1.py
Modul Pemrograman Python
42
Universitas Al Azhar Indonesia
Teknik Informatika
# 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 menggunakan perintah print maka Anda dapat mencetak isi list, tuple, atau dictionary yang hasil keluarannya berupa string.
Gambar 7.1 hasil eksekusi strukdat_1.py
7.2 Cara Akses List, Tuple, dan Dictionary Setelah Anda mengenal cara membuat ketiga struktur data tersebut, sekarang Anda coba cara mengakses elemen – elemen pada struktur data tersebut. Ada beberapa cara mengakses elemen pada struktur data tersebut yang biasa dilakukan misalnya mengakses salah satu elemen dengan menggunakan indeks, slicing indeks, dan mengakses elemen lewat pengulangan.
Modul Pemrograman Python
43
Universitas Al Azhar Indonesia
Teknik Informatika
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 tersebut adalah daftar_barang[9]. Kenapa di pemanggilan indeks nya dari 9 ? karena indeks tersebut 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 tersebut. 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 tersebut 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 adalah daftar_barang[1:11]. Berikutnya cara terakhir yang biasa dilakukan oleh untuk mengakses elemen secara keseleruhan adalah dengan melalui pengulangan for. Melalui cara tersebut, 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 tersebut dengan key yang didapatkan disetiap iterasi. Dibawah ini adalah contoh mengakses elemen dari list, tuple dan dictionary dengan tiga cara yang biasa dipakai programmer python. listing : strukdat_2.py
Modul Pemrograman Python
44
Universitas Al Azhar Indonesia
Teknik Informatika
# 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],
Modul Pemrograman Python
45
Universitas Al Azhar Indonesia
Teknik Informatika
Apabila Anda jalankan kode program diatas maka akan muncul output seperti pada gambar berikut ini :
Gambar 7.2 hasil eksekusi strukdat_2.py
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 ke7 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 tersebut. Lebih jelasnya coba lihat contoh berikut : listing : strukdat_3.py
Modul Pemrograman Python
46
Universitas Al Azhar Indonesia
Teknik Informatika
# 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'] = '
[email protected]' 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 tersebut dengan nilai yang baru.
Modul Pemrograman Python
47
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 6.3 hasil eksekusi strukdat_3.py
7.4 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. Sedangkan pada dictionary digunakan method update dari dictionary yang ingin ditambahkan data baru. Kemudian dictionary semula akan memiliki data yang ditambahkan melalui method tersebut. Berikut adalah contoh menambahkan data baru pada ketiga struktur data tersebut.
listing : strukdat_4.py
Modul Pemrograman Python
48
Universitas Al Azhar Indonesia
Teknik Informatika
# 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"
Modul Pemrograman Python
49
Universitas Al Azhar Indonesia
Teknik Informatika
Kode diatas jika dieksekusi akan muncul tampilan seperti berikut ini :
Gambar 7.4 hasil eksekusi strukdat_4.py
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.tersebut. Di python sendiri penghapusan salah satu elemen dapat dilakukan di list dan dictionary. Sedangkan 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 tersebut dikurangi satu dengan diapit tanda “[“ dan “]”. Sedangkan pada dictionary Anda tunjuk salah satu key yang akan dihapus dari dictionary. Berikut adalah contoh penghapusan salah satu elemen pada list dan dictionary.
listing : strukdat_5.py
Modul Pemrograman Python
50
Universitas Al Azhar Indonesia
Teknik Informatika
# 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"
Modul Pemrograman Python
51
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 7.5 hasil eksekusi strukdat_5.py
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 tersebut terhapus dari memory seluruhnya ?. Di Python dengan menggunakan perintah del pada sebuah struktur data maka struktur data tersebut 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 digunakan lagi oleh program yang Anda bangun. list : strukdat_6.py
Modul Pemrograman Python
52
Universitas Al Azhar Indonesia
Teknik Informatika
# 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”
Modul Pemrograman Python
53
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 7.6 hasil eksekusi strukdat_6.py
7.7 Menggunakan 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 digunakan 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 digunakan function max(), sedangkan untuk mencari nilai minimum digunakan function min(). Untuk perbandingan dua buah struktur data sejenis, misal list dengan list, digunakanlah 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 tersebut digunakan function len() . Dan terdapat juga untuk konversi tipe struktur data. Tapi fitur ini hanya dapat digunakan pada list dan tuple. Dictionary tidak mendukung proses konversi. Jadi hanya pengubahan dari list ke tuple dan sebaliknya. Untuk pengubahan dari list ke tuple digunakan function tuple() sedangkan untuk pengubahan dari tuple ke list digunakan function list(). Agar lebih paham cobalah sedikit source code tentang penggunaan built-in function yang digunakan untuk manipulasi list, tuple, dan dictionary. listing : strukdat_7.py
Modul Pemrograman Python
54
Universitas Al Azhar Indonesia
Teknik Informatika
# 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"
Modul Pemrograman Python
55
Universitas Al Azhar Indonesia
Teknik Informatika
# 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
Modul Pemrograman Python
56
Universitas Al Azhar Indonesia
Teknik Informatika
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 tersebut pekerjaan Anda sudah dimudahkan oleh Python dalam memanipulasi struktur data yang telah Anda definisikan sebelumnya. Berikut adalah salah satu contoh hasil operasi dengan built function dari kode diatas
Modul Pemrograman Python
57
Universitas Al Azhar Indonesia
Teknik Informatika
Gambar 7.7 hasil eksekusi strukdat_7.py
Modul Pemrograman Python
58
Universitas Al Azhar Indonesia
Teknik Informatika
Daftar Pustaka
Python Software Foundation Team. Python v2.7.2 Documentation 1990 – 2011. The Python Software Foundation.
Downey, Allen, Jeffrey Elkner, dan Chris Meyers. How to Think Like a Computer Scientist :
Learning with Python. 2002. Green Tea Press : Wellesley, Massachusetts
Swaroop. A Byte of Python. 2005. IonLab : Bangalore, India
Craven, Paul Vincent. Introduction to Computer Science Using Python and Pygame. 2011.
Simpson College, Computer Science Department : Indianola, Iowa
Lutz, Mark. 2009. Programming Python, USA: O’Reilly Media Inc.
What is Python Good For?. 2005. General Python FAQ. Python Software Foundation. http://docs.python.org/faq/general.html#what-is-python-good-for (diakses pada 16 April 2014).
What is Python? Executive Summary. 2007. Python documentation. Python Software Foundation. http://www.python.org/doc/essays/blurb/ . diakses (diakses pada
16 April
2014).
Modul Pemrograman Python
59