Phyton yaitu bahasa pemograman yang sedang lagi trend dikalangan linux , terlebih dalam
program-program yang berbau hacking, saya juga baru mengenal pemograman phyton ini beberapa
minggu yang lalu sebab mencoba sebuah tools yang diberikan teman dalam bahasa pemograman
phyton . sebab saya baru dalam dunia program dan memprogram maka , saya mencoba mencari-cari
beberapa litelatur tentang bahasa pemograman ini . Berikut ini adalah beberapa langkah mudah dalam
instalasi phyton pada system windows (xp , vista, sevent).
Tools yang dibutuhkan
Distribusi Python 2.7 (dalam bentuk installer)
unduh : http://www.python.org/download/
ActivePython 2.7 (dalam bentuk installer)
unduh : http://downloads.activestate.com/ActivePython/releases/2.7.1.4/ActivePython-2.7.1.4-win32-
x86.msi
8
Instal Python 2.7
Pastikan hasil download dua buah file diatas tidak corrupt , soalnya kalau corrupt bisa terjadi kegagalan
dalam instalasi.
Double klik instaler python-3.2.msi
Setelah anda double klik maka akan muncul jendela instalasi seperti di bawah ini , pilih install for all
users agar bisa digunakan oleh semua user.
9
Pada bagian ini kita dapat menentukan di mana letak file hasil instaler nantinya , opsi saya biarkan
default. pilih next.
pada kotak instaler dibawah ini kita pilih semua agar semua fitur dari pemograman python akan
tersedia nantinya. pilih next jika selesai.
10
Proses instalasi sedang berlangsung tunggu sampai selesai.
Klik finish.
Pada tahap ini kita telah selesai melakukan instalasi Python pada windows , selanjutnya kita harus
menginstal ActivePython 2.7.
11
Instal ActivePython 2.7
cari file instaler ActivePython 2.7, Double klik maka akan muncul jendela instalasi seperti dibawah ini.
Pada bagian ini kita biarkan default , lalu pilih next.
12
Pada kotak dialog dibawah ini pilih instal untuk melakukan instalasi.
Proses instalasi berjalan , tunggu sampai selesai.
13
Klik finish , maka phyton anda telah siap untuk digunakan , selamat berkreasi dengan pemograman
Python.
Hasil program Python yang sudah terinstal pada system.
Kesimpulan
sebenarnya saat kita menginstall ActivePython, itu sudah termasuk menginstal tools Pythonnya.
14
Python Dasar
sumber : http://sakti.github.io/python101/dasar.html
15
Pendahuluan
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan yang berfokus
pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas,
kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka
standar yang besar serta komprehensif.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada
pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu
fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan
manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python
umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas
mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip.
Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan
di berbagai platform sistem operasi.
Menggunakan Python sebagai kalkulator
Program Python dapat dijalankan dengan beberapa mode. Jika kita mengeksekusi Python interpreter
tanpa argument script Python yang telah kita buat, Python interpreter akan masuk ke mode interaktif
(REPL, read-eval-print loop).
$ python
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
Kita dapat memanfaatkan Python dengan mode interaktif sebagai kalkulator.
$ python
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 1
2
>>> 40 * 2
80
>>> 40 / 5
8
>>> 9 - 10
-1
>>> 2 + 3 + 4 + 5
14
>>> 2 ** 32
4294967296
16
Operasi aritmatika
Berikut table operasi aritmatika yang ada di Python:
Operasi Keterangan
+ Menambahkan dua obyek
- Mengurangi obyek dengan obyek
yang lain
* Perkalian
** Pangkat
/ Pembagian
// Pembagian bulat ke bawah
% Sisa hasil bagi (modulus)
Contoh
Pembagian, perhatikan perbedaan antara bilangan bulat dan pecahan / desimal.
>>> 10 / 3
3
>>> 10.0 / 3
3.3333333333333335
>>> 10 / 3.0
3.3333333333333335
>>> 10.0 / 3.0
3.3333333333333335
>>> 10.0 // 3.0
3.0
>>> 10.0 // 3
3.0
Sisa hasil bagi.
>>> 10 % 3
1
>>> 2 % 3
2
>>> -5 % 4
3
>>> -5 % -4
-1
17
mode eksekusi lain
-m Mengeksekusi module, contoh: python -m SimpleHTTPServer untuk membuat webserver statis
-c Mengeksekusi command dari pameter yang diterima, contoh: python -c 'import this' untuk
menampilkan Zen of Python.
Halo Dunia !
Program pertama yaitu program yang jika dijalankan akan mengeluarkan hasil teks berupa Halo
Dunia!.
# lat1.py
print 'Halo Dunia!'
Anda bisa membuat file lat1.py menggunakan teks editor pilihan anda. Untuk catatan, anda sebaiknya
menset teks editor anda agar untuk indentasi menggunakan spasi / space sebanyak 4. Standar PEP
(Python Enhancement Proposal) menyarankan agar indentasi selalu konsisten.
Setelah file lat1.py disimpan, anda dapat menjalankannya melalui terminal.
$ python lat1.py
Halo Dunia!
Komentar
Komentar adalah teks apapun yang diawali dengan tanda #, digunakan untuk memberikan catatan
kepada pembaca kode. Anda dapat melihat kembali lat1.py untuk memberikan keterangan nama file
kita dapat memberikan komentar.
# lat2.py
# lat2.py adalah nama file ini
# program ini akan menampilkan 'Halo Indonesia!'
# kemudian akan menampilkan 'Halo Jakarta!'
print 'Halo Indonesia!'
print 'Halo Jakarta!'
# print 'Teks ini tidak akan dicetak.'
outputnya :
Halo Indonesia!
Halo Jakarta!
18
Konstanta Literal
Salah satu contoh konstanta literal yaitu bilangan seperti 5, 1.23, atau string seperti 'hari senin' atau
"hari jum'at". Hal ini disebut literal atau harfiah sebab anda bisa menggunakan nilai ini secara
langsung. Bilangan 2 selalu merepresentasikan dirinya sendiri, dinamakan konstanta sebab nilainya
tidak dapat diubah.
Dalam latihan 2, 'Halo Indonesia!' dan 'Halo Jakarta!' yaitu string literal.
Bilangan
Di Python bilangan dibagi menjadi dua tipe utama - integer (bulat) dan float (pecahan). Salah satu
contoh dari integer yaitu 2 yang yaitu bilangan bulat. Contoh untuk float yaitu 3.23 dan 52.3e-
4. Notasi e mengindikasikan pangkat 10. Untuk kasus ini 52.3e-4 berarti 52.3 * 10 -4.
String
String adalah rangkaian karakter. Anda bisa menuliskan string literal dengan beberapa cara :
Single Quote
Contoh: 'Halo Bandung!', 'Hari Jum\'at'.
Double Quote
Contoh: "Halo Surabaya!", "Hari Jum'at". Perhatikan tanda quote ' harus di escape pada single quote.
Selain itu tidak ada perbedaan antara single quote dan double quote, anda bebas untuk memilih.
Triple Quote
Python mendukung multi-line string atau string dengan baris lebih dari satu. Anda dapat dengan bebas
menuliskan single quote ' dan double quote " dalam string literal yang diapit dengan triple quote.
Contoh:
Immutable
String bersifat immutable yang berarti setelah string dibuat, string tersebut tidak bisa diubah.
Format String
Terkadang kita ingin membuat string dari informasi lain, untuk hal ini kita dapat menggunakan format
string.
# lat3.py
# format string menggunakan operator '%' dan method format
19
print '%s pergi ke %s' % ('ibu', 'pasar')
print '{0} pergi ke {1}'.format('ibu', 'pasar')
print 'jumlah total: %10.3f' % 10.3333
print 'jumlah total: {0:10.3f}'.format(10.3333)
outputnya :
ibu pergi ke pasar
ibu pergi ke pasar
jumlah total: 10.333
jumlah total: 10.333
Operator % jika digunakan untuk string bukan berarti modulus melainkan string format.
Variabel
Hanya menggunakan konstanta literal saja cukup membosankan, kita membutuhkan cara untuk
menyimpan dan memanipulasi informasi. Untuk hal ini kita bisa menggunakan variabel. Seperti
namanya, variabel dapat diisi dengan bermacam-macam nilai, anda dapat menyimpan apapun
menggunakan variabel. Variabel adalah sebagian dari memori komputer yang digunakan untuk
menyimpan informasi. Berbeda dengan konstanta literal, anda membutuhkan cara untuk mengakses
variabel ini, oleh sebab itu kita memberi nama kepada variabel.
Nama Pengenal
Berikut aturan penamaan variabel dalam python.
• Karakter pertama harus berupa karakter alfabet (huruf besar atau huruf kecil ASCII, atau
unicode) atau underscore _.
• Karakter selanjutnya dapat berupa alfabet (huruf besar atau huruf kecil ASCII, atau unicode),
underscore _ atau digit (0-9).
• Nama variabel bersifat case-sensitif. Sebagai contoh, namaMhs dan namamhs adalah variabel
yang berbeda.
# lat4.py
# menggunakan variabel
a = 10
b = 20
c = 30
total = a + b + c
nama = 'ibu'
tempat = 'kantor'
print 'jumlah total = %s' % total
print '%s pergi ke %s' % (nama, tempat)
outputnya :
jumlah total = 60
ibu pergi ke kantor
20
Tipe Data
Variabel dapat menyimpan nilai dengan berbagi tipe disebut dengan tipe data. Bilangan dan string
adalah tipe dasar, yang sudah dibahas sebelumnya. Pada latihan berikutnya akan dibahas tipe data yang
lain.
Perlunya Anda menggunakan type untuk menentukan tipe data variabel / obyek yang ada.
>>> type(1)
<type 'int'>
>>> type(3.2)
<type 'float'>
>>> type(2 ** 1000)
<type 'long'>
>>> type('abc')
<type 'str'>
>>> type('a')
<type 'str'>
Obyek
Semua yang ada dalam Python adalah obyek / object. Obyek memiliki field yang memiliki nilai
tertentu dan method untuk operasi tertentu.
Untuk melihat field dan method yang ada dalam suatu obyek kita dapat gunakan fungsi builtin dir.
>>> dir('abc')
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__',
'__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__',
'__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', '_formatter_field_name_split', '_formatter_parser',
'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace',
'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines',
'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> 'abc'.upper
<built-in method upper of str object at 0x7fe601a1f800>
>>> 'abc'.upper()
'ABC'
Selain dapat melihat isi obyek, anda dapat mengakses dokumentasi object menggunakan help.
>>> help(str)
21
Help on class str in module __builtin__:
class str(basestring)
| str(object) -> string
|
| Return a nice string representation of the object.
| If the argument is a string, the return value is the same object.
|
| Method resolution order:
| str
| basestring
| object
...
>>> help(str.upper)
Help on method_descriptor:
upper(...)
S.upper() -> string
Return a copy of the string S converted to uppercase.
Penulisan Program Python
Berikut cara menulis program Python.
1. Buka teks editor pilihan anda, seperti: vim, emacs, gedit, notepad++, sublimetext2 atau
Aptana Studio 3.
2. Ketikkan kode program seperti contoh yang ada (hindari copy-paste).
3. Simpan sesuai nama yang ada.
4. Untuk menjalankan program gunakan terminal / command line, ketik python namaprogram.py.
Untuk pengguna sublimetext2 anda dapat menjalakan program python menggunakan shortcut Ctrl+b.
Baris Logis dan Fisik
Baris fisik adalah apa yang anda lihat ketika anda melihat program. Baris logis adalah apa yang Python
lihat sebagai statemen tunggal. Python mengasumsikan bahwa setiap baris fisik sesuai dengan baris
logic.
Sebagai contoh baris logis seperti statemen print 'Halo Dunia!', jika anda menulis sebagai satu baris
maka baris logis sesuai dengan baris fisik.
Catatan
Anda dapat menulis print 'Halo Dunia!' menjadi dua baris, contoh :
print \
'Halo Dunia!'
Anda juga dapat membuat beberapa baris logis menjadi satu baris fisik, contoh:
22
nama = 'budi'; print nama
Secara implisit, Python menyarankan menggunakan satu statemen tiap baris untuk menjadikan kode
menjadi lebih mudah dibaca.
Indentasi
Karakter spasi penting untuk bahasa pemrogramman Python. Lebih tepatnya spasi diawal baris atau
indentasi. Spasi diawal (baik berupa spasi atau tab) baris logis digunakan untuk menentukan level
indentasi, yang akan mempengaruhi pengelompokan statemen.
Statemen yang mempunyai level indentasi sama masuk dalam satu kelompok yang disebut blok /
block. Hal ini akan digunakan pada bab berikutnya.
# lat5.py
# error indentasi
a = 10
b = 20
c = 30
total = a + b + c
nama = 'ibu'
tempat = 'kantor'
print 'jumlah total = %s' % total
print '%s pergi ke %s' % (nama, tempat)
ouputnya :
File "D:\codes\python\lat5.py", line 8
total = a + b + c
^
IndentationError: unexpected indent
23
Variabel di
Python
sumber :
http://klinikpython.wordpress.com/2012/01/03/dasar-python-semua-harus-mempunyai-nama/
24
Pendahuluan
Yes! Nama sangatlah penting artinya dalam dunia pemrograman, sebab nama adalah sebuah Identitas.
Saatnya kita mengintip tentang Identitas dan Kata kunci di Python. Jangan lupa secangkir kopi plus
alunan MP3 layak untuk mendampingi Anda.
Kita telah mempelajari sebelumnya bahwa setiap program akan selalu memanggil variabel dengan
menggunakan nama dari variabel tersebut. Setiap bahasa pemrograman memiliki aturan sendiri-sendiri
untuk penamaan suatu variabel. Nama ini sering kita sebut sebagai Identitas (identifier). Python tidak
mengijinkan kita untuk menggunakan beberapa kata, yang termasuk Kata Kunci (keyword), sebagai
nama variabel. Berikut daftar kata kunci yang terdapat dalam Python.
Kata Kunci di Python & Syarat Pembuatan Variabel
False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise
Interpreter Python juga telah mendefinisikan beberapa aturan untuk penamaan identitas seperti
berikut ini :
1. Nama variabel tidak boleh ada spasi atau simbol-simbol seperti ? ! @ # + - % ^ & * ( ) []
{ } . , ; : " ' / dan \. Tanda garis bawah ( _ ) dapat digunakan untuk mengganti spasi.
Contoh: klinik_python.
2. Nama variabel harus unik. Misalkan kita ingin menyimpan empat bilangan yang berbeda-beda,
maka kita harus membuat empat nama varibel yang unik alias tidak boleh sama. Identitas
bersifat case-sensitive, yang artinya penulisan huruf besar atau huruf kecil dianggap berbeda.
Contohnya: klinikPython itu berbeda dengan KlinikPython.
3. Nama variabel dapat terdiri dari angka dan karakter.
4. Nama variabel harus dimulai dengan huruf atau tanda garis-bawah, dan selanjutnya boleh diisi
dengan huruf, angka (0 – 9), atau garis-bawah. Karakter pertama dari nama variabel tidak boleh
berupa angka.
Secara umum, kita bisa mengikuti aturan penamaan variabel seprti berikut :
25
1. Nama variabel harus ringkas dan bermakna. Nama harus berhubungan dengan isi dari variabel
tersebut. Contohnya, misalkan kita akan menyimpan data tentang umur siswa, maka nama
variabel yang tepat adalah umur_siswa.
2. Nama variabel secara umum ditulis dalam huruf kecil.
3. Jika nama variabel terdiri dari dua kata, gabungkan dua kata tersebut dengan gunakan huruf
besar di depan setiap kata. Atau pisahkan tiap-tiap kata dengan tanda garis-bawah.
26
Tipe Data dan
Variabel Pada
Python
sumber artikel :
http://kamarpython.blogspot.com/2012/05/tipe-data-dan-variabel-pada-python.html
27
Pendahuluan
Variabel adalah entitas yang memiliki nilai dan berbeda satu dengan yang lain. Variabel
mengalokasikan memori untuk menyimpan nilai. Hal ini berarti ketika Anda membuat variabel, maka
Anda memesan beberapa ruang di memori. Variabel bisa digunakan untuk menyimpan bilangan bulat,
desimal atau juga karakter.
Pada banyak bahasa pemrograman, ada dua cara untuk membuat variabel. Cara yang pertama variabel
langsung dengan nilai disebut dengan inisialisasi. Sedangkan cara kedua dengan memasukkan nilai
pada variabel yang biasa disebut penempatan.
Tipe data di bahasa pemrograman python dibagi menjadi dua kelompok yaitu :
1. immutable = tipe data yang tidak bisa diubah (string dan bilangan)
2. mutable = tipe data yang bisa diubah (list dan dictionary)
Tidak seperti pemrograman lainnya, variabel pada Python tidak harus dideklarasikan secara eksplisit.
Pendeklarasian variabel terjadi secara otomatis ketika kita memberikan sebuah nilai pada suatu
variabel. Untuk pemberian nilai, bisa langsung dengan tanda "=". Misalnya :
nama = 'Jack Port'
no = 7
28
Tipe data Number
1. Plain integer. Integer ini mempunyai range nilai antara -2^32 sampai 2^31 – 1.
2. Long integer. Perhitungan di luar range nilai integer.
3. Floating Point Real Number. Bilangan real.
4. Complex number. Untuk bilangan real dan imajiner.
Tipe data String
Penulisan string bisa ditulis dengan cara, antara lain :
1. Diapit dengan tanda petik tunggal ( ' ).
2. Diapit dengan tanda petik ganda ( " ).
3. Diapit dengan tiga tanda petik ganda ( """ ).
29
Menggunakan whitespace character
\n garis baru
\r menghapus string sebelumnya
\t tab
\v vertikal tab
\e escape
\f karakter sesudahnya pada garis baru
\b backspace
\a bell
Contoh Penggunaan Variabel
#!/usr/bin/python
nama = raw_input("Siapakah namamu?\n")
print "--------------------------------"
print "hello " + nama + ", selamat belajar python"
#!/usr/bin/python
p = input('Masukkan panjang : ')
l = input('Masukkan lebar : ')
luas = p * l
print "maka luas persegi panjang adalah : %d" % luas
30
Berikut ini penamaan variabel yang tepat :
alamat1
nama_karyawan
nama_variabel_ini_sangat_panjang
Berikut ini penamaan variabel yang salah :
#alamat
1Nomor
31
Operator Pada
Bahasa
Pemrograman
Python
Sumber artikel :
http://www.pintarcoding.com/2014/03/operator-pada-bahasa-pemrograman-python.html
32
Pendahuluan
Pembahasan kali ini kita akan belajar bersama tentang penggunaan beberapa operator yang ada pada
bahasa pemrograman python. Apa sih operator itu? Agak susah memang menjelaskan operator tersebut,
kalau menurut saya sendiri operator itu yaitu suatu perintah yang dapat menghubungkan antara
data / variable dengan data / variable yang lain, ya itu memang kalimat saya itu tidak ada dasarnya.
Tapi untuk lebih jelasnya yuks kita kupas bersama operator pada bahasa pemrograman python.
Ada beberapa tipe operator antara lain operator aritmatika, operator untuk membandingkan, operator
logika seperti and dan or, dan mungkin masih banyak lagi yang tidak bisa saya sebutkan satu persatu,
nanti teman-teman tambahkan sendiri ya kalau masih ada yang tidak disebutkan.
Operator Aritmatika
Operator aritmatika sendiri yaitu operator yang dipergunakan dalam melakukan operasi
matematika, seperti pengurangan, pembagian, penambahan, perkalian, pangkat, modulus dll. Berikut
contoh penggunaan operator aritmatika pada bahasa pemrograman python :
print 3 + 2 * 3 - 10 / 5
print (3 + 2) * (3 - 10 / 5)
#pangkat
print 3 ** 2
#modulus / sisa bagi
print 100 % 3
Outputnya :
7
5
9
1
Perhatikan perintah pada baris pertama tanpa harus menuliskan tanda kurung pun python sudah
melakukan operasi matematika sesuai dengan aturan prioritas matematika.
Operator yang biasa dipergunakan pada aritmatika ini pun beberapa dapat dipergunakan dalam
melakukan manipulasi string contohnya :
print 'Pintarcoding.com! ' * 3
print 'hallo' + ' ' + 'Pintarcoding.com!'
outputnya :
Pintarcoding.com! Pintarcoding.com! Pintarcoding.com!
hallo Pintarcoding.com!
33
Operator Pembanding
Ada beberapa operator pembanding antara lain, seperti contoh berikut :
print 10 > 2 # lebih besar, bernilai True
print 10 < 2 # lebih kecil, bernilai False
print 10 != 2 # tidak sama dengan, bernilai True
print 5 >= 5 # lebih besar atau sama dengan, bernilai True
print 5 <= 4 # lebih kecil atau sama dengan, bernilai False
print 5 == 5 # sama dengan, bernilai True
outputnya :
True
False
True
True
False
True
Operator pembanding ini biasanya untuk menentukan nilai kebenaran dalam perintah if, yang akan
dibahas pada aritkel berikut tentang percabangan.
Operator Logika
Pada bahasa python terdapat 3 operator logika antara lain and, or dan not. Adapun cara penggunaan
dari operator-operator tersebut adalah sebagai berikut :
print 10 > 2 and 10 > 5 # bernilai True
print True or False # bernilai True
print not False # bernilai True
outputnya :
True
True
True
Teman-teman bisa menuliskan perintah diatas untuk mencobanya dikomputer teman-teman dan ketika
dijalankan maka akan menghasilkan nilai True pada semua baris perintah diatas.
34
Operator dan
Ekspresi
Sumber artikel :
http://workshop-python-101.readthedocs.org/en/latest/operator_dan_ekspresi.html
35
Pendahuluan
Hampir semua statemen (baris logis) yang Anda tulis akan mengandung ekspresi. Contoh sederhana
dari ekspresi adalah 2+3. Sebuah ekspresi dapat diturunkan menjadi operator dan operand.
Operator adalah fungsi yang menjalankan sesuatu dan direpresentasikan oleh simbol, seperti + atau
kata kunci khusus. Operator membutuhkan data untuk dioperasikan dan data ini disebut operand.
Dalam kasus ini 2 dan 3 adalah operand.
Operator
Kita akan melihat operator secara singkat dan bagaimana penggunaannya:
Operator Keterangan
+ Menambahkan dua obyek
- Mengurangi obyek dengan obyek yang lain
* Perkalian
** Pangkat
/ Pembagian
// Pembagian bulat ke bawah
% Sisa hasil bagi (modulus)
<< (geser kiri) Menggeser bit ke sebelah kiri sesuai dengan jumlah bit
yang ditentukan.
2 << 2 menghasilkan 8. 2 direpresentasikan 10 dalam bit (binary
digit). Menggeser 2 bit kekiri akan menghasilkan 1000 yang
yaitu representasi dari desimal 8.
>> (geser kanan) Menggeser bit ke sebelah kanan sesuai dengan
jumlah bit yang ditentukan.
11 > 1 menghasilkan 5. 11 direpresentasikan oleh bit dengan 1101
kemudian digeser kekanan 1 bit menghasilkan 101 yang
yaitu desimal angka 5.
& (bit-wise AND)
Operasi bit-wise AND dari angka (bit-wise adalah operasi angka
berbasis bit yakni dengan 0 dan 1). 5 & 3menghasilkan 1.
| (bit-wise OR)
Operasi bit-wise OR dari angka. 5 | 3 menghasilkan 7.
^ (bit-wise XOR)
Operasi bit-wise XOR (ekslusif OR). 5 ^ 3 menghasilkan6.
~ (bit-wise invert)
Operasi membalikkan angka bitwise dari x, menghasilkan -x - 1.
~5 akan menghasilkan -6. lihattwo’s complement.
< (kurang dari)
Mengembalikan apakah x kurang dari y. Semua operator
pembanding mengembalikan True atau False. 5 <
36
Operator Keterangan
3mengembalikan False, 3 < 5 mengembalikan True dan2 < 5 < 7
mengembalikan True.
> (lebih dari)
Mengembalikan apakah x lebih dari y. 5 > 3mengembalikan True.
<= (kurang dari atau sama dengan)
Mengembalikan apakah x kurang dari atau sama dengan y. 5 <= 5
mengembalikan True.
>= (lebih dari atau sama dengan)
Mengembalikan apakah x lebih dari atau sama dengan y. 5 >= 5
mengembalikan True.
== (sama dengan)
Membandingkan apakah kedua obyek sama. 2 ==
2mengembalikan True, 'nama' == 'Nama'mengembalikan False,
'nama' == 'nama'mengembalikan True.
!= (tidak sama dengan)
Membandingkan apakah kedua obyek berbeda. 2 !=
3mengembalikan True.
not (boolean NOT)
Jika x bernilai True akan mengembalikan False. Jika x bernilai
False akan mengembalikan True. x = True;not x mengembalikan
False.
and (boolean AND)
x and y mengembalikan False jika x bernilai False, selain itu akan
mengembalikan nilai y.
x = False; y = True; x and y akan mengembalikanFalse sebab x
bernilai False. Pada kasus ini Python tidak akan mengevaluasi y
sebab nilai x. Hal ini disebutshort-circuit evaluasi.
or (boolean OR)
Jika x bernilai True, x or y akan mengembalikan True, selain itu
akan mengembalikan nilai y.
x = True; y = False; x or y mengembalikan True.short-circuit
evaluasi berlaku juga disini.
# lat6.py
# Operator dan ekspresi
bilangan1 = 5
bilangan2 = 3
print 'bil1 = ', bilangan1
print 'bil2 = ', bilangan2
print 'bil1 + bil2 = ', bilangan1 + bilangan2
print 'bil1 - bil2 = %s' % (bilangan1 - bilangan2)
print 'bil1 * bil2 = {0}'.format(bilangan1 * bilangan2)
37
print 'bil1 ** bil2 = ', bilangan1 ** bilangan2
bilangan1 = 5.0
print 'bil1 = ', bilangan1
print 'bil2 = ', bilangan2
print 'bil1 / bil2 = ', bilangan1 / bilangan2
print 'bil1 // bil2 = ', bilangan1 // bilangan2
print 'bil1 % bil2 = ', bilangan1 % bilangan2
print '-' * 80
bilangan1 = 5
print 'bil1 = ', bilangan1
print 'bil2 = ', bilangan2
print 'bil1 << bil2 = ', bilangan1 << bilangan2
print 'bil1 >> bil2 = ', bilangan1 >> bilangan2
print 'bil1 & bil2 = ', bilangan1 & bilangan2
print 'bil1 | bil2 = ', bilangan1 | bilangan2
print 'bil1 ^ bil2 = ', bilangan1 ^ bilangan2
print '~bil1 = ', ~bilangan1
print '-' * 80
print 'bil1 < bil2 = ', bilangan1 < bilangan2
print 'bil1 > bil2 = ', bilangan1 > bilangan2
print 'bil1 <= bil2 = ', bilangan1 <= bilangan2
print 'bil1 >= bil2 = ', bilangan1 >= bilangan2
print 'bil1 == bil2 = ', bilangan1 == bilangan2
print 'bil1 != bil2 = ', bilangan1 != bilangan2
print '-' * 80
print 'not True = ', not True
print 'True and False = ', True and False
print 'True or False = ', True or False
38
Operasi matematika dan pengisian variabel
Ketika melakukan operasi matematika kita sering setelah dilakukan operasi hasil tersebut kita simpan
dalam variabel. Di python ada jalan pintas untuk melakukan operasi dan melakukan assignment.
Anda bisa menulis:
a = 2
a = a * 3
sebagai:
a = 2
a *= 3
Berikut latihan 7 untuk menghitung uang kembalian.
# lat7.py
total_uang = 10000
harga_barang = 5000
diskon = 0.10
# harga barang setelah diskon
harga_barang *= (1 - diskon)
total_uang -= harga_barang
print 'total uang = %s' % total_uang
Urutan Evaluasi
Jika ada rantaian ekspresi seperti 2 + 3 * 4, apakah penambahan dilakukan terlebih dahulu atau
perkalian ? Saat pelajaran matematika kita diajari bahwa perkalian harus dikerjakan terlebih dahulu.
Hal ini menandakan perkalian mempunyai urutan lebih tinggi daripada penambahan.
Berikut tabel urutan evaluasi ekspresi dalam Python, dari terrendah sampai tertinggi.
Operator Keterangan
lamda Ekspresi lambda
or Boolean OR
and Boolean AND
not x Boolean NOT
in, not in Tes Keanggotaan
is, is not Tes Identitas
<, <=, >, >=, !=, == Perbandingan
| Bitwise OR
^ Bitwise XOR
39
Operator Keterangan
& Bitwise AND
<<, >> Shift
+, - Penambahan dan Pengurangan
*, /, //, % Perkalian, Pembagian, Pembagian ke
bawah, mod
+x, -x Positif, Negatif
~x Bitwise NOT / inverse
** Pangkat
x.attribute Referensi atribut
x[index] Akses item
x[index1:index2] Slicing
f(argument ...) Pemanggilan fungsi
(ekspresi, ...) literal tuple
[ekspresi, ...] literal list
{key:value, ...} literal dictionary
Mengubah Urutan Evaluasi
Untuk membuat ekspresi lebih mudah dibaca, kita dapat menggunakan tanda kurung. Sebagai contoh, 2
+ (3 * 4) lebih mudah dipahami daripada 2 + 3 * 4 dimana pembaca harus mengetahui urutan evaluasi
operator. Namun pemakaian tanda kurung jangan terlalu berlebihan seperti (2 + (3 * 4)).
Selain itu, tanda kurung dapat mengubah urutan evaluasi operator. Sebagai contoh (2 + 3) * 4, operasi
penambahan akan dievaluasi terlebih dahulu.
# lat8.py
hasil = 2 + 3 * 4
print '2 + 3 * 4 = %s' % hasil
hasil = (2 + 3) * 4
print '(2 + 3) * 4 = %s' % hasil
hasil = 2 / 3 * 4
print '2 / 3 * 4 = %s' % hasil
hasil = 2.0 / 3 * 4
print '2.0 / 3 * 4 = %s' % hasil
Sifat Asosiatif
Operator dengan level urutan evaluasi yang sama akan dievaluasi dari kiri ke kanan. Sebagai contoh 2
+ 3 + 4 akan dievaluasi sebagai (2 + 3) + 4. Beberapa operator seperti pengisian nilai (assignment)
mempunyai sifat asosiatif dari kanan ke kiri, contoh: a = b = c akan dievaluasi a = (b = c).
40
Penggunaan If
Pada Python
Sumber :
http://www.pintarcoding.com/2014/03/percabangan-bahasa-pemrograman-python.html#more
http://sikecil91.blogspot.com/2014/03/if-pada-python.html
41
Pendahuluan
Seperti halnya bahasa pemrograman yang lain, tentu python juga mempunyai perintah untuk
pengambilan suatu keputusan terhadap kondisi tertentu, yang disebut percabangan. Percabangan pada
bahasa pemrograman python menggunakan perintah if, ya sama dengan bahasa pemrograman yang
lain. Bagaimana cara menggunakan perintah if ini dalam bahasa pemrograman python? Yuk mari kita
sama-sama melihat cara penggunaan perintah if ini.
Menggunakan IF Tunggal
n= raw_input("Yakin (y/t)?")
if n in ["y","Y"]:
print "Baiklah"
outputnya :
Yakin (y/t) ? y
Baiklah
Menggunakan IF ELSE
Contoh berikut digunakan untuk menentukan Ganjil / Genap nya sebuah bilangan.
#/usr/bin/python
a = raw_input("Masukkan Angka = ")
b = int(a)
if ( b%2 == 0 ):
print "Genap"
else:
print "Ganjil"
outputnya :
Masukkan Angka = 2
Genap
Menggunakan ELIF
#/usr/bin/python
y = raw_input("masukkan angka = ")
x = int(y)
if (x>50 and x<=60):
print "Nilai C"
42
elif (x>60 and x<=80):
print "Nilai B"
elif (x>80 and x<=100):
print "Nilai A"
else:
print "Nilai E"
outputnya :
masukkan angka = 90
Nilai A
43
Alur Kontrol
Sumber :
http://workshop-python-101.readthedocs.org/en/latest/alur_kontrol.html
44
Pendahuluan
Di dalam program yang kita lihat hingga saat ini, selalu saja urutan statemen yang dijalankan oleh
Python, berurutan dari atas ke bawah. Bagaimana jika Anda ingin mengubah bagaimana alur kerjanya?
Sebagai contoh Anda ingin program untuk mengambil keputusan dan bertindak secara berbeda
tergantung keputusan yang diambil. Sebagai contoh, misalnya mencetak ‘Selamat Pagi’ atau ‘Selamat
Sore’ tergantung waktu yang ada saat itu?
Sebagaimana yang Anda sudah bisa tebak, ini dapat dilakukan lewat statemen alur kontrol. Ada tiga
macam statemen alur kontrol di Python - if, for dan while.
Statemen If
Statemen if digunakan untuk mengecek kondisi: jika kondisi if bernilai benar, maka kita akan
menjalankan satu blok statemen (disebut if-block), jika tidak akan diteruskan dengan statemen else
kita gunakan untuk memproses blok statemen yang lain (dinamakan else-block). Bagian else tersebut
sifatnya tidak wajib atau opsional.
Kita dapat menambahkan kondisi dalam else-block mengunakan elif.
# lat9.py
nomor_acak = 7
print 'tebak nomor acak dari 1 - 10'
# ``raw_input`` digunakan untuk mendapatkan input dari pengguna
# ``int`` digunakan untuk konversi tipe data ``str`` ke ``int``
tebakan = int(raw_input('Tebakan anda (bil bulat): '))
if tebakan == nomor_acak:
print 'Selamat! tebakan anda benar'
print 'tapi tidak ada hadiah untuk anda :('
elif tebakan < nomor_acak:
print 'tebakan anda terlalu kecil'
else:
print 'tebakan anda terlalu besar'
print 'selesai'
output :
tebak nomor acak dari 1 - 10
Tebakan anda (bil bulat): 7
Selamat! tebakan anda benar
tapi tidak ada hadiah untuk anda :(
selesai
45
Bagaimana program ini bekerja ?
Program ini akan meminta inputan tebakan dari pengguna berupa bilangan ini. Untuk mendapatkan
inputan ini kita gunakan fungsi raw_input. Keluaran dari fungsi ini adalah string yang diinputkan oleh
user, oleh sebab itu kita harus melakukan konversi ke tipe data int. Untuk konversi ini kita gunakan
fungsi int. Hasil dari inputan pengguna yang sudah dikonversi disimpan dalam variabel tebakan.
Sebelumnya program telah menentukan bilangan acak yang disimpan dalam variabel nomor_acak.
Setelah mendapatkan input dari pengguna, program masuk kedalam alur kontrol if. Jika tebakan dan
nomor acak sama maka tampilkan pesan berhasil, jika tebakan kurang dari nomor acak maka tampilkan
pesan tebakan terlalu kecil, dan terakhir berarti tebakan terlalu besar.
Statemen While
Statemen while yaitu statemen untuk perulangan, block kode akan dijalankan terus menerus
selama kondisi benar. Statemen while dapat mempunyai bagian else (opsional).
# lat10.py
# acak looping
nomor_acak = 77
berjalan = True
print 'tebak nomor acak dari 1 - 100'
while berjalan:
tebakan = int(raw_input('Tebakan anda (bil bulat): '))
if tebakan == nomor_acak:
print 'Selamat! tebakan anda benar'
print 'tapi tidak ada hadiah untuk anda :('
berjalan = False
elif tebakan < nomor_acak:
print 'tebakan anda terlalu kecil'
else:
print 'tebakan anda terlalu besar'
else:
print 'selesai'
outputnya :
tebak nomor acak dari 1 – 100
Tebakan anda (bil bulat): 20
tebakan anda terlalu kecil
Tebakan anda (bil bulat): 90
tebakan anda terlalu besar
Tebakan anda (bil bulat): 50
46
tebakan anda terlalu kecil
Tebakan anda (bil bulat): 77
Selamat! tebakan anda benar
tapi tidak ada hadiah untuk anda :(
selesai
Perulangan diatas berhenti jika berjalan (kondisi) bernilai False. True dan False yaitu obyek
bertipe boolean, dan nilai True sama dengan nilai 1, nilai False sama dengan nilai 0.
>>> True == 1
True
>>> False == 0
True
Obyek dapat dinilai atau dikonversi ke nilai boolean.
>>> bool('nama')
True
>>> bool('')
False
>>> bool(0)
False
>>> bool(-5)
True
Perulangan For (For Loop)
Statemen perulangan for ... in ... `` yaitu statemen perulangan selain while. Statemen ini
melakukan iterasi dari rangkaian obyek, berjalan melalui tiap item yang ada pada rangkaian / sequence.
Apa itu rangkaian / sequence? rangkaian yaitu koleksi item yang terurut.
# lat11.py
for i in range(1, 6):
print I
else:
print 'Perulangan sudah selesai'
outputnya :
1
2
3
4
47
5
Perulangan sudah selesai
Program ini akan mencetak rangkaian / sequence bilangan, dari 1 sampai 5. Kita membuat rangkaian
bilangan ini menggunakan fungsi builtin range. Apa yang kita lakukan yaitu memanggil fungsi range
dengan dua parameter, range akan mengembalikan rangkaian bilangan dari parameter pertama sampai
batas parameter kedua (eksklusif). Sebagai contoh range(1, 6) menghasilkan rangkaian [1, 2, 3, 4, 5].
Jika kita memanggil range dengan parameter ketiga, yaitu parameter jumlah langkah. Contoh range(1,
6, 2) mengembalikan rangkaian [1, 3, 5]. Bagian else adalah opsional dan akan selalu dijalankan
kecuali jika ada statemen break.
Statemen Break
Statemen break digunakan untuk keluar dari perulangan, misalnya keluar dari perulangan walaupun
kondisi perulangan masih True atau rangkaian / sequence belum diiterasi seluruhnya.
# lat12.py
while True:
data = raw_input('Masukkan sesuatu : ')
if data == 'keluar':
break
print 'Inputan pengguna "%s"' % data
print 'Selesai'
outputnya :
Masukkan sesuatu : alpa
Inputan pengguna "alpa"
Masukkan sesuatu : keluar
Selesai
Program ini akan terus meminta inputan pengguna dan akan berhenti ketika pengguna menginputkan
keluar.
# lat13.py
for i in range(1, 11):
print i
if i == 5:
break
else:
print "Tidak dijalankan sebab break"
48
outputnya :
1
2
3
4
5
Bagian else tidak akan dijalankan sebab perulangan tidak berhenti secara normal.
Statemen Continue
Statemen continue digunakan untuk melewati statemen yang ada dalam blok perulangan dan continue /
melanjutkan ke iterasi berikutnya.
# lat14.py
for i in range(1, 11):
if i % 2 == 0:
# skip bilangan genap
continue
print I
outputnya :
1
3
5
7
9
49
Struktur Data
Python
Sumber :
http://sakti.github.io/python101/struktur_data.html
50
Pendahuluan
Struktur Data adalah struktur yang dapat menyimpan dan mengorganisasikan kumpulan data.
Berikut struktur data yang ada dalam Python.
List
List adalah struktur data yang menyimpan koleksi data terurut, anda dapat menyimpan sequence /
rangkaian item menggunakan list.
Item dalam list ditutup menggunakan kurung siku [ ] (list literal). Setelah list dibuat anda bisa
menambah, mengurangi, dan mencari item pada list. sebab kita dapat menambah dan mengurangi
item, list bersifat mutable.
Pengenalan singkat obyek dan class
List adalah contoh penggunaan obyek dan class. Ketika kita menggunakan variabel
i dan mengisinya dengan nilai integer 5, sama dengan kita membuat obyek
(instance) i dari class (tipe) int. Anda dapat membacanya dengan help(int) untuk
membaca dokumentasi class integer.
Class mempunyai method, fungsi yang didefinisikan dalam class. Anda bisa menggunakan method ini
pada obyek class tersebut. Sebagai contoh, Python menyediakan method append untuk class list.
contoh_list.append('item 1') akan menambahkan string 'item 1' kedalam list contoh_list. Perhatikan
notasi titik untuk mengakses method pada obyek.
Class juga mempunyai field yang sama halnya variabel yang digunakan hanya untuk class. Anda bisa
menggunakan variabel / nama ini pada obyek class tersebut.
# lat25.py
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
print 'saya punya %s barang yang akan dibeli' % len(daftar_belanja)
print 'barang tersebut:'
for barang in daftar_belanja:
print barang,
print 'saya harus membeli beras'
daftar_belanja.append('beras')
print 'daftar belanja sekarang :', daftar_belanja
print 'saya akan mengurutkan daftar belanja saya'
daftar_belanja.sort()
print 'daftar belanja setelah diurutkan', daftar_belanja
print 'barang yang harus saya beli pertama', daftar_belanja[0]
barang_pertama = daftar_belanja[0]
del daftar_belanja[0]
51
print 'saya membeli', barang_pertama
print 'daftar belanja sekarang:', daftar_belanja
outputnya :
saya punya 4 barang yang akan dibeli
barang tersebut:
apel mangga wortel pisang saya harus membeli beras
daftar belanja sekarang : ['apel', 'mangga', 'wortel', 'pisang', 'beras']
saya akan mengurutkan daftar belanja saya
daftar belanja setelah diurutkan ['apel', 'beras', 'mangga', 'pisang', 'wortel']
barang yang harus saya beli pertama apel
saya membeli apel
daftar belanja sekarang: ['beras', 'mangga', 'pisang', 'wortel']
Tuple
Tuple mirip dengan list namun tuple bersifat immutable (tidak bisa diubah setelah didefinisikan).
Tuple dibuat dengan menspesifikasikan item tuple dipisahkan menggunakan tanda koma dan opsional
diapit dengan tanda kurung.
# lat26.py
kebun_binatang = ('ular python', 'gajah', 'pinguin')
print 'jumlah binatang yang ada di kebun binatang :', len(kebun_binatang)
kebun_binatang_baru = 'monyet', 'unta', kebun_binatang
print 'jumlah kandang di kebun binatang baru:', len(kebun_binatang_baru)
print 'binatang yang ada di kebun bintatang baru:', kebun_binatang_baru
print 'binatang dari kebun binatang lama:', kebun_binatang_baru[2]
print 'binatang terakhir dari kebun binatang lama:', kebun_binatang_baru[2][2]
jumlah_binatang = len(kebun_binatang_baru) - 1 + len(kebun_binatang_baru[2])
print 'jumlah binatang yang ada di kebun binatang baru :', jumlah_binatang
outputnya :
jumlah binatang yang ada di kebun binatang : 3
jumlah kandang di kebun binatang baru: 3
binatang yang ada di kebun bintatang baru: ('monyet', 'unta', ('ular python',
'gajah', 'pinguin'))
binatang dari kebun binatang lama: ('ular python', 'gajah', 'pinguin')
binatang terakhir dari kebun binatang lama: pinguin
jumlah binatang yang ada di kebun binatang baru : 5
52
Dictionary
Dictionary seperti buku alamat, dengan buku alamat anda bisa mencari alamat atau detail kontak hanya
menggunakan nama orang yang anda cari. Kita mengasosiasikan key (nama) dengan value (detail).
Catatan key harus bersifat unik, anda tidak bisa menemukan informasi yang tepat jika ada dua orang
yang mempunyai nama yang sama dalam buku alamat anda.
Anda hanya bisa menggunakan obyek immutable (seperti string) untuk key / kunci dictionary. Anda
bisa menggunakan obyek mutable atau immutable untuk value dalam dictionary.
Dictionary dispesifikasikan menggunakan pasangan key dan value diapit menggunakan kurung
kurawal, {key1: value1, key2: value2}.
# lat27.py
# ba, singkatan buku alamat
ba = {'guido': 'guido@python.org',\
'brandon': 'brandon@rhodesmill.org',\
'spammer': 'spammer@domain.com'}
print 'alamat email guido:', ba['guido']
# menghapus item
del ba['spammer']
print 'ada %s kontak di buku alamat' % len(ba)
for nama, email in ba.items():
print '%s, email: %s' % (nama, email)
# tambah entri
ba['jacob'] = 'jacob@jacobian.org'
if 'jacob' in ba:
print 'Email jacob di', ba['jacob']
outputnya :
alamat email guido: guido@python.org
ada 2 kontak di buku alamat
brandon, email: brandon@rhodesmill.org
guido, email: guido@python.org
Email jacob di jacob@jacobian.org
53
Sequence
List, tuple dan string adalah contoh dari sequence. Kita dapat melakukan tes keanggotaan, operasi
index(akses, slicing), dan iterasi pada sequence.
# lat28.py
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
nama = 'budi'
print 'Barang 0 =', daftar_belanja[0]
print 'Barang 1 =', daftar_belanja[1]
print 'Barang 2 =', daftar_belanja[2]
print 'Barang 3 =', daftar_belanja[3]
print 'Barang -1 =', daftar_belanja[-1]
print 'Barang -2 =', daftar_belanja[-2]
print 'Karakter 0 =', nama[0]
# slicing pada list
print 'Barang 1 ke 3:', daftar_belanja[1:3]
print 'Barang 2 ke terakhir:', daftar_belanja[2:]
print 'Barang 1 ke -1:', daftar_belanja[1:-1]
print 'Barang dari awal ke akhir:', daftar_belanja[:]
# slicing pada string
print 'Karakter 1 ke 3:', nama[1:3]
print 'Karakter 2 ke terakhir:', nama[2:]
print 'Karakter 1 ke -1:', nama[1:-1]
print 'Karakter dari awal ke akhir:', nama[:]
outputnya :
Barang 0 = apel
Barang 1 = mangga
Barang 2 = wortel
Barang 3 = pisang
Barang -1 = pisang
Barang -2 = wortel
Karakter 0 = b
Barang 1 ke 3: ['mangga', 'wortel']
Barang 2 ke terakhir: ['wortel', 'pisang']
Barang 1 ke -1: ['mangga', 'wortel']
Barang dari awal ke akhir: ['apel', 'mangga', 'wortel', 'pisang']
Karakter 1 ke 3: ud
Karakter 2 ke terakhir: di
Karakter 1 ke -1: ud
Karakter dari awal ke akhir: budi
54
Set
Set adalah koleksi obyek yang tidak terurut. Digunakan ketika keberadaan obyek pada koleksi lebih
penting daripada urutan dan berapa kali obyek muncul pada koleksi.
# lat29.py
negara = set(['brazil', 'rusia', 'indonesia'])
print 'indonesia' in negara
print 'amerika' in negara
negara2 = negara.copy()
negara2.add('korea')
print negara2.issuperset(negara)
negara.remove('rusia')
print negara2 & negara
print negara2.intersection(negara)
outputnya :
True
False
True
set(['brazil', 'indonesia'])
set(['brazil', 'indonesia'])
Referensi
Jika anda membuat obyek dan mengisinya ke variabel, variabel hanya me-refer ke obyek dan tidak
merepresentasikan obyek itu sendiri. Nama variabel menunjuk ke bagian memori komputer dimana
obyek disimpan. Hal ini dinamakan binding antara nama ke obyek.
# lat29.py
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
print 'assignment biasa'
daftar_saya = daftar_belanja
del daftar_belanja[0]
print 'daftar belanja:', daftar_belanja
print 'daftar saya:', daftar_saya
print 'copy obyek daftar belanja menggunakan slice [:]'
daftar_saya = daftar_belanja[:] # membuat copy
del daftar_saya[0]
print 'daftar belanja:', daftar_belanja
print 'daftar saya:', daftar_saya
55
outputnya :
assignment biasa
daftar belanja: ['mangga', 'wortel', 'pisang']
daftar saya: ['mangga', 'wortel', 'pisang']
copy obyek daftar belanja menggunakan slice [:]
daftar belanja: ['mangga', 'wortel', 'pisang']
daftar saya: ['wortel', 'pisang']
String
Tipe atau class String mempunyai method-method untuk memudahkan operasi string.
# lat30.py
nama = 'Indonesia'
if nama.lower().startswith('ind'):
print 'Nama diawal dengan "ind"'
if 'ne' in nama:
print 'Nama berisi string "ne"'
if nama.find('done') != -1:
print 'Nama berisi string "done"'
pembatas = ', '
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
print pembatas.join(daftar_belanja)
outputnya :
Nama diawal dengan "ind"
Nama berisi string "ne"
Nama berisi string "done"
apel, mangga, wortel, pisang
56
List di Python
Sumber : http://www.tutorialspoint.com/python/python_lists.htm
57
Pendahuluan
Struktur data dasar yang paling umum dalam Python adalah squence (urutan). Setiap elemen yang
berurutan tersebut memiliki sebuah alamat berbentuk nomor biasanya disebut indeks. Indeks pertama
adalah nol, indeks kedua adalah satu, dan seterusnya.
Python memiliki enam built-in tipe Squence, tetapi yang paling umum digunakan adalah List [ ] dan
Tupel ( ).
di dalam menggunakan Squence, Anda dapat melakukan operasi pengindeksan, pembagian
(pengirisan), penambahan, perkalian, dan pemeriksaan anggota pada Squence. Selain itu, Python juga
memiliki fungsi dan metode bult-in untuk mendapatkan panjang sebuah urutan, mencari elemen-
elemen di dalam sebuah urutan, mengurutkan elemen-elemen tersebut dari yang terbesar ke yang
terkecil dan masih banyak lagi.
List Python
List yaitu sekumpulan data dengan Tipe data apa saja yang di tulis di dalam sebuah tanda kurung
siku [ ] yang tiap anggota (elemen) di pisahkan dengan tanda koma ( , ). berikut ini adalah contoh
bagaimana List dibuat.
list1 = ['doni kusuma', 'anton wijaya', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
Mengakses Nilai di dalam List
Untuk mengakses nilai dalam List, gunakan tanda kurung siku [ ] dengan memberikan nilai indeks
sesuai elemen yang ingin di ambil, Berikut adalah contohnya :
list1 = ['doni kusuma', 'anton wijaya', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
print list1[1]
print list2[1:3]
outputnya :
anton wijaya
[2, 3]
untuk tanda [1:3] artinya ambil elemen pada list2 mulai dari elemen 1 sampai elemen 2.
58
Memperbarui List
Anda dapat memperbarui satu atau beberapa elemen dari List dengan memberikan indeks elemen di
dalam tanda kurung siku di sebelah kiri operator tugas ( = ), dan Anda juga dapat menambahkan
elemen dalam List dengan menggunakan metode append(). Berikut ini adalah contohnya :
list = ['doni kusuma', 'anton wijaya', 1997, 2000]
print "Nilai yang ada di index 2 : "
print list[2];
list[2] = 2001;
print "Nilai yang ada di index 2 : "
print list[2];
outputnya :
Nilai yang ada di index 2 :
1997
Nilai yang ada di index 2 :
2001
Menghapus Elemen List
Untuk menghapus sebuah elemen dari List, Anda dapat menggunakan pernyataan del jika Anda tahu
persis elemen yang akan dihapus dari List atau dengan metode remove() jika Anda tidak tahu elemen
yang ingin Anda hapus di List. Berikut ini adalah contohnya :
list = ['doni kusuma', 'anton wijaya', 1997, 2000]
print list;
del list[2];
print "Setelah nilai dari indeks ke 2 dihapus : "
print list;
outputnya :
['doni kusuma', 'anton wijaya', 1997, 2000]
Setelah nilai dari indeks ke 2 dihapus :
['doni kusuma', 'anton wijaya', 2000]
59
Operasi Dasar List
List menanggapi operator berupa + dan * dimana operator ini banyak digunakan dalam pemrosesan
String, arti operator + berarti menggabungkan dua List atau beberapa List menjadi satu List dan
operator * artinya List akan direpetasi (diulang) sebanyak N. Hasil yang akan diperoleh dari proses
operator ini tetap menjadikannya List dan bukan sebuah String.
Ekspresi Pada Python Hasil Deskripsi
len([1, 2, 3]) 3
Menghitung banyaknya elemen-elemen di
dalam sebuah List.
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Menggabungkan List.
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!',
'Hi!']
Merepeat (mengulang) elemen List sebanyak
4 kali.
3 in [1, 2, 3] True
Mengecek ke anggotaan elemen pada suatu
List. Apakah elemen 3 ada di dalam List [1,
2, 3] jika ada, hasilnya True.
for x in [1, 2, 3]:
print x, 1 2 3
Iterasi, dimana terjadi perulangan sebanyak
elemen List. X adalah variabel yang
menampung satu elemen List dalam satu kali
putaran perulangan.
Pengindeksan, pengirisan dan matrixes
sebab List adalah Squences (Urutan), pengindeksan dan pengirisan bekerja dengan cara yang sama
seperti yang dilakukan untuk string.
Asumsikan terdapat List seperti berikut :
L = ['spam', 'Spam', 'SPAM!']
Expresi pada Python Hasil Deskripsi
L[2] 'SPAM!' Offset dimulai dari nol
L[-2] 'Spam' Nilai negatif: menghitung dari kanan
L[1:] ['Spam', 'SPAM!']
Pengirisan mulai dari index ke 1
sampai indeks paling akhir.
60
Fungsi Built-in List
Fungsi cmp
Membandingkan elemen-elemen dari dua List
cmp(list1, list2)
1. list1 : Ini adalah daftar pertama yang dibandingkan dengan list2.
2. list2 : Ini adalah daftar kedua yang akan dibandingkan dengan list1.
Jika elemen-elemennya dari jenis yang sama, program akan membandingkan dan mengembalikan
hasil.Jika elemen-elemennya campuran, program akan memeriksa apakah elemen-elemennya
yaitu angka.
#!/usr/bin/python
list1, list2 = [123, 'xyz'], [456, 'abc']
print cmp(list1, list2);
print cmp(list2, list1);
list3 = list2 + [786];
print cmp(list2, list3)
outputnya :
-1
1
-1
Fungsi len
Mengembalikan nilai berupa jumlah elemen dalam List.
len(list)
#!/usr/bin/python
list1, list2 = [123, 'xyz', 'zensu'], [456, 'abc']
print "Panjang List pertama : ", len(list1);
print "Panjang List kedua : ", len(list2);
61
List yang jumlah
elemennya
akan dihitung.
outputnya :
Panjang List pertama : 3
Panjang List kedua : 2
Fungsi max
Mencari dan Mengembalikan elemen maksimum dari sebuah List.
max(list)
paramater list yaitu List yang akan di cari elemen maksimumnya.
#!/usr/bin/python
list1, list2 = [123, 'xyz', 'zensu', 'abc'], [456, 700, 200]
print "Elemen Maksimum List Pertama \t: ", max(list1);
print "Eelemen Maksimum List Kedua \t: ", max(list2);
ouputnya :
Elemen Maksimum List Pertama : zensu
Elemen Maksimum List Kedua : 700
Fungsi min
Mencari dan Mengembalikan elemen minimum dari sebuah List.
max(list)
paramater list yaitu List yang akan di cari elemen minimumnya.
#!/usr/bin/python
list1, list2 = [123, 'xyz', 'zensu', 'abc'], [456, 700, 200]
print "Elemen Maksimum List Pertama \t: ", min(list1);
print "Eelemen Maksimum List Kedua \t: ", min(list2);
outputnya :
Elemen Maksimum List Pertama : 123
Eelemen Maksimum List Kedua : 200
62
Fungsi list
Mengambil jenis Squences (urutan) lain dan merubahnya ke dalam bentuk List. Ini digunakan untuk
mengkonversi Tuple ke dalam List.
Tupel sangat mirip dengan List, perbedaannya terletak pada nilai-nilai elemen Tupel, ia tidak dapat
diubah dan unsur-unsur Tupel diletakkan antara tanda kurung biasa ( ) bukan kurung siku [ ].
list( seq )
seq yaitu parameter yang dinyatakan dalam bentuk Tuple.
#!/usr/bin/python
ini_tuple = (123, 'xyz', 'zensu', 'abc');
ini_list = list(ini_tuple)
print "List elements : ", ini_list
outputnya :
List elements : [123, 'xyz', 'zensu', 'abc']
63
Metode Built-in List
Metode append
menambahkan sebuah objek ke List yang ada.
list.append(obj)
obj adalah parameter dimana ia yaitu
