Python 1 27
Python 1 27
Kata Pengantar
Syukur alhamdulillah, ane bisa menyelesaikan penyusunan artikel untuk pembelajaran Python dasar
yang berjudul “Playing With Python” dengan edisi Bahasa Indonesia.
Ebook ini free. Boleh digunakan untuk siapapun untuk mendukung gerakan Python di Indonesia.
Ebook ini bukan karya ane, ane di sini cuma ngumpulin artikel dari berbagai sumber yang
menurut ane relevan untuk di jadikan bahan pembelajaran Python Dasar. Setiap bab udah
ane kasih link sumbernya.
Sekali lagi ane katakan :
Ebook ini free. Boleh digunakan untuk siapapun untuk mendukung gerakan Python di Indonesia.
Ebook ini bukan karya ane, ane di sini cuma ngumpulin artikel dari berbagai sumber yang
menurut ane relevan untuk di jadikan bahan pembelajaran Python Dasar. Setiap bab udah
ane kasih link sumbernya.
Niat ane cuma ngebantu biar yang pade mau belajar python ada fasilitasnya, maka ane coba
kumpulin artikel ( bukan nulis, cuma ngumpulin abis itu di editing biar rapih ke dalam bentuk
ebook) untuk berbagi ke orang yang pengen belajar python.
Ente bisa langsung ke sumbernya di sini :
[Link]
[Link]
dan masih ada beberapa link lain yang udah ane sertakan (tulis) pada tiap bab di ebook ini.
Ane sadar ane juga newbie, ane pengen ngebantu sesama temen yang mau belajar Python. Ebook ini
masih banyak kekurangan mohon koreksinya kembali jika terdapat program atau beberapa link yang
error atau translate yang salah. Untuk kemajuan Python di Indonesia. Salam dari ane :
Pyeople :)
Jakarta, 1 September 2014
Daftar Isi
Kata Pengantar...........................................................................................................................................2
Install Python di Windows.........................................................................................................................7
Pendahuluan..........................................................................................................................................8
Tools yang dibutuhkan..........................................................................................................................8
Instal Python 2.7....................................................................................................................................9
Instal ActivePython 2.7.......................................................................................................................12
Python Dasar............................................................................................................................................15
Pendahuluan........................................................................................................................................16
Menggunakan Python sebagai kalkulator...........................................................................................16
Operasi aritmatika...............................................................................................................................17
Halo Dunia !........................................................................................................................................18
Komentar.............................................................................................................................................18
Konstanta Literal.................................................................................................................................19
Bilangan...............................................................................................................................................19
String...................................................................................................................................................19
Immutable.......................................................................................................................................19
Format String..................................................................................................................................19
Variabel...............................................................................................................................................20
Nama Pengenal...............................................................................................................................20
Tipe Data.............................................................................................................................................21
Obyek..................................................................................................................................................21
Penulisan Program Python..................................................................................................................22
Baris Logis dan Fisik......................................................................................................................22
Indentasi..........................................................................................................................................23
Variabel di Python...................................................................................................................................24
Pendahuluan........................................................................................................................................25
Kata Kunci di Python & Syarat Pembuatan Variabel.........................................................................25
Tipe Data dan Variabel Pada Python.......................................................................................................27
Pendahuluan........................................................................................................................................28
Tipe data Number................................................................................................................................29
Tipe data String...................................................................................................................................29
Menggunakan whitespace character....................................................................................................30
Contoh Penggunaan Variabel..............................................................................................................30
Operator Pada Bahasa Pemrograman Python..........................................................................................32
Pendahuluan........................................................................................................................................33
Operator Aritmatika............................................................................................................................33
Operator Pembanding..........................................................................................................................34
Operator Logika..................................................................................................................................34
Operator dan Ekspresi..............................................................................................................................35
Pendahuluan........................................................................................................................................36
Operator...............................................................................................................................................36
Operasi matematika dan pengisian variabel........................................................................................39
Urutan Evaluasi...................................................................................................................................39
Mengubah Urutan Evaluasi.................................................................................................................40
Sifat Asosiatif......................................................................................................................................40
Penggunaan If Pada Python.....................................................................................................................41
Pendahuluan........................................................................................................................................42
Menggunakan IF Tunggal...................................................................................................................42
Menggunakan IF ELSE.......................................................................................................................42
Menggunakan ELIF.............................................................................................................................42
Alur Kontrol.............................................................................................................................................44
Pendahuluan........................................................................................................................................45
Statemen If..........................................................................................................................................45
Statemen While...................................................................................................................................46
Perulangan For (For Loop)..................................................................................................................47
Statemen Break....................................................................................................................................48
Statemen Continue..............................................................................................................................49
Struktur Data Python................................................................................................................................50
Pendahuluan........................................................................................................................................51
List.......................................................................................................................................................51
Pengenalan singkat obyek dan class...............................................................................................51
Tuple....................................................................................................................................................52
Dictionary............................................................................................................................................53
Sequence..............................................................................................................................................54
Set........................................................................................................................................................55
Referensi..............................................................................................................................................55
String...................................................................................................................................................56
List di Python...........................................................................................................................................57
Pendahuluan........................................................................................................................................58
List Python..........................................................................................................................................58
Mengakses Nilai di dalam List............................................................................................................58
Memperbarui List................................................................................................................................59
Menghapus Elemen List......................................................................................................................59
Operasi Dasar List...............................................................................................................................60
Pengindeksan, pengirisan dan matrixes...............................................................................................60
Fungsi Built-in List.............................................................................................................................61
Fungsi cmp.....................................................................................................................................61
Fungsi len.......................................................................................................................................61
Fungsi max.....................................................................................................................................62
Fungsi min......................................................................................................................................62
Fungsi list.......................................................................................................................................63
Metode Built-in List............................................................................................................................64
Metode append................................................................................................................................64
Metode count..................................................................................................................................64
Metode extend................................................................................................................................65
Metode index..................................................................................................................................65
Metode insert..................................................................................................................................66
Metode pop.....................................................................................................................................66
Metode remove...............................................................................................................................67
Metode reverse................................................................................................................................67
Metode sort.....................................................................................................................................68
Tuple........................................................................................................................................................69
Pendahuluan........................................................................................................................................70
Mengakses Nilai di dalam Tuple.........................................................................................................70
Mengupdate Tuple...............................................................................................................................71
Menghapus Tuple................................................................................................................................71
Operasi Dasar Tuple............................................................................................................................72
Pengindeksan dan Pemotongan...........................................................................................................72
Fungsi Built-In Tuple..........................................................................................................................73
Fungsi cmp.....................................................................................................................................73
Fungsi len.......................................................................................................................................74
Fungsi max.....................................................................................................................................74
Fungsi min......................................................................................................................................75
Fungsi tuple....................................................................................................................................75
Dictionary.................................................................................................................................................77
Pendahuluan........................................................................................................................................78
Mengakses Nilai di Dictionary............................................................................................................78
Mengupdate Dictionary.......................................................................................................................79
Menghapus Elemen-Elemen Dictionary.............................................................................................79
Key Dictionary....................................................................................................................................80
Fungsi Built-In Dictionary..................................................................................................................81
Fungsi cmp.....................................................................................................................................81
Fungsi len.......................................................................................................................................82
Fungsi str........................................................................................................................................82
Fungsi type.....................................................................................................................................83
Method Built-In Dictionary.................................................................................................................84
Method clear...................................................................................................................................84
Method copy...................................................................................................................................85
Method fromkeys............................................................................................................................85
Method get......................................................................................................................................86
Method has_key..............................................................................................................................86
Method value..................................................................................................................................87
Library Standar........................................................................................................................................88
Module getpass....................................................................................................................................89
Modul random.....................................................................................................................................89
Modul datetime....................................................................................................................................90
Modul math.........................................................................................................................................91
Modul sys............................................................................................................................................92
PYMOTW (Python Module of The Week).........................................................................................93
Fungsi (Function).....................................................................................................................................94
Pendahuluan........................................................................................................................................95
Parameter Fungsi.................................................................................................................................95
Variabel Lokal.....................................................................................................................................96
Penggunaan Statemen Global..............................................................................................................97
Nilai Argumen Default........................................................................................................................98
Keyword Argumen..............................................................................................................................98
Parameter VarArgs..............................................................................................................................99
Statemen Return..................................................................................................................................99
Doc String..........................................................................................................................................100
Modul.....................................................................................................................................................101
Pendahuluan......................................................................................................................................102
Byte-compiled (file .pyc)..................................................................................................................102
Statement from … import..................................................................................................................102
Nama Modul......................................................................................................................................103
Fungsi dir...........................................................................................................................................103
Package..............................................................................................................................................103
Input dan Output....................................................................................................................................105
Pendahuluan......................................................................................................................................106
Input dari Pengguna...........................................................................................................................106
File.....................................................................................................................................................106
Pickle.................................................................................................................................................107
Eksepsi...................................................................................................................................................108
Pendahuluan......................................................................................................................................109
Syntax Error......................................................................................................................................109
Exception...........................................................................................................................................109
Penanganan Exception......................................................................................................................110
Mengeluarkan Exception...................................................................................................................110
Try ... Finally.....................................................................................................................................111
Statemen with....................................................................................................................................111
Object-Oriented Programming...............................................................................................................113
Pendahuluan......................................................................................................................................114
this : self............................................................................................................................................114
Class..................................................................................................................................................114
Method Obyek...................................................................................................................................115
Method init........................................................................................................................................115
Variabel Class dan Variabel Obyek (Instance).................................................................................116
Inheritance.........................................................................................................................................117
Install
Python
di
Windows
Artikel ini bersumber pada :
[Link]
Pendahuluan
Phyton merupakan 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 karena mencoba sebuah tools yang diberikan teman dalam bahasa pemograman
phyton . Karena 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).
Setelah anda double klik maka akan muncul jendela instalasi seperti di bawah ini , pilih install for all
users agar bisa digunakan oleh semua user.
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.
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.
Instal ActivePython 2.7
cari file instaler ActivePython 2.7, Double klik maka akan muncul jendela instalasi seperti dibawah ini.
Kesimpulan
sebenarnya saat kita menginstall ActivePython, itu sudah termasuk menginstal tools Pythonnya.
Python Dasar
sumber : [Link]
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.
$ 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.
>>>
>>>
$ 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
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
3.0
>>> 10 % 3
1
>>> 2 % 3
2
>>> -5 % 4
3
>>> -5 % -4
-1
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!.
# [Link]
print 'Halo Dunia!'
Anda bisa membuat file [Link] 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.
$ python [Link]
Halo Dunia!
Komentar
Komentar adalah teks apapun yang diawali dengan tanda #, digunakan untuk memberikan catatan
kepada pembaca kode. Anda dapat melihat kembali [Link] untuk memberikan keterangan nama file
kita dapat memberikan komentar.
# [Link]
# [Link] adalah nama file ini
# program ini akan menampilkan 'Halo Indonesia!'
# kemudian akan menampilkan 'Halo Jakarta!'
outputnya :
Halo
Indonesia!
Halo Jakarta!
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 karena anda bisa menggunakan nilai ini secara
langsung. Bilangan 2 selalu merepresentasikan dirinya sendiri, dinamakan konstanta karena nilainya
tidak dapat diubah.
Dalam latihan 2, 'Halo Indonesia!' dan 'Halo Jakarta!' merupakan string literal.
Bilangan
Di Python bilangan dibagi menjadi dua tipe utama - integer (bulat) dan float (pecahan). Salah satu
contoh dari integer yaitu 2 yang merupakan 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.
# [Link]
# format string menggunakan operator '%' dan method format
print '%s pergi ke %s' % ('ibu', 'pasar')
print '{0} pergi ke {1}'.format('ibu',
'pasar')
outputnya :
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 karena 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.
# [Link]
# 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
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('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)
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([Link])
Help on method_descriptor:
upper(...)
[Link]() -> string
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 [Link].
Untuk pengguna sublimetext2 anda dapat menjalakan program python menggunakan shortcut Ctrl+b.
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:
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.
# [Link]
# error indentasi
a = 10
b = 20
c = 30
total = a + b +
c nama = 'ibu'
tempat = 'kantor'
ouputnya :
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.
as elif if or yield
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.
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 :
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.
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.
Tipe Data dan
Variabel
Pada Python
sumber artikel :
[Link]
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 :
\n garis baru
\r menghapus string sebelumnya
\t tab
\v vertikal tab
\e escape
\f karakter sesudahnya pada garis baru
\b backspace
\a bell
#!/usr/bin/python
#!/usr/bin/python
p = input('Masukkan panjang :
') l = input('Masukkan lebar :
') luas = p * l
alamat1
nama_karyawan
nama_variabel_ini_sangat_panjang
#alamat
1Nomor
Operator Pada
Bahasa
Pemrograman
Python
Sumber artikel :
[Link]
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 merupakan 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 merupakan 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
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 :
outputnya :
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 :
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.
Operator
dan
Ekspresi
Sumber artikel :
[Link]
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
merupakan 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
merupakan 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
<
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 karena
x bernilai False. Pada kasus ini Python tidak akan mengevaluasi
y karena 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 [Link]-
circuit evaluasi berlaku juga disini.
# [Link]
# Operator dan ekspresi
bilangan1 = 5
bilangan2 = 3
bilangan1 = 5.0
print 'bil1 = ',
bilangan1 print 'bil2 =
', bilangan2
print '-' *
80 bilangan1
= 5
print 'bil1 = ', bilangan1
print 'bil2 = ', bilangan2
print '-' * 80
print '-' * 80
sebagai:
a = 2
a *= 3
# [Link]
total_uang = 10000
harga_barang = 5000
diskon = 0.10
total_uang -= harga_barang
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
Operator Keterangan
& Bitwise AND
<<, >> Shift
+, - Penambahan dan Pengurangan
*, /, //, % Perkalian, Pembagian, Pembagian ke
bawah, mod
+x, -x Positif, Negatif
~x Bitwise NOT / inverse
** Pangkat
[Link] Referensi atribut
x[index] Akses item
x[index1:index2] Slicing
f(argument ...) Pemanggilan fungsi
(ekspresi, ...) literal tuple
[ekspresi, ...] literal list
{key:value, ...} literal dictionary
Selain itu, tanda kurung dapat mengubah urutan evaluasi operator. Sebagai contoh (2 + 3) * 4, operasi
penambahan akan dievaluasi terlebih dahulu.
# [Link]
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).
Penggunaan
If Pada
Python
Sumber :
[Link]
[Link]
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)
outputnya :
masukkan angka = 90
Nilai A
Alur Kontrol
Sumber :
[Link]
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.
# [Link]
nomor_acak = 7
print 'tebak nomor acak dari 1 - 10'
if tebakan == nomor_acak:
print 'Selamat! tebakan anda benar'
print 'tapi tidak ada hadiah untuk anda :('
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
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 karena 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 merupakan statemen untuk perulangan, block kode akan dijalankan terus menerus
selama kondisi benar. Statemen while dapat mempunyai bagian else (opsional).
# [Link]
# acak looping
nomor_acak = 77
berjalan = True
while berjalan:
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 :
Perulangan diatas berhenti jika berjalan (kondisi) bernilai False. True dan False merupakan obyek
bertipe boolean, dan nilai True sama dengan nilai 1, nilai False sama dengan nilai 0.
>>> True == 1
True
>>> False ==
0 True
>>> bool('nama')
True
>>> bool('')
False
>>> bool(0)
False
>>> bool(-5)
True
# [Link]
else:
print 'Perulangan sudah selesai'
outputnya :
1
2
3
4
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.
# [Link]
while True:
data = raw_input('Masukkan sesuatu : ')
if data == 'keluar':
break
print 'Selesai'
outputnya :
Program ini akan terus meminta inputan pengguna dan akan berhenti ketika pengguna menginputkan
keluar.
# [Link]
if i == 5:
break
else:
print "Tidak dijalankan karena break"
outputnya :
1
2
3
4
5
Bagian else tidak akan dijalankan karena perulangan tidak berhenti secara normal.
Statemen Continue
Statemen continue digunakan untuk melewati statemen yang ada dalam blok perulangan dan continue /
melanjutkan ke iterasi berikutnya.
# [Link]
outputnya :
1
3
5
7
9
Struktur Data
Python
Sumber :
[Link]
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. Karena kita dapat menambah dan mengurangi
item, list bersifat mutable.
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.
# [Link]
del daftar_belanja[0]
print 'saya membeli', barang_pertama
print 'daftar belanja sekarang:', daftar_belanja
outputnya :
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.
# [Link]
print 'jumlah binatang yang ada di kebun binatang baru :', jumlah_binatang
outputnya :
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}.
# [Link]
# menghapus item
del ba['spammer']
# tambah entri
ba['jacob'] = 'jacob@[Link]'
if 'jacob' in ba:
print 'Email jacob di', ba['jacob']
outputnya :
# [Link]
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
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.
# [Link]
negara = set(['brazil', 'rusia', 'indonesia'])
print 'indonesia' in
negara print 'amerika' in
negara
negara2 = [Link]()
[Link]('korea')
print [Link](negara)
[Link]('rusia')
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.
# [Link]
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
print 'assignment biasa'
daftar_saya = daftar_belanja
del daftar_belanja[0]
del daftar_saya[0]
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.
# [Link]
nama = 'Indonesia'
if [Link]().startswith('ind'):
print 'Nama diawal dengan "ind"'
if 'ne' in nama:
print 'Nama berisi string
"ne"' if [Link]('done') !=
-1:
print 'Nama berisi string "done"'
print [Link](daftar_belanja)
outputnya :
Python memiliki enam built-in tipe Squence, tetapi yang paling umum digunakan adalah List [ ] dan
Tupel ( ).
List Python
List merupakan 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.
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.
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 :
outputnya :
outputnya :
2000]
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.
Fungsi cmp
Membandingkan elemen-elemen dari dua List
cmp(list1, list2)
Jika elemen-elemennya dari jenis yang sama, program akan membandingkan dan mengembalikan
[Link] elemen-elemennya campuran, program akan memeriksa apakah elemen-elemennya
merupakan angka.
#!/usr/bin/python
outputnya :
-1
1
-1
Fungsi len
Mengembalikan nilai berupa jumlah elemen dalam List.
len(list)
#!/usr/bin/python
Fungsi max
Mencari dan Mengembalikan elemen maksimum dari sebuah List.
max(list)
#!/usr/bin/python
ouputnya :
Fungsi min
Mencari dan Mengembalikan elemen minimum dari sebuah List.
max(list)
#!/usr/bin/python
outputnya :
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 )
#!/usr/bin/python
outputnya :
Metode append
menambahkan sebuah objek ke List yang ada.
[Link](obj)
obj adalah parameter dimana ia merupakan objek (string, angka dll) yang akan dimasukan ke dalam
List.
#!/usr/bin/python
outputnya :
Metode count
mengembalikan nilai hitungan berapa kali objek terdaftar di dalam List.
[Link](obj)
obj merupakan parameter dimana ini adalah objek yang akan dihitung dalam List.
#!/usr/bin/python
outputnya :
[Link](seq)
#!/usr/bin/python
[Link](bList)
outputnya :
Metode index
Mengembalikan posisi index dari objek di dalam List.
[Link](obj)
obj ialah parameter yang merupakan objek (string, angka dll) yang akan di cari indeks nya dalam
sebuah List.
#!/usr/bin/python
outputnya :
[Link](index, obj)
#!/usr/bin/python
[Link](3, 2009)
ouputnya :
Metode pop
Menghapus elemen (objek) dari List lalu mengembalikannya ke List saat setelah penghapusan.
[Link](obj=list[-1])
obj ialah parameter dimana defaultnya ia merujuk pada list yang paling kanan, bersifat opsional.
#!/usr/bin/python
outputnya :
[Link](obj)
obj ialah parameter yang berisi elemen yang akan di hapus dari sebuah List.
#!/usr/bin/python
ini_list.remove('xyz');
print "List : ", ini_list;
ini_list.remove('abc');
print "List : ", ini_list;
outputnya :
Metode reverse
membalikkan objek List di tempat.
[Link]()
#!/usr/bin/python
ini_list.reverse();
print "List : ", ini_list;
outputnya :
[Link]()
contoh dalam menggunakan metode sort untuk mengurutkan data (elemen-elemen) di dalam sebuah
List :
#!/usr/bin/python
ini_list.sort();
print "List : ", ini_list;
outputnya :
Tuple kosong ditulis sebagai dua tanda kurung yang tidak berisi nilai apapun.
tup1 = ()
Untuk menulis Tuple mengandung nilai tunggal, Anda harus menyertakan tanda koma, meskipun hanya
ada satu nilai.
tup1 = (50,)
outputnya :
tup1[0]: Python
tup2[1:5]: (2, 3, 4, 5)
Mengupdate Tuple
Tuple bersifat immutable (nilai konstan). Anda tidak dapat memperbarui atau mengubah nilai-nilai
elemen pada Tuple. Teknik lain adalah dengan mengambil bagian dari Tuple yang ada untuk
menciptakan Tuple baru seperti contoh berikut :
#!/usr/bin/python
outputnya :
Menghapus Tuple
Menghapus elemen-elemen secara individu (satu per satu) dari Tuple itu tidaklah mungkin karena sifat
Tuple itu Immutable (Tetap Nilainya). Ada cara lain untuk melakukan hal ini yaitu dengan
menggunakan kata kunci del di ikuti dengan nama Tuplenya.
print tup;
del tup;
outputnya :
Fungsi cmp
Sintaks :
cmp(tuple1, tuple2)
Parameter :
#!/usr/bin/python
-1
1
-1
Fungsi len
Sintaks :
len(tuple)
Parameter :
Nilai kembalinya berupa objek integer jumlah dari elemen-elemen yang ada di Tuple tersebut.
#!/usr/bin/python
outputnya :
Fungsi max
Sintax :
max(tuple)
Parameter :
Nilai kembalinya berupa nilai Tuple yang paling besar dari elemen lainya.
#!/usr/bin/python
Fungsi min
Sintax :
min(tuple)
Parameter :
Nilai kembalinya berupa nilai Tuple yang paling kecil dari elemen lainya.
#!/usr/bin/python
outputnya :
Fungsi tuple
Sintaks :
tuple(seq)
Parameter :
Nilai kembalinya adalah berupa Tuple, dimana dari List di konversi ke Tuple.
#!/usr/bin/python
Setiap key dan value selalu dipisahkan dengan titik dua (:), key dan value merupakan item, setiap item
dipisahkan dengan koma, dan semuanya tertutup dalam kurung kurawal. Untuk Dictionary kosong
ditulis hanya dengan dua kurung kurawal, seperti ini: {}.
#!/usr/bin/python
outputnya :
dict_mhs['Nama'] : Zensu
dict_mhs['Umur'] : 21
Mengupdate Dictionary
Anda dapat mengupdate Dictionary dengan menambahkan entri baru atau item baru (yaitu, sepasang
Key-Value), memodifikasi item yang sudah ada, atau menghapus item yang ada seperti ditunjukkan
di bawah ini :
#!/usr/bin/python
outputnya :
dict_mhs['Umur'] : 22
dict_mhs['Email'] : zenuszen@[Link]
#!/usr/bin/python
Key Dictionary
Nilai-nilai (Value) di dalam Doctionary tidak terbatas. Nilai-nilai ini bersifat bebas artinya Objeknya
sembarang, baik objek standar atau objek yang ditetapkan si programmernya. ini tidak berlaku pada
Kunci (Key).
ada dua hal penting untuk selalu Anda ingat tentang Key Dictionary :
1. Tidak boleh memiliki key duplikat atau key yang sama dalam satu Dictionary yang sama.
Jika masih terdapat dua Key duplikat atau sama, maka saat mengakses value dengan key
tersebut, key terakhir lah yang akan di ambil valuenya.
#!/usr/bin/python
outputnya :
dict_mhs['Nama']: Yanzen
2. Kunci bersifat Immutable (tetap/konstan). Ini artinya Anda hanya dapat menggunakan string,
numerik (angka) atau Tuple sebagai key pada Dictionary tersebut. Tidak diperbolehkan
menggunakan List (karena sifat List Mutable / dapat berubah). Berikut ini adalah contohnya :
#!/usr/bin/python
outputnya :
Fungsi cmp
Sintaks :
cmp(dict1, dict2)
Parameter :
1. dict1 → ini adalah Dictionary pertama yang akan dibandingkan dengan Dictionary kedua.
2. dict2 → ini adalah Dictionary kedua sebagai perbandingan dari Dictionary pertama.
Fungsi ini mengembalikan nilai 0 jika kedua Dictionary sama, -1 jika Dictionary pertama lebih kecil
dari Dictionary kedua dan 1 jika Dictionary pertama lebih dari Dictionary kedua.
#!/usr/bin/python
outputnya :
Nilai Kembali : 1
Nilai Kembali : -1
Nilai Kembali : 1
Fungsi len
Sintaks :
len(dict)
Parameter :
#!/usr/bin/python
outputnya :
Panjang dict_mhs : 3
Fungsi str
Sintaks :
str(dict)
Parameter :
dict → Dictionary.
#!/usr/bin/python
dict_mhs = {'Nama': 'Zensu', 'Umur': 21, 'Jurusan': 'TI'}
print "Equivalent String : %s" % str (dict_mhs)
outputnya :
type(dict)
Parameter :
dict → Dictionary.
#!/usr/bin/python
dict_mhs = {'Nama': 'Zensu', 'Umur': 21, 'Jurusan': 'TI'}
print "Type Variabel : %s" % type (dict_mhs)
outputnya :
Method clear
Sintaks :
[Link]()
#!/usr/bin/python
[Link]()
outputnya :
Start Len : 2
End Len : 0
Method copy
Sintaks :
[Link]()
#!/usr/bin/python
dict2 = [Link]()
print "Dictionary yang baru : %s" % str(dict2)
outputnya :
Method fromkeys
Sintaks :
[Link](seq[, value]))
Parameter :
seq → nilai List yang akan digunakan untuk menyusun key Dictionary.
value → jika parameter ini tersedia maka value akan diatur dengan isi parameter ini.
#!/usr/bin/python
dict = [Link](key_mhs)
print "Dictionary baru : %s" % str(dict)
outputnya :
[Link](key, default=None)
Parameter :
#!/usr/bin/python
outputnya :
Nilai : 21
Nilai : Never
Method has_key
Sintaks :
dict.has_key(key)
Parameter :
#!/usr/bin/python
outputnya :
Value : True
Value : False
Method value
Sintaks :
[Link]()
Parameter :
#!/usr/bin/python
outputnya :
import getpass
password = [Link]()
print 'Password anda : ',
password
outputnya :
Modul random
Modul random menyediakan fast pseudorandom number generator berdasarkan algoritma
Mersenne Twister.
import random
# random integer
print 'bilangan random antara 1<= n <= 100 : ', [Link](1,
100) print 'bilangan random antara 1<= n <= 100 : ',
[Link](1, 100) print 'bilangan random antara 1<= n <= 100 :
', [Link](1, 100)
outputnya :
import datetime
import time
sekarang = [Link]()
tanggal = [Link]()
waktu = [Link]()
[Link](5)
sekarang2 = [Link]()
outputnya :
Hari : 3
Bulan 9
:
Tahun 2014
:
Jam : 20
Menit 32
:
Detik 43
:
selisih detik : 5.001
Modul math
Modul math berisi fungsi-fungsi matematika.
# contoh penggunaan modul math
import math
# konstanta
print 'pi = ', [Link]
print 'e = ', math.e
# faktorial, n!
for i in range(1, 11):
print '%s! = %s' % (i, [Link](i))
# pangkat
print '2 pangkat 12 = ', [Link](2, 12)
# akar kuadrat
print 'akar kuadrat 10 = ', [Link](10)
# logaritma
print 'log 8 = ', [Link](8)
print 'log 8 basis 10 = ', [Link](8, 10)
print 'log 8 basis 10 = ', math.log10(8)
# trigonometri
print 'sin 90 derajat = ', [Link]([Link](90))
outputnya :
pi = 3.14159265359
e = 2.71828182846
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
2 pangkat 12 = 4096.0
akar kuadrat 10 = 3.16227766017
log 8 = 2.07944154168
log 8 basis 10 = 0.903089986992
log 8 basis 10 = 0.903089986992
sin 90 derajat = 1.0
Modul sys
Modul sys digunakan untuk mengakses konfigurasi interpreter pada saat runtime dan berinteraksi
dengan environment sistem operasi.
import sys
# argumen terminal
print [Link]
# versi python
print 'versi python: ', [Link]
# platform
print 'platform : ', [Link]
# letak python interpreter
print 'executable : ', [Link]
# byteorder
print 'byteorder : ', [Link]
# path import
print 'path import : ', [Link]
outputnya :
['D:\\codes\\php\\latihan\\[Link]']
versi python: 2.7.8 (default, Jul 2 2014, 19:50:44) [MSC v.1500 32 bit (Intel)]
platform : win32
executable : C:\Python27\[Link]
byteorder : little
modul yang diimport : {'copy_reg': <module 'copy_reg' from
'C:\Python27\lib\copy_reg.pyc'>, 'sre_compile': <module 'sre_compile' from
'C:\Python27\lib\sre_compile.pyc'>, 'locale': <module 'locale' from
'C:\Python27\lib\[Link]'>, '_sre': <module '_sre' (built-in)>, 'functools':
<module 'functools' from 'C:\Python27\lib\[Link]'>, 'encodings': <module
'encodings' from 'C:\Python27\lib\encodings\ init .pyc'>, 'site': <module 'site'
from 'C:\Python27\lib\[Link]'>, ' builtin ': <module ' builtin ' (built-in)>,
'sysconfig': <module 'sysconfig' from 'C:\Python27\lib\[Link]'>, 'operator':
<module 'operator' (built-in)>, ' main ': <module ' main ' from
'D:\codes\php\latihan\[Link]'>, 'types': <module 'types' from
'C:\Python27\lib\[Link]'>, '[Link]': None, 'msvcrt': <module
'msvcrt' (built-in)>, 'abc': <module 'abc' from 'C:\Python27\lib\[Link]'>,
'_weakrefset': <module '_weakrefset' from 'C:\Python27\lib\_weakrefset.pyc'>,
'errno': <module 'errno' (built-in)>, '[Link]': None, 'sre_constants':
<module 'sre_constants' from 'C:\Python27\lib\sre_constants.pyc'>, 're': <module
're' from 'C:\Python27\lib\[Link]'>, '_abcoll': <module '_abcoll' from
'C:\Python27\lib\_abcoll.pyc'>, 'ntpath': <module 'ntpath' from
'C:\Python27\lib\[Link]'>, '_codecs': <module '_codecs' (built-in)>, 'nt':
<module 'nt' (built-in)>, '_warnings': <module '_warnings' (built-in)>,
'genericpath': <module 'genericpath' from 'C:\Python27\lib\[Link]'>,
'stat': <module 'stat' from 'C:\Python27\lib\[Link]'>, 'zipimport': <module
'zipimport' (built-in)>, 'encodings. builtin ': None, 'warnings': <module
'warnings' from 'C:\Python27\lib\[Link]'>, 'UserDict': <module 'UserDict'
from 'C:\Python27\lib\[Link]'>, 'encodings.utf_8': <module 'encodings.utf_8'
from 'C:\Python27\lib\encodings\utf_8.pyc'>, 'encodings.cp1252': <module
'encodings.cp1252' from 'C:\Python27\lib\encodings\[Link]'>, 'sys': <module
'sys' (built-in)>, 'codecs': <module 'codecs' from 'C:\Python27\lib\[Link]'>,
'[Link]': <module 'ntpath' from 'C:\Python27\lib\[Link]'>, '_functools':
<module '_functools' (built-in)>, 'getpass': <module 'getpass' from
'C:\Python27\lib\[Link]'>, '_locale': <module '_locale' (built-in)>,
'sitecustomize': <module 'sitecustomize' from
'C:\Users\yanwar\AppData\Roaming\Appcelerator\Aptana
Studio\plugins\[Link].pydev_3.0.0.1388187472\pysrc\pydev_sitecustomize\sitecusto
[Link]'>, 'signal': <module 'signal' (built-in)>, 'traceback': <module
'traceback' from 'C:\Python27\lib\[Link]'>, 'linecache': <module 'linecache'
from 'C:\Python27\lib\[Link]'>, '[Link]': <module
'[Link]' from 'C:\Python27\lib\encodings\[Link]'>, 'exceptions':
<module 'exceptions' (built-in)>, 'sre_parse': <module 'sre_parse' from
'C:\Python27\lib\sre_parse.pyc'>, 'os': <module 'os' from
'C:\Python27\lib\[Link]'>, '_weakref': <module '_weakref' (built-in)>}
modul built-in : (' builtin ', ' main ', '_ast', '_bisect', '_codecs',
'_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr',
'_codecs_tw', '_collections', '_csv', '_functools', '_heapq', '_hotshot', '_io',
'_json', '_locale', '_lsprof', '_md5', '_multibytecodec', '_random', '_sha',
'_sha256', '_sha512', '_sre', '_struct', '_subprocess', '_symtable', '_warnings',
'_weakref', '_winreg', 'array', 'audioop', 'binascii', 'cPickle', 'cStringIO',
'cmath', 'datetime', 'errno', 'exceptions', 'future_builtins', 'gc', 'imageop',
'imp', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'operator',
'parser',
'signal', 'strop', 'sys', 'thread', 'time', 'xxsubtype', 'zipimport', 'zlib')
path import : ['D:\\codes\\php\\latihan', 'C:\\Python27\\DLLs',
'C:\\Python27\\lib', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27',
'C:\\Users\\yanwar\\AppData\\Roaming\\Python\\Python27\\site-packages',
'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\win32',
'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-
packages\\Pythonwin', 'C:\\Users\\yanwar\\AppData\\Roaming\\Python\\Python27\\site-
packages\\PIL', 'C:\\Users\\yanwar\\AppData\\Roaming\\Python\\Python27\\site-
packages\\wx-2.8-msw-unicode', 'C:\\Windows\\system32\\[Link]',
'C:\\Python27\\lib\\plat-win']
# [Link]
def halo_dunia():
print 'Halo
Dunia!'
outputnya :
Halo Dunia!
Halo Dunia!
Parameter Fungsi
Fungsi dapat membaca parameter, parameter adalah nilai yang disediakan kepada fungsi, dimana nilai
ini akan menentukan output yang akan dihasilkan fungsi.
Parameter dikirim dalam tanda kurung saat pemanggilan fungsi. Nilai parameter saat pemanggilan
fungsi dinamakan argument.
# [Link]
def halo(nama):
print 'Halo %s!' % nama
cetak_maksimal(10, 100)
x = 9
y = 3
cetak_maksimal(x, y)
outputnya :
Halo Dunia!
Halo
Indonesia!
100 merupakan nilai maksimal
9 merupakan nilai maksimal
Variabel Lokal
Jika ada variabel yang dideklarasikan didalam blok fungsi, variabel ini tidak ada kaitannya dengan
variabel lain dengan nama yang sama diluar fungsi, dengan kata lain nama varabel hanya lokal untuk
fungsi. Hal ini disebut juga scope variabel.
# [Link]
x = 50
def fungsi(x):
fungsi(100)
outputnya :
x = 100
merubah lokal variabel x = 2
nilai x masih 50
Penggunaan Statemen Global
Dalam blok fungsi kita dapat mengakses variabel diluar fungsi, akses ini terbatas hanya akses baca.
Jika blok fungsi ingin menulis variabel diluar fungsi anda dapat menggunaan statemen global.
# [Link]
x = 50
def fungsi():
print 'x = ', x
def fungsi2():
x = 100 # menulis ke lokal variabel
print 'x = ', x
def fungsi3():
global x
x = 100
print 'x = ', x
fungsi()
print 'nilai x = ', x
fungsi2()
print 'nilai x = ', x
fungsi3()
print 'nilai x = ', x
outputnya :
x = 50
nilai x = 50
x = 100
nilai x = 50
x = 100
nilai x = 100
Nilai Argumen Default
Untuk beberapa fungsi yang ingin menyediakan paramater opsional dan menggunakan nilai default jika
pengguna tidak menyediakan argumen saat fungsi dipanggil. Anda bisa menspesifikasikan nilai default
dengan tanda sama dengan ( = ) setelah nama parameter.
# [Link]
katakan('Halo ')
katakan('Halo ', 3)
outputnya :
Halo
Halo Halo Halo
Keyword Argumen
Jika anda membuat fungsi dengan banyak parameter dan anda hanya ingin menspesifikasikan sebagian,
anda dapat menggunakan keyword argumen. Kita menggunakan nama (keyword) melainkan posisi
(argumen posisi, normal pemanggilan).
# [Link]
fungsi(3, 7)
fungsi(25, c=24)
fungsi(c=50, a=100)
outputnya :
a = 3
b = 7
c = 10
a = 25
b = 5
c = 24
a = 100
b = 5
c = 50
Parameter VarArgs
Terkadang anda ingin membuat fungsi yang dapat menerima jumlah argumen yang tida tentu, hal ini
dapat dilakukan menggunakan tanda bintang ( * ).
# [Link]
print total(1, 2, 3, 4, 5)
print total(daging=2, sayur=10, buah=3)
print total(7, 8, 5, daging=2, sayur=10, buah=3)
outputnya :
15
15
35
Statemen Return
Statemen return digunakan untuk keluar dari fungsi. Kita juga dapat menspesifikasikan nilai kembalian.
Seperti pada latihan 20 melainkan mencetak hasil jumlah dalam blok fungsi, fungsi total
mengembalikan nilai jumlah ke [Link] String
Python memiliki fitur documentation string, seringnya disebut dengan nama docstring. Docstring
berguna untuk mendokumentasikan program agar mudah untuk dipahami dan digunakan.
# [Link]
outputnya :
mencetak pesan <pesan> dengan jumlah <jumlah>
Secara interaktif anda dapat mengakses docstring dengan fungsi help.d
# [Link]
outputnya :
# [Link]
Anda dapat menggunakan kode ulang dalam program menggunakan fungsi. Bagaimana cara
menggunakan fungsi yang ada di file .py yang berbeda? jawabnya adalah modul.
File latihan yang sudah anda buat dari [Link] sampai [Link] merupakan modul. Untuk
menggunakan fungsi atau variabel yang ada di file tersebut kita dapat melakukan import.
Jika anda melakukan import suatu modul, modul tersebut akan di interpret terlebih dahulu. Untuk
optimisasi python akan membuat file byte-compiled modul tersebut dalam file .pyc sehingga import
modul tidak harus melakukan compile.
# [Link]
import lat21
from lat21 import katakan
from lat21 import katakan as hi
outputnya :
aaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Nama Modul
Setiap module memiliki nama, anda bisa mengakses nama ini menggunakan variabel name . Kita
dapat tahu apakah modul ini dijalankan standalone atau di import oleh modul lain.
Jika modul kita dijalankan standalone maka isi variabel name berisi main .
# [Link]
import lat21
print 'nama modul yang di import : ', lat21. name
outputnya :
nama mudul ini : main
nama modul yang di import : lat21
Fungsi dir
Untuk melihat isi dalam suatu modul kita dapat menggunakan fungsi builtin dir.
>>> dir(sys)
[' displayhook ', ' doc ', ' egginsert', ' excepthook ', ' name ',
' package ', ' plen', ' stderr ', ' stdin ', ' stdout ',
'_clear_type_cache', '_current_frames', '_getframe', '_mercurial', 'api_version',
'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats',
'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info',
'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags',
'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding',
'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit',
'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'last_traceback',
'last_type', 'last_value', 'long_info', 'maxint', 'maxsize', 'maxunicode',
'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform',
'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval',
'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin',
'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
Package
Sekarang anda dapat mengamati struktur program Python. Variabel ada di dalam fungsi. Fungsi dan
variabel global ada dalam modul. Bagaimana caranya mengorganisasikan modul? jawabannya adalah
Package.
Package adalah direktori yang berisi modul python dan file spesial init .py. File init .py
menandakan bahwa direktori ini merupakan package Python.
Untuk latihan kali ini, kita buat direktori lat24. Direktor ini berisi :
latihan [DIR] /
|
|_ lat24 [DIR] /
| init .py [FILE]
| [Link] [FILE]
| [Link] [FILE]
|
|_ [Link] [FILE]
init .py
# init .py
print "di jalankan ketika package di import"
[Link]
# [Link]
def balik_huruf(kata):
return kata[::-1]
[Link]
# [Link]
def lebih_besar(a, b):
if a > b:
return a
else:
return b
outputnya :
di jalankan ketika package di import
gnatad tamales
18
Input
dan
Output
Sumber :
[Link]
Pendahuluan
Akan ada situasi dimana program yang anda buat harus berinteraksi dengan pengguna. Sebagai contoh
program anda ingin mendapatkan inputan pengguna kemudian mencetak hasil operasi program. Kita
dapat melakukannya menggunakan fungsi raw_input dan statemen print.
Selain itu salah satu input/output yang umum yaitu operasi file. Kemampuan untuk membuat, membaca
dan menulis file.
# [Link]
def balik_string(teks):
return teks[::-1]
def apakah_palindrom(teks):
return teks == balik_string(teks)
if apakah_palindrom(inputan):
print 'Ya, inputan berupa palindrom'
else:
print 'Tidak, inputan bukan palindrom'
outputnya :
File
Anda bisa membuka dan menggunakan file untuk membaca atau menulis dengan membuat file obyek.
# [Link]
while True:
baris = [Link]()
if len(baris) == 0:
# EOF
break
print baris,
[Link]()
outputnya :
Pickle
Python menyediakan modul pickle untuk menyimpan obyek Python kedalam file dan membaca obyek
Python dari file.
# [Link]
import pickle
daftar_belanja_file = '[Link]'
daftar_belanja = ['apel', 'mangga', 'wortel', 'pisang']
outputnya :
Syntax Error
Syntax error, atau dikenal juga sebagai parsing error, adalah error ketika Python memparsing program
anda.
outputnya :
File "<stdin>", line 1
Print 'halo'
^
SyntaxError: invalid syntax
>>> while True print 'Hello world'
File "<stdin>", line 1
while True print 'Hello world'
^
SyntaxError: invalid
syntax
Exception
Kita akan mencoba / try membaca input dari pengguna. Tekan Ctrl-d apa yang akan terjadi.
outputnya :
Python mengeluarkan eksepsi EOFError yang berarti menemukan simbol end of file
(direpresentasikan oleh Ctrl-d) ketika program berharap tidak akan ada.
Penanganan Exception
Kita dapat menangani eksepsi menggunakan statemen try ... except. Sederhananya kita letakkan
statemen yang mungkin mengeluarkan eksepsi kedalam try-block, dan letakan kode penanganan
eksepsi kedapam except-block.
# [Link]
try:
teks = raw_input('Ketikkan sesuatu: ')
except EOFError:
print '\nKenapa sudah
EOF?' except
KeyboardInterrupt:
print '\nAnda membatalkan operasi'
else:
print 'Anda mengetikkan "%s"' % teks
outputnya :
Mengeluarkan Exception
Anda dapat mengeluarkan eksepsi menggunakan statemen raise dengan menyediakan obyek eksepsi.
Anda dapat membuat eksepsi sendiri dengan membuat class turunan Exception.
# [Link]
class InputPendekError(Exception):
"exception jika input terlalu pendek"
try:
teks = raw_input('Ketikkan sesuatu: ')
panjang = len(teks)
minimal_panjang = 3
except EOFError:
print '\nKenapa sudah
EOF?' except
KeyboardInterrupt:
print '\nAnda membatalkan operasi'
except InputPendekError as e:
print 'input terlalu pendek: panjang input: %s, minimal: %s' % ([Link],
[Link])
else:
print 'Anda mengetikkan "%s"' % teks
outputnya :
Ketikkan sesuatu: sa
input terlalu pendek: panjang input: 2, minimal: 3
# [Link]
import time
try:
f = open('[Link]')
while True:
baris = [Link]()
if len(baris) == 0:
# EOF
break
print baris,
[Link](2) # delay 2 detik
except KeyboardInterrupt:
print '\nAnda membatalkan operasi'
finally:
[Link]()
print '\nfile ditutup.'
outputnya :
Statemen with
Mendapatkan *resource* pada blok ``try`` dan melepasnya pada blok ``finally``
merupakan pola yang umum ditemukan. Oleh karena itu, anda dapat menggunakan
menggunakan statemen ``with`` yang menyediakan mekanisme diatas secara otomatis.
# [Link]
with open('[Link]') as
f: for baris in f:
print baris,
outputnya :
Ada cara lain untuk mengorganisasi program dengan menggabungkan data dan operasi yang dibungkus
dalam suatu obyek yaitu paradigma pemrograman berorientasi obyek.
Obyek memiliki field berupa variabel obyek dan method berupa fungsi obyek. Keduanya disebut
atribut obyek. Class juga dapat memiliki field class (variabel class) dan method class. Class
didefinisikan dengan keyword class.
this : self
Dalam deklarasi method pada class terdapat perbedaan yaitu ada parameter pertama yang harus
ditambahkan pada parameter fungsi. Parameter ini diberi nama self, nilai dari parameter ini menunjuk
ke obyek / instance itu sendiri.
Nilai self ini disediakan oleh Python. Contoh, ada class ClassSaya yang mempunyai instance obyek
obyeksaya. Ketika method dipanggil pada obyek [Link](arg1, arg2), secara otomatis
diubah oleh Python menjadi [Link](obyeksaya, arg1, arg2).
Class
Berikut contoh class yang sederhana.
# [Link]
class Orang:
pass
org = Orang()
print(org)
Menunjukkan variabel org adalah instance class Orang pada alamat memory 0x01800F80.
Method Obyek
Berikut contoh deklarasi method pada class.
# [Link]
class Orang:
def katakanHalo(self):
print 'Halo, apa
kabar?'
org = Orang()
[Link]()
outputnya :
Perhatikan walaupun method katakanHalo tidak membaca parameter, masih ada self pada
deklarasi method.
Method init
Ada nama-nama method spesial pada class Python. init adalah salah satunya, method ini akan
dijalankan ketika obyek dibuat. Method ini berguna untuk melakukan inisialisasi. Perhatikan garis
bawah dua kali di awal dan di akhir method (double underscore, dunder). Hal ini seperti
constructor.
# [Link]
class Orang:
def katakanHalo(self):
print 'Halo, nama saya %s, apa kabar?' % [Link]
org = Orang('budi')
[Link]()
outputnya :
# [Link]
class Orang:
# variabel class, untuk menghitung jumlah orang
total = 0
def katakanHalo(self):
print 'Halo, nama saya %s, apa kabar?' % [Link]
def total_populasi(cls):
print 'Total Orang %s' % [Link]
# method class
total_populasi = classmethod(total_populasi)
org = Orang('budi')
[Link]()
Orang.total_populasi()
org2 = Orang('andi')
[Link]()
Orang.total_populasi()
Orang.total_populasi()
outputnya :
Main Class
# base class /
superclass class
AnggotaSekolah:
def info(self):
"cetak info"
print 'Nama: %s, Umur: %s' % ([Link], [Link])
def info(self):
[Link](self)
print 'Gaji: %s' % [Link]
def info(self):
[Link](self)
print 'Nilai: %s' %
[Link]
Pemanggil
guru = Guru('Budi', 40, 3000000)
siswa = Siswa('Andi', 25, 75)
outputnya :