• Tidak ada hasil yang ditemukan

JURUSAN MANAJEMEN INFORMATIKA ID. pdf

N/A
N/A
Protected

Academic year: 2018

Membagikan "JURUSAN MANAJEMEN INFORMATIKA ID. pdf"

Copied!
8
0
0

Teks penuh

(1)

FORM UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2014/2015 PROGRAM STUDI _____ JURUSAN _______________________

Mata Kuliah : Pemrograman Client Server

Dosen :

Hari,Tgl kumpul : Selasa, 13 Januari 2014 13.00 – 13.40

Sifat Ujian : Take Home, 1 x 24 jam 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 : (DD/MM/YYYY) *Lengkapi semua data diatas sebelum mulai mengerjakan

1. Create Data Source (10 point)

CREATE DATABASE _______ go

foreign key references sesuatu1(data1), data5 datetime, data6 int,

primary key (data4,data5) )

go

CREATE PROC SpTampilSesuatu1 as

select * from sesuatu1

go

CREATE PROC SpTampilSesuatu2 as

select * from sesuatu2

CREATE PROCEDURE ____________1b ( @dt4 char(3),@dt5 datetime) as delete from sesuatu2

where data4=@dt4 and data5=@dt5

go

CREATE FUNCTION FcHitTotalData6(@dt4 char(3))

returns int as begin

CREATE TRIGGER tgUbahData3 ON sesuatu2

FOR Insert,Update,Delete as begin transaction

declare @dt4lama char(3),@dt6lama int,

dbo.fcHitungTotalData6 (@dt4baru) update sesuatu1 set data3=@totbaru

--panggil proc utk insert tabel sesuatu2

1d '001','2011/01/01',

--panggil proc utk hapus data sesuatu2

(2)

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;

import java.rmi.RemoteException;

import java.util.List;

import lib._________.__________ 3g;

import lib._________.__________ 3h;

public interface extends

________

3i {

public void setIClient(int i) throws RemoteException;

public void refreshTampilSesuatu1(List<Sesuatu1> data)throws ________________1j;

public void refreshTampilSesuatu2(List<Sesuatu2> data)throws ________________3k;

}

package lib.service;

import java.rmi.Remote;

(3)

import java.util.List;

import lib.entitas.Sesuatu1;

import lib.entitas.Sesuatu2;

public interface extends ___________3m {

public boolean insertSesuatu2(Sesuatu2 obj) throws RemoteException;

public boolean updateSesuatu2(Sesuatu2 obj) throws RemoteException;

public boolean deleteSesuatu2(Sesuatu2 obj) throws RemoteException;

public List<Sesuatu1> selectAllSesuatu1() throws RemoteException;

public List<Sesuatu2> selectAllSesuatu2() throws RemoteException;

public int ( irc )

______ ________________3o;

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 ;

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/__________ 4g";

_________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 //eksekusi statement

return true;

} catch (SQLException e) {

return ________ 4n;

} }

InfRemoteServerA

RegJE

UnRegEN

InfRemoteClientN

(4)

public ____________4o eksekusiQuery(String query) { try {

preStat = .prepareStatement(query); return preStat.executeQuery();

} catch (SQLException e) { return null;

} }

}

5. ProjectServerTesPCS – class ServerTesPCS (Point 30)

package server;

import java.rmi.RemoteException;

import java.rmi.registry.LocateRegistry;

import java.rmi.registry.Registry;

import java.rmi.server.UnicastRemoteObject;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import lib.service.__________________________ 5a;

import lib.service.__________________________ 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 ____________5d konDB;

private boolean statusEksekusi;

private ResultSet rs;

private 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; }

(5)

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<Sesuatu1> selectAllSesuatu1() throws RemoteException {

strQuery = "SpTampilSesuatu1"; konDB.getKoneksi();

rs = konDB.eksekusiQuery(strQuery);

List listData = new ArrayList<Sesuatu1>(); try {

while (rs.next()) {

Sesuatu1 data = new Sesuatu1();

data.setD1(rs.___________ 5i (1)); data.setD2(rs.getString(2));

data.setD3(rs.___________ 5j (3)); listData.add(data);

}

rs.close(); return listData;

} catch (SQLException se) {

System.out.println("eksekusi query error:" + se); return null;

} }

public List<Sesuatu2> selectAllSesuatu2() throws RemoteException {

strQuery = "SpTampilSesuatu2"; konDB.getKoneksi();

rs = konDB.eksekusiQuery(strQuery); List lsData = new ArrayList<Sesuatu2>(); 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;

}

(6)

public void ___________5q (int i) throws RemoteException { lsOp.remove(i);

for (int j = i; j < lsOp.size(); j++) {

_____________________ irc = (________________________) lsOp.get(j); 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(_______); ServerTesPCS _____ = new ServerTesPCS();

reg.rebind(" ", _______5r);

System.out.println("Server ON");

} }

6. ProjectClientTesPCS (point 20)

package client;

import java.rmi.NotBoundException;

import java.rmi.RemoteException;

import java.rmi.registry.LocateRegistry;

import java.rmi.registry.Registry;

import java.rmi.server.UnicastRemoteObject;

import java.util.List;

import lib.service.

import lib.service.

import lib.entitas.Sesuatu1;

import lib.entitas.Sesuatu2;

public class __________ extends UnicastRemoteObject implements ______________________ {

Registry registry;

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); }

InfRemoteClientN

InfRemoteClientN

ajem

EME server NA

InfRemoteClientN ;

InfRemoteServerA;

N client

//implement remote client

InfRemoteClientN

(7)

public void _________________________6g(List<Sesuatu1> data)

throws RemoteException {

form.refreshTabelS1(data); }

public void _________________________6h (List<Sesuatu2> 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;

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; }

public void setIrs( irs) {

this.irs = irs; }

public void refreshTabelS1(List<Sesuatu1> 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).__________ 6k(),

listS1.get(i).__________ 6l(),

InfRemoteServerA;

(8)

listS1.get(i).__________ 6m()}); }

}

public void refreshTabelS2(List<Sesuatu2> 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).___________ 6n(),

listS2.get(i).___________ 6o(),

listS2.get(i).___________ 6p()}); }

}

public void () {

List<Sesuatu1> listData1 = new ArrayList<Sesuatu1>(); List<Sesuatu2> listData2 = new ArrayList<Sesuatu2>(); 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();

}

Referensi

Dokumen terkait

Hasil penelitian ini berupa sintax Blended Learning IPA Terpadu berbasis SETS pada tema Pelestarian Lingkungan untuk sekolah menengah pertama dengan

Pada uji luas yang dilakukan terhadap 37 siswa sebagai responden yang menilai kelayakan dan ketertarikan modul sebagai bahan ajar bagi siswa, berdasarkan nilai yang diperoleh

Kesimpulan yang logis adalah bahwa jika emosi- emosi negatif yang kuat dapat menyebabkan timbulnya perubahan fisiologis tertentu pada tubuh, perubahan yang mugkin dapat

Berdasarkan pada paparan perspektif teori di atas, selanjutnya dapat dibuat alur pikir sebagai berikut: (1) analisis masalah pendidikan yang difokuskan pada tiga isu strategis,

72 Investasi non - signifikan pada modal entitas keuangan lain       ‐    73 Investasi signifikan pada saham biasa entitas keuangan       ‐    74 Mortgage servicing rights

Pengujian keamanan secara klinis dilakukan dengan metode Uji Tempel Terbuka Berulang (UTTB) dan Uji Tempel Tertutup Tunggal (UTTT) pada lebih dari 50 relawan. Sifat iritasinya

Dari Hasil analisis statistik dengan uji chi square dengan program SPSS didapatkan nilai signifikasi 0,35 berada kurang dari 0,05 maka dapat dikatakan bahwa hipotesis Ho ditolak

Sebuah Tesis yang Diajukan untuk Memenuhi Sebagian dari Syarat Memperoleh Gelar Magister Pendidikan Pada Program Studi Pendidikan Khusus..