Implentasi Sistem untuk Staf Laboran

81

BAB IV IMPLEMENTASI SISTEM

4.1 Analisa Sistem

Sistem ini dibuat dengan berdasarkan pada kondisi di laboratorium basis data Universitas Sanata Dharma Yogyakarta. Dimana pada laboratorium basis data ini belum memiliki sistem terkomputerisasi untuk mengelola anggaran belanja terkhususnya pada pos eksploitasi. Staf laboratorium biasanya mengelola anggaran belanja secara manual dengan menggunakan excel. Staf laboratorium lebih memilih menggunakan excel karena dapat melakukan perhitungan angka dengan mudah. Tetapi kekurang jika menggunakan excel adalah data anggaran yang banyak dan terpisah satu sama lain menyebabkan staf laboratorium kesulitan dalam mengakses dan mengelola data anggaran, maka Sistem Pengelolaan Anggaran Belanja Pos Eksploitasi dibuat dengan menggunakan perhitungan otomatis agar staf laboratorium dapat dengan mudah mengelola data anggaran. Sistem ini juga dibuat dengan tampilan interface yang sederhana untuk memudahkan staf laboratorium dalam mengoperasikan sistem ini.

4.2 Implementasi Sistem

4.2.1 Implentasi Sistem untuk Staf Laboran

4.2.1.1 Login Tampilan Login adalah tampilan pertama saat staf laboran atau kalab mengakses sistem ini. Pada halaman ini staf maupun kalab memasukan username dan password . Gambar 4.1 Halaman Login 82 Jika staf login dengan menggunakan username dan password untuk staf, maka tampilan halaman akan masuk ke home untuk staf. 4.2.1.2 Mengelolah Data Pos Mengelola data Pos adalah use case untuk staf laboran. Use case ini berfungsi untuk mengelola data jenis pos dan data pos. Pengelolaan data pos berupa menambah data, mengedit data, dan menghapus data. Gambar 4.2 Halaman Utama Data Pos 4.2.1.2.1 Jenis Pos Berikut ini halaman untuk menambah jenis pos: Gambar 4.3 Halaman menambah jenis pos 83 Staf memasukan jenis pos yang diperlukan.Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah jenis pos:  halaman_dataJenisPos.jsp try { String input = insert into jenisPosidJenis_Pos, namaJenis_Pos + values + request.getParameteridJenis_Pos + , + + request.getParameternamaJenis_Pos + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateinput; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.4 Listing menambah jenis pos Apabila staf ingin memperbaiki jenis pos, maka staf dapat memilih menu“Edit”.Setelah itu,staf memasukan data jenis pos yang akan diubah. Kemudian sistem akan menyimpan data tersebut ke dalam database. Gambar 4.5 Halaman mengedit jenis pos 84  update_JenisPos.jsp Berikut ini listing mengedit jenis pos: int a = 0; String query = select from jenisPos where idJenis_Pos= + request.getParameteridJenis_Pos + ; java.sql.Statement stmt = baseConnection.getConnection.createStatement; java.sql.ResultSet rslt = stmt.executeQueryquery; if rslt.next { a = rslt.getInt1; } try { String update = update jenisPos set + idJenis_Pos= + request.getParameteridJenis_Pos + , + namaJenis_Pos= + request.getParameternamaJenis_Pos + where idJenis_Pos= + request.getParameteridJenis_Pos + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.6 Listing mengedit jenis pos Apabila staf ingin menghapus jenis pos yang sudah dibuat, staf dapat memilih pilihan “Hapus’ kemudian staf memilih menu “Hapus”, maka sistem akan menghapus jenis pos tersebut dari database. Berikut ini listing menghapus data jenis pos:  halaman_hapusJenisPos.jsp try { String dlt = DELETE FROM jenisPos + where idJenis_Pos= + request.getParameternom + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdatedlt; statement.close; 85 } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.7 Listing menghapus jenis pos 4.2.1.2.2 Data Pos Berikut ini halaman untuk menambah data pos: Gambar 4.8 Halaman menambah data pos Staf memasukan data pos yang diperlukan. Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data pos:  halam simpan_dataPos.jsp int a=0; String q = select idJenis_Pos from jenisPos where namaJenis_Pos= + request.getParameterjenisPos + ; java.sql.Statement stat = baseConnection.getConnection.createStatement; java.sql.ResultSet result1 = stat.executeQueryq; if result1.next { a = result1.getInt1; } try { String input = insert into posidPos,idJenis_Pos,tahunPos,jumlahUang_Pos,sisaUang_Pos + values + request.getParameteridPos + , + + a + , 86 + + request.getParametertahunPos + , + + request.getParameterjumlahUang_Pos + , + + request.getParametersisaUang_Pos +; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateinput; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.9 Listing menambah data pos Apabila staf ingin memperbaiki data pos, maka staf dapat memilih menu“Edit”.Setelah itu,staf memasukan data pos yang akan diubah. Kemudian sistem akan menyimpan data tersebut ke dalam database. Gambar 4.10 Halaman mengedit data pos  update_DataPos.jsp Berikut ini listing mengedit data pos: int c = 0; String querys = select idJenis_Pos from jenisPos + where namaJenis_Pos= + request.getParameternamaJenis_Pos + ; java.sql.Statement statement2 = baseConnection.getConnection.createStatement; java.sql.ResultSet result3 = 87 statement2.executeQueryquerys; if result3.next { c = result3.getIntidJenis_Pos;} try { String update = update pos set + idPos= + request.getParameteridPos + , + idJenis_Pos= + result3.getStringidJenis_Pos + , + tahunPos= + request.getParametertahunPos + , + jumlahUang_Pos= + request.getParameterjumlahUang_Pos + , + sisaUang_Pos= + request.getParametersisaUang_Pos + where idPos= + request.getParameteridPos + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.11 Listing mengedit data pos Apabila staf ingin menghapus data pos yang sudah dibuat, staf dapat memilih pilihan “Hapus’ kemudian staf memilih menu “Hapus”, maka sistem akan menghapus data pos tersebut dari database. Berikut ini listing menghapus data pos:  halaman_hapusDataPos try { String dlt = DELETE FROM pos + where idPos= + request.getParameternom + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdatedlt; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; 88 } Gambar 4.12 Listing menghapus data pos 4.2.1.3 Mengelola Data Barang Mengelola data barang adalah use case untuk staf laboran. Use case ini berfungsi untuk mengelola data barang yang akan digunakan dalam menyusun rancangan anggaran belanja. Pengelolaan data barang berupa menambah data barang, mengedit data barang, dan menghapus data barang. Gambar 4.13 Halaman menambah data barang Staf memasukan data barang yang akan digunakan.Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data barang:  keranjang_Barang.jsp try { String input = insert into barangnoBrg,namaBrg,merkBrg,harga_SatuanBrg + values + request.getParameternoBrg + , + + request.getParameternamaBrg + , + + request.getParametermerkBrg + , + + request.getParameterharga_SatuanBrg + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; 89 int OK = statement.executeUpdateinput; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.14 Listing menambah data barang Apabila staf ingin memperbaiki data barang, staf dapat memilih pilihan “Edit”. Setelah itu, staf menginputkan data barang yang akan diubah. Kemudian sistem akan menyimpan data tersebut ke dalam database . Gambar 4.15 Halaman mengedit data barang Staf mengedit data barang yang akan diubah. Kemudian sistem akan menyimpan data barang yang telah diubah tersebut ke dalam database . Berikut ini listing mengedit data barang:  update_DataBrg.jsp int a = 0; String query = select from barang where noBrg= + request.getParameternoBrg + ; java.sql.Statement stmt = baseConnection.getConnection.createStatement; java.sql.ResultSet rslt = stmt.executeQueryquery; if rslt.next { a = rslt.getInt1; } try { String update = update barang set 90 + noBrg= + request.getParameternoBrg + , + namaBrg= + request.getParameternamaBrg + , + merkBrg= + request.getParametermerkBrg + , + harga_SatuanBrg= + request.getParameterharga_SatuanBrg + where noBrg= + request.getParameternoBrg + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close;} catch Exception ex { out.printlnmessage: + ex.getMessage;} Gambar 4.16 Listing mengedit data barang Apabila staf ingin menghapus data barang yang sudah dibuat, staf dapat memilih pilihan “Hapus’ kemudian staf memilih menu “Hapus”, maka sistem akan menghapus data pos tersebut dari database. Berikut ini listing menghapus data barang:  deleteData_Barang.jsp try { String dlt = DELETE FROM barang + where noBrg= + request.getParameternom + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdatedlt; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.17 Listing menghapus data barang 91 4.2.1.4 Mengelola Data Rab Mengelola data RAB adalah use case untuk staf laboran. Use case ini berfungsi untuk mengelola data rancangan anggaran belanjarab. Pengelolaan data rab berupa menambah data rab, mengedit data rab, dan menghapus data rab. Gambar 4.18 Halaman menambah data rab Staf memasukan data rab yang akan digunakan.Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data rab yang menggunakan stored procedure:  simpan_dataRab.jsp int a=0; int b=0; try { String q = select noBrg from barang where namaBrg= + request.getParameterbrg + ; java.sql.Statement stat = baseConnection.getConnection.createStatement; java.sql.ResultSet result1 = stat.executeQueryq; if result1.next { a = result1.getInt1; } String t = select idJenis_Pos from jenisPos where namaJenis_Pos= + request.getParameteridPos + ; java.sql.Statement stat1 = baseConnection.getConnection.createStatement; 92 java.sql.ResultSet result2 = stat.executeQueryt; if result2.next { b = result2.getInt1; } DataBaseConnection proses = new DataBaseConnection; int idPosBarang = Integer.parseIntrequest.getParameteridPosBarang; int jumlah_Satuan = Integer.parseIntrequest.getParameterjumlah_Satuan; int hargaSatuan = Integer.parseIntrequest.getParameterhargaSatuan; int usd = Integer.parseIntrequest.getParameterusd; int non_usd = Integer.parseIntrequest.getParameternon_usd; proses.addUangidPosBarang, b, a, jumlah_Satuan, hargaSatuan, usd, non_usd, request.getParameterjadwal, request.getParameterstatus; } catch Exception ex { statement.close; out.printlnmessage: + ex.getMessage; out.printlnAda Data Belum Terisi; } Gambar 4.19 Listing menambah data rab Menambah data rab ini menggunakan store procedure untuk menambahkan data kedalam database. Dan store procedure tersebut terdapat fungsi untuk menambahkan data perhitungan jumlah uang dari tiap barang kedalam sebuah atribut pada database pos berdasarkan id pos yang telah dipilih. Berikut ini stored procedure menambah data rab: insert into posBarang valuesp_idPosBarang,p_idPos,p_noBrg,p_jumlah_Satuan, p_hargaSatuan,p_usd,p_nonUsd,0,0,p_jadwal,p_status; SELECT sumusd into v_totalusd from posBarang where idpos=p_idPos; SELECT sisaUang_Pos into v_sisa from pos where idpos=p_idPos; update pos set jumlahUang_Pos = v_totalusd, sisaUang_Pos =v_sisa+p_usd where idPos=p_idPos; Gambar 4.20 store procedure menambah rab Jika staf laboran ingin memperbaiki data rab, maka staf laboran dapat memilih pilih “Edit”. Setelah itu staf memasukan 93 data rab yang akan diubah. Kemudian sistem akan menyimpan data rab ke dalam database. Gambar 4.21 Halaman mengedit data RAB Staf memasukan data rab yang akan digunakan.Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data rab:  update_dataRab.jsp String c = ; String querys = select noBrg from barang + where namaBrg= + request.getParameternamaBrg + ; java.sql.Statement statement2 = baseConnection.getConnection.createStatement; java.sql.ResultSet result5 = statement2.executeQueryquerys; if result5.next { c = result5.getStringnoBrg;} try { String update = update posBarang set + idPosBarang= + request.getParameteridPosBarang + , + noBrg= + result5.getStringnoBrg + , + jadwal= + request.getParameterjadwal + , + status= + request.getParameterstatus + where idPosBarang= + request.getParameteridPosBarang + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close;} catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.22 Listing mengedit data rab 94 Apabila staf ingin menghapus data rab yang sudah dibuat, maka staf dapat memilih menu “Hapus”. Sistem akan menghapus data rab tersebut dari database: Gambar 4.23 Halaman menghapus data rab Pada hapus data rab ini menggunakan stored procedure yang berisi fungsi untuk mengurangi jumlah uang per barang yang ada pada rab dan mengembalikan nilai jumlah uang tersebut masuk kembali kedalam database pos sesuai dengan posnya. Berikut ini listing dan stored procedure untuk menghapus data rab:  detele_rab.jsp kelas.DataBaseConnection baseConnection = new kelas.DataBaseConnection; try { DataBaseConnection proses = new DataBaseConnection; int idPos = Integer.parseIntrequest.getParameteridPos; int idPosBarang = Integer.parseIntrequest.getParameteridPosBarang; proses.hapusRabidPos, idPosBarang; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.24 Listing menghapus data rab 95 v_sisauang:=v_sisauang-v_usd; v_jumlahUang:=v_jumlahuang-v_usd; update pos set sisaUang_Pos=v_sisauang,jumlahuang_pos=v_jumlahuang where idPos=v_idpos; delete posBarang where idPos=p_idPos and idPosBarang=p_idposbarang; Gambar 4.25 Stored Procedure menghapus data rab 4.2.1.5 Mengelola Data Pesan Uang Mengelola data pesan uang adalah use case untuk staf laboran. Use case ini berfungsi untuk mengelola data pesan uang dan barang yang dipesan pada pos ekploitasi. Pengelolaan data pesan uang berupa menambah data pesan uang, mengedit data pesan uang, menghapus data pesan uang, mengupdate jumlah uang pesan dan membatalkan pesan uang. Gambar 4.26 Halaman menambah data pesan uang Staf memasukan data pesan yang akan digunakan. Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data pesan uang:  halInput_TglPesanBarang.jsp int a = 0; String q = select idJenis_Pos from jenisPos 96 where namaJenis_Pos= + request.getParameterjenisPos + ; java.sql.Statement stat = baseConnection.getConnection.createStatement; java.sql.ResultSet result1 = stat.executeQueryq; if result1.next { a = result1.getInt1;} String tr = + request.getParametertanggal + - + request.getParameterbulan + - + request.getParametertahun + ; try { String input = insert into pesannoPesan, tglpesan, idPos + values + request.getParameternoPesan + , + + tr + , + + a + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateinput; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.27 Listing menambah pesan uang 97 Berikut ini tampilan menambah detail pesan uang yang dilakukan oleh staf laboratorium: Gambar 4.28 Halaman menambah detail pesan uang Staf memasukan detail pesan uang apa saja yang akan digunakan. Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah detail pesan uang:  keranjang_PesanBarang.jsp try { DataBaseConnection proses = new DataBaseConnection; int noPesan = Integer.parseIntrequest.getParameternoPesan; int idposbarang = Integer.parseIntrequest.getParameteridPosBarang; int jumlahbarangpesan = Integer.parseIntrequest.getParameterjumBrgPesan; int hargasatuan = Integer.parseIntrequest.getParameterhargaSatuanPesan; proses.pesanUangnoPesan, idposbarang, request.getParameterunit, request.getParameterkegiatan, request.getParameterwaktuPelaksanaan, request.getParameterstatus_PesanUang, jumlahbarangpesan, hargasatuan, request.getParameterstatusJenis_Pesan, 98 request.getParameterjenisBon; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateinput; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.29 Listing menambah detail pesan uang Menambah detail pesan uang ini menggunakan store procedure untuk memasukan data kedalam database. Dalam store procedure ini juga terdapat fungsi yang dibuat untuk mengupdate barang yang dipesanjumlah barang dan harga total pada database detail_posBarang kedalam database posBarang. Terdapat juga fungsi yang mengurangi sisa uang per barang bila menambahkan detail pesan uang. Dan fungsi yang mengatur apabila sisa uang sama dengan nol atau harga beli barang lebih besar dari sisa uang maka sistem tidak dapat melakukan pemesanan.  Store Procedure pesanUang2 Berikut ini store procedure pesan uang : v_jum:=v_jum+p_jumbrgpesan; v_terbeli:=v_terbeli+p_hargaTotal; update posBarang set jumlah_satuanterbeli =v_jum,hargaTerbeli=v_terbeli where idPosBarang=p_idposbarang; if v_sisauang =0 OR v_hrgTotal v_sisauang then dbms_output.put_lineUang HabisUang Minus; else v_sisauang:=v_sisauang-v_hargatotal; update pos set sisaUang_Pos=v_sisauang where idPos=v_idpos; Gambar 4.30 Store procedure pesan uang 99 Apabila staf laboran ingin mengubah data pesan uang, staf dapat memilih menu “Edit Pesan Uang”, maka sistem akan mengubah data pesan uang. Gambar 4.31 Halaman mengedit data pesan uang Apabila staf ingin memperbaiki data pesan uang, staf dapat memilih pilhan “Edit”. Setelah itu, staf menginputkan data pesan uang yang akan diubah. Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing mengubah data pesan uang:  update_TglPesanBarang.jsp int a = 0; String query = select from pesan where noPesan= + request.getParameternoPesan + ; java.sql.Statement stmt = baseConnection.getConnection.createStatement; java.sql.ResultSet rslt = stmt.executeQueryquery; if rslt.next { a = rslt.getInt1; } String tr = + request.getParametertanggal + - + request.getParameterbulan + - + request.getParametertahun + ; try { 100 String update = update pesan set + idPos= + request.getParameteridPos + , + noPesan= + request.getParameternoPesan + , + tglpesan= + tr + where noPesan= + request.getParameternoPesan + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.32 Listing mengubah data pesan uang Apabila staf ingin menghapus data pesan uang, maka staf dapat memilih menu “Hapus” sesuai dengan data yang akan dihapus. Berikut ini listing hapus data pesan uang:  Delete_TglPesanBarang.jsp try { String dlt = DELETE FROM pesan + where noPesan= + request.getParametertam + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdatedlt; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.33 Listing menghapus data pesan uang 101 Apabila staf ingin memperbaiki detail pesan uang, maka staf dapat memilih menu “Edit” sesuai dengan data yang akan diubah. Berikut ini listing edit detail pesan uang: Gambar 4.34 Halaman mengedit detail pesan uang  updateData_Barang.jsp try { String update = update detail_PosBarang set + idPosBarang= + request.getParameteridPosBarang + , + unit= + request.getParameterunit + , + kegiatan= + request.getParameterkegiatan + , + waktuPelaksanaan= + request.getParameterwaktuPelaksanaan + , + status_PesanUang= + request.getParameterstatus_PesanUang + , + statusJenis_Pesan= + request.getParameterstatusJenis_Pesan + , + jenisBon= + request.getParameterjenisBon + where idPosBarang= + request.getParameteridPosBarang + ; java.sql.Statement statement = baseConnection.getConnection.createStatement; int OK = statement.executeUpdateupdate; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } 102 Gambar 4.35 Listing mengedit detail pesan uang Jika pesan uang yang telah dilakukan sebelumnya oleh staf tidak jadi untuk dibeli maka data pesan tersebut dapat dibatalkan. Staf dapat memilih button “Batal”. Kemudian sistem akan menghapus seluruh data pesan uang tersebut dari database. Gambar 4.36 halaman batal pesan uang  sp_batalPesan.jsp Berikut ini listing batal pesan uang : try { DataBaseConnection proses = new DataBaseConnection; int noPesan = Integer.parseIntrequest.getParameternoPesan; int jumlah_Satuan = Integer.parseIntrequest.getParameterjumlah_Satuan; int hargaSatuan = Integer.parseIntrequest.getParameterhargaSatuan; int usd = Integer.parseIntrequest.getParameterusd; int non_usd = Integer.parseIntrequest.getParameternon_usd; proses.spBatalPesannoPesan; } catch Exception ex { 103 out.printlnmessage: + ex.getMessage; } Gambar 4.37 Listing batal pesan uang Apabila staf ingin menghapus detail pesan uang yang sudah dibuat berdasarkan item, staf dapat memilih pilihan “Hapus”. Maka sistem akan menghapus detail pesan uang tersebut dari database . Gambar 4.38 Halaman menghapus detail pesan uang  deleteData_PesanBarang.jsp Berikut ini listing hapus detail pesan uang try { DataBaseConnection proses = new DataBaseConnection; int noPesan = Integer.parseIntrequest.getParameternoPesan; int idPosBarang = Integer.parseIntrequest.getParameteridPosBarang; proses.hapus_PesanUangnoPesan, idPosBarang; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.39 Listing hapus detail pesan uang 104 Pada hapus detail pesan uang menggunakan stored procedure yang memiliki fungsi untuk mengembalikan nilai harga barang pada pesan uang kedalam database pos berdasarkan idpos dan idposbarang. v_sisauang:=v_sisauang+v_hargatotal; update pos set sisaUang_Pos=v_sisauang where idPos=v_idpos; delete detail_posbarang where noPesan=p_nopesan and idposbarang=p_idposbarang; Gambar 4.40 Stored procedure hapus detail pesan uang 4.2.1.6 Mengelola Data Transaksi Pembelian Mengelola data transaksi pembelian adalah use case untuk staf laboran. Use case ini berfungsi untuk mengelola data transaksi pembelian barang pada pos ekploitasi. Pengelolaan data transaksi pembelian berupa menambah data transaksi pembelian, dan mengedit data transaksi pembelian. Gambar 4.41 Halaman menambah data transaksi pembelian Staf memasukan data transaksi pembelian yang akan digunakan. Kemudian sistem akan menyimpan data tersebut ke dalam database. Berikut ini listing menambah data transaksi pembelian: 105  transaksi_pembelian.jsp String tr = + request.getParametertanggal + - + request.getParameterbulan + - + request.getParametertahun + ; DataBaseConnection proses = new DataBaseConnection; int kodeTransaksiPembelian = Integer.parseIntrequest.getParameterkodeTransaksiPembelian; int nopesan = Integer.parseIntrequest.getParameternoPesan; int idstaf = Integer.parseIntrequest.getParameteridStaf; proses.transaksi_PembeliankodeTransaksiPembelian, nopesan, idstaf,tr; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.42 Listing menambah data transaksi pembelian Menambah data transaksi pembelian ini menggunakan store procedure yang akan memasukan data transaksi pembelian kedalam database. Store procedure ini juga memiliki fungsi yang secara otomatis akan mengambil data barang yang telah dipesan sebelumnya dan disimpan dalam database detail pos barang dan memasukan data-data tersebut kedalam database detail pembelian berdasarkan no pesan. Berikut ini store procedure transaksi pembelian :  Store procedure transaksi_Pembelian insert into transaksipembelian valuesp_kodeTransaksi,p_idStaf,0,0,p_noPesan,p_tgl; OPEN emp_pembelian; LOOP FETCH emp_pembelian into emp_rec; exit when emp_pembeliannotfound; insert into detail_Pembelian 106 valuesp_kodeTransaksi,emp_rec.idPosBarang,emp_rec.jumBrgP esan,emp_rec.hargaTotal,emp_rec.hargaSatuanPesan,0,0,0; END LOOP; Gambar 4.43 Store procedure data transaksi pembelian Apabila staf ingin memperbaiki data transaksi pembelian, staf dapat memilih pilihan “Update sisa uang”.Setelah itu, staf akan menginputkan sisa uang. Kemudian sistem akan menyimpan data tersebut ke dalam database. Gambar 4.44 Halaman mengedit sisa uang transaksi pembelian  updateData_tPembelian Berikut ini listing edit sisa uang: try { DataBaseConnection proses = new DataBaseConnection; int kodetransaksipembelian = Integer.parseIntrequest.getParameterkodeTransaksiPemb elian; int sisaUang_Transaksi = Integer.parseIntrequest.getParametersisaUang_Transaksi ; 107 proses.updatePoskodetransaksipembelian, sisaUang_Transaksi; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.45 Listing mengedit sisa uang Dalam edit transaksi uang yang diedit hanya sisa uang dari proses pembelian yang telah dilakukan oleh staf laboran. Jika dalam pembelian terdapat sisa uang, maka staf harus mengupdate sisa uang tersebut kedalam sistem. Edit transaksi uang ini menggunakan store procedure yang memiliki fungsi untuk menambahkan sisa uang ke dalam database. Berikut ini stored procedure mengedit sisa uang: update pos set sisaUang_Pos = v_sisaT+v_sisa where idPos=v_idPos; Gambar 4.46 Stored procedure mengedit sisa uang Apabila staf ingin memperbaiki detail transaksi pembelian, staf dapt memilih pilihan “Edit”. Setelah itu staf menginputkan data harga beli. Kemudian sistem akan menyimpan dat tersebut ke dalam database. Gambar 4.47 Halaman edit detail pembelian 108  updateData_DtTransaksi Berikut ini listing edit detail pembelian : try{ DataBaseConnection proses = new DataBaseConnection; int kodeTransaksiPembelian = Integer.parseIntrequest.getParameterkodeTransaksiP embelian; int idPosBarang = Integer.parseIntrequest.getParameteridPosBarang; int hrgBeli = Integer.parseIntrequest.getParameterhrgBeli; proses.update_detailPembelianbkodeTransaksiPembeli an, idPosBarang, hrgBeli; java.sql.Statement statement = baseConnection.getConnection.createStatement; statement.close; } catch Exception ex { out.printlnmessage: + ex.getMessage; } Gambar 4.48 Listing edit detail pembelian 109 Pada edit detail pembelian ini menggunakan stored procedure yang memiliki fungsi untuk mengurangi harga pesan dan harga beli dimana hasilnya akan dimasukan ke dalam atribut sisa uang pada database transaksiPembelian.Berikut ini stored procedure untuk mengurangi harga pesan dan harga beli: v_sisaAkhir:=v_sumHrg; update transaksipembelian set sisaUang_Transaksi = v_sisaAkhir where kodetransaksipembelian=p_kode; Gambar 4.49 Stored procedure edit detail pembelian 4.2.1.7 Cetak Laporan Staf Laboratorium Berikut ini tampilan halaman awal menu “Cetak Laporan”: Gambar 4.50 Halaman utama cetak laporan 110 4.2.1.7.1 Cetak RAB Berikut ini bentuk form menu “Cetak RAB”: Gambar 4.51 Halaman form cetak rab 4.2.1.7.2 Cetak Realisasi Rab Berikut ini bentuk form cetak realisasi rab: Gambar 4.52 Halaman form cetak realisasi rab 111 4.2.1.7.3 Cetak LPJ Berikut ini bentuk form cetak lpj: Gambar 4.53 Halaman form cetak LPJ 4.2.2 Implementasi Sistem untuk Kalab 4.2.2.1