Anda di halaman 1dari 14

Algoritma (Komputer)

Apa Itu Algoritma?


Definisi
Urutan langkah-langkah untuk memecahkan masalah Kamus Besar Bahasa Indonesia: Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah

Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah
2

Penulisan Algoritma
Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia lainnya)
Tapi sering membingungkan (ambiguous)

Menggunakan flow chart (diagram alir)


Bagus secara visual akan tetapi repot kalau algoritmanya panjang

Menggunakan pseudo-code
Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
3

Contoh
Requirement
Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan

Diberikan: 9, 2, 16

Algoritma Dalam Bahasa Natural


1.
2. 3. 4. 5. 6.

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 bilangan ketiga dan bandingan dengan maks Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga Variabel maks berisi bilangan terbesar. Tayangkan hasilnya
5

Logika Xmax = x1 If (Xmax < x2)


Ya : xmax = x2

Nilai xmax = 9; Xmax < 2;


9 < 2; (salah)

If (Xmax < x3)


Ya : xmax = x3

9 < 16;
xmax = 16

Tampilkan xmax = 16
6

Algoritma dengan Flowchart

Mulai

Maks = bilangan pertama

Maks < bilangan kedua

Ya

Maks = bilangan kedua

Tidak

Maks < bilangan ketiga


Tidak

Ya

Maks = bilangan ketiga

Tampilkan Maks

Selesai

Algoritma dengan pseudo-code


maks bilangan pertama if (maks < bilangan kedua)
maks bilangan kedua

if (maks < bilangan ketiga)


maks bilangan ketiga Tampilkan maks

Aspek Penting dari Algoritma


1.

Finiteness
Algoritma harus berhenti after a finite number of steps

2.

Definiteness
Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)

3.

Input
Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan

4.

Output
Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input

5.

Effectiveness
Setiap algoritma diharapkan miliki sifat efektif
9

Tugas
Buat algoritma untuk
Mengurutkan bilangan (sorting) untuk n buah data (misalnya data nilai mahasiswa) Tower of hanoi

10

Bahan Bacaan
Donald Knuth, The Art Of Computer Programming, Volume 1 / Fundamental Algorithms, 2nd edition, Addison Wesley Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Penerbit Informatika Bandung

11

nilai maksimum dari a = 7.00, b = 4.00, c = 2.00 adalah mak = 7.00 nilai minimum dari a = 7.00, b = 4.00, c = 2.00 adalam min = 2.00 nilai rata-rata dari a = 7.00, b = 4.00, c = 2.00
12

#include <stdio.h> #include <conio.h> int main() { //definisi float a, b, c; float mak,min; a = 7; b = 4; c = 2; mak = a; if (mak < b) mak = b; if (mak < c) mak = c; printf("nilai maksimum dari a = %4.2f, b = %4.2f, c = %4.2f adalam mak = %4.2f \n", a, b, c, mak); //getch();\ return(0); }
13

min = a;
if (min > b) min = b; if (min > c) min = c; printf("\n nilai minimum dari a = %4.2f, b = %4.2f, c = %4.2f adalam min = %4.2f \n", a, b, c, min); getch(); return(0); }
14

Anda mungkin juga menyukai