Anda di halaman 1dari 19

BAB 2

TINJAUAN PUSTAKA

2.1 Graf
2.1.1 Definisi Graf

Graf adalah pasangan himpunan (V, E), dan ditulis dengan notasi G = (V, E), V
adalah himpunan tidak kosong dari verteks-verteks {v1, v2,, vn} yang dalam hal ini
verteks merupakan himpunan tidak kosong dari verteks-verteks (vertices atau node)
dan E adalah himpunan edge {e1, e2,, en} atau sisi yang menghubungkan sepasang
verteks. (Munir : 2009) Sebuah graf dimungkinkan tidak mempunyai edge satu buah
pun, tetapi verteksnya harus ada minimal satu. Graf yang hanya memiliki satu buah
verteks tanpa sebuah edge pun dinamakan graf trivia.
2.1.2 Jenis-jenis Graf
Graf dapat dikelompokkan berdasarkan ada tidaknya edge nya yang paralel atau loop,
jumlah verteksnya, berdasarkan ada tidaknya arah pada edge nya, adatidaknya bobot
pada edge nya, atau ada tidaknya hubungan dengan graf yang lain.
Berikut ini adalah jenis graf berdasarkan ada tidaknya edge yang paralel atau loop.

1. Graf Sederhana
Graf sederhana adalah graf yang tidak mempunyai edge ganda dan atau loop,
loop adalah edge

yang menghubungkan sebuah verteks

dengan dirinya

sendiri). Berikut adalah contoh graf sederhana :

Universitas Sumatera Utara

Gambar 2.1 Contoh Graf sederhana

2. Graf Tak-Sederhana
Graf tak-sederhana adalah graf yang memiliki edges ganda dan atau loop. Graf
tak sederhana dapat dibagi dua yaitu:

Graf Ganda (multigraph), adalah graf yang mengandung edge ganda.


Sisi ganda yang menghubungkan sepasang verteks bisa lebih dari dua
buah.

Graf semu (pseudograph), adalah graf yang mempunyi loop, termasuk


juga graf yang mempunyai loop dan edge ganda karena itu graf semu
lebih umum daripada graf ganda, karena graf semu edge-nya dapat
terhubung dengan dirinya sendiri

Gambar 2.2 Contoh Graf Ganda

Gambar 2.3 Contoh Graf Semu

Universitas Sumatera Utara

Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga
dikelompokkan berdasarkan orientasi arah atau panah.

1. Graf tak-berarah (undirected graph)


Graf tak berarah adalah graf yang edge nya tidak mempunyai orientasi arah
atau panah. Pada graf ini, urutan pasangan verteks yang dihubungkan oleh
edge tidak diperhatikan. Jadi (vj, vk) = (vk, vj) adalah edge yang sama.

Gambar 2.4 Graf tak berarah

2. Graf Berarah (directed graph atau digraph)


Graf berarah adalah graf yang setiap edge nya memiliki orientasi arah atau
panah. Pada graf berarah (vj, vk) (vk, vj).

Gambar 2.5 Contoh Graf berarah

Berdasarkan jumlah verteks pada suatu graf, maka secara umum graf dapat
digolongkan menjadi dua jenis:
1. Graf berhingga ( limited graph ).
Graf berhingga adalah graf yang jumlah verteksnya, n, berhingga.
Contoh 2.4 adalah graf berhingga
2. Graf tak-berhingga ( unlimited graph ).
Graf tak-berhingga adalah graf yang jumlah verteksnya, n tidak berhingga.

Universitas Sumatera Utara

Gambar 2.6 Graf tag berhingga

2.1.3 Terminologi Dasar

Dibawah ini adalah beberapa terminologi (istilah) dasar yang berkaitan dengan graf.

1. Bertetangga (Adjacent)
Dua buah verteks pada graf tak berarah G dikatakan bertetangga bila keduanya
terhubung langsung dengan sebuah edge . Dengan kata lain, vi bertetangga
dengan vj jika (vi, vj) adalah sebuah edge pada graf G.

Gambar 2.7 Graf G1


Pada gambar 2.5. verteks v1 betetangga dengan verteks v2, v3 dan v4. Verteks
v2 bertetangga dengan v1 dan v4, tetapi tidak bertetangga denga v3.

2.

Bersisian (incident)
Untuk sembarang edge e = ( vj, vk), edge e dikatakan bersisian dengan verteks
vj dan verteks vk.
Pada gambar 2.5 edge e1 bersisian dengan verteks v1 dan verteks v2 edge e5
bersisian dengan verteks v3 dan verteks v4, tetapi tidak bersisian dengan v2.

Universitas Sumatera Utara

3. Derajat (Degree)
Derajat suatu verteks pada graf tak berarah adalah jumlah edge yang bersisian
dengan verteks tersebut.
Pada graf berarah, derajat verteks v dinyatakan dengan din(v) dan dout(v), yang
dalam hal ini:
din(v) = derajat masuk (in-degree)
= jumlah verteks yang masuk ke verteks v
dout(v) = derajat keluar (out-degree)
= jumlah verteks yang keluar dari verteks v
Dan
d(v) = din(v) + dout(v).
Dalam hal ini d(v) menyatakan derajat verteks.

4. Lintasan (path)
Lintasan yang panjangnya n dari edge awal v0 ke verteks tujuan vn di dalam
graf G ialah barisan berselang-seling verteks-verteks dan edge -edge yang
berbentuk v0 , e1 , v1 , e2 , v2 ,, vn-1 , en , vn sedemikian sehingga
e1 = ( v0 , v1 ) , e2 = ( v1 , v2 ) , , en = ( vn-1 , vn ) adalah edge -edge dari
graf G.
Sebuah lintasan dikatakan lintasan sederhana (simple path) jika semua
verteksnya berbeda atau setiap edge yang dilalui hanya satu kali. Lintasan
yang berawal dan berakhir pada verteks yang sama disebut lintasan tertutup
(closed path) sedangkan lintasan yang memiliki verteks awal dan verteks akhir
yang berbeda disebut lintasan terbuka (open path).
Pada gambar 2.5 lintasan v1, v2 , v4, v3 merupakan lintasan sederhana yang
juga lintasan terbuka. Lintasan v1, v2, v4, v3, v1 merupakan lintasan sederhana
yang juga lntasan tertutup. Sedangkan lintasan v2, v4, v3, v1, v4 bukan
merupakan lintasan sederhana, tetapi lintasan terbuka.

5. Graf Berbobot (Weighted Graph)


Graf berbobot adalah graf yang setiap sisinya diberikan sebuah harga (bobot).
Bobot pada setiap sisi dapat menyatakan jarak antara dua buah kota, biaya
perjalanan, waktu tempuh, ongkos produksi, dan sebagainya.

Universitas Sumatera Utara

Dalam tugas akhir ini, bobot pada pada setiap graf menyatakan jarak antara
dua buah kota dalam kilometer (km).

Gambar 2.8 Contoh Graf Berbobot

6. Sirkuit (Circuit) atau Cycle


Dalam satu graf terdapat suatu sirkuit apabila terdapat lintasan (path) yang
mempunyai verteks awal dan verteks akhir sama .

Gambar 2.9 Sirkuit v1-v2-v3-v1


Sebuah sirkuit dikatakan sirkuit sederhana (simple circuit) jika sirkuit
tersebut tidak memuat/melewati edge yang sama dua kali (setiap edge yang
dilalui hanya satu kali). Sebuah sirkuit dikatakan sirkuit dasar (elementary
circuit) jika sirkuit tersebut tidak memuat/melewati verteks yang sama dua kali
(setiap verteks yang dilalui hanya satu kali, verteks awal dan akhir boleh
sama).

2.1.4 Beberapa Graf Khusus

Terdapat beberapa jenis graf sederhana khusus. Berikut ini adalah beberapa graf
khusus yang sering ditemui:
1. Graf Lengkap ( Complete Graph )
Graf lengkap merupakan graf sederhana yang setiap verteksnya mempunyai
edge ke semua verteks lainnya. Graf lengkap dengan n buah verteks

Universitas Sumatera Utara

dilambangkan dengan Kn. Setiap verteks pada Kn berderajat n-1. Jumlah edge
pada graf lengkap yang terdiri dari n buah verteks adalah
n (n - 1)/2.

Gambar 2.10 Contoh Graf Lengkap

2. Graf Lingkaran
Graf Lingkaran adalah graf sederhana yang setiap verteksnya berderajat dua.
Graf lingkaran dengan n verteks dilambangkan dengan Cn.

Gambar 2.11 Contoh Graf Lingkaran

3. Graf Teratur ( Regular Graphs )


Graf teratur adalah graf yang setiap verteksnya mempunyai derajat yang sama.
Apabila derajat setiap simpunya adalah r, maka graf tersebut disebut juga graf
teratur derajat r. Graf lengkap Kn dan graf lingkaran juga merupakan graf
teratur. Graf Kn berderajat (n-1) sedangkan graf lingkaran berderajat 2. Jumlah
sisi pada graf teratur berderajat r dengan n buah verteks adalah nr/2.

(i)Graf berderajat 4

(ii) Graf berderajat 2

Gambar 2.12 Graf teratur derajat 4 dan 2

Universitas Sumatera Utara

4. Graf Bipartit ( Bipartite Graph )


Suatu graf sederhana G dikatakan Bipartit jika himpunan verteks-verteksnya V
dapat dipecah menjadi dua himpunan bagian yang saling asing, X1 dan X2
sedemikian hinga setiap edge dalam grap G terhubung dengan sebuah verteks
dalam V1 dan sebuah verteks lainnya dalam V2. Dengan demikian tidak ada
edge dalam G yang terhubung dengan 2 verteks dalam V1 atau dua verteks
dalam V2.

Gambar 2.13 Contoh Graf Bipartit

5. Graf Isomorfik ( Isomorphic Graph )


Dua bua graf, G1 dan G2 dikatakan isomorfik jika terdapat korespondensi satusatu antara verteks-verteks keduanya dan antara sisi-sisi keduanya sedemikian
sehingga jika sisi e bersisian dengan verteks u dan v di G1 , maka sisi e yang
berkorespon di G2 juga harus bersisian dengan verteks u dan v di G2 .

(i) Graf G1

(ii) Graf G2

Gambar 2.14 Contoh Graf yang Isomorfik


Syarat-syarat dua buah graf dikatakan graf isomorfik :
a. Mempunyai jumlah verteks yang sama.
b. Mempunyai jumlah edge yang sama
c. Mempunyai jumlah verteks yang sama berderajat tertentu.

Universitas Sumatera Utara

6. Graf Planar
Graf planar adalah suatu graf yang digambar dalam bidang datar denga edge edge nya tidak ada yang saling memotong.

(a)

(b)

Gambar 2.15 Contoh Graf Planar K4


Pada contoh graf G (K4) diatas, K4 dapat digambar kembali tanpa ada edge edge nya yang berpotongan, maka graf K4 adalah suatu Graf Planar.

2.1.5 Representasi Graf

Pada penjelasan sebelumnya, graf ditampilkan dengan cara menggambarkannya.


Namun apabila graf hendak diproses dengan program komputer, maka graf harus
direpresentasikan di dalam memori. Ada beberapa metode yang dapat digunakan
dalam merepresentasikan graf, berikut ini adalah metode yang dapat dgunakan dalam
merepresentasikan graf :
1. Matriks Ketetanggaan (Adjacency Matrix)
Misalkan G = (V, E) merupakan suatu graf dengan n verteks, n > 1. Maka,
matriks ketetanggaan A dari G adalah matriks n x n dimana A = [aij], untuk hal
ini berlaku [aij] menjadi 1 bila verteks i dan j bertetangga dan [aij] menjadi 0
bila verteks i dan j tidak bertetangga.

Jumlah elemen matriks bertetanggaan untuk graf dengan n verteks


adalah n2. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang
memori yang diperlukan seluruhnya adalah pn2.

Universitas Sumatera Utara

Keuntungan representasi dengan matriks ketetanggaan adalah kita


dapat mengakses elemen matriksnya langsung dari indeks. Selain itu, kita juga
dapat menentukan dengan langsung apakah verteks i dan verteks j bertetangga.

Pada graf berbobot, aij menyatakan bobot tiap sisi yang


menghubungkan verteks i dengan verteks j. Bila tidak ada sisi dari verteks i ke
verteks j atau dari verteks j ke verteks i, maka, aij diberi nilai tak berhingga
().

Gambar 2.16 Graf G

Bentuk matriks ketetanggaan dari graf pada gambar 2.13 adalah


v1

v2

v3 v4 v5

v1

v2

v3

v4

v5

2. Matriks Insiden (incidency matriks)


Matriks insiden menyatakan kebersisian verteks dengan edge . Misalkan
G = (V, E) adalah graf dengan n verteks dan m edge , maka matriks
kebersisian A dari G adalah matriks berukuran m x n dimana A = [aij], [aij]
menjadi 1 bila verteks i dan edge j bersisian dan [aij] menjadi 0 bila verteks i
dan edge j tidak bersisian.

Universitas Sumatera Utara

Gambar 2.17 Graf A

Berikut adalah matriks insiden untuk graf pada gambar 2.14.


e1

e2

e3 e4 e5 e6 e7

v1

v2

v3

v4

v5

Pada matriks diatas, sebuah kolom e7 dapat diwakilkan sebagai loop. Pada
sebuah graf tanpa loop, masing-masing kolom mempunyai dua entri 1, dan jumlah
dari sebuah baris menyatakan derajat dari verteks yang didefinisikan dengan baris
tersebut.

2.2 Lintasan Terpendek (Shortest Path)


Dalam Jurnal Pawitri (2007) disebutkan bahwa Lintasan Terpendek (Shortest Path)
merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik
tertentu. Dalam pencarian lintasan terpendek masalah yang dihadapi adalah mancari
lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari
satu verteks ke verteks yang lain.
Ada beberapa macam persoalan lintasan terpendek, antara lain :
1. Lintasan terpendek antara dua buah verteks.
2. Lintasan terpendek antara semua pasangan verteks.
3. Lintasan terpendek dari verteks tertentu ke semua verteks yang lain

Universitas Sumatera Utara

4. Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks
tertentu.
Pada tugas akhir ini persoalan lintasan terpendek yang menjadi masalah adalah
lintasan terpendek antara dua buah verteks dimana bobot pada setiap edge graf
digunakan untuk menyatakan jarak antar kota dalam satuan Kilometer (Km).
2.3 Metode Pencarian
Ada banyak metode yang dapat digunakan untuk pencarian jalur terpendek pada suatu
graf. Metode pencarian tersebut dapat dikelompokkan ke dalam dua jenis, yaitu
pencarian buta/tanpa informasi (blind atau un-informed search) dan pencarian
heuristik/dengan informasi (heuristic atau informed search).

2.3.1 Pencarian Buta (Blind Search/Un-informed Search)

Dikatakan pencarian buta, karena pada pencarian ini tidak ada informasi awal. Disini
hanya akan dibahas dua metode pencarian, yaitu Breadth First Search dan Depth First
Search.

2.3.1.1 Breadth First Search (BFS)

Pencarian dilakukan pada semua verteks pada level n secara berurutan dari kiri ke
kanan. Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada
level berikutnya (n+1). Demikian seterusnya sampai ditemukan solusi. Dengan
strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik
(Optimal). Tetapi BFS harus menyimpan semua node yang pernah dibangkitkan,h al
ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan, sehingga
membutuhkan memori yang cukup banyak.

Universitas Sumatera Utara

Gambar 2.18 Tree untuk Breadth First Search


2.3.1.2 Depth First Search (DFS)
Pencarian dilakukan pada satu verteks dalam setiap level dari yang paling kiri. Jika
pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan
pada verteks sebelah kanan. Verteks yang kiri dapat dihapus dari memori. Jika pada
level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada
level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi
ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk
mendapatkan jalur yang dinginkan).

Kelebihan dari algoritma ini adalah pemakaian memori yang lebih sedikit,
sedangkan kelemahannya adalah jika pohon yang dibangkitkan memiliki level yang
sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. Artinya,
DFS tidak complete (tidak ada jaminan penemuan solusi).

Universitas Sumatera Utara

Gambar 2.19 Tree untuk Depth First Search

2.3.2 Pencarian Heuristik


Pada metode pencarian buta, tidak dimiliki pengetahuan khusus tentang permasalah
yang dihadapi sehingga metode tersebut tidak efisien untuk banyak kasus karena bias
saja metode tersebut tidak complete dan atau tidak optimal dalam mendapatkan
solusi, optimal disini adalah tidak menjamin menemukan solusi yang terbaik jika
terdapat beberapa solusi yang berbeda. Menggunakan informasi khusus yang spesifik
untuk suatu masalah tertentu akan sangat memperbaiki kecepatan pencarian solusi,
karena teknik ini membantu memutuskan kemungkinan solusi mana yang pertama kali
perlu di evaluasi. Pencarian heuristik digunakan untuk mengeliminasi beberapa
kemungkinan solusi, tanpa harus mengeksplorasinya secara penuh.

Berikut

akan dijelaskan beberapa algoritma pencarian dengan informasi

(informed search algorithm) yang menggunakan fungsi heuristik dalam mencari


solusi, yaitu Generate and test, hill climbing, dan Best First Search (greedy best first
search dan A*).

Universitas Sumatera Utara

2.3.2.1 Generate and Test (bangkitkan dan Uji)

Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian


heuristic. Jika pembangkitan possible solution dikerjakan secara sistematis, maka
algoritma ini akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat
luas, mungkin memerlukan waktu yang sangat lama. Algoritma Generate-and-Test
menggunakan prosedur DFS karena solusi harus dibangkitkan secara lengkap sebelum
dilakukan test. Algoritma ini berbentuk sistematis, pencarian sederhana yang
mendalam dari ruang permasalahan. Generate & test juga dapat dilakukan dengan
pembangkitan solusi secara acak, tetapi tidak ada jaminan solusinya akan ditemukan.

2.3.2.2 Hill Climbing (Pendakian Bukit)

Hill Climbing berbeda Generate-and-Test, yaitu pada feedback dari prosedur test
untuk membantu pembangkit menentukan yang langsung dipindahkan dalam ruang
pencarian. Dalam prosedur Generate & test , respon fungsi pengujian hanya ya atau
tidak. Tapi jika pengujian ditambahkan dengan atauran fungsi-fungsi yang
menyediakan estimasi dari bagaimana mendekati state yang diberikan ke state tujuan,
prosedur pembangkit dapat mengeksplorasi ini sebagaimana ditunjukkan di bawah.
Hill Climbing sering digunakan jika terdapat fungsi heuristik yang baik untuk
mengevaluasi state. Sebagai contoh, anda berada di sebuah kota yang tidak dikenal,
tanpa peta dan anda ingin menuju ke pusat kota. Cara sederhana adalah gedung yang
tinggi. Fungsi heuristik-nya adalah jarak antara lokasi sekarang dengan gedung yang
tinggi dan state yang diperlukan adalah jarak yang terpendek.

2.3.2.3 Best First Search (BFS)

Best first search merupakan kombinasi dari beberapa kelebihan Depth first search dan
breadth first search. Pada pencarian dengan hill climbing tidak diperbolehkan untuk
kembali ke verteks pada level yang lebih rendah meskipun verteks pada level yang
lebih rendah tersebut memiliki nilai heuristik yang lebih baik, sedangkan pada best
first search, pencarian diperbolehkan untuk mengunjungi verteks yang berada pada
level yang lebih rendah.

Universitas Sumatera Utara

Best First Search membangkitkan verteks berikutnya dari sebuah verteks


(yang sejauh ini terbaik diantara semua leafnodes yang pernah dibangkitkan. Untuk
menentuan verteks terbaik dapat dilakukan dengan menggunakan informasi berupa
biaya perkiraan dari suatu verteks menuju ke goal atau gabungan antara biaya
sebenarnya dan biaya perkiraan tersebut. Biaya perkiraan tersebut dapat diperoleh
dengan menggunakan suatu fungsi yang disebut fungsi heuristik.

Terdapat dua jenis algoritma best first search, yaitu: 1) algoritma greedy best
first search,yang hanya memperhitungkan biaya perkiraan saja; dan 2) algoritma A*,
yang menghitung gabungan biaya antara biaya sebenarnya (actual cost) dan biaya
perkiraan.

2.3.2.3.1 Greedy Best First Seach

Merupakan Best First Search dengan hanya mempertimbangkan harga perkiraan


(estimated cost) saja, yaitu f(n) = h(n). Sedangkan harga sesungguhnya tidak
digunakan. Sehingga solusi yang dihasilkan tidak optimal, karena hanya
memperhitungkan biaya perkiraan yang belum tentu kebenarannya.

2.3.2.3.2 Algoritma A*

Algoritma A* (A Star) adalah algoritma pencarian yang merupakan pengembangan


dari algoritma Best First Search (BFS). Seperti halnya pada BFS, untuk menemukan
solusi, A* juga dituntun oleh fungsi heuristik, yang menentukan urutan titik mana
yang akan dikunjungi terlebih dahulu. Heuristik merupakan penilai yang memberi
harga pada tiap verteks yang memandu A* mendapatkan solusi yang diinginkan.

Algoritma ini pertama kali diperkenalkan pada 1968 oleh Peter Hart, Nils
Nilsson, dan Bertram Raphael Dalam tulisan mereka, algoritma ini dinamakan
algoritma A. Dengan penggunaan fungsi heuristik yang tepat pada algoritma ini yang
dapat memberikan hasil yang optimal, maka algoritma inipun disebut A*.

Universitas Sumatera Utara

Dengan fungsi heuristik Algoritma ini membangkitkan verteks yang paling


mendekati solusi. Verteks ini kemudian disimpan suksesornya ke dalam list sesuai
dengan urutan yang paling mendekati solusi terbaik. Kemudian, verteks pertama pada
list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan ke dalam
list sesuai dengan urutan yang terbaik untuk solusi. List verteks ini disebut dengan
verteks terbuka (open node).

Verteks pada list bisa berasal dari kedalaman berapapun dari graf. Algoritma
ini akan mengunjungi secara mendalam (mirip Depth First Search (DFS)) selama
verteks tersebut merupakan verteks yang terbaik. Jika verteks yang sedang dikunjungi
ternyata tidak mengarah kepada solusi yang diinginkan, maka akan melakukan runut
balik ke arah verteks awal untuk mencari verteks lainnya yang lebih menjanjikan dari
pada verteks yang terakhir dikunjungi. Bila tidak ditemukan juga, maka akan terus
mengulang mencari ke arah verteks awal sampai ditemukan verteks yang lebih baik
untuk dibangkitkan suksesornya. Strategi ini berkebalikan dengan algoritma DFS yang
mencari sampai kedalaman yang terdalam sampai tidak ada lagi suksesor yang bisa
dibangkitkan sebelum melakukan runut balik, dan BFS yang tidak akan melakukan
pencarian secara mendalam sebelum pencarian secara melebar selesai. A* baru
berhenti ketika mendapatkan solusi yang dianggap solusi terbaik.

2.4 Fungsi Heuristik

Dalam metode pencarian heuristik, digunakan suatu fungsi heuristik yang digunakan
untuk mengevaluasi keadaan-keadaan masalah individual dan menentukan seberapa
jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Suatu
fungsi dapat diterima sebagai fungsi heuristik jika biaya perkiraan yang dihasilkan
tidak melebihi dari biaya sebenarnya. Suatu fungsi heuristik dapat dikatakan sebagai
fungsi heuristik

yang baik, apabila dapat memberikan biaya perkiraan yang

mendekati biaya sebenarnya. Semakin mendekati biaya sebenarnya, fungsi heuristik


tersebut semakin baik.

Dalam masalah pencarian rute terpendek dengan graf planar, fungsi heuristik
yang dapat digunakan adalah Jarak Euclidian. Fungsi heuristik ini akan menghitung

Universitas Sumatera Utara

jarak berdasarkan panjang garis yang dapat ditarik dari dua buah titik, yang bisa
dihitung menggunakan rumus :

Rumus diatas adalah rumus untuk mencari garis lurus antara dua verteks, yaitu
verteks a dan verteks b.

2.5 MATLAB (Matrix Laboratory)

MATLAB merupakan sebuah bahasa pemrograman tingkat tinggi yang ditujukan


untuk komputasi teknis. MATLAB mengintegrasikan kemampuan komputasi,
visualisasi dan pemrograman dalam sebuah lingkungan yang tunggal dan mudah
digunakan. Matlab membertikan sistem interaktif yang menggunakan konsep
array/matrik sebagai standar variabel elemennya tanpa membutuhkan pendeklarasian
array seperti pada bahasa lainnya.

Dengan MATLAB kita dapat menemukan solusi dari berbagai masalah


numerik secara cepat, misalnya sistem 2 persamaan dengan 2 variabel :
2x-3y=24
x+5y=15

Hingga perhitungan yang kompleks , seperti mencari akar-akar polinomial.


Interpolasi dari sejumlah data, perhitungan dengan matriks, pengolahan sinyal, dan
metoda numerik.

Universitas Sumatera Utara

Gambar 2.20 Tampilan awal Matlab

Gambar 2.21 Tampilan GUI Matlab

Universitas Sumatera Utara

Anda mungkin juga menyukai