Anda di halaman 1dari 12

BAB II

LANDASAN TEORI

Dalam komunikasi data dibutuhkan suatu protokol, yaitu kumpulan peraturan


1
yang mengatur proses komunikasi elektronik . Ada banyak protokol yang
berkembang saat ini. TCP/IP (Transmission Control Protocol/Internet Protocol)
merupakan suite protokol yang digunakan untuk mengirim data antar komputer
dalam jaringan tanpa adanya batasan perangkat keras maupun perangkat lunak 2.
Protokol TCP/IP ini dapat dimanfaatkan sebagai sarana pengiriman data informasi
atau kendali melalui jaringan komputer. Hal ini dimungkinkan karena telah tersedia
perangkat lunak programming yang dapat mengakses socket (Winsock). Melalui
pemrograman Winsock inilah data-data informasi dan kendali dapat dikirimkan
kekomputer komputer yang terhubung dalam jaringan, yang menggunakan protokol
TCP/IP.

Microsoft windows merupakan sistem operasi yang mendukung protokol


TCP/IP yang paling banyak digunakan saat ini. Windows mengendalikan socket bagi
protokol TCP/IP melalui spesifikasi Windows Socket Application Program Interface
3
. Winsock menyediakan standar umum bagi para pengembang stack TCP/IP dan para
pengembang aplikasi windows yang dirancang untuk beroperasi melalui protokol
TCP/IP. Hanya saja, Windows for Workgroup 3.11, dan Windows 9x hanya didesain
sebagai workstation atau stand alone, padahal protokol TCP/IP mendukung
arsitektur client/server. Karena itu diperlukan dua macam program, satu program
server dan lainnya program client. Supaya antar sistem operasi windows dapat saling
berkomunikasi secara client/server dengan protokol TCP/IP, maka dilakukan
pemrograman Windows Socket.

1 Thomas, Robert M, Introducing to Local Area Network, SYBEX, 1996


2 Heywood, Drew, Networking with Microsoft TCP/IP, Prentice Hall Inc, 1996
3 Marchuk, Michael, Building Internet Aplication with Visual Basic, QUE Corporation, Indianapolis, 1995
8

Konsep Dasar TCP/IP

Pada dasarnya, komunikasi data merupakan proses pengiriman data dari


satu komputer ke komputer yang lain. Untuk dapat mengirim data, pada komputer
harus ditambahkan alat khusus, yang dikenal sebagai Network Interface Card
(interface jaringan). Jenis interface jaringan ini bermacam-macam, bergantung
pada media fisik yang digunakan untuk mentransfer data tersebut.
Dalam proses pengiriman data ini terdapat beberapa masalah yang harus
dipecahkan. Pertama, data harus dapat dikirimkan kekomputer yang tepat , sesuai
dengan tujannya. Hal ini akan menjadi rumit jika komputer tujuan transfer data ini
tidak berada pada jaringan local, melainkan ditempat jauh. Jika lokasi komputer
saling berkomunikasi “jauh” (secara jaringan) maka terdapat kemungkinan data
rusak atau hilang. Karenanya perlu ada mekanisme yang mecegah rusaknya data
ini.
Hal lain yang perlu diperhatikan adalah, pada komputer tujuan transfer
data mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data.
Data yang dikirim harus sampai ke aplikasi yang tepat, pada komputer yang tepat,
tanpa kesalahan.
Cara alamiah untuk menghadapi setiap masalah yang rumit ialah
memecahkan masalah tersebut menjadi bagian yang lebih kecil. Dalam
memecahkan masalah transfer data diatas, para ahli jaringan komputer pun
melakukan hal yang sama. Untuk setiap problem komunikasi data, diciptakan
solusi khusus berupa aturan-aturan untuk menangani problem tersebut. Untuk
menangani semua masalah komunikasi data, keseluruhan aturan ini harus bekerja
sama satu dengan lainnya. Sekumpulan aturan untuk mengatur proses pengiriman
data ini disebut sebagai Protokol Komunikasi Data. Protokol ini
diimplementasikan dalam bentuk program komputer (software) yang terdapat
pada komputer dan peralatan komunikasi data lainnya.
TCP/IP adalah sekumpulan protokol yang didesain untuk melakukan
9

fungsi-fungsi komunikasi data pada Wide Area Network (WAN). TCP/IP terdiri
atas sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-
bagian tertentu dari komunikasi data. Berkat prinsip ini, tugas masing-masing
protokol menjadi jelas dan sederhana. Protokol yang satu tidak perlu mengetahui
cara kerja protokol yang lain, sepanjang ia masih bisa saling mengirim dan
menerima data. Berkat menggunakan prinsip ini, TCP/IP menjadi protokol
komunikasi data yang fleksibel 4. Protokol TCP/IP dapat diterapkan dengan
mudah pada setiap jenis komputer dan interface jaringan, karena sebagian besar
isi protokol ini tidak spesifik terhadap satu komputer atau peralatan jaringan
tertentu. Agar TCP/IP dapat berjalan diatas interface jaringan tertentu, hanya
perlu dilakukan perubahan pada protokol yang berhubungan dengan interface
jaringan saja.
Protokol-protokol TCP/IP dikembangkan pada awal 1980-an dan menjadi
protokol-protokol standar untuk ARPAnet pada tahun 1983. Protokol ini semakin
berkembang dan populer setelah TCP/IP digabungkan menjadi versi 4.2 dari BSD
(Barkeley Standard Distribution) UNIX. UNIX versi ini digunakan secara luas
pada institusi penelitian dan pendidikan, dan digunakan sebagai dasar dari
beberapa penerapan UNIX komersial, termasuk SunOS dari Sun dan Ultrix dari
Digital Karena BSD UNIX mendirikan hubungan antara TCP/IP dan sistem
operasi UNIX, banyak implementasi UNIX sekarang yang menggabungkan
TCP/IP.

Layer TCP/IP

TCP/IP adalah serangkaian protokol di mana setiap protokol


melakukan sebagian dari keseluruhan tugas komunikasi jaringan.
Pengimplementasi jaringan memilih di antara protokol-protokol ini untuk
mencapai fungsi jaringan yang diinginkan. Arsitektur rangkaian protokol

4 Onno W. Purbo, Adnan Basamalah, Ismail Fahmi, dan Achmad Husni Thamrin, Buku Pintar Internet : TCP/IP, PT. Elex
Media Komputindo, Jakarta 1998
10

TCP/IP mendefinisikan cara berbagai protokol TCP/IP saling menyesuaikan.

Sekumpulan protokol TCP/IP ini dimodelkan dengan empat layer


TCP/IP, sebagaimana terlihat pada gambar dibawah ini:

Aplication Layer
(SMTP, FTP, HTTP, Telnet, DNS
dan lain-lain)

Transport Layer
(TCP, UDP)
TCP/IP
Internet Layer Stack
(IP, ICMP, ARP)

Network Interface Layer


(Ethernet, X25, SLIP, PPP)

Jaringan Fisik

Dalam TCP/IP, terjadi penyaimpaian data dari protokol yang berada


di suatu layer ke protokol yang berada di layer lain. Semua protokol
memperlakukan semua informasi yang diterimanya dari protokol lain sebagai
data. Jika suatu protokol menerima data dari protokol layer atasnya, ia akan
menambahkan informasi miliknya kedata tersebut. Setelah itu, data ini
diteruskan lagi keprotokol pada layer bawahnya. Hal yang sebaliknya terjadi
11

jika protokol tersebut menerima data dari protokol yang berada pada layer
bawahnya. Jika data ini dianggap valid, protokol akan melepas informasi
tambahan tersebut, kemudian meneruskan data itu ke protokol pada layer
atasnya (decapsulation).
Layer terbawah, Network Interface Layer, bertanggung jawab
mengirim da menerima data ke dan dari media fisik. Media fisiknya dapat
berupa kabel, serat optik, dan atau gelombang radio. Karena tugas ini,
protokol pada layer ini harus mampu menerjemahkan sinyal listrik menjadi
data digital yang dimengerti komputer, yang berasal dari peralatan lain yang
sejenis.
Protokol yang berada pada Internet layer bertanggung jawab terhadap
proses pengiriman paket kealamat yang tepat. Lapisan internet menentukan
format paket dan protokol resmi yang disebut IP (Internet Protocol). Tugas
lapisan internet adalah untuk mengirimkan paket-paket IP yang berisi
informasi tujuan paket tersebut. Oleh sebab itu dalam hal ini pengaturan rute
merupakan hal yang sangat penting, misalnya untuk menghindari adanya
kemacetan. Berdasarkan kenyataan tersebut, maka cukup beralasan untuk
mengatakan bahwa lapisan internet TCP/IP sangat mirip fungsionalitasnya
dengan lapisan network pada lapisan OSI.
Pada layer ini ada tiga protokol, yaitu IP, ARP, dan ICMP (Internet Protokol)
berfungsi untuk menyampaikan paket ke alamat yang tepat. ARP (Address
Resulation Protocol ) merupakan protokol yang digunakan untuk mnemukan
alamat hardware dari host/komputer yang terletak pada jaringan yang sama.
Sedangkan ICMP (Internet Control Message Protocol) adalah protokol yang
digunakan untuk mengirim pesan dan melaporkan kegagalan pengiriman
data.
Transport Layer berisi protokol yang bertanggung jawab untuk
mengadakan komunikasi antara dua host/komputer. Kedua protokol tersebut
adalah TCP (Transmission Control Protocol) dan UDP (User Datagram
12

Protocol). Pada lapisan ini telah ditentukan dua buah protokol end-to-end.
Yang pertama TCP (Transmission Control Protocol) merupakan protokol
reliable connection-oriented yang mengijinkan sebuah aliran byte yang
berasal dari suatu mesin untuk dikirimkan tanpa error ke sebuah mesin yang
ada di internet. TCP memecah aliran byte data menjadi pesan-pesan diskret
dan meneruskan ke lapisan internet. Pada mesin tujuan, proses TCP penerima
merakit kembali pesan-pesan yang diterimanya menjadi aliran output. TCP
juga menangani pengendalian aliran untuk memastikan bahwa pengirim yang
cepat tidak akan membanjiri pesan-pesan yang akan diterima oleh penerima
yang lambat.

Pada layer teratas, Application Layer, terletak semua aplikasi yang


menggunakan protokol TCP/IP.

Transmission Control Protocol (TCP)

TCP memberikan komunikasi yang handal antar proses yang


berjalan pada host yang saling berhubungan. Protokol ini berusaha secara
seksama untuk mengirimkan data ketujuan, memeriksa kesalahan,
mengirimkan ulang data bila diperlukan dan mengirimkan pesan
kesalahan ke lapisan atas hanya bila TCP tidak berhasil mengadakan
komunikasi.
Untuk memastikan diterimanya data, TCP menggunakan nomor
urut segmen dengan acknowledgement (jawaban). Tiap oktet pada suatu
segmen memiliki nmor urutan, memungkinkan tiap oktet yang dikirim
untuk menjawab. Header TCP menyebutkan urutan nomor segmen untuk
oktet pertama pada field data, dan tiap segmen juga memiliki nomor
acknowledgement. Saat TCP mengirimkan sebuah segmen, ia akan
menyimpan duplikat dari segmen tersebut pada antrian , yang akan
tetap ada disana sampai sinyal acknowledgement diterima. Segmen yang
13

tidak menjawab akan dikirim ulang. Tetapi kehandalan TCP ini


mengakibatkan pemakaian bandwidth jaringan yang besar dan
menimbulkan overhead, sehingga TCP tidak cocok untuk aplikasi yang
mentransmisikan data dalam arus pendek seperti Ping, BootP, dan
sebagainya.
TCP adalah protokol yang handal. Protokol ini berusaha secara
seksama untuk mengirimkan data ke tujuan, memeriksa kesalahan,
mengirimkan data ulang bila diperlukan dan mengirimkan error ke
lapisan atas hanya bila TCP tidak berhasil mengadakan komunikasi.
Kehandalan TCP ini tercapai dengan mengorbankan bandwidth jaringan
yang besar. Saat kehandalan yang tinggi tidak dibutuhkan, maka protokol
pengiriman yang memiliki overhead lebih kecil sebaiknya dipergunakan.

Dalam proses komunikasi TCP tidak mengurusi proses routing


data melalui internetwork; infrastruktur jaringan adalah tanggung jawab
IP. Pada lapisan host ke host, TCP pada host yang satu berkomunikasi
langsung dengan TCP pada host yang lain, tidak peduli apakah kedua
host tersebut berada pada satu jaringan atau jaringan mereka terpisah
sama sekali.

Hubungan antara TCP dan proses lokal adalah port, yaitu suatu
mekanisme yang memberikan kemampuan pada proses untuk memanggil
TCP dan sebaliknya memungkinkan TCP untuk mengirimkan aliran data
ke proses yang tepat. Port diidentifikasi dengan nomor port. Perancang
TCP memberikan sejumlah kebebasan penomoran port untuk proses,
tetapi beberapa nomor port telah diberikan pada beberapa proses yang
umum. Port yang umum dikenal ini memberikan cara yang mudah untuk
mengadakan hubungan antarproses yang sama. Proses Telnet telah
diberikan nomor yang umum sehingga memudahkan untuk memulai
suatu session Telnet pada sebuah host.
14

TCP juga bertanggung jawab untuk menangani pengendalian arus


data antara host, yang dilakukan dengan teknik sliding window. Host
penerima melaporkan sebuah window ke host pengirim, yang
menyebutkan jumlah oktet yang siap diterima oleh TCP penerima. TCP
pengirim tidak akan mengirimkan data melewati batas window kecuali ia
menerima jawaban yang memastikan bahwa datanya akan diterima.

User Datagram Protocol (UDP)

UDP memberikan alternatif transport untuk proses yang tidak


membutuhkan pengiriman yang handal. UDP adalah protokol datagram
yang tidak menjamin pengiriman data atau perlindungan duplikasi.
Datagram adalah pesan yang bersifat independen yang dikirimkan
secara terpisah dari datagram yang lain. Proses pada lapisan atas harus
bertanggung jawab untuk mendeteksi data yang hilang atau rusak dan
mengirim ulang data tersebut jika diperlukan. UDP tidak mengurusi
penerimaan aliran data dan pembuatan segmen yang sesuai untuk IP,
sehingga beroperasi dengan overhead yang jauh lebih kecil dari TCP 5.
Protokol UDP merupakan protokol yang tidak reliable dan
connectionless bagi aplikasi-aplikasi yang tidak memerlukan pengurutan
TCP atau pengendalian aliran dan bagi aplikasi-aplikasi yang ingin
melayani dirinya sendiri. UDP juga digunakan secara meluas pada query
dan aplikasi client/server jenis request-reply, dimana pengiriman yang
cepat lebih diutamakan dibanding dengan pengiriman yang akurat.
Contohnya adalah pada pengiriman percakapan atau video.

Pemrograman Winsock

Windows menangani socket untuk protokol TCP/IP melalui spesifikasi


5 Dumas, Arthur, Programming Winsock, SAMS Publishing, Indianapolis, 1995
15

6
Winsock API . Winsock API adalah sekumpulan fungsi yang
mengimplementasikan antarmuka socket yang telah dipopulerkan oleh Barkeley
Software Distribution of UNIX. Winsock menambahkan ekstensi khusus
Windows, pada implementasi Socket Barkeley, untuk mendukung system operasi
Windows yang menggunakan arsitektur terkendali-pesan (Message-Driven).
Pemrograman Winsock dapat dilakukan dengan beberapa bahasa pemrograman
berbasis Windows, antara lain Visual Basic, Delphi, dan Visual C++.
Ada dua cara pendekatan yang dapat diambil ketika melakukan
pemrograman Windows Socket, yaitu mengkode secara langsung pada API, atau
menggunakan sbuah custom control (VBX atau OCX) yang menyediakan sebuah
antar muka pada library dengan pengetesan property dan menanggapi event.
Sebuah custom control menyediakan antarmuka pemrograman yang lebih
natural, dan memungkinkan untuk menghindari banyak kecendrungan kesalahan
umum dalam pemrograman socket. Dengan memberi kontrol pada sebuah form,
mengeset beberapa property dan menganggapi event, pemrograman dapat secara
cepat dan mudah menulis sebuah aplikasi internet. Ada banyak custom control
beredar, antara lain Socket Wrench/VB dari Catalyst Software dan Microsoft
Winsock Control.

Windows Socket

Hubungan TCP dan proses lokal adalah port, yaitu suatu mekanisme yang
memberikan kemampuan pada proses untuk mengirimkan aliran data ke proses
yang tepat .
Port diidentifikasikan dengan nomor port (antara 1 sampai 65575). Perancangan
TCP memberikan sejumlah kebebasan penomoran port untuk proses, tetapi
beberapa nomor port telah diberikan pada beberapa proses yang umum
digunakan, yang disebut well-known ports (yaitu penomoran port antara 1 sampai

6 Dumas, Arthur, Programming Winsock, SAMS Publishing, Indianapolis, 1995


16

256).

Modul TCP memeriksa


Port 25 SMTP
Data masuk ke nomor port dan
komputer dalam bentuk melewatkan data ke
datagram IP protokol lapis an
diatasnya yang sesuai Port 23-Telnet

IP
Port 21-FTP
IP

IP
Port 53-Domain

Port 67-BootP
Modul IP memeriksa Modul UDP menetapkan
header protokol dan nomor port dan
melewatkan datagram melewatkan data
ke protokol yang sesuai kemodul yang tepat Port 69-TFTP

Untuk mengadakan hubungan secara lengkap, alamat IP Host


ditambahkan ke nomor port . Kombinasi alamat IP dan port ini disebut Socket.
Sebuah socket bersifat unik pada antar muka jaringan.
Komunikasi antar komputer melalui jaringan menggunakan TCP/IP mengacu
pada hubungan dua komputer. Hubungan ini, jika didasarkan pada protokol TCP,
mempunyai implikasi ketika banyak koneksi kepelayanan komputer yang sama
diperlukan. Hubungan tersebut harus mampu menangani banyak hubungan. Inilah
yang menimbulkan konsep dari socket. Ketika terjadi sebuah hubungan, komputer
menerima hubungan pada port dan menandai hubungan dengan sebuah nomor
socket khusus. Dengan demikian, hubungan lain dapat meneruskan untuk
menghubungi port yang sama, namun akan ditandai dengan nomor socket yang
berbeda.
17

Setiap protokol menggunakan sebuah port TCP yang unik bagi


pelayanannya. Dengan demikian, banyak pelayanan yang dapat berjalan pada
sebuah komputer karena mendengarkan suatu hubungan pada port yang berbeda.

Socket 1 Socket 2 Socket 3 Socket 4

Socket 21

Windows Socket memiliki tiga tipe socket yang dapat diatur untuk
menyediakan sebuah pelayanan, ketiga tipe socket tersebut antara lain :

Socket Strem

Pelayanan Socket Stream berorientasi hubungan (Connection Oriented


Stream Service), orientasi hubungannya didasarkan pada TCP. Sebelum dua
proses dapat mengirim atau menerima data, suatu hubungan harus ditetapkan.
Socket Stream membaca aliran data secara kontinu, aliran dua arah tanpa batas
rekaman. Sebagai contoh, jika proses pengirim mengirim pesan sebanyak 100
byte, penerima mungkin menerima sebagai sepotong data 100 byte atau dua
potong 50 byte. Jika aplikasi bergantung pada rekaman yang dikirim, header
pada data stream harus diatur. TCP tidak memperhatikan ukuran paket pada
18

sisi penerima.

Socket Datagram

Pelayanan Socket Datagram berorientasi tanpa hubungan


(Connectionless Datagram Service) dan tidak handal, orientasi hubungannnya
didasarkan pada protokol UDP. Sebelum dua proses dapat saling mengirim
dan menerima pesan, tidak diperlukan penetapan hubungan. Data dikirim
kedua proses dalam sebuah paket tunggal. Socket Datagram membaca aliran
data sebagai deretan paket dengan memperhatikan batas rekaman. Pengirim
mengirim paket dan penerima menerima seluruh paket. Tipe data ini dapat
dengan mudah digunakan untuk mengirim rekaman (tidak diperlukan
pengaturan header). Keterbatasan pelayanan socket ini adalah data mungkin
tidak diterima di tujuan, terduplikasi, dan data datang tidak berurutan.

Pemrograman Winsock dengan Visual Basic 6.0

Dalam paket Visual Basic 6.0 terdapat control untuk mengakses


winsock, yaitu Microsoft Winsock Control 6.0, yang sangat memudahkan
pemrogram untuk melakukan pemrograman socket. Control ini menyediakan
dua layanan : connection oriented stream service (TCP) dan connectionless
datagram service (UDP). Pilih salah satu protokol ini sesuai dengan
kebutuhan dan kondisi jaringan. Jika diinginkan protokol yang handal , maka
digunakan protokol TCP.

Anda mungkin juga menyukai