Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 19
APLIKASI CHATTING MULTICLIENT BERBASIS GRAFIS DENGAN JAVA
Chatting menurut Bahasa Indonesia artinya mengobrol atau bercakap-cakap. Chatting
memungkinkan kita dapat mengobrol dengan teman, keluarga, saudara atau mungkin mencari teman baru yang belum kita kenal. Chatting memungkinkan kita untuk selalu bisa berkomunikasi walaupun kita tidak berada bersamanya di suatu tempat. Aplikasi chatting merupakan suatu aplikasi yang memungkinkan pengguna (client) berkomunikasi teks secara langsung (Real Time) dengan pengguna lain dengan menggunakan media yang ada. Java merupakan suatu bahasa pemograman yang multi platform dan multi device. Java juga merupakan bahasa pemograman yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur yang rumit. Pada bagian kali ini saya akan mencoba untuk membuat suatu aplikasi chatting multiclient sederhana dengan menggunakan tampilan grafis berbasis bahasa pemograman java. Dimana nanti masing-masing client yang terhubung ke jaringan dapat langsung bercakap-cakap secara langsung. Pertama yang harus dilakukan kita terlebih dahulu melakukan setting alamat IP pada masing-masing client. Pada percobaan ini kita akan menggunakan 1 server dan 1 client. Adapun alamat IP nya adalah sebagai berikut : a. Server Ip address : 10.10.10.3 Netmask : 255.0.0.0
b. Client Ip address : 10.10.10.2 Netmask : 255.0.0.0
Setelah melakukan konfigurasi IP pada masing-masingi komputer kemudian kita juga harus memastikan bahwa firewall pada masing-masing komputer harus diaktifkan karena pada beberapa kasus program ini tidak dapat saling terkoneksi akibat firewall yang aktif pada sistem operasinya. Lalu install Textpad versi 7 dan jdk versi 7 pada masing-masing komputer. Kemudian langkah selanjutnya kita mengetikan listing program java untuk aplikasi chatting ini dengan menggunakan TextPad. Programnya terbagi menjadi dua bagian yaitu bagian server dan client. Adapun listing programnya adalah sebagai berikut.
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane(); viewTextArea = new javax.swing.JTextArea(); jScrollPane2 = new javax.swing.JScrollPane(); clientTable = new javax.swing.JTable(); postTextField = new javax.swing.JTextField(); kirimButton = new javax.swing.JButton(); lbljpg = new javax.swing.JLabel(new ImageIcon("D:/nikii.jpg")); jLabel2 = new javax.swing.JLabel(); serverTextField = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); portTextField = new javax.swing.JTextField(); masukButton = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel(); usernameTextField = new javax.swing.JTextField();
private void postTextFieldActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: kirimButtonActionPerformed(evt); }
/** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.h tml */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) {
@Override public void run() { while (true) { try { String msg = (String) input.readObject(); String res; String type = msg.split("~")[0]; String pengirim = msg.split("~")[1]; String text = msg.split("~")[2]; String kepada = msg.split("~")[3]; switch (type) { case "recieveText": res = pengirim + ": " + text;
viewTextArea.setText(viewTextArea.getText() + res + "\n"); break; case "recievePrivateText": res = pengirim + ": " + text; if (kepada.equals(username)) {
viewTextArea.setText(viewTextArea.getText() + res + "\n"); } break; case "login":
viewTextArea.setText(viewTextArea.getText() + pengirim + " telah logout..." + "\n"); clients.remove(pengirim); break; case "list": setTable(text); break; } } catch (IOException e) { System.out.println("Server has close the connection: " + e); break; } catch (ClassNotFoundException e2) { } } }
private void setTable(String text) { int rows = text.split(":").length - 1; Object[][] data = new Object[rows][1]; for (int i = 0; i < rows; i++) { String t = text.split(":")[i]; data[i][0] = t; }
Jika kedua program telah selesai dibuat maka kita compile program tersebut dengan menekan tombol CTRL + 1. Jika progam tidak memiliki kesalahan akan timbul pesan Tool Compiled Successfully. Kemudian jalankan program. Adapun hasil programnya adalah sebagai berikut :
1. Tampilan ketika client melakukan chatting
Gambar 1. Ketika client berhasil masuk dan melakukan chatting.
2. Tampilan Ketika client berhasil masuk ke server.
Gambar 2. Ketika client berhasil masuk dan melakukan chatting.