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 2007 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 2007 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. 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
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 2.2.1.1 Topologi Bus……………………………………………………. 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………………………………………………….
2.4
13
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
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 4.2.3 Implementasi Perangkat Lunak………………………………………… 71 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
DAFTAR PUSTAKA…………………………………………………………….
97
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………………………………………………………….
Gambar 2.8
Model TCP/IP……………………………………………………… 13
Gambar 2.9
Pembagian Kelas Nomor IP………………………………………… 20
13
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
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 Gambar 4.18 Diagram Alir Mencari Data Nilai Mahasiswa.................................... 58 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 Gambar 4.41 Tampilan Explorer.............................................................................. 81 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 Gambar 4.46 Tampilan Window Data Nilai.............................................................. 89
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
Tabel 2.2
Well-Known Port yang Digunakan oleh TCP……………………..
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
22
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 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.
2. Client hanya bisa mengakses data, berbagi data dan berkirim pesan dengan server.
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.
BAB III
: PROSES TRANSAKSI DATA CLIENT SERVER
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.
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
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
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 2.2.1.3 Topologi Ring 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. Komputerkomputer 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.
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 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.
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.
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
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.
d. Client tidak perlu mengetahui lokasi fisik server 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. 2.4 Referensi Model Jaringan
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 standarstandar internasional. ISO ini mengeluarkan juga 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.
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.
3. Network Layer
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.
2.4.2 Model TCP/IP
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).
b. Transport Layer
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-toPoint 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. 2.4.2.1 Pembagian Kelas Nomor IP 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. Kelas A
0. 0 . 0 . 0 Net ID
Kelas B
Host ID
Kelas C
Net ID
128 . 0 . 0 . 0 Net ID
127 . 255 . 255 . 255
Hingga
Hingga
191 . 255 . 255 . 255
Host ID
Net ID
192 . 0 . 0 . 0 Net ID
Host ID
Hingga
Host ID
223 . 255 . 255 . 255 Net ID
Host ID
Host ID
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
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
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 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. 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 BAB III 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 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, 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. 32 bits
Source port #
Dest. Port # Sequence number Acknowledgement number
Header length
Unused
U A R C G K
P S H
R S T
S Y N
F I N
Internet checksum
Receive window
Urgent data pointer
Options
Data
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.
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 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. File Data for 1st segment
0
1
Data for 2nd segment
1000
1.999
499.999
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 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.
Gambar 3.4 Retransmisi untuk Konfirmasi yang Hilang 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 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. 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 masingmasing 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,
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)
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
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
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 masingmasing 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.
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.
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.
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.”
BAB IV 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 Pada perangkat lunak komunikasi client-server yang telah dibuat, diharapkan 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 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
diperlihatkan pada Gambar 4.1. Start
Client Request ke Server
Request Diproses Server
Konfirmasi Layanan Tidak Terpenuhi No
Apakah Request Dapat Dipenuhi?
Yes Request yang Diminta Dikirimkan ke Client
End
Gambar 4.1 Diagram Alir Komunikasi Client Server 4.2.2.1.1 Diagram Alir Program Server Diagram alir program server terdiri dari:
1. Diagram Alir Program Aplikasi
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Cari =True
Comp.Name,IP, Program
Ubah =True
Status
Simpan =True
Apakah Program Diaktifkan?
No
Yes Aplikasi Diaktifkan
Aplikasi Dinonaktifkan
End
Gambar 4.2 Diagram Alir Program Aplikasi
2. Diagram Alir Program Explorer
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Pilih Salah Satu Drive
Folder Ditampilkan
Folder Diklik
File Ditampilkan
End
Gambar 4.3 Diagram Alir Program Explorer 3. Diagram Alir Program Client Remote Start
Log Off = True Comp.Name,IP
Memproses Instruksi Log Off dari Server
Komp. Client Log Off
End
Gambar 4.4 Diagram Alir Proses Log Off
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Shut Down = True
Comp.Name,IP
Memproses Instruksi Shut Down dari Server
Komp.Client Shut Down
End
Gambar 4.5 Diagram Alir Proses Shut Down
4. Diagram Alir Program Peripheral Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
A Start
Date/Time =True
Tampilkan Pengaturan Mouse
Sound =True Tampilkan Waktu
Regional Setting = True
Tampilkan Regional Setting
Tampilkan Pengaturan Sound
System =True
Mouse =True
Tampilkan System Komputer
A
End
Gambar 4.6 Diagram Alir Program Peripheral 4.2.2.1.2 Diagram Alir Program Client Diagram alir program client terdiri dari:
1. Diagram Alir Program Chat
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 2. Diagram Alir Program Explorer
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Pilih Salah Satu Drive
Folder Ditampilkan
Folder Diklik
File Ditampilkan
End
Gambar 4.9 Diagram Alir Program Explorer 3. Diagram Alir Aplikasi Program Start
Input IP, Program
Server Membaca Request Program
Program Diberikan
End
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. Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
a. Diagram alir akses database untuk client pertama Start
Tambah = True
Nim,Nama,Alamat, Temp.Lahir,Tgl.Lahir, Jen.Kelamin,Dosen Wali
Menyimpan Data di Database Server
Hasil Tampilkan di Tabel
End
Gambar 4.11 Diagram Alir Menambah Data Mahasiswa
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Cari =True
NIM Tampilkan Pesan “Tidak Ada”
No
Apakah Data Benar? Yes Tampilkan Semua Data Mahasiswa Dan IPK
End
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
Gambar 4.13 Diagram Alir Menambah Data Dosen
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Cari =True
Tampilkan Pesan “Tidak Ada” No
Input Kode
Apakah Data Benar? Yes Tampilkan Alamat Dan Jabatan
End
Gambar 4.14 Diagram Alir Mencari Data Dosen
b. Diagram alir akses database untuk client kedua Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Tambah = True
Sem,Kode M.Kul,,Dosen, Mt.Kul.Bobot SKS
Menyimpan Data di Database Server
Hasil Tampilkan di Tabel
End
Gambar 4.15 Diagram Alir Menambah Data Mata Kuliah Start
Cari = True
Tampilkan Pesan “Tidak Ada” No
Kode Mata Kuliah
Apakah Data Benar? Yes Tampilkan Nama Dosen,Mata Kuliah Dan Bobot SKS
End
Gambar 4.16 Diagram Alir Mencari Data Mata Kuliah 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
Gambar 4.17 Diagram Alir Menambah Data Nilai Mahasiswa
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Start
Cari = True
NIM
Membaca Data di Database Server
Tampilkan Nama dan IPK
End
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.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Menu Utama Server
–
X
File Quit
PERANCANGAN KOMUNIKASI CLIENT SERVER DAN SISTEM DATABASE
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.
Aplikasi Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 Name USU Repository ©Computer 2009
–
X
IP Address Nama Program Kode Status
Data Program IP
Kode
Nama
Tombol Simpan
Cari
Ubah
Batal
Keluar
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 mengcopy data yang diinginkan yang ada pada client. Bentuk rancangan window explorer diperlihatkan pada Gambar 4.21.
Windows Browser Select File: Frans A. Siagian : Perancangan C: Komunikasi Client Server Dan Sistem Database,Browse 2008 USU Repository © 2009
–
X
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. Client Remote
Computer Name
– Log Off
IP Address
Shut Down
Status
Batal
All Client
X
Keluar
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 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
My System
–
X
jam dan tanggal, regional setting, mouse, sound dan system seperti yang terlihat pada Gambar 4.23.
Date/Time
Regional Settings
Mouse
Sounds
System
Run System Properties Show Start Button Log Off xxxxxx
Gambar 4.23 Rancangan Window Peripheral Apabila salah satu dari tombol-tombol date/time, regional settings, mouse, sounds dan system diklik, maka akan muncul tampilan date/time, regional setting, mouse, sounds dan system dari sistem Windows yang sedang dijalankan. 4.2.2.2.2 Perancangan Window Tampilan Utama Client Saat perangkat lunak pertama kali dijalankan pada komputer client, window utama ini secara otomatis akan terbuka. Window utama ini akan memuat menu-menu pilihan, menu-menu ini nantinya akan digunakan untuk melakukan komunikasi antara client dan server, bertukar data antara sesama client dan juga untuk mengakses layanan data yang ada pada komputer server. Menu tersebut tersimpan pada menu file, antara lain chatting, explorer, program dan akses database. Bentuk rancangan window utama client ini dapat dilihat pada Gambar 4.24. Menu Utama Client File
–
Quit
PERANCANGAN KOMUNIKASI CLIENT SERVER2008 DAN Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, DATABASE USU Repository © 2009
SISTEM
X
Gambar 4.24 Rancangan Window Tampilan Utama Client Sedangkan rancangan window untuk menu chatting, explorer, program dan akses database akan diperlihatkan pada gambar berikutnya. 1. Perancangan Window Pesan (Chatting) Pada komputer client ada dua bentuk window pesan (chatting). Pertama, digunakan untuk saling berkirim pesan dengan sesama client. Gambar rancangannya dapat dilihat pada Gambar 4.25. Sebelum mengirim pesan, client harus menekan tombol connect terlebih dahulu. Lalu mengisikan pesan pada text box yang tersedia. Kemudian untuk mengirimkan pesan tersebut, client harus menekan tombol send.
Chatting Connect
– Disconnect
Status:
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
X
Send
Clear
Quit
Gambar 4.25 Rancangan Window Chatting ke Client Window chatting yang kedua digunakan untuk mengirim pesan kepada komputer server. Bentuk rancangan window pesan tersebut dapat dilihat pada Gambar 4.26. Untuk mengirim pesan, client pertama kali mengisi pesan pada kotak pesan selanjutnya untuk mengirimkannya tombol send ditekan. Chatting
Server
–
X
Server User
Message
Send Cancel Exit
Gambar 4.26 Rancangan Window Mengirim Pesan ke Server
2. Perancangan Window Explorer Window explorer berguna bagi client untuk dapat menjelajah data-data sesama client. Melalui window explorer ini juga client dapat saling berbagi data satu sama lain. Untuk menjalankannya client harus menekan tombol browse, setelah itu akan tampil menu open yang berisikan data-data yang ada pada client. Kemudian, client bisa mengcopy data yang ada pada komputer client yang lain. Bentuk rancangan window explorer Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
dapat dilihat pada Gambar 4.27. Windows Browser
–
X
Select File: Browse
C:
Gambar 4.27 Rancangan Window Explorer 3. Perancangan Window Program Window program berguna bagi client supaya dapat melihat program apa saja yang dapat dibuka yang telah diberikan hak aksesnya oleh server tanpa mengetahui program yang dapat dibuka oleh komputer lain. Untuk mengaktifkan program yang telah diberikan hak aksesnya oleh server, client cukup menekan tombol combo pada combo box program. Selanjutnya pilih salah satu nama program yang telah tersedia, maka secara otomatis window program yang dipilih akan muncul di layar komputer. Bentuk rancangan window program dapat dilihat pada Gambar 4.28. Program
IP Address
– Keluar
Program
Gambar 4.28 Rancangan Window Program Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
X
4. Perancangan Window Akses Database Untuk mengakses data-data di server, dirancang window yang sesuai agar client dapat dengan mudah mengakses setiap data yang dibutuhkan. Masing-masing client memiliki hak akses data yang berbeda. Rancangan window akses database masingmasing client dapat dilihat pada Gambar 4.29, Gambar 4.30, Gambar 4.31 dan Gambar 4.32. a. Perancangan window akses database untuk client pertama Client pertama bisa mengakses data mahasiswa dan data dosen. Agar dapat memodifikasi data, pada window tersedia tombol-tombol fungsi yang digunakan untuk menambah data, mencari, mengubah dan menghapus data.
Data Mahasiswa
–
NIM
IPK
Nama Alamat Tempat Lahir
Tgl Lahir
Jenis Kelamin Dosen Wali Tombol Tambah
Cari
Ubah
Hapus
Batal
Keluar
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
NIM
Nama Mhs
Alamat
Tpt.Lahir
Tgl.Lahir
Kd.Dosen
X
Gambar 4.29 Rancangan Window Data Mahasiswa Seperti tampak pada Gambar 4.29, client dapat menambah data dengan menekan tombol tambah. Pertama kali data diisikan mulai dari NIM, nama, alamat sampai dosen wali. Sampai pada pengisian dosen wali, data secara otomatis ditambahkan pada database. Hasil penambahan data ditampilkan pada tabel dibawah tombol. Selanjutnya untuk mencari data mahasiswa tombol cari ditekan, cukup mengisikan NIM maka semua data mulai dari nama hingga IPK mahasiswa akan ditampilkan. Begitu juga untuk mengakses data dosen, window yang dirancang seperti pada Gambar 4.30. client dapat menambah data dengan menekan tombol tambah. Pertama kali data diisikan mulai dari kode, nama, alamat sampai jabatan. Sampai pada pengisian jabatan, data secara otomatis ditambahkan pada database. Hasil penambahan data ditampilkan pada tabel dibawah tombol. Selanjutnya untuk mencari data dosen tombol cari ditekan, cukup mengisikan kode dosen maka semua data mulai dari nama hingga jabatan dosen akan ditampilkan. Data Dosen
Kode Nama Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 Alamat USU Repository © 2009
Jabatan
–
X
Tombol Tambah
Cari
Ubah
Hapus
Batal
Keluar
Gambar 4.30 Rancangan Window Data Dosen
b. Perancangan window akses database untuk client kedua Client kedua bisa mengakses data mata kuliah dan data nilai. Agar dapat memodifikasi data, pada window tersedia tombol-tombol fungsi yang digunakan untuk menambah data, mencari, mengubah dan menghapus data. Mata Kuliah
Kd.Mt.Kuliah
–
Semester
Nm.Dosen Nm.Mt.Kuliah Bobot SKS Tombol Tambah Cari Ubah Hapus Batal 2008 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, USU Repository © 2009
Keluar
X
Gambar 4.31 Rancangan Window Data Mata Kuliah Seperti tampak pada Gambar 4.31, client dapat menambah data dengan menekan tombol tambah. Pertama kali data diisikan mulai dari kode mata kuliah, nama dosen, nama mata kuliah sampai bobot SKS. Sampai pada pengisian bobot SKS, data secara otomatis ditambahkan pada database. Hasil penambahan data ditampilkan pada tabel dibawah tombol. Selanjutnya untuk mencari data nilai tombol cari ditekan, cukup mengisikan kode mata kuliah maka semua data mulai dari nama dosen hingga bobot SKS mata kuliah mahasiswa akan ditampilkan.
Begitu juga untuk mengakses data nilai mahasiswa, window yang dirancang seperti pada Gambar 4.32. Client dapat menambah data dengan menekan tombol tambah. Pertama kali data diisikan mulai dari NIM, mata kuliah sampai nilai. Sampai pada pengisian nilai, data secara otomatis ditambahkan pada database. Hasil penambahan data ditampilkan pada tabel dibawah tombol. Selanjutnya untuk mencari data nilai tombol cari ditekan, cukup mengisikan NIM maka semua data mulai dari mata kuliah hingga IPK mahasiswa akan ditampilkan. Data Nilai
–
Semester
IPK
NIM Mt.Kuliah Nilai Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
NIM
Semester
Kd.Mt.Kuliah
Nm.Mt.Kuliah
Nilai
X
Tombol Tambah
Cari
Ubah
Hapus
Batal
Keluar
Gambar 4.32 Rancangan Window Data Nilai
4.2.3 Implementasi Perangkat Lunak Setelah
merancang
interface
dari
program,
tahap
selanjutnya
adalah
mengimplementasikan rancangan program. Setiap rancangan program direalisasikan dalam bentuk aplikasi yang siap pakai, sehinnga user dapat langsung menggunakan aplikasi ini untuk melaksanakan tugasnya masing-masing. Pada implementasi ini setiap aplikasi yang dibuat diberikan pengkodean program tahap demi tahap untuk menjelaskan prinsip kerja aplikasi tersebut. 4.2.3.1 Tampilan Utama Server Bentuk tampilan utama server ketika dijalankan dapat dilihat pada Gambar 4.33.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 4.33 Tampilan Utama Server Kode programnya adalah sebagai berikut: Dim j As Integer Private Sub APLI_Click() frmAplikasi.Show End Sub Private Sub exp_Click() frmExplorer.Show End Sub Private Sub Peri_Click() frmControlPanelQ.Show End Sub Private Sub RemCliet_Click() frmTugas.Show End Sub Private Sub Timer1_Timer() Dim jud, jud1 As String jud = "PERANCANGAN KOMUNIKASI CLIENT SERVER" jud1 = "DAN SISTEM DATABASE" Label1.Caption = Left(jud, j) Label2.Caption = Right(jud1, j) If j = 1 Then Label1.ForeColor = &HFFFF00 ElseIf j > 10 Then Label1.ForeColor = &HFFFF00 Else Label1.ForeColor = &HFFFF00 End If j = j + 1 If j > Len(jud) + 20 Then j = 1 End If End Sub Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
4.2.3.1.1 Tampilan Aplikasi Bentuk tampilan aplikasi ketika dijalankan dapat dilihat pada Gambar 4.34.
Gambar 4.34 Tampilan Utama Aplikasi Kode programnya adalah sebagai berikut: Option Explicit Dim CN1 As Connection Dim CN2 As Connection Dim rsPro As Recordset Dim rsCari As Recordset Dim rsSave As Recordset Dim rsUbah As Recordset Dim rsKode As Recordset Dim strSt As String * 1 Dim aksi, x As String Dim Prv1, Prv2 As String Private Sub cboComName_Click() If cboComName = "KOM1" Then On Error Resume Next aksi = "KOM1" cboIP = "192.168.10.2" Adodc1.ConnectionString = Prv1 Adodc1.Refresh grid1.Visible = True grid1.Refresh grid1.Visible = True grid1.ColWidth(0) = 0 grid1.ColWidth(1) = 2000 grid1.TextMatrix(0, 0) = "" If cari = True Then cboNmProg.Enabled = True cboNmProg.SetFocus ElseIf tambah = True Then cboNmProg.Enabled = True cboNmProg.SetFocus End If Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
ElseIf cboComName = "KOM2" Then On Error Resume Next aksi = "KOM2" cboIP = "192.168.10.3" Adodc1.ConnectionString = Prv2 Adodc1.Refresh grid1.Visible = True grid1.Refresh grid1.Visible = True grid1.ColWidth(0) = 0 grid1.ColWidth(1) = 2000 grid1.TextMatrix(0, 0) = "" If cari = True Then cboNmProg.Enabled = True cboNmProg.SetFocus ElseIf tambah = True Then cboNmProg.Enabled = True cboNmProg.SetFocus End If End If End Sub
4.2.3.1.2 Tampilan Explorer Bentuk tampilan explorer ketika dijalankan dapat dilihat pada Gambar 4.35.
Gambar 4.35 Tampilan Explorer Kode programnya adalah sebagai berikut: Option Explicit Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub filList_PathChange() On Error Resume Next DoEvents ListView1.ListItems.Clear Set ListView1.Icons = Nothing Set ListView1.SmallIcons = Nothing imgFiles.ListImages.Clear MousePointer = vbHourglass TalkHog "Retrieving files in folder: " & dirList.Path Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Dim sPath As String, w As Long sPath = IIf(Right(filList.Path, 1) = "\", filList.Path, filList.Path & "\") Dim imgT As ListImage, i As Integer, hIcon For i = 0 To filList.ListCount - 1 w = 1 hIcon = ExtractAssociatedIcon(0, sPath & filList.List(i), w) If IsNull(hIcon) Then picBuff.Picture = picDefault.Picture Else Set picBuff.Picture = Nothing DoEvents DrawIcon picBuff.hdc, 0, 0, hIcon DoEvents picBuff.Picture = picBuff.Image DoEvents End If Set imgT = imgFiles.ListImages.Add(, , picBuff.Picture) Next ListView1.Icons = imgFiles ListView1.SmallIcons = imgFiles For i = 0 To filList.ListCount - 1 ListView1.ListItems.Add , , filList.List(i), i + 1, i + 1 Next TalkHog MousePointer = vbDefault End Sub
4.2.3.1.3 Tampilan Client Remote Bentuk tampilan client remote ketika dijalankan dapat dilihat pada Gambar 4.36.
Gambar 4.36 Tampilan Client Remote Kode programnya adalah sebagai berikut: Dim Dim Dim Dim
CnKom2 As Connection CnKom1 As Connection rsShut As Recordset aksi, Proses As String
Private Sub cboSt_Click() On Error Resume Next If aksi = "1" Then If Proses = "L" Then If cboSt = "On" Then Set rsShut = New ADODB.Recordset Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
rsShut.Open "Update tOff set status='1'", CnKom1, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide ElseIf cboSt = "Off" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tOff set status='*'", CnKom1, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide End If ElseIf Proses = "S" Then If cboSt = "On" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tShut set status='1'", CnKom1, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide ElseIf cboSt = "Off" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tShut set status='*'", CnKom1, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide End If End If ElseIf aksi = "2" Then If Proses = "L" Then If cboSt = "On" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tOff set status='1'", CnKom2, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide ElseIf cboSt = "Off" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tOff set status='*'", CnKom2, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide End If ElseIf Proses = "S" Then If cboSt = "On" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tShut set status='1'", CnKom2, 1, 2 cboComName = "" cboIP = "" cboSt = "" Option1.Value = False Me.Hide ElseIf cboSt = "Off" Then Set rsShut = New ADODB.Recordset rsShut.Open "Update tShut set status='*'", CnKom2, 1, 2 cboComName = "" cboIP = "" cboSt = "" Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Option1.Value = False Me.Hide End If End If End If End Sub
4.2.3.1.4 Tampilan Peripheral Bentuk tampilan peripheral ketika dijalankan dapat dilihat pada Gambar 4.37.
Gambar 4.37 Tampilan Peripheral Kode programnya adalah sebagai berikut: Option Explicit Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long Private Sub Icon_Click(Index As Integer) On Error GoTo errorhandler If Index = 0 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 1 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 2 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 3 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 4 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 5 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 6 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL ElseIf Index = 7 Then frmStPrintServer.Show ElseIf Index = 8 Then Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
timedate.cpl") appwiz.cpl,,1") timedate.cpl") timedate.cpl") inetcpl.cpl,,0") joy.cpl") main.cpl @1")
Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL main.cpl @0") ElseIf Index = 9 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0") ElseIf Index = 10 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl") ElseIf Index = 11 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL password.cpl") ElseIf Index = 12 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0") ElseIf Index = 13 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1") ElseIf Index = 14 Then Call ControlPanels("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0") End If Exit Sub errorhandler: MsgBox "The selected function is not available on this system", vbCritical, "Not available" End Sub
4.2.3.2 Tampilan Utama Client Bentuk tampilan utama server ketika dijalankan dapat dilihat pada Gambar 4.38.
Gambar 4.38 Tampilan Utama Client Kode programnya adalah sebagai berikut: Option Explicit Dim ConMnu As Connection Dim j As Integer Dim aksi As String Dim AksiMsg As String Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Dim rsShut As Recordset Dim rsOff As Recordset Dim rsMsg As Recordset Private Sub Timer1_Timer() Timer1.Interval = 200 Dim jud, jud1 As String jud = "PERANCANGAN KOMUNIKASI CLIENT SERVER" jud1 = "DAN SISTEM DATABASE" Label1.Caption = Left(jud, j) Label2.Caption = Right(jud1, j) If j = 1 Then Label1.ForeColor = &HFFFF00 ElseIf j > 10 Then Label1.ForeColor = &HFFFF00 Else Label1.ForeColor = &HFFFF00 End If j = j + 1 If j > Len(jud) + 20 Then j = 1 End If Timer2.Enabled = True End Sub
4.2.3.2.1 Tampilan Chatting Bentuk tampilan chatting ke client ketika dijalankan dapat dilihat pada Gambar 4.39.
Gambar 4.39 Tampilan Chatting ke Client Kode programnya adalah sebagai berikut: Private Sub Connect_Click() Winsock1.connect "192.168.10.2", 200 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Status.Caption = "Sending request" inputText.SetFocus End Sub Private Sub Disconnect_Click() Winsock1.Close Status.Caption = "Sending close request" Unload Me End Sub Private Sub Send_Click() Winsock1.SendData (inputText.Text) End Sub Private Sub Winsock1_Close() Status.Caption = "Connection closed" End Sub Private Sub Winsock1_Connect() Status.Caption = "Request accepted" End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim txt As String Winsock1.GetData txt, vbString outputText.Print txt End Sub
Bentuk tampilan chatting ke server ketika dijalankan dapat dilihat pada Gambar 4.40.
Gambar 4.40 Tampilan Chatting ke Server Kode programnya adalah sebagai berikut: Option Explicit Private Const NERR_Success As Long = 0& Private Declare Function LockWorkStation Lib "user32.dll" () As Long Private Declare Function NetMessageBufferSend Lib "NETAPI32.DLL" _ (yServer As Any, yToName As Byte, yFromName As Any, yMsg As Byte, ByVal lSize As Long) As Long
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Dim Str As String Private Sub PicHook_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Dim Msg As Long Dim dReturn Msg = x / Screen.TwipsPerPixelX Select Case Msg Case WM_LBUTTONUP 'Single Click dReturn = SetForegroundWindow(Me.hwnd) Me.Show Case WM_LBUTTONDBLCLK 'Double Click Me.WindowState = vbNormal dReturn = SetForegroundWindow(Me.hwnd) Me.Show Case WM_RBUTTONUP PopupMenu Me.mnuPopUp End Select End Sub
4.2.3.2.2 Tampilan Explorer Bentuk tampilan explorer ketika dijalankan dapat dilihat pada Gambar 4.41.
Gambar 4.41 Tampilan Explorer Kode programnya adalah sebagai berikut: Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Const VK_CONTROL = &H11 Const KEYEVENTF_KEYUP = &H2 Const VK_ESCAPE = &H1B Const ATTR_NORMAL = 0 Const ATTR_READONLY = 1 Const ATTR_HIDDEN = 2 Const ATTR_SYSTEM = 4 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Const ATTR_VOLUME = 8 Const ATTR_DIRECTORY = 16 Const ATTR_ARCHIVE = 32 Dim FileListFileSpec As String Private Sub cboExtension_Click() Clipboard.Clear If Trim(cboExtension.Text) = "" Then MsgBox "No search pattern yet" Exit Sub End If Screen.MousePointer = vbHourglass Dim Dim Dim Dim
mFirstPath As String mErrDirDiver As Boolean mDirCount As Integer mNumFiles As Integer
If dirList.Path <> dirList.List(dirList.ListIndex) Then dirList.Path = dirList.List(dirList.ListIndex) Screen.MousePointer = vbDefault End If filList.Pattern = cboExtension.Text mFirstPath = dirList.Path mDirCount = dirList.ListCount filesCount = 0 Screen.MousePointer = vbDefault If mErrDirDiver = True Then filesCount = 0 dirList.Path = CurDir drvList.Drive = dirList.Path Screen.MousePointer = vbDefault Exit Sub End If If filesCount > 0 Then End If filList.Path = dirList.Path DirList_Change Screen.MousePointer = vbDefault End Sub
4.2.3.2.3 Tampilan Program Bentuk tampilan program ketika dijalankan dapat dilihat pada Gambar 4.42.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 4.42 Tampilan Program Kode programnya adalah sebagai berikut: Dim Cn As Connection Dim rsPro As Recordset Dim ID Private Sub cboProg_Click() If cboProg.Text = "Word" Then Me.Hide Shell "C:\Program Files\Microsoft Office\Office11\winword.exe" ElseIf cboProg.Text = "Excel" Then Me.Hide Shell "C:\Program Files\Microsoft Office\OFFICE11\Excel.exe" ElseIf cboProg.Text = "PowerPoint" Then Me.Hide Shell "C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.exe" ElseIf cboProg.Text = "Access" Then Me.Hide Shell "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.exe" ElseIf cboProg.Text = "Winamp" Then Me.Hide Shell "C:\Program Files\Winamp\winamp.exe" ElseIf cboProg.Text = "Acrobat Reader" Then Me.Hide Shell "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.exe" ElseIf cboProg.Text = "Paint" Then Me.Hide Shell "mspaint.exe" ElseIf cboProg.Text = "Notepad" Then Me.Hide Shell "%SystemRoot%\system32\notepad.exe" ElseIf cboProg.Text = "Visual Basic" Then Me.Hide Shell "C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE" ElseIf cboProg.Text = "Calculator" Then Me.Hide Shell "calc.exe" End If End Sub
4.2.3.2.4 Tampilan Akses Database Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
a. Tampilan akses database untuk client pertama Bentuk tampilan akses database data mahasiswa ketika dijalankan dapat dilihat pada Gambar 4.43.
Gambar 4.43 Tampilan Window Data Mahasiswa Kode programnya adalah sebagai berikut: Private Sub txtNIM_Change() If Len(txtNIM) < 9 Then Exit Sub Else HitungIP Set rsSiswa = New ADODB.Recordset rsSiswa.Open "Select * from tMahasiswa where nim='" & txtNIM.Text & "'", CN, adOpenDynamic, adLockOptimistic If tambah = True Then If rsSiswa.EOF = True Then txtNama.Locked = False txtNama.SetFocus Else txtNama.Text = rsSiswa!namasiswa MsgBox "Data Sudah ada ..." txtNama.Text = "" txtNIM.Text = "" txtNIM.SetFocus End If ElseIf Cari = True Then If Not rsSiswa.EOF = True Then txtNama.Text = rsSiswa!namasiswa txtAlamat.Text = rsSiswa!alamatSiswa txtTglLahir.Text = Format(rsSiswa!tgllahir, "dd-mm-yyyy") txtTmpLahir.Text = Format(rsSiswa!templahir, "dd-mm-yyyy") KdDosen = rsSiswa!KdDosen Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Set rsDosen = New ADODB.Recordset rsDosen.Open "Select * from tDosen where kdDosen='" & KdDosen & "'", CN, adOpenDynamic, adLockOptimistic If Not rsDosen.EOF = True Then cboDosen.Text = rsDosen!NamaDosen Else cboDosen = "" End If JK = rsSiswa!JK If JK = "L" Then cboJk.Text = "Laki-Laki" Else cboJk.Text = "Perempuan" End If cmdRUbah.Enabled = True cmdHapus.Enabled = True cmdRUbah.SetFocus Else MsgBox "Data tidak ada ..." txtNIM.Text = "" txtNIM.SetFocus End If End If End If End Sub
Bentuk tampilan akses database data dosen ketika dijalankan dapat dilihat pada Gambar 4.44.
Gambar 4.44 Tampilan Window Data Dosen Kode programnya adalah sebagai berikut: Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Option Explicit Dim rsDosen As Recordset Dim JK, st As String * 1 Private Sub txtKode_Change() If Len(txtKode.Text) < 3 Then Exit Sub Else Set rsDosen = New ADODB.Recordset rsDosen.Open "Select * from tDosen where kdDosen='" & txtKode.Text & "'", CN, adOpenDynamic, adLockOptimistic If tambah = True Then If Not rsDosen.EOF Then MsgBox "Kode Sudah ada" txtKode = "" txtKode.SetFocus Else txtKode = UCase(txtKode) txtNama.Locked = False txtNama.SetFocus End If ElseIf Cari = True Then Set rsCari = New ADODB.Recordset rsCari.Open "Select * from tDosen where kdDosen ='" & txtKode.Text & "'", CN, adOpenDynamic, adLockOptimistic If rsCari.EOF = True Then MsgBox "Nama Dosen tidak Ada ..!" txtKode.Text = "" txtKode.SetFocus Else txtKode = UCase(txtKode) txtNama.Text = rsCari.Fields("namaDosen") txtAlamat.Text = rsCari.Fields("Alamat") txtJabatan.Text = rsCari.Fields("Jabatan") Cari = False cmdRubah.Enabled = True cmdHapus.Enabled = True cmdtambah.Enabled = False cmdcari.Enabled = False cmdRubah.SetFocus End If ElseIf ubah = True Then txtAlamat.Locked = False txtAlamat.SetFocus End If End If End Sub
b. Tampilan akses database untuk client kedua Bentuk tampilan akses database data mata kuliah ketika dijalankan dapat dilihat pada Gambar 4.45.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Gambar 4.45 Tampilan Window Data Mata Kuliah Kode programnya adalah sebagai berikut: Option Explicit Dim rsMKuliah As Recordset Dim KdMKuliah As String * 6 Dim rsDosen As Recordset Dim KdDosen As String * 3 Private Sub txtBobot_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then txtBobot.Text = Val(txtBobot.Text) If (txtBobot = 1 Or txtBobot = 2 Or txtBobot = 3 Or txtBobot = 4) Then If tambah = True Then Set rsSimpan = New ADODB.Recordset rsSimpan.Open "Insert into tMtKuliah " & " (KdMKuliah,KdDosen,NamaMKuliah,SKS,Sem) " & " values ('" & txtKode.Text & "','" & KdDosen & "','" & txtNama.Text & "'," & txtBobot.Text & ",'" & lblSem.Caption & "')", Cn, adOpenDynamic, adLockOptimistic bersih mati Segar Adodc1.Refresh grid.Refresh tambah = False MsgBox "Data Sudah di Simpan" cmdTambah.Enabled = True cmdCari.Enabled = True cmdTambah.SetFocus ElseIf ubah = True Then Set rsUbah = New ADODB.Recordset rsUbah.Open "Update tMtKuliah set NamaMKuliah='" & txtNama.Text & "',KdDosen='" & KdDosen & "',SKS=" & txtBobot.Text & " where KdMKuliah='" & txtKode.Text & "'", Cn, adOpenDynamic, adLockOptimistic bersih mati Segar Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Adodc1.Refresh grid.Refresh ubah = False MsgBox "data sudah di di Ubah" cmdTambah.Enabled = True cmdCari.Enabled = True cmdTambah.SetFocus End If Else txtBobot = "" txtBobot.SetFocus End If End If End Sub
Bentuk tampilan akses database data nilai ketika dijalankan dapat dilihat pada Gambar 4.46.
Gambar 4.46 Tampilan Window Data Nilai Kode programnya adalah sebagai berikut: Option Explicit Dim rsNIM As Recordset Dim rsDaftar As Recordset Dim rsJur As Recordset Dim rsNilai As Recordset Dim rsCariNilai As Recordset Dim rsUji As Recordset Dim rsMtKuliah As Recordset Dim rsMtKuliah1 As Recordset Dim jumUjian As Integer Dim noDaftar As Integer Dim kdKuliah As String * 6 Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Dim rsSiswa As Recordset Dim JK As String * 1 Dim KdDosen As String * 3 Dim rsDosen As Recordset Dim IP As Single, sks As Single, bobot As Single, nilai As Single, TotBobot As Integer Dim TotSKS As Integer Dim rsMKuliah As Recordset Private Sub cboMtKuliah_Click() Set rsMtKuliah1 = New ADODB.Recordset rsMtKuliah1.Open "Select * from tMtKuliah where NamaMKuliah ='" & cboMtKuliah.Text & "' and sem='" & cboSem.Text & "'", Cn, adOpenDynamic, adLockOptimistic If rsMtKuliah1.EOF = True Then cboMtKuliah.Text = "" cboMtKuliah.SetFocus Else kdKuliah = rsMtKuliah1.Fields("KdMKuliah") If tambah = True Then Set rsNilai = New ADODB.Recordset rsNilai.Open "Select * from tnilai where sem='" & cboSem.Text & "' and NIM='" & cboNim.Text & "' and KdMKuliah='" & kdKuliah & "'", Cn, adOpenDynamic, adLockOptimistic If Not rsNilai.EOF = True Then MsgBox "Nilai sudah masuk ..." cboMtKuliah.Text = "" cboMtKuliah.SetFocus Else cboNilai.Locked = False cboNilai.SetFocus End If ElseIf Cari = True Then Set rsNilai = New ADODB.Recordset rsNilai.Open "Select * from tnilai where sem='" & cboSem.Text & "' and NIM='" & cboNim.Text & "' and KdMKuliah='" & kdKuliah & "'", Cn, adOpenDynamic, adLockOptimistic If rsNilai.EOF = True Then MsgBox "Nilai belum ada ..." cboMtKuliah.Text = "" cboMtKuliah.SetFocus Else txtNilai = rsNilai!nilai cmdRubah.Enabled = True cmdHapus.Enabled = True cmdRubah.SetFocus End If End If End If End Sub
4.2.4 Pengujian Perangkat Lunak Pengujian perangkat lunak ini dilakukan pada setiap aplikasi client dan server. Pengujian aplikasi client meliputi pengujian terhadap aplikasi chatting, explorer, akses program dan akses database. Sedangkan untuk aplikasi server pengujian dilakukan pada setiap komponen program yang meliputi aplikasi, explorer, client remote dan peripheral. Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
4.2.4.1 Pengujian Perangkat Lunak Client Pengujian perangkat lunak client terdiri dari:
1. Pengujian aplikasi chatting Untuk melakukan pengiriman pesan masing-masing client harus mengaktifkan window chatting terlebih dahulu. Jika salah satu client tidak mengaktifkan window chatting maka pengiriman pesan akan gagal. Kemudian untuk memulai koneksi, terlebih dahulu salah satu client harus memulai koneksi dengan menekan tombol connect pada window chatting. Ketika dilakukan pengujian waktu untuk koneksi sangat cepat, client yang dituju langsung merespon bahwa koneksi diterima. Selanjutnya pengiriman pesan dapat dilakukan secara berganti – gantian. Pesan yang dikirimkan sangat cepat tiba di penerima tanpa terasa adanya delay waktu. Jika client ingin mengakhiri komunikasi, maka client harus menekan tombol disconnect. Ketika tombol disconnect ini ditekan window chatting kedua client langsung menghilang secara otomatis. Untuk memulai chatting lagi, kembali seperti semula. Untuk pengiriman pesan ke server, pertama kali dengan mengaktifkan window chatting server lalu pesan diketikkan pada kotak pesan, setelah itu langsung dikirim dengan menekan tombol send. Pesan yang dikirim langsung sampai ke server dengan cepat. Namun pesan tersebut hanya bisa diterima oleh server tanpa bisa membalasnya. Dalam pengujian ini pengiriman pesan ke server sangat sederhana dan pesan terkirim dalam waktu yang sangat cepat. 2. Pengujian aplikasi explorer Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009
Ketika diuji aplikasi explorer ini sangat mudah mengoperasikannya. Client 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 lain di jaringan, cukup menekan tombol berlambang explore. Kemudian akan muncul window baru yang memudahkan client untuk menjelajah isi memory client lain yang ada di jaringan. 3. Pengujian aplikasi program Dalam pengujian, ketika aplikasi program baru dijalankan pada kotak IP address alamat IP komputer secara otomatis terbaca. Selanjutnya, jika ingin memakai suatu program misalkan Microsoft Word, pertama dengan menekan tombol combo yang di dalamnya juga terdapat pilihan program lain yang telah diberikan hak aksesnya oleh server. Selanjutnya klik kata Word, maka otomatis muncul window Microsoft Word. Aplikasi ini sangat sederhana menjalankannya hanya dengan memilih program yang diinginkan dan secara otomatis program tersebut akan tampil di layar komputer. Untuk meminta program lain yang tidak ada pada combo box, client dapat mengirimkan pesan ke server agar diberi program yang diinginkan. 4. Pengujian aplikasi akses database Dalam pengujian akses database, dibutuhkan sedikit pengetahuan langkahlangkah untuk mengakses data di server. Untuk menambah data cukup dengan menekan tombol tambah lalu data diisikan sampai pengisian data terakhir, semua data otomatis tersimpan di database server. Namun jika data ingin diubah, dihapus atau dibatalkan haruslah melalui tahap pencarian data terlebih dahulu dengan menekan tombol cari. Data yang sudah dicari baru bisa diedit seperti mengubah, menghapus atau membatalkan data. 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, langkahlangkahnya 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 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.
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. 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.
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.
http://www.developerfusion.co.uk/show/2659/. Download tanggal 1 November 2006. [2] Creating
a
TCP
Component
in
http://www.15seconds.com/issue/990408.htm. Download
Visual
Basic.
tanggal 1 November
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.
http://bebas.vlsm.org/v11/ref-ind-
1/network/jaringan-workgroup-lan-wan-1998.rtf. Download tanggal 1 November 2006.
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.
Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009