2
Daftar Isi
1.5 Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3
4 Kontrol Program 21
4.1 Pernyataan if . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.6 Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.6 Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 Operasi File 31
4
Modul 1
Pada modul ini, akan diperkenalkan IDLE yang merupakan editor untuk mem-
buat program dalam bahasa python dan cara penggunaannya.
Pada pemrograman python, ada banyak IDE yang dapat digunakan tetapi pa-
da praktikum kali ini akan digunakan IDE yang sudah disediakan oleh paket
python yaitu IDLE. IDLE (Integrated Development Editor) merupakan suatu
editor kode program, bantuan interaktif, dan debugging yang digunakan untuk
melakukan development program dengan menggunakan bahasa python. Seper-
ti yang dapat dilihat pada gambar 1.1, bahwa IDLE dapat dibagi menjadi dua
bagian besar yaitu Interactive Shell dan Teks Editor. Untuk menjalankan
editor IDLE masuk ke menu All programs Python 2.6 IDLE (Python
GUI)
5
Gambar 1.1: Screen shot dari IDLE
Seluruh kata yang dicetak tebal, miring, dan berwarna biru merupakan kata
yang diketikkan pada interactive shell dan kata yang berwarna hitama selain
simbol (>>>) adalah hasil keluaran dari perintah yang diberikan.
Teks editor pada IDLE digunakan untuk menulis kode program dan melakukan
eksekusi kode program tersebut pada interactive shell. Teks editor yang digu-
nakan sudah mendukung auto completion dengan menekan tombol ctrl+spasi
sehingga IDLE akan menyarankan semua keyword python yang mungkin akan
digunakan pada kode program. Anda akan banyak bekerja dengan menggu-
nakan teks editor ini. Pada saat awal eksekusi program IDLE jendela teks
editor tidak akan muncul dan untuk dapat memunculkan jendela tersebut da-
pat digunakan menu File New Window.
Struktur program python secara umum terbagi menjadi tiga bagian yaitu head-
er, denisi fungsi, dan program utama. Contoh program python secara lengkap
adalah sebagai berikut
6
# header
from numpy import *
import math
# fungsi-fungsi
def PCA(x, y):
print Fungsi 1
# main program
print Main Program
Sekedar info, baris yang diawali dengan tanda kres merupakan komentar dan
tidak akan diproses oleh python intepreter. Header berfungsi untuk menen-
tukan module mana yang akan digunakan dalam program. Module merupakan
pustaka tambahan yang disediakan oleh python atau oleh orang lain dan dapat
digunakan dalam program untuk mempermudah pembuatan program. Seba-
gai contoh diatas, kode program tersebut menggunakan semua module yang
ada pada namespace numpy dan menggunakan module math yang disediakan
oleh python.
1. Buat jendela teks editor baru dengan menggunakan menu File New
Window lalu tulislah kode program berikut
# Program 1
print "PRAKTIKUM PEMROGRAMAN KOMPUTER"
print "Ini adalah program yang ditulis dengan Bahasa Python"
print "Berikut contoh program penambahan"
a = 2
b = 3
hasil = a + b
print "hasil = a + b"
print "hasil = %d + %d" % (a,b)
print "hasil = %d" % (hasil)
7
2. Simpan le kode program tersebut dengan menggunakan menu File
Save atau dengan menekan tombol ctrl+S. Sesuaikan nama le dengan
nama latihan ini. Perlu diingat, jangan lupa menyertakan tambahan
ekstensi le .py pada akhir nama dari le karena IDLE tidak secara
otomatis menambahkan ekstensi le tersebut.
3. Untuk menjalankan kode program dapat dilakukan dengan menggunakan
menu Run Run Module atau dengan menekan tombol F5.
Kesalahan sintak merupakan sesuatu yang wajar dalam pembuatan suatu pro-
gram, oleh karena itu pada latihan 2 ini akan disimulasikan bagaimana mencari
suatu kesalahan dengan menggunakan editor IDLE.
1. Buat jendela teks editor baru dengan menggunakan menu File New
Window lalu tulislah kode program berikut
# Program 1
print "PRAKTIKUM PEMROGRAMAN KOMPUTER"
print "Ini adalah program yang ditulis dengan Bahasa Python"
print "Berikut contoh program penambahan"
a := 2
b = 3
hasil = a + b
print "hasil = a + b"
print "hasil = %d + %d" % (a,b)
Print "hasil = %d" % (hasil)
4. Tekan tombol OK maka IDLE akan membawa kursor Anda ke baris
pada kode program yang mempunyai sintak yang salah seperti yang di-
tunjukan pada gambar berikut.
8
5. Perbaiki kesalahan tersebut, lalu jalankan kembali kode programnya. Ke-
salahan yang sama muncul lagi tetapi pada baris yang berbeda, yaitu pa-
da baris terakhir dimana perintah print salah dituliskan menjadi Print.
Perlu diingat, bahwa kode program yang dituliskan dengan bahasa
python bersifat case sensitif sehingga perintah print dan Print adalah
dua perintah yang berbeda.
1.5 Tugas
2. Buatlah program yang menampilkan nama dan NRP Anda dalam dua
baris keluaran.
9
10
Modul 2
Pada modul praktikum yang kedua ini, dibahas permasalahan yang berhubun-
gan dengan input / output yaitu bagaimana menampilkan suatu nilai atau
objek pada layar serta bagaimana menangani masukan dari user untuk diolah
dalam program yang kita buat. Perintah yang akan dibahas adalah perintah
print, input, dan raw_input.
Perintah print merupakan perintah dasar dari python yang dapat menampilkan
seluruh data yang disupport secara native oleh python. Ada beberapa cara
memanggil perintah print yaitu:
11
Setiap menggunakan perintah print maka python akan secara otomatis
menambahkan perintah untuk pindah baris pada akhir instruksi. Jika
perintah pindah baris tidak diinginkan maka perintah print harus dita-
mbahkan koma pada akhir baris.
# File : print_.py
var_int = 10
var_float = 1.2345
var_str = Hello, World!
print Python Style
print Integer = , var_int
print Floating-point = , var_float
print String = , var_str
print
print C style
print Integer = %d % (var_int)
print Floating-point = %f % (var_float)
print String = %s % (var_str)
print
print Control khusus
print Pindah baris dua kali\n
print Nggak pindah baris,
print \tmasih satu baris
Input data yang dilakukan oleh user merupakan hal yang penting dalam pem-
rograman python. Ada dua perintah yang dapat digunakan untuk melakukan
input data yaitu perintah input dan perintah raw_input.
Perintah input digunakan untuk melakukan input data jenis numerik. Dengan
menggunakan perintah input. harus dipastikan bahwa user akan menginputkan
data yang berupa numerik karena jika data yang diinputkan tidak berupa data
numerik maka perintah input akan mengeluarkan pesan kesalahan. Contoh
12
penggunaan perintah input dan kesalahannya jika data yang diinputkan bukan
data numerik adalah sebagai berikut.
Perintah raw_input dapat digunakan dengan cara yang sama dengan peng-
gunaan perintah print, tetapi hasil data yang diinputkan akan selalu berupa
string. Perintah raw_input dapat digunakan untuk input data string dan nu-
merik dengan cara tertentu. Contoh penggunaan perintah raw_print adalah
sebagai berikut.
13
2.3 Tugas
1. Buatlah tabel dengan format text (bukan grak) sebagai berikut. Isilah
xxx, yyy, dan zzz dengan sembarang data.
Data 1
Nama : xxx
NRP : yyy
Alamat : zzz
Data 2
...
Data 3
...
----------------------------------------------------------
| Nama | NRP | Alamat |
----------------------------------------------------------
| xxx | yyy | zzz |
----------------------------------------------------------
| ... | ... | ... |
----------------------------------------------------------
| ... | ... | ... |
----------------------------------------------------------
14
Modul 3
Tipe data menyatakan pola penyajian data dalam komputer: karakter, bilan-
gan, string, record. Tipe data dibedakan menjadi dua yaitu tipe data dasar
dan tipe data khusus. Tabel dibawah menampilkan beberapa tipe data dasar
dan domainnya, yang dikenal dalam Python.
Variabel merupakan penampung data yang isinya dapat diubah. Data yang
dapat disimpan adalah data sesuai dengan tipenya.
Nama variabel terdiri dari huruf, angka dan garis bawah, dapat didahului oleh
huruf dan garis bawah, dengan ketentuan:
15
Pemberian (assignment) nilai ke Variable
Tipe data dari variabel ditentukan oleh isi yang diberikan oleh programmer.
Jika programmer memberikan nilai yang masuk dalam range integer maka vari-
abel tersebut akan bertipe integer, jika oating-point maka variabel tersebut
akan bertipe oat, dan seterusnya. Berikut merupakan contoh dari penggu-
naan variabel
>>> a = 10.5
>>> type ( a )
< type ' float ' >
>>> a = 10
>>> type ( a )
< type 'int ' >
>>> a = 2**1024
>>> type ( a )
< type ' long ' >
>>> a = " Ini String "
>>> type ( a )
< type 'str ' >
Latihan 3.1
# Program 3.1
import math
Latihan 3.2
# Program 3.1
import math
3.2 List
List pada dasarnya adalah sebuah array yang bisa terdiri dari satu jenis tipe
data ataupun terdiri dari beberapa tipe data. Tuple sedikit banyak merupakan
suatu list, hanya saja pada tuple isi dari tuple tersebut bersifat read-only.
16
3.2.1 List Satu Dimensi
List adalah deretan variabel yang mempunyai tipe data tertentu dan mempun-
yai nilai yang sama. Pada bahasa Python, list dapat dideklarasikan dengan
menggunakan perintah sebagai berikut.
Akses ke dalam list dapat menggunakan beberapa cara, yaitu dengan meng-
gunakan index langsung, index backward, dan slice. Berikut contoh masing-
masing cara tersebut.
a = list_a [0] # a = 10
a = list_a [0:3] # a = [10 , 10 , 20]
a = list_a [:: -1] # a = [40 , 30 , 20 , 10 , 10]
a = list_a [ -1] # a = 40
a = list_a [ -3::] # a = [20 , 30 , 40]
Akses ke dalam list mempunyai aturan ysng sama dengan akses data pada list
satu dimensi. Berikut merupakan contoh akses data untuk list multidimensi.
a = list_a [0][1] # a = 1
a = list_a [:: -1][0] # a = [3 ,3 ,3]
a = list_a [ -1] # a = [3 ,3 ,3]
a = list_a [ -2::] # a = [[1 ,1 ,1] ,[3 ,3 ,3]]
17
Latihan 3.3
# Program 3.3
N = 5
tab = [0] * N
for i in range ( N ):
tab [ i ] = i
for i in range ( N ):
print " i = " , i , " tab [ i ] = " , tab [ i ]
Latihan 3.4
# Program 3.4
b = [ [0 ,0 ,0] ] * 5
for i in range (3):
for j in range (5):
b [ j ][ i ] = i * j
print b [ j ][ i ] , " " ,
print
Fungsi lambda adalah suatu fungsi yang mepresentasikan suatu fungsi anony-
mouse untuk perumusan tertentu. Berikut contoh perbedaan dan penggunaan
antara fungsi biasa dengan fungsi lambda.
Setiap yang dapat dilihat pada kode diatas, f() dan g() melakukan perintah
yang sama dan dapat digunakan dengan cara yang sama. Fungsi lambda di-
adaptasi oleh python dari functional programming dan keuntungan dari fungsi
lambda adalah tidak perlu mendeklarasikan variabel apapun.
18
3.4 Operator
Operator merupakan simbol atau kata yang digunakan untuk operasi dan ma-
nipulasi dalam program yang melibatkan satu (unary operator) atau dua nilai
(binary operator).
Operator Aritmatika
Merupakan operator untuk operasi aritmatika seperti:
* Perkalian - Perhitungan
/ Pembagian + Penambahan
% Sisa Pembagian ** Pangkat
Latihan 3.5
# Program 3.5
i = 100
j = i * 2
k = j / 4
l = k % 3
f = lambda x : x **2 +
print " Nilai i : % d \ nNilai j : % d " % (i , j )
print " Nilai k : % d \ nNilai l : % d " % (k , l )
Operator Relasi
Merupakan operator untuk membandingkan dua buah nilai. Keluaran atau
hasil pembandngan adalah kondisi benar atau kondisi salah.
Operator Logika
Merupakan operator untuk menghubungkan satu atau lebih kondisi. Kondisi
bisa merupakan hasil pembandingan yang menggunakan operator relasi.
19
Tabel 3.3: Operator Logika
Operator Operasi
Latihan 3.6
# Program 3.6
k = 2 * 3
l = ( k == 6)
m = 5 or 10
print " K = " , k , " L = " , l , " M = " , m
3.5 Tugas
1. Buatlah program untuk menghitung luas dan keliling dari bangun perse-
gi, segi tiga, jajar genjang !
2. Buatlah program untuk menghitung volume dari tabung, balok dan pris-
ma segi tiga!
20
Modul 4
Kontrol Program
4.1 Pernyataan if
Pada model pernyataan if, sebuah aksi akan dikerjakan jika syarat yang dia-
jukan bernilai benar
Bentuk umum :
if syarat :
aksi1
Aksi dapat terdiri dari satu baris pernyataan atau berupa sekumpulan (block)
baris pernyataan.
Latihan 4.1
# Program 4.1
print " Contoh if satu kasus "
a = input ( " Ketikkan suatu nilai integer : " )
if a >= 0:
print " Nilai a positif "
21
4.2 Pernyataan if ... else
Pada model pernyataan ini, aksi1 akan dikerjakan jika syarat bernilai benar
sedangkan jika salah maka aksi2 yang akan dikerjakan.
Bentuk umum :
if syarat :
aksi1
else :
aksi2
Latihan 4.2
# Program 4.2
print " Contoh if dua kasus "
a = input ( " Ketikkan suatu nilai integer : " )
if a >= 0:
print " Nilai a positif " , a
else :
print " Nilai a negatif " , a
22
Bentuk umum:
if syarat1 :
aksi1
else :
if syarat2 :
aksi2
else :
aksi3
Bentuk umum:
Latihan 4.3
# Program 4.3
print " Baca N , print 1 s / d N "
N = input ( " N = " )
for i in range ( N ):
print i
print " Akhir program "
Pada pengulangan jenis ini, pengecekan dilakukan diawal dan akan terus di-
lakukan sampai syarat yang diminta memiliki nilai false. Pengulangan dengan
while ini hampir sama dengan pengulangan dengan for jika inisialisai dile-
takkan sebelum blok pengulangan.
Bentuk umum:
while syarat :
pernyataan
23
# transformasi dari jenis perulangan for
inisialisasi
while syarat :
pernyataan
penambahan
Latihan 4.4
# Program 4.4
N = input ( " Nilai N = " )
print " print i dengan WHILE : "
i = 1
while i <= N :
print i
i = i + 1
Pada bahasa pemrograman python, tidak terdapat keyword khusus yang digu-
nakan untuk pernyataan switch case tetapi dapat digunakan pernyataan if..elif
untuk menggantikan pernyataan switch case.
Bentuk umum :
if syarat1 :
aksi1
elif syarat2 :
aksi2
elif syarat3 :
aksi3
24
Latihan 4.5
# Program 4.5
cc = raw_input ( " Ketikkan sebuah huruf , akhiri dengan enter \ n " )
if cc == " o " :
print " Yang anda ketikkan adalah o "
elif cc == " a " :
print " Yang anda ketikkan adalah a "
elif cc == " u " :
print " Yang anda ketikkan adalah u "
elif cc == " e " :
print " Yang anda ketikkan adalah e "
elif cc == " i " :
print " Yang anda ketikkan adalah i "
else :
print " Yang anda ketik adalah huruf mati "
4.6 Tugas
1. Buatlah program yang mencetak bilangan biner dari input bilangan dec-
imal integer!
2. Buatlah program dengan menggunakan pernyataan perulangan yang me-
nampilkan hasil sebagai berikut :
*
**
***
****
*****
... (sebanyak N, dimana N adalah input)
****
***
**
*
3. Buatlah program dengan menggunakan pernyataan perulangan yang me-
nampilkan hasil sebagai berikut :
*
*
*
*
*
*
*
*
*
25
26
Modul 5
Fungsi adalah suatu bagian dari program yang dimaksudkan untuk menger-
jakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang
menggunakannya.
Berdasarkan keluaran dan masukannya fungsi dapat dibagi menjadi 4. Yang
dimaksud keluaran adalah fungsi yang mengembalikan suatu nilai tertentu dan
yang dimaksud dengan masukan adalah parameter yang merupakan inputan
pada fungsi.
1. Fungsi tanpa masukan dan keluaran
Contoh: print()
2. Fungsi tanpa keluaran dan dengan masukan
Contoh: print(Ini text)
3. Fungsi dengan keluaran dan tanpa masukan
Contoh: time()
4. Fungsi dengan keluaran dan masukan
Contoh: input(N=)
Fungsi ini merupakan fungsi yang tidak memiliki parameter inputan namun
fungsi ini tetap melaksanakan tugas tertentu.
Bentuk umum :
27
Latihan 5.1
# Program 5.1
def input_data ():
" Fungsi pertama "
nama = raw_input ( " Nama : " )
nrp = raw_input ( " NRP : " )
cetak_string ()
Fungsi ini merupakan fungsi yang memiliki sejumlah parameter dengan tugas
tertentu. Perlu digaris bawahi bahwa semua parameter memiliki jenis pengi-
riman by reference sehingga jika dilakukan manipulasi parameter pada fungsi
maka nilai dari parameter tersebut juga akan berubah sesuai dengan data yang
diisikan.
Bentuk umum :
Latihan 5.2
# Program 5.2
def cetak_string ( par1 , par2 ):
print " Nama mahasiswa adalah " , par1
print " NRP mahasiswa adalah " , par2
def hitung (a , b ):
print " Hasil penjumlahan " , a , " + " , b , " adalah " ,( a + b )
# main program
nama = raw_input ( " Nama = " )
nrp = raw_input ( " NRP = " )
cetak_string ( nama , nrp )
bil1 = 10
bil2 = 12
hitung ( bil1 , bil2 )
28
5.4 Fungsi dengan keluaran
Bentuk umum :
Latihan 5.3
# Program 5.3
def tambah (a , b ):
jum = a + b
return jum
def kurang (c , d ):
return c - d
Latihan 5.4
# Program 5.4
def tambah_kurang (a , b ):
return [ a + b , a - b ]
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri secara berulang-
ulang. Karena prosesnya dilakukan secara berulang-ulang maka harus ada
29
kondisi yang mengakhiri prosesnya.
Latihan 5.5
# Program 5.5
def faktorial ( nn ):
if nn <= 1:
return 1
else :
f = nn * faktorial ( nn -1)
return f
5.6 Tugas
2. Buatlah program dengan fungsi yang menukar isi dua buah variabel
string !
3. Buatlah program dengan fungsi yang mengembalikan nilai KPK dari dua
bilangan (Gunakan sebagai parameter) !
30
Modul 6
Operasi File
31