Metode Perancangan Sistem T1 672008075 Full text

3 UDP atau User Datagram Protocol adalah salah satu protokol lapisan transport TCPIP yang mendukung komunikasi yang tidak andal unreliable, tanpa koneksi connectionless antara host-host dalam jaringan yang menggunakan TCPIP. Protokol ini didefinisikan dalam RFC 768. UDP memiliki karakteristik-karakteristik sebagai berikut : Connectionless tanpa koneksi, pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar informasi. Unreliable tidak andal, pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgement. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu ke dalam sebuah host dalam jaringan yang menggunakan TCPIP. Header UDP berisi Field Source Identification dan Destination Process Identification. UDP menyediakan perhitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP. UDP tidak menyediakan layanan-layanan antar-host berikut: UDP tidak menyediakan mekanisme penyanggaan buffering dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil tidak lebih besar dari nilai Maximum Transfer UnitMTU yang dimiliki oleh sebuah antarmuka dimana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP. Proses pengiriman file dapat dilakukan dengan beberapa metode antara lain adalah pengiriman file menggunakan metode multicast. Teknik Multicast hadir untuk mengatasi kelemahan dari Unicast dan Broadcast dalam proses pengiriman data multimedia seperti real time ke banyak receiver. Multicast adalah jaringan untuk menangani metode penyampaian informasi ke sekelompok tujuan sekaligus menggunakan strategi yang paling efisien untuk menyampaikan pesan melalui setiap link jaringan yang hanya sekali, membuat salinan hanya ketika link ke beberapa tujuan split. Dalam IP Multicast pelaksanaan konsep multicast terjadi pada tingkat IP routing, dimana routers membuat jalur distribusi optimal untuk datagrams dikirim ke alamat multicast tujuan mencakup pohon secara real-time [4]. Keuntungan dari multicast ini adalah enhanched effieciency yakni pengontrolan trafik jaringan; Optimized performance yakni mengeliminasi trafik yang berlebihan; Distributed application yakni memungkinkan membuat aplikasi multipoint, seperti distribusi file ke beberapa titik secara langsung. Kerugian dari multicast adalah sebagai berikut : Best Effort Delivery, tingkat kepercayaan pengiriman data aplikasi multicast tidak dapat diharapkan dan harus dirancang sedemikian rupa; No Congestion Avoidance, kekurangan dari TCP windowing dan mekanisme slow start dapat menghasilkan kemacetan dalam jaringan. UDP tidak memiliki mekanisme kepercayaan, jadi persoalan kepercayaan harus dialamatkan dalam aplikasi multicast dan reliabilitas transfer data sangat diperlukan [5].

3. Metode Perancangan Sistem

Metode yang digunakan untuk perancangan sistem dalam penelitian ini adalah metode prototyping. Prototyping merupakan proses iteratif dalam pengembangan sistem dimana kebutuhan diubah ke dalam sistem yang bekerja working system yang secara terus menerus diperbaiki melalui kerjasama antara pengguna dan analis [6]. Diagram metode prototyping ditunjukkan pada Gambar 4. 4 Gambar 4 Metode Prototyping [6] Kemudian berdasarkan masukan dari user, prototype akan dikembangkan sesuai dengan masukan dari user. Hal ini dilakukan terus sampai user menerima prototype dari sistem yang dibangun [6]. Kebutuhan awal yang dibuat dari penelitian ini adalah suatu sistem transfer file dengan menggunakan multicasting dimana pada penelitian sebelumnya terdapat beberapa kelemahan dalam proses transfer file menggunakan sharing file. Proses pengiriman dilakukan pada satu komputer dan proses pengiriman file dengan sharing file harus memerlukan koneksi pada server. Multicast dapat membentuk group yang terdiri dari beberapa host yang saling terhubung tanpa mengakses data yang ada pada komputer server. Hal ini disebabkan karena file akan dikirimkan server kepada beberapa client melalui group dalam waktu yang bersamaan. Maka solusi untuk mengatasi kelemahan aplikasi sebelumnya, dibangunlah aplikasi transfer file menggunakan Multicasting dengan prototype yang pertama adalah aplikasi dapat digunakan lebih dari 1 satu client. Setelah pembangunan prototype pertama, kemudian dilakukan evaluasi sistem, dimana diketahui bahwa sistem yang dibangun tidak dapat menunjukkan bahwa data yang diterima sesuai dengan data yang dikirim. Berdasarkan hasil evaluasi prototype pertama, maka pada prototype kedua, dilakukan penambahan pengecekan error menggunakan metode pengecekan error CRC32 pada aplikasi tersebut. Setelah dievaluasi maka dibuatlah prototype ketiga, yaitu dengan penambahan fungsi create group pada sisi server dan join pada sisi client. Prototype keempat dibuat sebagai hasil evaluasi prototype ketiga dengan penambahan fungsi close group pada aplikasi yang dibuat. Setelah melakukan proses evaluasi prototype keempat dapat disimpulkan bahwa hasil yang diharapkan dari sistem telah terpenuhi, maka pembangunan prototype sistem dinyatakan selesai. Selanjutnya dilakukan pengujian sistem untuk mengetahui kelemahan sistem dan dilakukan perbaikan. Berdasarkan analisis kebutuhan, dan skema diagram jaringan yang sudah dijelaskan sebelumnya, maka selanjutnya akan dijelaskan tentang gambaran umum dari sistem transfer file yang akan dibuat. Sistem yang akan dibuat, yaitu: Sistem Operasi pada server dan client yang digunakan pada aplikasi ini menggunakan sistem operasi Windows. Semua client akan digabungkan dalam sebuah group dengan IP Group 224.4.5.6. Port yang digunakan dalam aplikasi ini adalah port 4444. 5 Gambar 5 Flow Chart Aplikasi Gambar 5 merupakan flow chart aplikasi. Server melakukan proses start server. Group multicast harus dibuat sebelum melakukan proses pengiriman file. Kemudian server melakukan proses pencarian data yang akan dikirimkan kepada client. Kemudian file tersebut dikirimkan kepada client melalui group multicast yang telah dibentuk sebelumnya. Server dapat melakukan close group, yakni menutup koneksi ke group multicast yang sudah dibentuk sebelumnya. Sebelum menerima file yang dikirimkan, client harus melakukan pengaturan lokasi penyimpanan file yang akan diterima. Setelah itu client harus melakukan proses join ke group multicast. Kemudian, apabila lokasi penyimpanan telah disiapkan maka file yang dikirimkan dari server dapat diterima oleh client. Gambar 6 merupakan use case diagram yang digunakan pada aplikasi server. Sender Server adalah aktor yang dapat mengakses proses multicast transfer file, yang di dalamnya terdapat proses muliticast server serta proses CRC32 di sisi server. Server berfungsi untuk melakukan proses pengiriman file ke client. Gambar 7 merupakan use case diagram yang digunakan pada aplikasi client. Receiver Client adalah aktor yang dapat mengakses proses multicast transfer file yang di dalamnya terdapat proses muliticast client serta proses CRC32 di sisi client. Client berfungsi untuk menerima file yang dikirimkan oleh server. Client tidak dapat melakukan proses pengiriman file seperti yang dilakukan oleh server. Gambar 6 Use Case Diagram Aplikasi Server 6 Gambar 7 Use Case Diagram Aplikasi Client Gambar 8 Activity Diagram Multicasting Server Gambar 8 merupakan activity diagram pada proses multicasting yang terdapat pada sisi server. Proses transfer file dimulai dengan create group. Apabila proses create group berhasil maka proses selanjutnya adalah mencari file yang akan dikirim dari server ke client. File tersebut kemudian akan dicek ukuran, nama, dan type file sebelum dilakukan proses pengiriman ke client. File tersebut kemudian dipecah dalam bentuk byte array yang akan dikirim ke group. Namun sebelum proses pengiriman dilakukan, sistem akan mencatat nilai file yang nantinya akan dijadikan sebagai pembanding setelah file berhasil diunduh oleh client. Proses pengecekan tersebut dilakukan dengan menggunakan metode checking error CRC32. Kemudian file yang telah dipecah dalam bentuk byte array dikirimkan ke group. Proses pengiriman file ke group akan terus berlangsung selama server masih terhubung dalam group multicast. 7 Gambar 9 Activity Diagram Multicasting Client Gambar 9 merupakan activity diagram pada proses multicasting yang terdapat pada sisi client. Langkah pertama pada tahap ini adalah proses pengaturan path penyimpanan. Setelah path diatur maka client dapat melakukan proses join group. Client yang berhasil join dapat melakukan proses unduh file. Proses unduh dimulai dengan pengecekan file yang meliputi nama dan ukuran file. Sebelum proses unduh, terlebih dahulu dilakukan proses pengecekan nilai file dangan menggunakan CRC32. File akan terus dikumpulkan sampai jumlah paket data yang diterima sama dengan jumlah paket yang dikirimkan. Apabila nilai hasil pengecekan sama dengan nilai sebelum file dikirim maka file dapat diunduh. Atau sebaliknya apabila terdapat selisih antara nilai sebelum file dikirim dengan nilai file yang akan diunduh maka proses transfer file dibatalkan. File kemudian diunduh dengan cara menyusun byte array yang ada pada group ke dalam komputer client atau yang disebut dengan proses file write. Proses terakhir adalah client mengirimkan konfirmasi ke server apakah proses pengiriman berhasil dilakukan ataukah gagal. Proses pengiriman file pada aplikasi dimulai dengan mengubah file ke dalam bentuk byte array. Kemudian file akan dikirimkan dari server ke group untuk selanjutnya diterima oleh client. Proses pengiriman file dari server ke group dapat dilihat pada Gambar 10. Gambar 10 menunjukkan activity diagram proses pengiriman file. Server akan melakukan broadcast file yang telah dikonversi ke dalam bentuk datagram paket yang dikirimkan secara terus-menerus ke dalam group. Setiap client yang join akan menerima setiap datagram yang ada pada group. Datagram-datagram tersebut akan dikumpulkan membentuk sebuah file yang akan ditulis ke client. Proses penulisan file ke client akan dilakukan apabila semua datagram yang dikirimkan telah diterima dengan baik. Aplikasi transfer file dilengkapi dengan CRC32 yang digunakan untuk melakukan proses pengecekan file sebelum dan sesudah file dikirimkan. Fungsi ini digunakan sebagai validasi apakah file yang diterima bermasalah atau tidak. Setelah file diubah ke dalam bentuk byte array, maka setiap datagram paket akan dicek kondisi filenya menggunakan CRC32. Hasill pengecekan berupa angka yang kemudian akan disisipkan di setiap datagram paket. File kemudian dikirim apabila proses pengecekan telah selesai. Pada saat client menerima datagram yang dikirim dari server maka CRC32 akan melakukan proses pengecekan file yang sama seperti pada sisi server. Hasil dari proses ini akan berupa angka yang akan dibandingkan dengan angka hasil pengecekan pada sisi server. Apabila terdapat selisih pada kedua angka tersebut maka file gagal diterima oleh client, atau sebaliknya client dapat menerima file yang dikirimkan apabila tidak terdapat selisih antara hasil pengecekan di server dan di client. 8 Gambar 10 Activity Diagram Proses Pengiriman File Gambar 11 Class Diagram Aplikasi Gambar 11 menunjukkan class diagram yang digunakan pada aplikasi. Terdapat lima kelas yang saling berelasi pada aplikasi. Masing-masing form baik server dan client akan terhubung dalam kelas group scanner. Server form dan client form masing-masing memiliki kelas CRC32 yang digunakan untuk melakukan proses pengecekan file sebelum file dikirim oleh server dan diterima oleh client.

4. Hasil pembahasan dan implementasi