Narotama Collection http://ejournal.narotama.ac.id
IMPLEMENTASI APLIKASI CHEPPYCHAT UNTUK JARINGAN KOMPUTER PADA LOCAL AREA NETWORK Nama Mahasiswa NIM Jurusan Dosen Pembimbing
: : : :
Tadeus Utha D 04104025 Sistem Komputer Yulius Satmoko R,S.kom, M.kom
ABSTRAKSI CHEPPYCHAT merupakan software aplikasi komunikasi data pada network yang berfungsi untuk mempermudah dalam melakukan proses komunikasi data pada suatu metwork. Untuk malakukan proses tersebut, dapat digunakan software apalikasi ini untuk mengolah data dan menampilkannya dalam bentuk sederhana dan bermanfaat. Software ini akan membantu user dan client dalam berinteraksi atau komunikasi data pada network dan dapat menyediakan informasi yang akurat serta relevan ketika dibutuhkan. Aplikasi CHEPPYCHAT dalam tugas akhir ini akan dibuat dengan menggunakan Java NetBeans IDE dan MySQL untuk databasenya. Java Sisaf.Net telah menyediahkan tools-tools untuk menangani pembuatan aplikasi ini. Aplikasi yang akan dibuat terdiri dari design antarmuka, perancangan aplikasi serta pembuatan perangkat lunak. Kata Kunci :CHEPPYCHAT , komunikasi data, Java Sisaf.Net.
Narotama Collection http://ejournal.narotama.ac.id
1.1 Latar Belakang Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung. Informasi dan data bergerak melalui kabel-kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data, mencetak pada printer yang sama dan bersama sama menggunakan hardware/software yang terhubung dengan jaringan. Tiap komputer, printer atau periferal yang terhubung dengan jaringan disebut node. Sebuah jaringan komputer dapat memiliki dua, puluhan, ribuan atau bahkan jutaan node. Sebuah jaringan biasanya terdiri dari 2 atau lebih komputer yang saling berhubungan diantara satu dengan yang lain, dan saling berbagi sumber daya misalnya CDROM, Printer, pertukaran file, atau memungkinkan untuk saling berkomunikasi secara elektronik. Komputer yang terhubung tersebut, dimungkinkan berhubungan dengan media kabel, saluran telepon, gelombang radio, satelit, atau sinar infra merah. 1.2 Perumusan Masalah Permasalahan yang diangkat dalam tugas akhir ini adalah : 1. Bagaimana merancang dan mengimplementasikan CHEPPYCHAT 2. Bagaimana melakukan proses Chatting antara sesama client ataupun server dan client maupun sebaliknya. 3. Bagaimana menggunakan CHEPPYCHAT untuk melakukan
proses transfer data atau komunikasi data anatara sesama client ataupun server dan client. 4. Bagaimana menggunakan CHEPPYCHAT untuk proses pemasangan pengumuman. 5. Bagaimana merancang dan membuat aplikasi CHEPPYCHAT dengan menggunakan Java Sisaf.Net 6. Bagaimana merancang kebutuhan sistem yang akan ditampilkan pada user secara user friendly. 1.3 Batasan Masalah Dalam pembuatan aplikasi CHEPPYCHAT ini hanya mencakup komunikasi data atau transfer data, proses chatting dan pemasangan pengumumman pada suatu Local Area Network. Dari permasalahan-permasalahan di atas, maka batasan dalam tugas akhir ini adalah : 1. Perancangan dan pembuatan CHEPPYCHAT, termasuk proses chatting, transfer data atau komunikasi data dan pemasangan pemgumuman menggunakan Java 2. Database yang digunakan adalah MySQL 1.4 Tujuan dan Manfaat Tujuan pembuatan tugas akhir ini adalah merancang dan membuat suatu aplikasi CHEPPYCHAT System untuk mempermudah server dan client berinteraksi atau komukasi data pada suatu LAN (Local Area Network). Manfaat yang didapat adalah untuk memonitoring dengan minimum
Narotama Collection http://ejournal.narotama.ac.id
system yang digunakan agar lebih akurat dan lebih cepat dari pada system manual untuk memnghubungkan antara komputer-komputer pada suatu LAN (Local Area Network).
dan perilaku paket tersebut. Informasi tersebut digunakan oleh router untuk menentukan tujuan saluran paket tersebut ketika tujuan paket tersebut bukan computer dalam jaringan yang sama.
2.1 Network, Packet dan Protokol Sebuah jaringan computer terdiri dari beberapa computer yang di sambungan oleh sebuah saluran komunikasi. Komputer yang tersambung dalam jaringan dapat berupa host ataupun router. Host adalah sebuah computer yang menjankan aplikasi seperti web browser (internet explorer, Mozilla) ataupun program file-sharing. Router adalah sebuah mesin yang berfungsi meyampaikan atau menyalurkan informasi dari sebuah saluran komunikasi (Local area network) ke saluran komunikasi yang lain. Router tidak menjalankan sebuah program aplikasi.
Sebuah protocol adalah sebuah ketentuan tentang pertukaran paket oleh program yang saling berkomunikasi dalam jaringan dan arti dari packet tersebut. Sebuah protocol menunjukkan bagaimana paket dibentuk-sebagai contoh, dimana informasi tujuan paket itu berada dalam rangkaian byte, sebesar apa paket tersebut dan bagaimana cara paket tersebut diartikan. Sebuah contoh, HyperText Transfer Protocol memecahkan masalah bagaimana mengirim objek hypertext diantara server, bagaimana cara objek tersebut disimpan dan ditampilkan dalam sebuah web browser.
Paket adalah sebuah informasi atau data yang memiliki bentuk rangkaian byte – byte yang dibentuk dan diartikan oleh sebuah program. Selain membawa data pengguna, sebuah paket juga mengandung informasi control yang terdiri dari informasi asal, jenis, tujuan
TCP/IP merupakan sebuah kumpulan protokol. TCP/IP dipakai sebagai standar penyajian internet di dunia namun juga dapat dipakai pada sebuah jaringan local. Protokol – protocol utama pada TCP/IP adalah Internet Protokol (IP), Transmission Control Protocol (TCP), dan User Datagram Protokol (UDP).
Narotama Collection http://ejournal.narotama.ac.id
TCP/IP diorganisaikan menjadi beberapa lapisan (layer). Pada lapisan terbawah tediri dari saluran komunikasi-sebagai contoh, koneksi Ethernet atau dial-up modem. Saluran pada lapisan ini digunakan oleh lapisan jaringan (network layer) untuk meneruskan paket ke computer tujuan mereka. Network layer pada TCP/IP adalah Internet Protocol yang berfungsi untuk memecahkan masalah dalam pembuatan saluran komunikasi antara dua computer. Lapisan diatas IP adalah Transport Layer. Transport Layer pada TCP/IP dapat berupa TCP ataupun UDP tergantung kebutuhan usr bagaimana cara paket dikirimkan. TCP digunakan bila kita ingin mendeteksi, memperbaiki kehilangan, kesamaan dan error lain yang mungkin terjadi pada paket yang dikirim melalui saluran komunikasi yang dibuat network layer. TCP menyediakan saluran yang terjamin yang mencegah hal – hal tersebut terjadi. TCP disebut protocol yang berorientasikan koneksi (connection-oriented protocol) karena sebelum berkomunikasi, dua program harus membangun koneksi TCP yang melibatkan persetujuan antara dua
computer dimana program tersebut berjalan untuk melakukan komunikasi. Di lain pihak, UDP merupakan protocol yang tidak menyediakan mekanisme perbaikan terhadap error yang mungkin terjadi pada sebuah paket namun komunikasi pada UDP lebih cepat karena tidak memerlukan persetujuan antara dua computer untuk melakukan komunikasi. 2.2 Klien dan Server Jika kita gambarkan sebagai mekanisme surat dan telepon, sebuah komunikasi selalu dimulai dari satu pihak yang melakukan pengiriman surat atau melakukan panggilan telepon. Di pihak lain yang dituju dapat melakukan pengiriman surat balasan atau mengangkat telepon. Komunikasi internet kurang lebih berjalan sama dengan analogi diatas. Istilah klien dan server menunjukkan pada peran pada masing – masing pihak dimana program klien mengawali komunikasi, sedangkan program server secara pasif menunggu komunikasi dan melakukan respon ketika komunikasi dari klien datang. Istilah klien dan server juga dapat digambarkan pada situasi dimana sebuah
Narotama Collection http://ejournal.narotama.ac.id
server memiliki sebuah layanan tertentusebagai contoh, sebuah database service2.3 Socket Socket adalah interface yang menghubungkan suatu proses aplikasi jaringan dengan mekanisme TCP/IP system operasi. Dengan menggunakan socket, suatu aplikasi dapat tersambung ke jaringan dan dapat berkomunikasi dengan aplikasi lain yang berada pada computer lain namun berada pada jaringan yang sama. Terdapat dua jenis
Gambar diatas menunjukkan hubungan logika antara aplikasi, socket, protocol dan port dalam sebuah computer. Ditunjukkan pada gambar diatas bahwa satu socket dapat di pakai lebih dari satu aplikasi walaupun secara praktek program – program yang mengakses sebuah socket yang sama merupakan bagian dari aplikasi yang sama. Tiap – tiap program yang menggunakan socket tertentu dapat berkomunikasi dengan computer lain dalam satu jaringan melalui socket tersebut. Digambarkan juga bahwa sebuah port digunakan untuk
utama socket TCP/IP yaitu stream socket dan datagram socket. Stream socket menggunakan protocol TCP sehingga bergantung pada koneksi yang terbentuk namun memberikan servis komunikasi yang terjamin. Datagram socket menggunakan protocol UDP sehinggal tidak bergantung pada koneksi yang terbentuk sehingga pengiriman data bisa tidak sampai tujuan namun memberikan performa komunikasi yang lebih cepat dari socket yang menggunakan protocol TCP.
mengenali sebuah socket dalam suatu computer. Dengan menggunakan protocol dan port yang sama, dua buah aplikasi yang berjalan pada computer yang berbeda dapat berkomunikasi. 2.3.1 TCP Socket Java menyediakan dua buah kelas untuk tcp socket : Socket dan ServerSocket. Sebuah instance dari sebuah socket melambangkan sebuah ujung dari koneksi TCP. Sebuah koneksi TCP adalah sebuah saluran komunikasi dua arah yang ujungnya masing – masing
Narotama Collection http://ejournal.narotama.ac.id
dikenali dengan sebuah nomor IP dan port. Sebelum digunakan untuk komunikasi, sebuah koneksi TCP harus menjalani fase persiapan, yang dimulai dengan TCP klien mengirimkan permintaan koneksi ke TCP Server. Sebuah instance dari kelas ServerSocket menunggu sebuah permintaan koneksi dari sebuah klien dan membuat socket baru untuk menangani koneksi tersebut. 2.3.2 UDP Socket UDP menyediakan layanan komunikasi dari ujung ke ujung yang berbeda dari TCP. Pada kenyataannya, UDP hanya memiliki dua fungsi: 1). Penambahan lapisan pengalamatan (port) ke lapisan IP. 2). Pendeteksian paket yang rusak selama komunikasi dan membuang paket tersebut. Karena kesederhanaannya, socket UDP memiliki beberapa perbedaan karakteristik dari socket TCP. Contoh, socket udp tidak memerlukan disambungkan sebelum digunakan. Jika socket TCP di gambarkan sebagai komunikasi telepon, maka UDP dapat di gambarkan sebagai komunikasi dengan surat. Kita tidak harus “tersambung” untuk dapat mengirim paket atau surat namun kita tetap harus menentukan alamat tujuan dari surat tersebut. Perbedaan lain antara socket UDP dan TCP adalah karena tidak tersambung terlebih dahulu maka tidak ada jaminan bahwa paket yang terkirim melalui socketUDP akan benar – benar terkirim sampai tujuan dan paket dapat terkirim sampai tujuan dengan urutan yang berbeda dengan urutan waktu
pengiriman. Sehingga sebuah program yang menggunakan socket udp harus siap menghadapi kehilangan dan kesalahan urutan paket. Melihat resiko yang mungkin dialami selama penggunaan socket, kenapa socket UDP digunakan ? salah satu alasan adalah efisiensi. Ketika dua buah program hanya bertukar data dalam ukuran kecil, jika kita menggunakan socket TCP maka ukuran paket dapat menjadi dua kali lipat karena fase persiapan sambungan koneksi (belum lagi penundaan pengiriman pesan karena persiapan fase ini). Alasan lain adalah fleksibilitas, socket UDP menyediakan platform overhead yang minimal sehingga dapat digunakan kapanpun dibutuhkan. 2.3.3 IP Multicast Dua jenis socket yang telah dijelaskan diatas menangani komunikasi diantara dua entitas (server dan klien). Komunikasi satu lawan satu terkadang disebut unicast. Pada suatu kasus terkadang kita memerlukan komunikasi lebih dari dua entitas. Untuk memecahkan masalah tersebut kita dapat memakai cara dengan mengirimkan pesan satu per satu ke tiap – tiap entitas. Namun hal ini sangat tidak efisien dan menyia-nyiakan bandwith jaringan dengan mengirimkan data yang sama beberapa kali ke jaringan. Untungnya, jaringan menyediakan sebuah cara untuk menggunakan bandwith secara lebih efisien. Daripada menyerahkan proses penduplikasian paket ke pengirim, bukankan lebih baik
Narotama Collection http://ejournal.narotama.ac.id
kalo menyerahkan proses tersebut ke jaringan. Salah satu layanan satu ke banyak entitas ini adalah multicast. Dengan multicast, paket dikirim ke sebuah alamat multicast dimana jaringan
Gambar, komunikasi unicast
3. CheppyChat Aplikasi CheppyChat adalah aplikasi yang dapat digunakan sebagai media komunikasi (chatting) antar sesama pengguna komputer pada satu jaringan local (LAN). Aplikasi CheppyChat merupakan aplikasi klien dan server dimana selain aplikasi bertindak sebagai klien, CheppyChat juga bertindak sebagai server sehingga CheppyChat dapat disebut sebagai aplikasi chat yang tidak bergantung pada server (serverless chat application ). Untuk komunikasi aplikasi CheppyChat menggunakan socket udp dan tcp bawaan dari bahasa pemrograman java. Beberapa fitur yang
akan mengirimkan paket tersebut ke computer yang telah terdaftar sebagai kelompok multicast. Socket multicast ini sebenarnya merupakan pengembangan dari socket UDP.
Gambar, komunikasi multicast
tersedia pada aplikasi CheppyChat ini diantara lain: a. global chatting dimana seluruh user dapat melakukan komunikasi antara satu dengan yang lain. b. private chatting dimana ketika user ingin melakukan komunikasi dengan satu user lain c. Transfer file, dimana user dapat mengirim file ke user lain d. Message board, dimana user dapat menulis pesan untuk umum pada message board field Adapun model use case dari aplikasi ditunjukkan pada gambar di bawah
Narotama Collection http://ejournal.narotama.ac.id
System StartUp
Logon
send private message
send global message fistChat on Other Computer User
(f rom Actors)
(f rom Actors)
send File
write message board
System ShutDown
3.1 CheppyChat sebagai server CheppyChat berfungsi sebagai dua server, yaitu message server dan file server. Untuk menjalankan fungsi sebagai message server, pada aplikasi CheppyChat digunakan dua jenis socket UDP yang masing – masing socket multicast untuk pesan global dan socket datagram untuk pesan personal.
Logoff
Sedangkan untuk menjalankan fungsi sebagai file server, pada aplikasi CheppyChat digunakan serverSocket yang merupakan jenis dari socket TCP. Aplikasi CheppyChat merupakan aplikasi multithreading sehingga memungkinkan server – server tersebut dijalankan bersamaan.
Narotama Collection http://ejournal.narotama.ac.id
1 startup User
System StartUp
2
3 start global message server
port data
user data logon
thread user info
5 global msg server listening
port data 12 sending user info
4 start private message server
paket
message
thread
message
6 private msg server listening
message
system in other computer
message 11 parsing message criteria
Flow_30
7 display global msg
8 display private msg
file 9
message information
start File Server message information file 10 sending file
Ketika user menjalankan CheppyChat, aplikasi akan melakukan proses logon otomatis yang dimana aplikasi akan mengirim informasi tentang user ke seluruh aplikasi CheppyChat yang berjalan di computer lain. Bersamaan dengan itu aplikasi membentuk dua thread yang menangani proses pembentukan server pesan global dan server pesan personal. Setelah thread dibentuk, maka kedua server tersebut berjalan dalam keadaan pasif, menunggu koneksi dari client (CheppyChat pada computer lain).
data file User
3.2 CheppyChat sebagai klien Selain sebagai server CheppyChat juga berfungsi sebagai klien untuk memungkinkan komunikasi terjadi dari berbagai arah. Untuk memulai komunikasi, CheppyChat membentuk Datagram socket yang dapat digunakan untuk mengirim pesan personal ataupun pesan global. Untuk membedakan pesan yang dikirim adalah pesan global atau pesan personal adalah penggunaan port yang berbeda untuk kedua socket. Untuk pengiriman file, klien terlebih dahulu mngirimkan konfirmasi ke tujuan pengiriman file berupa pesan
Narotama Collection http://ejournal.narotama.ac.id
personal. Ketika Server tujuan menyatakan siap untuk menerima file maka klien akan membentuk TCP
1
socket yang akan mengirimkan file dalam bentuk paket per paket.
stream
read message
2 sending as global message packet
stream
message
3 sending as private message
User
filename
packet
system on other computer
packet
4 open file
4. Tampilan program Tampilan program dibagi menjadi beberapa frame yang diantara lain adalah frame utama, frame private message, frame sending file status dan frame option
5 stream sending file
4.1 Frame Utama Frame utama adalah frame yang menunjukkan daftar user yang online dan tampilan pesan global.
Narotama Collection http://ejournal.narotama.ac.id
4.2. Frame private message Frame private message merupakan frame yang digunakan untuk menampilkan komunikasi yang terjadi diantara dua user.