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