Belajar Dasar-Dasar Python
Bagian: 1—Dasar-Dasar Python
Tingkat: Dasar
Tujuan: Memperkenalkan Python dan sintaks
dasarnya.
Abstrak: Cara menjalankan skrip Python,
variabel dan operator, perintah kendali seleksi dan perulangan.
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 penulis 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
>>>
+/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
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
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)
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"
print "dibatasi tanda petik ganda"
print '"petik ganda" dalam petik tunggal'
print "'petik tunggal' dalam petik ganda"
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."""
dituliskan memanjang secara lengkap.'
print 'karakter escape diperlukan jika ingin mencetak dibaris\n baru'
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
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]
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
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']
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
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
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
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
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
>>> 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
>>> 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
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
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_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!'
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!'
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
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'
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'
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
Pernyataan continue akan
menyebabkan proses berlanjut ke awal perulangan dan melewatkan
perintah-perintah yang ada di antara continue dan akhir blok perulangan.
Demikian
akhir bagian pertama. Untuk mempelajari lebih jauh lagi tunggu bagian tutorial
berikutnya.
Sumber : Salman Agus Supriadi
.
No comments:
Post a Comment
Tinggalkan Komentar...