Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
BAB II LANDASAN TEORI
2.1 Umum
Informasi bagaikan darah dalam perusahaan yang harus dapat dikelola proses distribusinya ke seluruh lini manajerial. Jika aliran informasi ini terhambat, maka
perusahaan akan menjadi “sakit” dan proses manajerial yang meliputi perencanaan, koordinasi, kepemimpinan dan pengendalian menjadi tidak sehat, sehingga akan
berakibat pada penurunan kinerja dan daya kompetensinya. Oleh karena itu, kehadiran jaringan komputer di dalam perusahaan dewasa ini
sangat tepat untuk menjawab tantangan tersebut. Jaringan komputer dapat berperan mengintegrasikan data sehingga dapat diolah dengan tepat oleh komputer pusat server
maupun mengalirkan informasi secara lengkap dan cepat ke terminal-terminal tujuan, secara kontinu dan teratur.
Kehadiran teknologi jaringan komputer tidak hanya bermanfaat untuk mengalirkan informasi ke seluruh lini perusahaan, tetapi juga menghemat investasi dan
mengoptimalkan penggunaan perangkat keras maupun perangkat lunaknya karena
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
jaringan komputer menyediakan fasilitas untuk berbagi pakai semua peralatan yang terhubung dalam lingkungan jaringan tersebut.
2.2 LAN Local Area Network
LAN Local Area Network merupakan arsitektur jaringan yang hanya terdiri dari beberapa komputer. Arsitektur ini merupakan jenis yang paling sederhana dari jenis
arsitektur lainnya. Pada arsitektur jenis LAN komputer yang terhubung sangat sedikit. Ada yang menyebutkan bahwa jenis ini rata-rata hanya memiliki 24 workstation dalam
satu jaringan LAN. Pada kenyataannya, apabila ada dua komputer yang terhubung satu sama lain, kedua komputer itu dapat dikatakan telah terhubung dengan sistem jaringan
lokal atau LAN.
2.2.1 Topologi Jaringan LAN
Topologi jaringan LAN yang sering dipakai adalah topologi bus, topologi star, topologi ring dan topologi tree.
2.2.1.1 Topologi Bus
Dengan topologi ini, komputer dihubungkan secara berantai satu dengan yang lain dengan perantaraan suatu kabel yang umumnya berupa kabel jenis koaksial seperti
tampak pada Gambar 2.1. Pada topologi ini ujung-ujung kabel harus ditutup dengan tahanan termination resistor 50 ohm untuk menghindari pantulan yang dapat
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
menimbulkan gangguan yang menyebabkan kemacetan jaringan sedangkan untuk hubungan komputer ke jaringan dengan menggunakan konektor BNC.
Gambar 2.1 Topologi Bus
2.2.1.2 Topologi Star
Dengan topologi star bintang ini, semua komputer dihubungkan ke suatu hub seperti pada Gambar 2.2. Hub berfungsi untuk menerima sinyal-sinyal dari suatu
komputer dan meneruskan ke semua komputer lain yang berhubungan dengan hub. Jenis kabel yang sering digunakan untuk topologi star ini adalah kabel UTP kategori-5.
Gambar 2.2 Topologi Star
2.2.1.3 Topologi Ring
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Topologi ini memanfaatkan kurva tertutup, artinya informasi dan data serta traffic disalurkan sedemikian rupa sehingga menuju masing-masing node. Umumnya fasilitas ini
memanfaatkan fiber optik sebagai sarananya walaupun ada juga yang menggunakan twisted pair.
Gambar 2.3 Topologi Ring
2.2.1.4 Topologi Tree
Topologi tree ini merupakan gabungan topologi star dan topologi bus. Komputer- komputer dihubungkan ke hub, sedangkan hub satu dengan hub lain dihubungkan sebagai
jalur tulang punggung backbone yang menyerupai topologi bus seperti tampak pada Gambar 2.4.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 2.4 Topologi Tree
2.2.2 Protokol Jaringan
Supaya komputer-komputer yang berada dalam jaringan dapat berkomunikasi dengan baik satu dengan yang lain, diperlukan peraturan-peraturan yang disebut protokol.
Enam jenis protokol jaringan yang sering dipakai untuk LAN adalah protokol Ethernet, Token Ring, Fiber Distributed Data Interface FDDI, dan Asynchronous Transfer Mode
ATM.
2.2.2.1 Ethernet
Protokol Ethernet menjadi protokol LAN yang paling populer dan banyak dipakai karena cara penggunaannya mudah, namun memiliki kemampuan tinggi.
Pada mulanya protokol Ethernet hanya dapat dipakai dengan kecepatan 10 Mbps. Kemudian dikeluarkan jenis protokol Ethernet baru yang disebut Fast Ethernet yang
sanggup bekerja dengan kecepatan 100 Mbps dan protokol Gigabit Ethernet dengan kecepatan 1000 Mbps atau 1 Gbps.
2.2.2.2 Token Ring
Token Ring yang diciptakan oleh perusahaan IBM ini menggunakan topologi ring lingkaran, dimana komputer-komputer diletakkan di sekeliling lingkaran tersebut.
Token ring mampu mendukung dua laju data yaitu 4 Mbps dan 16 MBps.
2.2.2.3 FDDI
FDDI menggunakan metode yang disebut Timed-Token Protocol, dimana setiap stasiun digaransi untuk dapat akses ke jaringan pada periode tertentu yang diatur pada
saat jaringan mulai berfungsi. FDDI memililki dua lingkaran yang dinamakan primary dan secondary ring yang mengirim data dengan arah berlawanan. Walaupun data dapat
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
dikirim pada kedua lingkaran, tetapi hanya lingkaran primary yang dipakai untuk mengirimkan data. Lingkaran secondary baru dipakai jika lingkaran primary mengalami
kesulitan atau putus. 2.2.2.4 ATM
ATM adalah protokol yang memiliki kecepatan yang sangat tinggi 155 Mbps sampai 2,4 Gbps dan memiliki bandwidth yang sangat besar. ATM dengan kecepatan
155 Mbps dapat menggunakan kabel UTP kategori-5, sedangkan untuk kecepatan 622 Mbps ke atas harus menggunakan media serat optik [8].
2.3 Client Server
Hubungan secara peer to peer kemungkinan sudah tidak efektif lagi, karena sekarang diperlukan satu sistem management administrator yang mengatur semua
komputer di jaringan. Di samping itu mungkin diperlukan satu sumber daya resource untuk menyimpan file yang dapat dipakai secara bersama di suatu komputer yang disebut
server. Karena digunakan sebagai sumber daya untuk semua komputer lainnya, komputer yang dijadikan server ini umumnya lebih canggih, memiliki CPU dengan kecepatan
tinggi atau bahkan CPU ganda, memiliki memori yang besar, serta memiliki harddisk dengan kapasitas sangat besar untuk melayani kebutuhan semua pemakai.
Hubungan ini disebut client-server, dimana semua informasi dan hak akses setiap pemakai user diatur oleh server tersebut. Sedangkan sistem operasi yang harus
digunakan untuk komputer tersebut adalah jenis server seperti Windows NT4 server atau Windows 2000 server.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 2.5 Arsitektur Client Server Pada waktu pemakai log on dari komputer client, maka server di jaringan akan
memeriksa autentikasi pemakai. Jika nama pemakai user account dan password yang dipakai benar, pemakai diberi hak berhubungan dengan jaringan dan memakai sumber
daya sesuai dengan izin permission yang diberikan. Pada sistem operasi Windows NT 4 atau 2000 server, administrasi jaringan diatur
melalui satu wadah yang disebut domain, yang mengatur semua komputer yang berada dalam domain tersebut.
2.3.1 Komponen Dasar Client Server Pada dasarnya, client-server dibentuk oleh tiga komponen dasar, yaitu client,
middleware dan server. Secara sederhana, hubungan antara ketiga komponen tersebut dapat dilihat pada Gambar 2.6.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 2.6 Komponen Dasar Client Server Sumber: Budi, 2006, hal. 198
a. Client Client merupakan terminal yang digunakan oleh pengguna untuk meminta
layanan tertentu yang dibutuhkan. Terminal client dapat berupa PC, robot, televisi, dan peralatan lain yang membutuhkan informasi.
Disini peran client adalah menggunakan pesan berupa permintaan layanan ke server, misalnya Automatic Teller Machine ATM yang meminta informasi saldo dari
nasabah tertentu. Melalui terminal client ini, pengguna dapat memasukkan data dan mengakses forum untuk transaksi. Terminal client ini juga digunakan untuk menerima
hasil pemrosesan yang diminta dari server. b. Middleware
Middleware merupakan komponen perantara yang memungkinkan client dan server untuk saling terhubung dan berkomunikasi satu sama lain.
Middleware dapat berupa Transaction Processing Monitor TP, Remote Procedure Calling RPC, atau Object Request Broker ORB. Middleware memiliki
peran yang strategis karena dengan adanya middleware maka client dapat mengirimkan pesan atau permintaan kepada server, menerjemahkan pesan dari client agar dapat
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
dimengerti oleh server, menerjemahkan hasil proses dari server agar dapat dipahami oleh client dan mengirimkan hasil proses yang telah diterjemahkan kembali ke client.
c. Server Server merupakan pihak yang menyediakan layanan. Server ini dapat berupa
basis data SQL, Monitor TP, server groupware, server objek, atau Web. Secara umum, server berperan menerima pesan permintaan layanan dari client,
memproses permintaan tersebut dan mengirimkan hasil permintaan kepada client.
2.3.2 Ciri-Ciri Client Server
Client Server memiliki ciri-ciri mendasar yang membedakannya dengan perangkat lunak terdistribusi lain. Ciri-ciri tersebut adalah:
a. Berbasis layanan Server memberikan sejumlah layanan yang dibutuhkan dan diminta oleh client,
antara lain: berbagi pakai berkas, data, peralatan pendukung dan lain-lain. b. Sumber daya yang digunakan bersama
Server mengelola sejumlah sumber daya yang dimilikinya agar dapat diakses dan digunakan secara bersama-sama oleh terminal-terminal client yang terhubung pada
server. c. Hubungan dan interaksi antara client-server
Hubungan yang terjadi antara server dan client adalah one-to-many, yang berarti bahwa satu server melayani banyak client. Client selalu memulai interaksi dengan
meminta layanan, sedangkan server menanti permintaan layanan secara pasif.
d. Client tidak perlu mengetahui lokasi fisik server
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Server dapat terletak di berbagai tempat yang belum tentu diketahui oleh client. Walaupun demikian, client tetap dapat mengakses server untuk mendapatkan layanan
sesuai kebutuhannya. e. Interoperabilitas perangkat lunak dan perangkat keras
Perangkat keras dan perangkat lunak yang digunakan oleh masing-masing client tidak harus sama dengan yang digunakan pada server, namun masih dapat saling
terkoneksi antara satu dan yang lain. f. Pertukaran berbasis pesan
Mekanisme dari client-server berdasar pada pertukaran pesan. Pesan yang dipertukarkan ialah permintaan layanan dan umpan balik dari permintaan layanan.
g. Enkapsulasi layanan Client tidak perlu mengetahui proses pengolahan permintaan yang terjadi dalam
server sehingga client tidak dapat mengontrol proses pengolahan permintaan. h. Skalabilitas
Ukuran sistem client-server dapat diubah secara horizontal maupun vertikal. Pengubahan vertikal berarti berpindah ke server yang lebih besar atau lebih cepat
mendistribusikan tugas melayani client ke beberapa server. Pengubahan horizontal berarti menambah atau mengurangi jumlah client.
i. Konsistensi data Data hanya dikelola pada server pusat sehingga konsistensi dan data lebih
terjamin dan biaya pemeliharaan pun menjadi lebih murah.
2.4 Referensi Model Jaringan
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Untuk memahami cara kerja suatu jaringan komputer, harus memahami konsep referensi model jaringan komputer. Referensi model jaringan komputer ini
mempermudah cara mempelajari, memprogram, maupun mendesain suatu jaringan komputer.
Oleh sebab itu supaya suatu jaringan komputer dapat berfungsi dengan baik, diperlukan suatu definisi yang jelas untuk proses-proses yang terjadi pada setiap lapisan
jaringan komputer tersebut. Defenisi ini diatur oleh referensi model jaringan.
2.4.1 Referensi Model OSI
Adalah sebuah badan multinasional yang didirikan tahun 1947 yang bernama International Standard Organization ISO sebagai badan yang melahirkan standar-
standar internasional. ISO ini mengeluarkan juga standar jaringan komunikasi yang mencakup segala aspek yaitu model OSI. OSI adalah open system yang merupakan
himpunan protokol yang memungkinkan terhubungnya dua sistem yang berbeda yang berasal dari underlying architecture yang berbeda pula. Jadi tujuan OSI ini adalah untuk
memfasilitasi bagaimana suatu komunikasi dapat terjalin dari sistem yang berbeda tanpa memerlukan perubahan yang signifikan pada hardware dan software di tingkat
underlying. Pada Gambar 2.7 diperlihatkan lapisan model OSI.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 2.7 Model OSI Sumber: Heywood, 1997, hal. 29
Referensi model OSI membagi jaringan komputer menjadi tujuh lapisan, antara lain: 1. Physical Layer
Pada lapisan ini terjadi proses pengiriman data dalam bentuk binary. Pada lapisan ini semua spesifikasi yang berkaitan dengan cara menghubungkan kabel jaringan
ditentukan dan diterapkan. 2. Data Link Layer
Pada lapisan ini semua peralatan yang berhubungan dengan jaringan diberi tanda pengenal atau alamat hardware yang diatur oleh lapisan bawah sublayer yang
dinamakan Media Access Control MAC. Pada lapisan ini data dikirimkan dalam bentuk frame yang telah memuat informasi mengenai alamat yang dituju dan alamat asal data.
3. Network Layer
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Pada lapisan ini diperkenalkan konsep alamat logika yaitu alamat yang diberikan pada peralatan jaringan yang dapat diatur oleh administrator jaringan. Alamat logika
yang sering dipakai adalah IP address. Pada lapisan ini data dikirimkan dalam bentuk paket yang memuat informasi mengenai alamat logika yang dituju dan alamat asal data.
4. Transport Layer Lapisan ini membuat dan menjaga hubungan komunikasi antara dua peralatan
komputer, serta memberikan garansi bahwa data yang dikirim akan sampai ke tujuan dengan baik.
5. Session Layer Lapisan ini berfungsi mengkoordinasikan agar berbagai sistem dapat saling
berkomunikasi dengan baik. 6. Presentation Layer
Pada lapisan ini berbagai ragam data baik dalam bentuk teks maupun gambar diproses atau diubah ke format-format lain yang dibutuhkan lapisan bawah. Pada lapisan
ini juga proses kompresi data dan enkripsi data terjadi. 7. Application Layer
Lapisan ini menyediakan layanan yang mendukung langsung aplikasi-apilkasi pemakai seperti e-mail, file transfer, dan akses ke database. Pada aplikasi client-server,
aplikasi client bekerja pada lapisan ini untuk berkomunikasi dengan lapisan bawah.
2.4.2 Model TCPIP
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Pada model TCPIP hanya dikenal empat lapisan, yaitu Network Access, Internet, Transport dan Application. Empat lapisan dalam TCPIP tersebut merupakan
pengembangan dari lapisan-lapisan OSI. Ilustrasi lapisan model TCPIP ditunjukkan pada Gambar 2.8.
Gambar 2.8 Model TCPIP Sumber: Samuel, 2006, hal. 142
Pada model TCPIP, lapisan Presentation dan Session dijadikan satu dengan lapisan Application, lapisan Datalink dan Physical juga menjadi satu lapisan pada TCPIP.
a. Application Layer Lapisan Application merupakan lapisan paling atas pada TCPIP, lapisan ini
menangani segala sesuatu yang berhubungan dengan level aplikasi. Pada TCPIP, semua yang berhubungan langsung dengan aplikasi digabungkan menjadi satu lapisan. Protokol
yang berjalan pada lapisan ini adalah FTP, SMTP, Telnet, Domain Name Server DNS.
b. Transport Layer
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Lapisan Transport berfungsi untuk memecah data dari lapisan Application menjadi segmen-segmen. Lapisan Transport juga bertugas untuk membangun hubungan
dari satu titik ke titik lainnya. Lapisan ini juga yang bertanggung jawab terhadap realibilitas data. Protokol yang berjalan pada lapisan ini adalah TCP dan UDP.
c. Internet Layer Lapisan Internet memiliki protokol yang paling penting yaitu IP. Fungsi protokol
ini adalah mengirimkan paket atau datagram sekelompok data dari satu lokasi ke lokasi lainnya. Protokol lainnya yang berada pada lapisan ini adalah Internet Control Message
Protocol ICMP, Address Resolution Protocol ARP, Reverse Address Resolution Protocol RARP.
Lapisan Internet bertanggung jawab untuk memindahkan data dari satu lokasi ke lokasi lainnya dengan titik berat pada pengalamatan secara logika.
d. Network Access Layer Lapisan Network Access merupakan lapisan paling bawah yang ada pada TCPIP.
Implementasi lapisan ini berada pada perangkat keras kartu jaringan dan perangkat lunak driver kartu tersebut. Standar yang berlaku lapisan ini adalah standar IEEE 802, misalnya
IEEE 802.3 untuk jaringan Ethernet atau IEEE 802.5 untuk jaringan Token Ring. Protokol lain yang digunakan pada lapisan ini adalah Serial Line IP SLIP atau Point-to-
Point Protocol PPP yang digunakan untuk jaringan dial-up. Lapisan Network Access juga bertanggung jawab untuk memindahkan data dari
satu lokasi ke lokasi lainnya. Perbedaannya adalah bahwa lapisan Network Access lebih menangani masalah fisik, yaitu masalah perangkat keras yang digunakan.
2.4.2.1 Pembagian Kelas Nomor IP
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
IP address memiliki 32 bit angka yang merupakan logical address. IP address bersifat unique, artinya tidak ada device, station atau host yang memiliki IP address yang
sama. Setiap alamat IP terdiri dari dua bagian, yaitu net ID dan host ID. Net ID adalah bagian alamat jaringan bit-bit paling kiri dan host ID adalah bit-bit selain net ID paling
kanan. Secara keseluruhan penentuan kelas dapat dilihat pada Gambar 2.9.
0 . 0 . 0 . 0
Net ID Host ID
127 . 255 . 255 . 255
Net ID Host ID
Kelas A Hingga
128 . 0 . 0 . 0
Net ID Host ID
191 . 255 . 255 . 255
Net ID Host ID
Kelas B Hingga
192 . 0 . 0 . 0
Net ID Host ID
223 . 255 . 255 . 255
Net ID Host ID
Kelas C Hingga
Gambar 2.9 Pembagian Kelas Nomor IP
2.4.2.2 Penggunaan Subnet Mask
Subnet Mask di dalam jaringan komputer akan digunakan untuk membaca dan memastikan bahwa komputer yang terhubung berada dalam group yang sama. Hal
tersebut berkenaan dengan pengiriman dan pengaksesan data pada jaringan lokal. Setiap pemasangan workstation, selain harus menggunakan IP kepada komputer juga harus
diberikan nomor subnet mask. Penggunaan subnet mask dibedakan menurut kelas yang digunakan. Tabel 2.1 berikut ini adalah subnet mask yang digunakan setiap kelas.
Tabel 2.1 Penggunaan Subnet Mask pada Setiap Kelas Sumber: Bunafit, 2005, hal. 29
Kelas Subnet Mask
A 255 . 0 . 0 . 0
B 255 . 255 . 0 . 0
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
C 255 . 255 . 255 . 0
2.4.2.3 Nomor Port
Port merupakan pintu masuk datagram dan paket data. Dalam protokol TCPIP nomor port adalah berupa bilangan integer dari 0 sampai 65.535. Protokol TCPIP telah
memutuskan untuk menetapkan penggunaan nomor port yang digunakan untuk server yang spesifik, nomor port tersebut adalah well-known port numbers. Internet Asigned
Number Authority IANA membagi nomor port dalam 3 kelompok yakni: Well-known ports
: nomor port ini bermula dari 0 sampai 1.023. Registered ports
: nomor ini bermula dari 1.024 sampai 49.151. Dynamic ports
: nomor port dimulai dari 49.152 sampai 65.535. Port 0 sampai dengan 1024 disediakan untuk layanan standar seperti FTP, TELNET,
Mail, Web dan lainnya. Adapun alamat port yang berkaitan dengan proses yang dilakukan oleh TCP dapat dilihat pada Tabel 2.2.
Tabel 2.2 Well-Known Port yang Digunakan oleh TCP Sumber: Drew, 1997, hal. 187
No Port Keterangan
21 FTP
23 TELNET
25 SMTP
80 HTTPWeb
110 POP3
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
2.5 Pemrograman Internet
Pemrograman Internet adalah proses mengimplementasikan algoritma dengan menggunakan bahasa pemrograman sehingga sebuah komputer dapat saling
berkomunikasi dalam suatu jaringan melalui protokol antar muka basis data. Salah satu pemrograman yang penting dalam lingkup client-server adalah
pemrograman socket. Dengan mempelajari teknik pemrograman socket, dapat diketahui bagaimana cara sebuah komputer dapat mengirim pesan berupa teks, citra video, musik
atau lainnya melalui Internet.
2.5.1 Socket
Socket adalah salah satu titik akhir dari jalur komunikasi dua arah antara dua program yang berjalan pada jaringan dengan protokol TCP atau UDP. Socket terhubung
pada sebuah nomor port sehingga lapisan TCP dapat mengidentifikasi aplikasi di mana pengiriman data ditujukan. Socket merupakan sebuah aplikasi yang dibuat, dikontrol
antarmuka sistem operasi yang mana aplikasi dapat saling mengirim dan menerima pesan dari atau pada aplikasi yang lain.
Untuk tipe socket ada 2 macam yaitu: a. Stream socket adalah komunikasi continous stream dari karakter menggunakan
protokol TCP. b. Datagram socket adalah pembacaan seluruh pesan dengan segera menggunakan
protokol UDP. Pada umumnya, sebuah server merupakan sebuah komputer yang khusus dan
memiliki sebuah socket yang terhubung pada sebuah nomor port yang khusus. Server hanya menunggu socket untuk menerima permintaan koneksi request dari sebuah client
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
passive open. Client mengetahui nama mesin tempat server dijalankan dan nomor port tempat sever tersebut dihubungkan. Untuk membuat koneksi permintaan, client mencoba
untuk melakukan koneksi dengan server pada mesin server dan port active open.
Gambar 2.10 Client Meminta Koneksi
Apabila semuanya berjalan dengan baik, maka server menerima koneksi. Saat penerimaan, server membuka socket baru yang terhubung pada port yang berbeda. Untuk
dapat melanjutkan penerimaan dari socket awal untuk koneksi permintaan saat melayani kebutuhan client yang terhubung, dibutuhkan sebuah socket baru dengan nomor port
yang berbeda.
Gambar 2.11 Respon Server
Pada sisi client, jika koneksi diterima, sebuah socket berhasil dibentuk dan client dapat menggunakan socket tersebut untuk berkomunikasi dengan server. Client dan
server sekarang dapat berkomunikasi untuk menulis atau membaca dari socket tersebut.
2.5.2 Windows Socket WinSock
Sistem operasi Windows memiliki Application Programming Interface API untuk berkomunikasi melalui TCPIP yang terkenal dengan nama WinSock API.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Pemrograman API sendiri sudah sangat sulit karena pemrograman API sudah berurusan dengan aras rendah. Aras rendah tidak diizinkan secara langsung untuk diakses. Akan
tetapi, Windows telah menyediakan API, yaitu berupa sekumpulan fungsi untuk mengakses aras rendah. Untuk membantu para programer dalam hal pembuatan software
yang dapat berkomunikasi dengan komputer lain maka disediakanlah sebuah komponen ActiveX control yang bernama WinSock Control.
WinSock secara khusus didefinisikan dengan bagaimana sebuah software jaringan Windows harus mengakses layanan jaringan, terutama TCPIP. WinSock
menyediakan layanan API tunggal dimana pengembang aplikasi dan software jaringan perlu untuk menyesuaikan diri. Untuk beberapa versi dari Windows, WinSock
didefinisikan sebagai binary interface yang menjamin sebuah aplikasi cocok pada WinSock API yang dapat berjalan pada software jaringan dari berbagai pengembang.
Dengan WinSock control maka programer tidak perlu mengetahui detail TCPIP dan pemanggilan fungsi API untuk membuat sebuah aplikasi jaringan karena programer
hanya menggunakan metode, properti atau event yang dimiliki oleh WinSock [11]. Proses
komunikasi client-server menggunakan socket dapat dilihat pada Gambar 2.12
Client
Connection Request
Gambar 2.12 Koneksi Menggunakan Socket
BAB III
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
PROSES TRANSAKSI DATA CLIENT SERVER
3.1 Koneksi TCP
TCP dikatakan berorientasi koneksi connection oriented karena sebelum satu proses aplikasi mulai mengirimkan data kepada yang lain, maka dua proses harus
“berjabat tangan” terlebih dahulu dengan yang lain. Dalam hal ini harus mengirimkan segmen pendahuluan kepada yang lain untuk membangun parameter pengiriman data.
Sekarang akan dilihat bagaimana koneksi TCP dibangun. Proses dijalankan pada satu host yang ingin memulai koneksi dengan proses pada host lainnya. Demikian proses
yang memulai koneksi disebut proses client, sementara proses lain disebut proses server. Proses aplikasi client pertama kali memberitahukan kepada lapisan transport client,
bahwa ia ingin membangun koneksi terhadap proses dalam server. Socket clientSocket = new Socket “hostname”, portNumber;
Dimana hostname adalah nama server dan portNumber mengidentifikasikan proses pada server. Lapisan transport di dalam client kemudian mulai membangun
koneksi TCP dengan TCP dalam server. Client pertama kali mengirimkan segmen TCP khusus, server merespon dengan segmen TCP khusus yang kedua dan akhirnya client
merespon lagi dengan segmen khusus ketiga. Dua segmen pertama tidak ada membawa data lapisan aplikasi, sedangkan segmen ketiga dapat membawa data. Karena tiga segmen
dikirimkan diantara dua host, proses pembangunan koneksi ini disebut tiga arah jabatan tangan three way handshake. Saat koneksi TCP dibangun, dua proses aplikasi dapat
mengirimkan data kepada yang lain. Proses client melewati aliran data melalui socket pintu proses. Saat data melewati pintu, maka data sekarang berada dalam TCP yang
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
bekerja pada client. Pada Gambar 3.1, TCP mengarahkan data ini kepada koneksi buffer pengiriman send buffer. TCP akan mengambil potongan data dari buffer pengiriman.
Jumlah maksimum data yang dapat diambil dan ditempatkan dalam segmen dibatasi oleh ukuran segmen maksimum MSS. MSS diset oleh penentuan pertama panjang frame
lapisan link yang dikirimkan oleh host pengiriman lokal maximum transmission unit, MTU dan kemudian menetapkan MSS guna memastikan bahwa segmen TCP ini akan
sesuai ke dalam frame lapisan link. Nilai untuk MTU adalah 1.460 byte, 536 byte dan 512 byte.
Gambar 3.1 TCP Mengirim dan Menerima Buffer Sebagai catatan bahwa MSS adalah jumlah maksimum data lapisan aplikasi dalam
segmen, bukan ukuran maksimum dari segmen TCP termasuk header. Dari pembahasan ini koneksi TCP terdiri dari buffer, variabel dan koneksi socket
pada proses di dalam host. Sebagaimana disebutkan sebelumnya, tidak ada buffer atau variabel yang ditempatkan pada koneksi dalam elemen jaringan diantara host.
3.2 Struktur Segmen TCP