2. PENDAHULUAN
• Algoritma adalah deretan langkah-langkah komputasi yang
mentransformasikan data masukan menajadi keluaran (COR92) .
• Langkah-langkah pemecahan masalah ditulis dalam notasi-notasi
deskriptif yang disebut dengan notasi algoritma.
• Notasi algoritma dibuat sedemikian sehingga tidak tergantung dengan :
• Bahasa pemrograman yang akan
digunakan.
• Komputer yang akan menjalankan program
tersebut.
4. UNTAIAN KALIMAT DESKRIPTIF
•Langkah-langkah pemecahan masalah dituangkan
dengan untaian kalimat deskriptif.
•Contoh :
PROGRAM persegipanjang
Program untuk menghitung luas persegipanjang.
ALGORITMA :
1. Masukkan/input panjang dan lebar persegipanjang.
2. Hitung luas persegipanjang dengan rumus :
Luas = Panjang x Lebar
3. Tampilkan luas persegipanjang.
5. FLOWCHART
•Flowchart berasal dari kata :
• Flow berarti aliran.
• Chart berarti gambar, diagram atau simbol-simbol.
•Flowchart merupakan diagram alir yang
menggambarkan langkah-langkah pemecahan
masalah.
6. SIMBOL-SIMBOL DASAR FLOWCHART
•Flowchart di awali dengan simbol terminal :
•Flowchart di akhiri dengan simbol terminal :
•Pembacaan data input :
Start atau Mulai
Read …. atau Baca ….
Finish atau Selesai
7. SIMBOL-SIMBOL DASAR FLOWCHART
• Perencanaan data output :
• Proses pengerjaan :
• Test terhadap suatu kondisi pengambilan keputusan :
• Pemberian nilai awal atau pengawalan lainnya :
Write …. atau Tulis ….
8. SIMBOL-SIMBOL DASAR FLOWCHART
• Sub proses yang berupa suatu rutin :
• Penghubung flowchart pada halaman yang sama :
• Penghubung flowchart pada halaman yang berlainan :
• Arah aliran proses :
9. PSEUDOCODE
• Pseudocode berasal dari kata :
• Pseudo yang berarti imitasi atau mirip
atau menyerupai.
• Code yang berarti kode program.
• Pseudocode berarti kode yang mirip dengan kode pemrograman yang
sebenarnya.
11. Langkah-langkah Membentuk Algoritma
1.Sequence process
Instruksi dikerjakan secara berurutan satu persatu dimulai dari
langkah pertama sampai terakhir
2.Selection process
Instruksi pemilihan proses (percabangan), sehingga apabila
memenuhi persyaratan tertentu maka instruksi akan dikerjakan
contoh : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1 instruksi
dari 2 alternatif instruksi).
13. Contoh 2
Algoritma peluncuran roket dengan hitung mundur
Peyelesaian
PROGRAM PeluncuranRoket
{hitung mundur peluncuran roket}
DEKLARASI
i : integer
ALGORITMA:
i ← 100
while i > 0 do
i ← i – 1
endwhile
{i < 0 }
write (‘Go’) {roket meluncur pada hitungan 0}
15. Dengan bahasa natural
• Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
• Ambil bilangan kedua dan bandingkan dengan maks
• Apa bila bilangan kedua lebih besar dari maks, set maks
sama dengan bilangan kedua
• Ambil blangan ketiga dan bandingan dengan maks
• Apabila bilangan ketiga lebih besar dari maks, set maks
sama dengan bilangan ketiga
• Variabel maks berisi bilangan terbesar. Tampilkan hasilnya
17. Dengan Pseudocode
Maks ←bilangan pertama
if (maks < bilangan kedua)
maks←bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
18. Studi Kasus (2)
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B,
bejana A berisi larutan berwarna merah,
bejana B berisi larutan berwarna biru.
Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna merah.
19. Lanjutan...
algoritma :
•Tuangkan larutan dari bejana A ke dalam bejana B
•Tuangkan larutan dari bejana B ke dalam bejana A.
Apakah cara di atas BENAR ?
Apakah hasil yang didapat sesuai dengan penyelesaian
masalah?
Apa hasil yang didapat ?
20. Lanjutan (2)...
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran
yang benar.
Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah
percampuran kedua larutan tersebut.
22. Algoritma yang menghasikan pertukaran yang benar sebagai berikut:
• Tuangkan larutan dari bejana A ke dalam bejana C.
• Tuangkan larutan dari bejana B ke dalam bejana A.
• Tuangkan larutan dari bejana C ke dalam bejana B.
23. Studi Kasus (3)
• Ada 2 gelas kosong berukuran: 5 liter dan 3 liter
Bagaimana cara kita mendapatkan air berukuran 4 liter?
24. Caranya:
• Masukkan air ke 3 liter hingga penuh
• Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong
• Masukkan air ke 3 liter hingga penuh
• Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di gelas 3 liter
• Buang seluruh air di gelas 5 liter tadi
• Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5 liter kosong
• Masukkan air ke 3 liter hingga penuh
• Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter tadi, hingga kita
dapat 4 liter
25. Kasus 1
Ada 2 gelas kosong berukuran: 5 liter dan 3 liter
Bagaimana cara mendapatkan air berukuran 2 liter?
Kasus 2
Bagaimana memasukkan Gajah Kedalam Kulkas?
Kasus 3
Tiga pasang suami istri sedang menempu perjalanan sampai ke sebuah sungai. Disitu dia
menemukan perahu kecil yang hanya bisa membawa tidak lebih dari dua orang setiap
kali menyebrang. Penyebrangan sungai di rumitkan oleh kenyataan bahwa para suami
sangat pencemburu dan tidak mau meninggalkan istri-istri mereka jika ada laki-laki lain.
Tuliskan Algoritma untuk menunjukkan bagaimana bisa menyebrangi sungai itu.
Soal
26. Homework
A. Pada peristiwa pemilihan kepala desa (kades), setiap warga yang mempunyai hak pilih
memilih satu di antara 4 calon kades. Kartu suara memuat foto dan nomor urut kades.
Warga mencoblos calon kades yang dipilihnya, lalu memasukkan kartu suara ke dalam
sebuah kotak. Setelah pemungutan suara usai , kegiatan selanjutnya adalah menghitung
jumlah suara untuk masing – masing calon. Untuk menghitungnya, panitia tidak
menggunakan tabel cayley seperti biasa dilakukan orang, tetapi menyediakan empat
buah kosong ( yang mempresentasikan 4 calon kades). Satu per satu suara diambil dan
dibaca . Setiap kali kartu suara berisi coblosan nomor satu, maka sebutir batu kecil
dimasukkan ke dalam kotak 1. Begitu pula setiap kali kartu suara berisi coblosan nomor
dua, maka sebutir batu kecil dimasukkan ke dalam kotak 2. Hal yang sama juga
dilakukan untuk kartu yang berisi coblosan nomor 3 dan 4. Demikian seterusnya sampai
semua kartu suara habis dibaca. Akhirnya, jumlah batu di dalam setiap kotak
menyatakan jumlah suara yang diraih oleh setiap calon kades. Tulislah algoritma untuk
menghitung jumlah suara untuk masing –masing calon kades dengan metode
perhitungan yang unik ini. Asumsikan bahwa semua suara adalah sah (tidak ada golput)
B. Dimanakah letak kesalahan algoritma menjalankan spseda motor berikut ini:
Hidupkan starter
Masukkan kunci kontak
Tekan gigi1
Perbesar gas
Jalan
C. Tuliskan algoritma dalam dalan kehidupan sehari – sehari !