Socket Windows Socket WinSock

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