Professional Documents
Culture Documents
BAB II
DASAR TEORI
A. Algoritma
Algoritma adalah suatu kumpulan intruksi yang dibuat secara jelas dan
dalam bidang lainnya seperti geografi dan musik (Fathul Wahid, 2004 : 1). Pada
awalnya kata algoritma berasal dari kata algorisma yang berarti istilah yang
bilangan numeris Arab. Akan tetapi, istilah ini mulai berkembang pada abad ke-
18 sehingga muncul kata algoritma yang mencakup semua prosedur atau urutan
penting didalamnya. Secara garis besar lima tahapan untuk membangun sebuah
1. Analisis masalah.
2. Merancang algoritma.
6
5. Dokumentasi
Dua tahapan pertama masuk ke dalam problem solving phase dan sisanya
dibawah ini.
Permasalahan
Problem
solving
phase
Menurut Fathul Wahid, (2004 : 3-5), terdapat empat syarat yang harus
tafsiran tunggal.
Jika serangkaian langkah yang sama dilakukan dua kali, maka hasilnya
1. Dasar Algoritma
Sesuai dengan tujuan dari algoritma yaitu untuk mendapatkan solusi dari
dikerjakan secara runtun dari atas ke bawah langkah demi langkah. Setiap
keluaran atau output, bersifat terstruktur dan sistematis, dan memiliki kriteria
terbentuk suatu algoritma yang baik maka algoritma tersebut harus mempunyai
struktur kontrol. Terdapat tiga macam struktur kontrol dari algoritma yaitu
a. Runtunan ( Sequence )
b. Pemilihan ( Selection )
8
c. Pengulangan ( Repetation )
2. Penyajian Algoritma
uraian kata-kata yang mirip dengan bahasa pemrograman. Sebagai contoh bila
A ← 0
Jumlah ← 0
While a ≤ 10 do
Jumlah ← jumlah + a
a ← a + 1
endwhile
write(Jumlah)
No Keterangan Simbol
1 Proses
2 Pengecekan kondisi
3 Dokumen
7 Manual input
sederhana.
B. Graf
V(G) adalah himpunan tak kosong dari unsur-unsur yang disebut titik (vertex ) dan
E(G) adalah himpunan dari pasangan tak terurut (u,v) dari titik-titik u,v di V (G)
yang disebut sisi (edge). Selanjutnya sisi e = (u,v) pada graf G ditulis e = uv.
graf tak terhubung (disconnected) jika ada dua titik di G yang tidak mempunyai
lintasan.
Gambar 2.2: (a) adalah graf terhubung, (b) adalah graf tak terhubung.
11
Graf lintasan adalah graf yang terdiri dari satu lintasan. Graf lintasan yang
Graf yang terdiri dari satu sikel disebut graf sikel, dinotasikan Cn yang
mana seorang salesman harus mengunjungi semua kota di mana tiap kota hanya
dikunjungi sekali, dan dia harus mulai dari dan kembali ke kota asal. Tujuannya
adalah menentukan rute dengan jarak total atau biaya yang paling minimum.
12
ditentukan pula oleh lintasan yang diambil untuk mengirimkan surat atau barang
tersebut. Oleh karena itu solusi optimal dari permasalahan TSP ini, akan sangat
Sampai saat ini, sudah ada banyak metode metode yang digunakan untuk
teknik heuristik antara lain: Generate and Test, Hill Climbing, Ant Algorithm,
1. Artificial Intelegence ( AI )
kesuksesan Newell dan Simon dengan sebuah program yang disebut General
tahun juga mengalami pasang surut sampai akhirnya mulai diminati lagi ketika
munculnya konsep jaringan saraf tiruan dan algoritma genetika yang diaplikasikan
menggunakan teknik ini terdapat tiga langkah awal sebagai modal awal untuk
mencapai tujuan yaitu mencari solusi yang paling tepat dari masalah yang
dihadapi, yaitu:
3. Memilih metode yang paling tepat untuk mencari solusi terbaik dari
Secara garis besar searching dibagi ke dalam dua jenis yaitu metode
membedakan kedua jenis teknik pencarian tersebut adalah adanya informasi awal
dalam metode pencarian buta/blind yaitu Breadth First Search ( BFS ), Uniform
Cost Search ( UCS ), Depth First Search ( DFS ), Depth-Limited Search ( DLS ),
sangat besar untuk menyesaikan masalah yang cukup sederhana karena harus
menyimpan semua solusi yang telah dibangkitkan. Pada jenis ke-2 metode yaitu
keadaan awal ( initial state ) dan aturan produksi berupa fungsi heuristik ( suatu
fungsi untuk menghitung nilai atau biaya perkiraan dari suatu solusi permasalah
yang dicari ) sebagai modal untuk melakukan iterasi menuju goal state. Beberapa
metode yang masuk dalam jenis ini antara lain Generate and Test ( GT ), Hill
15
First Search dan A* ). Dengan mempunyai modal awal berupa initial state dan
harus lebih cermat dalam memilih metode dan fungsi heuristik yang akan
digunakan.
cara menukar dua posisi kota yang saling berdekatan seperti orang yang mendaki
paling tajam/curam ).
state yang memiliki keadaan lebih baik dari pada keadaan sebelumnya tanpa
memperhitungkan keadaan lain yang lebih “curam”. Berikut adalah algoritma dari
1. Evaluasi initial state (keadaan awal). Jika initial state adalah goal
state maka jadikan state ini sebagai solusi dan keluar dari program. Jika
bukan goal state, lanjutkan proses dengan initial state sebagai current
state.
16
state.
ii. Jika state ini bukan goal state tetapi lebih baik dari
current state maka jadikan state ini sebagai current state baru.
iii. Jika state ini tidak lebih baik dari current state
Berikut ini adalah gambar proses penyelesaian solusi dengan menggunakan SHC.
menekankan pada aturan produksinya yaitu SHC akan mengevaluasi semua state
17
yang berada dibawah current state dan memilih state dengan keadaan paling
1. Evaluasi initial state. Jika initial state adalah goal state maka jadikan
state ini sebagai solusi dan keluar dari program. Jika bukan goal state,
current state.
kerjakan :
state.
ii. Evaluasi new state. Jika merupakan goal state, jadikan ini
sebagai solusi dan keluar dari program. Jika bukan goal state,
bandingkan dengan new state dengan SUK. Jika new state lebih
baik dari SUK maka ganti SUK dengan new state. Jika new state
c. Jika SUK lebih baik dari current state maka ganti current state
dengan SUK.
18
SAHC.
1. Dasar MatLab
tetapi tidak bisa dikatakan sebagai varian dari C karena sintaks maupun cara
yang berbasiskan array atau matriks sebagai standar variabelnya atau elemen
dan EISPACK. Akan tetapi lambat laun MatLab menjadi salah satu bahasa
pemrograman yang power full dan diminati banyak orang terutama jika
mengenal dua tipe data yaitu numerik dan string. Adapun beberapa hal yang perlu
Contoh :
>> varA = 4
varA =
4
>> varB = [1 2 3 4]
varB =
1 2 3 4
>> varC = ‘menulis variabel’
varC =
menulis variabel
20
Berikut adala daftar sintaks dasar dalam MatLab yang menyangkut operasi
a. Operator aritmatika
Operasi Betuk aljabar Bentuk Matlab
Penjumlahan a+b a+b
Pengurangan a-b a-b
Perkalian axb a*b
Pembagian a/b a/b
Eksponensial ab a^b
dua dimensi atau tiga dimensi. Ada beberapa cara untuk menampilkan grafik
>> x = 0:1:360;
>> y = sin(x.*pi/180);
>> plot(y)
21
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 50 100 150 200 250 300 350 400
maka salah satu kelebihan MatLab yaitu kemudahan dalam memaniulasi matriks.
lain :
>> a = linspace(0,6,7)
a =
0 1 2 3 4 5 6
>> b=[1 2 3;4 5 6;7 8 9]
b =
1 2 3
4 5 6
7 8 9
>> b(1,:)
ans =
1 2 3
>> b(3,:)=10
b =
1 2 3
22
4 5 6
10 10 10