Anda di halaman 1dari 15

3/23/2018

ALGORITMA

OPTIMISASI
Dr. Arhami, ST, MT

Prodi Teknik Mesin, UNSYIAH

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

Fungsi Flowchart dalam pemrograman


• Sebelum pemrograman :
– Mempermudah programmer dalam
menentukan alur logika pemrograman.

• Setelah pemrograman :
– Menjelaskan alur program yang dibuat
kepada orang lain.
– Sebagai dokumentasi dan referensi untuk
proses pemrograman di masa yang akan
datang.

Fungsi Flowchart dalam Pengambilan


Keputusan.

• Sebelum pengambilan keputusan:


– Mempermudah progambil keputusan dalam
menentukan alur logika pemecahan
masalahnya.
• Setelah pengambilan keputusan:
– Menjelaskan alur pemecahan masalah yang
dibuat kepada orang lain.
– Sebagai dokumentasi dan referensi untuk
proses pemecahan masalah 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…

Algoritma dalam excel

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?

• 1 maka a termasuk bilangan ganjil


– Cetak hasil Cetak Cetak
ganjil genap

Mulai

7
3/23/2018

Flowchart Program
Mulai Mulai

Read alas,
Baca data
tinggi

Hitung luas Luas =


segitiga 0,5 * alas * tinggi

Tampilkan
Print Luas
hasil Luas

Selesai Selesai

Bagan alir logika program Bagan alir program komputer terinci

Struktur Algoritma Berurutan


• Terdapat tiga struktur dasar model
algoritma, yaitu:
1. Struktur berurutan (sequencing)
2. Struktur pemiihan/keputusan
pencabangan (branching)
3. Struktur pengulangan (looping)
• Sebuah algoritma biasanya menggunakan
gabungan dari ketiga struktur tersebut untuk
menyelesaikan masalah.
Start Finish
1 2 3

8
3/23/2018

Mulai
FLOWCHART Algoritma Berurutan

Mulai Read radius

Read panjang,
lebar, tinggi Phi = 3,14

Volume = Luas = Phi * radius *


panjang * alas * tinggi radius

Print
Volume Print Luas

Selesai Selesai

Struktur Algoritma Percabangan


• Sebuah program tidak selamanya akan berjalan
dengan mengikuti struktur berurutan, kadang-
kadang kita perlu merubah urutan pelaksanaan
program dan menghendaki agar pelaksanaan
program meloncat ke baris tertentu.
• Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau keputusan.

Start Finish
1 2

9
3/23/2018

Struktur percabangan untuk masalah batasan


jam kerja.

• Sebuah aturan perusahaan menetapkan jam


bekerja adalah sebagai berikut, jika jam bekerja
sama atau lebih dari 8 jam, maka karyawan
diperbolehkan pulang dan apabila kurang dari
8 jam maka karyawan tidak diperbolehkan
pulang.

Jawaban :
Mulai

Read Jam
Kerja

Ya Jam Kerja Tidak


≥8

Print Print “Tidak


“Silakan boleh
Pulang” Pulang”

Selesai

10
3/23/2018

Struktur percabangan untuk perhitungan dua buah bilangan.

• Dalam suatu perhitungan nilai P = X + Y. Jika P


positif, maka Q = X * Y, sedangkan jika negative
maka nilai Q = X/Y. Buatlah flowchart untuk
mencari nilai P dan Q

Jawaban :

11
3/23/2018

12
3/23/2018

Struktur Algoritma Pengulangan


• Dalam banyak kasus seringkali kita dihadapkan pada
sejumlah pekerjaan yang harus diulang berkali.
• Salah satu contoh yang gampang kita jumpai adalah
balapan mobil seperti tampak pada gambar ini Mobil-
mobil peserta harus mengelilingi lintasan sirkuit berkali-
kali sesuai yang ditetapkan dalam aturan lomba. Siapa
yang mencapai garis akhir paling cepat, dialah yang
menang.

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

Struktur algoritma pengulangan dengan For

Algoritma untuk mencetak pernyataan sebanyak 100 kali

14
3/23/2018

PR 2.

1. Buat flowchart dari algoritma menghitung akar persamaan


seperti di bawah ini.
2. Buat program algoritma dalam excel dengan input data:
a = dua digit awal NIM,
b = dua digit tengah NIM, dan
c = no urut absensi.

• 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

Anda mungkin juga menyukai