Perancangan Komunikasi Client Server Dan Sistem Database

(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 yang telah membekali penulis dengan berbagai disiplin ilmu.


(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,

Frans A Siagian


(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

BAB III PROSES TRANSAKSI DATA CLIENT SERVER 3.1 Koneksi TCP………... 26


(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

Gambar 3.6 Cumulative Acknowledgement Membatalkan Retransmisi Segmen Pertama……… 34


(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 merancang sebuah perangkat lunak untuk melakukan kontrol terhadap komputer client


(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 dari penulisan bab-bab sebelumnya.


(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 mengoptimalkan penggunaan perangkat keras maupun perangkat lunaknya karena


(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 tahanan (termination resistor) 50 ohm untuk menghindari pantulan yang dapat


(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 Gambar 2.4.


(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 dan secondary ring yang mengirim data dengan arah berlawanan. Walaupun data dapat


(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 Windows 2000 server.


(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 dapat dilihat pada Gambar 2.6.


(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 pesan atau permintaan kepada server, menerjemahkan pesan dari client agar dapat


(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 underlying. Pada Gambar 2.7 diperlihatkan lapisan model OSI.


(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

Net ID Host ID

127 . 255 . 255 . 255

Net ID Host ID

Kelas A Hingga

128 . 0 . 0 . 0

Net ID Host ID

191 . 255 . 255 . 255

Net ID Host ID

Kelas B Hingga

192 . 0 . 0 . 0

Net ID Host ID

223 . 255 . 255 . 255

Net ID Host ID

Kelas C Hingga

Gambar 2.9 Pembagian Kelas Nomor IP

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 B 255 . 255 . 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 110 POP3


(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 hanya menunggu socket untuk menerima permintaan koneksi (request) dari sebuah client


(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) untuk berkomunikasi melalui TCP/IP yang terkenal dengan nama WinSock 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 (pintu proses). Saat data melewati pintu, maka data sekarang berada dalam TCP yang


(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 maksimum dari field data segmen. Ketika TCP mengirimkan file besar seperti gambar,


(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 Acknowledgement number Header length Unused U R G F I N S Y N R S T P S H A C K Receive window Internet checksum Urgent data pointer

Options Data

32 bits

Gambar 3.2 Struktur Segmen TCP

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 word. Header TCP ini dapat memiliki panjang yang variabel terhadap opsi field TCP.


(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 kedua diberi nomor 1.000 dan ketiga dengan nomor 2.000 dst. Masing-masing


(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 transfer data yang reliable ke dalam dua langkah. Pertama membahas uraian pengirim


(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 menerima konfirmasi dengan bilangan konfirmasi 120. Oleh karena itu 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 mentransmisikan segmen ini dan juga menetapkan waktu berakhir yang baru ke 1,5 detik.


(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, itu merupakan segmen yang hilang. Sejak TCP tidak menggunakan konfirmasi negatif,


(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 segmen SYN. Disamping itu, client secara acak memilih nomor urut awal (client_isn)


(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 catatan untuk membangun koneksi, tiga paket dikirimkan diantara dua host yang


(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 mengirimkan segmen menutupnya, yang memiliki bit FIN yang diset 1. Akhirnya, client


(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 yang diset 1. Setelah menerima segmen, TCP client membuka kondisi ESTABLISHED.


(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 sisi client dihentikan.


(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 menutup pada waktu yang sama.


(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 yaitu client memulai permintaan layanan ke server. Aktivitas komunikasi client-server ini


(56)

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

diperlihatkan pada Gambar 4.1.

Start

Yes

No Client Request

ke Server

End Request yang Diminta Dikirimkan

ke Client Apakah Request Dapat Dipenuhi? Request Diproses

Server

Konfirmasi Layanan Tidak

Terpenuhi

Gambar 4.1 Diagram Alir Komunikasi Client Server

4.2.2.1.1 Diagram Alir Program Server

Diagram alir program server terdiri dari:


(57)

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

Start

Simpan =True

End Yes

No Cari =True

Ubah =True

Apakah Program Diaktifkan?

Aplikasi Dinonaktifkan Aplikasi

Diaktifkan Status Comp.Name,IP,

Program

Gambar 4.2 Diagram Alir Program Aplikasi


(58)

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

Start

Folder Diklik

File Ditampilkan

End Pilih Salah Satu Drive

Folder Ditampilkan

Gambar 4.3 Diagram Alir Program Explorer 3. Diagram Alir Program Client Remote

Start

End Komp. Client

Log Off Log Off = True Comp.Name,IP

Memproses Instruksi Log Off dari Server


(59)

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

Start

End Shut Down = True

Comp.Name,IP

Memproses Instruksi Shut Down dari Server

Komp.Client Shut Down

Gambar 4.5 Diagram Alir Proses Shut Down


(60)

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

Start

Tampilkan Waktu

Tampilkan Regional Setting

A Date/Time

=True

Regional Setting = True

Mouse =True

Tampilkan Pengaturan

Mouse

Tampilkan Pengaturan

Sound

Tampilkan System Komputer

End A

Sound =True

System =True

Gambar 4.6 Diagram Alir Program Peripheral

4.2.2.1.2 Diagram Alir Program Client

Diagram alir program client terdiri dari:


(61)

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

Start

Connect = True

Isikan Pesan

Send = True

Pesan Dikirimkan

Pesan Diterima Client yang Lain

End

Gambar 4.7 Diagram Alir Program Chat Sesama Client

Start

Isikan Pesan

Send = True

Pesan Dikirimkan

Pesan Diterima Server

End

Gambar 4.8 Diagram Alir Chat Client ke Server


(62)

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

Start

Folder Diklik

File Ditampilkan

End Pilih Salah Satu Drive

Folder Ditampilkan

Gambar 4.9 Diagram Alir Program Explorer

3. Diagram Alir Aplikasi Program

Start

Input IP, Program

End Program Diberikan Server Membaca Request Program

Gambar 4.10 Diagram Alir Aplikasi Program

4. Diagram Alir Akses Database

Diagram alir akses database dibedakan atas dua bagian yaitu diagram alir akses database untuk client pertama dan diagram alir akses database untuk client kedua.


(63)

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

a. Diagram alir akses database untuk client pertama

Start

End Menyimpan Data di

Database Server Tambah = True

Nim,Nama,Alamat, Temp.Lahir,Tgl.Lahir, Jen.Kelamin,Dosen Wali

Hasil Tampilkan di Tabel


(64)

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

Start

NIM

Apakah Data Benar? No

Tampilkan Semua Data

Mahasiswa Dan IPK

End Yes Tampilkan

Pesan “Tidak Ada”

Cari =True

Gambar 4.12 Diagram Alir Mencari Data Mahasiswa

Start

Tambah = True

Kode,Nama,Alamat, Jabatan

Menyimpan Data di Database Server

Hasil Tampilkan di Tabel

End


(65)

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

Start

Input Kode

Apakah Data Benar?

Tampilkan Alamat Dan

Jabatan

End Yes Tampilkan

Pesan “Tidak Ada” No

Cari =True

Gambar 4.14 Diagram Alir Mencari Data Dosen


(66)

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

Start

End Tambah = True

Menyimpan Data di Database Server

Hasil Tampilkan di Tabel Sem,Kode M.Kul,,Dosen,

Mt.Kul.Bobot SKS

Gambar 4.15 Diagram Alir Menambah Data Mata Kuliah

Start

Kode Mata Kuliah

Apakah Data Benar? Tampilkan

Pesan “Tidak Ada”

Tampilkan Nama Dosen,Mata Kuliah

Dan Bobot SKS Yes

End Cari = True

No


(67)

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

Start

Tambah = True

Semester,NIM,Mt.Kuliah, Nilai

Proses Akumulasi Nilai

Tampilkan IPK

Menyimpan Data di Database Server

Hasil Tampilkan di Tabel

End


(68)

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

Start

Cari = True

NIM

End Membaca Data di

Database Server

Tampilkan Nama dan

IPK

Gambar 4.18 Diagram Alir Mencari Data Nilai Mahasiswa

4.2.2.2 Perancangan Menu Sistem

Setelah menentukan struktur diagram alir dari perangkat lunak pada tahap spesifikasi kebutuhan, maka disiapkan menu sistem dari perangkat lunak. Perancangan menu sistem ini melibatkan dua window utama. Window pertama merupakan window utama server dan yang kedua adalah window utama client.

4.2.2.2.1 Perancangan Window Tampilan Utama Server

Window utama merupakan window yang otomatis terbuka pada saat perangkat lunak dijalankan. Window utama ini akan memuat menu-menu pilihan, menu-menu ini yang nantinya akan digunakan untuk mengatur dan mengontrol client. Menu tersebut tersimpan pada menu file, antara lain aplikasi, explorer, client remote dan peripheral. Bentuk rancangan window utama server ini dapat dilihat pada Gambar 4.19.


(69)

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

Gambar 4.19 Rancangan Window Tampilan Utama Server

Sedangkan rancangan window untuk menu aplikasi, explorer, client remote dan peripheral diperlihatkan pada gambar berikutnya.

1. Perancangan Window Aplikasi

Window aplikasi merupakan window yang diperuntukkan bagi server untuk membatasi hak akses client terhadap suatu program yang bisa dipakai di komputer client tersebut. Pada window aplikasi telah ditentukan aplikasi apa saja yang dapat digunakan oleh client dengan menentukan status aplikasi tersebut pada komputer yang dituju. Jika status aktif maka client dapat menggunakan aplikasi tersebut demikian dengan sebaliknya. Bila ingin menambah aplikasi dengan status aktif maka diklik tombol cari, lalu pilih client berapa yang ingin ditambah aplikasinya dan pilih IP address-nya. Kemudian tentukan nama program yang akan ditambah. Sesudah itu pastikan memilih status aktif, dan simpan perubahan tersebut dengan mengklik tombol simpan. Hasilnya program yang dipilih akan ditambahkan ke komputer client. Bentuk rancangan window aplikasi diperlihatkan pada Gambar 4.20.

Menu Utama Server – X

PERANCANGAN KOMUNIKASI CLIENT SERVER DAN SISTEM DATABASE

File Quit

Computer Name


(70)

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

Gambar 4.20 Rancangan Window Aplikasi 2. Perancangan Window Explorer

Window explorer merupakan window yang diperuntukkan bagi server untuk dapat menjelajah isi memory pada client, sehingga dengan mudah dapat digunakan untuk meng-copy data yang diinginkan yang ada pada client. Bentuk rancangan window explorer diperlihatkan pada Gambar 4.21.

IP Address Nama Program

Kode Status

Data Program

IP Kode Nama

Tombol

Simpan Cari Ubah Batal Keluar

Select File:

C: Browse


(71)

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

Gambar 4.21 Rancangan Window Explorer 3. Perancangan Window Client Remote

Window client remote merupakan window yang diperuntukkan bagi server untuk mengakhiri ataupun memotong proses kerja client. Server dapat langsung men-shut down client, me-log off client dengan terlebih dahulu memilih IP address komputer atau computer name client. Bentuk rancangan window client remote ini ditunjukkan seperti pada Gambar 4.22.

Gambar 4.22 Rancangan Window Client Remote

4. Perancangan Window Peripheral

Window peripheral merupakan window yang diperuntukkan bagi server untuk mengatur peripheral komputernya sendiri. Pengaturan yang ada dapat berupa pengaturan

Client Remote – X

All Client

Computer Name IP Address Status

Log Off Shut Down Batal

Keluar


(1)

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

4.2.4.2 Pengujian Perangkat Lunak Server

Pengujian perangkat lunak server terdiri dari: 1. Pengujian program aplikasi

Program aplikasi ini bertujuan untuk memberikan hak akses suatu program kepada client. Ketika diuji sebelum akses diberikan, pertama ditekan tombol cari untuk mencari nama komputer client yang akan diberikan akses program. Setelah itu ditentukan nama program yang akan dikirim ke client. Untuk mengaktifkan program tersebut harus terlebih dahulu ditekan tombol ubah kemudian diklik status aktif. Kemudian tombol simpan ditekan supaya status tersebut tersimpan datanya di server. Proses pemberian akses program ini agak rumit, perlu sedikit latihan untuk mengoperasikannya.

2. Pengujian aplikasi explorer

Ketika diuji aplikasi explorer ini sangat mudah mengoperasikannya, langkah-langkahnya sama dengan mengoperasikan explorer pada sisi client. Server dapat melihat isi drive harddisk-nya sendiri dengan menekan tombol combo lalu memilih drive yang diinginkan. Setelah itu akan muncul folder atau file yang berada pada drive tersebut. Untuk melihat data komputer client di jaringan, cukup menekan tombol berlambang explore. Kemudian akan muncul window baru yang memudahkan server untuk menjelajah isi memory client yang ada di jaringan.

3. Pengujian aplikasi client remote

Aplikasi client remote ini digunakan untuk mengakhiri kerja komputer client. Ketika diuji sebelum me-remote client pertama tombol log off ditekan selanjutnya nama


(2)

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

komputer client yang akan di-log off dipilih, kemudian status off diklik. Hasilnya komputer client yang di-remote akan log off dengan sendirinya. Dalam pengujian ini perintah log off sampai ke komputer client lumayan cepat, waktu yang dibutuhkan sekitar dua detik baru kemudian komputer akan log off. Sedangkan untuk men-shut down langkah-lagkahnya sama dengan ketika server me-log off client. Waktu yang dibutuhkan lebih lama dua detik dibanding ketika me-log off komputer client.

4. Pengujian aplikasi peripheral

Aplikasi peripheral berguna untuk mengatur setting peripheral komputer server. Sewaktu diuji aplikasi ini sangat praktis dalam mengoperasikannnya, dengan menekan tombol masing-masing peripheral maka window pengaturannya akan muncul di layar komputer. Aplikasi ini juga menyediakan fasilitas untuk menginformasikan space harddisk komputer server yaitu dengan menekan tombol di samping combo box yang berlambang drive hard disk maka secara otomatis tampil informasi space hard disk saat itu.


(3)

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

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari pembahasan yang telah dilakukan, maka dapat disimpulkan beberapa hal, yaitu:

1. Perangkat lunak yang dirancang ini merupakan salah satu dari aplikasi pemrograman jaringan komputer.

2. Perangkat lunak komunikasi client-server dibuat dengan pemrograman API (Application Programming Interface) untuk dapat berkomunikasi melalui TCP/IP. 3. Perangkat lunak ini memiliki tampilan menu utama yang sederhana dan praktis yang

memuat menu-menu pilihan dengan menyesuaikan kebutuhan user, sehingga mudah mengoperasikannya.


(4)

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

4. Peranan perangkat lunak ini cukup membantu server dalam hal pengontrolan komputer client. Server menjadi semakin mudah dalam mengontrol komputer client. 5. Client dapat mengakses database yang berada di komputer server dengan mudah

melalui interface akses database yang telah disediakan di perangkat lunak komputer client.

5.2 Saran

Dalam Tugas Akhir ini penulis menggunakan satu komputer server dan dua komputer client, tampak performansi perangkat lunak cukup handal dalam mengontrol komputer. Namun perlu dilakukan penelitian lebih lanjut untuk melihat keandalan perangkat lunak ini, sehingga diketahui berapa jumlah maksimum komputer client yang masih dapat dikontrolnya dengan baik.


(5)

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

DAFTAR PUSTAKA

[1] A TCP/IP Socket Server Object For Visual Basic. 2006.

[2] Creating a TCP Component in Visual Basic.

2006.

[3] Currid, Cheryl C., dan Craig A. Gillet, “Menguasai Novell Netware”, PT. Elex Media Komputindo, Jakarta, 1990.

[4] Frank J., dan Defler Jr., “Panduan Menggabungkan LAN”, PT. Elex Media Komputindo, Jakarta, 1992.

[5] Gunadi FX, Sutiono, dan Hanny Agustine, “Memahami Konsep Local Area Network”, PT. Elex Media Komputindo, Jakarta, 1991.

[6] Heywood, Drew, “Networking with Microsoft TCP/IP”, New Rider Publishing, New York, 1996.

[7] Jaringan WorkGroup, LAN dan WAN. 2006.


(6)

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

[8] Kurniadi, Adi, “Pemrograman Microsoft Visual Basic 6”, PT. Elex Media Komputindo, Jakarta, 1999.

[9] Kurose, James F., “Computer Networking”, Pearson Education, Inc. , New York, 2005.

[10] Nugroho, Bunafit, “Instalasi dan Konfigurasi Jaringan Windows dan Linux”, Penerbit Andi, Yogyakarta, 2005.

[11] Sutedjo, Budi, “Client Server dan Sistem Terdistribusi”, Andi, Yogyakarta, 2006. [12] Tanembaum, Andrew S., “Computer Networks”, Prentice Hall, Inc. , New Jersey,

1996.

[13] Yuswanto, dan Subari, “Mengolah Database dengan SQL Server 2000”, Prestasi Pustaka Publisher, Jakarta, 2005.