Dasar-dasar bahasa pemrograman Python.
Program Python dapat dijalankan dengan beberapa mode. Jika kita mengeksekusi Python interpreter tanpa argumen script Python yang telah kita buat, Python interpreter akan masuk ke mode interaktif (REPL, read-eval-print loop).
$ python
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
Kita dapat memanfaatkan Python dengan mode interaktif sebagai kalkulator.
$ python
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 1
2
>>> 40 * 2
80
>>> 40 / 5
8
>>> 9 - 10
-1
>>> 2 + 3 + 4 + 5
14
>>> 2 ** 32
4294967296
Berikut table operasi aritmatika yang ada di Python:
Operasi | Keterangan |
---|---|
+ | Menambahkan dua obyek |
- | Mengurangi obyek dengan obyek yang lain |
* | Perkalian |
** | Pangkat |
/ | Pembagian |
// | Pembagian bulat ke bawah |
% | Sisa hasil bagi (modulus) |
Contoh
Pembagian, perhatikan perbedaan antara bilangan bulat dan pecahan / desimal.
>>> 10 / 3
3
>>> 10.0 / 3
3.3333333333333335
>>> 10 / 3.0
3.3333333333333335
>>> 10.0 / 3.0
3.3333333333333335
>>> 10.0 // 3.0
3.0
>>> 10.0 // 3
3.0
Sisa hasil bagi.
>>> 10 % 3
1
>>> 2 % 3
2
>>> -5 % 4
3
>>> -5 % -4
-1
Catatan
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.
Program pertama yaitu program yang jika dijalankan akan mengeluarkan hasil teks berupa Halo Dunia!.
# lat1.py
print 'Halo Dunia!'
Anda bisa membuat file lat1.py menggunakan teks editor pilihan anda.
Catatan
Untuk catatan, anda sebaiknya menset teks editor anda agar indentasi menggunakan spasi / space sebanyak 4. Standar PEP (Python Enhancement Proposal) menyarankan agar indentasi selalu konsisten.
Setelah file lat1.py disimpan, anda dapat menjalankannya melalui terminal.
$ python lat1.py
Halo Dunia!
Jika anda menggunakan SublimeText2 anda dapat menjalankannya menggunakan menu Tools -> Build, untuk linux anda dapat menggunakan shortcut Ctrl+b.
Komentar adalah teks apapun yang diawali dengan tanda #, digunakan untuk memberikan catatan kepada pembaca kode. Anda dapat melihat kembali lat1.py, keterangan keterangan nama file ada dalam bentuk komentar.
Berikut file latihan 2, perhatikan statemen print terakhir tidak akan dieksekusi karena berupa komentar.
# lat2.py
# lat2.py adalah nama file ini
# program ini akan menampilkan 'Halo Indonesia!'
# kemudian akan menampilkan 'Halo Jakarta!'
print 'Halo Indonesia!'
print 'Halo Jakarta!'
# print 'Teks ini tidak akan dicetak.'
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.
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 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:
"""Ini adalah contoh multi-line string
saya tambahkan single quote ' dan double
quote ", tanpa perlu meng-escape \\ terlebih dahulu"""
Contoh lain:
'''Ini adalah contoh multi-line string
saya tambahkan single quote ' dan double
quote ", tanpa perlu meng-escape \\ terlebih dahulu'''
Perhatikan perbedaan antara dua contoh diatas.
String bersifat immutable yang berarti setelah string dibuat, string tersebut tidak bisa diubah.
Terkadang kita ingin membuat string dari informasi lain, untuk hal ini kita dapat menggunakan format string.
# lat3.py
# format string menggunakan operator '%' dan method format
print '%s pergi ke %s' % ('ibu', 'pasar')
print '{0} pergi ke {1}'.format('ibu', 'pasar')
print 'jumlah total: %10.3f' % 10.3333
print 'jumlah total: {0:10.3f}'.format(10.3333)
Catatan
Operator % jika digunakan untuk string bukan berarti modulus melainkan string format.
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.
Berikut aturan penamaan variabel dalam python.
# lat4.py
# menggunakan variabel
a = 10
b = 20
c = 30
total = a + b + c
nama = 'ibu'
tempat = 'kantor'
print 'jumlah total = %s' % total
print '%s pergi ke %s' % (nama, tempat)
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.
Anda menggunakan type untuk menentukan tipe data variabel / obyek yang ada.
>>> type(1)
<type 'int'>
>>> type(3.2)
<type 'float'>
>>> type(2 ** 1000)
<type 'long'>
>>> type('abc')
<type 'str'>
>>> type('a')
<type 'str'>
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(str.upper)
Help on method_descriptor:
upper(...)
S.upper() -> string
Return a copy of the string S converted to uppercase.
Berikut cara menulis program Python.
Catatan
Untuk pengguna sublimetext2 anda dapat menjalakan program python menggunakan shortcut Ctrl+b.
Baris fisik adalah apa yang anda lihat ketika anda melihat program. Baris logis adalah apa yang Python lihat sebagai statemen tunggal. Python mengasumsikan bahwa setiap baris fisik sesuai dengan baris logic.
Sebagai contoh baris logis seperti statemen print 'Halo Dunia!', jika anda menulis sebagai satu baris maka baris logis sesuai dengan baris fisik.
Catatan
Anda dapat menulis print 'Halo Dunia!' menjadi dua baris, contoh:
print \
'Halo Dunia!'
Anda juga dapat membuat beberapa baris logis menjadi satu baris fisik, contoh:
nama = 'budi'; print nama
Secara implisit, Python menyarankan menggunakan satu statemen tiap baris untuk menjadikan kode menjadi lebih mudah dibaca.
Karakter spasi penting untuk bahasa pemrogramman Python. Lebih tepatnya spasi diawal baris atau indentasi. Spasi diawal (baik berupa spasi atau tab) baris logis digunakan untuk menentukan level indentasi, yang akan mempengaruhi pengelompokan statemen.
Statemen yang mempunyai level indentasi sama masuk dalam satu kelompok yang disebut blok / block. Hal ini akan digunakan pada bab berikutnya.
# lat5.py
# error indentasi
a = 10
b = 20
c = 30
total = a + b + c
nama = 'ibu'
tempat = 'kantor'
print 'jumlah total = %s' % total
print '%s pergi ke %s' % (nama, tempat)