You are on page 1of 24

PYTHON SELAYANG PANDANG

Haddad Sammir, 2008 – Yosero Institute (www.yosero.org)


Pengantar

Artikel ini merupakan rangkuman praktis bahasa pemprograman Python, materi yang disampaikan
ditujukan terutama sekali bagi Pembaca yang telah memahami bahasa pemprograman lain seperti C,
Java atau Perl dan ingin mengenal Python. Pembaca diharapkan telah meng-install Python pada sistem
yang digunakan dan telah dapat menjalankan interpreter Python. Khusus untuk artikel ini, hanya akan
dibahas penggunaan Python dalam sistem operasi Linux. Distro yang saya gunakan adalah OpenSUSE
10.3. Penggunaan distro yang lain seharusnya tidak mengalami kendala berarti. Jika Pembaca
menggunakan sistem operasi Windows, silahkan menyesuaikan.

Memulai Python.

Python merupakan bahasa interpreter, Anda tidak diharuskan melakukan kompilasi source code yang
telah Anda buat, interpreter python-lah yang akan melakukannya. Sama halnya dengan bahasa
pemprograman yang lain, pertama sekali Anda akan membutuhkan sebuah teks editor. Saya
menggunakan “ vi “ dan 'sesuai tradisi', kita akan segera membuat program “Hello World”.

haddad@moria:~> vi hello.py

#!/usr/bin/python
#hello.py
print "Hello World"
#eof

Ketik penggalan kode diatas dalam teks editor Anda dan simpan sebagai “ hello.py “. Perlu diingat
tanda “ # “ (pagar) merupakan baris komentar dan tidak akan dieksekusi oleh interpreter, jika Anda
pernah menggunakan Perl tentu Anda sudah familiar dengan ini. Sedangkan statement “ print “Hello
World” “ adalah statement utama pada program ini dimana fungsi “ print “ digunakan untuk mencetak
string “Hello World” pada layar. Tanda kutip digunakan untuk merepresentasikan string. Dalam kasus
ini, tidak masalah apakah menggunakan baik kutip tunggal ( ' ) maupun kutip ganda ( “ )

Jika Anda sudah membuat file hello.py seperti diatas, maka Anda sudah dapat langsung
menjalankannya. Silahkan ketik:

haddad@moria:~> python hello.py


Hello World

Selamat, program pertama Anda sudah berhasil dijalankan dengan sukses!

Baris paling pertama kode diatas dikenal sebagai “ shebang “. Walaupun diawali dengan “ # “ (tanda
pagar), namun dengan adanya “ ! “ (tanda seru) setelah tanda pagar, baris ini menginstruksikan bahwa
lokasi interpreter python yang digunakan berada di: /usr/bin/python . Bagi yang pernah menggunakan
bahasa pemprograman Perl, hal ini tentu sudah merupakan keseharian Anda. Untuk mengetahui lokasi
interpreter python pada sistem linux Anda, gunakan perintah:

haddad@moria:~> which python


/usr/bin/python

Sesuai dengan contoh diatas, lokasi interpreter python pada sistem saya berada di: /usr/bin/python.

Sebagaimana bahasa scripting lainnya dalam lingkungan unix, script python juga dapat dieksekusi
langsung seperti layaknya file executable. Yang perlu kita lakukan adalah mengubah mode file menjadi
“ execute “:

haddad@moria:~> chmod +x hello.py

Setelah itu, program hello.py dapat langsung dijalankan melalui shell.

haddad@moria:~> ./hello.py
Hello World

Sekedar percobaan, coba Anda hilangkan baris paling pertama program “ hello.py “ diatas, dan
jalankan seperti contoh diatas.

Ganti kode “ hello.py “ menjadi:


#hello.py
print "Hello World"
#eof

Lalu jalankan:
haddad@moria:~> ./hello.py
./hello.py: line 2: print: command not found

Setelah menjalankan program “ hello.py ” seperti contoh diatas, kita mendapatkan error: “ ./hello.py:
line 2: print: command not found “. Hal ini terjadi karena kita tidak memberi tahu komputer lokasi
interpreter python. Kurang lebih, seperti inilah fungsi “ shebang “ (“ #!/usr/bin/python “) yang telah
disampaikan diatas. Sekarang, silahkan perbaiki program Anda.

Python Interactive Interpreter

Salah satu kelebihan python adalah tersedianya “ Interactive Interpreter “. Interactive Interpreter akan
otomatis muncul jika kita memanggil interpreter python tanpa argumen.

haddad@moria:~> python
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)
[GCC 4.2.1 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Setelah tanda promt “ >>> “ Anda dapat langsung mengetikkan kode python baris per-baris dan akan
langsung dieksekusi oleh interpreter. Jika kode yang kita gunakan memiliki kelanjutan, misalnya kode
“ for “ yang dapat memiliki beberapa baris lanjutan (statement “ for “ seperti halnya pada bahasa
pemprograman lain merupakan sebuah “ blok “ statement) maka interactive interpreter akan
memberikan promt “ ... “ (titik tiga kali) sebagai tempat kita mengetikkan kode lanjutan. Setelah kode
lanjutan selesai, cukup tekan “ enter “ untuk menyudahi blok statement yang telah kita buat.
Hasil eksekusi akan ditampilkan pada baris di bawah kode yang kita ketik tanpa promt (tanda ” >>> “
atau “ ... “). Untuk beberapa jenis kode, misalnya fungsi / method / class, hasil eksekusi akan
ditampilkan setelah fungsi, method atau class tersebut dipanggil.

Contoh kode satu baris:


>>> print "Saya sedang belajar PYTHON !"
Saya sedang belajar PYTHON !

Contoh jika kode kita memiliki kelanjutan:


>>> for number in range (10):
... print number
...
0
1
2
3
4
5
6
7
8
9

Interactive interpreter memungkinkan kita menjalankan kode python secara baris per baris. Semua
variabel yang didefenisikan juga tersimpan dalam memori sehingga dapat dipanggil kembali dalam sesi
yang sama . Perhatikan contoh dibawah:

>>> a = 2
>>> b = 3
>>> c = 4
>>> print a + b + c
9

Baris pertama, kedua dan ketiga contoh kode diatas mendefenisiskan nilai variabel “ a “ dengan nilai “
2 “, “ b “ dengan nilai “ 3 “ dan “ c “ dengan nilai “ 4 “. Baris ke empat kita memanggil fungsi “ print “
untuk menampilkan nilai variabel “ a “ ditambah variabel “ b “ ditambah variabel “ c “. Dalam contoh
diatas 2 + 3 + 4 adalah 9.

Hal yang serupa juga berlaku untuk “ fungsi “, “ method “ atau “ class “. Sebagai contoh, fungsi yang
kita buat dapat dipanggil dimana saja dalam sesi yang sama.

Contoh pembuatan fungsi “ pangkat “:


>>> def pangkat():
... print "a = 2 dan b = 3, maka a + b adalah 5"
...

Pemanggilan fungsi “ pangkat “


>>> pangkat()
a = 2 dan b = 3, maka a + b adalah 5

Lebih tradisional lagi, karena interactive interpreter python mampu menjalankan kode python secara
baris-per-baris, maka secara tidak langsung interactive interpreter juga bisa berfungsi sebagai
kalkulator. Perhatikan contoh dibawah:
>>> 7 + 3
10
>>> 8 - 5
3
>>> 9 / 3
3
>>> 9 * 2
18
>>> 9 % 3
0
>>> 2 ** 3
8
>>>

Banyak sekali nilai tambah interactive interpreter python, Anda dapat menggunakannya sesuai
kebutuhan. Dan untuk saya pribadi, saya menggunakan interactive interpreter ini sebagai uji coba
penggunaan fungsi / method yang terdapat dalam modul-modul tambahan untuk python, sebelum saya
menggunakannya secara nyata dalam bentuk aplikasi siap pakai.

Saya menggunakan interactive interpreter untuk mencoba modul bluetooth pada python:
>>> import bluetooth
>>> device = bluetooth.discover_devices()
>>> for dev in device:
... alamat = dev
... nama = bluetooth.lookup_name(dev)
... print "Perangkat yang ditemukan: " + str(nama) + " dengan alamat: " + str(alamat)
...
Perangkat yang ditemukan: hax0r dengan alamat: 00:16:B8:82:00:87

Dengan adanya interactive interpreter, proses pengembangan aplikasi menjadi lebih efisien. Contoh-
contoh kode program dalam artikel ini dibuat dalam interactive interpreter. Jika Anda ingin mencoba,
jalankan interactive interpreter python dalam sistem Anda dan mulailah mengetik !.

Analisa Leksikal

Setelah mengikuti contoh-contoh yang diberikan sebelumnya, mungkin Anda melihat perbedaan
mendasar penggunaan sintak-sintak python dibandingkan dengan bahasa pemprograman lainnya. Pada
python, di setiap akhir statement tidak diharuskan memiliki titik koma (“ ; “). Boleh saja Anda
memberikan titik koma pada akhir kode anda, namun hal ini tidak diperlukan dan jika tidak hati-hati,
penggunaan titik koma bahkan bisa menghasilkan error.

Contoh penggunaan titik koma dalam python:


>>> print "Statement ini menggunakan titik koma";
Statement ini menggunakan titik koma
>>> print "Sedangkan yang ini tidak!"
Sedangkan yang ini tidak!

Menurut “ Language Reference “ dari dokumentasi python, bahasa pemprograman python dibagi
menjadi sekumpulan “ Logical Line “ atau garis / baris logika. Akhir sebuah logical lines ditandai
dengan token NEWLINE sedangkan logical lines itu sendiri dibangun dari satu atau lebih “ Phisical
Lines “.

Phisical lines merupakan sekumpulan urutan karakter, yang diakhiri dengan “ end-of-line “. Dalam
Unix end-of-line ditandai dengan karakter ASCII LF (Line Feed). Pada Windows, end-of-line ditandai
dengan karakter ASCII CR LF (Cariage Return diikuti dengan Line Feed). Lain halnya dengan
Machintosh, menggunakan ASCII CR (Cariage Return) sebagai end-of-line. Hal ini tidak menjadi
masalah dalam source code, karena python akan mengikuti bentuk yang digunakan oleh platform
dimana ia berjalan.

Sederhananya, interpreter python memisahkan statement python dengan baris baru. Tidak seperti
bahasa pemprograman lain yang menggunakan semicolon “ ; “ untuk memisahkan statement.

>>> print "statement ini salah" print "karena tidak dipisahkan dengan baris bari \
(NEWLINE\)"
File "<stdin>", line 1
print "statement ini salah" print "karena tidak dipisahkan dengan baris bari \
(NEWLINE\)"
^
SyntaxError: invalid syntax

Cara yang benar menuliskan statement python adalah memisahkannya dengan baris baru!.

print “Ini adalah penulisan statement yang benar”


print “Begitu juga dengan ini”

Untuk menandakan baris komentar, seperti yang telah disampaikan diatas, python menggunakan tanda
pagar (“ # “). Setiap baris / statement yang diawali dengan tanda pagar tidak akan dieksekusi oleh
interpreter python.

>>> # ini adalah komentar


...

>>> print "Hello ..." # ini adalah komentar


Hello ...

Dalam operasi tertentu, misalnya perulangan dan percabangan, kita menggunakan sekelompok
statement yang bekerja sebagai sebuah kesatuan. Sekelompok statement tersebut haruslah berada dalam
sebuah blok. Sebagai contoh menggunakan perulangan “ for “ dalam bahasa pemprograman C, kita
menggunakan kurung kurawal “ { } “ sebagai penanda blok statement.

Lain halnya dengan python. Penanda sebuah blok program menggunakan “ identation “. Dengan
memberikan white space (spasi) dengan jumlah tertentu dan konsisten sebelum statement, akan
memberi tahu interpreter bahwa statement yang berada setelah jumlah spasi tertentu tersebut
merupakan sebuah blok program.

Perhatikan contoh dibawah:


>>> gender = "Pria"
>>> umur = 22
>>> if gender is "Pria":
... if umur >= 21:
... print "Sudah boleh menikah"
... else:
... print "Belum boleh menikah"
... else:
... if umur >= 16:
... print "Sudah boleh menikah"
... else:
... print "Belum boleh menikah"
...
Sudah boleh menikah

Contoh diatas merupakan contoh pemakaian “ if “ bersarang (nested if). Sengaja saya pilihkan agar
pembaca lebih mudah memahami konsep identasi.

Dua baris pertama contoh diatas merupakan pemberian nilai untuk variabel “ gender “ dan “ umur “.
Masing-masing diberi nilai “ Pria “ (diberi tanda kutip karena merupakan string) dan 22 (bertipe
integer). Pada baris ke tiga, kita memulai sebuah “ blok “ “ if “. Perhatikan baris statement yang
menjorok ke dalam. Saya menggunakan tiga buah spasi untuk memberi identasi dan memberi tahu
interpreter bahwa statement tersebut merupakan sebuah blok statement. Pada baris ke empat saya
memulai lagi pemakaian “ if “ yang juga memiliki blok tersendiri, maka statement di bawahnya yaitu
pada baris ke lima diberi identasi relatif terhadap statement pembuka di atasnya. Saya memberi tiga
spasi relatif terhadap statement “ if “ diatasnya.

Statement “ else “ pada baris ke enam, merupakan statement yang setingkat dengan “ if “ pada baris ke
empat karena merupakan kelanjutan logikanya. Oleh karena itu, statement “ else “ tersebut ditulis
sejajar dengan “ if “ pada baris ke empat. Begitu pula halnya dengan “ else “ yang berada pada baris ke
delapan. Dibuat sejajar dengan “ if “ pada baris ketiga karena merupakan satu kesatuan logika.

Ilustrasi di bawah akan menjelaskan penggunaan blok statement dalam pseudo code. Statement yang
memiliki background dengan warna yang sama, merupakan satu kelompok statement.

blok statement 1:
statement 1
statement 1
statement 1
blok statement 2 dalam blok statement 1:
statement 2
statement 2
statement 2
blok statement 3 dalam blok statement 2:
statement 3
statement 3
kelanjutan blok statement 3:
statement 3
kelanjutan blok statement 2:
statement 2
kelanjutan blok statement 1:
statement 1
statement 1

Jumlah spasi yang Anda berikan pada identasi boleh berapa saja, selama Anda menggunakannya secara
konsisten. Anda bisa juga menggunakan TAB untuk memberi identasi. Bahkan untuk beberapa IDE
(Integrated Development Environment) misalnya “ Komodo Edit “, akan memberikan identasi secara
otomatis.

Dalam bahasa pemprograman kita mengenal adanya “ Keywords ” yang tidak boleh dijadikan identifier
dalam penulisan program. Python memiliki sejumlah keywords yaitu:

and
del
from
not
while
as
elif
global
or
with
assert
else
if
pass
yield
break
except
import
print
class
exec
in
raise
continue
finally
is
return
def
for
lambda
try

Keywords diatas harus diketik apa adanya. Misalkan keyword “ print “ yang digunakan untuk
menampilkan string di console, tidak boleh diketik “ Print “ (dengan huruf “ P “ besar). Jika dilakukan
hal itu akan menimbulkan error.

>>> Print "Hello World"


File "<stdin>", line 1
Print "Hello World"
^
SyntaxError: invalid syntax

Python memiliki operator berikut yang digunakan untuk operasi aritmatika dan logika:
+ - * ** / // %
<< >> & | ^ ~
< > <= >= == != <>

Tidak hanya operator, python juga memiliki delimiter:


( ) [ ] { } @
, : . ` = ;
+= -= *= /= //= %=
&= |= ^= >>= <<= **=
Penggunaan delimiter adalah untuk memisahkan atau mengelompokkan identifier. Sebagai contoh
delimiter “ ( “ yang digunakan bersamaan dengan “ ) “ digunakan untuk mengelompokkan integer
dalam operasi aritmatika seperti pada contoh berikut:

>>> a = 2
>>> b = 3
>>> c = 4
>>> print (a + b) * c
20
>>> print a * (b + c)
14
>>> print a * b + c
10

Python merupakan bahasa pemprograman yang bersifat “ dinamic typing “ yang berarti Anda tidak
perlu mendeklarasikan setiap variabel. Interpreter python akan memilihkan tipe data yang cocok sesuai
dengan konteks pemberian nilai variabel.

>>> integer = 3
>>> string = "3"
>>> float = 3.0
>>> print integer + 2
5
>>> print string + "2"
32
>>> print float / 2.0
1.5

Adakalanya kita ingin mencetak string lalu menggabungkannya dengan nilai variabel. Hal ini disebut “
concatenation “. Yang perlu diperhatikan jika Anda hendak melakukan concatenation adalah setiap
variabel yang bukan bertipe string, harus diubah terlebih dahulu menjadi string sebelum digabungkan.
Hal ini bisa dilakukan dengan menjadikan identifier variabel tersebut sebagai argumen fungsi “ str() “.
Perhatikan contoh dibawah:

>>> x = 3
>>> y = 2
>>> z = 3 * 2
>>> print "Jika " + str(x) + " dikali dengan " + str(y) + " maka hasilnya adalah: "
+ str(z)
Jika 3 dikali dengan 2 maka hasilnya adalah: 6

Pada contoh diatas, statement pada baris ke empat dan ke lima (“ print “jika .... + str(z)“) diketik dalam
satu baris. Dikarenakan keterbatasan kolom dari lembar kerja OpenOffice Writer yang saya gunakan
dalam penulisan artikel ini, maka baris keempat harus dilanjutkan pada baris kelima. Dalam penulisan
statement python, tidak dibenarkan menyambung statement yang terlalu panjang ke baris dibawah.
Setiap statement harus berada dalam satu logical line. Jika suatu saat Anda menulis kode pada satu
baris yang terlalu panjang, lakukanlah “ explicit line joining “.

Explicit line joining dilakukan dengan menggunakan karakter back slash “ \ “. Perhatikan contoh di
bawah!

>>> print "Belajar \


... python"
Belajar python

Ada banyak sekali perbedaan penggunaan sintak python dibandingkan bahasa pemprograman lain.
Namun menurut pandangan saya, python memiliki konsep leksikal yang sangat unik. Pendekatan
leksikal yang dilakukan python mengarahkan bahasa pemprograman yang lebih mendekati bahasa
manusia. Ini adalah masa depan !

Variabel

Sebagai bahasa pemprograman yang bersifat dinamic typing, python tidak membutuhkan deklarasi tipe
data variabel. Yang perlu diperhatikan, pemberian nama variabel boleh apa saja asalkan tidak sama
dengan keyword.

Contoh penggunaan variabel yang salah:


>>> in = 3
File "<stdin>", line 1
in = 3
^
SyntaxError: invalid syntax
>>> print = "Hello"
File "<stdin>", line 1
print = "Hello"
^
SyntaxError: invalid syntax

Penggunaan variabel yang benar:


>>> integer = 3
>>> string = "Belajar Python" # diberi kutip
>>> float = 2.5 #menggunakan delimiter " . "

Dalam python, sebuah variabel merupakan sebuah objek. Tentu saja setiap variabel memiliki method
yang sesuai dengan tipe datanya.

>>> angka = 3
>>> angka.__ [tab][tab]
angka.__abs__ angka.__hash__ angka.__or__
angka.__ror__
angka.__add__ angka.__hex__ angka.__pos__
angka.__rpow__
angka.__and__ angka.__index__ angka.__pow__
angka.__rrshift__
angka.__class__ angka.__init__ angka.__radd__
angka.__rshift__
angka.__cmp__ angka.__int__ angka.__rand__
angka.__rsub__
angka.__coerce__ angka.__invert__ angka.__rdiv__
angka.__rtruediv__
angka.__delattr__ angka.__long__ angka.__rdivmod__
angka.__rxor__
angka.__div__ angka.__lshift__ angka.__reduce__
angka.__setattr__
angka.__divmod__ angka.__mod__ angka.__reduce_ex__
angka.__str__
angka.__doc__ angka.__mul__ angka.__repr__
angka.__sub__
angka.__float__ angka.__neg__ angka.__rfloordiv__
angka.__truediv__
angka.__floordiv__ angka.__new__ angka.__rlshift__
angka.__xor__
angka.__getattribute__ angka.__nonzero__ angka.__rmod__
angka.__getnewargs__ angka.__oct__ angka.__rmul__

Diatas merupakan daftar method yang dimiliki oleh variabel “ angka “. Pengaksesan method tersebut
dapat dilakukan dengan cara:

>>> angka.__mod__(2)
1

Dengan menggunakan delimiter “ . “ (titik) lalu diikuti nama method yang akan dipanggil beserta
argumen yang dibutuhkan, kita dapat menngakses method yang dimiliki sebuah variabel. Dalam contoh
diatas kita memanggil method “ __mod__() “ dengan argumen “ 2 “ yang akan mengembalikan
modulus 3 % 2 (ingat, variabel angka bernilai 3) yaitu “1 “. Hal ini juga berlaku untuk tipe data yang
lain seperti float dan string.

Sehubungan dengan sifat dinamic typing dalam python, python menyediakan build in function untuk
mengetahui tipe data sebuah variabel yaitu “ type() “. Penggunaan type adalah dengan memanggil
fungsi type dengan argumen berupa identifier sebuah variabel. Perhatikan contoh dibawah:

>>> angka = 3
>>> kalimat = "Belajar python"
>>> berkoma = 2.3
>>>
>>> type(angka)
<type 'int'>
>>> type(kalimat)
<type 'str'>
>>> type(berkoma)
<type 'float'>

List

List adalah variabel yang menghimpun sekumpulan. Nilai-nilai dalam sebuah list dipisahkan
menggunakan delimiter koma “ , “ dan dihimpun didalam delimiter kurung siku “ [ ] “. Nilai-nilai
dalam sebuah list tidak harus memiliki tipe yang sama.

Pemakaian List:
>>> a = ['belajar','python',1,'kali','sehari']
>>> print a
['belajar', 'python', 1, 'kali', 'sehari']

Nilai-nilai yang tersimpan dalam list dapat dipanggil satu-per-satu dengan menggunakan “ index “ yang
dimulai dari 0.

>>> myList = ["python",100,2.0]


>>> print myList[0]
python
>>> print myList[1]
100
>>> print myList[2]
2.0

Dengan mengacu kepada index, kita juga dapat mengganti nilai element list yang ditunjuk oleh index-
nya.

>>> print myList


['python', 100, 2.0]
>>> myList[1] = 555
>>> print myList
['python', 555, 2.0]

Multi dimensional list dalam python dapat dibuat dengan cara:


>>> mdList = [[2,'palado'],[200,2,6]]
>>> mdList
[[2, 'palado'], [200, 2, 6]]

Dan dapat diakses menggunakan indeks:


>>> mdList[1]
[200, 2, 6]
>>> mdList[1][2]
6
>>> mdList[0][1]
'palado'

Python memiliki “ build in function “ untuk mendapatkan jumlah elemen yang dimiliki sebuah list.
Yaitu fungsi “ len() “ yang mengembalikan nilai berupa jumlah elemen di dalam sebuah list.
Penggunaannya seperti contoh dibawah:
>>> len(mdList)
2
>>> len(mdList[0])
2
>>> len(mdList[1])
3

Fungsi len() dengan memberi argumen berupa objek list (dalam contoh “ mdList “) akan
mengembalikan nilai berupa jumlah elemen list tersebut. Namun jika elemen sebuah list, memiliki
elemen didalamnya (multi dimensional list), argumen berupa object list disertai nomor indeks elemen
yang memiliki elemen didalamnya, akan mengembalikan nilai berupa jumlah elemen yang terdapat di
dalam elemen tersebut. Perhatikan kembali contoh diatas.

Tidak hanya itu, sebagai sebuah objek. List juga memiliki built in method yang dapat diakses
menggunakan delimiter “ . “ (titik). Daftar panjang method yang dimiliki sebuah objek dapat dilihat
dengan mengetikkan nama objek diikuti dengan delimiter “ . “ lalu tekan TAB dua kali, maka
interactive interpreter akan menampilkan daftar method yang dimiliki objek tersebut.

Contoh mengakses method dari objek list:


>>> mdList. # tekan TAB dua kali
mdList.__add__ mdList.__getslice__ mdList.__ne__
mdList.append
mdList.__class__ mdList.__gt__ mdList.__new__
mdList.count
mdList.__contains__ mdList.__hash__ mdList.__reduce__
mdList.extend
mdList.__delattr__ mdList.__iadd__ mdList.__reduce_ex__
mdList.index
mdList.__delitem__ mdList.__imul__ mdList.__repr__
mdList.insert
mdList.__delslice__ mdList.__init__ mdList.__reversed__
mdList.pop
mdList.__doc__ mdList.__iter__ mdList.__rmul__
mdList.remove
mdList.__eq__ mdList.__le__ mdList.__setattr__
mdList.reverse
mdList.__ge__ mdList.__len__ mdList.__setitem__
mdList.sort
mdList.__getattribute__ mdList.__lt__ mdList.__setslice__
mdList.__getitem__ mdList.__mul__ mdList.__str__

Contoh mengakses method __len__() dari objek myList:


>>> mdList.__len__()
2

Menggunakan method yang dimiliki “ list “, kita dapat menambah dan mengurangi elemen-elemen list
tersebut.

Method “ append “ digunakan untuk menambah elemen list:


>>> myList = ['a','b',3,'python']
>>> myList
['a', 'b', 3, 'python']
>>> myList.append('boa')
>>> myList
['a', 'b', 3, 'python', 'boa']

Method “ pop “ digunakan untuk mengurangi / menghapus elemen sebuah list dengan argumen berupa
nomor indeks elemen tersbut:
>>> myList
['a', 'b', 3, 'python', 'boa']
>>> myList.pop(2)
3
>>> myList
['a', 'b', 'python', 'boa']

Dictionaries

Pada bahasa pemprograman yang lain, dictionaries dikenal juga sebagai “ associative array “ atau “
hash “. Dictionaries mirip seperti list, namun tidak di-indeks berdasarkan yrytan angka, namun
bersasarkan pasangan “ key:value “. Key yang digunakan sebagai indeks menunjuk ke value
pasangannya. Key dapat berupa string atau numbers.
Contoh membuat dictionaries:
>>> myDict = {'nama':'haddad','umur':22}
>>> myDict
{'nama': 'haddad', 'umur': 22}

Memanggil value berdasarkan key:


>>> myDict['nama']
'haddad'
>>> myDict['umur']
22
>>> print "Data mahasiswa: "+myDict['nama']+" umur: "+str(myDict['umur'])
Data mahasiswa: haddad umur: 22

Sebagai sebuah object, dictionaries juga memiliki method. Pemanggilan method yang dimiliki
dictionaries sama seperti pemanggilan method yang dimiliki “ list “. Melalui interactive interpreter kita
juga dapat mengetahui method-method apa saja yang dimiliki dictionaries. Cara mengetahuinya sama
seperti mengetahuinya sama seperti list.

Contoh penggunaan method yang dimiliki dictionaries:


>>> myDict.keys()
['nama', 'umur']
>>> myDict.values()
['haddad', 22]

Method “ keys() “ digunakan untuk menampilkan ” keys “ yang miliki sebuah dictionaries, sedangkan “
values() “ digunakan untuk menampilkan values.

Aritmatika

Dalam python operasi matematika dapat dilakukan dengan cara yang cukup sederhana. Cara yang
paling umum dilakukan adalah dengan menggunakan operator.

Aritmatika dalam python:


>>> a = 2
>>> b = 3
>>> c = 4
>>> a + b # penjumlahan
5
>>> a - c # pengurangan
-2
>>> a * b # perkalian
6
>>> c / a # pembagian
2
>>> b % a # modulus
1

Python juga memiliki fungsi-fungsi yang memudahkan operasi aritmatika:


>>> z = -2
>>> abs(z) # absolute value
2

Untuk menggunakan fungsi aritmatika yang lebih kompleks gunakan method-method yang dimiliki
class “ math “:
>>> import math
>>> math.
math.__class__ math.__reduce_ex__ math.degrees math.modf
math.__delattr__ math.__repr__ math.e math.pi
math.__dict__ math.__setattr__ math.exp math.pow
math.__doc__ math.__str__ math.fabs math.radians
math.__file__ math.acos math.floor math.sin
math.__getattribute__ math.asin math.fmod math.sinh
math.__hash__ math.atan math.frexp math.sqrt
math.__init__ math.atan2 math.hypot math.tan
math.__name__ math.ceil math.ldexp math.tanh
math.__new__ math.cos math.log
math.__reduce__ math.cosh math.log10
>>> math.sqrt(9) # akar 9
3.0
>>> math.pi # PI
3.1415926535897931
>>> math.sin(30) # sin 30
-0.98803162409286183
>>> math.pow(2,8) # 2 pangkat 8
256.0

Perulangan

Perulangan dalam python sedikit berbeda dengan bahasa pemprograman lainnya. Python tidak hanya
melakukan perulangan berdasarkan perubahan urutan artimatika, namun python juga mampu mengurut
berdasarkan item-item ber-urut (sequence) seperti string dan list.

Untuk melakukan perulangan pada python, kita menggunakan keyword “ for “ yang dipasangkan
dengan “ in “. Perlu diingat, perulangan merupakan sebuah blok statement yang dalam python ditandai
dengan identasi.

Contoh perulangan berdasarkan item dalam string:


>>> kata = 'python'
>>> for i in kata:
... print i
...
p
y
t
h
o
n

Contoh perulangan berdasarkan item dalam list:


>>> keluarga = ['Ayah','Ibu','Anak','Kakek', 'Nenek']
>>> for n in keluarga:
... print 'Selamat ulang tahun '+n
...
Selamat ulang tahun Ayah
Selamat ulang tahun Ibu
Selamat ulang tahun Anak
Selamat ulang tahun Kakek
Selamat ulang tahun Nenek

>>> z = 0 # inisialisasi nilai variabel z


>>> kalimat = 'Belajar Python'
>>> kalimat.__len__() # jumlah item
14
>>> for y in kalimat:
... print z
... z += 1
...
0
1
2
3
4
5
6
7
8
9
10
11
12
13

Contoh diatas mencoba menggambarkan perulangan yang menggunakan urutan item, dalam contoh
diatas kita menggunakan string. Python juga mendukung perulangan dengan cara yang lebih tradisional
dengan menggunakan perubahan urutan aritmatika. Untuk melakukan ini, kita menggunakan built in
function “ range() “.

Perulangan menggunakan range():


>>> for i in range(10):
... print i
...
0
1
2
3
4
5
6
7
8
9

Pada contoh diatas, kita melakukan perulangan sebanyak sepuluh kali. Fungsi range() dapat digunakan
dalam beberapa bentuk, perhatkan contoh dibawah!

>>> for i in range(1,10,2):


... print i
...
1
3
5
7
9

Fungsi range() pada contoh diatas, menggunakan tiga argumen ( “ 1 “, “ 10 “, “ 2 “). Argumen pertama
merupakan awal mulai perulangan, yang kedua akhir perulangan, sedangkan yang ketiga adalah jumlah
penambahan.

Perulangan dimulai dari 1, lalu diikuti dengan 1 + 2 yaitu 3, diikuti lagi dengan 3 + 2 yaitu 5 dan begitu
seterusnya.

Fungsi range() juga dapat mengurut kebawah dengan melakukan pengurangan. Misalkan awal
perulangan adalah 10 dan akan dikurangi 1 untuk setiap perulangan hingga medapatkan nilai 0, kode
kita harus diubah menjadi:

>>> for i in range(10,0,-1):


... print i
...
10
9
8
7
6
5
4
3
2
1

Selain menggunakan “ for “, kita juga dapat melakukan perulangan dengan menggunakan “ while “.
Perulangan akan dilakukan selama acuan bernilai True. Dalam python untuk setiap number selain nol
(“ 0 “) bernilai true.

Perulangan menggunakan while:


>>> x = 3
>>> while x:
... print x
... x -= 1
...
3
2
1

Percabangan

Sama seperti bahasa pemprograman lain, python juga menggunakan “ if “ sebagai keyword. Pemakaian
“if “ lebih kurang mirip dengan “ for “, hal ini dikarenakan keyword if merupakan sebuah blok
statement.

Keyword yang umum digunakan bersama “ if “ adalah: “ else “ (selain itu) dan “ elif “ (selain itu, jika).

Perhatikan contoh dibawah:


>>> x = True
>>> if x:
... print "X bernilai benar"
... else:
... print "X bernilai salah"
...
X bernilai benar

>>> x = False
>>> if x:
... print "X bernilai benar"
... else:
... print "X bernilai salah"
...
X bernilai salah

Untuk kasus yang lebih konvensional perhatikan contoh dibawah:


>>> nilai_angka = 87
>>> if (nilai_angka > 0) and (nilai_angka <= 35):
... print "Nilai angka = " + str(nilai_angka) + " sedangkan nilai huruf = C"
... elif (nilai_angka >=36) and (nilai_angka <=70):
... print "Nilai angka = " + str(nilai_angka) + " sedangkan nilai huruf = B"
... else:
... print "Nilai angka = " + str(nilai_angka) + " sedangkan nilai huruf = A"
...
Nilai angka = 87 sedangkan nilai huruf = A

Contoh diatas mendemonstrasikan percabangan yang melibatkan operator logika “ and “. Kasus yang
diselesaikan adalah konversi nilai angka menjadi nilai huruf. Jika nilai angka besar dari nol dan kecil
sama dengan 35, maka nilai huruf adalah C. Jika nilai angka besar sama dengan 36 dan kecil sama
dengan 70 maka nilai huruf adalah B, selain itu (jika besar sama dari 71) maka nilai huruf adalah A.
Pada prinsipnya tidak jauh berbeda dengan bahasa pemprograman yang lain.

Sesuai kebutuhan, operator logika “ or “ juga bisa digunakan dalam percabangan. Perhatikan contoh
dibawah:
>>> login = False
>>> password = 'python'
>>> if (login) or (password == 'python'):
... print 'Selamat datang'
... else:
... print 'Silahkan login dahulu'
...
Selamat datang

>>> login = False


>>> password = 'sython'
>>> if (login) or (password == 'python'):
... print 'Selamat datang'
... else:
... print 'Silahkan login dahulu'
...
Silahkan login dahulu

Contoh penggunaan “ if “ di dalam “ if “ (Nested IF):


>>> gender = "Pria"
>>> umur = 22
>>> if gender is "Pria":
... if umur >= 21:
... print "Sudah boleh menikah"
... else:
... print "Belum boleh menikah"
... else:
... if umur >= 16:
... print "Sudah boleh menikah"
... else:
... print "Belum boleh menikah"
...
Sudah boleh menikah

Berikut operator yang umumnya digunakan dalam percabangan:


== Sama dengan
!= Tidak sama dengan
> Besar dari
< Kecil dari
>= Besar sama
<= Kecil sama
Fungsi

Fungsi adalah salah satu cara mengelompokkan statement. Dengan fungsi, kode yang kita buat akan
lebih mudah dibaca.

Pembuatan fungsi dalam python:


>>> def fungsi1(a,b):
... return a + b
...

Contoh diatas mendemonstrasikan pembuatan sebuah fungsi dengan nama “ fungsi1 “. Fungsi ini
menerima dua buah argumen yang diberi nama “ a “ dan “ b “. Sifat dinamic typing python
memungkinkan kita untuk tidak mendefenisikan tipe data argumen-argumen tersebut. Lalu pada baris
kedua, keyword return akan mengembalikan nilai argumen “ a “ ditambah argumen “ b “.

Menjalankan fungsi:
>>> fungsi1(1,3)
4

>>> fungsi1('Hello','World')
'HelloWorld'

Dua contoh diatas adalah hasil yang ditampilkan interactive interpreter python yang pada conoth diatas
masing-masing diberi argumen yang berbeda tipe (number dan string). Dinamic typing memungkinkan
melakukan hal ini.

>>> type(fungsi1(1,3))
<type 'int'>
>>> type(fungsi1('Hello','World'))
<type 'str'>

Built in function “ type() “ dapat digunakan untuk mengetahui tipe data nilai balik (return) “ fungsi1() “
jika menggunakan argumen berbeda.

Sehubungan dengan tipe data, nilai balik sebuah fungsi dapat langsung dikombinasikan / digunakan
bersama statement lain.

>>> for i in range(fungsi1(1,3)):


... print i
...
0
1
2
3

>>> for i in fungsi1('Hello','World'):


... print i
...
H
e
l
l
o
W
o
r
l
d

Tidak hanya itu, nilai balik sebuah fungsi adalah objek, sehingga kita dapat menggunakan method yang
sesuai dengan tipe data nilai balik fungsi tersebut.

>>> fungsi1(1,3)
4

>>> type(fungsi1(1,3))
<type 'int'>

>>> fungsi1(1,3).__str__()
'4'

>>> type(fungsi1(1,3).__str__())
<type 'str'>

Fungsi “ fungsi(1,3) “ mengembalikan nilai integer 4, sedangkan method “__str__() “ akan mengubah
nilai balik “ fungsi1(1,3) “ menjadi string.

Input Console

Python memiliki dua fungsi sederhana umtuk mengambil input dari console. Fungsi-fungsi tersebut,
pada prinsipnya sangat sederhana, sehingga pada implementasinya, kita butuh metoda pemprosesan
input yang lebih canggih agar program berjalan dengan baik tanpa mengalami kesalahan akibat input
data yang tidak diharapkan.

Fungsi pertama adalah “ raw_input() “.

>>> raw_input('Masukkan Input Anda: ')


Masukkan Input Anda: saya belajar python
'saya belajar python'

Fungsi raw_input menerima input sebagai string:


>>> type(raw_input('Input anda: '))
Input anda: 2
<type 'str'>

Untuk itu, kita perlu mengkonversikan tipe data input yang diambil melalui raw_input():
>>> kode = int(raw_input('Masukkan angka: '))
Masukkan angka: 2
>>> type(kode)
<type 'int'>
>>> kode = float(raw_input('Masukkan pecahan: '))
Masukkan pecahan: 2.3
>>> type(kode)
<type 'float'>

Fungsi kedua adalah “ input() “.


Fungsi “ input() “ mengambil input dari console, lalu mengaplikasikan string input tersebut ke fungsi “
eval() “. Fungsi ini nantinya akan mengevaluasi input menjadi nilai yang kita harapkan seperti
misalnya integer atau float. Misalnya kita meng-inputkan nilai “ 2 “, maka fungsi “ input() “ akan
memberikan nilai balik berupa integer “ 2 “. Perhatikan contoh dibawah:

>>> type(input('Input: '))


Input: 23
<type 'int'>
>>> type(input('Input: '))
Input: 2.3
<type 'float'>
>>> type(input('Input: '))
Input: python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'python' is not defined

Fungsi input akan membaca input kita sebagai sebuah expresi dan memberikan tipe data yang cocok.
Namun jika memberikan nilai string pada fungsi input(), maka akan tampil pesan kesalahan karena
string “ python “ bukanlah sebuah ekspresi.

Beberapa contoh penggunaan fungsi input():


>>> input('Input: ')
Input: 2+3/4
2
>>> input('Input: ')
Input: 2+3/4.0
2.75

Operasi File

Python memiliki prosedur sederhana dalam operasi input/output. Ada tiga langkah yang harus
dilakukan yaitu:
1. Buka file / dapatkan objek file tersebut dengan fungsi “ open() “ dan sesuaikan mode
pembukaan file (apakah Read “r”, Append “a” atau Write “w”).
2. Lakukan operasi pada objek file tersebut sesuai dengan mode yang diinginkan diatas (read,
append atau write)
3. Tutup file / objek file.

Fungsi “ open() “ membutuhkan dua parameter yaitu lokasi file bersangkutan dan mode pembukaan file
serta mengembalikan objek file.

>>> type(open("/home/haddad/pyfile", "r"))


<type 'file'>

Operasi file nantinya akan dilakukan melalui objek file ini. Perhatikan contoh dibawah:
>>> objek_file = open("/home/haddad/pyfile", "w")
>>> objek_file.write("Python selayang pandang")
>>> objek_file.close()

“ objek_file “ merupakan identifier terhadap objek file yaitu file “ pyfile “ yang terdapat dalam
direktori “ /home/haddad “. File tersebut dibuka dengan mode write (“w”), berarti operasi yang dapat
kita lakukan terhadap file tersebut adalah “menulis”.

Method “ write() “ yang dimiliki objek_file digunakan untuk menulis string ke dalam file pyfile. Sesuai
contoh diatas, kita menulis baris “Python selayang pandang” ke pyfile. Lalu prosedur ini diakhiri
dengan method “ close() “

haddad@moria:~> less pyfile


Python selayang pandang
pyfile lines 1-1/1 (END)

Sampai saat ini, kita telah memiliki sebuah file bernama pyfile pada direktori /home/haddad.

Untuk menampilkan isi file tersebut, kita cukup mengubah mode operasi file menjadi read dan
menggunakan method “ read() “ dari objek file. Perhatikan contoh dibawah:
>>> objek_file = open("/home/haddad/pyfile", "r")
>>> print objek_file.read()
Python selayang pandang
>>> objek_file.close()

Untuk menambah isi sebuah file, mode yang kita gunakan adalah Append “a”.
>>> objek_file = open("/home/haddad/pyfile", "a")
>>> objek_file.write("\nBaris baru yang ditambahkan kedalam file")
>>> objek_file.close()

Perhatikan “ \n “, escape character ini digunakan untuk memberikan baris baru pada file.

Python OOP

Pada prinsipnya, paradigma Object Oriented pada python tidak jauh berbeda dengan bahasa lainnya.
Python mengenal konsep “ class “, “ inheritance “, “ method “ dan lain-lain.

Pembuatan class dapat dilakukan dengan cara yang cukup sederhana:


>>> class manusia:
... nama = "Yosero"
... umur = 18
...

Diawali dengan keyword “ class “, defenisi sebuah class dapat dibuat dalam identasi yang menadakan
kelompok statement. Pada contoh diatas, field class terdiri dari “ nama “ yang bernilai string “Yosero”
dan umur yang bernilai integer 18.

Untuk melakukan instantiation dilakukan dengan cara:


>>> m = manusia()

Setelah itu, field dapat diakses dengan cara:


>>> print m.nama
Yosero
>>> print m.umur
18

Delimiter titik “ . “ digunakan untuk menunjuk baik itu field maupun method dari class yang telah di-
instantiasi-kan.

Pembuatan method mirip dengan pembuatan fungsi. Namun dalam mendefenisikan method, diharuskan
memasukkan “ self “ sebagai salah satu argumen. Menurut dokumentasi python, hal ini hanya konvensi
penggunaan saja.

>>> class manusia:


... nama = "Yosero"
... umur = 18
... def getNama(self):
... return self.nama
... def getUmur(self):
... return self.umur
...
>>> m = manusia()
>>> m.getNama()
'Yosero'
>>> m.getUmur()
18

Perhatikan contoh diatas, defenisi method “ getNama() “ pada dasarnya tidak memiliki argumen,
namun dalam konvensi penulisannya, kita memasukkan argumen “ self “. Jika Anda membuat method
yang memiliki argumen, Anda tetap harus memasukkan argumen ini.

Lain kasus pada baris yang terdapat “ return self.nama “ dan “ return self.umur “. Self disini berperan
menunjukkan lingkup field “ nama “ dan “ umur “ bahwa field-field tersebut berada dalam lingkup
class “ manusia “. Analoginya seperti keyword “ this “ dalam Java.

Method juga diperlakukan dengan cara yang sama, jika Anda ingin mengakses sebuah method dalam
method yang lain pada class yang sama. Anda juga diharuskan mengunakan varibel “ self “ ini.
Lebih jelasnya, coba perhatikan contoh dibawah:
>>> class aritmatika:
... def tambah(self, a, b):
... return a + b
... def tambahlagidengantiga(self, a, b):
... return self.tambah(a, b)+3
...
>>> a = aritmatika()
>>> a.tambah(2,3)
5
>>> a.tambahlagidengantiga(2,3)
8

Method “ tambahlagidengantiga() “ pada contoh diatas memanggil method “ tambah() “ untuk


dieksekusi terlebih dahulu sebelum hasilnya ditambahkan dengan tiga. Untuk itu, kita menggunakan
variabel “ self “ selelum method “ tambah() “.

Sebuah class dapat melakukan inisialisasi, yaitu satu atau sekumpulan kode yang langsung berjalan
ketika class tersebut di-instantiasi-kan. Dalam Java kita mengenalnya dengan “ constructor “.

Untuk melakukannya, Python mengharuskan kita untuk mendefenisikan method spesial “ __init__() “.
Perhatikan dua buah underscore (baris bawah) sebelum dan sesudah kata “ init “. Melalui method
spesial ini, class yang kita buat dapat menerima parameter.
>>> class mahasiswa:
... def __init__(self, nama, no_bp):
... self.nama = nama
... self.no_bp = no_bp
... def getInfo(self):
... return "Nama mahasiswa = " + str(self.nama) + " dan nomor bp = " + str(self.no_bp)
...
>>> m = mahasiswa("Haddad", "080989997")
>>> m.getInfo()
'Nama mahasiswa = Haddad dan nomor bp = 080989997'

Salah satu fitur OOP adalah inheritance. Dalam Python, inheritance atau pewarisan dapat dilakukan
dengan cara memberikan argumen berupa class yang hendak diturunkan dalam defenisi class. Contoh
dibawah akan menggambarkan pewarisan class “ manusia “ yang memiliki field “ nama “ dan “ umur “
serta method “ getInfo() “ terhadap class “ mahasiswa “ yang memiliki field “ no_bp “ dan melakukan “
overriden “ method “ getInfo() “.

>>> class manusia:


... nama = None # None = tidak terdefenisi (dapat didefenisikan kemudian)
... umur = None
... def getInfo(self):
... return (self.nama, self.umur)
...
>>> class mahasiswa(manusia): # inheritance class manusia - class manusia sebagai argumen
... no_bp = None
... def getInfo(self): # overriden method getInfo()
... return (self.nama, self.umur, self.no_bp)
...
>>> man = manusia() # instantiation class manusia
>>> man.nama = "Yosero Institute"
>>> man.umur = 1
>>> man.getInfo()
('Yosero Institute', 1)
>>>
>>> mah = mahasiswa() # instantiation class mahasiswa
>>> mah.nama = "Rindu Prada"
>>> mah.umur = 23
>>> mah.no_bp = "0405111"
>>> mah.getInfo()
('Rindu Prada', 23, '0405111')

Cukup sederhana bukan ?

Saat program mengalami kesalahan (error) pada saat dijalankan, Python memiliki mekanisme untuk
menangani kesalahan tersebut tanpa harus berhenti dieksekusi. Mekanisme ini – mirip dengan Java –
disebut “ exeception “.

Tipe-tipe exception:
>>> 1/0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
>>> "Hello" + 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> apasih + lo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'apasih' is not defined
Ada sekumpulan built in exception yang dimiliki Python, seperti contoh diatas: ZeroDivisionError,
TypeError, NameError. Untuk daftar yang lebih lengkap silahkan mengacu ke Python Library
Reference.

Sebelum masuk pada penjelasan, coba perhatikan contoh dibawah:


>>> def testInput():
... try:
... myinput = int(raw_input("Entrikan nilai integer: "))
... print "Nilai yang Anda entrikan adalah: " + str(myinput)
... except ValueError:
... print "Nilai yang Anda entrikan salah ! Harap entrikan nilai integer"
...
>>> testInput()
Entrikan nilai integer: 4
Nilai yang Anda entrikan adalah: 4
>>> testInput()
Entrikan nilai integer: t
Nilai yang Anda entrikan salah ! Harap entrikan nilai integer

Menurut dokumentasi Python, exception bekerja dengan langkah-langkah sebagai berikut:


1. Gunakan keyword “ try “. Blok statement yang berada didalam klausa try, akan dieksekusi.
2. Jika tidak ada exception terjadi, blok “ excep “ dilewatkan.
3. Jika exception terjadi selama eksekusi statement yang berada dalam blok “ try “, sisa statement
akan dilewatkan. Jika tipe exception sesuai dengan tipe yang didefenisikan pada keyword “
except “ (dalam contoh diatas ValueError), maka blok “ except “ dieksekusi dan eksekusi
program dilanjutkan kepada kode yang terletak setelah blok “ try “.
4. Jika exception terjadi dan tipenya tidak sesuai dengan tipe yang didefenisikan pada blok “
except “, exception dilanjutkan keluar blok “ try “. Jika tidak ditemukan juga kode yang akan
menanganinya (except dengan tipe yang sesuai), maka terjadi “ unhandled exception “.
Eksekusi dihentikan dan pesan error ditampilkan pada terminal.

Quo Vadis

Kode-kode yang ada dalam artikel ini, dibuat langsung mengunakan interactive interpreter. Agar dapat
tersimpan dalam sebuah file, Anda harus mengetiknya pada teks editor dan jangan lupa menggunakan “
she-bang “. Ketiklah kode-kode Python dalam teks editor sebagaimana Anda mengetiknya pada
interactive interpreter. Perhatikan identasi sesuai dengan yang telah dijelaskan pada bagian “ Analisa
Leksikal “ Sebagai konvensi pemberian suffix, kode-kode python diberi ekstensi “ .py “.

Anda bisa menemukan banyak sekali sumber-sumber di Internet yang membahas pemprograman
python. Untuk hal ini, google akan sangat membantu Anda.

Jangan lupa untuk membaca dokumentasi Python. Sebagian besar referensi yang saya gunakan dalam
pembuatan artikel ini adalah dokumentasi Python yang bisa Anda dapatkan di: www.python.org .

Selamat belajar.

[]

You might also like