Sabtu, 15 Februari 2014

SOCKET PROGRAMMING

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya  pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin [1]. Socket merupakan sebuah Class yang disediakan oleh beberapa bahasa pemrograman yang digunakan oleh aplikasi untuk saling berhubungan. Berikut ini menunjukkan bagaimana suatu aplikasi berhubungan dengan aplikasi lainnya.




Socket pertama kali diperkenalkan di sistem UnixBSD versi 4.2, pada tahun 1983, sebagai kelanjutan dari implementasi protocol TCP/IP yang muncul pertama kali pada sistem Unix BSD versi 4.1 pada akhir tahun 1981. Hampir setiap varian unix atau linux mengadopsi BSD Socket [2]
Paradigma pada aplikasi jaringan berlaku model client-server. Aplikasi yang menginisialisasi koneksi, disebut aplikasi client. Sedangkan aplikasi yang menerima inisialisasi disebut sebagai aplikasi server. Oleh karena itu, jika kita membangun suatu aplikasi jaringan yang lengkap, maka kita harus membuat aplikasi client maupun aplikasi server.
Ada dua jenis socket yang bisa digunakan untuk membangun aplikasi, yakni TCP Socket dan UDP Socket. Perbedaan utamanya adalah, model TCP menggunakan konsep connection oriented dan reliable data transfer, sedangkan model UDP menggunakan konsep connectionless oriented dan unreliable data transfer. Sebuah aplikasi dapat menggunakan salah satu dari jenis socket tersebut disesuaikan dengan peruntukan aplikasi tersebut. Aplikasi berbasis TCP biasanya adalah aplikasi yang membutuhkan ketepatan data hingga 100% tapi tidak memperdulikan lama pengiriman, sedangkan aplikasi berbasis UDP biasanya adalah aplikasi yang tidak terlalu mempedulikan ketepatan data tapi sangat peduli dengan delay pengiriman. Contoh aplikasi TCP adalah web browser, sedangkan contoh UDP adalah Video Converence.
Untuk membangun aplikasi hal pertama yang perlu dilakukan adalah menganalisa jenis aplikasi, kebutuhan bandwidth, kebutuhan ketersampaian data, dan sensitifitas terhadap delay. Berdasarkan hal ini kita bisa menentukan protokol apa yang akan kita gunakan, TCP atau UDP [3].
Dalam network programming dibutuhkan socket yang bertindak sebagai interface pemrograman pada transport layer jaringan. Socket programming dapat dibuat dalam berbagai bahasa seperti java, c, atau phyton. Socket programming juga dapat dikatakan sebagai bentuk file dan manipulasi  I/O yang digunakan untuk membaca dan melewatkannya ke mesin lain dalam suatu jaringan. Setiap socket programming terdiri dari client dan server. Dengan port number dan IP address. Sebuah server dibatasi oleh port khusus pada mesin khusus dan menunggu koneksi dari client. Sedangkan client kemudian menyambungkan koneksi ke server dengan IP address dan nomor port tertentu [4]. 

Referensi :
[4]Sayed Mohamed Buhari. 2011. Prin of Programming Languages: A paradigm approach. New Delhi: Tata Graw-Hill

Tidak ada komentar:

Posting Komentar