UNIVERSITAS LAMPUNG
2015
24
24
DAFTAR ISI
DAFTAR ISI........................................................................................................... i
KATA PENGANTAR.............................................................................................. iv
TATA TERTIB PRAKTIKUM..................................................................................... v
I.
Tujuan Percobaan................................................................................... 1
I.2
Tinjauan Pustaka.................................................................................... 1
Percobaan.............................................................................................. 3
Tugas Akhir............................................................................................ 5
Tujuan Percobaan................................................................................... 6
II.2
Tinjauan Pustaka.................................................................................... 6
II.2.1
Operator.......................................................................................... 6
II.2.2
Statement I/O.................................................................................. 7
II.3
Percobaan.............................................................................................. 8
II.3.1
II.3.2
II.3.3
II.3.4
II.3.5
II.4
III.
Tugas Akhir.......................................................................................... 10
Percobaan 2 Percabangan untuk Kendali Program.................................11
III.1
Tujuan Percobaan................................................................................. 11
III.2
Tinjauan Pustaka.................................................................................. 11
III.2.1
III.3
Percabangan.................................................................................. 11
Percobaan............................................................................................ 12
III.3.1
III.3.2
III.3.3
III.4
IV.
Tugas Akhir.......................................................................................... 13
Percobaan 4 Pengulangan......................................................................14
IV.1
Tujuan Percobaan................................................................................. 14
IV.2
Tinjauan Pustaka.................................................................................. 14
IV.2.1
IV.3
Percobaan............................................................................................ 15
IV.3.1
IV.3.2
IV.3.3
IV.4
V.
Pengulangan.................................................................................. 14
Tugas Akhir.......................................................................................... 16
Tujuan Percobaan................................................................................. 17
V.2
Tinjauan Pustaka.................................................................................. 17
V.2.1
V.2.2
Jenis-Jenis List................................................................................17
V.3
Percobaan............................................................................................ 18
V.3.1
V.3.2
V.3.3
V.3.4
V.4
VI.
Tugas Akhir.......................................................................................... 19
Percobaan 6 Fungsi.................................................................................20
VI.1
Tujuan Percobaan................................................................................. 20
VI.2
Tinjauan Pustaka.................................................................................. 20
VI.2.1
Fungsi............................................................................................ 20
VI.2.2
Fungsi Lambda..............................................................................21
VI.3
Percobaan............................................................................................ 21
VI.3.1
VI.3.2
VI.3.3
VI.3.4
VI.4
Tugas Akhir.......................................................................................... 23
LEMBAR ASISTENSI
PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN
LABORATORIUM TEKNIK KO MPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS
TEKNIK UNIVERSITAS LAMPUNG..........................................................................I
24
24
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Alhamdulillah, kami ucapkan syukur ke hadirat Allah SWT, bahwa berkat
rahmat dan karunia-Nya, kami masih diberikan kesempatan untuk
melaksanakan kegiatan Praktikum Algoritma dan Pemrograman. Praktikum
Algoritma dan Pemrograman merupakan pengimplementasian atau kegiatan
praktik untuk menerapkan teori yang sudah dipelajari dalam mata kuliah
Algoritma dan Pemrograman. Tentunya ilmu yang akan didapatkan dalam
praktikum ini akan lebih bertambah dan lebih berkembang jika praktikum ini
dilaksanakan dengan sebaik-baiknya.
Perkembangan teknologi dewasa ini telah membuat dunia menjadi lebih
dinamis dan komunikatif. Perkembangan ini tidak terlepas dari peran serta
insan teknik elektro serta ilmu pengetahuan yang tercakup di dalamnya.
Sehingga kita harus menambah pengetahuan untuk ikut serta dalam
mengembangkan teknologi agar semakin maju dan berdampak positif bagi
kehidupan manusia. Ucapan terima kasih, kami sampaikan kepada Ketua
Jurusan Teknik Elektro Unila, segenap dosen, teknisi dan tim Laboratorium
Teknik Komputer, karyawan dan mahasiswa Teknik Elektro Universitas
Lampung, atas dukungan dan perhatian yang telah diberikan.
Panduan Praktikum ini selalu membutuhkan peningkatan, untuk itu kritik dan
saran yang bersifat membangun untuk Panduan Praktikum ini akan kami
perhatikan dan tindak lanjuti dengan seksama. Semoga ilmu yang diperoleh
dalam Praktikum ini dapat dimanfaatkan dengan sebaik-baiknya.
24
24
I. Percobaan 1
Pengenalan Python dan Tipe Data
Fadillah Halim Rasyidy (081930000967)
Najib Amaro (08979750137)
I.1 Tujuan Percobaan
# mendeklarasikan fungsi-fungsi
def tambah(x, y):
return x + y
Kode tersebut kemudian disimpan ke dalam file yang memiliki ekstensi .py,
misal kode1.py. Untuk menjalankan program tersebut, ketik pada command
prompt:
C:\ Python27>python kode1.py
c. Komentar
Komentar tidak pernah dicompile oleh intepreter. Dalam Python baris yang
diawali dengan tanda Krebs atau pagar (#) merupakan komentar dan tidak
akan diproses oleh python interpreter.
d. Mengenal print
Pernyataan print merupakan sebuah sintal-sintal di dalam python, yang
digunakan untuk mengarahkan data ke dalam standar output (cetak pada
layar/terminal). Contoh:
# - *- coding: utf- 8 - *# Kode I-2. Halo Dunia
# Program wajib bagi programmer
2. Tipe Data
Tipe data menyatakan pola penyajian data dalam komputer: karakter,
bilangan, 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.
Tabel I-1. Beberapa tipe data dasar
Grup
Number
String
Boolean
Tipe Data
integer
long integer
float
String
boolean
Lebar Bit
4 byte
tak hingga
8 byte
1 byte
Rentang
-2147483648 s.d. 2147483649
tak hingga
2.2e-308 s.d. 1.7e+308
Memiliki satu nilai: True atau False
Tipe data yang berhubungan dengan bilangan bulat adalah integer dan long
integer. Sedangkan berhubungan dengan bilangan pecahan adalah float. Tipe
data bool digunakan untuk logika True atau False. Tipe data String digunakan
untuk karakter dan gabungan (array) dari karakter, contoh: Belajar, B.
I.3 Percobaan
I.3.1 Percobaan I-1
Ketik kode program di bawah ini:
# Percobaan I-1. Halo Dunia
# percobaan101.py
n = NPM anda
1. Jelaskan kegunaan n!
2. Mengapa nilai hasil dari program 66?
m = 2.5
n = 3
a = 'A'
b = "Be"
c = 'Ceh\a'
d = "Deh\a"
II. Percobaan 2
Operator dan Statement I/O
Miftah Farid ( 08996440828 )
Randi Pranata ( 089649059607 )
II.1 Tujuan Percobaan
dalam
program
untuk
a. Operator penugasan
Operator penugasan/pemberian nilai (assignment operator) dalam bahasa
Python berupa tanda sama dengan(=). Contoh:
nilai = 80;
A = x * y;
Penjelasan:
b. Operator aritmetika
Tabel II-2. Operator aritmetika
Opera
tor
+
*
/
%
**
//
Keterangan
Menambah dua operand (Add)
Mengurangi sejumlah operand pertama
dari operandi kedua (Subtract)
Perkalian dua operand (multiply)
Pembagian (divide)
Sisa pembagian integer (modulus)
Pangkat (Eksponen)
Pembagian pembulatan ke bawah (floor
division)
Contoh (A = 10, B
= 20)
A + B 30
A - B -10
A * B 200
B/A2
B%A0
A**2 100
B//6 6
-B -20
Opera
tor
==
!=
>
<
>=
<=
Keterangan
Sama
dengan
(bukan
assignment)
Tidak sama dengan
Lebih besar
Lebih kecil
Lebih besar atau sama dengan
Lebih kecil atau sama dengan
(A == B) adalah False
(A != B) adalah True
(A > B) adalah False
(A < B) adalah True
(A >= B) adalah False
(A <= B) adalah True
d. Operator bitwise
Operator bitwise hanya bisa dikenakan pada operand bertipe data integer.
Operator bitwise bekerja pada tingkat bit dan melakukan operasi biner.
Tabel II-4. Operator bitwise dalam bahasa python
Keterangan
Operat
or
&
|
^
~
<<
>>
Bitwise AND
Bitwise OR
Bitwise XOR
Bitwise NOT
Geser n bit ke kiri (Binary Left Shift)
Geser n bit ke kanan (Binary Right
Contoh (A = 60 == 0011
1100,
B = 13 == 0000 1101)
(A & B) 12 == 0000 1100
(A | B) 61 == 0011 1101
(A ^ B) 49 == 0011 0001
(~A ) -61 == 1100 0011
A << 2 240 == 1111 0000
A >> 2 15 == 0000 1111
Shift)
e. Operator logika
Operator logika digunakan untuk melihat hubungan dua atau lebih ungkapan
menjadi sebuah ungkapan berkondisi.
Keterangan
Operat
or
and
or
not
Contoh (A = 1, B = 0)
(A and B) false.
(A or B) true.
not(A and B) true.
Logika AND
Logika OR
Logika NOT
II.3 Percobaan
II.3.1 Percobaan II-1: Operator aritmetika
Ketik kode program di bawah ini:
# Percobaan II-1: Operator aritmetika
# percobaan201.py
m = 82.0
n = 26.0
m = 5.0
n = 7.0
print "m
= n : " + str(m == n)
print "m
m = 60
n = 13
n = " + str(m | n)
~n = " + str(~n)
l = 80
m = 90
n = 0
print "
print "
(m >= l) or
(m <= n)
print "not((m >= l) and (m <= n)) : " + str(not((m >= l) and (m <= n)))
Kode II-10. percobaan204.py
print "Nama Anda adalah %s dan Anda berumur %s serta memiliki tinggi %s
dan berat %s." % (nama, umur, tinggi, berat)
Kode II-11. percobaan205.py
1.
2.
3.
4.
III. Percobaan 3
Percabangan untuk Kendali Program
Anang Restuningrat ( 085664770165 )
Ghumelar Ihab Suhada ( 089680198688 )
III.1 Tujuan Percobaan
if(kondisi1):
pernyataan1
else:
pernyataan2
CATATAN: Semua pernyataan di bawah if, elif, else harus diberi jarak 4
spasi (atau jika menggunakan IDE, 1 tab). Tujuannya adalah untuk
menyatakan pernyataan tersebut berada di dalam if, elif, else.
III.3 Percobaan
III.3.1 Percobaan III-1: Membandingkan 2 nilai (A)
Ketik kode program di bawah ini:
# Percobaan III-1: Membandingkan 2 nilai (A)
# percobaan301.py
m = 5.0
n = 7.0
if(m == n):
print str(m) + " sama dengan " + str(n)
else:
print str(m) + " tidak sama dengan " + str(n)
m = 5.0
n = 7.0
if(m == n):
print str(m) + " sama dengan " + str(n)
elif(m != n):
print str(m) + " tidak sama dengan " + str(n)
elif(m > n):
print str(m) + " lebih besar " + str(n)
elif(m < n):
print str(m) + " lebih kecil " + str(n)
Kode III-13. Percobaan302.py
IV. Percobaan 4
Pengulangan
Reynold Tjandi ( 08996455015 )
Halim Abdillah ( 0818641253 )
IV.1 Tujuan Percobaan
b. for
IV.3 Percobaan
IV.3.1 Percobaan IV-1: Pengulangan while
Ketik kode program di bawah ini:
# Percobaan IV-1: Pengulangan while
# percobaan401.py
= " +
for i in range(nilai):
for j in range(i):
print "O",
V. Percobaan 5
Array & List
Arief Awangga ( 082372354805 )
Abdul Munif Hanafi ( 08994200876 )
V.1 Tujuan Percobaan
Contoh:
list_a = [10, 20, 30, 40, 20]
list_b = [kata, 1, A, 3]
list_c = [1.0, 2.0, string2, 1E-20]
b. List Multidimensi
Contoh umum untuk list jenis ini adalah list dua dimensi dan list tiga dimensi.
List dua dimensi ini dapat dianggap sebagai sebuah matriks yang jumlah
kolomnya lebih dari satu. Sedangkan, list tiga dimensi bisa digunakan untuk
pentabelan data (baris, kolom, isi data).
Bentuk umum array 2 dimensi:
nama_list = [ [anggota_list_a] [anggota_list_b] [anggota_list_c]]
Contoh:
list_all = [[10, 20, 30, 40, 20],[kata, 1, A, 3],[1.0, 2.0, string2, 1E-20]]
CATATAN: Semua pernyataan di bawah : (titik dua), for harus diberi jarak
4 spasi (atau jika menggunakan IDE, 1 tab). Tujuannya adalah untuk
menyatakan pernyataan tersebut berada di dalam : (titik dua).
V.3 Percobaan
V.3.1 Percobaan V-1: Array 1 dimensi (A)
Ketik kode program di bawah ini:
# Percobaan V-1: List 1 dimensi (A)
# percobaan501.py
for i in list_a:
print i
Kode V-18. Percobaan501.py
for i in range(len(list_a)):
print list_a[i]
Kode V-19. Percobaan501.py
for i in list_all:
for j in i:
print str(j) + " adalah anggota himpunan " + str(i)
print "\n"
Kode V-20. Percobaan402.py
abjad = "abcdefghijklmnopqrstuvwxyz"
n = 0
for i in abjad:
print str(n) + ". " + i
n += 1
1.
2.
3.
4.
VI. Percobaan 6
Fungsi
Farisy Ideham Hanafi ( 089606742953 )
Imam Syuhada ( 08980783012 )
VI.1 Tujuan Percobaan
fungsi
B()
fungsi
C1()
fungsi
C()
fungsi
C2()
fungsi
C3()
Selain parameter dengan variabel biasa, fungsi juga bisa menggunakan list.
g = lambda x: x**2
print g(8)
Dapat dilihat pada kode diatas, f() dan g() melakukan perintah yang sama dan
dapat digunakan dengan cara yang sama. Fungsi lambda diadaptasi oleh
Python dari functional programming dan keuntungan dari fungsi lambda
adalah tidak perlu mendeklarasikan variabel apapun.
lambda memiliki perbedaan dengan def antara lain:
1. lambda adalah sebuah ekspresi, bukan pernyataan. Karena ini,
sebuah lambda dapat muncul di tempat-tempat def tidak
diperbolehkan oleh sintaks Python-di dalam daftar harfiah atau
pemanggilan fungsi argumen, misalnya. Sebagai ekspresi, lambda
mengembalikan nilai (fungsi baru) yang opsional dapat diberi nama.
Sebaliknya, pernyataan def selalu memberikan fungsi baru ke nama
di header, bukannya kembali sebagai hasilnya.
2. tubuh lambda adalah ekspresi tunggal, bukan satu blok
statemen. Tubuh lambda sama dengan apa yang akan dimasukkan
ke dalam statemen return dalam tubuh def.
CATATAN: Semua pernyataan di bawah : (titik dua), for harus diberi jarak
4 spasi (atau jika menggunakan IDE, 1 tab). Tujuannya adalah untuk
menyatakan pernyataan tersebut berada di dalam : (titik dua).
VI.3 Percobaan
VI.3.1 Percobaan VI-1: Fungsi tanpa parameter
Ketik kode program di bawah ini:
# Percobaan VI-1: Fungsi tanpa parameter
# percobaan601.py
def namaPraktikum():
praktikum = "Praktikum Algoritma dan Pemrograman Python"
print namaPraktikum()
Kode VI-22. Percobaan601.py
= "))
def tulisVertikal(kata):
for i in kata:
print i
print tulisVertikal(ketikan)
Kode VI-24. Percobaan603.py
LEMBAR ASISTENSI
PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN
LABORATORIUM TEKNIK KOMPUTER
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
Judul Praktikum
Praktikan (NPM)
Asissten (NPM)
No
:
:
:
Catatan
Tanggal
Bandar Lampung,
Paraf
NPM