JURUSAN MANAJEMEN INFORMATIKA ID. pdf
FORM UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2014/2015
_____ JURUSAN _______________________
PROGRAM STUDI D3
MANAJEMEN INFORMATIKA
Mata Kuliah
: Pemrograman Client Server
Dosen
: I Ketut Putra Yasa
Hari,Tgl kumpul
: Selasa, 13 Januari 2014
13.00 – 13.40
: Take Home, 1 x 24 jam
Sifat Ujian
Ket :
• Diisi langsung dengan diketik bukan tulis tangan, kemudian
diprint , print black / color
• Jika form yang telah diisi tidak bisa di-save, klik File Print
pilih adobe pdf atau Ms Office OneNote
Ruang
:
No Kursi :
NIM
:
Nama
: __________________________________________
Tgl Lahir
:
. 0 2 .
/
/
(DD/MM/YYYY)
*Lengkapi semua data diatas sebelum mulai mengerjakan
1. Create Data Source (10 point)
insert into sesuatu1 alues('001','aaaaaa',__)
1
CREATE FUNCTION FcHitTotalData6(@dt4 char(3))
returns int as begin
declare @total int
select @total=sum(data6) from sesuatu2
group by data4 having data4=@dt4
if @total is null
set @total=0
return @total
end
3
insert into sesuatu1 values('002','bbbbbb',__)
go
DBMANN
CREATE DATABASE _______
go
USE _________1a
go
CREATE TABLE Sesuatu1( data1 char(3) primary
key, data2 varchar(20) not null, data3 int )
go
insert into sesuatu1 values('003','cccccc',0)
go
CREATE TABLE Sesuatu2( data4 char(3)
foreign key references sesuatu1(data1),
data5 datetime, data6 int,
primary key (data4,data5) )
go
CREATE
select
go
CREATE
select
PROC SpTampilSesuatu1 as
* from sesuatu1
CREATE TRIGGER tgUbahData3 ON sesuatu2
FOR Insert,Update,Delete as begin transaction
declare @dt4lama char(3),@dt6lama int,
@totlama int,@dt4baru char(3),
@dt6baru int,@totbaru int
select @dt4lama=data4,@dt6lama=data6
from deleted
select @dt4baru=data4,@dt6baru=data6
from inserted
--panggil function hitung total data6
select @totlama=
dbo.________________ 1c (@dt4lama)
update sesuatu1 set data3=@totlama
where data1=@dt4lama
select @totbaru=
dbo.fcHitungTotalData6 (@dt4baru)
update sesuatu1 set data3=@totbaru
where data1=@dt4baru
if @@error=0
commit transaction
else
rollback transaction
PROC SpTampilSesuatu2 as
* from sesuatu2
go
SpInsEME
CREATE PROC _______________(
@dt4 char(3),@dt5 datetime,@dt6 int) as
declare @cekdata int
select @cekdata = count(data4) from sesuatu2
where data4 = @dt4 and data5=@dt5
if @cekdata = 0
insert into sesuatu2 values(@dt4,@dt5,@dt6)
go
CREATE PROCEDURE SpUpdateData6(
@dt4 char(3),@dt5 datetime,@dt6 int) as
update sesuatu2 set data6=@dt6
where data4=@dt4 and data5=@dt5
go
1b
CREATE PROCEDURE ____________ (
@dt4 char(3),@dt5 datetime) as
delete from sesuatu2
where data4=@dt4 and data5=@dt5
go
go
--panggil proc utk insert tabel sesuatu2
1d
______________1d '001','2011/01/01', 5
______________ '001','2011/01/05', 5
______________ '002','2011/01/05', 8
--panggil proc utk ubah data6
1e
_______________1e '001','2011/01/01', 8
--panggil proc utk hapus data sesuatu2
SpN Del
__________
'001','2011/01/01'
2. Isi Tabel Sesuatu1 setelah semua query diatas dieksekusi : (10 point)
Data1
Data2
Data3
001
aaaaaa
___
002
bbbbbb
___
003
cccccc
___
Catatan : untuk no 3 dan seterusnya, penulisan code case sensitive
3. Project LibTesPCS (15 point)
package lib.entitas;
package lib.entitas;
public class Sesuatu1 {
private String d1;
import java.util.Date;
private _______
3a
public class Sesuatu2 {
private String d4;
private ______3d d5;
private int d6;
d2;
private int d3;
public String getD1() {
return d1;
}
public String getD4() {
return d4;
}
public void setD1(String d1) {
this.d1 = d1;
}
public void setD4(String d4) {
this.d4 = d4;
}
public String getD2() {
return d2;
}
public _______3e getD5() {
return d5;
}
public void setD2(String d2) {
this.d2 = d2;
}
public void setD5(_______3f d5) {
this.d5 = d5;
}
public _____3b getD3() {
return d3;
}
public int getD6() {
return d6;
}
public void setD3(_____3c d3) {
this.d3 = d3;
}
public void setD6(int d6) {
this.d6 = d6;
}
}
}
package lib.service;
//import semua class yang digunakan
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import lib._________.__________
3g
;
import lib._________.__________
3h
;
public interface InfRemoteClientN
_____________________ extends ________3i {
public void setIClient(int i) throws RemoteException;
public void refreshTampilSesuatu1(List data)throws ________________1j;
public void refreshTampilSesuatu2(List data)throws ________________3k;
}
package lib.service;
import java.rmi.Remote;
import java.rmi._____________________3l;
import java.util.List;
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
public interface ____________________
extends ___________3m {
InfRemoteServerA
public
public
public
public
public
boolean insertSesuatu2(Sesuatu2 obj) throws RemoteException;
boolean updateSesuatu2(Sesuatu2 obj) throws RemoteException;
boolean deleteSesuatu2(Sesuatu2 obj) throws RemoteException;
List selectAllSesuatu1() throws RemoteException;
List selectAllSesuatu2() throws RemoteException;
RegJE
public int ____________
( InfRemoteClientN
_____________________ irc )
______
________________3o;
UnRegEN
public void ___________(int
i) throws RemoteException;
}
4. ProjectServerTesPCS – class KoneksiDB (Point 15)
package server;
import java.sql.____________4a;
import java.sql.DriverManager;
import java.sql.______________________4b;
import java.sql._______________4c;
import java.sql.ResulSet;
public class KoneksiDB {
private Connection __________;
NAKon
private PreparedStatement preStat;
public ______________4d get________4e() {
if (_________4f == null) {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
try {
String url = "jdbc:jtds:sqlserver://localhost:1433/__________
4h
_________ = DriverManager.getConnection(url,"sa","amikom");
System.out.println("Koneksi Database sukses");
} catch (_________________4i se) {
System.out.println("Koneksi Database Gagal error:" + se);
System.exit(0);
}
} catch (ClassNotFoundException cnfe) {
System.exit(0);
}
}
________ _________ 4j;
//mengembalikan nilai koneksi
}
public boolean eksekusiNonQuery(String query) {
try {
_______4k = __________4l.prepareStatement(query);
_______.________________();4m
return true;
} catch (SQLException e) {
return ________
}
}
4n
;
//eksekusi statement
4g
";
public ____________4o eksekusiQuery(String query) {
try {
preStat = NAKon
______.prepareStatement(query);
return preStat.executeQuery();
} catch (SQLException e) {
return null;
}
}
}
5. ProjectServerTesPCS – class ServerTesPCS (Point 30)
package server;
import
import
import
import
import
import
import
import
java.rmi.RemoteException;
java.rmi.registry.LocateRegistry;
java.rmi.registry.Registry;
java.rmi.server.UnicastRemoteObject;
java.sql.ResultSet;
java.sql.SQLException;
java.util.ArrayList;
java.util.List;
import lib.service.__________________________
import lib.service.__________________________
5a
;
5b
;
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
//class ServerTesPCS mengimplementasikan interface remote server
public class ServerTesPCS extends UnicastRemoteObject
implements ________________________5c {
private String strQuery;
private
private
private
private
____________5d konDB;
boolean statusEksekusi;
ResultSet rs;
List lsOp = new ___________5e ();
public ServerTesPCS() throws RemoteException {
}
public boolean insertSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk insert tabel sesuatu2
strQuery = _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________5f
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public boolean updateSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk update data6 tabel sesuatu2
strQuery = _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________ 5g
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public boolean deleteSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk menghapus data dari tabel sesuatu2
strQuery == _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________ 5h
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public List selectAllSesuatu1() throws RemoteException {
strQuery = "SpTampilSesuatu1";
konDB.getKoneksi();
rs = konDB.eksekusiQuery(strQuery);
List listData = new ArrayList();
try {
while (rs.next()) {
Sesuatu1 data = new Sesuatu1();
data.setD1(rs.___________ 5i (1));
data.setD2(rs.getString(2));
data.setD3(rs.___________
listData.add(data);
5j
(3));
}
rs.close();
return listData;
} catch (SQLException se) {
System.out.println("eksekusi query error:" + se);
return null;
}
}
public List selectAllSesuatu2() throws RemoteException {
strQuery = "SpTampilSesuatu2";
konDB.getKoneksi();
rs = konDB.eksekusiQuery(strQuery);
List lsData = new ArrayList();
try {
while (rs.next()) {
Sesuatu2 data = new Sesuatu2();
data.setD4(rs.getString(1));
data.setD5(rs.__________
5k
(2));
data.setD6(rs.__________
5l
(3));
lsData.add(data);
}
rs.close();
return __________5m;
} catch (_________________5n se) {
System.out.println("eksekusi query error:" + se);
return null;
}
}
public int ______________5o(_________________________5p irc)
throws RemoteException {
int i = 0;
lsOp.add(irc);
i = lsOp.indexOf(irc);
System.out.println("Jumlah Client :" + lsOp.size());
return i;
}
public void ___________5q (int i) throws RemoteException {
lsOp.remove(i);
for (int j = i; j < lsOp.size(); j++) {
_____________________
irc = (________________________)
lsOp.get(j);
InfRemoteClientN
InfRemoteClientN
if (irc != null) {
irc.setIClient(i);
}
}
System.out.println("Jumlah Client :" + lsOp.size());
}
public static void main(String[] args) throws RemoteException {
Registry reg = LocateRegistry.createRegistry(_______);
ajem = new ServerTesPCS();
ServerTesPCS _____
EME
server NA
reg.rebind("_________________",
_______5r);
System.out.println("Server ON");
}
}
6. ProjectClientTesPCS (point 20)
package client;
import
import
import
import
import
import
java.rmi.NotBoundException;
java.rmi.RemoteException;
java.rmi.registry.LocateRegistry;
java.rmi.registry.Registry;
java.rmi.server.UnicastRemoteObject;
java.util.List;
InfRemoteClientN ;
import lib.service.______________________
InfRemoteServerA;
import lib.service._______________________
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
//implement remote client
public class N
__________
extends UnicastRemoteObject implements InfRemoteClientN
______________________ {
client
Registry registry;
InfRemoteServerA
____________________
irs;
FrmTesPCS form = new FrmTesPCS();
int iClient = 0;
// constructor
public ________________6a () throws RemoteException, NotBoundException {
super();
// menghubungkan ke port server
registry = LocateRegistry.getRegistry("localhost", ________6b);
// mencari nama server yang terdaftar didalam registry
irs = (_____________________6c) registry.lookup(____________________6d);
form.setVisible(true);
// memanggil method di server untuk mendaftarkan client
form.setiFrm(irs._____________6e(this));
form.setIrs(irs);
}
// implementasi semua method InterfaceRemoteClient
public void __________6f (int i) throws RemoteException {
form.setiFrm(iClient + 1);
}
public void _________________________6g(List data)
throws RemoteException
{
form.refreshTabelS1(data);
}
public void _________________________6h (List data)
throws RemoteException
{
form.refreshTabelS2(data);
}
public static void main(String[] args) throws RemoteException, NotBoundException {
// inisiasi class
____________ client = new ____________();6i
}
}
package client;
import java.util.List;
import javax.swing.table.DefaultTableModel;
InfRemoteServerA;
import lib.service.____________________
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
public class FrmTesPCS extends javax.swing.JFrame {
private int iFrm;
private _____________________6j irs;
private DefaultTableModel dtModel = new DefaultTableModel();
public FrmTesPCS() {
initComponents();
}
public void setiFrm(int iFrm) {
this.iFrm = iFrm;
}
InfRemoteServerA
public void setIrs(______________________
irs) {
this.irs = irs;
}
public void refreshTabelS1(List listS1) {
dtModel = (DefaultTableModel) TblSesuatu1.getModel();
dtModel.setRowCount(0);
for (int i = 0; i < listS1.size(); i++) {
//mengambil nilai semua atribut entitas Sesuatu1
dtModel.addRow(
new Object[]{listS1.get(i).__________
listS1.get(i).__________
6l
(),
6k
(),
listS1.get(i).__________
6m
()});
}
}
public void refreshTabelS2(List listS2) {
dtModel = (DefaultTableModel) TblSesuatu2.getModel();
dtModel.setRowCount(0);
for (int i = 0; i < listS2.size(); i++) {
//mengambil nilai semua atribut entitas Sesuatu2
dtModel.addRow(
new Object[]{listS2.get(i).___________
listS2.get(i).___________
6o
(),
listS2.get(i).___________
6p
()});
6n
(),
}
}
enTampil
public void ______________
() {
List listData1 = new ArrayList();
List listData2 = new ArrayList();
try {
//memanggil method untuk menampilkan data sesuatu1 dan sesuatu2 yang ada di server
listData1 = irs.____________________________
6q
();
listData2 = irs.____________________________
6r
();
} catch (RemoteException ex) {
Logger.getLogger(FrmTesPCS.class.getName()).log(
Level.SEVERE, null, ex);
}
refreshTabelS1(listData1);
refreshTabelS2(listData2);
}
//event saat form ditutup
private void formWindowClosing(java.awt.event.WindowEvent evt) {
try {
//memanggil method untuk keluar dari layanan server
irs._____________ 6s(iFrm);
} catch (RemoteException ex) {
Logger.getLogger(FrmTesPCS.class.getName()).log(Level.SEVERE, null, ex);
}
}
//event saat form dibuka
private void formWindowOpened(java.awt.event.WindowEvent evt) {
//memanggil method untuk menampilkan isi TblSesuatu1 & TblSesuatu2
_______________6t();
}
_____ JURUSAN _______________________
PROGRAM STUDI D3
MANAJEMEN INFORMATIKA
Mata Kuliah
: Pemrograman Client Server
Dosen
: I Ketut Putra Yasa
Hari,Tgl kumpul
: Selasa, 13 Januari 2014
13.00 – 13.40
: Take Home, 1 x 24 jam
Sifat Ujian
Ket :
• Diisi langsung dengan diketik bukan tulis tangan, kemudian
diprint , print black / color
• Jika form yang telah diisi tidak bisa di-save, klik File Print
pilih adobe pdf atau Ms Office OneNote
Ruang
:
No Kursi :
NIM
:
Nama
: __________________________________________
Tgl Lahir
:
. 0 2 .
/
/
(DD/MM/YYYY)
*Lengkapi semua data diatas sebelum mulai mengerjakan
1. Create Data Source (10 point)
insert into sesuatu1 alues('001','aaaaaa',__)
1
CREATE FUNCTION FcHitTotalData6(@dt4 char(3))
returns int as begin
declare @total int
select @total=sum(data6) from sesuatu2
group by data4 having data4=@dt4
if @total is null
set @total=0
return @total
end
3
insert into sesuatu1 values('002','bbbbbb',__)
go
DBMANN
CREATE DATABASE _______
go
USE _________1a
go
CREATE TABLE Sesuatu1( data1 char(3) primary
key, data2 varchar(20) not null, data3 int )
go
insert into sesuatu1 values('003','cccccc',0)
go
CREATE TABLE Sesuatu2( data4 char(3)
foreign key references sesuatu1(data1),
data5 datetime, data6 int,
primary key (data4,data5) )
go
CREATE
select
go
CREATE
select
PROC SpTampilSesuatu1 as
* from sesuatu1
CREATE TRIGGER tgUbahData3 ON sesuatu2
FOR Insert,Update,Delete as begin transaction
declare @dt4lama char(3),@dt6lama int,
@totlama int,@dt4baru char(3),
@dt6baru int,@totbaru int
select @dt4lama=data4,@dt6lama=data6
from deleted
select @dt4baru=data4,@dt6baru=data6
from inserted
--panggil function hitung total data6
select @totlama=
dbo.________________ 1c (@dt4lama)
update sesuatu1 set data3=@totlama
where data1=@dt4lama
select @totbaru=
dbo.fcHitungTotalData6 (@dt4baru)
update sesuatu1 set data3=@totbaru
where data1=@dt4baru
if @@error=0
commit transaction
else
rollback transaction
PROC SpTampilSesuatu2 as
* from sesuatu2
go
SpInsEME
CREATE PROC _______________(
@dt4 char(3),@dt5 datetime,@dt6 int) as
declare @cekdata int
select @cekdata = count(data4) from sesuatu2
where data4 = @dt4 and data5=@dt5
if @cekdata = 0
insert into sesuatu2 values(@dt4,@dt5,@dt6)
go
CREATE PROCEDURE SpUpdateData6(
@dt4 char(3),@dt5 datetime,@dt6 int) as
update sesuatu2 set data6=@dt6
where data4=@dt4 and data5=@dt5
go
1b
CREATE PROCEDURE ____________ (
@dt4 char(3),@dt5 datetime) as
delete from sesuatu2
where data4=@dt4 and data5=@dt5
go
go
--panggil proc utk insert tabel sesuatu2
1d
______________1d '001','2011/01/01', 5
______________ '001','2011/01/05', 5
______________ '002','2011/01/05', 8
--panggil proc utk ubah data6
1e
_______________1e '001','2011/01/01', 8
--panggil proc utk hapus data sesuatu2
SpN Del
__________
'001','2011/01/01'
2. Isi Tabel Sesuatu1 setelah semua query diatas dieksekusi : (10 point)
Data1
Data2
Data3
001
aaaaaa
___
002
bbbbbb
___
003
cccccc
___
Catatan : untuk no 3 dan seterusnya, penulisan code case sensitive
3. Project LibTesPCS (15 point)
package lib.entitas;
package lib.entitas;
public class Sesuatu1 {
private String d1;
import java.util.Date;
private _______
3a
public class Sesuatu2 {
private String d4;
private ______3d d5;
private int d6;
d2;
private int d3;
public String getD1() {
return d1;
}
public String getD4() {
return d4;
}
public void setD1(String d1) {
this.d1 = d1;
}
public void setD4(String d4) {
this.d4 = d4;
}
public String getD2() {
return d2;
}
public _______3e getD5() {
return d5;
}
public void setD2(String d2) {
this.d2 = d2;
}
public void setD5(_______3f d5) {
this.d5 = d5;
}
public _____3b getD3() {
return d3;
}
public int getD6() {
return d6;
}
public void setD3(_____3c d3) {
this.d3 = d3;
}
public void setD6(int d6) {
this.d6 = d6;
}
}
}
package lib.service;
//import semua class yang digunakan
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import lib._________.__________
3g
;
import lib._________.__________
3h
;
public interface InfRemoteClientN
_____________________ extends ________3i {
public void setIClient(int i) throws RemoteException;
public void refreshTampilSesuatu1(List data)throws ________________1j;
public void refreshTampilSesuatu2(List data)throws ________________3k;
}
package lib.service;
import java.rmi.Remote;
import java.rmi._____________________3l;
import java.util.List;
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
public interface ____________________
extends ___________3m {
InfRemoteServerA
public
public
public
public
public
boolean insertSesuatu2(Sesuatu2 obj) throws RemoteException;
boolean updateSesuatu2(Sesuatu2 obj) throws RemoteException;
boolean deleteSesuatu2(Sesuatu2 obj) throws RemoteException;
List selectAllSesuatu1() throws RemoteException;
List selectAllSesuatu2() throws RemoteException;
RegJE
public int ____________
( InfRemoteClientN
_____________________ irc )
______
________________3o;
UnRegEN
public void ___________(int
i) throws RemoteException;
}
4. ProjectServerTesPCS – class KoneksiDB (Point 15)
package server;
import java.sql.____________4a;
import java.sql.DriverManager;
import java.sql.______________________4b;
import java.sql._______________4c;
import java.sql.ResulSet;
public class KoneksiDB {
private Connection __________;
NAKon
private PreparedStatement preStat;
public ______________4d get________4e() {
if (_________4f == null) {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
try {
String url = "jdbc:jtds:sqlserver://localhost:1433/__________
4h
_________ = DriverManager.getConnection(url,"sa","amikom");
System.out.println("Koneksi Database sukses");
} catch (_________________4i se) {
System.out.println("Koneksi Database Gagal error:" + se);
System.exit(0);
}
} catch (ClassNotFoundException cnfe) {
System.exit(0);
}
}
________ _________ 4j;
//mengembalikan nilai koneksi
}
public boolean eksekusiNonQuery(String query) {
try {
_______4k = __________4l.prepareStatement(query);
_______.________________();4m
return true;
} catch (SQLException e) {
return ________
}
}
4n
;
//eksekusi statement
4g
";
public ____________4o eksekusiQuery(String query) {
try {
preStat = NAKon
______.prepareStatement(query);
return preStat.executeQuery();
} catch (SQLException e) {
return null;
}
}
}
5. ProjectServerTesPCS – class ServerTesPCS (Point 30)
package server;
import
import
import
import
import
import
import
import
java.rmi.RemoteException;
java.rmi.registry.LocateRegistry;
java.rmi.registry.Registry;
java.rmi.server.UnicastRemoteObject;
java.sql.ResultSet;
java.sql.SQLException;
java.util.ArrayList;
java.util.List;
import lib.service.__________________________
import lib.service.__________________________
5a
;
5b
;
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
//class ServerTesPCS mengimplementasikan interface remote server
public class ServerTesPCS extends UnicastRemoteObject
implements ________________________5c {
private String strQuery;
private
private
private
private
____________5d konDB;
boolean statusEksekusi;
ResultSet rs;
List lsOp = new ___________5e ();
public ServerTesPCS() throws RemoteException {
}
public boolean insertSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk insert tabel sesuatu2
strQuery = _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________5f
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public boolean updateSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk update data6 tabel sesuatu2
strQuery = _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________ 5g
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public boolean deleteSesuatu2(Sesuatu2 obj) throws RemoteException {
//panggil procedure untuk menghapus data dari tabel sesuatu2
strQuery == _________________________________________________________________
_________________________________________________________________
_________________________________________________________________
________________________________________________________________ 5h
statusEksekusi = konDB.eksekusiNonQuery(strQuery);
refreshClient();
return statusEksekusi;
}
public List selectAllSesuatu1() throws RemoteException {
strQuery = "SpTampilSesuatu1";
konDB.getKoneksi();
rs = konDB.eksekusiQuery(strQuery);
List listData = new ArrayList();
try {
while (rs.next()) {
Sesuatu1 data = new Sesuatu1();
data.setD1(rs.___________ 5i (1));
data.setD2(rs.getString(2));
data.setD3(rs.___________
listData.add(data);
5j
(3));
}
rs.close();
return listData;
} catch (SQLException se) {
System.out.println("eksekusi query error:" + se);
return null;
}
}
public List selectAllSesuatu2() throws RemoteException {
strQuery = "SpTampilSesuatu2";
konDB.getKoneksi();
rs = konDB.eksekusiQuery(strQuery);
List lsData = new ArrayList();
try {
while (rs.next()) {
Sesuatu2 data = new Sesuatu2();
data.setD4(rs.getString(1));
data.setD5(rs.__________
5k
(2));
data.setD6(rs.__________
5l
(3));
lsData.add(data);
}
rs.close();
return __________5m;
} catch (_________________5n se) {
System.out.println("eksekusi query error:" + se);
return null;
}
}
public int ______________5o(_________________________5p irc)
throws RemoteException {
int i = 0;
lsOp.add(irc);
i = lsOp.indexOf(irc);
System.out.println("Jumlah Client :" + lsOp.size());
return i;
}
public void ___________5q (int i) throws RemoteException {
lsOp.remove(i);
for (int j = i; j < lsOp.size(); j++) {
_____________________
irc = (________________________)
lsOp.get(j);
InfRemoteClientN
InfRemoteClientN
if (irc != null) {
irc.setIClient(i);
}
}
System.out.println("Jumlah Client :" + lsOp.size());
}
public static void main(String[] args) throws RemoteException {
Registry reg = LocateRegistry.createRegistry(_______);
ajem = new ServerTesPCS();
ServerTesPCS _____
EME
server NA
reg.rebind("_________________",
_______5r);
System.out.println("Server ON");
}
}
6. ProjectClientTesPCS (point 20)
package client;
import
import
import
import
import
import
java.rmi.NotBoundException;
java.rmi.RemoteException;
java.rmi.registry.LocateRegistry;
java.rmi.registry.Registry;
java.rmi.server.UnicastRemoteObject;
java.util.List;
InfRemoteClientN ;
import lib.service.______________________
InfRemoteServerA;
import lib.service._______________________
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
//implement remote client
public class N
__________
extends UnicastRemoteObject implements InfRemoteClientN
______________________ {
client
Registry registry;
InfRemoteServerA
____________________
irs;
FrmTesPCS form = new FrmTesPCS();
int iClient = 0;
// constructor
public ________________6a () throws RemoteException, NotBoundException {
super();
// menghubungkan ke port server
registry = LocateRegistry.getRegistry("localhost", ________6b);
// mencari nama server yang terdaftar didalam registry
irs = (_____________________6c) registry.lookup(____________________6d);
form.setVisible(true);
// memanggil method di server untuk mendaftarkan client
form.setiFrm(irs._____________6e(this));
form.setIrs(irs);
}
// implementasi semua method InterfaceRemoteClient
public void __________6f (int i) throws RemoteException {
form.setiFrm(iClient + 1);
}
public void _________________________6g(List data)
throws RemoteException
{
form.refreshTabelS1(data);
}
public void _________________________6h (List data)
throws RemoteException
{
form.refreshTabelS2(data);
}
public static void main(String[] args) throws RemoteException, NotBoundException {
// inisiasi class
____________ client = new ____________();6i
}
}
package client;
import java.util.List;
import javax.swing.table.DefaultTableModel;
InfRemoteServerA;
import lib.service.____________________
import lib.entitas.Sesuatu1;
import lib.entitas.Sesuatu2;
public class FrmTesPCS extends javax.swing.JFrame {
private int iFrm;
private _____________________6j irs;
private DefaultTableModel dtModel = new DefaultTableModel();
public FrmTesPCS() {
initComponents();
}
public void setiFrm(int iFrm) {
this.iFrm = iFrm;
}
InfRemoteServerA
public void setIrs(______________________
irs) {
this.irs = irs;
}
public void refreshTabelS1(List listS1) {
dtModel = (DefaultTableModel) TblSesuatu1.getModel();
dtModel.setRowCount(0);
for (int i = 0; i < listS1.size(); i++) {
//mengambil nilai semua atribut entitas Sesuatu1
dtModel.addRow(
new Object[]{listS1.get(i).__________
listS1.get(i).__________
6l
(),
6k
(),
listS1.get(i).__________
6m
()});
}
}
public void refreshTabelS2(List listS2) {
dtModel = (DefaultTableModel) TblSesuatu2.getModel();
dtModel.setRowCount(0);
for (int i = 0; i < listS2.size(); i++) {
//mengambil nilai semua atribut entitas Sesuatu2
dtModel.addRow(
new Object[]{listS2.get(i).___________
listS2.get(i).___________
6o
(),
listS2.get(i).___________
6p
()});
6n
(),
}
}
enTampil
public void ______________
() {
List listData1 = new ArrayList();
List listData2 = new ArrayList();
try {
//memanggil method untuk menampilkan data sesuatu1 dan sesuatu2 yang ada di server
listData1 = irs.____________________________
6q
();
listData2 = irs.____________________________
6r
();
} catch (RemoteException ex) {
Logger.getLogger(FrmTesPCS.class.getName()).log(
Level.SEVERE, null, ex);
}
refreshTabelS1(listData1);
refreshTabelS2(listData2);
}
//event saat form ditutup
private void formWindowClosing(java.awt.event.WindowEvent evt) {
try {
//memanggil method untuk keluar dari layanan server
irs._____________ 6s(iFrm);
} catch (RemoteException ex) {
Logger.getLogger(FrmTesPCS.class.getName()).log(Level.SEVERE, null, ex);
}
}
//event saat form dibuka
private void formWindowOpened(java.awt.event.WindowEvent evt) {
//memanggil method untuk menampilkan isi TblSesuatu1 & TblSesuatu2
_______________6t();
}