BAB II TINJAUAN PUSTAKA Pada bab ini diberikan istilah-istilah dan definisi-definisi yang digunakan pada penelitian ini.. Konsep Dasar Graf.. Graf Graf dapat merepresentasikan suatu kejadian, proses, peristiwa atau hal-hal lain yang saling berkaitan. Graf merupakan himpunan pasangan terurut (V, E) dimana V adalah himpunan vertex/titik dengan V Ø; dan E adalah himpunan edge/rusuk (Wibisono, ). Contoh graf yang merepresentasikan suatu jaringan ditunjukkan pada Gambar. Gambar. Contoh graf yang merepresentasikan suatu jaringan
.. Walk Walk adalah suatu barisan edge sedemikian rupa sehingga vertex terminal berimpit dengan vertex awal untuk j k. Suatu walk dikatakan sederhana jika ia tidak mencakup edge yang sama dua kali (Liu, 99). Contoh walk ditunjukkan pada Gambar.. Gambar. Walk dengan edge Ae Be Ce Ee Ge Fe Ce 7.. Path Menurut Wibisono (), path adalah walk dengan semua vertex yang berlainan, artinya vertex awal berbeda dengan vertex akhir dalam walk tersebut. Contoh path ditunjukkan pada Gambar.. Gambar. Path dengan walk Ae Be Ce Ee Ge Fe 7 D
.. Tree (Pohon) Tree adalah graf terhubung yang tidak mengandung sirkuit (Deo, 989). Sirkuit adalah suatu lintasan yang titik terminalnya berimpit dengan titik awalnya. Contoh tree ditunjukkan pada Gambar.. Gambar. Contoh Tree dengan vertex.. Graf Berarah Suatu graf berarah atau digrah, G terdiri dari. (i) Suatu himpunan V=V(G) yang elemen-elemennya disebut titik atau garis. (ii) Suatu E=E(G) dari pasangan-pasangan titik terurut yang disebut busur atau garis berarah atau garis. Graf berarah G dikatakan berhingga jika himpunan V dari titik-titiknya dan himpunan E dari busurnya (garis berarah) berhingga (Lipschutz dan Lipson, ).
7.. Rooted Tree Rooted tree adalah suatu tree dengan ada satu titik yang indegree-nya nol (titik sumber). Setiap titik dapat dianggap atau dijadikan akar, titik yang dianggap sebagai akar ditandai dengan lingkaran yang mengelilingi titik tersebut (Wibisono, ). Contoh rooted tree dengan lima vertex terdapat pada Gambar.. Gambar. Root tree dengan lima vertex..7 Succesor (Succ) Setiap vertex i pada suatu tree (kecuali root = ) merupakan initial vertex untuk tepat satu edge, sehingga dapat didefinisikan succ(i)=j adalah terminal vertex untuk edge i j dalam fungtional digraph (Amalia, ). Contoh succesor terdapat pada Gambar.. Gambar. Succesor()= adalah terminal vertex untuk edge
8..8 Indegree dan Outdegree Indegree suatu titik adalah jumlah vertex yang masuk ke suatu titik. Sedangkan Outdegree suatu titik adalah jumlah rusuk yang keluar dari suatu titik. Titik yang indegree-nya = disebut sumber (Wibisono, )...9 Spanning Tree Suatu tree T dikatakan spanning tree dari graf terhubung G jika T adalah subgraf dari G dan memuat semua titik dari graf G (Deo, 989).. Encoding dan Decoding Tree Kode Dandelion.. Kode Dandelion Menurut Amalia (), Kode Dandelion merupakan suatu tree yang memuat n vertex dengan label (,,,.,n) dan edge yang menghubungkan setiap dua vertex memiliki bobot B succ(vi). Vertex (nol) merupakan root dalam tree tersebut. B succ(vi) menggambarkan edge dan vertex v i sebagai tail ke vertex succ(v i ) sebagai head. Tree merupakan fungsional digraf, dimana setiap vertex merupakan tail tepat satu edge v i succ(v i ). B succ(vi) memudahkan dalam proses encoding dan decoding tree berarah. B succ(vi) digunakan untuk mewakili setiap edge awal yang menghubungkan v i ke succ(v i ) yang kemudian digantikan dengan edge menghubungkan v i ke. Contoh Kode Dandelion terdapat pada Gambar..
9 Gambar.7 Kode Dandelion.. Proses Encoding Tree dengan Kode Dandelion Langkah-langkah proses encoding tree pada kode Dandelion sebagai berikut.. Pada langkah i, hapus edge n-i+ succ(n-i+) dan tambahkan edge n- i+ dengan bobot B succ(n-i+). ( i n-; n didefinisikan banyaknya vertex selain root ).. Apabila terdapat edge succ(); edge succ() succ(succ()), edge succ( (succ())) n-i+ sehingga selama proses berlangsung menyebabkan terbentuknya cycle, maka yang harus dilakukan adalah menghapus edge succ() dan edge n-i+, kemudian gantikan keduanya dengan edge succ(n-i+) dan edge n-i+ dengan memberi bobot B succ(). Lanjutkan langkah () pada i berikutnya.. Proses selesai pada langkah i=n-. Kemudian kode tersebut dibaca berdasarkan Naïve code dari vertex,,,n (sebagai pengganti dari successors setiap vertex).
Diagram alir encoding kode Dandelion ditunjukkan pada Gambar.7. Mulai For i n- m=succ(n-i+); k=succ() Hapus edge (n-i+) m; Tambahkan edge (n-i+) k dengan bobot B m Menyebabkan cycle tidak ya Hapus edge n k; Tambahkan edge (n-i+) ; Tambahkan edge m; Tambahkan edge(n-i+) Dengan bobot B k tidak i=n- ya For j n Wj = Bobot setiap edge j Tulis Kode Dandelion=(w,w,,w n ) Selesai Gambar.8 Diagram Alir Encoding Kode Dandelion
Contoh encoding kode Dandelion : Diberikan tree berarah dengan tujuh vertex dan enam edge yang ditunjukkan pada Gambar.9. Gambar.9 Tree Berarah dengan 7 Vertex dan Edge Langkah-langkah memperoleh kode Dandelion dari tree berarah di atas adalah. Langkah : hapus edge dimana vertex () sebagai initial vertex dan vertex () sebagai successor dari vertex (), kemudian tambahkan edge dengan bobot B. Kode Dandelion sementara yaitu (B ) seperti ditunjukkan pada Gambar.. B Gambar. Kode Dandelion Sementara (B )
Langkah : hapus edge dimana vertex () sebagai initial vertex dan vertex () sebagai successor dari vertex (), kemudian tambahkan edge dengan bobot B. Kode Dandelion sementara yaitu (B, B ) seperti ditunjukkan pada Gambar.. B B Gambar. Kode Dandelion Sementara (B, B ) Langkah : hapus edge dimana vertex () sebagai initial vertex dan vertex () sebagai successor dari vertex (), kemudian tambahkan edge. Penambahan edge menyebabkan terbentuknya cycle dikarenakan terdapat edge dan edge. Dengan demikian, hapus edge dan digantikan dengan edge serta beri bobot B pada edge. Kode Dandelion sementara yaitu (B, B, B ) seperti ditunjukkan pada Gambar..
B B B B B Gambar. Kode Dandelion Sementara (B, B, B ) Langkah : hapus edge dimana vertex () sebagai initial vertex dan vertex () sebagai successor dari vertex (), kemudian tambahkan edge dengan bobot B. Kode Dandelion sementara yaitu (B, B,B, B ) ditunjukkan pada Gambar.. B B B B Gambar. Kode Dandelion Sementara (B, B,B, B ) Langkah : hapus edge dimana vertex () sebagai initial vertex dan vertex () sebagai successor dari vertex (), kemudian tambahkan edge dengan bobot B. Dengan demikian kode Dandelion yang diperoleh adalah (B,B, B,B,B ) = (,,,,).
B B B B B Gambar. Kode Dandelion yang diperoleh (,,,,).. Proses Decoding Tree dari Kode Dandelion Langkah-langkah mengkontruksi tree berarah dari kode Dandelion yaitu.. Konstruksi kode ke dalam bentuk graf dengan setiap vertex (,,, n) menuju dan bobot setiap edge (,,, n ) adalah B succ(), B succ(),, B succ(n).. Pada langkah i, hapus edge i+ dan bobot B succ(i+), kemudian tambahkan edge i+ succ(i+).( i n).. Apabila terdapat edge succ(i+) succ(succ(i+)), edge succ (succ(i+)) succ(succ(succ(i+))),, edge succ (succ(i+)) (i+) sehingga selama proses berlangsung menyebabkan terbentuknya cycle maka yang dilakukan adalah menghapus edge succ() dan i+ succ(i+), kemudian tambahkan edge succ(i+) dan edge i+ succ(). Lanjutkan langkah() pada i berikutnya.. Proses akan selesai pada langkah i=n-.(n adalah banyaknya vertex, selain root (nol).
Diagram alir decoding kode Dandelion ditunjukkan pada Gambar.. Mulai Edge For i n Tambahkan edge i dengan bobot B succ(i) For i n k=succ(i); m=succ() Tambahkan edge i Hapus edge i tidak Menyebabkan cycle ya Hapus edge i k dan edge m, Tambahkan edge m; Dan edge k tidak I=n ya Selesai Gambar. Diagram Alir Decoding Kode Dandelion
Contoh decoding kode Dandelion : Diberikan kode Dandelion :(,,,,) seperti ditunjukkan pada Gambar.. B B B B B Gambar. Tree Berarah dengan Kode Dandelion (,,,,) Langkah-langkah mengkontruksi tree berarah dari kode Dandelion di atas adalah. Langkah : hapus edge dan bobot B. dimana vertex () sebagai successor dari vertex (), dan tambahkan edge, seperti ditunjukkan pada Gambar.7. B B B B Gambar.7 Tree Berarah dengan Kode Dandelion (,,,)
7 Langkah : hapus edge dan bobot B dimana vertex () sebagai successor dari vertex (), dan tambahkan edge, seperti ditunjukkan pada Gambar.8. B B B Gambar.8 Tree dengan Kode Dandelion (,,) Langkah : hapus edge bobot B dimana vertex () adalah successor dari vertex (), dan tambahkan edge. Penambahan edge menyebabkan terbentuknya cycle dikarenakan terdapat edge. Dengan demikian, hapus edge dan edge kemudian gantikan keduanya dengan menambahkan edge dan edge, seperti ditunjukkan pada Gambar.9. B B B B Gambar.9 Tree dengan Kode Dandelion (,)
8 Langkah : hapus edge dan bobot B dimana vertex () adalah successor dari vertex (), dan tambahkan edge, seperti ditunjukkan pada Gambar.. B Gambar. Tree dengan Bobot Kode Dandelion (B ) Langkah : hapus edge dan bobot B dimana vertex () adalah successor dari vertex (), dan tambahkan edge. seperti ditunjukkan pada Gambar.. Gambar. Diperoleh Tree Berarah 7 Vertex dan Edge
9. Metode Prototype Prototyping adalah suatu proses untuk melakukan simulasi terhadap suatu sistem dan dapat dibuat dengan cepat. Prototyping juga merupakan suatu teknik analisis iteratif dimana user terlibat secara aktif dalam proses desain layar dan laporan. Hal ini nantinya akan dimanfaatkan suatu sarana untuk melakukan eksplorasi serta komunikasi lebih lanjut dalam proses desain. Kunci utama dari suatu prototyping adalah untuk membuat suatu desain awal dengan cepat dan disertai perubahan yang bisa jadi radikal serta nantinya akan menghasilkan suatu umpan balik, terutama dari pengguna, secara cepat untuk melakukan desain ulang di tahap berikutnya (Rizky, 7). Metode Prototype adalah versi sistem informasi atau bagian dari sistem yang sudah dapat berfungsi, tetapi dimaksudkan hanya sebagai model awal saja. Setelah beroperasi, prototype lebih jauh diperhalus hingga cocok sekali dengan kebutuhan penggunanya. Ketika rancangan telah difinalisasi, prototype dapat dikonversi menjadi sistem produksi yang jauh lebih baik (Laudon, 8)... Tahapan Prototype Tahapan-tahapan prototype menurut Pressman () adalah sebagai berikut.. Mendengarkan Pelanggan. Pada tahap ini dilakukan pengumpulan kebutuhan dari sistem dengan cara mendengar keluhan dari pelanggan. Untuk membuat suatu sistem yang sesuai kebutuhan, maka harus diketahui terlebih dahulu bagaimana sistem yang sedang berjalan untuk kemudian mengetahui masalah yang terjadi.
. Merancang dan Membuat Prototype. Pada tahap ini, dilakukan perancangan dan pembuatan sistem prototype. Prototype yang dibuat disesuaikan dengan kebutuhan sistem yang telah didefinisikan sebelumnya dari keluhan pelanggan atau pengguna.. Uji coba Pada tahap ini, Prototype dari sistem diuji coba oleh pelanggan atau pengguna. Kemudian dilakukan evaluasi kekurangan-kekurangan dari kebutuhan pelanggan. Pengembangan kemudian kembali mendengarkan keluhan dari pelanggan untuk memperbaiki prototype yang ada. Gambar. Tahapan Metode Prototype. PHP PHP (Hypertext Preprocessor) adalah bahasa pemrograman yang berjalan dalam suatu webserver yang berfungsi sebagai pengolah data pada suatu server (Madcoms, ).
PHP merupakan suatu produk open source, sehingga source code PHP dapat digunakan, diubah. Keunggulan PHP selain sifatnya yang open source adalah multi platform selain dapat dijalankan pada platform Linux, PHP juga dapat dijalankan dengan menggunakan Apache, dengan IIS pada Window NT atau PWS pada Windows 98 (Cahyanto, Dkk, ).