ALGORITMA
OPTIMISASI
Dr. Arhami, ST, MT
PENEMU ALGORITMA
Perangko dari Rusia pada Gambar di
samping ini bergambar seorang pria
dengan nama Muhammad ibn Mūsā
al-Khwārizmī.
Dia adalah seorang ilmuwan Islam
yang karya karyanya dalam bidang
matematika, astronomi, astrologi dan
geografi banyak menjadi dasar
perkembangan ilmu modern.
Al-Khawarizmi kemudian berubah
menjadi algorithm dalam Bahasa
Inggris dan diterjemahkan menjadi
algoritma dalam Bahasa Indonesia.
1
3/23/2018
Definisi Algoritma
• Algoritma adalah urutan langkah logis tertentu untuk
memecahkan suatu masalah dalam pengambilan
keputusan.
– Urutan langkah logis, yang berarti algoritma harus
mengikuti suatu urutan tertentu, tidak boleh
melompat-lompat.(Dari Microsoft Press Computer and
Internet Dictionaary 1997,1998)
• Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis.
– Alur pikiran, sehingga algoritma seseorang dapat juga
berbeda dari algoritma orang lain.
– Tertulis, yang artinya dapat berupa kalimat, gambar,
atau tabel tertentu.(Dari Algoritma dan Struktur Data
dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Flowchart
Dalam menyusun algoritma biasanya didahului
dengan pembuatan diagram alir (flowchart)
• Merupakan kumpulan gambar/tanda yang
mempunyai aliran satu atau dua arah secara
sekuensial untuk memecahkan suatu masalah
• Berguna untuk mendesain dan
merepresentasikan program/masalah.
• Flowchart didesain agar dapat merepresentasikan
berbagai komponen dalam proses pemecahan
masalah.
2
3/23/2018
• Setelah pemrograman :
– Menjelaskan alur program yang dibuat
kepada orang lain.
– Sebagai dokumentasi dan referensi untuk
proses pemrograman di masa yang akan
datang.
3
3/23/2018
Simbol Flowchart
Simbol Flowchart(2)
4
3/23/2018
Simbol Flowchart(3)
Simbol Flowchart(4)
5
3/23/2018
Mulai
Contoh Flowchart
Masukkan,
• Problem : p
– Menghitung luas persegi panjang
Masukkan,
l
• Algoritma :
1. Masukkan panjang (p) Hitung
A=p*l
2. Masukkan lebar (l)
3. Hitung luas (A), yaitu panjang kali
lebar Cetak, A
4. Cetak luas (A)
Selesai
Next…
6
3/23/2018
Mulai
Contoh Flowchart
Masukkan,
• Problem : p
– Menentukan suatu bilangan termasuk
bilangan ganjil atau genap Hitung sisa
• Algoritma : pembagian, a
– Masukkan bilangan a (a mod 2)
– Hitung sisa pembagian a dengan 2
– Cek sisa bagi : Sisa bagi
• 0 maka a termasuk bilangan genap = 0?
Mulai
7
3/23/2018
Flowchart Program
Mulai Mulai
Read alas,
Baca data
tinggi
Tampilkan
Print Luas
hasil Luas
Selesai Selesai
8
3/23/2018
Mulai
FLOWCHART Algoritma Berurutan
Read panjang,
lebar, tinggi Phi = 3,14
Print
Volume Print Luas
Selesai Selesai
Start Finish
1 2
9
3/23/2018
Jawaban :
Mulai
Read Jam
Kerja
Selesai
10
3/23/2018
Jawaban :
11
3/23/2018
12
3/23/2018
Struktur pengulangan
• Kondisi pengulangan, yaitu syarat yang harus
dipenuhi untuk melaksanakan pengulangan.
Syarat ini biasanya dinyatakan dalam ekspresi
Boolean yang harus diuji apakah bernilai benar
(true) atau salah (false)
• Badan pengulangan (loop body), yaitu satu
atau lebih instruksi yang akan diulang
13
3/23/2018
14
3/23/2018
PR 2.
• Algorithm:
• Step 1: Input a, b, c
• Step 2: d sqrt ( b * b – 4* a * c)
• Step 3: x1 (–b + d) / (2 x a)
• Step 4: x2 (–b – d) / (2 x a)
• Step 5: Print x1, x2
15