Disusun Oleh :
WILLY PRATAMA
0102509025
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS AL AZHAR INDONESIA
Modul Pemrograman Python
1
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
2
DAFTAR ISI
Kata Pengantar ... 1
1.Pengenalan Python ... 4
1.1 Sejarah Python ... 4
1.2Menggunakan Python Interpreter Prompt dan Python Compiler ... 4
1.3Elemen 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.1Operasi Input... 9
Membaca Masukan ... 9
Membaca Dari File Text ... 10
3.2Operasi Output ... 13
Mencetak ke Layar ... 13
Menyimpan Ke File ... 14
3.3Operasi Assignment ... 16
4.Mengenal Tipe Data dan Operator ... 18
4.1Tipe Data di Python ... 18
4.2Operator ... 21
5.Perintah Kondisional ... 25
5.1Satu Kondisi (if)... 25
5.2Dua Kondisi (if - else) ... 25
5.3Lebih dari dua kondisi (if - elif)... 26
5.4Kondisi : if bersarang (nested if) ... 28
6.Menyusun Pengulangan ... 29
6.1Mengenal Pengulangan “for” dan “while” ... 29
Modul Pemrograman Python
3
6.3Memahami Function “range”... 32
6.4Menggunakan Function “range” pada Pengulangan “for” ... 34
6.5Menyusun Pengulangan dengan “while” ... 38
7.Mengenal Data Struktur Python Tingkat Lanjut ... 42
7.1Mengenal 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
Modul Pemrograman Python
4
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 dibacaDengan 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
5
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
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 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
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 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
8
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
Modul Pemrograman Python
9
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
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 menggunakan notepad dan beri nama dumpfile.txt.
Modul Pemrograman Python
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 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
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()
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()
Modul Pemrograman Python
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” 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
14
Gambar 3.1 Hasil eksekusi kali.py
Modul yang mendukung format pencetakan adalah 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 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
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 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
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
Modul Pemrograman Python
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 :
Modul Pemrograman Python
18
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 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 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
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 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
20
>>> 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
Modul Pemrograman Python
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
Modul Pemrograman Python
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
Modul Pemrograman Python
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.
Modul Pemrograman Python
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 tersebut 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 tersebut 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
Modul Pemrograman Python
25
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
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 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
27
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
28
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 :
Modul Pemrograman Python
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 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 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 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
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 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 :
Modul Pemrograman Python
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, " 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":
Modul Pemrograman Python
32
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
Modul Pemrograman Python
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)
Modul Pemrograman Python
34
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
35
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 ""
Modul Pemrograman Python
36
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:
Modul Pemrograman Python
37
Kode diatas jika dieksekusi akan tampil seperti berikut :Modul Pemrograman Python
38
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
39
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
Modul Pemrograman Python
40
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
Modul Pemrograman Python
41
Modul Pemrograman Python
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 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
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.
Modul Pemrograman Python
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 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
44
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.
Modul Pemrograman Python
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:
Modul Pemrograman Python
46
Apabila Anda jalankan kode program diatas maka akan muncul output seperti pada gambar berikutini :
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 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 tersebut. Lebih jelasnya coba lihat contoh berikut :
Modul Pemrograman Python
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 tersebut dengan nilai yang baru.
Modul Pemrograman Python
48
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.
Modul Pemrograman Python
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"
Modul Pemrograman Python
50
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.
Modul Pemrograman Python
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"
Modul Pemrograman Python
52
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.
Modul Pemrograman Python
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”
Modul Pemrograman Python
54
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.
Modul Pemrograman Python
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
Modul Pemrograman Python
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"
Modul Pemrograman Python
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 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
58
Modul Pemrograman Python
59
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).