Modul Pemogr. Python
Modul Pemogr. Python
DOSEN PENGASUH :
MUNAR, ST, M.KOM
Modul ini merupakan panduan bagi mahasiswa yang mempelajari Program Python
dengan langkah – langkah yang lebih rinci dan tercantum contoh latihan dibuat sambung
menyambung sehingga mudah difahami disertai ilustrasi yang menarik sehingga mahasiswa
dapatn menyelesaikan setiap langkah yang ada dalam modul ini.
MODUL I
1. Sejarah Python
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam
sebagaikelanjutan dari bahasa pemrograman ABC.Versi terakhir yang dikeluarkan CWI adalah
1.2Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan
Python.Versiterakhir yang dikeluarkan adalah 1.6 Tahun 2000, Guido dan para pengembang inti
Pythonpindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk
BeOpenPythonLabs.Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0,
Guido danbeberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang
dikoordinir Guido dan Python Software Foundation.Python Software Foundation adalah sebuah
organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi
2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini
distribusi Python sudah mencapai versi 2.6.1 sampai versi 3.4.3
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan Guido
pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan
khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.Saat ini
kode python dapat dijalankan di berbagai platform sistem operasi, beberapa diantaranya adalah
Linux, Windows, Mac OS X, Java Virtual Machin OS/2 dan Lain Lain.
Pada bagian ini kita dapat menentukan di mana letak file hasil instaler nantinya , opsi saya
biarkandefault. 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.
3. Install ActivePython di Windows
Siapkan Sistem/Program ActivePython 2.7.… dengan mencari atau men download di
Internet, kemudian lakukan langkah-langkah sebagai berikut untuk diinstall di Windows.
Pastikan hasil download dua buah file diatas tidak corrupt , soalnya kalau corrupt bisa terjadi
kegagalandalam instalasi.
Double klik pada File Activepython-2.7.13.2713-win…maka akan muncul jendela instalasi
seperti dibawah ini.
Pada kotak dialog dibawah ini pilih instal untuk melakukan instalasi.
Proses instalasi berjalan , tunggu sampai selesai.
Klik finish , maka phyton anda telah siap untuk digunakan , selamat berkreasi dengan
pemogramanPython.
-1 print (pg)
>>> 2 + 3 + 4 + 5 pjj=2+3+4+5
14 print (pjj)
>>> 2 ** 32 pm=2**32
4294967296 print (pm)
MODUL II
1. Operasi Aritmatika
Berikut table operasi aritmatika yang ada di Python:
Operasi Keterangan
+ Menambahkan dua obyek
- Mengurangi obyek dengan obyekyang 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
2. Type Data
Python adalah salah satu bahasa pemrograman yang bertipe Loosely Typed Language,
Artinya tidak membutuhkan atau menyertakan tipe data sewaktu Anda membuat sebuah variable.
Tipe data pada bahasa pemrograman Python mirip dengan tipe data pada bahasa pemrograman
Perl.
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 yanglain.
Perlunya Anda menggunakan type untuk menentukan tipe data variabel / obyek yang anda
ingin ketahui:
>>>type(1) >>> type('abc')
<type'int'> <type 'str'>
>>>type(3.2) >>> type('a')
<type'float'> <type 'str'>
>>> type(2 ** 1000)
<type 'long'>
Tetapi secara dasar, Python memiliki beberapa tipe data, yaitu:
Tipe data string adalah tipe data yang digunakan untuk menyimpan nilai atau value yang berupa
string atau karakter atau huruf.
Pada bahasa pemrograman Python, tipe data string dapat dibentuk dengan menggunakan petik
tunggal (single quote), petik ganda (double quote), dan petik tiga (tipple quote). Khusus untuk
triple quote, Anda dapat menggunakan beberapa baris string tanpa menggunakan escape
character '\n' (new line).
Contoh ProgramDi bawah ini adalah contoh implementasi tipe data string pada program.
# string_datatype.py
x =( "Selamat Datang")
y = ('Selamat Belajar Python')
z = ("""
belajar
bahasa python
sangat
menyenangkan
""")
print (x)
print (y)
print (z)
Apabila Anda jalankan program diatas, maka akan menghasilkan output seperti berikut:
Selamat Datang
Selamat Belajar Python
belajar
bahasa python
sangat
menyenangkan
Tipe Data Number digunakan untuk menyimpan data dalam bentuk numerik seperti int (integer),
long, float, dan bilangan kompleks (complex number).
Contoh Program
Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:
Tipe data Boolean digunakan menyimpan data yang mempunyai nilai true atau false.
Tipe data Tuples adalah tipe data yang digunakan untuk menyimpan data koleksi (kumpulan dari
beberapa tipe data). Ciri dari tipe data tuples adalah memiliki tanda kurung buka dan kurung
tutup "( )".
Contoh Program
Di bawah ini adalah contoh implementasi tipe data tuples pada program Python:
Jika Anda jalankan program diatas, maka akan menampilkan output seperti berikut:
Tipe Data List adalah tipe data yang mirip dengan tipe data tuples, yaitu untuk menyimpan data
koleksi (kumpulan data beberapa tipe data). Ciri dari tipe data tuples adalah memiliki tanda
kurung siku "[ ]".
Contoh Program
Di bawah ini adalah contoh implementasi tipe data list pada program Python:
Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:
Tipe data Dictionary adalah tipe data yang digunakan untuk menyimpan data dalam bentuk
pasangan key dan value. Tipe data ini mirip dengan Map pada bahasa pemrograman Java.
Contoh Program
Dibawah ini adalah contoh implementasi tipe data dictionary pada program Python:
Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:
3. Variabel
Hanya menggunakan konstanta literal saja cukup membosankan, kita membutuhkan cara
untukmenyimpan dan memanipulasi informasi. Untuk hal ini kita bisa menggunakan variabel.
Sepertinamanya, variabel dapat diisi dengan bermacam-macam nilai, anda dapat menyimpan
apapunmenggunakan variabel. Variabel adalah sebagian dari memori komputer yang digunakan
untukmenyimpan informasi. Berbeda dengan konstanta literal, anda membutuhkan cara untuk
mengaksesvariabel ini, oleh karena itu kita memberi nama kepada variabel.
Berikut aturan penamaan variabel dalam python.
• Karakter pertama harus berupa karakter alfabet (huruf besar atau huruf kecil ASCII,
atauunicode) 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
variable yang berbeda.
Nama sangatlah penting artinya dalam dunia pemrograman, karena nama adalah sebuah
Identitas.Saatnya kita mengintip tentang Identitas dan Kata kunci di Python.Kita telah
mempelajari sebelumnya bahwa setiap program akan selalu memanggil variabel
denganmenggunakan nama dari variabel tersebut. Setiap bahasa pemrograman memiliki aturan
sendiri-sendiriuntuk penamaan suatu variabel. Nama ini sering kita sebut sebagai Identitas
(identifier). Python tidakmengijinkan kita untuk menggunakan beberapa kata, yang termasuk
Kata Kunci (keyword), sebagainama variabel. Berikut daftar kata kunci yang terdapat dalam
Python.
Kata Kunci di Python & Syarat Pembuatan Variabel:
False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise
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.
Identitasbersifat case-sensitive, yang artinya penulisan huruf besar atau huruf kecil dianggap
berbeda.
Contohnya: klinikPython itu berbeda dengan KlinikPython.
3. Nama variabel dapat terdiri dari angka dan karakter.
4. Nama variabel harus dimulai dengan huruf atau tanda garis-bawah, dan selanjutnya boleh
diisidengan huruf, angka (0 – 9), atau garis-bawah. Karakter pertama dari nama variabel
tidak bolehberupa angka.
Secara umum, kita bisa mengikuti aturan penamaan variabel seprti berikut :
1. Nama variabel harus ringkas dan bermakna. Nama harus berhubungan dengan isi dari
variable tersebut. Contohnya, misalkan kita akan menyimpan data tentang umur siswa, maka
namavariabel yang tepat adalah umur_siswa.
2. Nama variabel secara umum ditulis dalam huruf kecil.
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.
Contoh Program :
# 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\t Camat” % (nama, tempat))
outputnya
jumlah total = 60
ibu pergi ke kantor
Menggunakan whitespace character
\n garis baru
\r menghapus string sebelumnya
\t tab
\v vertikal tab
\e escape
\f karakter sesudahnya pada garis baru
\b backspace
\a bell
Contoh Penggunaan Variabel
#!/usr/bin/python
nama = input("Siapakah namamu?\n")
print( "--------------------------------")
print ("hello " + nama + ", selamat belajar python")
#!/usr/bin/python
p = input(“Masukkan panjang : “)
l = input(“Masukkan lebar : “)
luas = int(p) * int(l)
print( "maka luas persegi panjang adalah : %d" % luas)
Python memberikan cara bagaimana kita bisa menyelesaikan algoritma dengan Kondisi
Bersyarat melalui pernyatan, if, if ... else, elif, dan if bersarang. Berikut ini akan kita
bahas lebih detil tentang kondisi bersyarat tersebut.
Pernyataan if
Sama dengan bahasa pemrograman lainnya, Python juga menggunakan pernyataan if. Pernyatan
if ini berisi sebuah ekspresi logika menggunakan data yang telah dibandingkan, dan
menghasilkan sebuah keputusan yang dibuat berdasarkan perbandingan tersebut. Aturan
penulisan untuk pernyataan if sebagai berikut:
ifkondisi:
pernyataan_benar
Semua pernyataan dituliskan dengan indentasi (alinea) setelah bagian kondisi bersyarat. Python
menggunakan indentasi untuk mengelompokkan satu atau beberapa pernyataan.
Pada pernyataan if, syarat kondisi akan dijalankan pertama kali. Jika kondisi tersebut benar,
maka pernyataan pada blok pernyataan_benar akan dijalankan. Berikut contohnya,
>>> x =5
>>> ifx>0:
... print“Hello“
Pada contoh di atas, pernyataan if akan menampilkan teks ‘Hello’ jika nilai variabel x lebih
besar dari 0.
Pernyataan else
Pernyataan else ini biasanya digabungkan dengan pernyataan if di atas. Pernyataan else dapat
berisi satu atau beberapa blok pernyataan (kode) yang mana akan dijalankan jika kondisi tersebut
salah (atau tidak sesuai dengan syarat yang berlaku). Berikut syntax untuk if ... else,
ifkondisi:
... pernyataan_benar
... else:
... pernyataan_salah
Sebagai contoh, untuk mengetahui apakah suatu bilangan merupakan genap atau ganjil, kita bisa
menggunakan kode seperti berikut ini:
>>>biangan=12
>>> if(bilangan%2==0):
... print'genap'
... else:
... print'ganjil'
Pada contoh di atas, ‘genap‘ akan ditampilkan jika sisa dari pembagian bilangan dengan 2 sama
dengan 0. Dan sebaliknya jika tidak sama dengan 0, maka akan ditampilkan ‘ganjil‘.
Pernyataan elif
Pernyataan elif memperbolehkan kita untuk menguji beberapa kondisi bersyarat untuk tiap-tiap
nilai dan menjalankan kode pernyataan yang sesuai dengan syarat yang diberlakukan. Berikut
syntax dari pernyataan elif,
ifkondisi_1:
pernyataan_1_benar
elifkondisi_2:
pernyataan_2_benar
:
:
elifkondisi_N:
pernyataan_N_benar
else:
pernyataan_tidak_sesuai_syarat_di_atas
Contoh berikut ini menggunakan pernyataan elif untuk menampilkan apakah huruf yang kita
input merupakan huruf vokal. Jika tidak, maka sebuah pesan lain akan ditampilkan.
Pada contoh kode di atas, ketika seorang user mengetikkan sebuah huruf maka huruf tersebut
akan diproses apakah huruf vokal atau bukan. Jika user mengetikkan huruf ‘a‘, maka sesuai
syarat yang berlaku maka akan ditampilkan ‘Ini adalah huruf vokal – a –‘. Jika kondisinya tidak
sesuai, misalkan user mengetikkan huruf ‘u‘, maka akan dilanjutkan kondisi bersyarat elif yang
berikutnya sampai ditemukan kondisi yang sesuai dan akan ditampilkan hasilnya ‘Ini adalah
huruf vokal – u –‘. Jika user mengetikkan huruf ‘x‘, maka tidak ada syarat yang sesuai dengan
kondisi bersyarat if dan elif. Dan pernyataan else yang dijalankan yaitu ‘Ini bukan huruf
vokal‘.
Pernyataan If Bersarang
Pada kondisi tertentu, kita dapat menggunakan pernyataan if bersarang. Maksudnya adalah
kita dapat menuliskan pernyataan if..else di dalam pernyataan if..else. Berikut contoh
penggunaan if bersarang pada program untuk menentukan apakah huruf yang dimasukkan
user adalah huruf besar atau huruf kecil,
Contoh Program :
NIP=input(“N I P : “)
Nama=input(“Nama :”)
Gol=input(“Golongan :”)
if(Gol)=="III/a":
Gapok=1200000
Tunj=int(Gapok)*(15/100)
Gaber=int(Gapok)+int(Tunj)
elif (Gol)=="III/b":
Gapok=1500000
Tunj=int(Gapok)*(15/100)
Gaber=int(Gapok)+int(Tunj)
elif (Gol)=="III/c":
Gapok=1800000
Tunj=int(Gapok)*(15/100)
Gaber=int(Gapok)+int(Tunj)
else:
Gapok=2000000
Tunj=int(Gapok)*(15/100)
Gaber=int(Gapok)+int(Tunj)
print("")
print("NI P:",NIP)
print("Nama :",Nama)
print("Golongan :",Gol)
print("Gaji Pokok :",Gapok)
print("Tunjangan :",Tunj)
print("Gaji Bersih :",Gaber)
2. Fungsi def
Fungsi dipakai untuk mengumpulkan beberapa perintah yang sering dipakai dalam sebuah
program.Dengan memakai fungsi, program yang kita buat menjadi lebih terstruktur. Lebih mudah diikuti
oleh orang lain yang membaca program kita. Dan yang paling penting adalah mempersingkat waktu yang
kita perlukan untuk mengembangkan suatu perangkat lunak. Karena perangkat lunak yang kita buat,
bisa jadi memakai komponen-komponen yang sama.
Seperti layaknya sebuah bahasa pemrograman, Python juga memberikan fasilitas pembuatan
fungsi yang sangat bagus. Konsep fungsi dalam Python sama dengan bahasa pemrograman C/C++.
Python menganggap fungsi dan prosedur adalah sesuatu yang sama, dalam artian cara mendeklarasikan
fungsi dan prosedur adalah sama. Hanya bedanya, kalau fungsi mengembalikan suatu nilai setelah
proses sedangkan prosedur tidak
.
- Mendeklarasikan dan Memakai Fungsi
Pernyataan def dipakai untuk mendeklarasikan fungsi. Sedangkan pernyataan return
dipakai untuk mengembalikan suatu nilai kepada bagian program yang memanggil fungsi.
Bentuk dasar untuk mendeklarasikan fungsi adalah sebagai berikut:
def nama_fungsi(arg1, arg2, arg3,...,argN):
perintah-perintah
return nilai_balik
Contoh implementasi yang mudah, misalnya kita ingin membuat fungsi perkalian dua bilangan bulat:
>>>print (perkalian(10,8))
>>>print (perkalian(15,5))
Dalam deklarasi fungsi, Anda juga bisa menambahkan komentar-komentar yang memberi
penjelasan mengenai fungsi yang dibuat.Secara umum kita memang bisa menambahkan komentar-
komentar di sembarang tempat dalam program yang kita buat.Baris-baris komentar diawali dengan
karakter pagar (#). Semua karakter yang mengikuti tanda ini sampai akhir baris dianggap sebagai
komentar dan tidak akan mempengaruhi jalannya progam.
Akan tetapi
terdapat satu gaya pemberian komentar dalam Python yang disebut dengan docstring. Biasanya dipakai
untuk memberi penjelasan mengenai fungsi atau objek.Docstring diapit dengan tanda petik
ganda.Komentar jenis ini hanya boleh diberikan tepat satu baris dibawah deklarasi fungsi atau objek,
seperti ditunjukkan pada di bawah ini.
Docstring sangat bermanfaat ketika kita ingin mendokumentasikan semua fungsi dan kelas yang
telah kita buat.Karena ada beberapa perangkat lunak yang mampu membuat dokumentasi berdasarkan
docstring yang ada dalam source code.
Dalam lingkungan program utama variabel x dan y diisi dengan nilai 12 dan 3, secara berurutan. Ketika
program utama memanggil fungsi swap nilai variabel ini disalin kedalam variabel x dan y dalam
lingkungan fungsi, yang kebetulan sama namanya dengan nama variabel dalam progam utama. Python
akan membuat alokasi memori tersendiri untuk fungsi. Karena alokasi memorinya berbeda, maka
perubahan yang terjadi pada variabel dalam fungsi, katakanlah x, tidak akan mengubah variabel x yang
terdapat dalam program utama. Jadi bisa dikatakan variabel x dalam fungsi swap hanya mempunyai
scope dalam fungsi itu sendiri. Pernyataan ini bisa dibuktikan dengan menjalankan skrip
tersebut.Hasilnya sebagai berikut.Variabel program utama tetap nilainya, meskipun variabel dalam
fungsi swap berubah nilainya.
Nilai x = 10
Nilai y = 2
x * y = 20
Nilai x = 5
Nilai y = 15
x * y = 75
Dengan menyebutkan kata kunci yang kita buat saat mendeklarasikan program kita dapat
mengubah urutan penyalinan argumen.Akan tetapi Anda harus berhati-hati ketika menyebutkan kata-
kunci, karena tidak boleh ada duplikasi. Panggil fungsi perkalian dengan pernyataan
perkalian(15,x=5), maka Anda akan mendapatkan pesan kesalahan sbb.:
Hasil ini menunjukkan pada kita bahwa nama x sudah dipakai. Dengan melihat pada definisi
fungsi yang telah dibuat, parameter pertama adalah x dan kedua adalah y. Jadi ketika kita panggil
dengan menyebutkan parameter kedua sebagai x juga akan terjadi kesalahan.
login()
login("tamu")
login("tamu", "katakunci")
Sekarang proses pemanggilan fungsi tidak perlu menyebutkan argumennya secara lengkap, jika
kita tidak perlu mengubah nilai default yang telah diberikan.
Akan tetapi Anda bisa mendeklarasikan fungsi seperti potongan program berikut.
Jadi nilai default hanya boleh diberikan kepada deretan akhir parameter.Setelah pemberian nilai
default, semua parameter di belakangnya juga harus diberi nilai default. Satu catatan, nilai awal
argumen akan dievaluasi pada saat dideklarasikan. Perhatikan contoh berikut.
usernm="guest"
passwd="[email protected]"
def login(username=usernm, password=passwd):
print ("Your username ",username)
print ("Your password ",password)
print()
usernm="tamu"
passwd="[email protected]"
login()
Hasilnya:
Your username guest
Your password [email protected]
Contoh Program :
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>def Biodata():
nim=input("NIM :")
if(nim)=="1105020022":
nama="Israuddin"
elif (nim)=="1105020012":
nama="Mahmuddin"
else:
nama="Kuswadinur"
fakultas=input("Fakultas :")
prodi=input("Prodi :")
print("")
print("NIM :",nim)
print("Nama :",nama)
print("Fakultas :",fakultas)
print("Program Studi :",prodi)
MODUL IV
Perintah perulangan di gunakan untuk mengulang pengeksekusian statemen-statemen
hinggaberkali-kali sesuai dengan iterasi yang diinginkan. Dalam python, perintah untuk
perulangan (loop)adalah while dan for
.
1. Perintah While
Perintah while pada python merupakan perintah yang paling umum digunakan untuk
prosesiterasi. Konsep sederhana dari perintah while adalah ia akan mengulang mengeksekusi
statemen dalamblok while selama nilai kondisinya benar. Dan ia akan keluar atau tidak
melakukan eksekusi blokstatemen jika nilai kondisinya salah.
Bentuk umum statemen while,
while (kondisi) :
statemen
Contoh penggunaan while :
contoh 1 : >>> while True :
print "Tekan CTRL + C untuk Stop"
contoh 3 : >>> a = 0; b = 10
>>>while a < b :
print(a,” “)
a = a + 1
hasil :
0 1 2 3 4 5 6 7 8 9
2. Perintah For
Perintah for dalam python mempunyai ciri khas tersendiri dibandingkan dengan
bahasapemrograman lain. Tidak hanya mengulang bilangan-bilangan sebuah ekspresi aritmatik,
ataumemberikan keleluasaan dalam mendefinisikan iterasi perulangan dan menghentikan
perulangan pada saat kondisi tertentu.Dalam python, statemen for bekerja mengulang berbagai
macam tipe datasekuensial seperti List, String, dan Tuple.
Pada contoh 1, perintah perulangan terjadi dimana data-data untuk iterasi (objek)
beradadalam List. Jadi elemen-elemen yang berada dalam List akan di masukkan (assign) ke
dalam variable target yaitu i.
Contoh 2.
>>> T = [(1,2), (3,4), (5,6)]
>>>for (a,b) in T :
print (a,b)
Hasil:
(1, 2)
(3, 4)
(5, 6)
Pada contoh 2, merupakan penggunaan tipe data Tuple untuk proses perulangan.
Elemenpada tuple akan di assign kedalam variabel a dan b.
- Perintah Break
Perintah break digunakan untuk menghentikan jalannya proses iterasi pada statemen foratau
while. Statemen yang berada di bawah break tidak akan di eksekusi dan program akan keluar
dariproses looping.
Contoh break :
>>> x = 1
>>>while(x < 5):
if(x == 3):
break
print(x)
x = x+1
else:
print("Loop sdh selesai dikrjkn")
hasil:
1
2
Perintah Continue
Statemen continue menyebabkan alur program kembali ke perintah looping. Jadi
jikadalam sebuah perulangan terdapat statemen continue, maka program akan kembali ke
perintah loopinguntuk iterasi selanjutnya.
Contoh continue :
>>> n = 10
>>>while n:
n = n - 1
if n % 2 != 0:
continue
print n
hasil:
8
6
4
2
Perintah Pass
Statemen pass mengakibatkan program tidak melakukan tindakan apa-apa. Perintah
passbiasanya digunakan untuk mengabaikan suatu blok statemen perulangan, pengkondisian,
class, danfungsi yang belum didefinisikan badan programnya agar tidak terjadi error ketika
proses compilasi.
Contoh program pass :#program tidak akan melakukan
#proses looping
while True : pass
LATIHAN MEMBUAT PROGRAM DENGAN FOR, WHILE, DAN BREAK
>>> a=1
>>>while a<5:
... print a,
... a+=1
...
1234
>>> a=0
>>>while a<10:
... a+=1
... if a%2:
... print '%d bilangan ganjil'%a
... else:
... continue
...
1 bilangan ganjil
3 bilangan ganjil
5 bilangan ganjil
7 bilangan ganjil
9 bilangan ganjil
>>> a=1
>>>while a<10:
... print a,
... a+=1
... if a>6:
... break
123456
>>>while 1:
... print 'perulangan tiada batas, tekan ^C
Untuk berhenti'
...
perulangan tiada batas, tekan ^C untuk berhenti
......
>>> a=1
>>>while a<5:
... print a,
... a+=1
... else:
... print 'selesai'
...
1 2 3 4 selesai
>>>for a in range(1,5):
... print a,
...
1234
>>>for a in range(1,10,2):
... print '%d bilangan ganjil'%a
...
1 bilangan ganjil
3 bilangan ganjil
5 bilangan ganjil
7 bilangan ganjil
9 bilangan ganjil
>>>bulan={1:'januari',2:'februari',3:'maret',4:'april',5:'mei'}
>>>for a in bulan.values():
... print a
...
januari
februari
maret
april
mei
>>> s='ini sebuah string'
>>>for a in s:
... print a,
...
inisebuahstring
>>> t=1,'aku',5.6,6666666,['a','b','c']
>>>for a in t:
... print a,
...
1 aku 5.6 6666666 ['a', 'b', 'c']
>>>for a in t[4]:
... print a,
...
abc
Coba perhatikan bagian perulangan for, python melakukannya dengan sangat teliti dan
efisien.Kitadapat memecah elemen data pada objek string, list, tuple, dan dictionary dengan
sangat mudah.
Cetak Segitiga *
x = "********"
while x:
print x + ' '
x = x[1:]
********
*******
******
*****
****
***
**
*
MODUL V
1. Belajar Tkinter
Pada bagian ini, kita akan belajar tentang Tkinter untuk membuat sebuah aplikasi berbasis
GUI (Graphical User Interface) di Python.
Tkinter adalah pustaka standart yang dimiliki oleh Python.Kombinasi Python dan Tkinter
ini menghasilkan sebuah tampilan grafik yang menarik sekaligus mudah untuk
membuatnya.Tkinter menyediakan berbagai komponen grafis diantaranya tombol, label, kotak
teks, yang mana komponen-komponen ini sangatlah sering digunakan dalam aplikasi
GUI.Komponen Tkinter ini sering kita sebut widget.
Modul Tkinter berisi berbagai kelas dan komponen yang diperlukan untuk membangun sebuah
aplikasi GUI.Untuk menggunakan komponen Tkinter, kita harus memanggilnya terlebih
dahulu. Contoh di bawah ini akan menunjukkan bagaimana kita memanggil modul Tkinter.
import Tkinter
Kita juga bisa memanggil semua metode, kelas, dan atribut dari modul Tkinter dengan
menggunakan cara seperti di bawah ini.
Setiap aplikasi GUI seharusnya memiliki sebuah jendela utama (root window), yang dapat berisi
berbagai komponen yang diperlukan dalam aplikasi yang akan dibuat. Untuk membuat jendela
utama dari suatu aplikasi, kita menggunakan pernyataan seperti berikut:
top = Tkinter.Tk()
Jika kita menggunakan pernyataan from-import untuk memanggil modul Tkinter, maka kita
cukup menuliskan:
top = Tk()
Dengan menggunakan Tkinter, kita dapat menambahkan beberapa komponen pada aplikasi
yang kita buat.Komponen ini bisa berdiri sendiri atau dapat diisi komponen lain (disebut
Container). Komponen yang berdiri sendiri merupakan komponen yang tidak dapat diisi oleh
komponen lain, misalkan tombol, cekbox, dan label. Komponen container merupakan komponen
yang bisa berisi/ditempeli oleh komponen lain seperti frame dan window.
Komponen-komponen Tkinter
KOMPONEN DESKRIPSI
Button Komponen Button berfungsi untuk menampilkan sebuah tombol.
Komponen Canvas digunakan untuk menggambar bentuk seperti garis, lingkaran,
Canvas
poligon, dan kotak.
Komponen Checkbutton berfungsi menampilkan sejumlah pilihan yang ditandai
Checkbutton
dengan tanda ‘centang’. Pengguna aplikasi dapat memilih lebih dari satu pilihan.
Komponen Entry berfungsi menampilkan kotak teks satu-baris untuk menerima
Entry
masukan dari pengguna.
Frame Komponen Frame berfungsi sebagai kontainer bagi komponen lain.
Komponen Label berfungsi memberikan keterangan untuk komponen lain.
Label
Komponen ini juga dapat diisi gambar.
Listbox Komponen Listbox berfungsi menyediakan daftar pilihan untuk pengguna.
Menubutton Komponen Menubutton berfungsi menampilkan menu.
Komponen Menu berfungsi memberikan berbagai perintah kepada pengguna.
Menu
Perintah-perintah ini juga tercantum dalam Menubutton.
Komponen Message berfungsi menampilkan teks yang terdiri dari sejumlah baris
Message
untuk menerima beberapa nilai dari pengguna.
Komponen Radiobutton berfungsi menampilkan sejumlah pilihan dalam bentuk
Radiobutton
tombol radio.
Scale Komponen Scale berfungsi menampilkan skala geser.
Komponen Scrollbar berguna untuk menambahkan fungsi geser (scroll) pada
Scrollbar
beberapa komponen, seperti komponen Listbox.
Text Komponen Text berfungsi menampilkan teks dalam multi baris.
Komponen Toplevel digunakan untuk membuat sebuah kontainer window yang
Toplevel
terpisah.
Tkinter.mainloop()
Jika kita menggunakan from-import untuk mengambil semua fungsi pada Tkinter, kita cukup
menuliskan
root.mainloop()
dengan root pada kode di atas mengacu pada window utama (toplevel). Berikut ini merupakan
sebuah listing program untuk menampilkan sebuah window.
# file: winTk.py
importTkinter
root =Tkinter.Tk()
# Kode untuk menambahkan komponen
root.mainloop()
# file: winTk1.py
fromTkinter import*
root =Tk()
# Kode untuk menambahkan komponen
root.mainloop()
Obyek file mempunyai fungsi built-in dan beberapa metode yang membantu kita
dalam mengakses berbagai tipe file. Pada bahasa Pemrograman Python, fungsi built-in open()
akan selalu digunakan pada setiap operasi file. Fungsi open() ini akan mengembalikan sebuah
obyek file, dimana kita dapat melakukan berbagai aksi pada suatu file.
Fungsi open()
Kita harus menggunakan fungsi open() untuk membuka sebarang tipe file. Syntax dari fungsi
open() seperti berikut:
Argumen nama_file adalah sebuah string yang berisi nama file yang akan kita akses.
Sedangkan dua argumen, mode_akses dan buffer, merupakan argumen yang bersifat
optional.mode_akses berfungsi untuk menentukan mode pada file yang akan dibuka. buffer
berfungsi untuk menentukan tipe buffering yang akan diberikan saat mengakses file. Berikut
contoh penggunaan fungsi open(),
ModeAkses
Default akses dari sebuah file adalah mode baca (‘r’). Mode lain yang sering digunakan
adalah mode tulis (‘w’) dan tambah (‘a’). Untuk membuka file dalam mode baca, file harus
dibuat dahulu. Kita bisa menggunakan mode tulis atau tambah pada file yang telah ada atau file
baru. Ketika kita membuka file yang sudah ada dengan mode tulis, maka isi dari file tersebut
akan terhapus dan isi yang baru akan dituliskan pada file tersebut. Ketika kita menggunakan
mode tambah (a) untuk mengakses file yang telah ada, maka kita akan menambahkan data yang
baru setelah data lama. Jika kita mengakses file baru dengan mode baca dan tambah, maka file
akan secara otomatis dibuat sebelum data diisikan.
Apakah bahasa Pemrograman Python dapat mengakses file binari? Untuk mengakses file
binari, kita harus menambahkan huruf ‘b‘ pada mode akses normal (‘wb’, ‘rb’, ‘ab’). Contoh
berikut adalah bagaimana kita membuka file filetes dalam mode binari-tulis (‘wb’):
Artikel kali ini merupakan lanjutan dari artikel sebelumnya, MANAJEMEN FILE
(BAGIAN 1).Oiya, mungkin dari PythonMania ada yang bertanya, Kenapa harus belajar tentang
File di bahasa Pemrograman Python? Yup! Karena File itu penting!…(jawaban ringkas dan
padat…:) ). Jadi, It’s ShowTime!….
Untuk membaca atau menulis isi dari sebuah file, bahasa Pemrograman Python menyediakan beberapa
metode (atau cara) yang berbeda-beda. Nah, kita akan belajar beberapa metode yang sangat berguna
untuk menuliskan suatu data dalam sebuah file.
Metode write() berfungsi untuk menuliskan suatu data teks pada sebuah file. Teks ini dapat
terdiri dari kumpulan kata dalam satu baris atau beberapa baris. Metode write() tidak dapat
menambahkan baris baru secara otomatis. Jika kita ingin menambahkan baris baru, maka kita
harus menambahkan karakter NEWLINE, ‘\n‘, di akhir baris. Contoh berikut akan
menampilkan penggunaan metode write():
Dari kode di atas, baris pertama menyatakan untuk membuka file ujifile.dat dalam mode
tulis. Kemudian, baris kedua menyatakan untuk menuliskan ‘Teks baris pertama’ pada file dan
menambahkan sebuah baris baru.Sedangkan baris terakhir menyatakan penambahan teks ‘Teks
baris kedua’ disertai baris baru.Pada baris kedua dan ketiga, penambahan baris baru ditandai
dengan suatu karakter ‘\n‘.
Kita juga dapat menggunakan metode writelines() untuk menuliskan daftar teks pada sebuah
file. Sama seperti metode write(), metode writelines() tidak bisa menambahkan baris baru
secara otomatis. Jika kita tidak menambahkan karakter NEWLINE, maka metode
writelines() akan menuliskan isi dari daftar tersebut sebagai sebaris teks. Berikut ini ilustrasi
dari penggunaan metode writelines():
Pada kode di atas, baris pertama membuat sebuah list daftar yang berisi tiga data. Kemudian,
menambahkan karakter NEWLINE pada akhir tiap-tiap data dari list daftar dengan
menggunakan pengulangan for. Selanjutnya, fungsi open() digunakan untuk membuka file
filetes.dat dengan mode tulis dan metode writelines() menuliskan data-data dari daftar ke
dalam file filetes.dat. Setiap data dari daftar akan dituliskan dalam baris baru dengan
penambahan karakter ‘\n‘.
Apa kabar PythonMania? Yes! Semoga SEHAT semuanya dan tambah SUKSES.Amin.
Pertemuan kita kali ini sangatlah spesial, karena kita akan kembali belajar GUI Python tentunya
dengan Tkinter. Tips Tkinter kali ini adalah “Bagaimana Caranya Meng-input Data di
Tkinter?”.
Dahsyatnya ENTRY – Tkinter
Yup! Benar! Dengan komponen Entry, kita bisa melakukan proses input dan output di Tkinter,
GUI tercinta bawaan Python. Nah, apa dan bagaimana tentang Entry? Simak pembelajaran kita
kali ini…Komponen Entry digunakan untuk menerima masukan berupa teks satu-baris dari
user.Berikut penulisan syntax untuk menampilkan komponen Entry dalam aplikasi kita.
contohEntry = Entry(top)
Sama seperti komponen Label, kita dapat menggunakan beberapa pilihan pada komponen
Entry. Berikut daftar beberapa pilihan (option) pada komponen Entry:
Kode berikut ini merupakan kombinasi dari beberapa pilihan (option) yang diberikan kepada
komponen Entry.
Kode di atas akan menampilkan sebuah komponen Entry pada window utama top. Ketebalan
window ini adalah 5 pixel, dan warna dari teks adalah merah.
Berikut ini kode lengkap untuk menampilkan sebuah komponen Entry:
# file: tesEntry.py
# using Python 3.2
fromtkinter import*
top =Tk()
contohEntry =Entry(top, bd=5, fg="red", relief=RAISED)
contohEntry.pack()
top.mainloop()
Selain memberikan beberapa pilihan (option), komponen Entry juga mempunyai beberapa
metode (atau fungsi).
OK!…Kini kita sudah tahu bagaimana caranya meng-input data di Tkinter…Begitu Mudah Kan?
MODUL VI
Pada artikel 3 Komponen Dasar, kita telah membahas secara singkat tentang komponen
Label, Entry, dan Button. Saat ini kita akan jelaskan lebih mendetail, dimulai dari komponen
Label tentunya dari Tkinter Python. Selamat menikmati…
Komponen Label
Komponen Label berfungsi menampilkan suatu teks atau memberikan keterangan untuk
komponen lainnya.Kita juga bisa menampilkan gambar pada Label.Berikut listing program
untuk menampilkan label teks pada sebuah aplikasi sederhana.
Kita juga dapat menentukan lebar dan tinggi dari sebuah Label dengan menggunakan opsi width
dan height. Berikut contohnya,
Di bawah ini akan kita tampilkan listing program untuk menampilkan sebuah Label pada suatu
jendela (window).
# file: ujiLabel.py
# versi: Python 3.2
# untuk versi Python 2.x..gunakan
# from Tkinter import *
fromtkinter import*
root =Tk()
teksLabel =Label(root, text="Hello World", width=20, height=5)
teksLabel.pack()
root.mainloop()
Jika Label digunakan untuk menampilkan teks, maka satuan ukuran label dalam satuan teks.
Jika Label digunakan untuk menampilkan gambar, maka satuan ukurannya dalam satuan pixel.
Tabel berikut akan menampilkan beberapa perintah yang dapat kita gunakan pada komponen
Label ini.
Saatnya sekarang kita mempelajari bagaimana membuat aplikasi data sederhana di Python,
tentunya masih dengan Tkinter. Ayo langsung saja!
Kode Program:
# file: datListbox.py
# versi: Python 3.2
# Dasar pemrograman GUI dengan data sederhana
# untuk selanjutnya kita akan belajar
# menggunakan database SQLite.
fromtkinter import*
classDemoListbox:
def__init__(self, parent, title):
self.parent =parent
self.parent.title(title)
#self.parent.geometry("600x400")
self.parent.protocol("WM_DELETE_WINDOW", self.onKeluar)
self.dataSiswa =(
["1", "Ayu Silvia", "Malang", "0341-672541", "6 SD"],
["2", "Beni Wahyudi", "Malang", "0341-435271", "6 SD"],
["3", "Cahyo Gunawan", "Malang", "0341-123456", "6 SD"],
["4", "Derbi Ratno", "Malang", "0341-234567", "6 SD"],
["5", "Deasy Ratna", "Malang", "0341-213212", "6 SD"],
["6", "Purba Swari", "Malang", "0341-343434", "6 SD"],
["7", "Erik Kurniawan", "Malang", "0341-212121", "6 SD"],
["8", "Restu Singgih", "Malang", "0341-567489", "6 SD"],
["9", "Sri Utami", "Malang", "0341-867855", "6 SD"],
["10", "Jesica Rahma", "Malang", "0341-555432", "6 SD"],
["11", "Lukita Willi", "Malang", "0341-111121", "6 SD"],
["12", "Rohandi Yusuf", "Malang", "0341-768594", "6 SD"],
["13", "Bakar Agung", "Malang", "0341-536829", "6 SD"],
["14", "Romi Kuliti", "Malang", "0341-986794", "6 SD"],
["15", "Den Bagus", "Malang", "0341-324689", "6 SD"])
self.aturKomponen()
self.aturKejadian()
self.isiListbox()
self.isiData()
self.listboxData.focus_set()
defaturKejadian(self):
self.listboxData.bind('<ButtonRelease-1>', self.onKlikLB)
self.listboxData.bind('<KeyRelease>', self.onKlikLB)
defonKlikLB(self, event=None):
self.isiData()
defisiData(self):
indeks =self.listboxData.curselection()
kode =int(indeks[0])
# hapus data
self.entNomor.delete(0, END)
self.entNama.delete(0, END)
self.entAlamat.delete(0, END)
self.entTelp.delete(0, END)
self.entKelas.delete(0, END)
# isi data
self.entNomor.insert(END, self.dataSiswa[kode][0])
self.entNama.insert(END, self.dataSiswa[kode][1])
self.entAlamat.insert(END, self.dataSiswa[kode][2])
self.entTelp.insert(END, self.dataSiswa[kode][3])
self.entKelas.insert(END, self.dataSiswa[kode][4])
defisiListbox(self):
fordat inrange(len(self.dataSiswa)):
self.listboxData.insert(END, self.dataSiswa[dat][1])
self.listboxData.selection_set(0)
defaturKomponen(self):
mainFrame =Frame(self.parent)
mainFrame.pack(fill=BOTH, expand=YES)
self.statusBar =Label(mainFrame,
text="www.KlinikPython.Wordpress.Com",
relief=SUNKEN, bd=1)
self.statusBar.pack(side=BOTTOM, fill=X)
# frame_kiri
fr_kiri =Frame(mainFrame, bd=10)
fr_kiri.pack(fill=BOTH, expand=YES, side=LEFT)
scroll =Scrollbar(fr_kiri, orient=VERTICAL)
self.listboxData =Listbox(fr_kiri, width=30,
yscrollcommand=scroll.set)
self.listboxData.pack(fill=Y, side=LEFT)
scroll.configure(command=self.listboxData.yview)
scroll.pack(side=LEFT, fill=Y)
# frame_kanan
fr_kanan =Frame(mainFrame, bd=10)
fr_kanan.pack(fill=BOTH, expand=YES, side=RIGHT)
# fr_kanan_atas
fr_katas =Frame(fr_kanan)
fr_katas.pack(side=TOP, expand=YES)
# data Nomor
Label(fr_katas, text='Nomor Urut').grid(
row=0, column=0, sticky=W)
self.entNomor =Entry(fr_katas)
self.entNomor.grid(row=0, column=1)
# data Nama
Label(fr_katas, text='Nama Lengkap').grid(
row=1, column=0, sticky=W)
self.entNama =Entry(fr_katas)
self.entNama.grid(row=1, column=1)
# data Alamat
Label(fr_katas, text='Alamat').grid(
row=2, column=0, sticky=W)
self.entAlamat =Entry(fr_katas)
self.entAlamat.grid(row=2, column=1)
# data NoTelp
Label(fr_katas, text='No. Telp').grid(
row=3, column=0, sticky=W)
self.entTelp =Entry(fr_katas)
self.entTelp.grid(row=3, column=1)
# data Kelas
Label(fr_katas, text='Kelas').grid(
row=4, column=0, sticky=W)
self.entKelas =Entry(fr_katas)
self.entKelas.grid(row=4, column=1)
# fr_kanan_bawah
fr_kawah =Frame(fr_kanan)
fr_kawah.pack(side=BOTTOM, expand=YES)
self.btnAwal =Button(fr_kawah, text='<<',
command=self.onAwal, width=5)
self.btnAwal.pack(side=LEFT)
self.btnPrev =Button(fr_kawah, text='<',
command=self.onPrev, width=5)
self.btnPrev.pack(side=LEFT)
self.btnNext =Button(fr_kawah, text='>',
command=self.onNext, width=5)
self.btnNext.pack(side=LEFT)
self.btnAkhir =Button(fr_kawah, text='>>',
command=self.onAkhir, width=5)
self.btnAkhir.pack(side=LEFT)
defonAwal(self, event=None):
datIndex =self.listboxData.curselection()
self.listboxData.selection_clear(int(datIndex[0]))
self.listboxData.selection_set(0)
self.listboxData.activate(0)
self.isiData()
defonPrev(self, event=None):
datIndex =self.listboxData.curselection()
ifint(datIndex[0]) ==0:
pass
else:
self.listboxData.selection_clear(int(datIndex[0]))
self.listboxData.selection_set(int(datIndex[0])-1)
self.listboxData.activate(int(datIndex[0])-1)
self.isiData()
defonNext(self, event=None):
jumDat =len(self.dataSiswa)
datIndex =self.listboxData.curselection()
ifint(datIndex[0]) ==jumDat-1:
pass
else:
self.listboxData.selection_clear(int(datIndex[0]))
self.listboxData.selection_set(int(datIndex[0])+1)
self.listboxData.activate(int(datIndex[0])+1)
self.isiData()
defonAkhir(self, event=None):
jumDat =len(self.dataSiswa)
datIndex =self.listboxData.curselection()
self.listboxData.selection_clear(int(datIndex[0]))
self.listboxData.selection_set(jumDat-1)
self.listboxData.activate(jumDat-1)
self.isiData()
defonKeluar(self, event=None):
self.parent.destroy()
if__name__ =='__main__':
root =Tk()
aplikasi =DemoListbox(root, "Demo Listbox - Aplikasi Data di Python")
root.mainloop()
OK! Selamat Menikmati Pelajaran Kali ini, Kami Yakin Anda Pasti BISA!!
Yup! Cukup dengan 3 komponen dasar ini, yaitu Label, Button, dan Entry, kita bisa
membuat sebuah aplikasi sederhana berbasis Python Tkinter.
Saya akan membahas sekilas saja tentang ketiga komponen ini. Pada dasarnya hampir sama
dengan komponen-komponen visual yang ada di pemrograman lain. Namun komponen ini
adalah Tkinter, yang pastinya menggunakan Python. So..saatnya kita rasakan aroma Tkinter
yang begitu spesial!
# file: progPembayaran.py
# Sumber Inspirasi: Dasar Pemrograman Delphi 5.0 - Abdul Kadir
# Re-Coding dengan Python pada tanggal : 30/10/2011
# Penulis: KlinikPython
# memanggil paket Tkinter -- berlaku untuk Python 2.xx
fromTkinter import*
# program ditulis dengan menggunakan teknik
# Pemrograman Berorientasi Objek.
# menggunakan kelas ProgramPembayaran
classProgramPembayaran:
def__init__(self, parent, title):
self.parent =parent
# mengatur ukuran window utama.
# self.parent.geometry("300x200")
# mengisi judul window utama.
self.parent.title(title)
# memberikan arahan ke perintah onKeluar, jika kita
# mengklik tanda X (Close) di wondow utama.
self.parent.protocol("WM_DELETE_WINDOW", self.onKeluar)
# membuat fungsi aturkomponen() yang berfungsi untuk
# menyusun letak komponen yang akan kita tampilkan
# pada aplikasi Python.
self.aturKomponen()
defaturKomponen(self):
# mengatur frame sebagai kontainer utama bagi komponen
# Button, Label, dan Entry, dengan batas tepi "10".
# disusun menggunakan layout manager -- Pack()
# (tentang Pack akan kita bahas di pertemuan berikutnya.)
mainFrame =Frame(self.parent, bd=10)
mainFrame.pack(fill=BOTH, expand=YES)
# pasang komponen::
Label(mainFrame, text='Total Pembelian').grid(row=0, column=0,
sticky=W, padx=5, pady=5)
self.entPembelian =Entry(mainFrame)
self.entPembelian.grid(row=0, column=1, padx=5, pady=5)
self.btnHitung =Button(mainFrame, text='Hitung',
command=self.onHitung)
self.btnHitung.grid(row=0, column=2, padx=5, pady=5)
Label(mainFrame, text='Pajak (10%)').grid(row=1, column=0,
sticky=W, padx=5, pady=5)
self.entPajak =Entry(mainFrame)
self.entPajak.grid(row=1, column=1, padx=5, pady=5)
Label(mainFrame, text='Total Pembayaran').grid(row=2, column=0,
sticky=W, padx=5, pady=5)
self.entPembayaran =Entry(mainFrame)
self.entPembayaran.grid(row=2, column=1, padx=5, pady=5)
# fungsi "onHitung" berfungsi untuk menghitung total pembayaran.
defonHitung(self, event=None):
totalPembelian =int(self.entPembelian.get())
pajak =0.1*totalPembelian
totalPembayaran =1.1*totalPembelian
self.entPajak.delete(0, END)
self.entPembayaran.delete(0, END)
self.entPajak.insert(END, str(pajak))
self.entPembayaran.insert(END, str(totalPembayaran))
defonKeluar(self, event=None):
# memberikan perintah menutup aplikasi
self.parent.destroy()
if__name__ =='__main__':
root =Tk()
aplikasi =ProgramPembayaran(root, "Program Pembayaran")
root.mainloop()