METODE PENELITIAN
S. l.Persiapan Lingkungan Pengembangan Aplikasi Pengembangan aplikasi ini menggunakan laptop yang memiliki
5.3. Penulisan Kode Program
5.3.2.Package‘persediaan.model’
Packageini berisiclassjavayangdigunakan sebagai penghubung antaraclass java yangterdapatdalam package ‘persediaan
.
entity' dengancontrolleryang berada dalam package‘persediaan.servlet' untuk kemudian ditampilkan dalam view.
Class java dalam package ini berisi method-
method yang digunakan untuk memanggil data dari class yang terdapat dalam entity untuk diproses dalam class controller sehingga dapat ditampilkan ke dalam view. Gambar 5.7 berikut mem perlihatkan potongan kode program dari file DaftarSediaMasuk.java :package persediaan.model; import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Iterator;
importjava.util.List; import javax.persistence.*;
importpersediaan.entity.SediaMasuk;
import administrator.entity.TBarang;
importpersediaan.model.exceptions.NonexistentEntityException;
public classDaftarSediaMasuk{ publicDaftarSediaMasuk(){
emf = Persistence.creafceEntifcyManagerFactory("SxapkanPU");
}
privateEntitvManagerFactory emf =null;
publicEntitvManager getEntityManager<){
return emf.createEntityManager<);
>
public StringgetNodok(){
String max=null;
EntityManager em*getEntityManager(); try{
Gambar 5. 7 Kode ProgramfileDaftarSediaVlasuk.java
Class DaftarSediaMasuk.java ini berisi method-method yang digunakanuntuk menampilkan seluruh data transaksi masuk yang terdapat dalam entity SediaMasuk.java.
5.3.3.Package‘persediaan.servlet’
Package ini berisi class java yang berfungsi sebagai controller dalam aplikasi ini. Controller ini memiliki fungsi menangani request dan mengembalikan response kepada client user. Hal utama yang dilakukan controller dalam aplikasi ini adalah membuat, membaca, memperbarui data, serta menghapus data.
Dalam package ini juga terdapat class servlet java yang digunakan untuk menghubungkan antara classcontroller dengan view. Gambar 5.8 berikut memperlihatkan potongan kode program yang terdapat dalam class ContMSaldoAwai.java:
public classCont M SaldoAwal{ HttpServletRequeat request;
publicCont_M_SaldaAwal(HttpServletRequest request){ this.request
-
request;>
intoffset; intlength;
DaftarSediaMasulrdaftar
-
newDaftarSediaMasuk:(); List<SediaMasulc>listSaldoAwal»daftar.getSaldoAwal(); publicStringlistSaldoAwal() {intmaxEntriesPerPage“20; intpage=1;
String pageNumberValue=request.getParameter("pageMuraber"); if(pageNujcberValue!=null){
try {
page “ Integer.parselnt(pageNumberValue); System.out.printIn("Page Number:"+ page); } catch(NumberFormatExceptione){
e-printStackTrace(); )
>
intoffset=maxEntriesPerPage* (page TestList(offset,maxEntriesPerPage);
request.setAttribute("pages",getPages());
request.setAttribute("listSaldoAwal",getListByOffsetAndLength()); return"/pages/peraediaan/TayangSaldoAwal.jsp";
l);
)
Gambar 5. 8 Kode Program file Cont M SaldoAwai.java
Class ContMSaldoAwal.java digunakan sebagai controller yang menampung fungsi untukmerekam, membaca,memperbarui data,serta menghapus data dari Transaksi Masuk
-
Saldo Awal,sedangkan untuk menampilkan data tersebut digunakan class SaldoAwalServlet.java, gambar 5.9 berikut memperlihatkan potongankodeprogram dariclassSaldoAwalServlet.java:
protectedvoidprocessRequest(Http5ervletRequest request,HttpServletRespcnseresponse) throwsServletException,IOException,NcnexistentEntityException{
Stringpageref =request.getParameter("pageref"); Http5essicn session= request.getSessionO;
if(pageref.equals("rebar.") ) { session.remcveAttribute("er
session.remcveAttribute("subsea");
session.remcveAttribute("tespmputM);
ContMSaldoAwal5Ac*newContMSaldoAwal(request); ) ;
request.getRequestDispatcher(SAc.rekanSaldoAwalO).forward(request, response); -relearn") ){
}elseif(pageref.equals("p session.remcveAttribute("er session.remcveAttribute("sukses");
ContMSaldoAwalSAc=newContMSaldoAwal(request);
T*7*\?
request.getRequestDispatcher(SAc.prosesrekaiSaldoAwalO ).forward(request,response); Gambar 5.9KodeProgramSaldoAwalServlet.java
Pada setiap controller dalam Modul Persediaan ditambahkan kode yang berfungsi untuk melakukan validasi padasisi sistem, hal ini dilakukan untuk menjaga agardata yang dimasukkan ke dalam database sesuai dengan aturanyangditetapkanoleh sistem,
apabila client memasukkan datayangtidak sesuai denganaturan sistem maka akan muncul pesan pemberitahuan bahvva data masukkan tidak sesuai. Gambar 5.10 berikut menunjukkan potongan kode dari controller Cont M SaldoAwal
.
java yang mengatur bahwa data “kuantitas'’ harus berupa angka dan tidak bolehminus.176 if (kuantitas.equalsl") ){
seasion.setAttributererror',"Jumiafc Persediaan Masuk Masit Kosong");
return"/pages/persediaan/RekaaSaldoAval.jsp'; 177
17B
179 ) else{
ISO try{
iei saLong qty.setXuantitas
-
Long.(parselongqty); (kuantitas); session.setAttribute('te^jinp..t',sa) ;if (qty<0){
session.setlttribwte<'error','JualahPersediaanMasuk Tidak Boleh Minus Atau O');
return'/pages/persediaan/RekanSaldoAiiil.Jsp';
1S2 183 184 185 ie6
187 )
188 )catch(HuatoerFo: itException nfe) (
session.setAttrifcatc(”error",'Jualah Persediaan Masukharusdalaaforaat Angka'); return'/pajes/persediaan/RekaaSaidoAwal.]sp';
189 190
191 >
192 )
1 0*
Gambar5.10potongankode validasipadaContMSaldoAwal.java
5.4.Pembuatan View
Pembuatan view untuk aplikasi ini menggunakan Java Server Pages (JSP)yang kemudiandipercantik menggunakan CSS, dan untuk memperkuat validasi pada sisi client digunakan JQuery serta beberapa javascript. Gambar 5 . 1 1 berikut memperlihatkan contoh tampilankodeprogramyangmewakili view.
<h2xstrong>Balanan Retaat Soldo Aval</strongx/h2>
</div> div bcx-header
—
><div cla33='box-content'’>
<div class<<!ul class
—
the tabs-
'tabs="tabs-wrapper/iinks-ctrls---veri->veri'">><lixa href*'ftabs
-
5'>Ia*bahData< /ax/li></ul>
<!
—
tab1—
><divSid(error='tabs)-Sfsukses5" cla3s}
-
'tab-2"><for*id='for»rekaasa"na*e-"fDrs
_
reka2_
3a'nethod=’post'action='saldoawal'pageref=prcses-reka»'<div cla3s="*et-row-2"xlabel for
—
field-9'>IahmAnggaran</labelxinputid—
field-9'type—
tex<<dxv classdivcla33=="set"set--roeroe--2 “xlabel2’Xlabelforfor
— —
:fieldield--99">>Hanor DcrurencIanggalDokmen/labelXinput< /labelXinputid=id'fleld—
drtepicfcerl-9"type—
"texttype<<div cladiv cla3333
-
='setset- row-row--22'xlabel’xlabel forfor— —
fieldfield--99''>>BcnorTanqqal BukucBuktx/labelxinput/labelxinput idid— -
fielddatepicker-9"type2'—
typetext—
"t<divclass='set-row-2" Xlabelfor
—
field-
9>Kode Persediaan</label>cinput type®"button"nane
—
button"id*"button"value="... onClick—
3avascrlpt:openlxndov ( )<inputna«e='kdBrg"type
—
text"id="kdBrg"value*""size='20"readonly/>4nbsp:<b>0raian</<inputna»e«"ur
_
fcrg'type—
text"id—
urbrg"value-
'"size—
50"readonly style*'border:Gambar5.11 Kode Program file RekamSaldoAwal.jsp
non
Selain dilakukan pada controller, validasi masukan juga dilakukan pada sisi client, hal ini dilakukan agar data yang dimasukkan oleh client divalidasi kesesuainnya dengan sistem sebeium dat tersebut dapat diproses oleh sistem sehingga waktu pemrosesan datamasukan menjadi lebit cepat dan menjaga agar server dapat berfungsi dengan baik padasaat banyakrequest yang masuk. Gambar 5.12 berikut memperlihatkan validasi yang digunakandalamfileRekamSaldoAwal.jsp tersebut:
S(function(){
SC'«tiatspic!ce:2").datepxcJrer({
beforeShowDay:S.datepicker.noWeekends, dateFonuc;1dd-aw-yy',
altField:"*s'r.Dw", naxDate:“*OD", minDate:
onSelcct:function< selectedDate ){
S("tdarepiclrer:").datepicker("opticr.","r.axDate",selectedDate);
>
} );
>);
S<±fcnr._rekar.sa').validated
errorPlacement:$.datepicker.errorPlacement, rules:<
validDefaultDatepicker:<
required:true, dpDate:true
>}>;>
functionvalidateFoon(){
vara^document.fonss["forip._rekair._3a"]["tgldok"].value;
varb*»dccuroent.formsI”farra_rekaE;_3a "J[*nobukti"J.value;
varc^aecoment.formsI"fomi_reicani_“a"]["tgibuku"].value;
var d“-iocument.farms["fox
vare
-
document.forms["f orrr_rek:aTr-__2a"]["rphSat”].value; var f«rioc'jment.foniis[,,foekam sa”J["kuar.citas"].value;
relcair._sa"][’Teeterangan").value;
if (a “l i e
—
l i e—
"-
I l f {alert("PastrkanSer.ua Field Terrsr ");
Gambar5
.
12KodeProgram Validasi padafdeRekamSaldoAwaLjsp5.5.Integrasi Modul
Pada tahap iniyangdilakukanadalah mengintegrasisemuamodul yang telah dikembangkan dalam aplikasi SIAPKAN ke dalam satu aplikasi yang utuh, hal ini dilakukan dengan mengitegrasi modul yang saling berkaitan sesuai dengan proses bisnis organisasi. khusus untuk modul Persediaan, proses integrasi dilakukandengan modul Administrasi dan modulAsetTetap
.
Integrasi dengan moduJ Administrasi dilakukan dengan use case
'login', 'logout’, dan ‘referensi’ yang dibuat pada modul Administrasi
.
Pengguna harus melakukan ‘login’ terlebihdahulu untuk bias masuk ke dalam semua proses yang ditangani oleh modul Persediaan, setelah pengguna melakukan 'logout’ maka pengguna tidakdapat masuk ke dalam modul Persediaan,semua referensi yang dibutuhkan oleh modul Persediaan dibuat oleh modul Administrasi,misalnyakodebarang,kodesatker dan lain-lain. Untuk dapat mengakses data referensi maka modul Persediaan harus mengambil data yang terdapat pada modul Administrasi.
Integrasi dengan modul Aset Tetap dilakukan oleh modul Aset Tetapdengan caramengambil niiai persediaan berdasarkan kode perkiraan yang dibuat oleh modul Persediaan dan ditampilkan dalamLaporan Persediaan,niiaipersediaanini digunakan sebagai input yangnantinya diolah menjadi Neraca Aset oleh Modul Aset Tetap
.
5.6.Uji Coba
Uji coba yang dilakukan pada aplikasi ini terdiri atas uji coba fungsional dan non fungsional. Uji coba fungsional dilakukan dengan mengacu pada test case yang telah dibuat pada tahap desain dan melihat apakah aplikasi yangdikembangkan ini telah sesuai dengan test case. Uji coba non fungsional dilakukan dengan cara menguji ketahanan aplikasi terhadap jumlah request
.
Berikutdipaparkan hasiujicobafungsional dan non fungsional
.
5.6.1.UjiCoba Fungsionalitas
Ujicobafungsionalitas untuk aplikasi inimengacupadatestcase yangtelah dibuat pada tahap desain, berikutiniditampilkan daftar testcase besertahasil uji cobayang telah dilakukan. Untukdetail dari setiaptestcasedapatdilihatpada lampiran
.
Tabel5. 4HasilUjiCobaFungsionalitas
Status Test Case
No.
RekamSaldo Awal persediaan V UbahSaldoAwalpersediaan HapusSaldoAwalpersediaan RekamPembelian
Ubah Pembelian
Hapus Pembelian persediaan RekamTransfer Masuk persediaan UbahTransfer Masuk persediaan HapusTransfer Masuk persediaan RekamHibah Masuk persediaan UbahHibah Masuk persediaan Hapus HibahMasuk persediaan RekamRampasan persediaan Ubah Rampasan persediaan Hapus Rampasan persediaan Rekam PerolehanLain persediaan UbahPerolehan Lain persediaan HapusPerolehan Lain persediaan Rekam Habis Pakai persediaan UbahHabis Pakai persediaan HapusHabis Pakai persediaan RekamTransfer Keluar persediaan UbahTransfer Keluar persediaan HapusTransfer Keluar persediaan Rekam Hibah Keluarpersediaan UbahHibahKeluarpersediaan HapusHibah Keluar persediaan RekamPengahapusan persediaan UbahPenghapusan persediaan Hapus Penghapusan persediaan RekamOpname Fisik
UbahOpname Fisik HapusOpname Fisik
A01 V
A02 A03 V A04 V A05 V A06 V A07 V AOS V A09 V A10 V Al 1 V A12 V A13 V A14 V A15 V A16 V A17 V A18 V A 19 V A20 V A21 V A22 V A23 V A24 V A25 V A26 V A27 V A28 V A29 V A30 V A31 V A32 V A33 V
A34 Rekam Pejabat UbahPejabat Hapus Pejabat
CetakLaporanPersediaan
V
A35 V
A36 V
A37 V
Gambar5.13 berikut ini memperlihatkan tampilan halaman awal dari aplikasi SIAPKAN, operator harus melukan login terlebih dahulu untuk dapat mengkases menu
-
menu transaksi dalam modul Persediaan.v10.0 a l
OflAPKAN
Sww laffnwii Atm—
ammIVUpotanKruanpauM e m b e rA r e a
W
(
.
ambar5.
13 halamanLogin aplikasiSIAPKANSetelah operator melakukan login maka operator akan dibawa menuju halaman '"Summary Persediaan"yang berfungsi sebagai halaman"home"dan untukmonitoring jumlahbarangpersediaan yang ada saat ini
.
Gambar 5.14 berikut menunjukkan tampilan halaman"Summary Persediaan”.£ i * £ Eis % H 3
^
* I I P«rrt Transit-
Kaa* Ktfta'iHaaik Ranwasar Perotehan an H&sPafcai Krl Penohapu-sari« 1 £ i
4Is
/ugOu:
SummaryPersediaan
SAIDO MLXEUMft fMl.MASUK KOOtBARANG
60% 2713 8*09
JM03WOMTOOOOJ
2506 112 7.620 bolpotnbo»m«f
spidolkecd spidol bear flabiUoboss 1010301001000002
1010301001000003 973 524 449
150 302 152
1010301001000004
1010301001000003 112 50 62
338 72» 386
101030100100000«
1010301001000007 pen**gnj 145 101 44
KHdoibowOmadw bmdtrld pwwkUp*bun p»p«iklip keel
110 66 1010301001000009 176
1010301003000001 1010301003000007
71 90 161
134 278 144
171 132 1010301003000003 303
Gambar 5
.
14 Halaman’’Home" modul PersediaanGambar 5.15 berikut ini memperlihatkan contoh tampilan yang mewakili proses melihat hasil. berikut contoh dari halaman Daftar SaldoAwal
DaftarSaldoAwal
yREXAM
Pillhao rode Barang Rupiah
Tgl Dokumw TfclBuku NoBukti
NoDokumen
1010301001000001 t&X sfsfcfs 04-06-2012 07-06-2012 1200
01508150052743 XWXD201200001V
1010301001000001 tfX 1300
06-06-2012 123/88/2012. 04-06-2012 015081500527411000KD201200002M
10103010010000W ttX
06-06-2012 1000 i 05-06-2012
015081500527431000KD201200003M
1010301C010000G4 IfX 06-06-2012 1200
05-06-2012 sdsd
015081500527411000*®201200004M
1010301005000003 k X 12000
25-06-2012 3232331fgf 28-06-2012 0150B1500527411000*®2012COOC5M
1
Gambar5.15TampilanHalamanDaftarSaldo Awal
Halaman ’relearn5 merupakan halaman yang digunakan oleh pengguna untuk melakukan perekaman saldo awal barang persediaan
.
Gambar5.16 berikut memperlihatkan contohtampilan dariHalaman RekamSaldoAwal.
HalamanRokamSaldo Awal
T«nM< U
.
U2012
OlB061&00&2 /411000K0201200011M
»
llania lotal
Gambar5.16TampilanHalaman Rekam SaldoAwal
Halaman ’ubah’ merupakan halaman yang digunakan oleh pengguna untuk melakukan perubahan data yang telah diinput sebelumnya di halaman rekam saldoawal. Gambar 5.17 berikut memperlihatkancontohtampilandari HalamanUbahSaldoAwal
.
HalamanUbahSaldo Awal
2012
Ol5081SOOS27411000K0201200001M
04-00-2012
slsfsls
«4 07-06-2012
1010301001000001
500
1200 IMro
.
lolol600000
Gambar S
.
17TampilanHalaman Ubah SaldoAwalPesan konfirmasi ‘hapus' merupakan pesan yangmuncul apabila pengguna meng
-
klik tombol hapus pada data yang tertera pada halaman daftar, pesan hapus digunakan pengguna untukmenghapus data. Gambar 5.18 berikut memperlihatkan contoh tampilan pesan konfirmasi'hapus'.
Anda Yakin IngjnMenghapus?
Cancel OK
Gambar5
.
18TampilanPesanKonfirmasi "Hapus"Halaman Pejabat Penandatangan merupakan halaman yang digunakan operator untuk melakukan perekaman pejabat penandatangan pada laporan yang dihasilkan modul Persediaan.
Untuk melakukan proses RUH Pejabat penandatangan operator menuju halaman Pejabat Penandatangan
.
gambar 5.19 berikut memperlihatkantampilan halamanPejabat Penadatangan.Pejabat Penandatangan
P(WUK;GUI«GJAWAB UAKPB NBIIM
MATI Utomo
7abatan
Pit Kepala Bagtan Umuni
POJF*
196904131989011OOI
PfNGHOtA BARANGPERSEDIAAN
»Bma
Didik hari Purwanto
Gambar5
.
19 TampilanHalamanPejabat PenandatanganHalaman cetak laporan merupakan halaman yangdigunakan oleh pengguna untuk melakukan pencetakan laporan dalam bentuk hardcopy
.
Gambar 5.19 berikut memperlihatkan contoh tampilan darihalaman cetak laporan.
Laporan Persediaan
m2
B-07-2912
0*47-2012
Gatt
Ciamhar5.20Tampilan Halaman C'etak Laporan
.
5.7.AnalisisUjiCobaPada tahap ini uji analisis uji coba hanyadilakukan berdasarkan uji coba fungsionalitas yang telah dilakukan, uji coba non fungsiona! masih belum bisa dilakukan dikarenakan aplikasi ini masih berjalan dalam jaringan lokal
.
Hasil uji coba fungsional menunjukkan bahwa aplikasi ini telah sesuai dengan semuatest case yang telah dibuat pada tahap desain. Hal ini berarti bahwa secara fungsional aplikasi SIAPKAN modul Persediaan telah berjalan denganbaik.5.8.Migrasi Data
Migrasi data dilakukan untuk memindahkan data pada aplikasi yang sudah ada saatinike dalam aplikasi SIAPKAN,dikarenakan jumlah data yang besar dan penggunaan database yang berbeda maka proses migrasi data pada tahap ini dilakukan dengan menggunakan tool Full Converter Enterprise. Data yang digunakan dalam proses migrasi data untuk aplikasi SIAPKAN modul Persediaan ini adalah data yang didapat dari Aplikasi Sistem Akuntansi Persediaanyangdigunakan di Kantor Wilayah DJPBN JawaTimur.
Gambar5.20berikut memperlihatkan tampilanpemilihantipedan nama database yang akan dikonversi ke dalam database yang digunakandalamaplikasi SIAPKAN.
.B X
ProjectSettings
Stepiof4 Selectsourcedatabase
Needhelpconnecting? Available source databases
MySQL
<Automebc>
:3306 Server locaihost
Access
dBaseandFoxPro(DBF) Excel
InterBase /Firebird Lotus1-2
-
3Username root Password Database\
009C Orade Paradox PostgreSQL SQLServer
SQLServerCompactEdition Text
mforma bon_schema cdcol dbsedialO dbsediabaru mysql performance_schema phpmyadrran
XML test
Gambar 5
.
21 Pemilihantipe dan nama database sumberGambar 5.21 berikut menmperlihatkan tampilan pemilihan tipe dan nama database yang digunakan sebagai tujuan dari proses migrasidata yang dilakukan.