Teny Handhayani
PRAKTIKUM 1
Materi:
----------------------------------------------------------------
Berfikir algoritmis
Flowchart
Pseudocode
Latihan
Berfikir algoritmis
Belajar
programming
?? belajar
untuk Program
menyelesaikan harus ditulis
suatu masalah dalam suatu
bahasa yang
dimengerti
oleh
komputer
Bahasa Pemrograman
Interpreter : menerjemahkan
baris per baris instruksi. Contoh
bahasa Basic.
Compiler : menerjemahkan penerjemah
setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, bahasa
C/C++, dll.
Notasi Algoritma
Notasi algoritma umumnya dapat dibuat dalam tiga cara yaitu :
Kalimat Deskriptif
Flowchart
Pseudocode
Dalam belajar algoritma notasi yang umum digunakan adalah
Flowchart dan Pseudocode.
Flowchart dan Pseudocode memiliki keunggulan tersendiri.
Menulis algoritma dengan Flowhart dan Pseudocode biasanya
dilakukan oleh programmer pemula (tahap belajar).
Programmer yang mahir umumnya langsung menuangkan
algoritma dengan bahasa pemrograman tertentu.
Namun programmer mahir terkadang menggunakan Flowchart
dan Pseudocode untuk dokumentasi.
Flow chart dan Pseudocode
Flow chart diperkenalkan oleh Frank Gilberth tahun 1921
Flow chart digunakan untuk menggambarkan (proses
bisnis) aliran input, proses, dan output dari sebuah
sistem
Pseudocode merupakan struktur untuk mendeskripsikan
algoritma
It allows the designer to focus on the logic of the
algorithm without being distracted by details of language
syntax
Pseudocode merupakan logika lagoritma yang dituliskan
tanpa memperhatikan sin
Simbol dalam flow chart
Terminator
(start/End) Menggambarkan kondisi mulai atau berhenti
Data
(Input - Menggambarkan data (input), juga digunakan untuk
Output) menggambarkan output
Garis penghubung
Simbol dalam Flow chart
Predefined Or
Process Multidocuments
Direct
Document Internal Access
storage Storage
Contoh 1 Mulai
Algoritma Menghitung Luas Persegi
Panjang
Pseudocode
Input:
Panjang, Lebar : real
Output: Cetak Luas
Luas : Real
read (Panjang)
Read (Lebar) Selesai
Luas = Panjang * Lebar
write(Luas)
Contoh 2
Algoritma Menghitung nilai akar kuadrat dari
persamaan Mulai
Input
a,b,c
Tahap 1: Mulai
Tahap 2: Input nilai a, b, c
Tahap 3: Menghitung D
D = sqrt (b * b – 4 * a * c) D = sqrt (b*b – 4* a * c)
Tahap 4: x1 = (-b + D) / (2 * a)
Tahap 5: x2 = (-b - D) / (2 * a)
Tahap 6: Cetak x1, x2
Tahap 7: Selesai X1 = (-b + D) / (2 * a)
Pseudocode
Input:
X2 = (-b - D) / (2 * a)
a,b,c: real
Output:
x1, x2: Real
read (a) Cetak
X1, X2
Read (b)
Read (c)
x1 = (-b + D) / (2 * a) Selesai
x2 = (-b - D) / (2 * a)
Write(X1, X2)
Struktur (IF-Then-Else)
Benar Salah
Apakah
A>B
Cetak A Cetak B
Algoritma
Studi Kasus 1
Selesai
Latihan
Buatlah Flow chart untuk menentukan sebuah bilangan
N merupakan bilangan ganjil atau bilangan genap
Algoritma:
Tahap 1: Mulai
Tahap 2: Baca N
Tahap 3: x = N mod 2
Tahap 4: if(x == 0) then
cetak “Genap”
else
cetak “Ganjil”
Tahap 5: Selesai
Jawaban Mulai
Input:
N : positive integer Baca N
Output:
String “Genap/Ganjil”
read(N)
x = N mod 2 x = N mod 2
if x =0 then
print (“Genap”)
else
print(“Ganjil”)
endif Benar Salah
Apakah
x=0?
Cetak
Cetak Ganjil
Genap
Selesai
Struktur Nested If
Struktur Nested IF
Algoritma menentukan nilai maksimum dari 3 buah
angka Pseudocode
Tahap 1: Mulai Input
N1,N2,N3 : Real
Tahap 2: Input N1, N2, N3
Output
Tahap 3: if (N1 > N2) then max : real
if (N1 > N3) then
read (N1,N2,N3)
max = N1 if N1 > N2 then
else if N1 > N3 then
max = N1
max = N3
else
else max = N3
if (N2 > N3) then endif
else
max = N2 if N2 > N3 then
else max = N2
else
max = N3
max= N3
endif endif
endif endif
return max
Tahap 4: Return max
Tahap 5: Selesai
Flow chart Mulai
Menentukan nilai maksimum
dari 3 buah angka
Input
N1,N2,N3
Return
max
Selesai
Struktur For dan While
Algoritma Menghitung nilai Factorial Mulai
Tahap 1. Mulai
Tahap 2: Baca input nilai N
Tahap 3: [Inisialisasi]
Baca N
Tahap 4: Ulangi Tahap 4 – Tahap 6 sampai i = n
Tahap 5: fact = fact * I
Tahap 6: i = i+1
Tahap 7: Cetak fact
Tahap 8: Selesai i=1
fact = 1
5! = 5 x 4 x 3 x 2 x 1! (perulangan)
Input
Benar Salah
N: nonnegative integer Apakah
Output: i <= N?
fact: nonnegative integer
Read(N)
i = 1 i = i+1
fact = 1 Cetak fact
while i <= N
i = i+1
fact = fact * i
endwhile fact = fact * i
write(fact)
Selesai
Latihan
Buatlah flowchart untuk menghitung deret fibonacci angka ke n
Tahap 1: Mulai
Tahap 2: Baca n
Fibonacci (0) = 0
Fibonacci (1) = 1
Tahap 3: if (n = 0)
Fibonacci (2) = 1
return 0 Fibonacci (3) = 2
else Fibonacci (4) = 3
x=0 Fibonacci (5) = 5
y=1
Fibonacci (6) = 8
Fibonacci (7) = 13
i=1
Fibonacci (8) = 21
Tahap 4: Apakah i < N-1 ulangi Tahap 4 - 8 Fibonacci (9) = 34
Tahap 5: z = x+y Fibonacci (n) = ?
Tahap 6: x = y
Tahap 7: y = z
Tahap 8: i = i + 1
Tahap 9: return y
Tahap 10: Selesai
Mulai
Flow chart Fibonacci ke n
Baca n
x=0
return 0 y=1
i=1
(perulangan)
z = x+y
return y
x=y
Y=z
i = i+1
Selesai
Pseudocode
procedure fibonacci
Input
n: positive integer
Output
y: positive integer
read(n)
if n = 0 then return 0
else
x := 0
y := 1
for i := 1 to n-1
z := x+y
x := y
y := z
return y
/* output is the nth Fibonacci number */
Struktur do While
Mulai
Pseudocode
Cetak
Input: a, b: integer
Selamat
Output: string “Selamat”
do{
read (a) Selesai
read (b)
} while (a<b)
write(“Selamat”)
Latihan:
Buatlah flow chart dan pseudocode untuk menghitung nilai
greatest common divisor (gcd)
(Faktor Persekutuan Terbesar)
24 36
12 18
2
2 9
6
2 2
3
3 3
2
23 x 3
22 x 32
gcd (24,36) = 3 x 4 = 12
gcd (17,22) = 1
Mulai
Input:
a, b : positive integer
Baca a,b
Output:
x : positive integer
procedure gcd(a,b: positive integer) x=a
y=b
x := a
y := b
while (y ≠ 0)
Benar Apakah Salah
r := x mod y y≠0
?
x := y
y := r
Selesai
Tugas Individu
1. Buatlah algoritma, flow chart, dan pseudocode untuk studi kasus berikut:
Sebuh toko roti membutuhkan sistem kasir sederhana. Fasilitas sistem yang
dibutuhkan yaitu menghitung jumlah total belanja dan menghitung uang
kembalian. Untuk mengamankan sistem dari kesalahan input uang maka
jumlah uang yang dibayar tidak boleh kurang dari jumlah total belanja. Toko
roti memberikan diskon 5% untuk pembelian lebih besar dari Rp 100.000,-.
2. Buatlah algoritma, flow chart, dan pseudocode untuk menghitung faktor
dari suatu nilai
Contoh :
Input 12
Output:
Faktor dari 12 adalah 1,2,3,4,6 dan 12
Input 15
Output:
Faktor dari 15 adalah 1,3,5,15
Tugas Individu
Jawaban diketik rapi dan dicetak
Pseudocode diketik dengan font Courier New 10pt
Ketikkan Nama, NIM, Kelas sebagai Header, font Times
New Roman 10pt
Selain Pseudocode & Header diketik dengan font Times
New Roman 11pt
Setiap halaman wajib ada penomoran halaman
Tugas dikumpulkan pada praktikum minggu berikutnya
Jika terdapat jawaban yang sama lebih dari satu
mahasiswa maka akan diberikan nilai 0
Tidak mengumpulkan tugas diberikan nilai 0, kecuali ybs
sakit dengan surat ijin