Anda di halaman 1dari 26

Algoritma (Komputer)

m.rifan@yahoo.co.id

Apa Itu Algoritma?


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

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

Domain algoritma
Masalah : motivasi untuk membuat algoritma. Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu masalah dapat diselesaikan dengan lebih dari satu cara (banyak kemungkinan). Program: representasi formal dari suatu algoritma dengan menggunakan bahasa pemrograman yang bisa dimengerti oleh komputer. Proses : aktivitas menjalankan langkah-langkah dalam algoritma.

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
4

Hal yang harus dipenuhi dalam membuat algoritma


Input : data yang harus diberikan pada komputer Output: informasi yang akan diperoleh dari komputer Logika: Merencanakan proses program. Terdiri dari sejumlah instruksi yang mengubah input menjadi output yang diinginkan.

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
6

Flowchart
Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar.

Start / End Proses Input / Output Percabangan Koneksi dua bagian flowchart Garis Alir

Gambar 1.1

Flowchart
Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut. Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut :

Start

Masukkan A dan B

C=A+B

Tampilkan C

End
Gambar 1.2

Flowchart
Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. Untuk itu kita harus membuat flowchart seperti ini :

Start

Masukkan A

Bagi A dengan 2

ya

Apakah sisa hasil bagi = 0 ?

tidak

Genap

Ganjil

End

Gambar 1.3

Pseudo Code
Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula. Pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart.

Pseudo Code
Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. Perhatikan kode dibawah ini :

1. 2. 3. 4. 5.

Mulai Masukkan sebuah angka Masukkan sebuah angka dan tampilkan Ambil angka yang sebelumnya dan tampilkan Selesai

Pseudo Code
Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk angka yang sebelumnya. Apakah angka yang pertama atau yang kedua. Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :

1. 2. 3. 4. 5.

Start Masukkan A Masukkan B, Tampilkan B Tampilkan A End

Pseudo Code
Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2

1. 2. 3. 4. 5.

Start Masukkan A dan B C=A+B Tampilkan C End

Contoh 1
Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?

teh

kopi

Contoh 1
Algoritma
Siapkan gelas cadangan X Tuangkan gelas yang berisi teh ke gelas cadangan Tuangkan gelas yang berisi kopi ke gelas yang awalnya dipakai teh
kopi X

teh

teh

Tuangkan isi gelas cadangan ke gelas yang awalnya berisi kopi

kopi

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

22

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 blangan 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
23

Algoritma dengan Flowchart


Mulai

Maks = bilangan pertama

Maks < bilangan kedua

Ya

Maks = bilangan kedua

Tidak

Maks < bilangan ketiga

Ya

Maks = bilangan ketiga

Tidak

Selesai

24

Algoritma dengan pseudo-code


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

if (maks < bilangan ketiga)


maks bilangan ketiga

25

Tugas
Buat algoritma untuk
Mengurutkan bilangan (sorting) untuk n buah data (misalnya data nilai mahasiswa) Deret Fibonacci Menghitung Nilai Resistor dari Warna Cincin-cincin Resistor

26

Anda mungkin juga menyukai