BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Sistem yang Sedang Berjalan Chatting merupakan salah satu sarana komunikasi. Chat menjadi popular dan digunakan banyak orang di dunia karena menawarkan banyak kelebihan. Saat ini sudah banyak sarana komunikasi yang dikembangkan dengan bantuan jaringan komputer, seperti e-mail. Namun chat bersifat lebih interaktif dibandingkan dengan e-mail karena dapat langsung berkomunikasi secara dua arah dimana user dapat mengirim dan menerima pesan secara langsung. Komunikasi adalah hal yang sangat penting pada zaman modernisasi sekarang ini. Semua hal ingin disampaikan dengan cepat dan tepat dengan efesiensi waktu dan biaya yang tinggi. Sekarang telah banyak beredar aplikasi ataupun media sosial yang menawarkan chat sebagai aplikasinya, namun hal ini memerlukan koneksi internet agar dapat login dan menggunakannya. Sekarang ini memang telah ada aplikasi chat yang dapat digunakan dalam area lokal seperti net meeting atau YM, namun pada aplikasi ini penulis membuat sebuah aplikasi dimana dalam penanganan user (client) yang masuk di deklarasikan dengan teknik multithreading, sehingga jumlah client menjadi tidak terbatas pada hitungan tertentu, hanya terbatas pada kemampuan server menangani permintaan user (client). Penulis juga menambahkan emoticon yang membuat aplikasi ini menjadi lebih menarik.
58 III.1.1. Analisa Input berikut ini : Adapun input data dalam pengolahan data sebagaimana gambar III.1. Nick Name : Server Name : Server Port : Connect Quit Gambar III.1. Form Login Chat III.1.2. Proses Setelah melakukan analisa terhadap input (maasukan), maka diperoleh data-data yang digunakan sebagai bahan masukan. Selanjutnya akan dilakukan proses berdasarkan input yang diberikan. Pada proses koneksi chat dapat dijelaskan pada gambar di bawah ini. Client Server Socket Client Gambar III.2. Blok Diagram Chat
59 Cara kerja dari sistem di atas adalah sebagai berikut : Terjadi interkoneksi dari server dan client dengan menggunakan socket. Dimana server menerima respons dari client dan mengirim data ke client. Sedangkan client menerima respons dari server dan mengirim data ke server. Dengan menggunakan thread, satu server bisa menerima respons dan mengirim data ke beberapa client. S T A R T S T A R T S erver dalam K o n d is i M e n u n g g u (Listen ) L o g in M e m b u a t In p u t & O u tp u t S tre a m M e m b u a t In p u t & O u tp u t S tre a m M e n g irim & M e n e rim a P e s a n M e n g irim & M e n e rim a P e s a n M e n u tu p S o c k e t M e n u tu p S o c k e t E N D E N D Gambar III.3. Flowchart pada Sisi Client dan Server ]
60 Penjelasan dari flowchart di atas adalah : Server akan menunggu koneksi dar PC Client, yang sebelumnya client telah login terlebih dahulu. Setelah terhubung, Server dan client membuat input dan output stream yang berfungsi untuk menerima dan mengirim data ke client. Setelah selesai, program menutup socket untuk memutuskan koneksi jaringan. III.1.3. Output Ouput dari aplikasi ini diperoleh dari hasil input-an yang di masukkan oleh client, baik itu berupa teks, icon, dan segala aktivitas yang dilakukan oleh client. Login Help Nick Name : User1 Room Name : Music User Count : 2 Selamat datang di General Room User1 : Halo semuaa User2 : Yaa Users Rooms Icon User1 User2 User1 meninggalkan General Room ke Music Send Private Chat Ignore User SEND EXIT Gambar III.4. Output Aplikasi Chat
61 III.2. Evaluasi Sistem yang Sedang Berjalan Berdasarkan analisa sistem yang sedang berjalan yang dikemukakan di atas, maka dibutuhkan suatu apikasi yang dapat memungkinkan setiap user untuk dapat saling bertukar informasi. Namun bukan hanya sekedar bertukar informasi, namun juga diperhatikan dari segi efektivitas, misalnya lebih interaktif (user dapat berkomunikasi dua arah), lebih menarik dan lain sebagainya. Agar pertukaran informasi dapat dilakukan dengan lebih cepat, dan pada rentan waktu tertentu tidak membosankan, dengan catatan dalam ruang lingkup tertentu. III.3. Desain Sistem III.3.1. Use Case Diagram Use case diagram merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar kegiatan, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Berikut ini adalah use case diagram dari aplikasi chat :
62 Admin Server Terhubung Aplikasi Client Login Pilih Komputer User 1 Tujuan User 2 Kirim Pesan Mengirim Private Pesan Ganti Room Logout Gambar III.5. Use Case Diagram Aplikasi Chat III.3.2. Activity Diagram Activity diagram adalah teknik untuk mendiskusikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram banyak mempunyai peran seperti halnya flowchart, akan tetapi flowchart berbeda dengan Activity diagram. Berikut ini adalah activity diagram yang digunakan dalam merancang program aplikasi chat :
63 Gambar III.6. Activity Diagram Aplikasi Chat III.3.3. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang diletakkan diantara objek-objek ini di dalam use case diagram. Komponen utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segi empat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertikal. Berikut adalah sequence diagram yang digunakan dalam merancang program aplikasi chat :
64 Koneksi Chat Window User 1 Cek Nick Name Tampil Name Gambar III.7. Sequence Diagram Login Koneksi Chat Window Chat Box User 1 Tulis Pesan Cek Nick Name Tampil Name Kirim Pesan Gambar III.8. Sequence Diagram Kirim Pesan Koneksi Chat Window Pilih User User 1 Pilih Cek Nick Name Tampil Name Kirim Private Message Gambar III.9. Sequence Diagram Kirim Private Pesan
65 Koneksi Chat Window Room User 1 Ganti Room Cek Nick Name Tampil Name Respon Gambar III.10. Sequence Diagram Ganti Room Koneksi Chat Window Logout User 1 Logout Cek Nick Name Tampil Name Putuskan Koneksi Remove Name Gambar III.11. Sequence Diagram Logout III.4. Desain Output Tampilan output adalah produk dari aplikasi yang dapat dilihat. Dalam tahap desain output ini adalah output yang berupa tampilan di media atau layar monitor. Berikut ini adalah perancangan output aplikasi chat yang dirancang. 1. Desain Output apabila telah berhasil login.
66 Login Help Nick Name : User1 Room Name : Music User Count : 2 Selamat datang di General Room Users User1 User2 Rooms Icon Send Private Chat Ignore User SEND EXIT Gambar III.12. Layar Utama Aplikasi Chat 2. Desain Output mengirim pesan ke global (Semua user dapat melihati isi pesan).
67 Login Help Nick Name : User1 Room Name : Music User Count : 2 Selamat datang di General Room Users Rooms Icon User1 : Hai Semua User1 User2 Send Private Chat Ignore User SEND EXIT Gambar III.13. Tampilan Pengiriman Pesan ke Global 3. Desain Output Mengirim Pesan Pribadi (Hanya user yang dipilih yang dapat melihati isi pesan). Private Chat with User2 User1 : Coba ketikan sesuatu User2 : It s works. SEND Clear Ignore Close Emoticon Gambar III.14. Tampilan Private Message
68 4. Desain Output untuk mengganti Room. Login Help Nick Selamat Name datang : User1 di General Room RoomName : Music User Count Users: 2 Rooms User1 : Hai Semua General Bussiness User1 meninggalkan General Room ke Music Programmer Music Icon Change Room SEND EXIT Gambar III.15. Tampilan Multi Room 5. Desain Output untuk Menyisipkan Emoticon. Login Help Nick Selamat Name datang : User1 di General Room RoomName : Music User Count Users: 2 Rooms Icon User1 : Halo Semua User1 : X X SEND EXIT Gambar III.16. Tampilan Memasukkan Karakter Emoticon
69 III.5. Desain Input Input merupakan unit masukan dari aplikasi yang dibuat. Tanpa menginput data yang diinginkan maka aplikasi tidak akan dapat berjalan. Untuk lebih jelasnya desain input yang dibuat adalah sebagai berikut : ---Login--- Nick Name : Server Name : Server Port : Connect Quit Gambar III.17. Tampilan Login Form Client Pada desain ini, user diminta untuk memasukkan nama, nama server dan Server port untuk dapat login dan menggunakan aplikasi ini. III.6. Logika Program Logika program adalah langkah logis pembuatan program dan bagaimana program itu berjalan yang disusun secara sistematis. Berikut adalah flowchart dari aplikasi chat, baik dari sisi server dan dari sisi client.
70 Gambar III.18. Flowchart dari Sisi Server Penjelasan dari flowchart di atas adalah sebagai berikut : Server pertama kali akan membuka port 1436. Kemudian listen di port tersebut menunggu sampai ada client yang terkoneksi. Ketika ada client yang terkoneksi, server akan menjalankan thread lalu server akan mengecek apakah nickname yang dipakai client sudah ada atau belum. Jika nickname yang dipakai sudah ada, maka server akan meminta kepada client untuk memasukkan ulang nickname yang baru. Jika nickname belum ada yang memakai, maka client bisa langsung tersambung dengan server.
71 Gambar III.19. Flowchart dari Sisi Client Penjelasan dari flowchart di atas adalah sebagai berikut : Pertama kali user harus login terlebih dahulu. Login disini maksudnya user harus memasukkan Nickname dan ServerName. Setelah input-an tersebut kemudian program akan menghubungkan dengan server. Pada server akan dilakukan pengecekan apakah nickname yang dibuat sudah ada yang memakai atau belum. Jika belum, maka program akan terhubung dengan server. Tetapi apabila nickname sudah digunakan, maka server akan menampilkan pesan nickname yang dipakai sudah digunakan. Selain itu apabila ServerName salah, maka server juga akan menamplkan pesan error.