Anda di halaman 1dari 22

Matakuliah : T0034 / Perancangan & Analisis Algoritma

Tahun : 2008


Pertemuan 1

PENGENALAN PERANCANGAN &
ANALISIS ALGORITMA
Bina Nusantara
Buku Panduan Matakuliah
Buku Referensi :
Computer Algorithms / C++
Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran.
Computer Science Press. (1998)
Introduction to Algorithms
Thomas H Cormen, Charles E Leiserson, Ronald L.
2
nd
Edition. The MIT Press. New York. (1990)
Algorithms in C++ (Parts 1-4)
Robert Sedgewick. Computer Science Press. (1998)
Algoritma Itu Mudah
Robert Setiadi.
PT Prima Infosarana Media, Kelompok Gramedia.
Jakarta. (2008)
Bina Nusantara
APA ITU ALGORITMA?
Cara menyelesaikan suatu proses
Terdiri atas langkah-langkah yang terdefinisi dengan baik
Bisa dihitung (computable) atau bisa diukur (measurable)
Menerima input, menghasilkan output

An algorithm is a sequence of computational steps that
transform the input into the output
An algorithm is a tool for solving a well-specified
computational problem
Bina Nusantara
DEFINISI ALGORITMA MENURUT PAKAR
Menurut Abu Jafar Mohammad Ibn Musa Al Khoarismi:
Suatu metode khusus untuk menyelesaikan suatu
persoalan.

Menurut Goodman Hedet Niemi:
Urut-urutan terbatas dari operasi-operasi
terdefinisi dengan baik, yang masing-masing
membu-tuhkan memory dan waktu yang terbatas
untuk menyelesaikan suatu masalah.
Bina Nusantara
ALGORITMA

Algoritma adalah cara yang dapat ditempuh oleh
komputer dalam mencapai suatu tujuan, terdiri atas
langkah-langkah yang terdefinisi dengan baik,
menerima input, melakukan proses, dan
menghasilkan output. Meskipun tidak selalu,
biasanya sebuah algoritma memiliki sifat bisa
dihitung (computable) atau bisa diukur
(measurable).
Bina Nusantara
SYARAT CORRECTNESS

Sebuah algoritma dikatakan BENAR (correct) jika
algoritma tersebut berhasil mengeluarkan output
yang benar untuk semua kemungkinan input.

Bagaimana dengan 99% benar?
99% benar artinya sebuah algoritma adalah SALAH
(incorrect)
Bina Nusantara
PSEUDOCODE
Adalah cara untuk menuliskan sebuah algoritma
secara high-level
Biasanya dituliskan dengan kombinasi bahasa
Inggris dan notasi matematika
Lebih terstruktur daripada bahasa Inggris biasa
Tidak detil dibanding program

Isu-isu detil dalam program yang sifatnya teknis
tidak dibahas dalam pseudocode
Bina Nusantara
CONTOH PSEUDOCODE (1)
Algoritma untuk menampilkan 7 buah simbol #

1 for i=1 to 7 do
2 display #
3 end for








[buku utama, pseudocode 2.3b]
Bina Nusantara
CONTOH PSEUDOCODE (2)
Algoritma untuk menghitung Faktorial dari N

1 iTampung=1
2 for i=1 to N do
3 iTampung=iTampung*i
4 end for
5 display Faktorial dari ,N, adalah ,iTampung,NL







[buku utama, pseudocode 2.8b]
Bina Nusantara
CONTOH PSEUDOCODE (3)
Algoritma untuk menampilkan 8 bilangan Fibonacci

1 f1=0
2 f2=1
3 for i=1 to 8 do
4 iFibo=f1+f2
5 display Angka ke-,i, adalah ,iFibo,NL
6 f1=f2
7 f2=iFibo
8 end for



[buku utama, pseudocode 2.9b]
Bina Nusantara
KOMPONEN PSEUDOCODE
Variabel
Merupakan tempat penyimpanan sebuah nilai

Perulangan (loop)
Teknik for-do
Teknik repeat-until
Teknik while-do

Percabangan (branch)
Teknik if-then
Teknik select-case

Modul
Procedure / Sub
Function
Teknik rekursif
Bina Nusantara
VARIABEL
Merupakan tempat penyimpanan sebuah nilai
Memiliki nama
Dapat dimasukkan sebuah nilai
Dapat dipanggil nilainya
Menampung tipe data tertentu
Numerik
Karakter
String

Beberapa variabel yang tipenya sama dapat dirangkai
menjadi sebuah array

[buku utama, bab 2.2]
Bina Nusantara
TEKNIK FOR-DO
Perulangan berdasar :
Variabel penentu perulangan
Batas bawah
Batas atas

Contoh algoritma menampilkan N bilangan Fibonacci pertama (pseudocode
2.9b)

1 f1=0
2 f2=1
3 for i=1 to N do
4 iFibo=f1+f2
5 display Angka ke-,i, adalah ,iFibo,NL
6 f1=f2
7 f2=iFibo
8 end for

[buku utama, bab 2.3.1 dan bab 2.3.2]

Bina Nusantara
TEKNIK REPEAT-UNTIL
Perulangan berdasarkan kondisi
(true atau false)

Kondisi diperiksa di akhir
perulangan

Perulangan terjadi selama kondisi
belum terpenuhi

Minimal terjadi 1x perulangan

[buku utama, bab 2.3.3]
Contoh algoritma menampilkan
N bilangan Fibonacci pertama
(pseudocode 2.9c)

1 f1=0
2 f2=1
3 iFibo=f1+f2
4 i=1
5 repeat
6 display Angka ke-,i,
adalah ,iFibo,NL
7 i=i+1
8 f1=f2
9 f2=iFibo
10 iFibo=f1+f2
11 until i>N
Bina Nusantara
TEKNIK WHILE-DO
Perulangan berdasarkan kondisi (true atau false)
Kondisi diperiksa di awal perulangan
Perulangan terjadi selama kondisi masih terpenuhi
Bisa terjadi 0 perulangan jika dari awal kondisi tidak
terpenuhi

Buatlah contoh algoritma menampilkan N bilangan Fibonacci pertama
dengan menggunakan teknik while-do!

[buku utama, bab 2.3.4]
Bina Nusantara
TEKNIK IF-THEN
Percabangan berdasarkan kondisi (true atau false)
Terdapat 2 segmen, akan dieksekusi berdasarkan kondisi

Contoh algoritma dengan if-then (pseudocode 2.13b)

1 if iUmur >= 17 then
2 display Anda boleh masuk,NL
3 else
4 display Maaf Anda tidak boleh masuk,NL
5 end if

[buku utama, bab 2.4.1]

Bina Nusantara
TEKNIK SELECT-CASE
Percabangan berdasarkan nilai sebuah variabel ordinal
Terdapat banyak segmen, akan dieksekusi berdasarkan
kondisi

Contoh algoritma dengan select-case (pseudocode 2.15)

1 display Masukkan jumlah sisi bangun :
2 read iSisi
3 switch iSisi
4 case 3 : display segitiga,NL
5 case 4 : display kotak,NL
6 case 5 : display segilima,NL
7 else : display nama bangun tdk terdaftar,NL
8 end switch

[buku utama, bab 2.4.2]
Bina Nusantara
NOTASI MATEMATIKA
Penjumlahan dan sifat-sifatnya

1.

2. Sifat Linearitas

3.

=
= + + +
n
k
k n
a a a a
1
2 1
....
( )

= = =
+ = +
n
k
k
n
k
k
n
k
k k
b a c b a c
1 1 1

( ) ( ) ( )|
.
|

\
|
=

= =
n
k
n
k
k f k f
1 1
u u
Bina Nusantara
DERET
1. Deret Aritmatika


2. Deret Harmonis
( )
( )
2
n
1 k
n
2
1 n n
n ..... 2 1 k u =
+
= + + + =

=
( ) 1 0 ln
..... 1
1
1
1
4
1
3
1
2
1
+ = =
+ + + + + =

=
n
H
n
k
k
n n
Bina Nusantara
LATIHAN
Buatlah sebuah pseudocode untuk menampilkan N
bilangan pertama secara terbalik.
contoh : 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Buat dengan menggunakan teknik for-do!
Buat dengan menggunakan teknik repeat-until!
Buat dengan menggunakan teknik while-do!

Buat sebuah pseudocode yang akan menerima
sebuah bilangan X dari user. Tampilkan pesan
benar jika X habis dibagi 2, 3 atau 7 dan
tampilkan salah jika tidak habis dibagi.
Bina Nusantara
REVIEW
Apa yang sudah dipahami?
Apa yang akan dibahas selanjutnya?

Anda mungkin juga menyukai