dalam komponen keluaran. Karakteristik keluaran yang baik adalah benar menjawab permasalahan dan tampilan yang ramah user friendly.
3. Komponen Proses Proccesing
Komponen ini merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah , logika algoritma sintaksis dan
semantik, rumusan, metode rekursi, perbandingan, penggabungan, pengurangan dan lain-lain.
Gambar 2.1. Struktur Hubungan dan Jenis Algoritma
2.2 Defenisi Analisis Algoritma
Algoritma tidak selalu memberikan hasil terbaik yang mungkin diperoleh,maka diharapkan adanya suatu evaluasi mutu hasil dari algoritma tersebut Liu, C.L, 1995,
P271. Sekali sebuah algoritma diberikan kepada sebuah permasalahan dan dijamin akan memberikan hasil yang diharapkan, maka langkah penting selanjutnya adalah
menentukan besar biaya yang diperlukan algoritma tersebut untuk memeroleh hasil itu. Proses inilah yang disebut dengan analisis algoritma.
Konsep Logika Matematika
Format Algoritma
Algoritma Fundamental, 1973
Pseudocode Flowchart
Universitas Sumatera Utara
Ukuran biaya eksekusi suatu algoritma yang paling sering digunakan adalah lamanya waktu diperlukan. Namun juga masih ada ukuran-ukuran lainnya, misalnya besarnya
memori yang diperlukan untuk mengeksekusi algoritma tersebut Liu, C.L, 1995, P 272 [11]. Maksud dilakukannya analisis algoritma Horowitz, Elis dan Sartaj Sahni,
1978, p1 adalah untuk : 1. Memenuhi aktivitas intelektual
2. Meramalkan suatu hal yang akan terjadi atau yang akan didapat algoritma tersebut. 3. Mengetahui efektifitas suatu algoritma dibanding dengan algoritma yang lain untuk
persoalan yang sama.
2.3 Kompleksitas Waktu Algoritma Dan Masalah
Algoritma tidak selalu memberikan hasil terbaik yang mungkin diperoleh maka diharapkan adanya suatu evaluasi mutu hasil dari algoritma tersebut Liu, C.L, 1995,
p271. Sekali sebah algoritma diberikan kepada sebuah permasalahan dan dijamin akan memberikan hasil yang diharapkan, maka langkah penting selanjutnya adalah
menentukan besar biaya yang diperlukan algoritma tersebut untuk memperoleh hasil itu. Proses inilah yang disebut analisis algoritma Weiss, Mark Allen,p149. [11]
Ukuran biaya eksekusi suatu algoritma yang paling sering digunakan adalah lamanya waktu diperlukan. Namun juga masih ada ukuran-ukuran lainnya, misalnya besarnya
memori yang diperlukan untuk mengeksekusi algoritma tersebut Liu, C.L, 1995, p272.
Dua buah algoritama yang berbeda dapat digunakan memecahkan masalah yang sama dan mungkin saj mempunyai kompleksitas waktu time complexity yang sangat
berbeda Liu. C.L, 1995, P277. Kompleksitas waktu algoritma terbaik untuk memecahkan masalah tersebut dinamakan sebagai kompleksitas waktu time
complexity of problem Liu, C.L, 1995, p277.
Universitas Sumatera Utara
2.3.1 Big OO
Notasi big O pertama kali diperkenalkan oleh seorang teoritis bilangan bernama Paul Bachmann pada tahun 1894, didalam buku keduanya yang berjudul Analytische
Zahlentheorie “analytic number teory”. Dalam teori kompleksitas komputasi, notasi big O sering digunakan untuk menjelaskan bagaimana ukuran data masukan
mempengaruhi sebuah kegunaan algoritma dari sumber daya komputasi biasanya running time atau memori. Definisi pertama dalam pengukuran kompleksitas suatu
masalah adalah Big O Weiss dan Mark Allen, 1996, p161.
Definisi : Tn = Ofn, jika ada konstanta positif c dan
dimana Tn cfn, ketika n
. Tn = Ofn, artinya Tn berorde paling besar fn bila terdapat konstanta c dan
sehingga Tn = cfn untuk n =
2.3.2 Big Omega Ω
Defenisi kedua dalam pengukuran kompleksitas suatu masalah adalah Big Omega. Weiss dan Mark Allen, 1996, p161.
Definisi :
Tn =
Ωfn, jika ada konstanta positif c dan dimana Tn cFn,
ketika N
Universitas Sumatera Utara
2.3.3 Big Theta
ɵ
Definisi ketiga dalam pengukuran kompleksitas suatu masalah adalah Big Theta. Weiss dan Mark Allen, 1996, p161.
Definisi :
Tn=
ɵ
fn, jika dan hanya jika Tn = Ofn dan Tn =
Ωfn
Suatu algoritma dikatakan anggota Θhn jika algoritma itu adalah anggota Ohn
dan anggota Ωhn. Contoh : Karena Tn =
+ adalah angota O
dan anggota
Ω , maka Tn adalah anggota Θ . [2] Contoh :
For i ← 1 to n do
For j ← 1 to i do
For k ← j to n do
a ← a + 1
end for end for
end for
Nilai O-besar, Ω-besar, dan Θ-besar dari algoritma di atas adalah sebagai berikut :
Untuk i = 1, Untuk j = 1, jumlah perhitungan = n kali
Untuk i = 2, Untuk j = 1, jumlah perhitungan = n kali
Untuk j = 2, jumlah perhitungan = n–1 kali …
Untuk i = n, Untuk j = 1, jumlah perhitungan = n kali
Untuk j = 2, jumlah perhitungan = n –1 kali
Universitas Sumatera Utara
... Untuk j = n, jumlah perhitungan = 1 kali.
Tn = +
+ + ... + 1
= nn + 12n + 16 =
+ + 1.
Diperoleh Tn ≤ 3untuk n ≥ 4 dan Tn ≥ 2 untuk n ≥ 1. Sehingga diperoleh : Tn
= O =
Ω = Θ .
2.4 Algoritma Greedy