f

Modul-Praktikum-ADP


FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
2016


DAFTAR ISI
DAFTAR ISI
KATA PENGANTAR
TATA TERTIB PRAKTIKUM
I.     Percobaan 1  Pengenalan Python dan Tipe Data
I.1       Tujuan Percobaan
I.2       Tinjauan Pustaka
I.2.1    Pengenalan Python
I.2.2    Variabel dan Tipe Data
I.3       Percobaan
I.3.1    Percobaan I-1: Halo Dunia
I.3.2    Percobaan I-2: Penggunaan Variabel
I.3.3    Percobaan I-3: Tipe Data
I.4       Tugas Akhir
II.    Percobaan 2  Operator dan Statement I/O
II.1      Tujuan Percobaan
II.2      Tinjauan Pustaka
II.2.1      Operator
II.2.2      Statement I/O
II.3      Percobaan
II.3.1      Percobaan II-1: Operator aritmetika
II.3.2      Percobaan II-1: Operator pembanding
II.3.3      Percobaan II-3: Operator bitwise
II.3.4      Percobaan II-4: Operator logika
II.3.5      Percobaan II-5: Statement I/O
II.4      Tugas Akhir
III.      Percobaan 2  Percabangan untuk Kendali Program
III.1    Tujuan Percobaan
III.2    Tinjauan Pustaka
III.2.1     Percabangan
III.3    Percobaan
III.3.1     Percobaan III-1: Membandingkan 2 nilai (A)
III.3.2     Percobaan III-1: Membandingkan 2 nilai (B)
III.3.3     Percobaan III-3: Menampilkan huruf mutu
III.4    Tugas Akhir
IV.      Percobaan 4  Pengulangan
IV.1    Tujuan Percobaan
IV.2    Tinjauan Pustaka
IV.2.1     Pengulangan
IV.3    Percobaan
IV.3.1     Percobaan IV-1: Pengulangan while
IV.3.2     Percobaan IV-2: Pengulangan for
IV.3.3     Percobaan IV-3: Pengulangan for untuk segitiga
IV.4    Tugas Akhir
V.    Percobaan 5  Array & List
V.1     Tujuan Percobaan
V.2     Tinjauan Pustaka
V.2.1      Pengertian Array & List
V.2.2      Jenis-Jenis List
V.3     Percobaan
V.3.1      Percobaan V-1: Array 1 dimensi (A)
V.3.2      Percobaan V-2: Array 1 dimensi (B)
V.3.3      Percobaan V-3: Array 2 dimensi
V.3.4      Percobaan V-4: Mengakses string sebagai list
V.4     Tugas Akhir
VI.      Percobaan 6 Fungsi
VI.1    Tujuan Percobaan
VI.2    Tinjauan Pustaka
VI.2.1     Fungsi
VI.2.2     Fungsi Lambda
VI.3    Percobaan
VI.3.1     Percobaan VI-1: Fungsi tanpa parameter
VI.3.2     Percobaan VI-2: Fungsi dengan parameter (A)
VI.3.3     Percobaan VI-3: Fungsi dengan parameter (B)
VI.3.4     Percobaan VI-3: Lambda
VI.4    Tugas Akhir
LEMBAR ASISTENSI  PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN LABORATORIUM TEKNIK KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS LAMPUNG




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.

Wassalamualaikum wr. wb.


Bandar Lampung, 2 Desember 2014
Dosen Penanggung Jawab
Praktikum Pemrograman Komputer





Meizano A.M. Djausal, M.T.
NIP 19810528 201212 1 001





TATA TERTIB PRAKTIKUM
1.       Mahasiswa yang diizinkan mengikuti praktikum adalah yang telah terdaftar dan memenuhi syarat yang telah ditentukan.
2.       Praktikan dilarang mengoperasikan alat tanpa seizin asisten.
3.       Praktikum dilaksanakan sesuai jadwal dan praktikan harus hadir 15 menit sebelum praktikum dimulai.
4.       Praktikan harus berpakaian rapi dan tidak diperkenankan memakai kaos oblong.
5.       Praktikan dilarang membuat kegaduhan selama berada dalam laboratorium dan wajib menjaga kebersihan di dalam maupun di halaman laboratorium.
6.       Praktikan menyusun sepatu dengan rapi diluar laboratorium
7.       Praktikan wajib mengerjakan tugas pendahuluan dari setiap percobaan sebelum mengikuti praktikum.
8.       Ketidakhadiran peserta dalam suatu praktikum harus atas sepengetahuan asisten yang bersangkutan. Ketidakhadiran tanpa izin asisten akan mengurangi nilai laporan dari percobaan sebesar 20%.
9.       Praktikan harus melaksanakan asistensi kepada asisten yang bersangkutan selama penulisan laporan.
10.   Pelanggaran terhadap tata tertib akan diberikan sanksi: “TIDAK DIPERKENANKAN MENGIKUTI PRAKTIKUM”
11.   Praktikum menyimpan berkas praktikum di dalam direktori D:\ADP2015\<NPM-NamaDepan>. Contoh : D\ADP2015\1010101010\Labkom





I.      Percobaan 1
Pengenalan Python dan Tipe Data

Fadillah Halim Rasyidy (081930000967)

Najib Amaro (08979750137)

I.1      Tujuan Percobaan

·         Mahasiswa memahami dasar pemrograman Python, dan
·         Mahasiswa dapat memahami dan menggunakan variabel dan tipe data dalam pemrograman Python.

I.2      Tinjauan Pustaka

I.2.1     Pengenalan Python

Struktur program Python secara umum terbagi menjadi tiga bagian yaitu header, definisi fungsi, dan program utama. Setiap program mempunyai bentuk umum seperti di bawah, yaitu:
# - *- coding: utf- 8 - *-
# format di atas adalah untuk menggunakan karakter ASCII
# Kode I-1. Bentuk umum kode program Python
# header: Bisa digunakan untuk import library
from math import *
import math

# mendeklarasikan fungsi-fungsi
def tambah(x, y):
    return x + y

# bagian utama program
print tambah(1, 2)
Kode I1. Bentuk umum kode program python
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
Di layar akan tampil:
3
Yang merupakan hasil eksekusi dari program.
Penjelasan bentuk umum kode program:
a.       Header
Header berfungsi untuk menentukan modul mana yang akan digunakan dalam program. Modul merupakan pustaka tambahan yang disediakan oleh Python atau oleh orang lain dan dapat digunakan dalam program untuk mempermudah pembuatan program. Sselalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya:
from <namaspace> import <nama modul>
b.      Fungsi
Definisi dari fungsi - fungsi digunakan untuk menyederhanakan program dan program utama merupakan awal kode program yang akan dieksekusi oleh Python interpreter. Pemisah yang digunakan oleh Python untuk membedakan antara blok perintah satu dengan blok perintah lainnya adalah dengan tabulasi. Pada program diatas contoh pemisah blok dapat dilihat pada fungsi tambah. Fungsi digunakan pada program utama dengan memanggil fungsinya seperti pada baris sprint tambah(1, 2).

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

print "Halo, Dunia!"
print "Halo juga, tetangga Dunia!"
 Kode I2. Halo Dunia

I.2.2     Variabel dan Tipe Data

1.       Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variabel bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variabel digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut:
variabel = ekspresi
Nama dari suatu variabel dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut:
1.       Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa python, seperti bahasa C ++, bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2.       Tidak boleh mengandung spasi.
3.       Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain: $, ?, %, #, !, &, *, (, ), -, +, =.
4.       Panjangnya bebas, tetapi beberapa compiler (seperti compiler C/Python versi 7.0 dan di bawahnya) hanya memakai 32 karakter pertama.
Contoh penamaan variabel yang benar:
NIM, a, x, nama_mhs, f3098, f4, nilai, budi.
Contoh penamaan variabel yang salah:
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!

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 I1. Beberapa tipe data dasar
Grup
Tipe Data
Lebar Bit
Rentang
Number
integer
4 byte
-2147483648 s.d. 2147483649
long integer
tak hingga
tak hingga
float
8 byte
2.2e-308 s.d. 1.7e+308
String
String
-
-
Boolean
boolean
1 byte
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

print "nama anda"
Kode I3. percobaan101.py
·         Jelaskan kode program di atas!

I.3.2     Percobaan I-2: Penggunaan Variabel

Ketik kode program di bawah ini:
# Percobaan I-2: Penggunaan Variabel
# percobaan102.py

n = NPM anda

print "Nilai n = %d" % n
 Kode I4. percobaan102.py
1.       Jelaskan kegunaan n!
2.       Mengapa nilai hasil dari program 66?

I.3.3     Percobaan I-3: Tipe Data

a.        Tipe data bilangan
Ketik kode program di bawah ini:
# Percobaan I-3: Tipe Data (a) bilangan
# percobaan103.py

m = 2.5
n = 3

print "Nilai m = %f" % m
print "Nilai n = %d" % n
Kode I5. percobaan103.py
1.       Jelaskan kode program di atas!
2.       Ubah %f menjadi %d. Apa yang terjadi pada program? Kenapa?

b.      Tipe data string
Ketik kode program di bawah ini:
# Percobaan I-4: Tipe Data (b) karakter
# percobaan104.py

a = 'A'
b = "Be"
c = 'Ceh\a'
d = "Deh\a"

print "Nilai a = %s" % a
print "Nilai b = %s" % b
print "Nilai c = %s" % c
print "Nilai d = %r" % d
Kode I6. percobaan104.py
1.       Ubah %s dengan %r. Apa yang terjadi pada program?
2.       Jelaskan penggunaan %r dari program di atas!

I.4      Tugas Akhir

Buatlah program  untuk menghitung volume Tabung (Rumus Volume Tabung : phi x jari-jari x jari-jari x tinggi).  Jari-jari = 7 dan tinggi = 24.



II.    Percobaan 2
Operator dan Statement I/O

Miftah Farid ( 08996440828 )

Randi Pranata ( 089649059607 )


II.1    Tujuan Percobaan

·         Mahasiswa dapat memahami penggunaan operator- operator di dalam python, dan
·         Mahasiswa dapat menggunakan sintaks input dan output pada python.

II.2    Tinjauan Pustaka

II.2.1   Operator

Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi.
a.       Operator penugasan
Operator penugasan/pemberian nilai (assignment operator) dalam bahasa Python berupa tanda sama dengan(“=”). Contoh:
nilai = 80;
A = x * y;
Penjelasan:
·         variabel “nilai” diisi dengan nilai 80, dan
·         variabel “A” diisi dengan hasil perkalian antara x dan y.

b.      Operator aritmetika
Tabel II1. Operator aritmetika
Operator
Keterangan
Contoh (A = 10, B = 20)
+
Menambah dua operand (Add)
A + B à 30
-
Mengurangi sejumlah operand pertama dari operandi kedua (Subtract)
A - B à -10
*
Perkalian dua operand (multiply)
A * B à 200
/
Pembagian (divide)
B / A à 2
%
Sisa pembagian integer (modulus)
B % A à 0
**
Pangkat (Eksponen)
A**2 à 100
//
Pembagian pembulatan ke bawah (floor division)
B//6 à 6
-
mengubah nilai satu operand menjadi negasinya (negate). Disebut unary operator karena hanya perlu satu operandi.
-B à -20

Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan,  misalnya: 9 % 2 à 1; 9 % 3 à 0.
c.       Operator relasional (perbandingan)
Operator relasional digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variabel).
Tabel II2. Operator hubungan dalam bahasa python
Operator
Keterangan
Contoh (A = 10, B = 20)
==
Sama dengan (bukan assignment)
(A == B) adalah False
!=
Tidak sama dengan
(A != B) adalah True
Lebih besar
(A > B) adalah False
Lebih kecil
(A < B) adalah True
>=
Lebih besar atau sama dengan
(A >= B) adalah False
<=
Lebih kecil atau sama dengan
(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 II3. Operator bitwise dalam bahasa python
Operator
Keterangan
Contoh (A = 60 == 0011 1100,
 B = 13 == 0000 1101)
&
Bitwise AND
(A & B) à 12 == 0000 1100
|
Bitwise OR
(A | B) à 61 == 0011 1101
^
Bitwise XOR
(A ^ B) à 49 == 0011 0001
~
Bitwise NOT
(~A ) à -61 == 1100 0011
<< 
Geser n bit ke kiri (Binary Left Shift)
A << 2 à 240 == 1111 0000
>> 
Geser n bit ke kanan (Binary Right Shift)
A >> 2 à 15 == 0000 1111


e.       Operator logika
Operator logika digunakan untuk melihat hubungan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi.
 Tabel II4. Operator logika dalam bahasa Python
Operator
Keterangan
Contoh (A = 1, B = 0)
and
Logika AND
(A and B) à false.
or
Logika OR
(A or B) à true.
not
Logika NOT
not(A and B) à true.

II.2.2   Statement I/O

Pada Python terdapat 2 jenis I/O dasar, yaitu:
a.       Statement Input adalah statement/pernyataan yang digunakan  untuk membaca data dari input device  (keyboard/mouse). Contoh: cin (character in)
b.      Statement Output adalah statement/pernyataan yang digunakan untuk menuliskan data ke layar monitor. Contoh: cout (character out)

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

print "%.f + %.f = %.f" % (m, n, m + n)
print "%.2f - %.2f = %.4f" % (m, n, m - n)
print "%f x %f = %f" % (m, n, m * n)
print "%f / %f = %f" % (m, n, m / n)
print "%f / %f = %f (dibulatkan ke bawah)" % (m, n, m // n)
print "%f / %f sisa hasil bagi %f" % (m, n, m % n)
print "(-)%f = %f" % (m, -m)
print "%f^2 = %f" % (m, m**2)
Kode II1. percobaan201.py
1.       Jelaskan kegunaan masing-masing operator berdasarkan hasil percobaan!
2.       Mengapa pada hasil bagi m//n didapat nilai bilangan bulat?
3.       Apa perbedaan %.f dan %.2f?

II.3.2   Percobaan II-1: Operator pembanding

Ketik kode program di bawah ini:
# Percobaan II-2: Operator pembanding
# percobaan202.py

m = 5.0
n = 7.0

print "m  = n : " + str(m == n)
print "m != n : " + str(m != n)
print "m  > n : " + str(m > n)
print "m  < n : " + str(m < n)
print "m >= n : " + str(m >= n)
print "m <= n : " + str(m <= n)
Kode II2. percobaan202.py
1.       Ganti nilai m = 5 dan n = 5. Apa yang terjadi? Mengapa?
2.       Ganti nilai m =10 dan n = 8. Apa yang terjadi? Mengapa?
3.       Apa fungsi dari str()?



II.3.3   Percobaan II-3: Operator bitwise

Ketik kode program di bawah ini:
# Percobaan II-3: Operator bitwise
# percobaan203.py

m = 60
n = 13

print "m AND n = " + str(m & n)
print "m OR  n = " + str(m | n)
print "m XOR n = " + str(m ^ n)
print "    ~n = " + str(~n)
print "m geser ke kiri 2 bit  = " + str(m << 2)
print "m geser ke kanan 1 bit = " + str(m >> 1)
Kode II3. percobaan203.py
1.       Jelaskan fungsi operator yang digunakan pada kode program di atas!
2.       Jelaskan hasil eksekusi program!

II.3.4   Percobaan II-4: Operator logika

Ketik kode program di bawah ini:
# Percobaan II-4: Operator logika
# percobaan204.py

l = 80
m = 90
n = 0

print "    (m >= l) and (m <= n)  : " + str((m >= l) and (m <= n))
print "    (m >= l) or  (m <= n)  : " + str((m >= l) or (m <= n))
print "not((m >= l) and (m <= n)) : " + str(not((m >= l) and (m <= n)))
Kode II4. percobaan204.py
1.       Jelaskan fungsi operator yang terdapat pada kode program!
2.    Jelaskan hasil eksekusi program!

II.3.5   Percobaan II-5: Statement I/O

Ketik kode program di bawah ini:
# Percobaan II-5: Statement I/O
# percobaan205.py

tanyaTinggi = "Tinggi Anda?"

print "Nama Anda?"
nama = raw_input()
umur = raw_input("Umur Anda?")
tinggi = raw_input(tanyaTinggi)
print "Berat Anda?",
berat = raw_input()

print "Nama Anda adalah %s dan Anda berumur %s serta memiliki tinggi %s dan berat %s." % (nama, umur, tinggi, berat)
Kode II5. percobaan205.py
1.       Jelaskan fungsi dari print!
2.       Jelaskan fungsi dari raw_input!
3.       Apakah kegunaan dari , (koma)?
4.       Apakah kegunaan dari variabel tanyaTinggi?

II.4    Tugas Akhir

1.       Buatlah program untuk menghitung luas bangunan geometri trapesium. Ukuran dimensi bangunan didapat dari peranti masukan dan luas bangun ditampilkan sebagai keluaran. Berikan penjelasan!

III.  Percobaan 3
Percabangan untuk Kendali Program

Anang Restuningrat ( 085664770165 )

Ghumelar Ihab Suhada ( 089680198688 )


III.1  Tujuan Percobaan

·         Mahasiswa dapat menggunakan sintaks percabangan pada python.
·         Mahasiswa mengetahui bentuk umum dari percabangan pada python.

III.2  Tinjauan Pustaka

III.2.1  Percabangan

Pada umumnya dalam membuat program selalu ada pengecekan suatu kondisi untuk mengarahkan arah program berjalan. Percabangan adalah suatu struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk umum pemilihan ini:
·         if untuk satu kondisi[R1] 
Statemen if digunakan untuk melakukan penyeleksian dimana jika kondisi bernilai benar, maka program akan mengeksekusi statemen dibawahnya. Dalam Python, untuk penulisan pengkondisian dan statemen dipisahkan oleh tanda titik dua (:). Bentuk umum :
    if(kondisi1):
        pernyataan

·         if  else untuk satu kondisi dan tidak terpenuhinya kondisi
Statemen if – else digunakan untuk melakukan penyeleksian kondisi dimana jika kondisi bernilai benar maka program akan mengeksekusi statemen 1. Namun jika nilai kondisi bernilai salah, maka statemen 2 yang akan dieksekusi. Bentuk umum:

    if(kondisi1):
        pernyataan1
    else:
        pernyataan2

·         if  elif else untuk dua kondisi atau lebih
Statemen if – else – elif digunakan untuk melakukan penyeleksian kondisi Diana kondisi yang diberikan lebih dari 1 kondisi atau memiliki beberapa kondisi. Jika kondisi pertama bernilai benar, maka lakukan seleksi kondisi kedua dan seterusnya. Bentuk umum:
    if(kondisi1):
        pernyataan1
    elif(kondisi2):
        pernyataan2
    else:
        pernyataan3

 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)
Kode III1. Percobaan301.py
1.       Jelaskan hasil eksekusi program!
2.       Bagaimana caranya output pada else dapat ditampilkan?

III.3.2  Percobaan III-1: Membandingkan 2 nilai (B)

Ketik kode program di bawah ini:
# Percobaan III-2: Membandingkan 2 nilai (B)
# percobaan302.py

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 III2. Percobaan302.py
1.       Jelaskan hasil eksekusi program!
2.       Ubah elif(m > n) menjadi if(m > n). Apa yang terjadi? Kenapa?

 




III.3.3  Percobaan III-3: Menampilkan huruf mutu

Ketik kode program di bawah ini:
# Percobaan III-3: Menampilkan huruf mutu
# percobaan303.py

nilai = int(raw_input("Masukkan nilai Anda = "))
if (nilai <= 100):
    if (nilai > 85):
        print "Huruf mutu Anda adalah A."
    elif (nilai > 75):
        print "Huruf mutu Anda adalah B."
    elif (nilai > 65):
        print "Huruf mutu Anda adalah C."
    elif (nilai > 55):
        print "Huruf mutu Anda adalah D."
    elif (nilai <= 55):
        print "Huruf mutu Anda adalah E."
else:
    print "Nilai di luar jangkauan."
Kode III3. Percobaan303.py
1.       Jelaskan hasil eksekusi program!
2.       Apakah yang berbeda dari if (nilai <= 100): dan if (nilai > 85):?
3.  else: berlaku untuk if yang mana? Kenapa?

III.4  Tugas Akhir

1.       Buatlah program untuk mengetahui apakah bilangan termasuk ganjil atau genap. Nilai dari bilangan didapat dari peranti masukan. Berikan penjelasan!



IV.  Percobaan 4

Pengulangan

Reynold Tjandi ( 08996455015 )

Halim Abdillah ( 0818641253 )


IV.1   Tujuan Percobaan

·         Mahasiswa dapat memahami dan menggunakan sintak pengulangan pada Python

IV.2   Tinjauan Pustaka

IV.2.1  Pengulangan

Operasi pengulangan dilakukan apabila  ada sebuah/sekelompok instruksi yang perlu diulang, baik terdefinisi sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian:
1)      Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan
2)      Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang.
Perintah perulangan digunakan untuk mengulang pengeksekusian statemen-statemen hingga berkali-kali sesuai dengan iterasi yang diinginkan. Dalam Python, perintah untuk perulangan (loop) adalah while dan for.
Perintah atau notasi dalam struktur pengulangan adalah:
a.       while
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan secara berulang apabila syaratnya terpenuhi. Pernyataan while memungkinkan statemen- statemen yang ada didalamnya tidak diakukan sama sekali. Konsep sederhana dari perintah while adalah ia akan mengulang mengeksekusi statemen dalam blok while selama nilai kondisinya benar dan ia akan keluar atau tidak melakukan eksekusi blok statemen jika nilai kondisinya salah.
Bentuk umum:
    While (kondisi):
        #pernyataan

b.      for
Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa syarat selain jumlah pengulangan. Pada umumnya looping yang dilakukan oleh for telah diketahui terasi maksimum yang akan dicapai. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi.
Bentuk umum:
    for indeks_for in range(rentang_nilai_atau_batas_maksimum)
        #pernyataan
CATATAN: Semua pernyataan di bawah while, for harus diberi jarak 4 spasi (atau jika menggunakan IDE, 1 tab). Tujuannya adalah untuk menyatakan pernyataan tersebut berada di dalam while, 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

nilai = int(raw_input("Masukkan nilai awal = "))
print "Pengulangan while dimulai..."
while (nilai > 1):
    nilai = nilai / 2
    print nilai
print "Pengulangan while selesai."
Kode IV1. Percobaan401.py
1.       Jelaskan hasil eksekusi program!
2.       Apa yang terjadi jika nilai = nilai / 2 diganti dengan nilai = nilai * 2? Kenapa?

IV.3.2  Percobaan IV-2: Pengulangan for

Ketik kode program di bawah ini:
# Percobaan IV-2: Pengulangan for
# percobaan402.py

nilai = int(raw_input("Masukkan nilai iterasi = "))
print "Pengulangan for dimulai..."
for i in range(nilai):
    nilai = nilai * 2
    print str(i+1) + ". Nilai di iterasi ke-" + str(i+1) + "  = " + str(nilai)
print "Pengulangan for selesai."
Kode IV2. Percobaan402.py
1.       Jelaskan hasil eksekusi program!
2.       Apa perbedaan for dengan struktur pengulangan while?
3.       Kenapa, pada str(i+1), i harus ditambah 1?



IV.3.3  Percobaan IV-3: Pengulangan for untuk segitiga

Ketik kode program di bawah ini:
# Percobaan IV-3: Pengulangan for untuk segitiga
# percobaan403.py

nilai = int(raw_input("Tinggi segitiga = "))

print "Membuat segitiga dimulai..."

for i in range(nilai):

    for j in range(i):
        print "O",
   
    print
   
print "Segitiga selesai."
Kode IV3. Percobaan403.py
1.       Jelaskan hasil eksekusi program!
2.       Mengapa hasil bisa membentuk segitiga?

IV.4   Tugas Akhir

1.       Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 1. Jelaskan hasil dari eksekusi program!
2.       Buatlah program menggunakan perulangan while atau for untuk mencetak
* * *
* * *
* * *
* * *
Jelaskan hasil eksekusi program!

V.     Percobaan 5
Array & List

Arief Awangga ( 082372354805 )

Abdul Munif Hanafi ( 08994200876 )


V.1     Tujuan Percobaan

·         Mahasiswa dapat memahami pengertian array/list dan penggunaannya
·         Mahasiswa dapat mengimplementasikan array/list.

V.2     Tinjauan Pustaka

V.2.1    Pengertian Array & List

Variabel-variabel yang kita gunakan pada percobaan sebelumnya adalah variabel yang hanya dapat menampung sebuah nilai numerik atau string pada suatu waktu. Apabila kita ingin memberi nilai yang baru pada variabel tersebut, maka nilai lama akan hilang karena digantikan oleh nilai yang baru. Bagaimana apabila kita ingin menyimpan beberapa nilai/data dalam sebuah variabel dengan nama yang sama tetapi semua nilai tetap tersimpan? Solusi yang dapat dilakukan adalah dengan menggunakan indeks pada nama variabel tersebut. Cara ini disebut dengan array.
Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama, dan setiap elemen diakses langsung melalui indeksnya. Indeks array haruslah tipe data yang menyatakan keterurutan, misalnya: integer atau string. Array dapat dianalogikan sebagai sebuah lemari yang memiliki sederetan kotak penyimpanan yang diberi nomor berurutan. Untuk menyimpan atau mengambil sesuatu dari kotak tertentu, kita hanya cukup mengetahui nomor kotaknya saja.
Pada python, array diwakili oleh list. List pada dasarnya adalah sebuah array yang bisa terdiri dari satu jenis tipe data ataupun terdiri dari beberapa tipe data. Pada pembahasan ini, kata array dan list mengacu pada hal yang sama.

V.2.2    Jenis-Jenis List

a.       List satu dimensi
List satu dimensi dapat dikatakan sebagai suatu daftar linier atau sebuah kolom.
Bentuk umum dari array jenis ini dalam bahasa Python adalah:
nama_list = [anggota list]
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

list_a = [10, 20, 30, 40, 20]

for i in list_a:
    print i
Kode V1. Percobaan501.py
1.       Jelaskan hasil eksekusi program!
2.       Apa fungsi pengulangan for di atas?
3.       Mengapa list_a diakses tanpa menggunakan kata kunci range()?

V.3.2    Percobaan V-2: Array 1 dimensi (B)

 Ketik kode program di bawah ini:
# Percobaan V-2: List 1 dimensi (B)
# percobaan502.py

list_a = [10, 20, 30, 40, 20]

for i in range(len(list_a)):
    print list_a[i]
Kode V2. Percobaan501.py
1.       Apakah kegunaan kata kunci len()?
2.       Apa kegunaan list_a[i]?

V.3.3    Percobaan V-3: Array 2 dimensi

 Ketik kode program di bawah ini:
# - *- coding: utf- 8 - *-
# Percobaan V-3: List 2 dimensi
# percobaan503.py

list_all = [[10, 20, 30, 40, 20],["kata", 1, 'A', 3],[1.0, 2.0, 'string2', 1E-20]]

for i in list_all:
    for j in i:
        print str(j) + " adalah anggota himpunan " + str(i)
    print "\n"
Kode V3. Percobaan402.py
1.       Jelaskan hasil eksekusi program!
2.       Kenapa ada dua pengulangan for di atas? Jelaskan!
3.       Apa kegunaan dari print "\n"?

V.3.4    Percobaan V-4: Mengakses string sebagai list

Ketik kode program di bawah ini:
# Percobaan V-4: Mengakses string sebagai list
# percobaan504.py

abjad = "abcdefghijklmnopqrstuvwxyz"
n = 0

for i in abjad:
    print str(n) + ". " + i
    n += 1

print abjad[11].upper() + abjad[0] + abjad[1]
 Kode V4. Percobaan504.py
1.       Jelaskan hasil eksekusi program!
2.       Kenapa string bisa diakses sebagai list?
3.       Apa kegunaan n += 1?
4.       Apa kegunaan .upper()?

V.4     Tugas Akhir

1.       Buatlah program yang bisa memasukkan data dari terminal ke dalam array 1 dimensi dan 2 dimensi. Jelaskan hasil dari eksekusi program!
2.       Buatlah program untuk penjumlahan matriks menggunakan array 2 dimensi. Jelaskan hasil dari eksekusi program!

VI.  Percobaan 6
Fungsi

Farisy Ideham Hanafi ( 089606742953 )

Imam Syuhada ( 08980783012 )


VI.1   Tujuan Percobaan

·         Mahasiswa dapat membuat fungsi pada Python

VI.2   Tinjauan Pustaka

VI.2.1  Fungsi

Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return). Fungsi digunakan agar pemrogram dapat menghindari penulisan berulang-ulang bagian program (kode), dapat menyusun kode program agar terlihat lebih rapi, dan kemudahan dalam debugging program. Parameter adalah nama-nama peubah (variabel) yang dideklarasikan pada bagian header fungsi. Pemrogram dapat membuat fungsi yang didefinisikan sendiri olehnya. Nama fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada Python.
Gambar VI1. Hierarki fungsi
Fungsi sendiri terbagi 2, yaitu: fungsi tanpa parameter, fungsi dengan parameter.
Bentuk umum fungsi tanpa parameter:
# Deklarasi fungsi
def nama_fungsi1():
    # pernyataan
Bentuk umum fungsi dengan parameter:
def nama_fungsi2(variabel1, variabel2):
    # pernyataan
    return variabel1 * variabel2
Sintaks return dapat digunakan untuk mengembalikan nilai dari dalam fungsi. Selain parameter dengan variabel biasa, fungsi juga bisa menggunakan list.

VI.2.2  Fungsi Lambda

Fungsi lambda adalah suatu fungsi yang merepresentasikan suatu fungsi anonymous untuk perumusan tertentu yang lebih singkat. Berikut contoh perbedaan dan penggunaan antara fungsi biasa dengan fungsi lambda.
def f(x): return x**2
print f(8)

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"
    lab = "Laboratorium Teknik Komputer JTE FT Unila"
    return praktikum + " di " + lab + "."

print namaPraktikum()
 Kode VI1. Percobaan601.py
1.       Jelaskan hasil eksekusi program!
2.       Mengapa harus ada print namaPraktikum()?
3.       Apa yang terjadi jika return dihilangkan? Jelaskan!

VI.3.2  Percobaan VI-2: Fungsi dengan parameter (A)

Ketik kode program di bawah ini:
# Percobaan VI-2: Fungsi dengan parameter
# percobaan602.py

def luasPersegiPanjang(m, n):
    return m * n

panjang = float(raw_input("Panjang = "))
lebar = float(raw_input("Lebar  = "))
       
print "Luas persegi panjang = %.f" % luasPersegiPanjang(panjang, lebar)
Kode VI2. Percobaan602.py
1.       Jelaskan hasil eksekusi program!
2.       Mengapa tidak ada return? Jelaskan!

VI.3.3  Percobaan VI-3: Fungsi dengan parameter (B)

Ketik kode program di bawah ini:
# Percobaan VI-3: Fungsi dengan parameter
# percobaan603.py

def tulisVertikal(kata):
    for i in kata:
        print i

ketikan = raw_input("Tulisan = ")
       
print tulisVertikal(ketikan)
Kode VI3. Percobaan603.py
3.       Jelaskan hasil eksekusi program!
4.       Mengapa tidak ada return? Jelaskan!

VI.3.4  Percobaan VI-3: Lambda

# Percobaan VI-3: Lambda
# percobaan603.py

hitungPangkat = lambda x: x**3

nilai = float(raw_input("Hitung pangkat 3 dari = "))
       
print "Pangkat 3 dari %.2f adalah %.2f" % (nilai, hitungPangkat(nilai))
Kode VI3. Percobaan603.py
1.       Jelaskan hasil eksekusi program!
2.       Apakah kegunaan float()? Jelaskan!
3.       Apa yang terjadi jika x**3 diletakkan di bawah baris hitungPangkat = lambda x:? Jelaskan!

VI.4   Tugas Akhir

1.       Buatlah program kalkulator sederhana menggunakan fungsi yang dapat melakukan pertambahan, perkalian, pengurangan, dan pembagian!