Home » Pemrograman Berorientasi Objek
JAVA - PROGRAM MENGHITUNG DAGING QURBAN

Assalamu'alaikum?. selamat malam pembaca, UAS belum juga beres nih.. malah tugas tugas semakin bertambah, ya salah satunya tugas yang ini, ini tugas tidak terlalu buru-buru sih masih banyak waktu, sekitar satu minggu. tapi mumpung ada inspirasi dan lagi semangat ya mending sekarang saja saya kerjakan. sekalian mengurangi beban tugas-tugas, baik lah sekarang akan saya share di sini tugas yang telah selesai saya kerjakan, selamat menyimak :

yang pertama SOURCE CODE nya:


import java.io.BufferedReader; //fungsi buffered reader untuk menangkap inputan dari keyboard
import java.io.IOException;  //fungsi buffered reader untuk menangkap inputan dari keyboard
import java.io.InputStreamReader; //fungsi buffered reader untuk menangkap inputan dari keyboard
import javax.swing.JOptionPane; //Untuk Menampilkan Karakter
import java.util.Scanner; //sama untuk menangkap inputan dari keyboard
class Menghitung_Daging_Qurban { // Nama kelas
     public static void main(String args[]) {
          Scanner In = new Scanner (System.in);
          String Daging_Qurban, Mustahiq_Qurban, Ulangi;
          char Lagi;
          int Daging, Mustahiq, Daging_Untuk_Pemilik, Daging_Untuk_Mustahiq,  Untuk_Mustahiq;
              do{ //Pengulangan
                    Daging_Qurban = JOptionPane.showInputDialog("Masukan Berat Daging : " );
                     Daging=Integer.parseInt(Daging_Qurban); //Menginputkan data dari keyboard
                     Mustahiq_Qurban= JOptionPane.showInputDialog("Masukan Jumlah Mustahiq : " );
                     Mustahiq=Integer.parseInt(Mustahiq_Qurban); //Menginputkan data dari keyboard
                     Daging_Untuk_Pemilik = Daging/3; //Rumus untuk menghitung daging untuk pemilik
                     Daging_Untuk_Mustahiq = (Daging*2)/3; //Rumus untuk mustahiq
                     Untuk_Mustahiq = Daging_Untuk_Mustahiq/Mustahiq; //Rumus untuk mustahiq
                      JOptionPane.showMessageDialog(null,"Daging Untuk Orang Yang Berqurban   =  "     +Daging_Untuk_Pemilik+"Kg\nDaging Untuk Mustahiq  = " +Untuk_Mustahiq+"Kg"); //Menampilakan hasil
                    Ulangi = JOptionPane.showInputDialog("Mau Menghitung Kembali (y/t)? : " );
                     Lagi= In.next().charAt(0);//Pertanyaan apakah user akan mengulangi perhitungan daging qurbannya.
                  }
                   while (Lagi == 'Y' || Lagi =='y'); //Proses Pengulangan jika di jawab ‘Y’
  }
}



dan ini ini dia TAMPILAN PROGRAM nya







    


                                       





demikian lah yang bisa saya share pada kesempatan kali ini semoga bermanfa'at ya. boleh copy paste asal jangan terlalu sema, modifikasi..INGAT TOLERANSI KESAMAAN MAXIMAL 25% (Khusus Untuk Rekan Seperjuangan)..

kalo Untuk yang lain bebas lah.. he.


sudah dulu ya..

wassalam.

Sumber Reperensi : Alhamdulillah Ngulik Sendiri


Read More.. >>

UAS PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK


Dosen                          : Aldy Rialdy Atmadja, ST.
Asisten                         : Muhammad Indra Nurardy
Semester                      : IV
Tipe Soal                      : Take Home Test (Kelompok)

Buatlah sebuah aplikasi dibawah ini, aplikasi yang dibuat merupakan aplikasi yang telah dipilih oleh kelompok masing-masing dengan studi kasus
1.      Perparkiran
2.      Booking Tiket Pesawat
3.      Pembelian Tiket Bioskop
4.      Peminjaman Buku Perpustakaan
5.      Pembayaran di Kasir
6.      Penggajian Karyawan
7.      Pendataan Pembayaran Zakat
8.      Nilai Mahasiswa
9.      Rental Mobil
10.  Pemesanan Kamar Hotel
11.  Administrasi Rumah Sakit
12.  Penerimaan Mahasiswa Baru
13.  Pembayaran Tagihan PDAM

Komponen yang harus ada :
ñ  Menu dan Akses Login terhadap Aplikasi.
ñ  Form CRUD (Create, Read, Update dan Delete), bagian dari aplikasi. Form transaksi boleh dibuat bila ada.
ñ  Menggunakan database, boleh mempergunakan database apapun (MySQL, Access, SQL Server, dll).
ñ  Laporan/Report aplikasi, sifatnya boleh ada ataupun tidak (nilai tambah)
Ketentuan :
ñ  Waktu pengerjaan, 2 minggu terhitung dari sekarang.
ñ  Adapun yang dikumpulkan pada tanggal tersebut yakni source code dan aplikasi saja. Laporan dikumpulkan 1 minggu dari waktu pengumpulan.
ñ  Penilaian :
Aplikasi yang dikerjakan (35%), Presentasi dan tanya jawab (40%), Laporan (25%).
ñ  Presentasi dilakukan pada 2 minggu setelah pengerjaan aplikasi. Pada tanggal 13, 15 dan 16 Juni.

- SELAMAT MENGERJAKAN -
Bismillahirrahmanirrahim, Man jadda wa jada
Read More.. >>

JAVA - EDIT DAN HAPUS KONEKSI KE DATABASE

Assalamu'alaikum?, selamat pagi semua, selamat pagi Indonesia, apa kabar Anda hari ini?. semoga semuanya baik-baik saja, pada pagi hari ini saya akan mencoa berbagi sebuah coding java yang telah saya pelajari pada praktikum minggu kemarin, coding ini berisikan tombol edit, hapus dan menampilkan data dari database. baik lah kita tidak akan berlama-lama disini, lansung saja ke TKP, berikut codingnya selamat menyimak:


package pbo.praktikum.gui;
import javax.swing.*;


import java.sql.*;
import java.awt.*;


import javax.swing.table.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.text.*;
public class ValidasiGabungan extends JFrame{
JScrollPane jScrollPane1 = new JScrollPane();
JTable tabel = new JTable();
DefaultTableModel tabMode;
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JTextField textKode = new JTextField();
JTextField textNama = new JTextField();
JTextField textAlmt = new JTextField();
JLabel jLabel3 = new JLabel();
Choice pilihKelas = new Choice();
Button button1 = new Button();
Button rubah = new Button();
Button hapus = new Button();
JTextPane caraPengguna = new JTextPane();
Connection konek;

public static void main (String args[]){
ValidasiGabungan ValidasiGabungan = new ValidasiGabungan();
ValidasiGabungan.setSize(400,460);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int lebar = (screen.width - ValidasiGabungan.getSize().width)/2;
int tinggi = (screen.height - ValidasiGabungan.getSize().height)/2;

ValidasiGabungan.setTitle("Form Mahasiswa Teknik Informatika");
ValidasiGabungan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ValidasiGabungan.setLocation(lebar,tinggi);
ValidasiGabungan.setResizable(false);
ValidasiGabungan.setVisible(true);
}

public ValidasiGabungan(){
tabel.setToolTipText("");
tabel.setVerifyInputWhenFocusTarget(false);
Object[] row = {"NIM","Nama Mahasiswa","Alamat","Kelas"};
tabMode = new DefaultTableModel(null,row);
jScrollPane1.setBounds(new Rectangle(13,195,365,100));
tabel.setModel(tabMode);
// Menambahkan MouseListener pada Tabel
tabel.addMouseListener(new java.awt.event.MouseAdapter(){
//Proses saat Tabel di klik
public void mouseClicked(MouseEvent e){
dapatData_dari_Tabel();
}
});
jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
jLabel1.setText("NIM ");
jLabel1.setBounds(new Rectangle(10,13,120,15));
this.getContentPane().setLayout(null);
jLabel2.setBounds(new Rectangle(10,43,120,15));
jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
jLabel2.setText("Nama Mahasiswa ");
jLabel4.setBounds(new Rectangle(10,73,120,15));
jLabel4.setHorizontalAlignment(SwingConstants.LEFT);
jLabel4.setText("Alamat ");
jLabel5.setBounds(new Rectangle(10,103,120,15));
jLabel5.setHorizontalAlignment(SwingConstants.LEFT);
jLabel5.setText("Kelas ");
textKode.setText(null);
textKode.setBounds(new Rectangle(130,13,187,21));
textKode.setDocument(new batasInput((byte)10).getFilter());
textNama.setText(null);
textNama.setBounds(new Rectangle(130,43,187,21));
textAlmt.setText(null);
textAlmt.setBounds(new Rectangle(130,73,187,21));
pilihKelas.setEnabled(true);
pilihKelas.setBounds(new Rectangle(130,103,121,22));
pilihKelas.addItem("IFA");
pilihKelas.addItem("IFB");
pilihKelas.addItem("IFC");
pilihKelas.addItem("IFD");
jLabel3.setText("Daftar para Mahasiswa yang telah tersimpan sebelumnya");
jLabel3.setBounds(new Rectangle(29,169,343,15));
button1.setLabel("Simpan");
button1.setBounds(new Rectangle(30,137,93,24));
//Menambahkan Actin Listener
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//Method yang dipanggil saat tombol ditekan
cekAndSaveData(e);
}
});
rubah.setActionCommand("");
rubah.setEnabled(false);
rubah.setLabel("Rubah");
rubah.setBounds(new Rectangle(140,137,93,24));
// Menambahkan Actin Listener pada tombol RUBAH
rubah.addActionListener(new java.awt.event.ActionListener(){
//Proses saat tombol RUBAH diklik
public void actionPerformed(ActionEvent e){
proses_RubahData();
}
});
hapus.setActionCommand("");
hapus.setEnabled(false);
hapus.setLabel("Hapus");
hapus.setBounds(new Rectangle(250,137,93,24));
// Menambahkan Action Listener pada tombol HAPUS
hapus.addActionListener(new java.awt.event.ActionListener(){
// Proses saat tombol HAPUS di klik
public void actionPerformed(ActionEvent e){
proses_hapusData();
}
});
caraPengguna.setEditable(false);
caraPengguna.setText("Cara Menggunakan :\n" +
"1. Masukkan string, lalu klik tombol 'Simpan' untuk menyimpan data ke database.\n" +
"2. Klik tombol 'Rubah', jika ingin merubah isi record.\n" +
"3. Klik tombol 'Hapus', jika ingin menghapus isi record.");
caraPengguna.setBounds(new Rectangle(13,300,367,110));
this.getContentPane().add(jScrollPane1, null);
jScrollPane1.getViewport().add(tabel, null);
this.getContentPane().add(jLabel1,null);
this.getContentPane().add(jLabel2,null);
this.getContentPane().add(jLabel4,null);
this.getContentPane().add(jLabel5,null);
this.getContentPane().add(textKode,null);
this.getContentPane().add(textNama,null);
this.getContentPane().add(textAlmt,null);
this.getContentPane().add(jLabel3,null);
this.getContentPane().add(pilihKelas, null);
this.getContentPane().add(button1,null);
this.getContentPane().add(rubah, null);
this.getContentPane().add(hapus, null);
this.getContentPane().add(caraPengguna, null);
//Memanggil method untuk koneksi database dan daftar kode yang telah tersimpan
koneksiDatabase();
daftarKode();
}
/**
*Method koneksiDatabase
*Untuk melakukan koneksi dengan Database Server
*/
public void koneksiDatabase() {
//Mencoba memanggil Driver JDBC
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Sukses Driver JDBC ditemukan...");
//Mencoba melakukan koneksi dengan database
try {
String db = "mahasiswa";
String url = "jdbc:mysql://localhost/" + db;
String user = "root";
String pass = "";
konek = DriverManager.getConnection(url,user,pass);
System.out.println("Sukses Koneksi...");
}
//Gagal Koneksi dengan database
catch (SQLException se){
System.out.println("Koneksi Gagal= "+se);
}
}
//Gagal Memanggil Driver JDBC
catch (ClassNotFoundException cnfe){
System.out.println("Class tidak ditemukan..Error: "+cnfe);
}
}//Akhir method koneksiDarabase()
/**
* Method daftarKode()
* Untuk menampilkan daftar kode dan nama siswa yang telah tersimpan di database
*/
public void daftarKode() {
hapusTabel();
//Mencoba mengirim Statement SQL
try {
String sql = "Select NIM,NAMA,Alamat,Kelas from data";
Statement stat = konek.createStatement();
ResultSet set = stat.executeQuery(sql);
while (set.next()){
String nim = set.getString("nim");
String nama_mahasiswa = set.getString("nama_mahasiswa");
String alamat = set.getString("alamat");
String kelas = set.getString("kelas");
String[] data = {nim, nama_mahasiswa, alamat, kelas};
tabMode.addRow(data);
}
stat.close();
}
//Kesalahan pengiriman Statement SQL
catch (SQLException se){
System.out.println("SQL salah = "+se);
}
catch (Exception e){
System.out.println("Pesan Error = "+e);
}
}//Akhir method daftarKode()
/**
* Method hapusTabel
* Untuk menghapus semua data yang terdapat pada tabel
*/
public void hapusTabel(){
int row = tabMode.getRowCount();
for (int i=0; i<row; i++){
tabMode.removeRow(0);
}
}
/**
* Method cekAndSaveData(ActinEvent e)
* Untuk melakukan pemeriksaan apakah data yang dimasukkan valid atau tidak-
* Jika valid, data tersebut disimpan
* tetapi jika tidak valid maka menampilkan pesan kesalahan
* @param e: Actin Event
*/
void cekAndSaveData(ActionEvent e){
//Mencoba Mengirim Statement SQL
try {
PreparedStatement stat = konek.prepareStatement(
"Insert Into data values(?,?,?,?)");
try {
stat.setString(1, textKode.getText());
stat.setString(2, textNama.getText());
stat.setString(3, textAlmt.getText());
stat.setString(4, pilihKelas.getSelectedItem());
stat.executeUpdate();
}
//Gagal Mengirim Statement SQL (Data tidak valid)
catch (SQLException se){
System.out.println("Gagal Menyimpan..Pesan Error="+se);
JOptionPane.showMessageDialog(null, "Kode yang Anda masukkan telah ada sebelumnya \nGagal disimpan.. Coba Lagi\nPesan Error :\n" +
"<html><font color=#FF0000>"+se+"</font></html>");
textKode.setFocusable(true);
}
daftarKode();
stat.close();
}
catch(Exception er) {
System.out.println("Pesan Error ="+er);
}
}//Akhir Method cekAndSaveData(ActiontEvent e)
/**
* Membuat Kelas Untuk membatasi Input yang masuk
*/
class batasInput {
byte length;
PlainDocument filter;
public batasInput(byte length) {
this.length = length;
}
public PlainDocument getFilter() {
filter = new javax.swing.text.PlainDocument() {
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
int ab = textKode.getText().length();
if (ab < length) {
super.insertString(offs, str, a);
}
}
};
return filter;
}
}
void dapatData_dari_Tabel() {
int row = tabel.getSelectedRow();
// Mengambil data-data yang dipilih pada TABEL
String Nim = tabMode.getValueAt(row, 0).toString();
String Nama_Mahasiswa = tabMode.getValueAt(row, 1).toString();
String Alamat = tabMode.getValueAt(row, 2).toString();
String Kelas = tabMode.getValueAt(row, 3).toString();
textKode.setText(Nim);
textNama.setText(Nama_Mahasiswa);
textAlmt.setText(Alamat);
pilihKelas.select(Kelas);
// Apabila data tidak dipilih
if (textKode.getText().equals("")){
rubah.setEnabled(false);
hapus.setEnabled(false);
textKode.setEnabled(false);
textNama.setEnabled(false);
textAlmt.setEnabled(false);
pilihKelas.setEnabled(false);
}
// Apabila data dipilih
else {
rubah.setEnabled(true);
hapus.setEnabled(true);
textKode.setEnabled(false);
textNama.setEnabled(true);
textAlmt.setEnabled(true);
pilihKelas.setEnabled(true);
textNama.requestFocus();
}
}
/**
* Method proses_RubahData()
* Untuk melakukan modifikasi data
*/
public void proses_RubahData(){
// Konfirmasi sebelum melakukan perubahan data
int ok = JOptionPane.showConfirmDialog(null, "Anda Yakin Ingin Memodifikasi Data\nDengan Kode = "+textKode.getText()+"", "Konfirmasi Memodifikasi Data", JOptionPane.YES_NO_OPTION);
// Apabila tombol OK ditekan
if (ok == 0){
try{
String sql = "UPDATE data SET nama_mahasiswa = ?, alamat = ?, kelas = ? WHERE nim = "+ textKode.getText()+"";
PreparedStatement stat = konek.prepareStatement(sql);
try{
stat.setString(1, textNama.getText());
stat.setString(2, textAlmt.getText());
stat.setString(3, pilihKelas.getSelectedItem());
stat.executeUpdate();
daftarKode();
textKode.setText("");
textNama.setText("");
textAlmt.setText("");
rubah.setEnabled(false);
textKode.setEnabled(true);
textNama.setEnabled(true);
textAlmt.setEnabled(true);
pilihKelas.setEnabled(true);
}
catch(SQLException se){}
}
catch(SQLException se){}
}
}
/**
* Method proses_hapusData()
* Untuk melakukan modifikasi data
*/
public void proses_hapusData(){
// Konfirmasi sebelum melakukan penghapusan data
int ok = JOptionPane.showConfirmDialog(null,"Anda Yakin Ingin Menghapus Data\nDengan NIM = " + textKode.getText() + "","Konfirmasi Menghapus Data", JOptionPane.YES_NO_OPTION);
// Apabila tombol OK ditekan
if (ok == 0){
try {
String sql = "DELETE FROM data WHERE nim = " +
textKode.getText() + "";
PreparedStatement stat = konek.prepareStatement(sql);
stat.executeUpdate();
daftarKode();
textKode.setText("");
textNama.setText("");
textAlmt.setText("");
hapus.setEnabled(false);
}
catch (SQLException se){
System.out.println("Gagal Hapus.. Pesan Error = " + se);
JOptionPane.showMessageDialog(null, "Gagal Hapus Data.. Coba Lagi\nPesan Error :\n"
+ "<html><font color=#FF0000>" + se + "</font></html>");
textKode.setFocusable(true);
}
}
}

}//Akhir Kelas ValidasiPrimaryKey

Baiklah mungkin itu saja yang bisa saya sampaikan pada kesempatan kali ini semoga bisa bermanfa'at untuk sobat-sobat pembaca semuanya.
Terima Kasih. Wassalamu'alaikum Wr Wb.

Sumber Referensi : Praktikum Pemrograman Berorientasi Objek
Read More.. >>

JAVA - MEMBUAT KOLOM CHATING (INTERCOM)


1.   Class Server.java

package ProjectDariPakTresna;
import java.io.*;
import java.net.*;

public class Server
{   
    public static void main(String[] args )
    {
        try {   
            ServerSocket socket = new ServerSocket(80);

            Socket insocket = socket.accept();
            PrintWriter out = new PrintWriter (
                insocket.getOutputStream(), true);

            out.println("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 "
                + "transitional//EN'>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>");
            out.println("A new web page");
            out.println("</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>");
            out.println("A custom web server! Not bad.");
            out.println("</h1>");
            out.println("</body>");
            out.println("</html>");
            insocket.close();
        }
        catch (Exception e) {}
     }
}

2.  Class Intercom 1

package ProjectDariPakTresna;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class Intercom1 extends Frame implements Runnable, ActionListener
{   
    private Thread thread;
    private Button button1;
    private TextArea textarea1, textarea2;
    private Label label1, label2, label3;
    ServerSocket socket;
    PrintWriter out;

    Socket insocket;

    public static void main(String[] args)
    {
        new Intercom1();
    }

    public Intercom1()
    {
        setLayout(null);

        button1 = new Button("KIRIM");
        button1.setBounds(160, 660, 60, 20);
        add(button1);
        button1.addActionListener(this);

        label3 = new Label();
        label3.setBounds(20, 80, 200, 20);
        label3.setText("Kotak Masuk :");
        add(label3);
       
        textarea1 = new TextArea("", 7, 45,
            TextArea.SCROLLBARS_VERTICAL_ONLY);
        textarea1.setBounds(20, 100, 360, 260);
        add(textarea1);

        label1 = new Label();
        label1.setBounds(20, 370, 200, 20);
        label1.setText("Tuliskan Pesan Anda Disini:");
        add(label1);

        textarea2 = new TextArea("", 7, 45,
            TextArea.SCROLLBARS_VERTICAL_ONLY);
        textarea2.setBounds(20, 390, 360, 260);
        add(textarea2);

        label2 = new Label("Pesbuk 1");
        label2.setFont(new Font("Times New Roman", Font.BOLD, 36));
        label2.setBounds(100, 45, 200, 30);
        add(label2);

        setSize(400, 700);

        setTitle("Pesbuk 1");

        setVisible(true);
        textarea2.requestFocus();

        this.addWindowListener(new WindowAdapter(){
            public void windowClosing(
                WindowEvent e){
                    System.exit(0);
                    try{
                        socket.close();
                    }catch(Exception ex){}
                }
            }
        );

        try {   
            socket = new ServerSocket(8765);

            insocket = socket.accept( );

            out = new PrintWriter (insocket.getOutputStream(), true);

            thread = new Thread(this);
            thread.start();

        }
        catch (Exception e)
        {
            textarea1.setText(e.getMessage());
        }
     }

    public void run()
    {
        String instring;
        try {   
      
            BufferedReader in = new BufferedReader (new
                InputStreamReader(insocket.getInputStream()));
            while((instring = in.readLine()) != null){
                textarea1.append(instring + "\n");
            }
        }catch (Exception e)
        {
            textarea1.setText(e.getMessage());
        }

    }

    public void actionPerformed(ActionEvent event)
    {
        if(event.getSource() == button1){
            String text = textarea2.getText();
            textarea2.setText("");
            out.println(text);
            textarea2.requestFocus();
        }
    }
}


3.  Class Intercom 2

package ProjectDariPakTresna;
import java.io.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;

class Intercom2 extends Frame implements Runnable, ActionListener
{
    private Thread thread;
    private Button button1, button2;
    private TextArea textarea1, textarea2;
    private TextField textfield1;
    private Label label1, label2, label3;
    Socket socket;

    InputStream in;
    OutputStream out;
    int character;
    char[] chars = new char[1];

    public static void main(String[] args)
    {
        new Intercom2();
    }

    public Intercom2()
    {
        setLayout(null);

        label1 = new Label("Pesbuk 1 IP Address:");
        label1.setBounds(20, 80, 125, 20);
        add(label1);

        textfield1 = new TextField("127.0.0.1");
        textfield1.setBounds(150, 80, 110, 20);
        add(textfield1);

        button1 = new Button("Koneksikan");
        button1.setBounds(270, 80, 110, 20);
        add(button1);
        button1.addActionListener(this);

        button2 = new Button("KIRIM");
        button2.setBounds(160, 660, 60, 20);
        add(button2);
        button2.addActionListener(this);

        textarea1 = new TextArea("", 7, 45,
            TextArea.SCROLLBARS_VERTICAL_ONLY);
        textarea1.setBounds(20, 110, 360, 260);
        add(textarea1);

        label2 = new Label();
        label2.setBounds(20, 370, 200, 20);
        label2.setText("Tulis Pesan Anda Disini:");
        add(label2);

        textarea2 = new TextArea("", 7, 45,
            TextArea.SCROLLBARS_VERTICAL_ONLY);
        textarea2.setBounds(20, 390, 360, 260);
        add(textarea2);

        label3 = new Label("Pesbuk 2");
        label3.setFont(new Font("Times New Roman", Font.BOLD, 36));
        label3.setBounds(100, 35, 200, 30);
        add(label3);

        setSize(400, 700);

        setTitle("Pesbuk 2");
        setVisible(true);
        textarea2.requestFocus();

        this.addWindowListener(new WindowAdapter(){
            public void windowClosing(
                WindowEvent e){
                    System.exit(0);
                }
            }
        );
    }

    public void run()
    {
        try{
            while ((character = in.read()) != -1) {
                chars[0] = (char)character;
                textarea1.append(new String(chars));
            }
        }
        catch(Exception ex)
            {textarea1.setText(ex.getMessage());}
    }

    public void actionPerformed(ActionEvent event)
    {
        if(event.getSource() == button1){
            try{
                socket = new Socket(textfield1.getText(), 8765);
                textfield1.setText("Connecting....");

                in = socket.getInputStream();
                out = socket.getOutputStream();

                thread = new Thread(this);
                thread.start();
            }
            catch (IOException ioe){
                textarea1.setText("Intercom 1 must be running and\n"
                + "accessible before running Intercom 2.");
                textfield1.setText("Not connected");
            }
            catch (Exception e){
                textarea1.setText(e.getMessage());
            }

            if(socket != null && socket.isConnected()){
                textfield1.setText("Connected");
            }
        }

        if(event.getSource() == button2){
            try{
                String str = textarea2.getText() + "\n";
                byte buffer[] = str.getBytes();
                out.write(buffer);
                textarea2.setText("");
                textarea2.requestFocus();
            }
            catch(Exception ex)
                {textarea1.setText(ex.getMessage());}
        }
    }
}


TAMPILAN PROGRAM








Read More.. >>