0% menganggap dokumen ini bermanfaat (0 suara)
303 tayangan

Modul Pemogr. Python

Diunggah oleh

Cut Malisa Cut
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
303 tayangan

Modul Pemogr. Python

Diunggah oleh

Cut Malisa Cut
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 46

MODUL PRAKTIKUM PEMOGRAMAN

OPEN SOURCE (PYTHON)

DOSEN PENGASUH :
MUNAR, ST, M.KOM

FAKULTAS ILMU KOMPUTER


UNIVERSITAS ALMUSLIM KABUPATEN BIREUEN
Pengantar
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan
yang berfokus pada tingkat keterbacaan kode.Python diklaim sebagai bahasa yang
menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan
dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.

Python mendukung multi paradigma pemrograman, utamanya; namun tidak


dibatasi;padapemrograman berorientasi objek, pemrograman imperatif, dan pemrograman
fungsional.Salah satufitur yang tersedia pada python adalah sebagai bahasa pemrograman
dinamis yang dilengkapi denganmanajemen memori otomatis.Seperti halnya pada bahasa
pemrograman dinamis lainnya, pythonumumnya digunakan sebagai bahasa skrip meski pada
praktiknya penggunaan bahasa ini lebih luasmencakup konteks pemanfaatan yang umumnya
tidak dilakukan dengan menggunakan bahasa skrip.Python dapat digunakan untuk berbagai
keperluan pengembangan perangkat lunak dan dapat berjalandi berbagai platform sistem operasi.

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.

2. Install Python di Windows


http://kernelnotfound.wordpress.com/2012/02/22/install-python-di-windows/
Siapkan Sistem/Program Python Versi 3.2….atau Versi 3.4…. 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 instaler python-3.2.msi
Setelah anda double klik maka akan muncul jendela instalasi seperti di bawah ini , pilih install
for allusers agar bisa digunakan oleh semua user.

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 bagian ini kita biarkan default , lalu pilih next.

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.

Hasil program Python yang sudah terinstal pada system.


4. Menbuat Program dengan Python
Program Python dapat dijalankan dengan beberapa mode. Jika kita mengeksekusi Python
interpreter tanpa argument script Python yang telah kita buat, Python interpreter akan masuk ke
mode interaktif (REPL, read-eval-print loop).
Jalankan Python sehingga Muncul Layar sepereti di bawah ini :

Tempat Pengetikan Program

Tempat Pengetikan Program

Ketik Perintah Berikut : Ketik Kodingnya :


>>> 1 + 1 pj=1+1
2 print (pj)
>>> 40 * 2 pk=40*2
80 print (pk)
>>> 40 / 5 pb=40/5
8 print (pb)
>>> 9 – 10 pg=9-10

-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


 Tipe Data Number
 Tipe Data Boolean
 Tipe Data Tuples
 Tipe Data List
 dan Tipe Data Dictionary

Tipe Data String

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

Tipe Data Number digunakan untuk menyimpan data dalam bentuk numerik seperti int (integer),
long, float, dan bilangan kompleks (complex number).

Contoh Program

Di bawah ini adalah contoh program penggunaan tipe data number:

# Nama File: number_datatype.py


#integer number
_int1 = 100
_int2 = -600
_int3 = 0x69
print ("==== Integer Number ====")
print (_int1)
print (_int2)
print (_int3)
#Float number
print ("\n==== Float Number ====")
_float1 = 0.0
_float2 = -21.9
_float3 = 70.2E-29
print (_float1)
print (_float2)
print (_float3)
#complex number
_complex1 = 3.14j
_complex2 = .876j
_complex3 = 4.53e-7j
print ("\n==== Complex Number ====")
print (_complex1)
print (_complex2)
print (_complex2)

Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:

==== Integer Number ====


100
-600
105

==== Float Number ====


0.0
-21.9
7.02e-28

==== Complex Number ====


3.14j
0.876j
0.876j

Tipe Data Boolean

Tipe data Boolean digunakan menyimpan data yang mempunyai nilai true atau false.

Tipe Data Tuples

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:

# Nama File: tuples_datatype.py


tuple1 = ( 'vwxyz', 123 , 1.15, 'Nursalim', 70.2 )
tuple2 = (123, 'Al Farizi')
print ( tuple1 ) # Menampilkan semua data pada tuple
print ( tuple1[0] ) # Menampilkan elemen pertama pada tuple
print ( tuple1[1:3] ) # Menampilkan data dari elemen kedua sampai ketiga
print ( tuple1[2:] ) # Menampilkan data dimulai dari elemen ketiga
print ( tuple2 * 2 ) # Menampilkan data tupe dua kali
print ( tuple1 + tuple2 ) # Menggabungkan tuple1 sama dengan tuple2

Jika Anda jalankan program diatas, maka akan menampilkan output seperti berikut:

('vwxyz', 123, 1.15, 'Nursalim', 70.2)


vwxyz
(123, 1.15)
(1.15, 'Nursalim', 70.2)
(123, 'Al Farizi', 123, 'Al Farizi')
('vwxyz', 123, 1.15, 'Nursalim', 70.2, 123, 'Al Farizi')
Tipe Data List

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:

# Nama File: list_datatype.py


list1 = ( 'vwxyz', 123 , 1.15, 'Nursalim', 70.2 )
list2 = (123, 'Al Farizi')
print ( list1 ) # Menampilkan semua data pada list
print ( list1[0] ) # Menampilkan elemen pertama pada list
print ( list1[1:3] ) # Menampilkan data dari elemen kedua sampai ketiga
print ( list1[2:] ) # Menampilkan data dimulai dari elemen ketiga
print ( list2 * 2 ) # Menampilkan data list dua kali
print ( list1 + list2 ) # Menggabungkan list1 sama dengan list2

Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:

('vwxyz', 123, 1.15, 'Nursalim', 70.2)


vwxyz
(123, 1.15)
(1.15, 'Nursalim', 70.2)
(123, 'Al Farizi', 123, 'Al Farizi')
('vwxyz', 123, 1.15, 'Nursalim', 70.2, 123, 'Al Farizi')

Tipe Data Dictionary

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:

# Nama File: dictionary_datatype.py


dict = {}
dict['one'] = "Ini elemen pertama"
dict[2] = "Ini elemen kedua"
tinydict = {'nama': 'Nursalim','employeeid':6734, 'departemen': 'IT'}
print ( dict['one'] ) # Prints value for 'one' key
print ( dict[2] ) # Prints value for 2 key
print ( tinydict ) # Menampilkan semua data pada dictionary
print ( tinydict['nama'] ) # Menampilkan nilai dari key nama
print ( tinydict.keys() ) # Menampikan semua key
print ( tinydict.values() ) # Menampilkan semua value

Jika Anda jalankan program diatas, maka akan menghasilkan output sebagai berikut:

Ini elemen pertama


Ini elemen kedua
{'departemen': 'IT', 'employeeid': 6734, 'nama': 'Nursalim'}
Nursalim
dict_keys(['departemen', 'employeeid', 'nama'])
dict_values(['IT', 6734, 'Nursalim'])

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)

Berikut ini penamaan variabel yang benar/tepat :


alamat1
nama_karyawan
nama_variabel_ini_sangat_panjang
Kar#mas
No_Hp
Berikut ini penamaan variabel yang salah :
#alamat
1Nomor
No Hp
MODUL III
1. Fungsi If, If…Else, If…Elif

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.

huruf = input("Masukkan sebuah huruf: ")


if (huruf == "a"):
print ("Ini adalah huruf vokal - a -")
elif (huruf == "e"):
print ("Ini adalah huruf vokal - e -")
elif (huruf == "i"):
print ("Ini adalah huruf vokal - i -")
elif (huruf == "o"):
print ("Ini adalah huruf vokal - o -")
elif (huruf == "u"):
print ("Ini adalah huruf vokal - u -")
else:
print ("Ini bukan huruf vokal")

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,

huruf =raw_input("Masukkan sebuah huruf: ")


 if(huruf >='A'):
    if(huruf <='Z'):
        print"Ini adalah Huruf Besar"
    elif(huruf >='a'):
        if(huruf <='z'):
            print"Ini adalah huruf kecil"
        else:
            print"Huruf > z"
    else:
        print"Huruf > z tapi < a"
else:
    print"Huruf < A"

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:

>>>def perkalian(x, y):


z = x * y
return z

Pernyataan def mendefinisikan sebuah fungsi dengan nama perkalian. Paramater-parameter


yang akan dilewatkan ke dalam fungsi didaftarkan dalam tanda kurung. Masing-masing paramater
dipisahkan oleh koma (,).Baris deklarasi fungsi ini diakhiri dengan titik dua ( :).Tanda ini
memberitahukan pada interpreter Python bahwa baris ini masih berlanjut pada baris-baris berikutnya.
Perhatikan dua baris pernyataan terindentasi yang mengikutinya.Dalam Python semua
pernyataan yang diindentasi dalam satu tingkatan indentasi adalah pernyataan-pernyataan yang satu
derajat. Artinya semua pernyataan tersebut akan dieksekusi sesuai dengan urutan penulisannya. Dalam
kasus contoh kita, pernyataan z = x + y dan return z adalah satu tingkatan. Kedua pernyataan ini
adalah anggota dari deklarasi fungsi perkalian. Keduanya akan dijalankan saat fungsi dipanggil.
Untuk memanggil fungsi yang telah dibuat adalah dengan cara menyebutkan nama fungsi yang
bersangkutan beserta daftar parameter yang sebenarnya:

>>>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.

>>>def perkalian(x, y):


z = x * y
return z

# program utama mulai di sini


>>> print (perkalian(10,8))
>>> print (perkalian(15,5))

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.

- Scope Variabel dalam Fungsi


Untuk menjelaskan konsep scope variabel dalam fungsi, lihatlah skrip di bawah ini :

# fungsi mulai di sini


def swap(x, y):
print ("Dalam fungsi:")
print ("\tSebelum proses:")
print ("\t\tNilai x", x)
print ("\t\tNilai y", y)
z = x
x = y
y = z
print ("\tSetelah proses:")
print ("\t\tNilai x", x)
print ("\t\tNilai y", y)

# program utama mulai di sini


x = 12
y = 3
print ("Sebelum memanggil fungsi, x bernilai", x)
print ("Sebelum memanggil fungsi, y bernilai", y)
swap(x,y)
print ("Setelah memanggil fungsi, x bernilai", x)
print ("Setelah memanggil fungsi, y bernilai", y)

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.

Sebelum memanggil fungsi, x bernilai 12


Sebelum memanggil fungsi, y bernilai 3
Dalam fungsi:
Sebelum proses:
Nilai x 12
Nilai y 3
Setelah proses:
Nilai x 3
Nilai y 12
Setelah memanggil fungsi, x bernilai 12
Setelah memanggil fungsi, y bernilai 3

- Melewatkan Argumen dengan Kata Kunci


Kalau kita perhatikan kembali fungsi perkalian sebelumnya, proses penyalinan ke
variabel lokal sesuai dengan urutan deklarasi fungsi yang kita panggil. Jika fungsi perkalian
kita panggil dengan memberi pernyataan perkalian(10,8), maka nilai 10 akan disalin ke
variabel x dan nilai 8 ke variabel y. Kadang-kadang ini agak menyulitkan jika kita membuat
fungsi dengan jumlah variabel yang cukup banyak, sementara urutannya harus tepat. Solusinya
adalah dengan menyebutkan kata-kunci (keyword) yang kita pakai pada saat mendefinisikan
fungsi.
Kita ubah sedikit program perkalian kita agar pembahasan di bagian ini lebih jelas.Perhatikan
program di bawah.

def perkalian(x, y):


z = x * y
print ("Nilai x =",x)
print ("Nilai y =",y)
print ("x * y =",z)

# program utama mulai di sini


perkalian(10,2)
print
perkalian(y=15,x=5)
Hasilnya:

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.:

Traceback (innermost last):


File "./listing8.py", line 13, in ?
perkalian(15,x=5)
TypeError: keyword parameter redefined

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.

- Nilai Awal Argumen


Dalam proses interaksi dengan pengguna program kadangkala program memberikan pilihan
tertentu, yang sering disebut dengan nilai bawaan (default). Nilai awal argumen ini bisa kita
berikan saat kita membuat definisi fungsi. Lihat cara mendeklarasikan nilai awal argumen ini:
def login(username="guest", password="[email protected]"):
print ("Your username ",username)
print ("Your password ",password)
print()

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.

Your username guest


Your password [email protected]

Your username tamu


Your password [email protected]

Your username tamu


Your password katakunci
Dengan membandingkan antara isi program dan hasilnya di atas, dapat kita simpulkan bahwa
penyalinan argumen tetap mengikuti kaidah urutan pada saat dideklarasikan.

Anda tidak diperbolehkan mendefinisikan fungsi seperti ini:

def login(username="guest", password):


print ("Your username ",username)
print ("Your password ",password)
print()

Akan tetapi Anda bisa mendeklarasikan fungsi seperti potongan program berikut.

def login(username, password="[email protected]"):


print ("Your username ",username)
print ("Your password ",password)
print()

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"

Pada contoh 1, merupakan contoh sederhana penggunaan while. Pada contoh di


atasprogram akan terus mengeksekusi statemen dalam badan while, dikarenakan kondisinya
selalubenar (true). Kondisi seperti ini disebut infinite loop.i

contoh 2 : >>> x = "Gunadarma"


>>>while x:
print(x, “ “)
x = x[1:]
hasil :
Gunadarma
unadarma
nadarma
adarma
darma
arma
rma
ma
a

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.

Bentuk umum perintah for,


for (variabel) in (objek) :
statemen
else:
statemen

Contoh penggunaan for :

Contoh 1 :>>> for i in [5, 4, 3, 2, 1]:


print(i,” “)
hasil:
5 4 3 2 1

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.

Contoh 3 :>>> nama = ['budi', 'andi', 'rudi', 'sandi']


>>>usia = [20, 18, 22, 19]
>>>for i in range(len(nama)) :
print nama[i], ' berusia ', usia[i], ' tahun'
hasil:
budi berusia 20 tahun
andi berusia 18 tahun
rudi berusia 22 tahun
sandi berusia 19 tahun

3. Perintah Break, Continue dan Pass

- 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.

Berikut langkah-langkah sederhana untuk membuat aplikasi GUI berbasis Tkinter di


Python:

1. Memanggil modul Tkinter.


2. Membuat jendela aplikasi GUI.
3. Menambahkan komponen pada aplikasi.
4. Menuliskan kode mainloop.

Memanggil Modul Tkinter

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.

from Tkinter import *

Membuat Jendela Aplikasi GUI

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()

Menambahkan Komponen Pada Aplikasi

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.

Menambahkan Kode mainLoop


Setelah kita mendesain sebuah aplikasi, tentu saja dengan menambahkan beberapa komponen di
dalamnya, kita perlu mengeksekusi program tersebut. Ketika sebuah program kita eksekusi,
maka program tersebut akan mengalami perputaran tak berhingga (infinite loop). Kode untuk
memasukkan program kita dalam kondisi perputaran ini yaitu

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()

Kita juga bisa menuliskan kode di atas seperti ini,

# file: winTk1.py
 fromTkinter import*
 root =Tk()
 # Kode untuk menambahkan komponen
 root.mainloop()

Tampilan yang dihasilkan dari program di atas seperti berikut ini,

2. Manajemen File (bagian 1)


Pada saat kita bermain dengan interpreter bahasa Pemrograman Python, kita dapat dengan
mudah memasukkan dan menampilkan data.Apa jadinya jika kita keluar dari interpreter tersebut?
Kemana data kita tadi? Untuk menyimpan data yang dapat kita gunakan kembali lain waktu, kita
dapat menyimpannya dalam sebuah file. Selain menyimpan, kita juga dapat membaca isi dari file
tersebut. Nah, pada kesempatan ini, kita akan belajar tentang bagaimana manajemen file di
Pemrograman Python. So…Tunggu apalagi…saatnya ke TeKaPe!

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:

file_obyek = open(nama_file [, mode_akses][, buffer])

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(),

1>>> filedata =open('/home/mrbiggie/filedemo', 'r')


Pada contoh di atas, kita sedang membuka filedemo yang berada pada direktori
/home/mrbiggie dalam mode baca.Sedangkan argumen buffer menggunakan buffering sistem.
Nah sekarang kita akan membahas tentang berbagai mode akses untuk membuka sebuah file.

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’):

1namafile =open('c:/klinikpython/filetes', 'wb')

3. MANAJEMEN FILE (BAGIAN 2)

Semangat Pagi, PythonMania!!!…

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!….

Metode-Metode dari Objek File

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.

Menuliskan Data pada 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():

1>>> file_tes =open('ujifile.dat', 'w')


2>>> file_tes.write('Teks baris pertama\n')
3>>> file_tes.write('Teks baris kedua\n')

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():

1>>> daftar =['satu', 'dua', 'tiga']


2>>> i =0
3>>> forx indaftar:
4    daftar[i] =x+'\n'
5    i +=1
6>>> filedata =open('d:/filetes.dat', 'w')
7>>> filedata.writelines(daftar)

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‘.

4. Input Data Anda Dengan Entry

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:

Macam-macam Option pada komponen Entry


OPTION DESKRIPSI
Bd bdberfungsi untuk menentukan ketebalan dari komponen Entry.
Bg bgberfungsi untuk memberikan warna background dari komponen Entry.
Fg fgberfungsi untuk memberikan warna teks dari komponen Entry.
Font fontberfungsi untuk menentukan jenis font yang digunakan pada komponen Entry.
reliefberfungsi untuk menentukan jenis batas. Terdapat beberapa pilihan yaitu: SUNKEN,
relief
RAISED, GROOVE, dan RIDGE.

Kode berikut ini merupakan kombinasi dari beberapa pilihan (option) yang diberikan kepada
komponen Entry.

contohEntry = Entry(top, bd=5, fg="red", relief=RAISED)

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).

Macam-macam Option pada komponen Entry


METODE KEGUNAAN CONTOH
Memasukkan teks sesuai dengan contohEntry.insert(INSERT, "Halo
insert(index, indeks. Beberapa nilai yang sering PythonMania!")
text) digunakan sebagai indeks adalah Pernyataan ini akan menambahkan Halo
INSERT dan END PythonMania!pada posisi kursor terakhir.
contohEntry.delete(1)
delete(index) Menghapus karakter sesuai indeks. Pernyataan ini akan menghapus karakter pada
indeks posisi 1.
contohEntry.delete(0, END)
delete(from, Menghapus karakter sesuai range
Pernyataan ini akan menghapus semua
to) yang ditentukan.
karakter yang ada dalam Entry.
contohEntry.get()
Mengambil data yang ada dalam teks
get() Pernyataan ini akan mengambil isi dari
Entry.
komponen Entry.

OK!…Kini kita sudah tahu bagaimana caranya meng-input data di Tkinter…Begitu Mudah Kan?
MODUL VI

1. Tampilkan Teks Dengan LABEL Python

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.

teksLabel = Label(root, text="Hello World")

Pada kode di atas,


1. rootmenunjuk pada jendela dimana komponen Label akan ditampilkan.
2. textdigunakan untuk menampilkan teks apa yang akan kita tampilkan pada Label.

Kita juga dapat menentukan lebar dan tinggi dari sebuah Label dengan menggunakan opsi width
dan height. Berikut contohnya,

teksLabel = Label(root, text="Hello World", width=20, height=5)

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()

Tampilan sebuah jendela yang berisi Label "Hello World"

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.

Opsi Perintah pada Komponen Label


OPSI DESKRIPSI
Bitmap pilihan bitmap yang akan ditampilkan.
borderwidth ketebalan garis tepi dari Label.
Bg warna latar belakang dari Label.
Fg warna latar depan dari Label.
Font jenis font untuk teks yang akan ditampilkan.
Justify
pengaturan letak untuk teks berbaris. Beberapa pilihannya adalah LEFT, RIGHT,
atau CENTER.
Wow!…Selamat untuk Anda yang saat ini sudah lebih pintar bekerja dengan komponen
Label Tkinter! Terus Mencoba! Gagal, Coba lagi, Gagal, Coba lagi…Keajaiban akan
datang untuk Anda!

3. Aplikasi Data Sederhana di Python

Saatnya sekarang kita mempelajari bagaimana membuat aplikasi data sederhana di Python,
tentunya masih dengan Tkinter. Ayo langsung saja!

Penjelasan Singkat Program:

1. Program menggunakan Tkinter beserta komponennya, diantaranya adalah Button,


Entry, Label, Listbox, dan Frame.
2. Tata layout komponen menggunakan gabungan Pack() dan Grid().
3. Data disimpan dalam bentuk Tuple yang berisi beberapa data List.

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!!

4. Tiga (3) Komponen Dasar

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!

(A) Komponen Button


Komponen Button ini berfungsi untuk menampilkan sebuah tombol pada aplikasi.

(B) Komponen Label


Komponen Label ini berfungsi untuk memberikan sebuah nama pada komponen lain dalam satu
baris.

(C) Komponen Entry


Komponen Entry ini berfungsi untuk menampilkan sebuah teks satu baris dan juga untuk
menerima masukan data dari pengguna aplikasi.
Kode Python :: Program Pembayaran

# 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()

Anda mungkin juga menyukai