ALGORITMA
ALGORITMA ???
2
ALGORITMA ???
Algoritma adalah urutan
langkah-langkah logis
penyelesaian masalah
yang disusun secara
sistematis dan logis
3
Algoritma dalam Kehidupan (1)
Algoritma dalam Kehidupan (2)
MEMBUAT KUE MENGIRIM PESAN
1. Sediakan bahan-bahan
(WA)
2. Olah adonan
1. Ambil Hp
3. Letakan di atas kompor
2. Buka Aplikasi WA.
4. Nyalakan kompor
3. Jika belum memiliki,
download di play store lalu
install.
4. Cari dan pilih nama
teman/nmr hp yang akan
di kirimi pesan
5. Tulis pesan
6. Tekan tombol kirim
Ada seorang petani yang membawa seekor kambing, seekor serigala,
dan sekeranjang sayur. Mereka berada di tepi sebuah pulau dan ingin
menyebrang ke pulau seberang. Di tepi pulau itu hanya ada
sebuah perahu yang cukup untuk dua penumpang. Dengan catatan
lain, bahwa kambing tidak boleh ditinggal berdua dengan
serigala tanpa adanya petani karena serigala akan memakan kambing,
kemudian kambing tidak boleh ditinggal bersama sayur, karena
kambing akan memakan sayurnya. Kemudian, yang bisa
menggunakan perahu hanyalah petani. Bagaimana caranya agar
mereka semua bisa menyebrang ke pulau seberang dengan utuh?
1
Blueprint dari
program
FUNGSI ALGORITMA
DALAM PEMROGRAMAN??
2
10
PSEUDOCODE
Pseudo : menyerupai, code : kode
Merupakan kode yang menyerupai kode
program yang sesungguhnya
Tidak ada aturan standar penulisan
pseudocode
Ditujukan untuk dibaca manusia, bukan
dibaca mesin(komputer)
11
PSEUDOCODE
12
1. MEMBACA DATA
• Sewaktu komputer menerima informasi atau input,
maka statement yang biasa digunakan adalah
“Read”, “Get”, “Baca” ,”Input” atau “KeyIn”
• Contoh:
Read Bilangan
Get kode_pajak
Baca nama_mahasiswa
13
2. MENAMPILKAN DATA
• Sewaktu komputer menampilkan informasi ataupun
output, maka statement yang biasa digunakan
adalah “Print”, “Write”, “Put”, “Output”, “Display”
ataupun “Cetak”
• Contoh:
Print “Universitas Brawijaya”
Cetak “Dasar Pemrograman Komputer”
Output Total
14
3. PERHITUNGAN ARITMETIKA
• Untuk melakukan operasi aritmetika digunakan
pseudocode berikut:
+ untuk penjumlahan (add)
- Untuk pengurangan (subtract)
* Untuk perkalian (multiply)
/ Untuk pembagian (divide)
() Untuk kurung
• Statement “Compute”, “Calculate” ataupun “Hitung”
juga dapat digunakan.
• Contoh:
Add number to total
Total = Total + number
15
4. MEMBERIKAN NILAI KE IDENTIFIER
16
5. MEMBANDINGKAN DAN MEMILIH
• Salah satu operasi terpenting yang dapat dilakukan
komputer adalah membandingkan dan memilih salah
satu alternatif solusi.
• Keyword yang digunakan : “IF”, “THEN” dan “ELSE”
• Contoh
IF Pilih=‘1’ THEN
Discount = 0.1 * harga
ELSE
Discount = 0.2 * harga
ENDIF
17
6. PENGULANGAN
18
CONTOH ALGORITMA DGN PSEUDOCODE
19
CONTOH ALGORITMA DGN PSEUDOCODE
20
CONTOH ALGORITMA DGN PSEUDOCODE
Proses Konektor
Pemilihan
Pengulangan
22
• Jalannya proses digambarkan dari atas ke
bawah dan diberikan tanda panah untuk
memperjelas.
• Sebuah flowchart diawali dari satu titik START
dan diakhiri dengan END atau STOP.
23
Pembuatan Flowchart – cont.
Begin
Jangan lupa
menggambar garis
End
Pembuatan Flowchart – cont.
Input/output
Proses Begin
Input
Anda dpt melakukan
perhitungan di dlm proses
Proses
Pembuatan Flowchart – cont.
Begin
Input
Output End
Contoh Flowchart
KRITERIA ALGORITMA YANG BAIK
• Mempunyai logika yang tepat untuk memecahkan
masalah.
• Menghasilkan output yang benar dalam waktu yang
singkat.
• Ditulis dengan bahasa baku terstruktur sehingga tidak
menimbulkan arti ganda.
• Ditulis dengan format baku sehingga mudah
diimplementasikan kedalam bahasa pemrograman.
• Semua operasi didefinisikan dengan jelas dan berakhir
sesudah sejumlah langkah.
30
Contoh Kasus
• Studi Kasus satu
1. Menghitung Luas Permukaan kubus :6 * luas
sisi kubus
2. Mencari nilai akar persamaan ax2+bx+c=0
Solusi Kasus 1
Problem: Hitung dan tampilkan luas permukan kubus.
Analisis:
Hitung dan tampilkan luas permukaan kubus jika sisi kubus
diketahui.
Input:
Panjang rusuk kubus (r) dalam satuan jarak.
Output:
Luas permukaan kubus (luas)
Rumus :
luas=6 x r x r
Solusi Kasus 1
• Algoritma :
1. Masukkan rusuk kubus (r)
2. Hitung luas
luas = 6 x r x r
3. tampilkan luas
Solusi Kasus 1
• PsuedoCode
Tulisan disamping
start seklias mirip
read r; dengan bahasa
Calculate luas=6 * r * r; pemrograman,
padahal
Display luas; sebenarnya adalah
stop bahasa Indonesia/
Inggris yang berisi
urutan proses dan
ditulis mirip code
program
34
Solusi Kasus 2
Problem: Cari dan tampilkan akar-akar persamaan kuadrat ax2 + bx +
c=0.
Analisis:
Mencari nilai akar-akar persamaan kuadrat dan menampilkan
hasilnya.
Input:
koefisien a, b, c
Output:
x1, x2
Rumus :
x1= (-b + √D )/2a
x2= (-b - √D )/2a
dengan D = b2 – 4ac dan a ≠ 0
Solusi Kasus 4
• Algoritma :
1. Masukkan koefisien a
2. Masukkan koefisien b
3. Masukkan koefisien c
4. Hitung D
D = b2 – 4ac
5. Jika D<0 maka
5.1 Tampilkan “Tidak ada akar real”
Jika tidak, maka
5.2 Hitung x1 x1= (-b + √D )/2a
5.3 Hitung x2 x2= (-b - √D )/2a
5.4 tampilkan x1
5.5 tampilkan x2
6. END
Studi Kasus 2
• Contoh Psuedocode
start Tulisan disamping
baca a; seklias mirip
baca b; dengan bahasa
baca c; pemrograman,
hitung D=b^2-4*a*c; padahal
IF D<0 { sebenarnya adalah
bahasa Indonesia/
cetak "Tidak ada akar real";
Inggris yang berisi
} urutan proses dan
ELSE { ditulis mirip code
hitung x1=(-b+sqrt(D))/2a; program
hitung x2=(-b-sqrt(D))/2a;
cetak x1;
cetak x2;
}
stop
37
FLOW CHART
Start
Masukkan
a,b,c
d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a Cetak “Tidak
x2 =(-b-sqrt(d))/2a ada akar real”
Cetak x1,x2
End
38
LATIHAN
1. Buatlah algoritma menggunakan pseudocode untuk
menghitung luas persegi panjang
2. Buatlah algoritma menggunakan pseudocode untuk
mengubah jam dan menit yang diinput ke dalam
satuan detik.
3. Buatlah algoritma menggunakan pseudocode
untuk menentukan menampilkan deret bilangan
berikut :
1, 1, 2, 3, 5, 8, 13
39
LATIHAN
4. Buatlah algoritma menggunakan pseudocode untuk
menghitung luas lingkaran.
5. Buatlah algoritma menggunakan pseudocode untuk
menginput 3 buah bilangan, kemudian tentukan
bilangan terbesar, terkecil dan rata-ratanya.
40
LATIHAN
6. Ulangi latihan no. 1 s/d no. 5 diatas dengan
menggunakan Flow Chart.