BAB 2
LANDASAN TEORI
2.1 Pengertian TCP/IP
TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukarmenukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.
2.1.1 Sejarah TCP/IP
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas. TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP
6
(IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.
Transmission Control Protocol/Internet Protocol (TCP/IP) adalah satu set aturan standar komunikasi data yang digunakan dalam proses transfer data dari satu komputer ke komputer lain di jaringan komputer tanpa melihat perbedaan jenis hardware. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di sistem operasi.
Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macammacam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
7
TCP/IP pun mempunyai beberapa layer, layer-layer itu adalah : 1. IP (internet protocol) yang berperan dalam pentransmisian paket data dari node ke node. IP mendahului setiap paket data berdasarkan 4 byte (untuk versi IPv4) alamat tujuan (nomor IP). Internet authorities menciptakan range angka untuk organisasi yang berbeda. Organisasi menciptakan grup dengan nomornya untuk departemen. IP bekerja pada mesin gateaway yang memindahkan data dari departemen ke organisasi kemudian ke region dan kemudian ke seluruh dunia. 2. TCP (transmission transfer protocol) berperan didalam memperbaiki pengiriman data yang benar dari suatu klien ke server. Data dapat hilang di tengah-tengah jaringan. TCP dapat mendeteksi error atau data yang hilang dan kemudian melakukan transmisi ulang sampai data diterima dengan benar dan lengkap. 3. Sockets yaitu merupakan nama yang diberikan kepada paket yang menyediakan akses ke TCP/IP pada kebanyakan sistem.
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol
perlu
diutamakan
pada
penggunaan
standar
teknis,
untuk
menspesifikasi bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan pada komunikasi real-time dimana
8
standar digunakan untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang.
Sangat sulit untuk mengelompokkan protokol dikarenakan protokol memiliki banyak variasi didalam tujuan penggunaanya. Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut: 1. Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer atau mesin lainnya. 2. Melakukan metode “jabat-tangan” (handshaking). 3. Negosiasi berbagai macam karakteristik hubungan. 4. Mengawali dan mengakhiri suatu pesan. 5. Melakukan format pesan yang digunakan. 6. Mendeteksi saat terjadi kerusakan pesan atau pesan yang tidak sempurna. 7. Mendeteksi kelemahan pada hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya 8. Mengakhiri suatu koneksi.
2.2 Pengertian Client Server
Client-Server adalah arsitektur jaringan yang memisahkan client (biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server. Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
9
1. Servis (layanan) Hubungan antara proses yang berjalan pada mesin yang berbeda Pemisahan fungsi berdasarkan ide layanannya. Server sebagai provider, client sebagai konsumen. 2. Sharing resources (sumber daya) Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya. 3. Asymmetrical protocol (protokol yang tidak simetris ) Many-to-one
relationship
antara
client
dan
server.
Client
selalu
menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client. 4. Transparansi lokasi Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client. 5. Mix-and-Match Perbedaan server client platforms 6. Pesan berbasiskan komunikasi Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban. 7. Pemisahan interface dan implementasi Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.
10
Client Client Process
Server request
Server Process
response System
System
Hardware
Hardware
Gambar 2.1 Ilustrasi komunikasi jaringan client-server
2.3 Port Paralel
Arti istilah Port dianggap berkaitan erat dengan komputer jaringan, istilah ini dianggap sebagai sebuah kanal dalam sistem komunikasi. Biasanya port ini diberi nomor logic. Atau port adalah tempat, saluran, tujuan. Suatu alat yang dapat digunakan untuk menghubungkan komputer dengan peripheral lainnya. Interface yang memungkinkan sebuah PC dapat mengirimkan atau menerima informasi ke atau dari piranti external, seperti printer atau modem. Sebuah PC umumnya terdiri dari port serial, paralel dan beberapa port USB.
Parallel adalah sistem pengiriman data digital, dimana beberapa bit data dikirim sekaligus pada satu saat dengan menggunakan jalur terpisah. Jadi port paralel adalah salah satu jenis soket pada personal komputer untuk berkomunikasi dengan peralatan luar untuk mengirim data digital seperti printer jenis tertentu yang belum menggunakan port USB. Karena itu parallel port sering juga disebut printer port. Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga
11
disebut dengan Centronics port. Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware membuat port ini sering digunakan untuk percobaanpercobaan sederhana dalam perancangan peralatan elektronika.
Peralatan luar yang dapat berkomunikasi dengan port parallel, antara lain : 1. Printer jenis tertentu yang belum menggunakan port USB 2. Zip drive 3. Scanner 4. Sound cards 5. Webcams 6. Gamapads dan joystick 7. Pemrogram EPROM 8. Peralatan SCSI melalui adapter Parallel ke SCSI 9. Percobaan dengan TTL 12 driver 10. External CD-Rom/RW drives
Gambar 2.2 Rangkaian Port Paralel
12
Fungsi-fungsi pin yang terdapat pada port paralel terdapat pada tabel di bawah ini: Tabel 2.1 Fungsi pin port paralel Nomor Pin
Nama
Arah
1
-Strobe
Out
2
Data0
In/Out
3
Data1
In/Out
4
Data2
In/Out
5
Data3
In/Out
6
Data4
In/Out
7
Data5
In/Out
8
Data6
In/Out
9
Data7
In/Out
10
-Acknowledge
In
11
+Busy
In
12
+Paper End
In
13
+Select In
In
14
-Auto Feed
Out
15
-Error
In
16
-Initialize
Out
17
-Select
Out
18 - 25
Ground
-
2.4 Microsoft Visual Basic 6.0
Microsoft Visual Basic 6.0 adalah sebuah bahasa pemrograman komputer. Bahasa pemrograman adalah perintah-perintah atau instruksi yang berurutan, yang dimengerti oleh komputer untuk menyelesaikan masalah-masalah tertentu. Microsoft Visual Basic merupakan bahasa pemrograman yang menghasilkan aplikasi-aplikasi pada windows yang berbasis grafis (GUI-Grafical User Interface). Microsoft Visual Basic merupakan event-driven programming (pemrograman terkendali kejadian) yang
13
mengandung arti bahwa program menunggu sampai adanya respon dari pemakai, yang berupa event atau kejadian tertentu. Ketika event terdeteksi, kode yang berhubungan dengan event akan dijalankan.
Bahasa pemrograman Microsoft Visual Basic merupakan pengembangan terakhir dari bahasa pemrograman Basic (Beginner Of Purpose Simbolic Instruction Code). Karena kemiripannya dengan pemrograman basic, bahasa pemrograman Visual Basic ini menjadi lebih mudah untuk dipahami dan dipelajari. Microsoft Visual Basic 6.0 ini mempunyai kemampuan yang sangat besar dalam membuat program-program yang lebih kompleks. Microsoft Visual Basic terdiri dari beberapa versi, dan Microsoft Visual Basic 6.0 merupakan penyempurnaan dari versi sebelumnya.
2.4.1 Keunggulan Visual Basic 6.0
Sejak diciptakan versi pertamanya pada tahun 1991, Microsoft Visual Basic kini telah mencapai versi yang keenam yang memiliki keunggulan dari versi sebelumnya. Berikut ini beberapa keunggulan dari Microsoft Visual Basic 6.0: 1. Kemampuan membuat ActiveX dan fasilitas internet yang lebih banyak. 2. Memiliki compiler yang dapat menghasilkan output file executable (.exe). 3. Memiliki beberapa tambahan sarana wizard yang lebih lengkap. 4. Membuat flat form pembuatan program yang diberi nama developer studio. 5. Sarana akses data yang lebih cepat dan handal untuk membuat aplikasi database yang berkemampuan tinggi dan kompleks. 6. Penambahan kontrol baru yang lebih canggih serta peningkatan kaidah struktur bahasa Microsoft Visual Basic 6.0.
14
2.4.2 IDE Microsoft Visual Basic 6.0
Untuk dapat menggunakan fasilitas dalam Microsoft Visual Basic 6.0 dengan baik dan benar, maka diperlukan penguasaan tentang IDE (Integrated Development Environment) atau lingkungan kerja Microsoft Visual Basic 6.0 itu sendiri. Tampilan fasilitas-fasilitas atau IDE Microsoft Visual Basic 6.0 berisi komponen-komponen seperti yang terlihat dalam Gambar 2.3.
Gambar 2.3 Interface Microsoft Visual Basic 6.0
IDE pada Microsoft Visual Basic 6.0 terbagi menjadi 5 komponen besar yaitu Menu, Toolbar, Toolbox, Project Explore, Properti windows.
1. Menu Komponen Menu digunakan untuk mengolah, menampilkan atau menjalankan program serta memanipulasi jendela Microsoft Visual Basic 6.0. Dengan komponen Menu tersebut, penulis dapat mengatur tampilan atau bagian mana saja dari Microsoft Visual Basic 6.0 yang ingin digunakan dan akan tampil pada jendela kerja. Untuk menggunakan fasilitas Menu, dilakukan dengan cara memilih icon pada menu utama kemudian pilih sub menu.
15
2. Toolbar Fungsi dari komponen Toolbar hampir sama seperti fungsi dari komponen Menu. Hanya saja komponen-komponen Toolbar terdiri dari beberapa icon interaktif yang lebih mudah digunakan. Untuk memilih suatu proses yang akan dilakukan tinggal memilih salah satu icon yang tersedia.
Gambar 2.4 Bentuk dari tampilan Toolbar
3. Toolbox Komponen Toolbox adalah kumpulan kontrol pada Microsoft Visual Basic 6.0 yang dibutuhkan untuk melengkapi dan membentuk suatu program aplikasi yang akan dirancang. Kontrol adalah suatu objek yang akan menjadi penghubung (interface) antara program aplikasi dengan user. Semua komponen tersebut harus diletakkan pada jendela form. Toolbox pada Microsoft Visual Basic 6.0 biasanya akan ditampilkan di kiri layar. Toolbox tersebut berisi layout, dan objek-objek standar yang akan selalu muncul setiap kali menjalankan Microsoft Visual Basic 6.0. Untuk menambah objek pada Toolbox ini, dapat dilakukan dengan memilih project> komponen atau dengan cara menekan (Ctrl+T) sehingga akan muncul kotak dialog seperti berikut:
Gambar 2.5 Bentuk dari tampilan toolbox
16
Gambar 2.6 Komponen pada Microsoft Visual Basic 6.0
Terdapat beberapa perbedaan dalam perancangan menggunakan Microsoft Visual Basic versi Profesional Edition atau Enterprise Edition. Microsoft Visual versi Standar Edition memiliki beberapa objek yang bisa ditambahkan dengan cara memilih atau memberikan tanda check pada kolom yang telah disediakan pada komponen yang berhubungan dengan program yang diinginkan.
4. Project Explore Program Microsoft Visual Basic 6.0 terdiri dari beberapa file yang disatukan atau dikompile pada waktu program tersebut sudah lengkap. Pada waktu membuat project, perlu berpindah antara komponen yang satu dengan yang lainnya. Untuk membantu perancangan aplikasi, Microsoft Visual Basic telah menyertakan Project Explore pada Microsoft Visual Basic 6.0 yang berisi jendela-jendela project. Jendela project berisi
17
semua file yang digunakan pada proses pemrograman, dan menyediakan akses ke file tersebut menggunakan dua tombol khusus, yaitu view code dan view object. Jika user ingin menambah, menyimpan atau menghapus file-file individual dari project, menggunakan perintah pada menu file dan project. Perubahan ini akan direfleksikan pada jendela project. File project memuat semua daftar file-file pendukung program tersebut yang dikenal dengan istilah file Visual Basic Project (.Vbp). Pada Microsoft Visual Basic 5.0 dan Microsoft Visual Basic 6.0 dapat me-load lebih dari satu file dengan cara mengklik pada nama project. Di bawah nama project, jendela explore menampilkan komponen-komponen setiap project dengan struktur pohon yang sama dengan tampilan pada Windows Explore. Untuk memperbesar atau memperkecil cabangnya seperti form, modul, serta kategori lain dapat dilakukan dengan mengklik tanda plus atau minus disebelah folder.
Gambar 2.7 Interface dari Project Explore
5. Properties Windows Properties Windows atau jendela properties adalah jendela yang memuat semua informasi mengenai objek, yang terdapat dalam aplikasi Microsoft Visual Basic 6.0. Properties adalah sifat dari sebuah objek, misalnya seperti nama, warna, ukuran,
18
posisi dan sebagainya. Setiap objek sebagian besar memiliki jenis properties yang sama, akan tetapi ada juga yang berbeda.
Gambar 2.8 Interface Properties Windows
2.5 Windows Socket
Kita telah mengetahui bahwa komputer membutuhkan sistem operasi agar bisa bekerja. Sistem operasi itu sendiri adalah software. Untuk mengetik, cetak, gambar, semua tugas komputasi membutuhkan software, termasuk juga berkomunikasi dengan komputer lain.
Windows memiliki API (Application Programming Interface) untuk berkomunikasi melalui TCP/IP yang terkenal dengan nama Winsock API. Namun
19
penggunaan API itu sendiri sudah cukup sulit. Microsoft mengerti kebutuhkan para programer dan membuat komponen ActiveX control yang bernama Winsock Control.
Fungsinya mempermudah kita sebagai programer untuk membuat software yang bisa berkomunikasi dengan komputer lain. Dengan Winsock control maka kita tidak perlu mengetahui secara detail protokol TCP/IP maupun pemanggilan fungsi Winsock API untuk membuat sebuah aplikasi network. Yang perlu kita lakukan hanyalah mengisi nilai properti, mengeksekusi metode, dan semuanya segera berjalan sesuai skenario dengan catatan, semua seting network dalam kondisi baik.
2.5.1 Protokol-Protokol Winsock
Komponen Winsock mempunyai 2 jenis protokol: 1. TCP (Transmission Control Protocol). Dengan TCP, mengharuskan 2 atau lebih komputer yang terhubungan untuk mengirim/menerima data harus dalam kondisi terkoneksi. Jadi dengan menggunakan TCP sangat aman karena data akan selalu dicek apakah sampai atau tidak. 2. UDP (User Datagram Protocol). Dengan UDP tidak mengharuskan adanya koneksi yang aktif, hanya saja tidak ada jaminan data yang dikirim sampai atau tidak.