Ad (728x90)

Senin, 12 November 2012

Aplikasi Chatting Berbasis GUI


import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatServer extends JFrame{

JLabel lblPesan =  new JLabel  ("Kirim Pesan :");
TextArea taPesan=new TextArea(4,50);
JLabel lblBalasan = new JLabel ("Dari Teman  :");
TextArea taTeman=new TextArea(4,50);
JButton btnSend=new JButton("Send");
JButton btnClose=new JButton("Close Connection");
ServerSocket sktServer;
Socket conClient;

ObjectInputStream fromClient;
ObjectOutputStream toClient;
String s=null;
Container c;
 

public void sendData(){
           try{
                       toClient=new ObjectOutputStream(conClient.getOutputStream());
                       toClient.writeObject(taPesan.getText());
                       System.out.println(taPesan.getText());
                       taPesan.setText("");
               taPesan.requestFocus();
             
           }
           catch (EOFException ex){
                       ;
           }
           catch(NullPointerException npe){
                     JOptionPane.showMessageDialog(null, "Koneksi Belum Tersambung ! ",
                                 "Pesan", JOptionPane.ERROR_MESSAGE);
           }
           catch(SocketException se){
                     JOptionPane.showMessageDialog(null, "Koneksi Putus !",
                                 "Pesan", JOptionPane.ERROR_MESSAGE);
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void sendData()


public void closeConnection(){
           try{
                     //toClient.writeObject("bye");
                     conClient.close();
                     conClient=null;
                     System.exit(0);
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end closeConnection();

public ChatServer()throws IOException{
                     c = getContentPane();
                     c.setLayout (new FlowLayout());
                     c.add (lblPesan);
                     c.add (taPesan);
                     c.add (lblBalasan);
                     c.add (taTeman);
                     c.add (btnSend);
                     c.add (btnClose);
                       

           btnSend.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   sendData();
                       }//end void actionPerformed
           });

           btnClose.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   closeConnection();
                       }//end void actionPerformed
           });

}//end public ChatServer()

         public void terimaKoneksi() throws IOException{
             //sktServer=new ServerSocket(2000,1000);
                     sktServer=new ServerSocket(2000);
                     conClient=sktServer.accept();
                     //tunggu sampai client masuk melalui port 2000

                     //System.out.println("Tersambung dengan client " +
                                 //conClient.getInetAddress());

                     JOptionPane.showMessageDialog(null, "Tersambung dengan Client " +
                                 conClient.getInetAddress().toString(), "Pesan",
                                 JOptionPane.INFORMATION_MESSAGE);
                     sktServer.close();

                     try{
                                               
                                 fromClient=new ObjectInputStream(conClient.getInputStream());
                                 do{
                                             try{
                                                         s=(String) fromClient.readObject();
                                                         //System.out.println(s);
                                                         taTeman.setText(s);
                                             }//end try
                                             catch(ClassNotFoundException ex){
                                                         System.out.println("Error");
                                             }//end catch
                                 }//end do
                                 while (!s.equals("bye"));
                     }//end try
                     catch (EOFException ex){
                                 ;
                     }
                     catch (IOException io) {
                                 System.out.println("IO Exception");
                                 io.printStackTrace();
                     }
                     finally {
                                 System.out.println("Closed");
                                 conClient.close();
                     }//end finally
         }//end void terimaKoneksi()

         public static void main(String[] args) throws IOException
         {
                     ChatServer svr = new ChatServer();
                     svr.setTitle("Chatting - Server");
                     svr.setLocation (300,300);
                     svr.setSize(500,250);
                     svr.setVisible(true);          
                     svr.addWindowListener(new WindowAdapter(){
                                 public void windowClosing(WindowEvent ev){                              
                                             System.exit(0);
                                 }//end void
                     });
                     //supaya GUI muncul dulu & bisa terima koneksi, maka
                     //method terimaKoneksi() diletakkan di sini
                     svr.terimaKoneksi();

         }//end main
}//end class

--------------------------------------------------------------------------------

import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatClient extends JFrame{

JLabel lblPesan =  new JLabel  ("Kirim Pesan :");
TextArea taPesan=new TextArea(4,50);
JLabel lblBalasan = new JLabel ("Dari Teman  :");
TextArea taBalasan=new TextArea(4,50);
JButton btnSend=new JButton("Send");
JButton btnOpen=new JButton("Open Connection");
JButton btnClose=new JButton("Close Connection");
Socket con=null;
ObjectOutputStream toServer;
ObjectInputStream fromServer;
String balasan=null;
String inputIPServer;

public void openConnection(){
           try{
                     //input dialog u/ memasukkan IP Address Chat Server
                     inputIPServer=JOptionPane.showInputDialog("Inputkan IP Server");

                     //koneksi ke port 2000 pada IP Address Server
                     con=new Socket(InetAddress.getByName(inputIPServer),2000);
                     toServer=new ObjectOutputStream(con.getOutputStream());
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end openConnection();

public void sendData(){
           try{
                       toServer.writeObject(taPesan.getText());
                       taPesan.setText("");
               taPesan.requestFocus();
           }
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void sendData()

public void getData(){
           try{
                       fromServer=new ObjectInputStream(con.getInputStream());
                       balasan=(String) fromServer.readObject();
                       //System.out.println(balasan);
                       taBalasan.setText(balasan);
           }
           catch (ClassNotFoundException ex){
                       System.out.println("Error");
           }
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end void getData()
public void closeConnection(){
           try{
                     toServer.writeObject("bye");
                     con.close();
                     con=null;
           }//end try
           catch (EOFException ex){
                       ;
           }
           catch(IOException io){
                       System.out.println("IO Exception");
                       io.printStackTrace();
           }
}//end closeConnection();

public ChatClient(){
           Container c = getContentPane();
           c.setLayout (new FlowLayout());
           c.add (lblPesan);
           c.add (taPesan);
           c.add (lblBalasan);
           c.add (taBalasan);
           c.add (btnOpen);
           c.add (btnSend);
           c.add (btnClose);

           btnOpen.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   openConnection();
                       }//end void actionPerformed
           });

           btnSend.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   sendData();
                                   getData();
                       }//end void actionPerformed
           });

           btnClose.addActionListener (new ActionListener(){
                       public void actionPerformed(ActionEvent evt){
                                   closeConnection();
                       }//end void actionPerformed
           });
   
           //pack();
}//end public ChatClient()

         public static void main(String[] args)
         {
                     ChatClient klien = new ChatClient();
                     klien.setTitle("Chatting - Client");
                     klien.setLocation (300,300);
                     klien.setSize(500,250);
                     klien.setVisible(true);         
                     klien.addWindowListener(new WindowAdapter(){
                                 public void windowClosing(WindowEvent ev){                                
                                             System.exit(0);
                                 }//end void
                     });

         }//main
}//class

Tugas pert 6



--------------------------------------------------------------------

alter trigger update_quo on detil_peminjaman
after insert
as
begin
declare @nim char (11)
declare @kode_buku numeric (18,0)
declare @no_pinjam char (11)
set @no_pinjam = (select no_peminjaman from inserted)
set @nim = (select mahasiswa from peminjaman where no_peminjaman = @no_pinjam)
set @kode_buku = (select id_buku from inserted)
exec update_quota @nim
exec update_buku @kode_buku

end

--------------------------------------------------------------------

alter procedure update_quota (@nim char(11))
as
begin
declare @jum int
--set @jum = (select quota_perpus from mahasiswa where nim = @nim)
update mahasiswa set quota_perpus = quota_perpus-1 where nim = @nim
end

--------------------------------------------------------------------

alter procedure update_buku (@id_buku numeric (18,0))
as
begin
update buku set jumlah = jumlah -1 where id = @id_buku
end

--------------------------------------------------------------------

insert into peminjaman values ('124', getdate(), '05410104001')

insert into detil_peminjaman values ('124', '1', '0')

--------------------------------------------------------------------

alter trigger cek_quotaMhs on detil_peminjaman
instead of insert
as
begin
declare @nim char (11)
declare @no_pinjam char (11)
declare @jumlah_quota int
declare @kode_buku numeric (18,0)
declare @denda numeric (18,0)
set @no_pinjam = (select no_peminjaman from inserted)
set @nim = (select mahasiswa from peminjaman where no_peminjaman = @no_pinjam)
set @jumlah_quota = dbo.jumlah_quotaMhs (@nim)
set @kode_buku = (select id_buku from inserted)
set @denda = (select denda from inserted)
if @jumlah_quota = 0
begin
exec hapus_peminjaman @no_pinjam
end
else if  @jumlah_quota >0
insert into detil_peminjaman values (@no_pinjam, @kode_buku, @denda )

end

--------------------------------------------------------------------
alter function jumlah_quotaMhs (@nim char (11))
returns int
as
begin
declare @jumlah int
set @jumlah = (select quota_perpus from mahasiswa where nim = @nim)
return @jumlah
end

--------------------------------------------------------------------

alter procedure hapus_peminjaman (@no_pinjam char(10))
as
begin
delete from peminjaman where no_peminjaman = @no_pinjam
end

--------------------------------------------------------------------

insert into peminjaman values ('298', getdate(), '05410104001')

insert into detil_peminjaman values ('298', '2', 0)

Minggu, 04 November 2012

Jawaban Latihan (5)


-- No. 1
--procedure sp_GetMKPerDosen untuk menghitung seluruh data MK
create proc sp_GetMKPerDosen @nid as char(6)
as
begin
--menampilkan data MK berdasarkan dosen yang diinputkan
select distinct d.nama, mk.kode_mk, mk.nama, mk.sks, mk.semester
from mk, nilai n, dosen d
where mk.kode_mk = n.kode_mk and
n.nid = d.nid and
d.nid = @nid --'010103'

--deklarasi variabel untuk menampung jumlah MK berdasarkan dosen yang diinputkan
declare @jumlah as numeric;

--set nilai jumlah
set @jumlah = (select count(distinct mk.kode_mk)
from mk, nilai n, dosen d
where mk.kode_mk = n.kode_mk and
n.nid = d.nid and
d.nid = @nid) --'010103'
print 'Jumlah MK yang diambil dosen adalah ' + convert(char,@jumlah)
end

--eksekusi procedure sp_GetMKPerDosen
--cara 1
sp_GetMKPerDosen '010306'
--cara 2
exec sp_GetMKPerDosen '010103'

--hapus procedure sp_GetMKPerDosen
drop proc sp_GetMKPerDosen

--No. 2
--procedure sp_insertDosen untuk memasukan data dosen
create proc sp_insertDosen @nid as char(6), @nama as varchar(100)
as
begin
insert into dosen
values (@nid, @nama)
end

--lihat data dosen
select * from dosen

--eksekusi procedure sp_insertDosen
sp_insertDosen '123456','Edo Yonatan K.';

--lihat data dosen
select * from dosen

--hapus procedure sp_insertDosen
drop proc sp_insertDosen

--No. 3
--procedure sp_DnsertDosen untuk menghapus data dosen
create proc sp_DeleteDosen @nid as char(6)
as
begin
delete from dosen where nid = @nid
end

--lihat data dosen
select * from dosen

--eksekusi procedure sp_DeleteDosen
sp_DeleteDosen '123456';

--lihat data dosen
select * from dosen

--hapus procedure sp_DeleteDosen
drop proc sp_DeleteDosen

Jawaban Tugas Prak (5)


-- No. 1
--function fCekMhs untuk mengecek nama
alter function fCekMhs (@nama as varchar(100))
returns numeric
as
begin
--set nilai @jumlah
return (select count(*)
from mahasiswa
where nama = @nama)
end

--hapus function fCekMhs
drop function fCekMhs

create proc sp_GetNilaiMhs @nama as varchar(100)
as
begin
--deklarasi variabel untuk menampung jumlah mahasiswa yang terdaftar
declare @jumlah as numeric

--set nilai pada variabel jumlah dengan memanggil function fCekMhs
set @jumlah = dbo.fCekMhs(@nama)

--cek jika jumlah = 0 => data tidak ada, maka akan mengembalikan nilai -1
if @jumlah = 0
begin
return -1
end
else
begin
select m.nama, n.tugas, n.uts, n.uas
from mahasiswa m, nilai n
where m.nim = n.nim and
nama = @nama;
end
end

--hapus procedure sp_GetNilaiMhs
drop proc sp_GetNilaiMhs

--deklarasi variabel untuk menampung hasil return dan non return
declare @jumlahData INT;

--eksekusi procedure sp_GetNilaiMhs
exec @jumlahData = sp_GetNilaiMhs 'Cinta';
print @jumlahData;



--No. 2
begin transaction

--function fBuatNIM untuk format NIM
create function fBuatNIM (@nim as varchar(11))
returns varchar(11)
as
begin
return right(year(getdate()),2)+'41010'+right('0000'+@nim,4);
end

--hapus function fBuatNIM
drop function fBuatNIM

--procedure sp_InsertMhs untuk menghitung seluruh data MK
create proc sp_InsertMhs @nim_urut as varchar(11),@nama as varchar(100),@alamat as varchar(100),
@kota as varchar(50),@jns_kelamin as char(1),@sts_nikah as char(1)
as
begin
--deklarasi variabel untuk menampilkan jumlah mahasiswa
declare @jumlah as numeric;


--set nilai jumlah mahasiswa sebelum ditambahkan
set @jumlah = (select count(*) from mahasiswa);

--cetak jumlah mahasiswa sebelum ditambahkan
print 'jumlah data mahasiswa (sebelum)' + convert(char,@jumlah);

--query memasukkan data mahasiswa
insert into mahasiswa
values (dbo.fBuatNIM(@nim_urut), @nama, @alamat, @kota, @jns_kelamin, @sts_nikah)

--set nilai jumlah mahasiswa sesudah ditambahkan
set @jumlah = (select count(*) from mahasiswa);

--cetak jumlah mahasiswa sesudah ditambahkan
print 'jumlah data mahasiswa (sesudah)' + convert(char,@jumlah);
end

--eksekusi procedure sp_InsertMhs
sp_InsertMhs '58','Edo Yonatan K.','Gunung Sari Indah L. 39','Surabaya','P','B'

--hapus procedure sp_InsertMhs
drop proc sp_InsertMhs

--hasilnya ditampilkan dalam bentuk tabel
select * from mahasiswa

rollback transaction

 

We are featured contributor on entrepreneurship for many trusted business sites:

  • Copyright © JSC BOJONEGORO™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Platform.