Dasar-Dasar Python
Adalah
kebiasaan yang baik jika sebelum membaca suatu tulisan kita mengetahui terlebih
dahulu apa yang akan kita dapatkan dari tulisan tersebut. Pengantar ini akan
memberikan petunjuk kira-kira apa yang akan Anda dapatkan setelah Anda selesai
membaca sampai di akhir tulisan.
Tulisan
ini dimaksudkan untuk memberikan pengetahuan awal pemrograman dengan bahasa
Python. Di sini tidak akan dibahas secara ditel kemampuan-kemampuan yang
dipunyai Python. Karena biasanya pembahasan ditel akan membawa kita pada uraian
yang panjang lebar dan tidak langsung pada inti permasalahan. Silakan merujuk
pada dokumentasi-dokumentasi tentang Python, yang bisa didapatkan dari situs
resmi Python di www.python.org jika ingin mendapatkan
dokumentasi lengkap. Beberapa tulisan yang membahas perbandingan Python dengan
bahasa pemrograman yang lain juga banyak bertebaran di Internet, silakan mulai
dari Google atau Yahoo!
Penjelasan
yang mengikuti pendahuluan ini akan memberi pengetahuan pada pembaca bagaimana
membuat program —yang terkadang disebut dengan skrip—dalam bahasa pemrograman
Python. Pembaca akan mampu membuat program dalam bahasa Python yang sederhana
setelah membaca tulisan ini secara lengkap. Mampu di sini berarti mengetahui
dan bisa menggunakan sintaks-sintaks dasar yang dipakai dalam Python.
Tutorial
ini dibuat sederhana dengan sebisa mungkin menghindari istilah-istilah yang
sulit kecuali kalau memang tidak bisa dihindari lagi. Ini karena penulis
mengharapkan pembaca yang tidak mempunyai latar belakang pemrograman pun bisa
mengikuti tulisan ini.
Asumsi
yang diambil oleh penLihatulis adalah interpreter Python sudah terinstal dengan
benar pada komputer Anda.
Menggunakan Mode Interaktif
Anda
dapat bekerja dengan Python secara interaktif dengan interpreter Python. Dalam
mode interaktif kita dapat bekerja seperti saat kita bekerja dalam prompt
sistem operasi. Interpreter Python bisa Anda aktifkan dengan memberi perintah
pada prompt sistem operasi:
$ python
Interpreter
Python akan menampilkan
Python 1.5.2 (#1, Feb
1 2000, 16:32:16) [GCC egcs-2.91.66 19990314
+/Linux (egcs-on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>>
Tiga
tanda lebih besar (>>>) adalah prompt utama Python. Untuk perintah
yang masih berlanjut Python akan memberikan respon dengan tanda tiga titik (...).
>>> if 1:
...
Untuk
keluar dari prompt Python menuju prompt sistem operasi Anda bisa menekan tombol
yang menghasilkan karakter akhir file, Ctrl-Z (di DOS/Windows)
atau Ctrl-D (di Unix).
Mode
interaktif sangat bermanfaat untuk mencoba perintah-perintah Python sebelum
membuat skrip. Dalam tulisan ini kita akan lebih banyak bekerja menggunakan
skrip.
Menggunakan Skrip
Kalau
Anda memakai mode interaktif saat membuat program, Anda tidak bisa menyimpannya
ke dalam media penyimpanan. Untuk mengatasi ini Anda bisa membuat skrip dengan
editor teks yang menghasilkan teks murni, misalnya Notepad atau vi. Aktifkan editor teks
Anda dan ketikkan baris-baris perintah ini:
#! /usr/bin/python
print "Belajar Python..."
# akhir file
Beri
nama skrip ini belajar.py. Skrip ini hanya akan mencetak string Belajar
Python... ke layar. Untuk menjalankan skrip ini kita hanya perlu
mengetikkan:
$ python belajar.py
pada
prompt sistem operasi.
Baris
pertama adalah khas untuk lingkungan Unix/Linux, yaitu diberikan jika skrip ini
ingin dijalankan tanpa mengetikkan interpreter yang akan menerjemahkan skrip
yang bersangkutan, tentu saja setelah mengubah hak akses dari skrip tersebut
menjadi executable. Baris ini tidak akan berpengaruh di sistem operasi Windows.
Di contoh-contoh skrip selanjutnya baris pertama akan dihapuskan untuk menghemat
tempat.
Baris
kedua berfungsi untuk mencetak string yang diapit tanda petik.
Baris
ketiga adalah keterangan, atau komentar, yang tidak akan mempengaruhi jalannya
program. Keterangan selalu diawali dengan tanda #. Jika interpreter
menemukan tanda ini maka mulai tanda ini sampai akhir baris akan dianggap
sebagai keterangan.
Membuat
variabel dalam Python sangat sederhana. Anda hanya perlu mengisikan nilai pada
sebuah variabel dengan tipe data yang Anda inginkan. Operator pengisian adalah
tanda sama-dengan (=).
Variabel
dalam Python sangat dinamis. Artinya:
- variabel tidak perlu dideklarasikan mempunyai jenis
data tertentu;
- jenis data variabel dapat berubah saat program
berjalan.
Bilangan
Python
mengenal beberapa jenis bilangan yaitu bilangan bulat (integer), bilangan
pecahan (floating point), dan bilangan kompleks. Bilangan kompleks bisa
dituliskan dengan format (real+imajinerj) atau menggunakan fungsi complex(real, imajiner). Untuk jenis data bilangan yang lain tanpa dijelaskan sudah bisa
dimengerti dari contoh berikut:
variabel_integer = 10
variabel_floating = 24.5
variabel_kompleks = 3+4j
print variabel_integer
print variabel_floating
print variabel_kompleks
Operator
matematik berfungsi dengan normal di Python seperti dalam bahasa pemrograman
yang lain. Ada beberapa catatan yang harus diperhatikan.
- Operasi pengisian beberapa variabel dengan nilai yang
sama dapat dilakukan sekali jalan.
- Tanda () dipakai untuk
mengelompokkan operasi yang harus dilakukan terlebih dahulu.
- Pembagian bilangan integer dengan bilangan integer akan
dibulatkan ke bawah.
- Bilangan integer akan dikonversikan menjadi bilangan
floating point dalam operasi yang melibatkan bilangan integer dan bilangan
floating point.
- Kita tidak dapat mengkonversikan bilangan kompleks ke
bilangan real (floating point atau integer); hanya bilangan mutlaknya yang
bisa kita dapatkan.
Contoh-contoh
berikut akan memberikan gambaran pernyataan di atas.
a = b = c = d = 0
print 'a=>',a,'b=>',b,'c=>',c,'d=>',d
x = 30 - 10 / 2
print 'x=>',x
y = (30 - 10) / 2
print 'y=>',y
print '10 / 3 =',10 / 3
print '10 / 3.5 =',10 / 3.5
print '8 * 12.4 =',8 * 12.4
print 'abs(1+9j) =',abs(1+9j)
String
String
dapat ditulis dengan tiga cara:
- diapit tanda petik tunggal;
- diapit tanda petik ganda;
- diapit tiga tanda petik tunggal atau tiga tanda petik
ganda.
Cara
yang dipakai harus disesuaikan dengan kebutuhan. Perhatikan contoh berikut:
print 'dibatasi tanda
petik tunggal'
print "dibatasi tanda petik ganda"
print
print '"petik ganda" dalam petik tunggal'
print "'petik tunggal' dalam petik ganda"
print
print '\'petik tunggal\' dalam petik tunggal harus menggunakan karakter
+escape'
print "begitu juga \"petik ganda\" dalam petik ganda"
Dari
contoh ini bisa dilihat bahwa kita tidak dapat mencetak tanda petik tunggal
dalam string yang diapit dengan tanda petik tunggal juga. Begitu pula untuk
tanda petik ganda. Tetapi kita dapat memakai apa yang disebut dengan
karakter escape. Tanda ini memberitahukan pada interpreter bahwa
karakter yang mengikutinya tidak diartikan sebagaimana lazimnya. Dalam contoh
ini, tanda petik tidak diartikan sebagai batas string jika didahului dengan
karakter escape.
Perhatikan juga contoh
berikut:
print 'Baris kalimat
ini akan nampak terlalu panjang jika \
dituliskan memanjang secara lengkap.'
print 'karakter escape diperlukan jika ingin mencetak dibaris\n baru'
print
print """String terformat dapat dicetak dengan diapit
"tiga" tanda petik tunggal maupun 'tiga' tanda petik ganda.
Dengan tanda ini string akan
dicetak seperti saat ia ditulis."""
Sehubungan dengan jenis data string ini terdapat operator khusus
untuk string yaitu operator penggabungan (concatenation operator), yaitu +, dan operator
perulangan, yaitu *.
stringA = "String
A"
stringB = "String B"
print 'stringA+stringB =',stringA+stringB
print "'-'*20 =",'-'*20
Sifat lain yang dimiliki oleh string adalah bisa diambil sebagian
dari karakter pembentuknya, karena string ini adalah array, atau deretan,
karakter. Kita dapat mengambil sebagian karakter dari string ini dengan notasi
slice. Namun karakter-karakter yang membentuk string ini tidak dapat diubah.
stringA = "String
A"
print 'stringA[4] =',stringA[4]
print 'stringA[2:6] =',stringA[2:6]
List
List disebut array dalam bahasa pemrograman yang lain. List adalah
jenis data campuran yang bisa memiliki komponen penyusun yang berbeda-beda.
Sebuah list dapat dibuat dengan dengan menggunakan tanda kurung siku, [ ]. Anggota list didaftar
dalam kurung siku tersebut dan masing-masing dipisahkan oleh tanda koma.
Sifat-sifat list bisa didaftar seperti ini:
- Komponen penyusunnya bisa diganti.
- Komponen penyusunya dapat dibaca dan dimanipulasi
secara langsung.
- Komponen penyusunnya bisa ditambah.
- Komponen penyusunnya dapat diambil dengan menunjukkan
indeksnya atau dengan notasi slice.
- Komponen penyusun sebuah list dapat juga berupa list
yang lain.
Untuk lebih jelasnya bisa dicoba skrip berikut:
x = [1,2, 'tiga',
'empat']
print x
x[1] = x[1] + 2
print x
x[1] = 'dua'
print x
x = x + ['tambahan', 1]
print x
print 'x[2] =',x[2]
print 'x[1:4] =',x[1:4]
y = ['Salman', 'AS']
x[0] = y
print x
Dictionary
Berbeda
dengan list yang memakai indeks angka untuk merujuk pada isi variabel,
dictionary memakai key untuk merujuk pada isi variabelnya.
Sifat kedua jenis data ini hanya berbeda dalam beberapa hal saja.
Untuk
mendeklarasikan sebuah dictionary, Python memakai tanda { }.
d = {'nama':'Salman
AS', 'nilai':3}
print d
print d['nama']
Untuk
mengakses anggota suatu dictionary kita memakai lambang [ ] sebagaimana halnya
list.
Dictionary
bisa mempunyai anggota sebuah list, atau dictionary lagi.
d = {'nama':'Salman
AS', 'nilai':3}
print d
nama_detail = {'depan':'Salman','tengah':'Agus','belakang':'Supriadi'}
print nama_detail
d['nama'] = nama_detail
print d
print d['nama']['depan']
nilai_detail = [3,4,2]
d['nilai'] = nilai_detail
print d
Tuple, Antara List dan String
Terdapat satu jenis data yang khas milik Python, yaitu tuple.
Jenis data ini dideklarasikan dengan tanda ( ). Anggota-anggota tuple
tidak bisa diganti dan dapat berupa bilangan atau string. Tuple dapat juga
berisi tuple yang lain, dictionary, maupun list.
menu_file = ('New',
'Open')
print menu_file
menu_edit = ('Save', 'Save AS')
menu = (menu_file, menu_edit, 'exit', ['help'])
print menu
print menu[3][0]
menu_lain = (menu_file, menu_edit, 'exit', {'faq':'faq.html',
'manual':'man.html'})
print menu_lain
Perintah Kendali
Seleksi
Satu-satunya
perintah seleksi dalam Python adalah if. Format umum perintah ini adalah:
if kondisi:
perintah_jika_kondisi_benar
elif kondisi_lain:
perintah_jika_kondisi_lain_benar
else:
perintah_jika_tak_ada_kondisi_yang_benar
Kita
dapat mencoba seleksi dengan if ini dalam modus interaktif Python.
Aktifkan interpreter Python Anda dan ketikkan baris-baris perintah ini pada
prompt Python.
>>> x = 4
>>> if
x<5:
... print "%d lebih kecil dari 5" % x
... elif
x==5:
... print "%d sama dengan 5" % x
... else:
... print "%d lebih besar dari 5"
4 lebih kecil dari 5
Untuk
menguji kondisi kita dapat menggunakan operator ==, <, <=, >, >=, dan !=.
Sesuatu
yang baru dan kita bisa perhatikan pada contoh di atas adalah cara penulisan
blok-blok program. Dalam Python blok-blok perintah ditandai dengan penulisan
kode program yang menjorok ke dalam. Setiap perintah yang mempunyai batas kiri
yang sama dianggap sebagai satu blok. Sebisa mungkin Anda harus konsisten
menggunakan karakter spasi atau karakter tabulasi untuk membuat indentasi.
Jangan mencampur antara spasi dan tabulasi. Kesalahan yang sering terjadi
dengan indentasi ini adalah terlihat dalam penampilan editor kita sudah lurus
pada batas kiri tapi ada perbedaan dalam jumlah karakter tabulasi atau spasi.
Dalam
perintah pencetakan ini kita menggunakan kode pemformatan %d. Kode ini akan diganti
dengan variabel yang mengikuti string, yaitu x. Antara string dan
variabel dipisahkan oleh tanda %. Jika ada beberapa variabel yang akan dicetak,
seluruh variabel harus dimasukkan ke dalam tanda () dan antara satu
variabel dengan yang lain dipisahkan dengan tanda koma (,). Mari kita coba dengan
interpreter Python.
>>> x=4
>>> y=2
>>> print
"x berisi %d, dan y sama dengan %d" % x,y
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: not enough arguments for format string
>>> print
"x berisi %d, dan y sama dengan %d" % (x,y)
x berisi 4, dan y sama dengan 4
Sekarang
kita terapkan seleksi ini dalam skrip yang akan memeriksa apakah suatu bilangan
adalah bilangan bulat atau bukan.
x =
input("Masukkan bilangan bulat:")
if x%2:
print "%d adalah bilangan
ganjil" % x
else:
print "%d adalah bilangan
genap" % x
Jika dijalankan, skrip
ini akan menampilkan:
$ python ganjil.py
Masukkan bilangan bulat:13
13 adalah bilangan ganjil
$ python
ganjil.py
Masukkan bilangan bulat:24
24 adalah bilangan genap
Kata
kunci input() berfungsi untuk meminta input berupa
bilangan. Bilangan ini disimpan dalam variabel x. Ekspresi x%2 akan menghasilkan
1 jika x ganjil dan 0 jika x bilangan genap.
Oleh Python, 1 akan diartikan sebagai benar dan 0 akan diartikan salah.
Perulangan
Perulangan
dengan kata kunci while mempunyai format umum sebagai berikut:
while kondisi:
perintah_jika_kondisi_benar
else:
perintah_lain
Perintah-perintah
antara while dan else akan selalu dijalankan jika kondisi benar.
Perintah-perintah di bawah else akan dijalankan jika perulangan selesai
dengan normal. Yang dimaksud dengan normal di sini adalah proses perulangan
tidak berhenti karena bertemu kata kunci break.
x = 1
while x<5:
print x
x = x + 1
else:
print 'Loop sudah selesai
dikerjakan!'
Jika
skrip di atas ditambahkan suatu kondisi yang diikuti perintah break, maka blok perintah di
bawah else tidak akan pernah dijalankan. Perhatikan
perbedaannya dengan skrip berikut:
x = 1
while x<5:
if x==3:
break
print x
x = x + 1
else:
print 'Loop sudah selesai
dikerjakan!'
Perintah
break menyebabkan dijalankannya perintah-perintah setelah blok while dan else ini.
Perintah
perulangan selain while adalah for. Format dasar
perulangan for adalah:
for variabel in objek:
perintah-perintah
else:
perintah_jika_tidak_bertemu_break
Langsung
saja ke contoh penggunaan pernyataan for ini.
for x in range(1,5):
print x
else:
print 'Perulangan selesai'
Fungsi builtin range() dalam skrip ini
menghasilkan bilangan 1 sampai 4. Hasilnya skrip akan mencetak bilangan dari 1
sampai 4 dan string Perulangan selesai.
Keistimewaan
perulangan dengan for di Python adalah dapat memroses array.
Seperti contoh di bawah ini:
y =
[10,20,30,40,50,60,70,80,90]
for x in y:
if x==50:
continue
if x>70:
break
print x
else:
print 'Perulangan selesai'
Hasil
yang akan didapat jika skrip ini dijalankan:
10 20 30 40 60 70
sumber :