• Tidak ada hasil yang ditemukan

Perancangan Komunikasi Client Server Dan Sistem Database

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Komunikasi Client Server Dan Sistem Database"

Copied!
106
0
0

Teks penuh

(1)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

TUGAS AKHIR

PERANCANGAN KOMUNIKASI CLIENT SERVER DAN SISTEM

DATABASE

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik

Elektro

Oleh

FRANS A SIAGIAN NIM : 020402009

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

(2)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

PERANCANGAN KOMUNIKASI CLIENT SERVER DAN SISTEM DATABASE

Oleh :

FRANS A SIAGIAN NIM : 02 0402 009

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar sarjana Teknik Elektro

Disetujui oleh :

Dosen Pembimbing,

Ir. M. ZULFIN, MT NIP : 131 945 356

Diketahui oleh :

Ketua Departemen Teknik Elektro FT USU,

Prof. DR. Ir. Usman Ba’afai NIP : 130 365 322

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

(3)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Kuasa atas berkat karunia-Nya

sehingga penulis dapat menyelesaikan Tugas Akhir ini.

Tugas Akhir ini dibuat sebagai salah satu syarat untuk menyelesaikan pendidikan

pada Fakultas Teknik Departemen Teknik Elektro Program Studi Teknik Telekomunikasi

Universitas Sumatera Utara.

Dengan selesainya Tugas Akhir ini, penulis menyampaikan rasa ucapan terima

kasih setulusnya kepada:

1. Orang tua penulis yang paling disayangi dan dicintai, Ayah (R.Siagian) dan Ibu (S

br. Sibagariang) atas kasih sayang, materi dan doanya hingga penulis dapat

meraih keberhasilan.

2. Abangku Roland Siagian, adek-adekku Theresia Siagian, Oliv Siagian, Eva dan

Wanda yang selalu memberikan semangat dan dorongan yang sangat berarti

kepada penulis.

3. Bapak Ir. M. Zulfin, MT selaku dosen pembimbing Tugas Akhir. Terima kasih

atas segala bimbingan, pengarahan dan motivasi hingga Tugas Akhir ini selesai.

4. Bapak Rachmad Fauzi, ST, MT selaku dosen wali. Terima kasih atas nasihat dan

bimbingannya selama dalam masa perkuliahan.

5. Bapak Prof.DR.Ir. Usman Baafai dan Bapak Drs. Hasdari Helmi, MT selaku

Ketua Departemen dan Sekretaris Departemen Teknik Elektro

6. Seluruh staff pengajar Departemen Teknik Elektro Universitas Sumatera Utara

(4)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

7. Seluruh pegawai Departemen Teknik Elektro Universitas Sumatera Utara.

8. Rekan-rekan satu angkatan 2002 Andriani, Augustin, Bismar, Budiman, Ba’du,

Daniel T, Daniel S N, Deny, Dody, Esron, Echo, Erim, Feri, Hattorangan,

Hasyim, Hamdani, Ipeng, Irham, Jimmy, Julika, Maston, Risbet, Raymond,

Syafril, Sabariah, Sejahtera, Sylvia, Yos dan seluruh rekan-rekan elektro yang

tidak disebut namanya.

9. Kepada pengajar dan rekan-rekan siswa di MSoft yang telah banyak membantu

dan memberi masukan dalam belajar.

10.Sahabat penulis K’Henny, B’Endru, Marolop dan Aditya buat doa, motivasi serta

semangat yang diberikan selama ini buat saya.

11.Kepada K’Maya Siagian yang telah membantu saya dengan CPU komputernya

selama membuat program.

12.Dan semua pihak yang telah banyak membantu penulis selama menyelesaikan

Tugas Akhir ini yang namanya tidak dapat disebutkan satu persatu.

Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna, untuk itu

dengan segala kerendahan hati penulis memohon maaf atas kekurangan dari tulisan ini,

semoga Tugas Akhir ini dapat bermanfaat untuk kita semua.

Medan, September 2007

Penulis,

(5)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

DAFTAR ISI

ABSTRAK... i

KATA PENGANTAR………. ii

DAFTAR ISI……… iv

DAFTAR GAMBAR... viii

DAFTAR TABEL……… xii

BAB I PENDAHULUAN 1.1 Latar Belakang... 1

1.2 Rumusan Masalah………... 2

1.3 Tujuan Penulisan……….. 2

1.4 Pembatasan Masalah………... 2

1.5 Metodologi Penulisan………... 3

1.6 Sistematika Penulisan………... 3

BAB II LANDASAN TEORI 2.1 Umum……… 5

2.2 LAN……….. 6

2.2.1 Topologi Jaringan LAN……… 6

(6)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

2.2.1.2 Topologi Star……… 7

2.2.1.3 TopologiRing... 7

2.2.1.4 Topologi Tree………... 8

2.2.2 Protokol Jaringan………. 9

2.2.2.1 Ethernet……… 9

2.2.2.2 Token Ring………... 9

2.2.2.3 FDDI……… 9

2.2.2.4 ATM………. 10

2.3 Client Server……….. 10

2.3.1 Komponen Dasar Client Server………... 11

2.3.2 Ciri-Ciri Client Server………. 13

2.4 Referensi Model Jaringan………. 15

2.4.1 Referensi Model OSI……….... 15

2.4.2 Model TCP/IP………... 18

2.4.2.1 Pembagian Kelas Nomor IP……….. 20

2.4.2.2 Penggunaan Subnet Mask……….. 20

2.4.2.3 Nomor Port……… 21

2.5 Pemrograman Internet……… 22

2.5.1 Socket……… 22

2.5.2 Windows Socket (WinSock)……….. 24

(7)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

3.2 Struktur Segmen TCP………. 28

3.2.1 Nomor Urut dan Nomor Acknowledgement……….. 29

3.3 Transfer Data Reliable……… 31

3.3.1 Beberapa Skenario Dalam Transfer Data……….. 31

3.3.2 Interval Timeout Dua Kali Lipat……… 34

3.3.3 Retransmisi yang Cepat………. 35

3.4 Penanganan Koneksi TCP……….. 36

BAB IV PERANCANGAN PERANGKAT LUNAK SISTEM KOMUNIKASI CLIENT SERVER 4.1 Kebutuhan Sistem………. 43

4.1.1 Sistem Operasi………. 43

4.1.2 Perangkat Keras Komputer……….. 43

4.2 Tahap-Tahap Perancangan Perangkat Lunak………... 43

4.2.1 Analisis Kebutuhan……….. 44

4.2.2 Spesifikasi Kebutuhan………. 44

4.2.2.1 Diagram Alir……… 44

4.2.2.1.1 Diagram Alir Program Server………... 45

4.2.2.1.2 Diagram Alir Program Client……… 49

4.2.2.2 Perancangan Menu Sistem……… 58

4.2.2.2.1 Perancangan Window Tampilan Utama Server………. 58

4.2.2.2.2 Perancangan Window Tampilan Utama Client………. 62

(8)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

4.2.3.1 Tampilan Utama Server………... 71

4.2.3.1.1 Tampilan Aplikasi………. 72

4.2.3.1.2 Tampilan Explorer……… 73

4.2.3.1.3 Tampilan Client Remote……… 75

4.2.3.1.4 Tampilan Peripheral………. 76

4.2.3.2 Tampilan Utama Client……… 78

4.2.3.2.1 Tampilan Chatting……… 79

4.2.3.2.2 Tampilan Explorer……… 81

4.2.3.2.3 Tampilan Program……… 82

4.2.3.2.4 Tampilan Akses Database……… 84

4.2.4 Pengujian Perangkat Lunak………. 90

4.2.4.1 Pengujian Perangkat Lunak Client……….. 90

4.2.4.2 Pengujian Perangkat Lunak Server………. 93

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan……….. 95

5.2 Saran……… 96

(9)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

DAFTAR GAMBAR

Gambar 2.1 Topologi Bus……….. 7

Gambar 2.2 Topologi Star………. 7

Gambar 2.3 Topologi Ring ………... 8

Gambar 2.4 Topologi Tree ……… 8

Gambar 2.5 Arsitektur Client Server………. 11

Gambar 2.6 Komponen Dasar Client Server………. 12

Gambar 2.7 Model OSI………. 13

Gambar 2.8 Model TCP/IP……… 13

Gambar 2.9 Pembagian Kelas Nomor IP……… 20

Gambar 2.10 Client Meminta Koneksi………. 23

Gambar 2.11 Respon Server………. 24

Gambar 2.12 Koneksi Menggunakan Socket……… 25

Gambar 3.1 TCP Mengirim dan Menerima Buffer………. 27

Gambar 3.2 Struktur Segmen TCP………. 28

Gambar 3.3 Pembagian Data File ke Dalam Segmen TCP……… 30

Gambar 3.4 Retransmisi untuk Konfirmasi yang Hilang……… 32

Gambar 3.5 Segmen 100 Tidak Diretransmisikan……….. 33

(10)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 3.7 Jabatan Tangan (handshake) Tiga Arah TCP……… 38

Gambar 3.8 Penutupan Koneksi TCP………. 39

Gambar 3.9 Urutan Kondisi TCP yang Dikunjungi oleh TCP Client……… 41

Gambar 3.10 Urutan Kondisi TCP yang Dikunjungi oleh TCP Server……… 42

Gambar 4.1 Diagram Alir Komunikasi Client Server……… 45

Gambar 4.2 Diagram Alir Aplikasi………. 46

Gambar 4.3 Diagram Alir Explorer……… 47

Gambar 4.4 Diagram Alir Log Off……….. 47

Gambar 4.5 Diagram Alir Proses Shut Down... 48

Gambar 4.6 Diagram Alir Program Peripheral……… 49

Gambar 4.7 Diagram Alir Chat Sesama Client... 50

Gambar 4.8 Diagram Alir Chat Client Ke Server……….. 50

Gambar 4.9 Diagram Alir Program Explorer………. 51

Gambar 4.10 Diagram Alir Aplikasi Program... 51

Gambar 4.11 Diagram Alir Menambah Data Mahasiswa………. 52

Gambar 4.12 Diagram Alir Mencari Data Mahasiswa... 53

Gambar 4.13 Diagram Alir Menambah Data Dosen... 53

Gambar 4.14 Diagram Alir Mencari Data Dosen... 54

Gambar 4.15 Diagram Alir Meambah Data Mata Kuliah... 55

Gambar 4.16 Diagram Alir Mencari Data Mata Kuliah... 56

Gambar 4.17 Diagram Alir Menambah Data Nilai Mahasiswa... 57

(11)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 4.19 Rancangan Window Tampilan Utama Server……… 59

Gambar 4.20 Rancangan Window Aplikasi………. 60

Gambar 4.21 Rancangan Window Explorer……… 61

Gambar 4.22 Rancangan Window Client Remote……… 61

Gambar 4.23 Rancangan Window Peripheral………. 62

Gambar 4.24 Rancangan Window Tampilan Utama Client………. 63

Gambar 4.25 Rancangan Window Chatting ke Client………. 64

Gambar 4.26 Rancangan Window Mengirim Pesan ke Server……… 64

Gambar 4.27 Rancangan Window Explorer………. 65

Gambar 4.28 Rancangan Window Program………. 66

Gambar 4.29 Rancangan Window Data Mahasiswa………. 67

Gambar 4.30 Rancangan Window Data Dosen………. 68

Gambar 4.31 Rancangan Window Data Mata Kuliah………... 69

Gambar 4.32 Rancangan Window Data Nilai………... 70

Gambar 4.33 Tampilan Utama Server... 71

Gambar 4.34 Tampilan Utama Aplikasi... 72

Gambar 4.35 Tampilan Explorer... 74

Gambar 4.36 Tampilan Client Remote... 75

Gambar 4.37 Tampilan Periheral... 77

Gambar 4.38 Tampilan Utama Client... 78

Gambar 4.39 Tampilan Chatting ke Client... 79

Gambar 4.40 Tampilan Chatting ke Server... 80

(12)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 4.42 Tampilan Program... 83

Gambar 4.43 Tampilan Window Data Mahasiswa... 84

Gambar 4.44 Tampilan Window Data Dosen... 86

Gambar 4.45 Tampilan Window Data Mata Kuliah... 87

(13)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

DAFTAR TABEL

Tabel 2.1 Penggunaan Subnet Mask pada Setiap Kelas………. 21

(14)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

BAB I PENDAHULUAN

1.1 Latar Belakang

Jaringan Area Lokal atau Local Area Network (LAN) merupakan inti dari

jaringan komputer, dimana sejumlah komputer dapat berhubungan satu dengan yang lain

serta dapat menggunakan secara bersama sumber daya (resource) seperti printer atau

harddisk.

Dari perkembangan PC kemudian muncul konsep sharing (pemakaian bersama)

dimana beberapa buah PC dihubungkan satu dengan lain sehingga dapat menggunakan

secara bersama sumber daya yang ada. Konsep ini dikenal sebagai peer to peer atau

workgroup LAN. Jika jumlah komputer yang berada pada jaringan tidak begitu besar,

jaringan workgroup ini dapat berfungsi dengan baik.

Namun apabila jumlah komputer yang akan dihubungkan ke jaringan bertambah

banyak, maka hubungan secara peer to peer kemungkinan sudah tidak efektif lagi karena

sekarang diperlukan satu sistem manajemen yang mengatur semua komputer di jaringan.

Hubungan ini disebut client-server, dimana semua informasi dan hak akses setiap user

diatur oleh server tersebut.

Oleh karena itu pada Tugas Akhir ini, penulis tertarik untuk membahas dan

(15)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

yang semakin banyak terhubung ke jaringan. Pengontrolan server ini dapat berupa

pembatasan program tertentu yang dapat dijalankan oleh client. Server juga dapat

mengakhiri kerja client dengan men-shut down atau me-log off komputer client.

1.2 Rumusan Masalah

Dari latar belakang di atas, dapat dirumuskan beberapa permasalahan antara lain:

1. Bagaimana konsep komunikasi client-server.

2. Bagaimana ActiveX WinSock mendukung komunikasi client-server.

3. Apa langkah-langkah pembuatan perangkat lunak komunikasi client-server.

4. Bagaimana hasil implementasi perangkat lunak yang dirancang.

1.3 Tujuan Penulisan

Tujuan penulisan Tugas Akhir ini adalah untuk merancang/membuat perangkat

lunak akses jaringan client-server secara remote.

1.4 Pembatasan Masalah

Untuk mendapatkan hasil pembahasan yang maksimal, maka penulis perlu

membatasi masalah yang akan dibahas. Adapun batasan masalah dalam Tugas Akhir ini

adalah:

1. Perangkat lunak yang digunakan untuk merancang komunikasi client-server adalah

visual basic 6.0.

(16)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

3. Client hanya bisa berbagi data dan berkomunikasi dengan sesama client jika

diizinkan oleh server.

4. Topologi yang digunakan adalah topologi bintang (star).

1.5 Metodologi Penulisan

Metode penulisan yang digunakan dalam Tugas Akhir ini adalah:

1. Studi literatur :Mengambil bahan dari buku-buku referensi, jurnal-jurnal, serta

artikel-artikel yang berhubungan dengan permasalahan.

2. Studi kasus :Melakukan percobaan terhadap aplikasi jaringan client-server yang

telah dibuat.

1.6 Sistematika Penulisan

Tugas Akhir ini disusun berdasarkan sistematika penulisan sebagai berikut:

BAB I : PENDAHULUAN

Pada bab ini menjelaskan tentang latar belakang, rumusan masalah, tujuan

penulisan, batasan masalah, metodologi penulisan, sistematika penulisan

sebagai gambaran umum dari pembahasan secara keseluruhan.

BAB II : LANDASAN TEORI

Pada bab ini membahas tentang prinsip jaringan LAN, konsep sistem

terdistribusi/client-server serta referensi model jaringan.

(17)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Pada bab ini membahas prinsip aliran data yang terjadi pada komunikasi

client-server.

BAB IV : PERANCANGAN PERANGKAT LUNAK SISTEM KOMUNIKASI CLIENT SERVER

Pada bab ini membahas tahapan perancangan perangkat lunak beserta

implementasinya sampai ke tahap pengujian.

BAB V : KESIMPULAN DAN SARAN

Pada bab ini berisikan kesimpulan dan saran dari apa yang telah dibahas

(18)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

BAB II

LANDASAN TEORI

2.1 Umum

Informasi bagaikan darah dalam perusahaan yang harus dapat dikelola proses

distribusinya ke seluruh lini manajerial. Jika aliran informasi ini terhambat, maka

perusahaan akan menjadi “sakit” dan proses manajerial yang meliputi perencanaan,

koordinasi, kepemimpinan dan pengendalian menjadi tidak sehat, sehingga akan

berakibat pada penurunan kinerja dan daya kompetensinya.

Oleh karena itu, kehadiran jaringan komputer di dalam perusahaan dewasa ini

sangat tepat untuk menjawab tantangan tersebut. Jaringan komputer dapat berperan

mengintegrasikan data sehingga dapat diolah dengan tepat oleh komputer pusat (server)

maupun mengalirkan informasi secara lengkap dan cepat ke terminal-terminal tujuan,

secara kontinu dan teratur.

Kehadiran teknologi jaringan komputer tidak hanya bermanfaat untuk

mengalirkan informasi ke seluruh lini perusahaan, tetapi juga menghemat investasi dan

(19)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

jaringan komputer menyediakan fasilitas untuk berbagi pakai semua peralatan yang

terhubung dalam lingkungan jaringan tersebut.

2.2 LAN (Local Area Network)

LAN (Local Area Network) merupakan arsitektur jaringan yang hanya terdiri dari

beberapa komputer. Arsitektur ini merupakan jenis yang paling sederhana dari jenis

arsitektur lainnya. Pada arsitektur jenis LAN komputer yang terhubung sangat sedikit.

Ada yang menyebutkan bahwa jenis ini rata-rata hanya memiliki 24 workstation dalam

satu jaringan LAN. Pada kenyataannya, apabila ada dua komputer yang terhubung satu

sama lain, kedua komputer itu dapat dikatakan telah terhubung dengan sistem jaringan

lokal atau LAN.

2.2.1 Topologi Jaringan LAN

Topologi jaringan LAN yang sering dipakai adalah topologi bus, topologi star,

topologi ring dan topologi tree.

2.2.1.1 Topologi Bus

Dengan topologi ini, komputer dihubungkan secara berantai satu dengan yang

lain dengan perantaraan suatu kabel yang umumnya berupa kabel jenis koaksial seperti

tampak pada Gambar 2.1. Pada topologi ini ujung-ujung kabel harus ditutup dengan

(20)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

menimbulkan gangguan yang menyebabkan kemacetan jaringan sedangkan untuk

hubungan komputer ke jaringan dengan menggunakan konektor BNC.

Gambar 2.1 Topologi Bus

2.2.1.2 Topologi Star

Dengan topologi star (bintang) ini, semua komputer dihubungkan ke suatu hub

seperti pada Gambar 2.2. Hub berfungsi untuk menerima sinyal-sinyal dari suatu

komputer dan meneruskan ke semua komputer lain yang berhubungan dengan hub. Jenis

kabel yang sering digunakan untuk topologi star ini adalah kabel UTP kategori-5.

Gambar 2.2 Topologi Star

(21)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Topologi ini memanfaatkan kurva tertutup, artinya informasi dan data serta traffic

disalurkan sedemikian rupa sehingga menuju masing-masing node. Umumnya fasilitas ini

memanfaatkan fiber optik sebagai sarananya walaupun ada juga yang menggunakan

twisted pair.

Gambar 2.3 Topologi Ring

2.2.1.4 Topologi Tree

Topologi tree ini merupakan gabungan topologi star dan topologi bus.

Komputer-komputer dihubungkan ke hub, sedangkan hub satu dengan hub lain dihubungkan sebagai

jalur tulang punggung (backbone) yang menyerupai topologi bus seperti tampak pada

(22)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 2.4 Topologi Tree

2.2.2 Protokol Jaringan

Supaya komputer-komputer yang berada dalam jaringan dapat berkomunikasi

dengan baik satu dengan yang lain, diperlukan peraturan-peraturan yang disebut protokol.

Enam jenis protokol jaringan yang sering dipakai untuk LAN adalah protokol Ethernet,

Token Ring, Fiber Distributed Data Interface (FDDI), dan Asynchronous Transfer Mode

(ATM).

2.2.2.1 Ethernet

Protokol Ethernet menjadi protokol LAN yang paling populer dan banyak dipakai

karena cara penggunaannya mudah, namun memiliki kemampuan tinggi.

Pada mulanya protokol Ethernet hanya dapat dipakai dengan kecepatan 10 Mbps.

Kemudian dikeluarkan jenis protokol Ethernet baru yang disebut Fast Ethernet yang

sanggup bekerja dengan kecepatan 100 Mbps dan protokol Gigabit Ethernet dengan

kecepatan 1000 Mbps atau 1 Gbps.

2.2.2.2 Token Ring

Token Ring yang diciptakan oleh perusahaan IBM ini menggunakan topologi ring

(lingkaran), dimana komputer-komputer diletakkan di sekeliling lingkaran tersebut.

Token ring mampu mendukung dua laju data yaitu 4 Mbps dan 16 MBps.

2.2.2.3 FDDI

FDDI menggunakan metode yang disebut Timed-Token Protocol, dimana setiap

stasiun digaransi untuk dapat akses ke jaringan pada periode tertentu yang diatur pada

saat jaringan mulai berfungsi. FDDI memililki dua lingkaran yang dinamakan primary

(23)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

dikirim pada kedua lingkaran, tetapi hanya lingkaran primary yang dipakai untuk

mengirimkan data. Lingkaran secondary baru dipakai jika lingkaran primary mengalami

kesulitan atau putus.

2.2.2.4 ATM

ATM adalah protokol yang memiliki kecepatan yang sangat tinggi (155 Mbps

sampai 2,4 Gbps) dan memiliki bandwidth yang sangat besar. ATM dengan kecepatan

155 Mbps dapat menggunakan kabel UTP kategori-5, sedangkan untuk kecepatan 622

Mbps ke atas harus menggunakan media serat optik [8].

2.3 Client Server

Hubungan secara peer to peer kemungkinan sudah tidak efektif lagi, karena

sekarang diperlukan satu sistem management (administrator) yang mengatur semua

komputer di jaringan. Di samping itu mungkin diperlukan satu sumber daya (resource)

untuk menyimpan file yang dapat dipakai secara bersama di suatu komputer yang disebut

server. Karena digunakan sebagai sumber daya untuk semua komputer lainnya, komputer

yang dijadikan server ini umumnya lebih canggih, memiliki CPU dengan kecepatan

tinggi atau bahkan CPU ganda, memiliki memori yang besar, serta memiliki harddisk

dengan kapasitas sangat besar untuk melayani kebutuhan semua pemakai.

Hubungan ini disebut client-server, dimana semua informasi dan hak akses setiap

pemakai (user) diatur oleh server tersebut. Sedangkan sistem operasi yang harus

digunakan untuk komputer tersebut adalah jenis server seperti Windows NT4 server atau

(24)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 2.5 Arsitektur Client Server

Pada waktu pemakai log on dari komputer client, maka server di jaringan akan

memeriksa autentikasi pemakai. Jika nama pemakai (user account) dan password yang

dipakai benar, pemakai diberi hak berhubungan dengan jaringan dan memakai sumber

daya sesuai dengan izin (permission) yang diberikan.

Pada sistem operasi Windows NT 4 atau 2000 server, administrasi jaringan diatur

melalui satu wadah yang disebut domain, yang mengatur semua komputer yang berada

dalam domain tersebut.

2.3.1 Komponen Dasar Client Server

Pada dasarnya, client-server dibentuk oleh tiga komponen dasar, yaitu client,

middleware dan server. Secara sederhana, hubungan antara ketiga komponen tersebut

(25)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 2.6 Komponen Dasar Client Server (Sumber: Budi, 2006, hal. 198)

a. Client

Client merupakan terminal yang digunakan oleh pengguna untuk meminta

layanan tertentu yang dibutuhkan. Terminal client dapat berupa PC, robot, televisi, dan

peralatan lain yang membutuhkan informasi.

Disini peran client adalah menggunakan pesan berupa permintaan layanan ke

server, misalnya Automatic Teller Machine (ATM) yang meminta informasi saldo dari

nasabah tertentu. Melalui terminal client ini, pengguna dapat memasukkan data dan

mengakses forum untuk transaksi. Terminal client ini juga digunakan untuk menerima

hasil pemrosesan yang diminta dari server.

b. Middleware

Middleware merupakan komponen perantara yang memungkinkan client dan

server untuk saling terhubung dan berkomunikasi satu sama lain.

Middleware dapat berupa Transaction Processing Monitor (TP), Remote

Procedure Calling (RPC), atau Object Request Broker (ORB). Middleware memiliki

peran yang strategis karena dengan adanya middleware maka client dapat mengirimkan

(26)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

dimengerti oleh server, menerjemahkan hasil proses dari server agar dapat dipahami oleh

client dan mengirimkan hasil proses yang telah diterjemahkan kembali ke client.

c. Server

Server merupakan pihak yang menyediakan layanan. Server ini dapat berupa

basis data SQL, Monitor TP, server groupware, server objek, atau Web.

Secara umum, server berperan menerima pesan permintaan layanan dari client,

memproses permintaan tersebut dan mengirimkan hasil permintaan kepada client.

2.3.2 Ciri-Ciri Client Server

Client Server memiliki ciri-ciri mendasar yang membedakannya dengan

perangkat lunak terdistribusi lain. Ciri-ciri tersebut adalah:

a. Berbasis layanan

Server memberikan sejumlah layanan yang dibutuhkan dan diminta oleh client,

antara lain: berbagi pakai berkas, data, peralatan pendukung dan lain-lain.

b. Sumber daya yang digunakan bersama

Server mengelola sejumlah sumber daya yang dimilikinya agar dapat diakses dan

digunakan secara bersama-sama oleh terminal-terminal client yang terhubung pada

server.

c. Hubungan dan interaksi antara client-server

Hubungan yang terjadi antara server dan client adalah one-to-many, yang berarti

bahwa satu server melayani banyak client. Client selalu memulai interaksi dengan

meminta layanan, sedangkan server menanti permintaan layanan secara pasif.

(27)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Server dapat terletak di berbagai tempat yang belum tentu diketahui oleh client.

Walaupun demikian, client tetap dapat mengakses server untuk mendapatkan layanan

sesuai kebutuhannya.

e. Interoperabilitas perangkat lunak dan perangkat keras

Perangkat keras dan perangkat lunak yang digunakan oleh masing-masing client

tidak harus sama dengan yang digunakan pada server, namun masih dapat saling

terkoneksi antara satu dan yang lain.

f. Pertukaran berbasis pesan

Mekanisme dari client-server berdasar pada pertukaran pesan. Pesan yang

dipertukarkan ialah permintaan layanan dan umpan balik dari permintaan layanan.

g. Enkapsulasi layanan

Client tidak perlu mengetahui proses pengolahan permintaan yang terjadi dalam

server sehingga client tidak dapat mengontrol proses pengolahan permintaan.

h. Skalabilitas

Ukuran sistem client-server dapat diubah secara horizontal maupun vertikal.

Pengubahan vertikal berarti berpindah ke server yang lebih besar atau lebih cepat

mendistribusikan tugas melayani client ke beberapa server. Pengubahan horizontal berarti

menambah atau mengurangi jumlah client.

i. Konsistensi data

Data hanya dikelola pada server pusat sehingga konsistensi dan data lebih

terjamin dan biaya pemeliharaan pun menjadi lebih murah.

(28)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Untuk memahami cara kerja suatu jaringan komputer, harus memahami konsep

referensi model jaringan komputer. Referensi model jaringan komputer ini

mempermudah cara mempelajari, memprogram, maupun mendesain suatu jaringan

komputer.

Oleh sebab itu supaya suatu jaringan komputer dapat berfungsi dengan baik,

diperlukan suatu definisi yang jelas untuk proses-proses yang terjadi pada setiap lapisan

jaringan komputer tersebut. Defenisi ini diatur oleh referensi model jaringan.

2.4.1 Referensi Model OSI

Adalah sebuah badan multinasional yang didirikan tahun 1947 yang bernama

International Standard Organization (ISO) sebagai badan yang melahirkan

standar-standar internasional. ISO ini mengeluarkan juga standar-standar jaringan komunikasi yang

mencakup segala aspek yaitu model OSI. OSI adalah open system yang merupakan

himpunan protokol yang memungkinkan terhubungnya dua sistem yang berbeda yang

berasal dari underlying architecture yang berbeda pula. Jadi tujuan OSI ini adalah untuk

memfasilitasi bagaimana suatu komunikasi dapat terjalin dari sistem yang berbeda tanpa

memerlukan perubahan yang signifikan pada hardware dan software di tingkat

(29)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 2.7 Model OSI (Sumber: Heywood, 1997, hal. 29)

Referensi model OSI membagi jaringan komputer menjadi tujuh lapisan, antara lain:

1. Physical Layer

Pada lapisan ini terjadi proses pengiriman data dalam bentuk binary. Pada lapisan

ini semua spesifikasi yang berkaitan dengan cara menghubungkan kabel jaringan

ditentukan dan diterapkan.

2. Data Link Layer

Pada lapisan ini semua peralatan yang berhubungan dengan jaringan diberi tanda

pengenal atau alamat hardware yang diatur oleh lapisan bawah (sublayer) yang

dinamakan Media Access Control (MAC). Pada lapisan ini data dikirimkan dalam bentuk

frame yang telah memuat informasi mengenai alamat yang dituju dan alamat asal data.

(30)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Pada lapisan ini diperkenalkan konsep alamat logika yaitu alamat yang diberikan

pada peralatan jaringan yang dapat diatur oleh administrator jaringan. Alamat logika

yang sering dipakai adalah IP address. Pada lapisan ini data dikirimkan dalam bentuk

paket yang memuat informasi mengenai alamat logika yang dituju dan alamat asal data.

4. Transport Layer

Lapisan ini membuat dan menjaga hubungan komunikasi antara dua peralatan

komputer, serta memberikan garansi bahwa data yang dikirim akan sampai ke tujuan

dengan baik.

5. Session Layer

Lapisan ini berfungsi mengkoordinasikan agar berbagai sistem dapat saling

berkomunikasi dengan baik.

6. Presentation Layer

Pada lapisan ini berbagai ragam data baik dalam bentuk teks maupun gambar

diproses atau diubah ke format-format lain yang dibutuhkan lapisan bawah. Pada lapisan

ini juga proses kompresi data dan enkripsi data terjadi.

7. Application Layer

Lapisan ini menyediakan layanan yang mendukung langsung aplikasi-apilkasi

pemakai seperti e-mail, file transfer, dan akses ke database. Pada aplikasi client-server,

aplikasi client bekerja pada lapisan ini untuk berkomunikasi dengan lapisan bawah.

(31)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Pada model TCP/IP hanya dikenal empat lapisan, yaitu Network Access, Internet,

Transport dan Application. Empat lapisan dalam TCP/IP tersebut merupakan

pengembangan dari lapisan-lapisan OSI. Ilustrasi lapisan model TCP/IP ditunjukkan pada

Gambar 2.8.

Gambar 2.8 Model TCP/IP (Sumber: Samuel, 2006, hal. 142)

Pada model TCP/IP, lapisan Presentation dan Session dijadikan satu dengan lapisan

Application, lapisan Datalink dan Physical juga menjadi satu lapisan pada TCP/IP.

a. Application Layer

Lapisan Application merupakan lapisan paling atas pada TCP/IP, lapisan ini

menangani segala sesuatu yang berhubungan dengan level aplikasi. Pada TCP/IP, semua

yang berhubungan langsung dengan aplikasi digabungkan menjadi satu lapisan. Protokol

yang berjalan pada lapisan ini adalah FTP, SMTP, Telnet, Domain Name Server (DNS).

(32)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Lapisan Transport berfungsi untuk memecah data dari lapisan Application

menjadi segmen-segmen. Lapisan Transport juga bertugas untuk membangun hubungan

dari satu titik ke titik lainnya. Lapisan ini juga yang bertanggung jawab terhadap

realibilitas data. Protokol yang berjalan pada lapisan ini adalah TCP dan UDP.

c. Internet Layer

Lapisan Internet memiliki protokol yang paling penting yaitu IP. Fungsi protokol

ini adalah mengirimkan paket atau datagram (sekelompok data) dari satu lokasi ke lokasi

lainnya. Protokol lainnya yang berada pada lapisan ini adalah Internet Control Message

Protocol (ICMP), Address Resolution Protocol (ARP), Reverse Address Resolution

Protocol (RARP).

Lapisan Internet bertanggung jawab untuk memindahkan data dari satu lokasi ke

lokasi lainnya dengan titik berat pada pengalamatan secara logika.

d. Network Access Layer

Lapisan Network Access merupakan lapisan paling bawah yang ada pada TCP/IP.

Implementasi lapisan ini berada pada perangkat keras kartu jaringan dan perangkat lunak

driver kartu tersebut. Standar yang berlaku lapisan ini adalah standar IEEE 802, misalnya

IEEE 802.3 untuk jaringan Ethernet atau IEEE 802.5 untuk jaringan Token Ring.

Protokol lain yang digunakan pada lapisan ini adalah Serial Line IP (SLIP) atau

Point-to-Point Protocol (PPP) yang digunakan untuk jaringan dial-up.

Lapisan Network Access juga bertanggung jawab untuk memindahkan data dari

satu lokasi ke lokasi lainnya. Perbedaannya adalah bahwa lapisan Network Access lebih

menangani masalah fisik, yaitu masalah perangkat keras yang digunakan.

(33)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

IP address memiliki 32 bit angka yang merupakan logical address. IP address

bersifat unique, artinya tidak ada device, station atau host yang memiliki IP address yang

sama. Setiap alamat IP terdiri dari dua bagian, yaitu net ID dan host ID. Net ID adalah

bagian alamat jaringan (bit-bit paling kiri) dan host ID adalah bit-bit selain net ID (paling

kanan). Secara keseluruhan penentuan kelas dapat dilihat pada Gambar 2.9.

0 . 0 . 0 . 0

2.4.2.2 Penggunaan Subnet Mask

Subnet Mask di dalam jaringan komputer akan digunakan untuk membaca dan

memastikan bahwa komputer yang terhubung berada dalam group yang sama. Hal

tersebut berkenaan dengan pengiriman dan pengaksesan data pada jaringan lokal. Setiap

pemasangan workstation, selain harus menggunakan IP kepada komputer juga harus

diberikan nomor subnet mask. Penggunaan subnet mask dibedakan menurut kelas yang

digunakan. Tabel 2.1 berikut ini adalah subnet mask yang digunakan setiap kelas.

Tabel 2.1 Penggunaan Subnet Mask pada Setiap Kelas (Sumber: Bunafit, 2005, hal. 29)

Kelas Subnet Mask

A 255 . 0 . 0 . 0

(34)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

C 255 . 255 . 255 . 0

2.4.2.3 Nomor Port

Port merupakan pintu masuk datagram dan paket data. Dalam protokol TCP/IP

nomor port adalah berupa bilangan integer dari 0 sampai 65.535. Protokol TCP/IP telah

memutuskan untuk menetapkan penggunaan nomor port yang digunakan untuk server

yang spesifik, nomor port tersebut adalah well-known port numbers. Internet Asigned

Number Authority (IANA) membagi nomor port dalam 3 kelompok yakni:

Well-known ports : nomor port ini bermula dari 0 sampai 1.023.

Registered ports : nomor ini bermula dari 1.024 sampai 49.151.

Dynamic ports : nomor port dimulai dari 49.152 sampai 65.535.

Port 0 sampai dengan 1024 disediakan untuk layanan standar seperti FTP, TELNET,

Mail, Web dan lainnya. Adapun alamat port yang berkaitan dengan proses yang

dilakukan oleh TCP dapat dilihat pada Tabel 2.2.

Tabel 2.2 Well-Known Port yang Digunakan oleh TCP (Sumber: Drew, 1997, hal. 187)

No Port Keterangan

21 FTP

23 TELNET

25 SMTP

80 HTTP/Web

(35)

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

(36)

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)

(37)

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 TCP/IP. 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 TCP/IP

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

(38)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

PROSES TRANSAKSI DATA CLIENT SERVER

3.1 Koneksi TCP

TCP dikatakan berorientasi koneksi (connection oriented) karena sebelum satu

proses aplikasi mulai mengirimkan data kepada yang lain, maka dua proses harus

“berjabat tangan” terlebih dahulu dengan yang lain. Dalam hal ini harus mengirimkan

segmen pendahuluan kepada yang lain untuk membangun parameter pengiriman data.

Sekarang akan dilihat bagaimana koneksi TCP dibangun. Proses dijalankan pada

satu host yang ingin memulai koneksi dengan proses pada host lainnya. Demikian proses

yang memulai koneksi disebut proses client, sementara proses lain disebut proses server.

Proses aplikasi client pertama kali memberitahukan kepada lapisan transport client,

bahwa ia ingin membangun koneksi terhadap proses dalam server.

Socket clientSocket = new Socket (“hostname”, portNumber);

Dimana hostname adalah nama server dan portNumber mengidentifikasikan

proses pada server. Lapisan transport di dalam client kemudian mulai membangun

koneksi TCP dengan TCP dalam server. Client pertama kali mengirimkan segmen TCP

khusus, server merespon dengan segmen TCP khusus yang kedua dan akhirnya client

merespon lagi dengan segmen khusus ketiga. Dua segmen pertama tidak ada membawa

data lapisan aplikasi, sedangkan segmen ketiga dapat membawa data. Karena tiga segmen

dikirimkan diantara dua host, proses pembangunan koneksi ini disebut tiga arah jabatan

tangan (three way handshake). Saat koneksi TCP dibangun, dua proses aplikasi dapat

mengirimkan data kepada yang lain. Proses client melewati aliran data melalui socket

(39)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

bekerja pada client. Pada Gambar 3.1, TCP mengarahkan data ini kepada koneksi buffer

pengiriman (send buffer). TCP akan mengambil potongan data dari buffer pengiriman.

Jumlah maksimum data yang dapat diambil dan ditempatkan dalam segmen dibatasi oleh

ukuran segmen maksimum (MSS). MSS diset oleh penentuan pertama panjang frame

lapisan link yang dikirimkan oleh host pengiriman lokal (maximum transmission unit,

MTU) dan kemudian menetapkan MSS guna memastikan bahwa segmen TCP ini akan

sesuai ke dalam frame lapisan link. Nilai untuk MTU adalah 1.460 byte, 536 byte dan 512

byte.

Gambar 3.1 TCP Mengirim dan Menerima Buffer

Sebagai catatan bahwa MSS adalah jumlah maksimum data lapisan aplikasi dalam

segmen, bukan ukuran maksimum dari segmen TCP termasuk header.

Dari pembahasan ini koneksi TCP terdiri dari buffer, variabel dan koneksi socket

pada proses di dalam host. Sebagaimana disebutkan sebelumnya, tidak ada buffer atau

variabel yang ditempatkan pada koneksi dalam elemen jaringan diantara host.

3.2 Struktur Segmen TCP

Segmen TCP ini terdiri dari field header dan field data. Field data mengandung

sejumlah data aplikasi. Sebagaimana disebutkan diatas, MSS membatasi ukuran

(40)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

maka secara khusus akan menguraikan file itu ke dalam ukuran MSS. Gambar 3.2

memperlihatkan struktur segmen TCP. Seperti halnya dengan UDP, maka header

meliputi nomor sumber dan nomor port tujuan, yang digunakan untuk

multipleks/demultipleks data dari/ke aplikasi lapisan atas. Demikian juga dengan UDP,

memiliki checksum field. Header segmen TCP memuat field berikut:

32 bit sequence number field dan 32 bit acknowledgement number field yang

digunakan oleh pengirim TCP dan penerima dalam pelaksanaan layanan pengiriman

data.

Source port # Dest. Port # Sequence number

16 bit receive window field digunakan untuk flow control. Digunakan untuk

menyatakan jumlah byte yang akan diterima oleh receiver.

4 bit header length field yang menspesifikasikan panjang header TCP dalam 32 bit

(41)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Optional field digunakan ketika pengirim dan penerima menegosiasikan ukuran

segmen maksimum (MSS).

Flag field terdiri dari 6 bit. Bit ACK digunakan untuk menyatakan bahwa nilai yang

dibawa dalam acknowledgement field adalah valid sehingga segmen yang memuat

acknowledgement dinyatakan sudah diterima dengan baik. Bit RST, SYN dan FIN

digunakan untuk memulai. Pengaturan bit PSH menyatakan bahwa penerima harus

melewatkan data ke lapisan atas. Dan bit URG digunakan untuk menunjukkan bahwa

data dalam segmen yang dikirimkan pada lapisan atas telah ditandai dalam situasi

urgent.

3.2.1 Nomor Urut dan Nomor Acknowledgement

Dua field penting dalam header segmen TCP adalah field nomor urut dan field

nomor konfirmasi (acknowledgement). Field ini adalah bagian penting dari pengiriman

data reliable TCP. TCP memandang data sebagai sesuatu yang tidak terstruktur tetapi

berurutan dari sebuah aliran byte. Pemakaian nomor urut dari TCP akan merefleksikan

tinjauan ini bahwa nomor urut (sequence number) berada di atas aliran byte yang

ditransmisikan dan bukan di atas rentetan segmen yang ditransmisikan. Nomor urut dari

segmen ini merupakan nomor byte stream dari byte pertama dalam segmen. Sebagai

contoh, host A mengirimkan aliran data ke dalam proses host B pada koneksi TCP. TCP

dalam host A secara lengkap menomori setiap byte dalam aliran data. Dinyatakan aliran

data terdiri dari file dengan 500.000 byte dan MSS adalah 1.000 byte dan bahwa byte

pertama dari aliran data bernomor nol. Seperti yang ditunjukkan pada Gambar 3.3, TCP

tidak ada memuat 500 segmen pada aliran datanya. Segmen pertama diberi nomor 0, dan

(42)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

dimasukkan ke field nomor dalam header segmen TCP yang sesuai. Contoh lain, host A

menerima satu segmen dari host B dengan byte 0 hingga 535 dan segmen lain dengan

byte 900 hingga 1.000. Untuk alasan tertentu, host A tidak menerima byte 536 hingga

899. Dalam contoh ini, host A menunggu byte 536 untuk dapat menciptakan kembali data

stream B. Oleh sebab itu, segmen A berikutnya menuju B akan memuat 536 dalam field

nomor acknowledgement. Karena TCP hanya mengkonfirmasikan byte sampai ke byte

pertama yang salah dalam aliran, maka TCP disebut menyediakan cumulative

acknowledgement.

0 1 1000 1.999 499.999

Data for 1st segment Data for 2nd segment File

Gambar 3.3 Pembagian Data File ke Dalam Segmen TCP

Pada Gambar 3.3, diasumsikan bahwa nomor urutan awalnya adalah nol. Kedua sisi dari

koneksi TCP ini memilih nomor urutan awal. Ini dilakukan guna meminimumkan

kemungkinkan segmen pada jaringan, koneksinya berakhir diantara dua host yang keliru

terhadap segmen yang valid di waktu yang akan datang.

3.3 Transfer Data Reliable

TCP menciptakan layanan transfer data yang reliable diatas layanan IP yang

unreliable. Layanan transfer data reliable TCP memastikan bahwa aliran data itu adalah

sebuah proses dari TCP yang menerima buffer yang tidak terkorup, tanpa gap, tanpa

duplikasi dan dalam urutannya. Disini akan dibahas bagaimana TCP menyediakan

(43)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

TCP yang menggunakan timeout untuk menemukan segmen yang hilang, kemudian

mengkaji uraian yang menggunakan acknowledgement duplikat untuk timeout. Dalam

pembahasan ini diyatakan bahwa data itu dikirimkan dalam satu arah dari host A ke host

B, dan host A mengirimkan file yang besar.

3.3.1 Beberapa Skenario Dalam Transfer Data

Gambar 3.4 menggambarkan skenario pertama, dimana host A mengirimkan satu

segmen ke host B. Segmen ini memiliki nomor urut 92 dan memuat 8 byte data. Setelah

mengirimkan segmen ini, host A menunggu segmen dari host B dengan nomor

konfirmasi (acknowledgement) 100. Meskipun segmen dari A diterima B, namun

konfirmasi dari B ke A telah hilang. Dalam kasus ini, peristiwa timeout terjadi dan host A

meretransmisikan segmen yang sama. Ketika host B menerima retransmisi, host B

memperhatikan sequence number (nomor urutan) dari segmen yang berisi data yang baru

saja diterimanya. Oleh sebab itu, TCP dalam host B akan melepas byte dalam segmen

yang diretransmisikan.

(44)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Skenario kedua seperti pada Gambar 3.5, host A mengirimkan dua segmen

kembali ke belakang. Segmen pertama memiliki nomor urutan 92 dan 8 byte data dan

segmen kedua memiliki nomor urutan 100 dan 20 byte data. Kedua segmen tiba di B dan

B mengirimkan dua konfirmasi terpisah untuk masing-masing segmen ini. Pertama, dari

konfirmasi yang memiliki nomor konfirmasi (acknowledgement) 100, yang kedua adalah

120. Keduanya tiba di host A sebelum timeout. Ketika timeout terjadi, maka host A

mengirimkan kembali segmen pertama dengan nomor urutan 92 dan kembali memulai

timer. Sepanjang ACK untuk segmen kedua sampai sebelum timeout yang baru, segmen

kedua tidak akan diretransmisikan.

Gambar 3.5 Segmen 100 Tidak Diretransmisikan

Dalam skenario ketiga, host A mengirimkan dua segmen. Konfimasi dari segmen

pertama hilang di dalam jaringan, namun tepat sebelum peristiwa timeout. Host A

(45)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

mengetahui bahwa host B telah menerima segala sesuatunya melalui byte 119, jadi host A

tidak mengirimkan kembali salah satu dari dua segmen tersebut. Skenario ini

diilustrasikan pada Gambar 3.6.

Gambar 3.6 Cumulative Acknowledgement Membatalkan Retransmisi Segmen Pertama

3.3.2 Interval Timeout Dua Kali Lipat

Sekarang dibahas beberapa modifikasi implementasi TCP. Pertama adalah

panjang interval timeout setelah timer berakhir. Dalam modifikasi ini, bila timeout terjadi

TCP meretransmisi segmen yang belum dikonfirmasi dengan nomor urut yang paling

kecil. Tetapi masing-masing retransmisi TCP, menset interval timeout berikutnya ke nilai

sebelumnya dua kali, daripada menurunkannya dari EstimatedRTT dan DevRTT yang

terakhir. Misalnya, dinyatakan TimeoutInterval yang berkaitan dengan segmen yang

belum dikonfirmasi adalah 0,75 detik ketika timer berakhir untuk pertama kali, TCP akan

(46)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Jika timer ini berakhir 1,5 detik kemudian, TCP akan meretransmisikan segmen ini,

sekarang tetapkan waktu berakhirnya ke 3,0 detik. Sehingga interval akan tumbuh secara

eksponensial setelah pengiriman ulang. Ketika timer itu dimulai setelah salah satu dari

dua kejadian lain, maka TimeoutInterval diturunkan melalui nilai yang paling baru dari

EstimatedRTT dan DevRTT.

Modifikasi ini memberikan batasan dari kontrol kongesti. Berakhirnya timer

disebabkan oleh kemacetan dalam jaringan dan juga beberapa paket yang tiba pada satu

antrian diantara sumber dan tujuan, menyebakan paket dibatalkan dan juga adanya delay

yang panjang dalam antrian. Disamping itu, TCP bertindak lebih baik dengan

masing-masing pengirim melakukan retransmisi dalam interval yang lebih lama.

3.3.3 Retransmisi yang Cepat (Fast Retransmit)

Salah satu permasalahan yang berkaitan dengan retransmisi yang dipicu timeout

adalah periode timeout yang lebih lama. Ketika segmen itu hilang, maka periode timeout

yang panjang ini memaksa pengirim memperlambat pengiriman paket yang hilang

sehingga meningkatkan delay end to end. Demikian juga pengirim seringkali mendeteksi

kehilangan paket sebelum kejadian timeout terjadi dan ini disebut duplikasi ACK.

Duplikasi ACK adalah ACK yang mengkonfirmasi ulang segmen dimana pengirim baru

saja menerima sebuah konfirmasi. Untuk memahami respon pengirim untuk duplikat

ACK, harus dilihat mengapa penerima mengirimkan duplikat ACK untuk pertama kali.

Ketika penerima TCP ini menerima segmen dengan sebuah nomor urutan yang lebih

besar daripada berikutnya, penerima mendeteksi sebuah kekosongan dalam aliran data,

(47)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

maka penerima tidak dapat mengirimkan konfirmasi negatif kembali kepada pengirim.

Sebagai pengganti, dikonfirmasi kembali byte terakhir data yang sudah diterima.

Karena pengirim sering mengirimkan jumlah segmen yang besar kembali ke

belakang, jika satu segmen hilang maka akan ada banyak duplikat ACK. Jika pengirim

TCP menerima tiga duplikat ACK untuk data yang sama, maka ini diambil sebagai

indikasi bahwa segmen yang di-ACK tiga kali sudah hilang. Dalam kasus ini tiga ACK

duplikat diterima, pengirim TCP melakukan fast retransmit (retransmisi cepat),

mentransmisi ulang segmen sebelum timer segmen berakhir.

3.4 Penanganan Koneksi TCP

Dalam sub bagian ini akan dibahas dari dekat bagaimana koneksi TCP dibangun

dan menguraikannya. Meskipun topik ini terlihat tidak terlalu khusus, namun perlu

karena pembentukan koneksi TCP ini dapat menjelaskan delay yang ada. Lebih lanjut,

banyak serangan jaringan, termasuk serangan SYN dengan memanfatkan pengelolaan

koneksi TCP. Pertama dibahas bagaimana koneksi TCP dibentuk. Nyatakanlah proses

yang dijalankan itu dalam satu host (client) ingin memulai koneksi dengan proses dalam

host yang lain (server). Proses aplikasi client ini pertama kali memberitahukan TCP

client bahwa ia mau membangun sebuah koneksi proses dalam server. TCP dalam client

kemudian memulai membangun koneksi TCP dalam server dengan cara sebagai berikut:

Langkah 1. TCP sisi client mengirimkan segmen TCP khusus pada sisi server TCP.

Segmen khusus ini tidak memiliki data lapisan aplikasi. Tetapi salah satu bit flag

dalam header segmen, bit SYN, diset 1. Untuk alasan itu, segmen khusus ini disebut

(48)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

dan meletakkan nomor ini ke dalam field nomor urut (sequence number) dari TCP

SYN awal. Segmen ini dikemas dalam datagram IP dan mengirimkannya ke server.

Langkah 2. Sekali datagram IP yang memuat segmen TCP SYN tiba pada host server,

maka server akan mengeksktrak segmen TCP SYN dari datagram, mengalokasikan

buffer TCP dan variabel menuju koneksi dan mengirimkan segmen yang disetujui ini

kepada TCP client. Segmen yang disetujui ini juga tidak memuat data lapisan

aplikasi. Begitupun, ia memuat tiga bagian informasi penting dalam header segmen.

Pertama, bit SYN diset 1. Kedua, field acknowledgement dari header segmen TCP

diset ke client_isn+1. Akhirnya, server memilih nomor urutan awalnya (server_isn)

dan menempatkan nilai ini pada field nomor urut dari header segmen TCP. Segmen

yang disetujui ini akan berkata,”Saya menerima paket SYN anda untuk memulai

koneksi dengan nomor urut awalmu, client_isn. Saya setuju untuk membangun

koneksi ini. Nomor urut awal yang saya miliki adalah server_isn”. Segmen koneksi

yang disetujui ini disebut juga sebagai segmen SYNACK.

Langkah 3. Setelah menerima segmen SYNACK, client juga mengalokasikan buffer

dan variabel pada koneksi. Host client mengirimkan kepada server segmen lain,

Segmen terakhir ini mengkonfirmasikan segmen server (client juga melakukannya

dengan menempatkan nilai server_isn+1 pada field acknowledgement dari header

segmen TCP). Bit SYN diset ke 0, semenjak koneksi dibangun.

Setelah tiga langkah diselesaikan, client dan server dapat mengirimkan segmen yang

memuat data satu sama lain. Dalam setiap segmen ini, bit SYN akan diset ke nol. Sebagai

(49)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

diilustrasikan pada Gambar 3.7. Dengan alasan tersebut, aturan membangun koneksi ini

sering dinamakan three way handshake (jabatan tangan tiga arah).

Gambar 3.7 Jabatan Tangan (handshake) Tiga Arah TCP

Sekarang akan dibahas bagaimana proses untuk mengakhiri koneksi TCP. Salah

satu dari dua proses yang berpartisipasi dalam koneksi TCP dapat mengakhiri koneksi.

Ketika koneksi berakhir, maka “sumber” dalam host akan dibebaskan. Anggap client

memutuskan untuk menutup koneksi seperti pada Gambar 3.8. Proses aplikasi client

mengeluarkan perintah untuk menutup koneksi. Hal ini menyebabkan TCP client

mengirimkan segmen TCP khusus kepada proses server. Segmen khusus ini memiliki

sebuah bit flag dalam header segmen, yaitu bit FIN diset ke 1. Ketika server menerima

segmen ini, ia mengirimkan client sebuah segmen acknowledgement. Server kemudian

(50)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

mengkonfirmasikan segmen menutup (shutdown) server. Dalam hal ini, semua sumber

daya yang ada pada kedua host diakhiri.

Gambar 3.8 Penutupan Koneksi TCP

Selama pemakaian koneksi TCP, protokol TCP yang berjalan pada

masing-masing host melakukan peralihan melalui berbagai kondisi TCP. Gambar 3.9

mengilustrasikan urutan kondisi TCP dengan kunjungan TCP client. TCP client ini

memulai kondisi CLOSED. Aplikasi pada sisi client memulai koneksi TCP yang baru.

Ini meyebabkan TCP pada client mengirimkan segmen SYN pada TCP dalam server.

Setelah mengirimkan segmen SYN, TCP client membuka kondisi SYN_SENT. Ketika

dalam kondisi SYN_SENT, TCP client menunggu sebuah segmen dari TCP server yang

memasukkan sebuah konfirmasi untuk segmen client sebelumnya dan memiliki bit SYN

(51)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Ketika dalam kondisi ESTABLISHED, client TCP dapat mengirim dan menerima

segmen TCP yang berisikan data.

Anggap bahwa aplikasi client memutuskan ingin menutup koneksi. Hal ini

menyebabkan TCP client mengirimkan sebuah segmen TCP dengan bit FIN diset 1.

Ketika dalam kondisi FIN_WAIT_1, TCP client menunggu sebuah segmen TCP dari

server dengan sebuah acknowledgement. Ketika ia menerima segmen ini, TCP client

membuka kondisi FIN_WAIT_2. Ketika dalam kondisi FIN_WAIT_2, client menunggu

segmen yang lain dari server dengan bit FIN diset 1. Setelah menerima segmen ini, TCP

client mengkonfirmasikan segmen server dan membuka kondisi TIME_WAIT. Kondisi

TIME_WAIT membiarkan client TCP mengirimkan ulang acknowledgement terakhir

dalam kasus ACK hilang. Waktu yang dihabiskan dalam kondisi TIME_WAIT ini adalah

implementasi tanggungan, namun nilai yang khusus adalah 30 detik, 1 menit, dan 2

menit. Setelah menunggu, koneksi dengan resmi ditutup dan semua sumber daya pada

(52)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 3.9 Urutan Kondisi TCP yang Dikunjungi oleh TCP Client

Gambar 3.10 mengilustrasikan rangkaian kondisi yang dikunjungi oleh TCP sisi

server dengan mengasumsikan client memulai uraian koneksi. Transisi ini merupakan

penjelas. Dalam dua diagram kondisi transisi ini hanya diketahui bagaimana koneksi TCP

ini dibangun dan ditutup. Sehingga tidak perlu dijelaskan apa yang telah terjadi dalam

skenario pathologic, sebagai contoh ketika kedua sisi dari koneksi mau memulai atau

(53)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

Gambar 3.10 Urutan Kondisi TCP yang Dikunjungi oleh TCP Server

Sekarang dijelaskan apa yang terjadi ketika host menerima segmen TCP yang

memiliki nomor port atau alamat IP sumber yang tidak sesuai dengan socket dalam host.

Misalnya anggap sebuah host menerima paket TCP SYN dengan port tujuan 80, tetapi

host itu tidak menerima koneksi pada port 80. Maka host akan mengirimkan segmen

reset khusus pada sumber. Segmen TCP memiliki bit flag RST yang diset ke 1 [9].

Sehingga ketika host mengirimkan segmen itu, ia akan berbicara ke sumber, “Saya tidak

punya socket untuk segmen itu. Tolong jangan kirim kembali segmen itu.”

(54)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

PERANCANGAN PERANGKAT LUNAK SISTEM KOMUNIKASI CLIENT SERVER

4.1 Kebutuhan Sistem

Perangkat lunak untuk merancang sistem komunikasi client-server ini

menggunakan software visual basic 6.0. Sedangkan kebutuhan sistem yang diperlukan

untuk menginstalasi perangkat lunak sistem komunikasi client-server ini berupa sistem

operasi pada sisi client dan server dan perangkat keras komputer yang digunakan.

4.1.1 Sistem Operasi

Pada komputer client digunakan sistem operasi Windows XP Proffesional,

sedangkan komputer server menggunakan sistem operasi Windows Server 2000.

4.1.2 Perangkat Keras Komputer

Untuk perangkat keras komputer server digunakan Intel Pentium 4. Sedangkan

untuk komputer client dipakai Intel Pentium 3. Kedua komputer tersebut harus dilengkapi

dengan NIC untuk menghubungkan komputer dengan switch atau hub. Serta dibutuhkan

sebuah hub atau switch minimal 4 port.

4.2 Tahap-Tahap Perancangan Perangkat Lunak

Pada bab ini akan diuraikan langkah-langkah dalam merancang perangkat lunak

yang dimulai dari fase menganalisa sebuah kebutuhan akan perangkat lunak hingga

menguji sebuah perangkat lunak yang telah selesai dikembangkan.

4.2.1 Analisis Kebutuhan

(55)

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009

mempunyai kemampuan untuk memudahkan server dalam mengontrol komputer client,

memudahkan client untuk saling berkirim pesan dan berbagi data kepada sesama client

maupun kemudahan bagi client untuk mengakses data yang ada pada komputer server.

Berdasarkan kebutuhan di atas, maka dibuat window (form) utama server dan client.

Window utama tersebut masing-masing memiliki menu pilihan sesuai dengan fungsinya

masing-masing. Pada window utama server terdapat empat menu pilihan yaitu aplikasi,

explorer, client remote, dan peripheral. Melalui menu yang telah tersedia tersebut, server

dapat lebih mudah dalam mengontrol komputer client. Sedangkan pada window utama

client ada empat menu pilihan antara lain chatting, explorer, aplikasi dan akses database.

4.2.2 Spesifikasi Kebutuhan

Setelah kebutuhan perancangan perangkat lunak ditentukan, selanjutnya

menentukan struktur dari perangkat lunak tersebut. Struktur ini menggambarkan alur dari

pengoperasian perangkat lunak yang sedang dikembangkan. Alur pengoperasian

perangkat lunak dapat ditunjukkan pada bentuk diagram alir.

4.2.2.1 Diagram Alir

Diagram alir komunikasi client-server menunjukkan aktivitas antara server dan

client. Client memulai permintaan layanan (request), server nenanggapi request tersebut

(response), selanjutnya permintaan layanan client diproses oleh server. Server

memperhatikan apakah request client dapat dipenuhi atau tidak. Jika terpenuhi, server

akan mengirimkan kembali hasil permintaan tersebut ke client. Namun, apabila request

client tersebut tidak terpenuhi, server akan mengkonfirmasikan client bahwa permintaan

layanan saat ini belum bisa dipenuhi. Selanjutnya, proses client-server kembali ke awal

Gambar

Gambar 4.46 Tampilan Window Data Nilai.............................................................
Tabel 2.2 Well-Known Port yang Digunakan oleh TCP……………………..  22
Gambar 2.1 Topologi Bus
Gambar 2.4.
+7

Referensi

Dokumen terkait

Database Management System Penjualan berbasis client server dengan sebelumnya dibuatkan diagram konteks usulan, diagram arus data usulan, bagan alir sistem usulan,

Penulis membuat rancangan Sistem Informasi Akuntansi Aktiva Tetap berbasis client server dengan sebelumnya penulis membuat perancangan sistem informasi akuntansi aktiva

PERANCANGAN SISTEM INFORMASI AKUNTANSI PERSEDIAAN BARANG DAGANG (SUKU CADANG) DENGAN MENGGUNAKAN SOFTWARE MICROSOFT VISUAL BASIC 2005 DAN SQL SERVER 2005.. BERBASIS

Pada tahap perancangan Aplikasi M- Learning Bahasa Inggris Berbasis Client Server dalam penelitian ini akan dilakukan pengumpulan data dan informasi yang sesuai dengan

Sistem ini digunakan untuk mengolah data transaksi koperasi yang disimpan dalam database server koperasi dan dapat diakses oleh user melalui aplikasi client.. Aplikasi

Berdasarkan dari hasil pengujian sistem, dapat disimpulkan bahwa pemanfaatan teknologi Oracle dengan penerapan Data Warehouse pada Database Client Server yang dikembangkan

yang menggantikan software database berbasis file server.. Dikenalkan pula RDBMS (Relational Database Management

Untuk memodelkan perancangan sistem aplikasi POS dengan arsitektur client/server berbasis Linux dan Windows yang dihasilkan dilakukan dengan memfokuskan kepada diagram use