Wiwi Widayani PEMROGRAMAN BERBASIS CLIENT SERVER Memahami arsitektur Client Server Memahami teknologi pemrograman Client Server Mampu membangun Sistem Informasi berbasis Client Server Netbeans , SQL Server Arsitektur Client Server Aplikasi Client Server Chat RMI Membangun Source Tier (Database) Object Database (view,procedure,function,trigger) Membangun Middle Tier Aplikasi Server Membangun Aplikasi Client Latihan Praktikum 20% Tugas project 25% UTS 25% UAS 30% Wajib Memakai Dasi (Laki-Laki) Berpakaian rapi dan sopan, tidak diperkenankan Menggunakan Kaos Oblong (Semua) Tidak diperkenankan Menggunakan Sandal (Semua) Maksimum Keterlambatan 15 Menit, jika lebih dari itu maka nilai praktikum untuk materi hari itu kosong
Penilaian
Aturan
Rencana Kegiatan Belajar Mengajar PT M 1 2 3 4 5 6 7 8 9 10 11 12 JUDUL Introduction Data Source View Desain aplikasi client-server Procedure & Function Latihan P & F Create & implements library remote Create trigger Latihan trigger Coding client KEGIATAN Pengenalan client server Kontrak belajar Info Tugas create DB dan batasan integritas Quiz query select + create view Membuat project aplikasi Penjelasan P & F Latihan P & F Melanjutkan project aplikasi Penjelasan Trigger Latihan Trigger Melanjutkan project aplikasi Melanjutkan project aplikasi Menyelesaikan project aplikasi TUGAS
Create DB (5 hari) Create project (part 1) (5 hari) Create Procedure & Function (10 hari) Create project (part 2) (5 hari) Create Trigger (10 hari) Create project (part 3 finish) (10 hari)
Ketentuan Tugas : 1. Tugas dikerjakan secara individu berdasarkan digit terakhir NIM masing-masing. Contoh : NIM dengan akhiran 0 atau 5 mengerjakan tema tabungan. 2. Waktu maksimal pengumpulan sesuai keterangan tugas diatas berdasarkan jadwal praktikum yang diikuti 3. Tugas dikumpulkan via email ke kumpultugas.wi@gmail.com KODETUGAS = <JURUSAN> <AKHIRAN NIM> CONTOH SI-1 ATAU TI-2 4. Ketentuan email :
Sisi aplikasi (project) : dalam bentuk rar atau zip yang berisi folder project aplikasi
Pada pengumpulan tugas terakhir selain berisi extract dari project juga berisi file database yang digunakan
Pembagian Tugas : Tugas dikerjakan berdasarkan akhiran nim, Kolom table yang berisi titik-titik () datanya sembarang Pengumpulan lihat keterangan diatas 0; 5 Tema : Tabungan Tabel : Cabang Rekening Jenis Transaksi Transaksi Karyawan Cabang IdCab* 001 002 Rekening NoRek* Cabang
IdCab* *
AlamatKantor Nam a TglLah ir Alam at Norek** 7700111.00 001 7700111.00 001 7700212.00 001 Jenis K D K D Saldo 3000 00 2000 00
Kode Tran* *
7700111.00 001 001 7700212.00 002 001 Transaksi NoTran* Tanggal 12082200 2012/08/22 01 10:55:20 12090200 2012/09/02 01 10:06:23 12090200 2012/09/02 02 10:10:40 Jenis Transaksi KodeTra NamaTran n* 01 Penyetoran 02 Penarikan 03 bunga 04 biaya Ket : D=Debet, K=Kredit Karyawan NIK* 001 002
01 02 01
NamaKaryawan
PwdLogi n
Tugas : 1. Create DB , membuat table-tabel diatas beri batasan integritas PK, FK, NULL/NOT NULL, masing-masing PK lebar tidak boleh kurang dari lebar yg ditentukan,default saldo=0, saldo rekening minimal 50000, kolom jenis hanya berisi D atau K. insert data cabang, jenistransaksi dan karyawan, min 3 baris data. 2. Create project: project library, project server, project client untuk mengelola transaksi (user dapat melakukan login dan input data transaksi(dibatasi hanya penyetoran dan penarikan
1; 6
Tema: Taman Bacaan Tabel : Judul Peminjama n Detail Peminjama n Anggota Karyawan
tunai)). #pengerjaan dibagi dlm 3 tahap 3. Create Procedure & Function, Function untuk menentukan no rekening, tersusun dari kodebank, tetap yaitu 77 diikuti id cabang diikuti 2 digit angka tahun dari tanggaldibuat diikuti tanda (.) diikuti dengan urutan yg terdiri dari 5 digit angka, urutan direset setiap ganti tahun Procedure insert rekening, kolom norek diisi dengan memanggil function diatas Function untuk menentukan no transaksi, tersusun dari 2 digit tahun, 2 digit bulan dan 2 digit tanggal dari tanggal transaksi diikuti dengan urutan terdiri dari 4 digit angka, direset setiap ganti tanggal Procedure insert transaksi, kolom notran diisi dengan memanggil function diatas Function untuk menghitung total penyetoran uang tunai dalam 1 hari, sesuai tanggal yang diinputkan 4. Create Trigger, Trigger untuk mengubah saldo saat terjadi transaksi berdasarkan kodetran dan nominal jika jenis dari kodetran = K maka akan menambah saldo sejumlah nominal dan sebaliknya jika jenis dari kodetran = D maka akan mengurangi saldo sejumlah nominal Trigger pada saat terjadi transaksi jika jenis transaksi D maka system akan melakukan pengecekkan saldo jika (saldo-50000) kurang dari nominal maka transaksi dibatalkan. Test trigger yang dibuat dengan mengeksekusi perintah yang memicu trigger tsb diatas. #printout isi tabel sebelum perintah dieksekusi dan setelah dieksekusi JudulBuku KodeBuk Judul Penulis Tarif Statu Jenis Terbi u* s t B10001 100 A Buku 2010 0 Kimia B11001 150 K Buku IT 2011 0 N11001 100 A Novel 2011 0 Ket : A=ada, K=Keluar DetailPeminjaman NoPinjam** KodeBuku* * 120820B10001 0001 120820B11001 0001 120820N11001 0002 Peminjaman NoPinjam* TanggalPinjam 1208200001 2012/08/20 10:05:45
Petugas **
KodeAnggota **
TglHrsKembali 2012/08/27
001
2011.0001
2012/08/20 001 09:34:30 Dend a 200 -> Sudah dikembalikan -> Belum dikembalikan Nama Alamat PwdLogi n
2012.0001
2012/08/27
Tugas : 1. Create DB , membuat table-tabel diatas beri batasan integritas PK, FK, NULL/NOT NULL, masing-masing PK lebar tidak boleh kurang dari lebar yg ditentukan, default tglmasuk = tgl sistem , kolom status hanya berisi A atau K. insert data judul,anggota dan karyawan, min 3 baris data. 2. Create project, project library, project server, project client untuk mengelola transaksi (user dapat melakukan login dan input data transaksi peminjaman buku) #pengerjaan dibagi dlm 3 tahap 3. Create Procedure & Function, Function untuk menentukan Kode Judul, tersusun dari huruf awal jenis buku,diikuti 2 digit angka tahun terbit diikuti urutan yg terdiri dari 3 digit angka, direset setiap ganti jenis dan tahun terbit Procedure insert judul, kolom kodejudul diisi dengan memanggil function diatas Function untuk menentukan no pinjam, tersusun dari 2 digit tahun, 2 digit bulan dan 2 digit tanggal dari tanggal pinjam diikuti tanda (-) diikuti dengan urutan terdiri dari 4 digit angka, direset setiap ganti tanggal Procedure insert peminjaman, kolom nopinjam diisi dengan memanggil function diatas, (catatan : saat diinsert kolom tglkembali dan denda dikosongkan),kolom TglHrsKembali diisi dengan 7 hari setelah tglpinjam Function untuk menghitung jumlah buku yang dipinjamkan dalam 1 hari, sesuai tanggal yang diinputkan 4. Create Trigger, Trigger untuk mengubah status buku menjadi K saat terjadi peminjaman atas buku tersebut (catatan : saat diinsert kolom tglkembali dan denda dikosongkan) Trigger untuk mengubah status buku menjadi A dan menghitung denda sesuai keterlambatan pinjam : Rp.100/hari , saat terjadi perubahan data peminjaman yaitu kolom TglKembali diisi/tidak null lagi
Test trigger yang dibuat dengan mengeksekusi perintah yang memicu trigger tsb diatas. #printout isi tabel sebelum perintah dieksekusi dan setelah dieksekusi
2; 7
Tarif KodeTari f* T001 T002 Kamar Nomor* 101 102 103 Reservasi
NoReserva si*
fasilitas statu s K I K
tarif
120901/0 2012/09/01 15:00:08 01 120901/0 2012/09/01 09:35:10 102 000002 02 lamaIna Biaya CheckOut Denda p Mengina p 2 2012/09/03 0 09:10:00 1 Tamu KodeTamu Nama Notelp Alamat * 000001 000002 Karyawan NIK* NamaKaryawan PwdLogi n 001 002
NoKamar* * 101
KodeTamu ** 000001
Tugas : 1. Create DB , membuat table-tabel diatas beri batasan integritas PK, FK, NULL/NOT NULL, masing-masing PK lebar tidak boleh kurang dari lebar yg ditentukan, default denda = 0 , kolom status hanya berisi I atau K. insert data tarif,tamu dan karyawan, min 3 baris data 2. Create project, project library, project server, project client untuk mengelola transaksi (user dapat melakukan login dan
input data transaksi reservasi checkin) #pengerjaan dibagi dlm 3 tahap 3. Create Procedure & Function, Function untuk menentukan Kode Tarif, tersusun dari huruf T diikuti urutan yg terdiri dari 3 digit angka Procedure insert tarif, kolom kodetarif diisi dengan memanggil function diatas Function untuk menentukan no reservasi, tersusun dari 2 digit tahun, 2 digit bulan dan 2 digit tanggal dari tanggal checkin diikuti tanda (/) diikuti dengan urutan terdiri dari 3 digit angka, direset setiap ganti tanggal Procedure insert reservasi, kolom noreservasi diisi dengan memanggil function diatas, (catatan : saat diinsert kolom checkout dan denda dikosongkan), kolom biaya menginap dihitung dari lama inap * tarif kamar Function untuk menghitung biaya menginap yang masuk dalam 1 hari, sesuai tanggal yang diinputkan 4. Create Trigger, Trigger untuk mengubah status kamar menjadi I saat terjadi insert reservasi checkin kamar tersebut (catatan : saat diinsert kolom checkout dan denda dikosongkan) Trigger untuk mengubah status buku menjadi K sekaligus menghitung denda yaitu setengah dari tarif kamar jika checkout melebihi jam 09.00 pada hari seharusnya tamu tsb checkout , saat terjadi perubahan data reservasi yaitu kolom checkout diisi. Test trigger yang dibuat dengan mengeksekusi perintah yang memicu trigger tsb diatas. #printout isi tabel sebelum perintah dieksekusi dan setelah dieksekusi 3; 8 Tema : PasokanBahanBak u Tabel : BahanBaku BarangMas uk DetailBaran g Masuk Pemasok Pembayara nUtang BahanBaku KodeBB* NamaBB Stok B001 B002 DetailBarang Masuk KodeBB** HargaBeli NoCatat** JmlBeli 120801-001 B001 120801-001 B002 120901-001 B001 BarangMasuk Kode NoCatat* No Bukti Tanggal Pemasok Pembelia ** n 120801 2012/08/01 P001 001 10:56:07 120901 2012/09/01 P001 001 11:06:07 Dibayar Sisa Pemasok KodePemaso NamaPemas Alamat Utang k* ok P001
Total Beli
potBe li
KodePemasok **
JmlBaya r
P001 P001
Tugas : 1. Create DB , membuat table-tabel diatas beri batasan integritas PK, FK, NULL/NOT NULL, masing-masing PK lebar tidak boleh kurang dari lebar yg ditentukan, default alamat = yogyakarta . insert data bahanbaku dan pemasok, min 3 baris data 2. Create project, project library, project server, project client untuk mengelola transaksi (user dapat melakukan login dan input data transaksi barang masuk) #pengerjaan dibagi dlm 3 tahap 3. Create Procedure & Function, Function untuk menentukan Kode Pemasok, tersusun dari huruf P diikuti urutan yg terdiri dari 3 digit angka Procedure insert pemasok, kolom kodepemasok diisi dengan memanggil function diatas Function untuk menentukan no catat, tersusun dari 2 digit tahun, 2 digit bulan dan 2 digit tanggal dari tanggal transaksi diikuti tanda (-) diikuti dengan urutan terdiri dari 3 digit angka, direset setiap ganti tanggal Procedure insert data barangmasuk, kolom nocatat diisi dengan memanggil function diatas Function untuk menghitung totalpembelian barang masuk dalam 1 hari, sesuai tanggal yang diinputkan 4. Create Trigger, Trigger untuk mengubah data hutang (hutang bertambah)pada saat insert data barang masuk yaitu dari kolom sisa Trigger untuk mengubah data hutang (hutang berkurang)pada saat insert data pembayaran hutang yaitu dari kolom jmlBayar Test trigger yang dibuat dengan mengeksekusi perintah yang memicu trigger tsb diatas. #printout isi tabel sebelum perintah dieksekusi dan setelah dieksekusi 4; 9 Tema : Penjualan Tabel : Member Transaksi Detail Transaksi Produk BonusBulan an Produk KodeProduk NamaProduk Harga * 00001 00002 DetailTransaksi KodeProduk* NoTran** Harga Banyak
*
Diskon PotHarga
00002 Transaksi NoTran* 12082000001 12082000002 Member KodeMemb er* MG00001 MS00002
KodeMember* *
PotBelanj a
Gol d silve r
Bonus
Tugas : 1. Create DB , membuat table-tabel diatas beri batasan integritas PK, FK, NULL/NOT NULL, masing-masing PK lebar tidak boleh kurang dari lebar yg ditentukan, default diskon = 0 , kolom tipe hanya berisi G atau S. insert data produk dan member, min 3 baris data 2. Create project, project library, project server, project client untuk mengelola transaksi (user dapat melakukan login dan input data transaksi) #pengerjaan dibagi dlm 3 tahap 3. Create Procedure & Function, Function untuk menentukan Kode Member, tersusun dari huruf M diikuti tipe,diikuti urutan yg terdiri dari 5 digit angka Procedure insert member, kolom kodememberf diisi dengan memanggil function diatas Function untuk menentukan no transaksi, tersusun dari 2 digit tahun, 2 digit bulan dan 2 digit tanggal dari tanggal transaksi diikuti tanda (-) diikuti dengan urutan terdiri dari 5 digit angka, direset setiap ganti tanggal Procedure insert transaksi, kolom notransaksi diisi dengan memanggil function diatas, kolom totalbelanja dan potBelanja dikosongkan Function untuk menghitung total pendapatan dalam 1 hari, sesuai tanggal yang diinputkan 4. Create Trigger, Trigger untuk menghitung dan mengubah totalbelanja dan potbelanja saat terjadi insert detailtransaksi Trigger untuk menghitung bonusbulanan (insert atau update bonus) saat terjadi perubahan transaksi(totalbelanja dan potbelanja), ketentuan: bonus Rp.2000 setiap kelipatan 50000 dari total belanja bersih dalam 1 bulan, tanggal bonus adalah tanggal 1 bulan berikutnya(jika tanggal dan kodemember sudah ada
maka update bonus jika belum ada maka insert bonus). Test trigger yang dibuat dengan mengeksekusi perintah yang memicu trigger tsb diatas. #printout isi tabel sebelum perintah dieksekusi dan setelah dieksekusi