14
Gbr.2.3. Proses Pertukaran dan Update Tabel Routing
Gbr.2.4. Contoh Domain yang Menggunakan RIP Namun terdapat kelemahan algoritma Bellma-Ford jika diterapkan
dalam routing dinamis, yaitu akan terjadi ketidakstabilan data.
15
Gbr.2.5. Ketidakstabilan data pada algoritma Bellma-Ford Contoh diatas merupakan bentuk ketidakstabilan data yang
terjadi pada tiga buah node. Keadaan ketika tiga buah node terhubung sempurna, A memiliki informasi bahwa jika menuju ke X mempunyai
bobot tanpa melewati manapun. Dan B memiliki informasi bahwa menuju ke X mempunyai bobot 6 melewati A. Kemudian X
memberikan informasi ke A bahwa jalur terputus, maka A mengupdate datanya menjadi menuju X mempunyai bobot tak berhingga. B
mengirimkan data ke A, A mengupdate kembali datanya sesuai dengan algoritma menjadi menuju X mempunyai bobot 10 melalui B, begitu
sebaliknya, sehingga nilai sampai tak berhingga. Hal ini yang disebut ketidak stabilan data.
Maka untuk mengatasi hal tersebut terjadi pada aplikasi dilakukan modifikasi algoritma menggunakan metode split horizon
yang di gabung dengan metode route poisoning. Split Horizon
adalah metode yang diterapkan untuk menghindari routing loops. Ketika mendapatkan informasi bahwa ada
jalur terputus maka akan segera menginformasikan pada router tetangga yang lain, tanpa mengembalikan informasi tersebut pada
router yang terputus. Sebagai contoh, router B menerima update
16
informasi mengenai router A, maka router B akan segera mengirimkan informasi tersebut ke router C, tetapi router B tidak
mengirmkan informasi ke router A. Dapat terjadi kemungkinan, router C mengirimkan
informasinya terlebih dahulu ke pada router B, seperti dijelaskan pada skenario diatas. Untuk mencegah terjadinya looping nilai maka
diterapkan metode Route Poisoning yaitu memberikan nilai tertinggi pada jalur yang terputus. Dan dianggap sebagai nilai mutlak.
Forouzan 2007.
2.3. CLIENT SERVER
Client Server
Menurut Dharma Oetomo, 2006, Client Server merupakan model konektivitas pada jaringan yang membedakan pada fungsi komputer apakah
sebagai client atau sebagai server. Client server ini menempatkan sebuah komputer sebagai server yang bertugas memberikan layanan pada terminal-
terminal lain client yang terhubung dalam sistem jaringan itu. Pada dasarnya, Client server dibentuk oleh tiga komponen dasar, yaitu
client, connector , dan server.
1. Client
Client merupakan terminal yang digunakan oleh operator untuk
meminta layanan tertentu yang dibutuhkan. Terminal client dapat berupa PC, ponsel, komunikator, robot, televisi, dan peralatan lain
yang membutuhkan informasi. Peran client adalah mengirimkan pesan berupa permintaan layanan ke server.
17
2. Connector
Connector merupakan komponen perantara yang
memungkinkan client dan server untuk saling terhubung dan berkomunikasi satu sama lain. Connector ini sapat berupa Transaction
Monitor TC, Remote Procedure Calling RPC, atau Object Request
Broker ORB.
3. Server
. Server
merupakan pihak yang menyediakan layanan. Server ini dapat berupa basis data SQL, server groupware, server obyek atau
web . Secara umum, server berperan menerima pesan permintaan
layananan dari client, memproses permintaan tersebut dan mengirimkan hasil permintaan kepada client. Dharma Oetomo 2006
2.4. PEMROGRAMAN JAVA
2.4.1. PENDAHULUAN
Java adalah bahasa pemrograman serbaguna. Dalam sejumlah literature disebutkan bahwa java merupakan hasil perpaduan sifat dari
sejumlah bahasa pemrograman, yaitu C, C++, Objek-C, SmallTalk dan Common LISP Abdul Kadir 2005.
Java merupakan bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek merupakan pengembangan perangkat lunak
yang saat ini popular. Dalam java sudah terdapat kelas-kelas yang mendukung pengembangan program aplikasi penggunakanya, hanya tinggal memanggil
kelas yang kita butuhkan dengan konsep pewarisan. Dalam java dibedakan dua jenis program, yaitu applet dan aplikasi. Applet adalah program yang
dibuat untuk web server. Sementara aplikasi adalah program yang dibuat dengan Java yang bersifat umum. Untuk menyelesaikan penelitian ini dipilih
18
jenis program yang kedua, sebab dalam penyelesaiannya tidak dibutuhkan web server atau web browser.
Dalam penyelesaian peneliatian ini, akan dibagi kelas-kelas objek seperti konsep penyelesaian bahasa pemrograman Java.
2.4.2. PEMROGRAMAN JARINGAN DENGAN JAVA JAVA
NETWORK PROGRAMMING
Pemrograman Jaringan menciptakan dimensi baru untuk aplikasi perangkat lunak. Alih-alih berurusan dengan single user atau sumber daya dari
mesin tunggal seperti file dan koneksi database, pemrograman perangkat lunak jaringan memberikan kemampuan untuk berkomunikasi dengan mesin
tersebar di seluruh dunia. Hal ini memberikan akses perangkat lunak untuk berpotensi dengan jutaan sumberdaya eksternal serta jutaan pengguna.
Aplikasi konekstivitas tersebut hanya dibatasi oelh imajinasi dan bandwidth dari koneksi jaringan.
2.4.3. TCP TRANSMISSION CONTROL PROTOCOL
2.4.3.1. TCP DAN PARADIGMA CLIENTSERVER
Paradigma Klien server membagi software manjadi dua kategori, klien dan server. Seorang klien perangkat lunak memulai
koneksi dan mengirimkan permintaan, sedangkan server adalah perangkat lunak yang mendengarkan koneksi dan permintaan proses. Dalam konteks
pemrograman UDP, tidak ada koneksi yang sebenarnya didirikan dan apliaksi UDP mungkin baik memulai dan menerima permintaan pada
soket yang sama. Dalam konteks TCP, dimana koneksi yang didirikan antara mesin, paradigm ini jauh lebih relevan. Ketika perangkat lunak
bertindak sebagai klien atau sebagai server, ia memiliki peran kaku. Peran dimana perangkat lunak memulai permintaan atau sedang memproses
19
permintaan. Pada saat waktu tertentu satu program perangkat lunak menjadi klien dan satu program perangkat lunak harus menjadi server.
2.4.3.2. TCP SOCKET DAN JAVA
Java menawarkan dukungan yang baik untuk soket TCP, dalam bentuk dua kelas soket, yaitu java.net.Socket dan java.net.ServerSocket.
Saat menulis perangkat lunak klien yang terhubung ke sebuah layanan, maka harus menggunakan kelas Socket. Saat menulis perangkat lunak
server yang terhubung pada port lokal, maka harus menggunakan kelas ServerSocket.
2.4.3.3. KELAS SOCKET PADA JAVA
Kelas Socket socket mewakili client, dan merupakan saluran komunikasi antara dua TCP port komunikasi milik satu atau dua mesin.
Sebuah socket dapat terhubung ke port pada sistem lokal, menghindari kebutuhan untuk mesin kedua, tetapi perangkat lunak jaringan biasannya
melibatkan dua mesin. Socket TCP tidak dapat berkomunikasi lebih dari dua mesin. Namun jika fungsi ini diperlukan maka aplikasi klien harus
membangun koneksi socket ganda pada setiap mesin.
Konstruktor:
Ada beberapa kontruktor untuk kelas java.net.Socket. Dua konstruktor yang diperbolehkan adalah berparameter Boolean untuk
menentukan apakah socket UDP atau TCP yang akan digunakan telah usang.
try {
Connect to the specified host and port Socket mySocket = new Socket www.awl.com, 80;
......