Umum Koneksi TCP LANDASAN TEORI

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