• Tidak ada hasil yang ditemukan

BAB V SIMPULAN DAN SARAN

5.2 Saran

Dibutuhkan perlakuan yang berlanjut pada tahap pengolahan data yaitu dengan pengolahan citra untuk meningkatkan kualitas ekstraksi ciri setiap karakter dari nomor dokumen. Proses pengolahan citra yang optimal memungkinkan data masukan pada kegiatan training dan testing model JST yang dikembangkan lebih sempurna. Hal ini dapat menghasilkan akurasi pengenalan yang lebih baik.

DAFTAR PUSTAKA

Aprijani DA. 2011. Aplikasi jaringan syaraf tiruan untuk mengenali tulisan tangan huruf A, B ,C, dan D pada jawaban soal pilihan ganda. Didalam : Jurnal Matematika, Saint dan Teknologi, Volume 12, Nomor 1.Universitas Terbuka : Tangerang, 11 – 17 Maret 2011

[ATS 2010b] Akademi Teknik Soroako 2010. Daftar Dokumen Sistem Manajemen Mutu ATS. Sorowako.

[ATS 2010b] Akademi Teknik Soroako 2010. Prosedur Pengendalian Dokumen. Sorowako.

Basuki A. Palandi JF. Fatchurrochman. 2005. Pengolahan Citra Digital mengunakan Visual Basic. Yogyakarta. Graha Ilmu.

Haryono MEA. 2005 . Pengenalan Huruf Menggunakan Model Jaringan Syaraf Tiruan Radial Basis Function dengan Randomize Cluster Decision. Didalam : Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) : Yogyakarta, 18 Juni 2005.

Indrajani. 2011. Perancangan Basis Data dalam All in 1. Jakarta : PT Elex Media Komputindo.

Kadir A. 2008. Dasar perancangan & implementasi Database Relasional. Yogyakarta : Andi Yogyakarta.

Kusumadewi S. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan MATLAB & EXCEL LINK. Yogyakarta : Graha Ilmu.

Niix. ISO Document Management System (DMS) http://niix.com (akses 11 Januari 2011).

[ISO] International Organization For Standardization. Standard SNI ISO 9001:2008. Quality Management System-Requirements .

Putra D. 2010. Pengeloaan Citra Digital. Yogyakarta : Andi Yogyakarta.

Puspitanigrum D. 2006. Pengatar Jaringan Syaraf Tiruan. Yogyakarta : Andi Yogyakarta.

Park SS, Jung WG, Shin YG, Jang DS. 2008. Optical Character Recognition System Using BP Algorithm. IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.12.

Purnomo MH, Muntasa A. 2010. Konsep Pengolahan Citra Digital dan Ekstraksi Fitur. Yogyakarta : Graha Ilmu.

Siang JJ. 2009. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan MATLAB. Yogyakarta : Andi Yogyakarta.

Stufflebeam R. 2006. Introduction to Neurons, Synapses, Action Potentials, and Neurotransmission. http://www.mind.ilstu.edu (akses 11 Januari 2011). Sholahuddin A. 2002. Penerapan neural network tentang metode

backpropagation pada pengenalan pola huruf. Didalam : Komputer dan Sistem Intelijen (KOMMIT2002) Auditorium Universitas Gunadarma : Jakarta , 21 – 22 Agustus 2002.

Schlickman J. 2003. ISO 9001:2000 Quality Management System Design. 685 Canton Street Norwood, MA 02062 : ARTECH HOUSE, INC.

Saputro N 2003. Pengenalan Huruf dengan memakai Algoritma Genetik. INTEGRAL, Vol. 8 No. 2. Universitas Katolik Parahyangan: Bandung. The ISO Survey. www.iso.org (akses 9 Januari 2011)

http://oudarlesteyn.nl/nieuws/ISO%20survey%20certifications%202008. The CEBOS MQ1 Document Management Software, http://www.cebos.com

(akses 11 Januari 2011).

Wirayuda TAB, Vaulin S, Dayawati RN. 2009. Pengenalan Huruf Komputer Menggunakan Algoritma berbasis Chain Code dan Algoritma Sequence Alignment. Didalam: Konferensi Nasional Sistem dan Informatika 2009 : Bali, November 14, 2009.

Wijaya MC, Prijono A. 2007. Pengelolaan Citra Digital Menggunakan MatLAB. Bandung : Penerbit Informatika.

Lampiran 1 Algoritma JST propagasi balik

Langkah 0 : Menginisialisasi semua bobot dengan bilangan acak kecil.

Langkah 1 : Jika kondisi penghentian belum terpenuhi, dilakukan langkah 2 - 8. Langkah 2 : Untuk setiap pasang data pelatihan, dilakukan langkah 3 - 8. Fase I : Propagasi maju

Langkah 3 : Tiap-tiap unit input (xi, i = 1, 2, 3,..., n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan tersembunyi.

Langkah4 : Tiap-tiap unit tersembunyi (Zi, j = 1, 2, 3,..., p) menjumlahkan sinyal-sinyal input terbobot dengan rumus :

= + = n i ij i j j v xv in z 1 0 _

dengan menggunakan fungsi aktivasi untuk menghitung sinyal outputnya:

j in z j j e in z f z _ 1 1 ) _ ( + = =

selanjutnya sinyal dikirimkan kesemua unit di lapisan output.

Langkah 5 : Tiap-tiap unit output (Yk, k = 1, 2, 3,..., m) menjumlahkan sinyal-sinyal input terbobot dengan rumus :

= + = p i jk i k k w z w in y 1 0 _

dengan menggunakan fungsi aktivasi untuk menghitung sinyal outputnya:

k in y k k e in y f y _ 1 1 ) _ ( + = =

Fase II : Propagasi mundur

Langkah 6 :Tiap-tiap unit output (Yk, k = 1, 2, 3,..., m) menerima target pola yang berhubungan dengan pola input pembelajaran, dengan menghitung informasi error nya: ) _ ( ' ) ( k k k k = t −y f y in δ

kemudian menghitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai wjk) dengan rumus :

j k

jk z

w =αδ

menghitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai w0k) dengan rumus : k k w =αδ ∆ 0

mengirimkankan δk ini ke unit-unit yang ada di lapisan tersembunyi.

Langkah 7 : Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di atasnya) dengan rumus :

= = m k jk k j w in 1 _ δ δ

mengalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error dengan rumus :

) _ ( ' _ j j j δ in f z in δ =

kemudian menghitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai vij) dengan rumus :

i j

jk x

v =αδ

menghitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai v0j) dengan rumus :

j j

v =αδ

0

Fase III : Perubahan bobot

Langkah 8 Tiap-tiap unit output (Yk, k = 1, 2, 3,..., m) memperbaiki bias dan bobotnya (j = 0, 1, 2,..., p) dengan rumus :

jk jk

jk baru w lama w

w ( )= ( )+∆

Tiap-tiap unit tersembunyi (Zj, j = 1, 2, 3,..., p) memperbaiki bias dan bobotnya (i = 0, 1, 2,..., n) dengan rumus :

ij ij

ij baru v lama v

v ( )= ( )+∆

Jika besar total square – error

=m k k k y t m 1 2 ) ( 1

lebih kecil dari toleransi yang telah ditentukan atau jumlah epoh training sudah mencapai epoh maksimum, maka selesai; jika tidak maka kembali ke langkah awal. Nilai toleransi yang digunakan (ε) adalah 1< ε ≤ 0.

Lampiran 2 Hasil proses pengujian data testing dengan 7 hiden layer

Lampiran 12 Desain antarmuka dan Sourcecode proses login Desain antarmuka

Pada desain antarmuka login user, terdapat dua buah kotak isian dan dua buah tombol seperti pada Gambar. Kotak isian (1) digunakan untuk pengisian nama user, kotak isian (2) digunakan untuk pengisian password user, tombol (3) digunakan untuk masuk ke aplikasi dan tombol (4) digunakan untuk membatalkan perintah sebelumnya.

Sourcecode

Private Sub Form_Load() BUKA_DATABASE buka_rs_user End Sub

Private Sub tom_masuk_Click()

If txt_user.Text = "Admin" Then MDI.Show

Unload Me

MDI.Text1.Text = ""

MDI.mnadmin.Enabled = True Set frm_transparan = Nothing

rs_user.Close

Set rs_user = Nothing Else

MDI.mnadmin.Enabled = False With rs_user

rs_user.Find "kode_user='" & txt_user.Text & "'", , adSearchForward, 1

If Not .EOF Then

If txt_pass.Text = !Password Then MDI.Show Unload Me MDI.Text1 = !kd_unit_kerja 2 3 4 1

Set frm_transparan = Nothing

rs_user.Close

Set rs_user = Nothing End If

Else

MsgBox "User Anda Salah", vbCritical, "Waning"

End If End With

End If End sub

Lampiran 13 Desain antarmuka dan sourcecode proses input tabel user Desain antarmuka

Pada desain antarmuka ini digunakan untuk penambahan user baru atau penghapusan user lama. Pada desain antarmuka ini terdapat tiga buah kotak isian dan lima buah tombol seperti pada Gambar. Kotak isian (1) untuk pengisian username, kotak isian (2) untuk pengisian unit kerja, kotak isian (3) utuk pengisian password, tombol (4) untuk ijin penambahan, tombol (5) penyimpanan data, tombol (6) untuk penghapusan data, tombol (7) untuk pembaharuan dan tombol 8 untuk keluar.

Sourcecode

Private Sub Form_Load() BUKA_DATABASE

buka_rs_user buka_rs_unit End Sub

Private Sub TOMHAPUS_Click()

a = MsgBox("Data Akan dihapus ?", vbYesNo, "Konfirmasi") If a = vbYes Then

rs_user.Delete End If

End Sub

Private Sub TOMKELUAR_Click() rs_user.Close

rs_unit.Close Unload Me End Sub

Private Sub TOMSIMPAN_Click() If txt_user.Text = "" Then 8 7 4 5 6 2 3 1

MsgBox "Kotak User tidak boleh Kosong" Else

With rs_user

rs_user.Find "kode_user='" & txt_user.Text & "'", , adSearchForward, 1 If .EOF Then .AddNew !kode_user = txt_user.Text !Password = txt_pass.Text !kd_unit_kerja = txt_unit.Text .update kosong Else

MsgBox "User ini Sudah ada" End If

End With End If End Sub

Private Sub TOMTAMBAH_Click() txt_user.Text = "" txt_pass.Text = "" txt_unit.Text = "" End Sub

Private Sub TOMUPDATE_Click()

a = MsgBox("Data akan di Update ?", vbYesNo, "Konfirmasi") If a = vbYes Then With rs_user !kode_user = txt_user.Text !Password = txt_pass.Text !kd_unit_kerja = txt_unit.Text .update End With End If End Sub

Lampiran 14 Desain antarmuka dan sourcecode input tabel unit kerja Desain antarmuka

Pada desain antarmuka ini user memasukkan kode dan nama setiap unit kerja. Pada desain antarmuka ini terdapat dua buah kotak isian dan lima buah tombol seperti pada Gambar Kotak isian (1) untuk pengisian kode unit, kotak isian (2) untuk pengisian nama unit kerja, tombol (3) untuk ijin penambahan, tombol (4) penyimpanan, tombol (5) untuk penghapusan, tombol (6) untuk pembatalan proses sebelumnya dan tombol (7) untuk keluar dari antarmuka.

Sourcecode

Private Sub Form_Load() buka_rs_unit End Sub

Private Sub TOMHAPUS_Click()

pesan = MsgBox("Apakah data akan dihapus?", vbYesNo, "Konfirmasi")

If pesan = vbYes Then rs_unit.Delete

Call TOMSIMPAN_TEKAN End If

End Sub

Private Sub TOMKELUAR_Click() rs_unit.Close Unload Me toolbar_aktif End Sub 6 7 3 4 5 2 1

Private Sub TOMSIMPAN_Click()

rs_unit.Find "code='" & txt_kode.Text & "'", , adSearchForward, 1

If Not rs_unit.EOF Then

MsgBox "Kode Unit ini Sudah Ada" txt_kode.SetFocus

Else

If txt_kode = "" Then

MsgBox ("Kode unit harus terisi") txt_kode.SetFocus

ElseIf txt_ket = "" Then

MsgBox ("Kode Keterangan harus terisi") Text_ket.SetFocus

Else

pesan = MsgBox("Apakah data ini akan disimpan?", vbYesNo, "Konfirmasi")

If pesan = vbYes Then simpan call TOMSIMPAN_TEKAN Else Call TOMSIMPAN_TEKAN End If End If End If End Sub

Private Sub TOMTAMBAH_Click() Call TOMTAMBAH_TEKAN End Sub Sub simpan() With rs_unit .AddNew !code = txt_kode.Text !name_unit = txt_ket.Text .update End With kosong End Sub Sub setdg_unit() With dg_unit

Set .DataSource = rs_unit.DataSource .Columns(0).Width = 1500

.Columns(1).Width = 6000 .HeadLines = 1.5

.HeadFont.Bold = True .HeadFont.Size = 11

.Columns(0).Caption = "KODE UNIT" .Columns(1).Caption = "KETERANGAN" End With

Lampiran 15 Desain antarmuka dan sourcecode input tabel formulir. Desain antarmuka

Pada desain antarmuka ini digunakan untuk melakukan input data formulir. Pada desain antarmuka ini terdapat enam buah kotak isian dan delapan buah tombol seperti pada Gambar. Kotak isian (1) untuk pengisian kode unit, kotak isian (2) untuk pengisian kode formulir, kotak isian (3) untuk pengisian nama formulir, kotak isian (4) untuk pengisian tanggal penerbitan, kotak isian (5) untuk pengisian nomor revisi, kotak isian (6) untuk pengisian masa simpan, tombol (7) untuk ijin penambahan, tombol (8) untuk penyimpanan, tombol (9) untuk ijin memperbaharui, tombol (10) untuk pembaharuan, tombol (11) untuk penghapusan, tombol (12) untuk pembatalan proses sebelumnya, tombol (13) untuk melihat hasil pindai ,tombol (14) untuk keluar antarmuka dan tombol (15) untuk melakukan perintah scan dokumen.

Sourcecode

Private Sub Form_Load() buka_rs_form buka_rs_unit End Sub

Sub cari_unit()

rs_unit.Find "code='" & txt_unit.Text & "'", , adSearchForward, 1 If Not rs_unit.EOF Then

13 12 14 11 10 5 4 6 9 8 7 2 3 1 15

lab_unit.Caption = rs_unit!name_unit

rs_form.Filter = "kode_unit='" & txt_unit.Text & "'" autoform txt_nama_form.SetFocus Else lab_unit.Caption = "" End If End Sub Sub simpan() If txt_nama_form.Text = "" Or txt_rev.Text = "" Or com_masa.Text = "" Then

MsgBox "Kotak Isisan Tidak Boleh Kosong" Else With rs_form .AddNew !no_form = txt_kode_form.Text !name_form = txt_nama_form.Text !rev = txt_rev.Text !date_publish = tgl_terbit.Value !record_expired = com_masa.Text !kode_unit = txt_unit.Text .update End With End If End Sub Sub update() With rs_form !no_form = txt_kode_form.Text !name_form = txt_nama_form.Text !rev = txt_rev.Text !date_publish = tgl_terbit.Value !record_expired = com_masa.Text !kode_unit = txt_unit.Text .update End With End Sub

Private Sub TOMEDIT_Click() TOMEDIT.Enabled = False TOMUPDATE.Enabled = True TOMHAPUS.Enabled = False frm_isian.Enabled = True End Sub

Private Sub TOMHAPUS_Click() Dim a As Integer

a = InputBox("1 : Hapus Semua, 2 : Hapus File Saja") If a = 1 Then

pesan = MsgBox("Apakah data ini akan dihapus?", vbYesNo, "Hapus = " & txt_kode_form.Text)

fso.DeleteFile ("D:\VB_TESIS\citra\citra_form\" & txt_kode_form.Text & ".tif")

rs_form.Delete End If

ElseIf a = 2 Then

fso.DeleteFile ("D:\VB_TESIS\citra\citra_form\" & txt_kode_form.Text & ".tif")

With rs_form !master_citra = "" .update End With End If End Sub

Private Sub TOMSCANFORM_Click() Dim a As Single

a = MsgBox("Scan Image?", vbYesNo, "Konfirmasi") If a = vbYes Then

Dim lRtn As Long

TWscan_and_save ("D:\VB_TESIS\citra\citra_form_temp\" & left(txt_kode_form.Text, 7) & ".tif")

simpan_citra End If

End Sub

Private Sub TOMUPDATE_Click() With rs_form

pesan = MsgBox("Apakah data ini akan diperbaharui?", vbYesNo, "Konfirmasi")

If pesan = vbYes Then update End With

End Sub

Private Sub TOMKELUAR_Click() rs_form.Close

rs_unit.Close Unload Me End Sub

Private Sub TOMSIMPAN_Click()

If val(Len(txt_kode_form.Text)) < 7 Then

MsgBox "Kode formulir tidak boleh kosong atau kurang dari 7 digit", vbCritical, txt_kode_form.Text

Else

With rs_form

.Find "no_form='" & txt_kode_form.Text & "'", , adSearchForward, 1

If Not .EOF Then

MsgBox "No Formulir ini sudah ada dalam database", vbCritical, txt_kode_form.Text

txt_kode_form.SetFocus Else

pesan = MsgBox("Apakah data ini akan di simpan?", vbYesNo, "Konfirmasi")

If pesan = vbYes Then simpan End If

End With End If End Sub

Private Sub TOMTAMBAH_Click() Call TOMTAMBAH_TEKAN Call kosong

Call combo_no_unit_1 Call cari_unit

Lampiran 16 Desain antarmuka dan sourcecode penyimpanan data rekaman Desain antarmuka

Pada desain antarmuka ini digunakan untuk melakukan input data rekaman dan pengenalan citra rekaman yang diambil langsung dari alat pindai (scaner). Pada desain antarmuka ini terdapat sebuah kotak isian, dua buah tombol, sebuah label dan dua buah kotak gambar seperti pada Gambar. Kotak isian (1) untuk pengisian tanggal rekam, tombol (2) untuk perintah scan dokumen, kotak gambar (3) tempat gambar angka atau huruf hasil segmentasi, tombol (4) untuk keluar anatrmuka, label (5) tempat informasi hasil pengenalan rekaman, dan kotak gambar (6) lokasi gambar (citra) hasil scan.

Sourcecode

Private Sub cmdStart_Click() --- scan dokumen Dim i, a As Integer

a = InputBox("Masukkan Jumlah Rekaman", "konfirmasi") For i = 1 To a With Twain1 .SelectDeviceByName (cboSelect.Text) .MultiImage = True .KeepImages = True .ImagesToRead = 1 .Resolution = 100 .pixelType = ptGray .AutoBright = True .AutoDeskew = True 6 5 3 2 1 4

.CausesValidation = True .Threshold = 10 If .HasADF Then .UseADF = False Else .UseADF = True End If .UseInterface = False .ShowProgress = True .WaitForAcquire = True .Acquire Pengenalanx Next i

Sub SEGMENTASI()' segmentasi file dari scanner If txt_info.Text = "1" Then pic_K1.PaintPicture Picture1.image, 0, 0, 240, 300, a, b - 5, 240, 300, vbSrcCopy pic_K2.PaintPicture Picture1.image, 0, 0, 240, 300, a + 245, b - 5, 240, 300, vbSrcCopy pic_K3.PaintPicture Picture1.image, 0, 0, 240, 300, a + 490, b - 5, 240, 300, vbSrcCopy pic_K4.PaintPicture Picture1.image, 0, 0, 240, 300, a + 755, b - 5, 240, 300, vbSrcCopy pic_K5.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1030, b - 5, 240, 300, vbSrcCopy pic_K6.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1270, b - 5, 240, 300, vbSrcCopy pic_K7.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1535, b - 5, 240, 300, vbSrcCopy Else pic_K1.PaintPicture Picture1.image, 0, 0, 240, 300, a, b, 240, 300, vbSrcCopy pic_K2.PaintPicture Picture1.image, 0, 0, 240, 300, a + 245, b, 240, 300, vbSrcCopy pic_K3.PaintPicture Picture1.image, 0, 0, 240, 300, a + 495, b, 240, 300, vbSrcCopy pic_K4.PaintPicture Picture1.image, 0, 0, 240, 300, a + 755, b, 240, 300, vbSrcCopy pic_K5.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1015, b, 240, 300, vbSrcCopy pic_K6.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1260, b, 240, 300, vbSrcCopy pic_K7.PaintPicture Picture1.image, 0, 0, 240, 300, a + 1515, b, 240, 300, vbSrcCopy End If pic_K1.Height = 150: pic_K1.Width = 120 pic_K2.Height = 150: pic_K2.Width = 120 pic_K3.Height = 150: pic_K3.Width = 120 pic_K4.Height = 150: pic_K4.Width = 120 pic_K5.Height = 150: pic_K5.Width = 120 pic_K6.Height = 150: pic_K6.Width = 120

pic_K7.Height = 150: pic_K7.Width = 120 End Sub

Sub simpan_citra1() Dim a As Single

With rs_form

.Find "no_form='" & lbl_karakter.Caption & "'", , adSearchForward, 1

If Not .EOF Then

If !kode_unit = MDI.Text1.Text Then With rs_record

Dim X As String

X = 100000 + val(.RecordCount) .AddNew

!no_record = lbl_karakter.Caption & right(X, 5)

!no_form = lbl_karakter.Caption tgl_record.Format = dtpShortDate !date_record = tgl_record.Value With rs_form

.Find "no_form='" & lbl_karakter.Caption & "'", , adSearchForward, 1

If Not .EOF Then rs_record!date_expired = tgl_record.Value + val(!record_expired) * 365

End With

!citra = lbl_karakter.Caption & right(X, 5) & ".pdf" .update End With Picture1.Picture = Twain1.Picture Twain1.SaveToFile ("D:\VB_TESIS\citra\citra_record\" & lbl_karakter.Caption & right(X, 5) & ".pdf") tutup_tabel_JST

bersihkan_tabel_jst

pic_K1.Cls: pic_K2.Cls: pic_K3.Cls: pic_K4.Cls: pic_K5.Cls: pic_K6.Cls: pic_K7.Cls

Picture1.Picture =

LoadPicture("D:\VB_TESIS\latar1.gif")

pic_K4.Cls: pic_K5.Cls: pic_K6.Cls: pic_K7.Cls Else

MsgBox "Oops!!, Rekaman ini Milik unit : " & !kode_unit

tutup_tabel_JST bersihkan_tabel_jst

pic_K1.Cls: pic_K2.Cls: pic_K3.Cls: pic_K4.Cls: pic_K5.Cls: pic_K6.Cls: pic_K7.Cls

Picture1.Picture =

End If Else

MsgBox "Nomor ini tidak ditemukan dalam database"

Dim aa As String

aa = InputBox("Masukan No Formulir!", "Input No Formulir", lbl_karakter.Caption)

lbl_karakter.Caption = aa

.Find "no_form='" & lbl_karakter.Caption & "'", , adSearchForward, 1

If Not .EOF Then With rs_record

X = 100000 + val(.RecordCount) .AddNew

!no_record = lbl_karakter.Caption & right(X, 5)

!no_form = lbl_karakter.Caption !date_record = tgl_record.Value With rs_form

.Find "no_form='" & lbl_karakter.Caption & "'", , adSearchForward, 1

If Not .EOF Then rs_record!date_expired = tgl_record.Value + val(!record_expired) * 365 End With

!citra = lbl_karakter.Caption & right(X, 5) & ".pdf" .update End With Picture1.Picture = Twain1.Picture Twain1.SaveToFile ("D:\VB_TESIS\citra\citra_record\" & lbl_karakter.Caption & right(X, 5) & ".pdf")

tutup_tabel_JST bersihkan_tabel_jst

pic_K1.Cls: pic_K2.Cls: pic_K3.Cls: pic_K4.Cls: pic_K5.Cls: pic_K6.Cls: pic_K7.Cls

Picture1.Picture =

LoadPicture("D:\VB_TESIS\latar1.gif") pic_K4.Cls: pic_K5.Cls: pic_K6.Cls: pic_K7.Cls

End If End If

End With End Sub

Lampiran 17 Desain antarmuka dan sourcecode input tabel distribusi formulir Desain antarmuka

Antarmuka ini digunakan untuk pendistribusian formulir kepada setiap unit kerja terkait. Adapun desain antarmuka distribusi formulir dapat dilihat pada Gambar. Pada desain antarmuka ini terdapat sebuah kotak isian, tiga buah tombol dan dua buah grid untuk menampilkan isi tabel. Kotak isian (1) berisi daftar unit kerja, tombol (2) perintah untuk pengiriman formulir, tombol (3) untuk penarikan atau penghapusan formulir, tombol (4) untuk keluar, gird (5) untuk melihat daftar formulir unit kerja pengirim, dan grid (6) untuk melihat daftar unit penerima formulir.

Sourcecode

Private Sub Form_Load() buka_rs_form buka_rs_unit

buka_rs_distribusi

rsq_dis.Open "SELECT tab_form.no_form, tab_form.name_form, tab_unit.name_unit FROM tab_unit INNER JOIN (tab_form INNER JOIN tab_distribusi ON tab_form.no_form = tab_distribusi.kd_formulir) ON tab_unit.code = tab_distribusi.unit_kerja_penerima", _ ADO_DATABASE, _ adOpenKeyset, _ adLockBatchOptimistic, _ adCmdText

rs_form.Filter = "kode_unit='" & MDI.Text1.Text & "'" combo_unit 4 3 1 2 5 6

With rs_unit

.Find "code='" & MDI.Text1 & "'", , adSearchForward, 1 If Not .EOF Then

lbl_unit.Caption = "Unit :" & !name_unit End If

End With End Sub

Sub kirim()

rs_form.Find "no_form='" & DataGrid1.Columns(0).Text & "'", , adSearchForward, 1

If Not rs_form.EOF Then

a = MsgBox("Apakah No Formmulir : " & DataGrid1.Columns(0).Text & " Akan didistribusi ke unit : " & txt_unit.Text, vbYesNo, "Konfirmasi") If a = vbYes Then With rs_distribusi .AddNew !kd_formulir = DataGrid1.Columns(0).Text !unit_kerja_penerima = txt_unit.Text .update rsq_dis.Requery set_datagrid2 End With Else

MsgBox "Gagal Kirim", vbOKOnly, "informasi" set_datagrid2

End If End If

End Sub

Private Sub KIRIM_Click() If txt_unit <> "" Then

kirim Else

MsgBox " Tujuan Pengiriman Masih Ksosng", vbOKOnly End If

End Sub

Private Sub TOMKELUAR_Click() rs_form.Close rs_unit.Close rs_distribusi.Close rsq_dis.Close Unload Me End Sub

Lampiran 18 Desain antarmuka dan sourcecode daftar rekaman kadaluarsa Desain antarmuka

Antarmuka ini digunakan oleh setiap unit kerja untuk melihat daftar rekaman yang sudah kadaluarsa untuk selanjutnya dimusnahkan. Adapun desain antarmuka distribusi formulir dapat dilihat pada Gambar. Pada desain antarmuka ini terdapat dua buah tombol dan dua buah grid untuk menampilkan isi tabel. Grid (1) untuk melihat daftar formulir yang sudah habis masa simpannya (kadaluarsa), tombol (2) untuk penghapusan dan tombol (3) untuk keluar dari antarmuka.

Sourcecode

Private Sub Form_Load() RemoveCancelMenuItem Me buka_rs_unit

buka_rs_record

rsq_musnah.Open "SELECT tab_record.no_record,

tab_form.no_form, tab_form.name_form, tab_unit.code, tab_unit.name_unit, tab_record.date_record,

tab_record.date_expired,

IIf(Date()>[tab_record]![date_expired],'E','N') AS Status FROM tab_unit INNER JOIN (tab_record INNER JOIN tab_form ON tab_record.no_form = tab_form.no_form) ON tab_unit.code = tab_form.kode_unit", _

ADO_DATABASE, _ adOpenKeyset, _

adLockBatchOptimistic, _ adCmdText

rsq_musnah.Filter = "Code='" & MDI.Text1.Text & "' and STATUS = 'E'"

Set DataGrid1.DataSource = rsq_musnah.DataSource With rs_unit

1

3 2

.Find "code='" & MDI.Text1 & "'",,adSearchForward, 1 If Not .EOF Then

lbl_unit.Caption = "Unit :" & !name_unit End If

End With datagrid End Sub

Private Sub cari_rekaman_Click() With rs_record

.Find "no_record='" & DataGrid1.Text & "'", , adSearchForward, 1

If Not .EOF Then

a = MsgBox("Apakah Rekaman " & DataGrid1.Text & " Akan Diahapus?", vbYesNo, "Peringatan") If a = vbYes Then .Delete .update fso.MoveFile "D:\VB_TESIS\citra\citra_record\" &

Dokumen terkait