2.7 Client Server
Client server adalah salah satu model komunikasi 2 komputer atau lebih yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan input,
update, penghapusan, dan menampilkan data sebuah database. Sedangkan server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu menyimpan dan
mengolah database Wahana, 2010. Ada beberapa model arsitektur client server, diantaranya adalah 1-Tier
standalone, 2-Tier, dan n-Tier. Arsitektur 1-Tier merupakan model dimana sebuah komputer mengakses sebuah database dari komputer sendiri. Dengan kata lain,
aplikasi antarmuka user dan aplikasi database terdapat pada komputer yang sama. Arsitektur 2-Tier merupakan model yang membagi tugas antara komputer
client dan komputer server. Komputer client bertugas menyediakan antarmuka untuk user, permintaan data ke server, serta pemrosesan data. Komputer server bertanggung
jawab terhadap penyimpanan, pengelolaan, serta melayani permintaan akses data. Arsitektur n-Tier berarti membagi komponen menjadi n entitas, yaitu 1 tier
client dan n-1 tier server. Bagian client bertugas menyediakan antarmuka aplikasi, sedangkan bagian server bertugas menyediakan data.
2.8 Defenisi Graf
Graf merupakan pasangan himpunan V,E, ditulis dengan notasi G=V,E, yang dalam hal ini V adalah himpunan tidak-kosong dari simpul-simpul vertices atau node
dan E adalah himpunan sisi edges atau arcs yang menghubungkan sepasang simpul. Munir, 2005. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun,
tetapi simpul harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisi edges pun dinamakan graf trivial.
2.8.1 Jenis-jenis Graf Graf dapat dikelompokkan menjadi beberapa kategori jenis tergantung pada sudut
pandang pengelompokannya. Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi edges ganda atau sisi edges kalang, berdasarkan jumlah simpul, atau
berdasarkan orientasi arah pada sisi edges.
Universitas Sumatera Utara
Berdasarkan ada tidaknya gelang loop atau sisi edges ganda pada suatu graf, maka secara umum dapat digolongkan menjadi dua jenis:
1. Graf sederhana simple graph. Graf yang tidak mengandung gelang loop maupun sisi edges ganda dinamakan
graf sederhana. G
1
pada Gambar 2.7 a adalah contoh graf sederhana yang merepresentasikan jaringan komputer. Pada graf sederhana, sisi adalah pasangan
tak-terurut unordered pairs. Jadi, menuliskan u,v sama saja dengan v,u. Kita dapat juga mendefenisikan graf sederhana G = V,E terdiri dari himpunan tidak
kosong simpul-simpul dan E adalah himpunan pasang tak-terurut yang berbeda yang disebut sisi.
2. Graf tak-sederhana unsimple-graph.
Graf yang megandung sisi edges ganda atau gelang loop dinamakan graf tak- sederhana unsimple graph. Ada dua macam graf tak-sederhana, yaitu:
a. Graf Ganda multigraph, adalah graf yang mengandung sisi ganda. Sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah. G
2
pada Gambar 2.7 b adalah contoh graf ganda. b. Graf Semu pseudograph, adalah graf yang mengandung gelang loop.
Graf semu lebih umum dari pada graf ganda, karena sisi edges pada graf semu dapat terhubung ke dirinya sendiri. G
3
pada Gambar 2.7 c adalah contoh graf semu.
Gambar 2.7. tiga buah graf a Graf sederhana, b Graf ganda, c Graf semu Sumber: Munir, 2005
Universitas Sumatera Utara
Sisi pada graf dapat mempunyai orientasi arah Munir. 2012. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis yaitu:
1. Graf tak-berarah undirected graph Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah.
Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, u, v = v, u adalah sisi yang sama. Tiga buah graf
pada gambar 2.7 adalah graf tak-berarah. Pada jaringan telepon, sisi pada graf berarah menyatakan bahwa sakyrab telepon dapat beroperasi pada dua arah.
2. Graf berarah directed graph atau digraph Graf yang sisinya diberikan orientasi arah disebut sebagai graf berarah atau
sisi berarah sering disebut dengan busur arc. Pada graf berarah, u, v dan v, u menyatakan dua buah busur yang berbeda, dengan kata lain u, v
≠ v, u. Untuk busur u, v, simpul u dinamakan simpul asal initial vertex dan simpul
v dinamakan simpul terminal terminal vertex. Pada gambar 2.8 adalah contoh gambar graf berarah.
Gambar 2.8. a Graf berarah, b Graf ganda berarah Sumber: Munir, 2005
2.8.2 Representasi Graf Bila graf akan diproses dengan program komputer, maka graf harus direpresentasikan
di dalam memori. Ada beberapa representasi untuk graf yaitu matriks ketetanggaan, matriks bersisian, dan senarai ketetanggaan Munir. 2012.
Universitas Sumatera Utara
2.8.2.1 Matriks Ketetanggaan adjacency matrix Matriks ketetanggaan adalah representasi graf yang paling umum. Misalkan
G=V,E adalah graf dengan n simpul, n ≥ 1. Matriks ketetanggaan G adalah matriks
dwimatra yang berukuran n x n. Bila matriks tersebut dinamakan A = , maka
jika simpul i dan j bertetangga, sebaliknya = 0 juka simpul i dan j tidak
bertetangga. Karena matriks ketetanggaan hanya berisi 0 dan 1, maka matriks tersebut
dinamakan juga matriks nol-satu zero-one. Selain dengan angka 0 dan 1, elemen matriks dapat juga dinyatakan dengan nilai false menyatakan 0 dan true
menyatakan 1. Disini, terdapat n cara pengaturan nomor simpul, yang berarti ada n matriks ketetanggaan berbeda untuk graf n simpul. Pada gambar 2.9 memperlihatkan
graf sederhana dengan matriks ketetanggaan.
Gambar 2.9. Graf kiri dengan matriks ketetanggaan kanan Sumber: Munir, 2012
2.8.2.2 Matriks Berisisan Bila matriks ketetanggaan menyatakan ketetanggaan simpul-simpul di dalam
graf, maka matriks bersisian menyatakan kebersisian simpul dengan sisi. Misalkan G=V,E adalah graf dengan n simpul dan m buah sisi. Matriks bersisian G adalah
matriks dwimarta yang berukuran n x m. Barisan menunjukkan label simpul, sedangkan
= 1 jika simpul i bersisian dengan sisi j, sebaliknya = 0 jika simpul i
tidak bersisian dengan sisi j. Matriks bersisian dapat digunakan untuk merepresentasikan graf yang
mengandung sisi ganda atau sisi gelang.
Universitas Sumatera Utara
Derajat setiap simpul i dapat dihitung dengan menghitung jumlah seluruh elemen pada baris i kecuali pada graf yang mengandung gelang.
Jumlah elemen matriks bersisian adalah nm. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan seluruhnya adalah pnm.
Pada gambar 2.10 memperlihatkan matriks bersisian untuk graf yang direpresentasikan. Dengan jumlah elemen matriks adalah 4 x 6 =24.
Gambar 2.10. Graf kiri dan matriks bersisian kanan Sumber: Munir, 2012
2.9 Lintasan Terpendek Shortest Path