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
0
1
0
0
1
v2
1
0
1
0
1
v3
0
1
1
0
1
v4
0
0
0
0
1
v5
1
1
1
1
0
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
1
1
0
0
0
0
0
v2
1
0
1
1
0
0
0
v3
0
0
0
1
0
1
1
v4
0
0
0
0
1
0
0
v5
0
1
1
0
1
1
0
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