Modul Python
Modul Python
with PyQT
Oleh
Nur Arminarahmah, S.Kom, M.Kom
Kemudian agar Python bisa dieksekusi di cmd, akses Control Panel → System → Advanced →
Environment Variables → Klik variabel yang dinamakan PATH di bagian System Variables kemudian
pilih dan edit, tambahkan ;C\PythonX.X tanpa tkita petik. Kemudian tekan OK, dan siap dijalankan di
cmd
Untuk keluar dari mode interpreter prompt, gunakan kombinasi ctrl+d atau ctrl+z kemudian tekan
enter.
Lalu jika ingin menggunakan Python tanpa melalui interpreter prompt, Kita bisa menggunakan text
editor yang Kita sering gunakan dan simpan file Python dengan ekstensi file *.py .Kemudian atur jarak
tab pada text editor tersebut sebanyak empat satuan dan isi tab tersebut diganti dengan spasi atau
memilih menu “replace by space”. Berikut adalah beberapa contoh text editor yang bisa digunakan
untuk membuat program Python beserta menu untuk pengaturan tab.
Tampilan antarmuka Geany dan tempat pengaturan indentasinya :
# mencetak
angka print
6666
# mencetak variabel
sebuah_variabel = "Life is never
float" print sebuah_variabel
Selain output tentu saja dalam membuat sebuah program Kita membutuhkan fitur untuk meminta input
dari user . Fitur tersebut berguna untuk menciptakan interaksi antara user dan program yang Kita
bangun. Di Python, untuk menerima input ada beberapa cara yang biasa digunakan :
raw_input, function ini berguna untuk menerima input dari user yang akan selalu dikonversi kedalam
string. Misal Kita memberikan input berupa “Belajar Python”. Maka data tersebut akan ditampung
sebagai string utuh. Kemudian pada raw_input, terdapat satu parameter yang akan dijadikan
pertanyaan atau perintah tertulis saat meminta input. Jika Kita ingin memberikan input berupa angka,
saat memasukkan angka tersebut tidak boleh lebih dari satu angka. Hal ini disebabkan karena ketika
menggunakan raw_input, sekalipun yang diberikan adalah angka tetap akan dianggap string. Apabila
Kita memberikan input satu angka kepada raw_input, Kita harus mengkonversinya dengan function int,
float, long, atau beberapa function konversi ke angka lainnya sesuai dengan kebutuhan yang
diinginkan. Coba perhatikan kode dibawah ini : listing : pakai_python_2.py
nama = raw_input('masukkan nama kita : ')
panjang = raw_input("panjang : ") lebar =
raw_input("y : ")
print "Nama Kita
adalah ", nama luas =
int(panjang) *
int(lebar)
print " %d * %d = %d" % (int(panjang), int(lebar), luas)
input, function ini digunakan untuk menerima input sesuai dengan data yang diberikan oleh user. Tidak
seperti raw_input yang menerima input dan dianggap string. Saat memberikan input kepada raw_input,
Kita tidak perlu menggunakan aturan penulisan untuk tipe data tertentu. Sedangkan di input Kita harus
mengikuti aturan penulisan untuk memasukkan input dari tipe data tertentu. Sebagai contoh dibawah
terdapat beberapa contoh aturan penulisan saat akan memberikan data dengan tipe data tertentu
kepada input.
listing : pakai_python_3.py
# meminta input boolean : coba masukkan True
variabel_bool = input('masukkan data boolean :
') print "isi variabel_bool : ", variabel_bool
Contoh diatas memperlihatkan sebuah perbedaan penggunaan raw_input dengan input. Data yang
didapat dari raw_input harus dikonversikan dengan built-in function untuk tipe data tertentu.
Sedangkan data yang didapat dari input tidak perlu dikonversikan, tapi saat memasukkan data harus
mengikuti aturan penulisan untuk tipe data tertentu.
Membuat Pemilihan Kondisi
Penggunaan Operator Kondisional dan Logika pada Keyword “if”
Dalam kehidupan sehari – hari pasti kita menentukan pilihan untuk memulai sebuah aksi di pagi hari.
“Kalau hari ini ga hujan saya akan main tenis”, “Kalau ada ongkos nanti nonton Man of Steel”, “Kalau ga
hujan dan ada ongkos nanti mau pergi makan ramen”. Disadari atau tidak,kondisional sudah menjadi
bagian dari hidup kita secara otomatis saat sebelum melakukan sebuah tugas.
Dalam pemrograman pun demikian ada mekanisme dimana program akan menentukan aksi – aksi
sesuai kondisi dari input atau nilai – nilai yang diproses selama program berjalan langsung. Pemilihan
kondisi ini membutuhkan nilai “True” jika aksi yang diinginkan dibawah kondisi tersebut dieksekusi. Jika
nilainya “False”, maka akan diperiksa kondisi lain yang sesuai atau akan langsung ke bagian program
yang tidak memeriksa kondisi.
Di Python, terdapat beberapa keyword untuk membuat sebuah pemilihan kondisi. Ada if, elif, else.
Tidak memerlukan kurawal atau penutup pada blok if tersebut. Sebuah statement akan dianggap blok if
jika indentasinya lebih satu tab dari jumlah tab if diatasnya. Sebuah if akan diawali tkita titik dua baru
dibawahnya terdapat kode program yang akan dieksekusi jika kondisi terpenuhi.
Dalam membuat pemilihan kondisi Kita juga membutuhkan operator logika (and, not, or) dan
perbandingan (==, <=, >=, >, <, <>, !=) untuk menyusun kondisi yang Kita butuhkan.
Berikut adalah contoh penggunaan if di Python. Contoh berikut menggunakan beberapa operator
perbandingan untuk melihat hasil perbandingan dua buah angka. Dalam program berikut beberapa
kondisi yang terpenuhi akan dieksekusi.
listing : kondisional_1.py
if angka1 == angka2 :
print "%d sama dengan %d" % (angka1, angka2) if angka1
!= angka2 : print "%d tidak sama dengan %d" % (angka1,
angka2)
if angka1 < angka2 :
print "%d kurang dari %d" % (angka1, angka2) if
angka1 > angka2 :
print "%d lebih dari %d" % (angka1, angka2) if
angka1 <= angka2 :
print "%d kurang dari sama dengan %d" % (angka1, angka2) if
angka1 >= angka2 : print "%d lebih dari sama dengan %d" %
(angka1, angka2)
Cobalah berbagai angka sebagai test case dan amati hasilnya. Misal Kita masukkan angka 10 dan 5
Maka hasilnya akan terdapat beberapa kondisi yang dieksekusi :
cobalah masukkan dua angka berbeda dan amati hasilnya. Misalkan Kita memasukkan angka 10 dan 5
maka akan tampil hasil seperti berikut :
Penggunaan “elif” pada “if”
Jika pada kondisional_1.py beberapa blok if akan dieksekusi, karena tidak ada pilihan lain pada masing
– masing blok if. Pada contoh berikutnya beberapa if akan digabung dan membentuk sebuah blok if
yang lebih besar karena adanya elif. Keyword elif ini berfungsi untuk membuat multi kondisional. Jadi
jika kondisi di if paling atas tidak sesuai maka kondisi yang ada dibawahnya akan diperiksa dan jika
cocok akan dieksekusi. Pada contoh berikutnya jika kondisi sudah sesuai pada blok teratas maka blok
tersebutlah yang akan dieksekusi, berbeda dengan contoh pada kondisional_1.py karena terdiri dari
beberapa blok if yang dianggap berbeda oleh Python. Untuk lebih jelasnya mari coba kode berikut
listing : kondisional_3.py
if angka1 == angka2 : print "%d sama dengan %d" % (angka1, angka2) elif
angka1 != angka2 : print "%d tidak sama dengan %d" % (angka1, angka2) elif
angka1 < angka2 : print "%d kurang dari %d" % (angka1, angka2) elif angka1 >
angka2 : print "%d lebih dari %d" % (angka1, angka2) elif angka1 <= angka2 :
print "%d kurang dari sama dengan %d" % (angka1, angka2) elif angka1 >=
angka2 : print "%d lebih dari sama dengan %d" % (angka1, angka2)
Coba masukkan dengan angka 10 dan 20, maka blok if yang dieksekusi hanya blok kedua yang berisi
kondisi angka1 tidak sama dengan angka 2. Jelas berbeda dengan kode yang ada di kondisional_1.py.
Untuk lebih jelasnya coba perhatikan gambar berikut
Penggunaan “else” pada “if”
Misal ada sebuah kondisi seperti berikut, “Kalau saya punya uang saya akan pergi ke taman bermain,
Lalu kalau uangnya cuma 10.000 cuma bakal naik komedi putar, kalau uangnya 20.000 bakal naik
komedi putar dan bom bom car”. Jika Kita perhatikan setelah kondisi pertama ada kondisi lagi yang
masih berada dibawah kondisi pertama. Kondisi semacam ini dapat disebut dengan kondisi bersarang
(nested if).
Di Python, untuk membuat sebuah blok if di dalam if, maka blok if yang ingin disimpan di dalam
sebuah if harus mempunyai satu tab lebih dibanding if sebelumnya. Kita dapat membuat if bersarang di
dalam if bersarang hingga tingkat sedalam yang Kita inginkan.
Misal disini ada sebuah list yang berisi [1, 2, 3, 4, 5], ( sebuah list diawali oleh tkita '[' dan ditutup oleh
tkita ']' ). Banyaknya elemen pada list tersebut menentukan banyaknya pengulangan yang akan
dilakukan saat melakukan pengulangan. Mari kita lihat implementasinya pada kode dibawah ini :
Pada contoh diatas, akan dicetak teks “ini pengulangan ke - “ sebanyak 5 kali. Nilai 'i' pada pengulangan
tersebut akan selalu berganti nilainya setiap tahap pengulangan dilakukan. Misal ketika pengulangan
pertama, nilai 'i' akan berisi 1, ketika pengulangan kedua, nilai 'i' akan berisi 2, begitu seterusnya sampai
elemen terakhir. Jika kode diatas dieksekusi akan menampilkan hasil seperti pada gambar dibawah ini :
Selain menggunakan list yang berisi angka, List yang berisi string dapat digunakan juga untuk
melakukan pengulangan for di Python. Misal terdapat list yang berisi seperti berikut [“Rawon”, “Nasi
Kuning”, “Soto Madura”, “Kupat Tahu”, “Kerak Telor”, “Rendang Batoko”, “Pempek Selam”, “Ayam
Betutu”], dalam list tersebut terdapat elemen sebanyak delapan jenis masakan nusantara. Dengan
demikian ketika pengulangan for menggunakan list masakan tadi, pengulangan akan dijalankan
sebanyak delapan kali. Mari Kita lihat implementasinya pada kode dibawah ini :
Listing : kode pengulangan_2.py
# pengulangan sebanyak 8 kali for i in ["Rawon", "Nasi Kuning", "Soto Madura", "Kupat Tahu", "Kerak
Telor", "Rendang Batoko", "Pempek Selam", "Ayam Betutu"] : print i, " adalah masakan khas
nusantara …"
Sekarang Kita coba contoh terakhir dengan menggunakan string. String pada dasarnya merupakan list
karakter. Misal terdapat string seperti berikut “abcde”. Jika string tersebut digunakan pada
pengulangan for, maka akan terjadi pengulangan sebanyak lima kali. Coba lihat kode dibawah ini :
listing : kode pengulangan_3.py
# pengulangan sebanyak 5
kali for i in "abcde": print i,
" adalah alfabet"
Memahami Function “range”
Kalau teman – teman memperhatikan list yang dipakai pada pengulangan_1.py, pengulangan tersebut
menggunakan list angka yang sudah jadi atau di-hardcode. Nah bagaimana nih kalau ingin membentuk
suatu pola atau ingin membuat list incremental agar pengulangan for di Python ini mirip di Java atau C.
Di Python terdapat fungsi yang bernama range. Range ini menghasilkan deret angka dengan parameter
(start, stop, step). Start adalah batasawal dari list, stop adalah batas akhir dari list, step adalah jarak
antar angka yang dihasilkan oleh range. Ada beberapa kasus penting yang perlu diperhatikan saat
menggunakan range. Coba perhatikan kode dibawah ini :
listing : kode pengulangan_4.py
# pengulangan_4.py
# kasus - 1 : jika step tidak disertakan maka step akan diisi 1 secara default
print range(1, 10)
# kasus - 2 : jika step disertakan maka step akan sesuai dengan angka yang diisikan
print range(1, 10, 2)
print range(1, 10, 3)
print range(1, 10, 4)
print range(1, 10, 5)
# kasus - 3 : jika step melebihi stop maka list hanya akan berisi start
print range(1, 10, 11)
# kasus - 4 : jika start lebih besar nilainya daripada stop maka list akan kosong
print range(10, 1)
# kasus - 6 : jika start lebih besar daripada stop dan step bernilai minus
# dan jika start dikurangi step menghasilkan angka positif
# maka list akan berisi deret angka menurun
print range(10, 1, -1)
# kasus - 7 : jika start lebih besar daripada stop dan step bernilai minus #
dan jika start dikurangi step bernilai minus maka list hanya akan berisi start
print range(10, 1, -11)
# pengulangan_7.py for i
in range(1, 20):
count_zero_remainder = 0
for j in range(1, i+1):
num_remainder = i % j #print num_remainder, if
num_remainder == 0: count_zero_remainder =
count_zero_remainder + 1
if count_zero_remainder == 2:
print i, " adalah bilangan prima" else:
print i, " bukanlah bilangan prima"
Pada contoh diatas kondisi untuk melakukan pengulangan ditaruh di while. Sekarang Kita coba taruh
kondisi pengulangan di dalam pengulangannya. Coba lihat contoh berikut :
listing : kode pengulangan_9.py
terus_tanya = True while terus_tanya : temp =
raw_input('masukkan angka kurang dari 10 !! : ') angka =
int(temp) if angka < 10:
terus_tanya = False
else:
terus_tanya = True
Untuk memahami pengulangan while lebih lanjut, berikut terdapat contoh penjumlahan angka dari 1
sampai 10. Dalam pengulangan ini terdapat sebuah variabel jml_angka yang berfungsi untuk
menampung angka – angka yang akan ditambahkan dengan angka berikutnya di setiap pengulangan.
Coba perhatikan kode dibawah ini : listing : kode pengulangan_10.py
i = 1 jml_angka
=0
1. Kita harus memahami konsep pemrograman Python tentang (1) Pengulangan: FOR ,
(2) Tipe Data: LIST , dan (3) Kondisi Bersyarat: IF-ELSE.
2. Kita harus memahami konsep Pemrograman Berorientasi Objek dengan
menggunakan class (optional).
3. Kita harus memahami konsep tentang Operasi Matriks. Ada 3 (tiga) Operasi Matriks
yang akan kita bahas disini adalah Penjumlahan (Add), Pengurangan (Subtract),
dan Perkalian (Multiple).
1 def jumlahMatrix(self):
2 # proses penjumlahan Matrix
3 for i in range(self.barMatA):
4 for j in range(self.kolMatA):
5 self.matrix_Hasil[i][j] = self.matrix_A[i][j] + self.matrix_B[i][j]
1 def kurangMatrix(self):
2 # proses pengurangan Matrix
3 for i in range(self.barMatA):
4 for j in range(self.kolMatA):
5 self.matrix_Hasil[i][j] = self.matrix_A[i][j] - self.matrix_B[i][j]
# Perkalian Matriks
1 def kaliMatrix(self):
2 # proses perkalian Matrix
3 for i in range(self.barMatA):
4 for j in range(self.kolMatB):
5 for k in range(self.barMatB):
6 self.matrix_Hasil[i][j] += self.matrix_A[i][k] * self.matrix_B[k][j]
1 # file: tes_matrix.py
2 # Python 3.4
3 class DemoMatriks:
4 def __init__(self):
5 # atur nilai matrix A dan matrix B
6 self.matrix_A = [[3, -2], [4, 5]]
7 self.matrix_B = [[5, 1], [-1, 2]]
8
9 # hitung ukuran baris dan kolom
10 self.barMatA = len(self.matrix_A) # jumlah baris A
11 self.kolMatA = len(self.matrix_A[0]) # jumlah kolom A
12 self.barMatB = len(self.matrix_B) # jumlah baris B
13 self.kolMatB = len(self.matrix_B[0]) # jumlah kolom B
14
15 # buat matrix kosong --> hasil proses aritmatika
16 self.buatMatrixHasil(self.barMatA, self.kolMatB)
17
18 self.buatMenu()
19
20 def buatMenu(self):
21 Menu ="""
22 ########## PROGRAM ARITMATIKA MATRIKS #######
23
24 Pilihan Metode Aritmatika:
25 <1> Penjumlahan Matriks
26 <2> Pengurangan Matriks
27 <3> Perkalian Matriks
28 <4> Keluar
29
30 Silahkan Pilih Menu (1-4): """
31 status = 0 # mati
32 while not status:
33 pilihan = input(Menu)
34
35 print()
36 print('Pilihan Anda: ', pilihan)
37 print()
38
39 if pilihan not in '1234':
40 print('Pilihan Anda SALAH! Masukkan 1 - 4.')
41 print()
42 else:
43 if pilihan == '4':
44 status = 1 # hidup
45 elif pilihan == '1':
46 self.jumlahMatrix()
47 elif pilihan == '2':
48 self.kurangMatrix()
49 elif pilihan == '3':
50 self.kaliMatrix()
51
52
53 def buatMatrixHasil(self, baris, kolom):
54 self.matrix_Hasil = []
55 for i in range(baris):
56 data = []
57 for j in range(kolom):
58 data.append(0) # berisi data 0
59 self.matrix_Hasil.append(data)
60
61 def jumlahMatrix(self):
62 # proses penjumlahan Matrix
63 for i in range(self.barMatA):
64 for j in range(self.kolMatA):
65 self.matrix_Hasil[i][j] = self.matrix_A[i][j] + self.matrix_B[i][j]
66
67 print('Matrix A: ', self.matrix_A)
68 print('Matrix B: ', self.matrix_B)
69 print('Matrix A + B: ', self.matrix_Hasil)
70
71 def kurangMatrix(self):
72 # proses pengurangan Matrix
73 for i in range(self.barMatA):
74 for j in range(self.kolMatA):
75 self.matrix_Hasil[i][j] = self.matrix_A[i][j] - self.matrix_B[i][j]
76
77 print('Matrix A: ', self.matrix_A)
78 print('Matrix B: ', self.matrix_B)
79 print('Matrix A - B: ', self.matrix_Hasil)
80
81 def kaliMatrix(self):
82 # proses perkalian Matrix
83 for i in range(self.barMatA):
84 for j in range(self.kolMatB):
85 for k in range(self.barMatB):
86 self.matrix_Hasil[i][j] += self.matrix_A[i][k] * self.matrix_B[k][j]
if __name__ == '__main__':
aplikasi = DemoMatriks()
[ TAMPILAN HASIL ]
Selesai