PERANCANGAN ABSENSI DENGAN BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI)
SKRIPSI
Disusun Oleh :
WHISNU SUHARNO ADJI 1208427
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNGPINANG TANJUNGPINANG 2013
PERANCANGAN ABSENSI DENGAN BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI)
SKRIPSI diajukan untuk memenuhi salah satu syarat kelulusan memperoleh gelar sarjana program studi teknik informatika
Disusun Oleh :
WHISNU SUHARNO ADJI 1208427
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNGPINANG TANJUNGPINANG 2013
PERANCANGAN ABSENSI DENGAN BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI) SKRIPSI diajukan untuk memenuhi salah satu syarat kelulusan memperoleh gelar sarjana program studi teknik informatika Disusun Oleh : WHISNU SUHARNO ADJI 1208427 Telah diperiksa dan disetujui sebagai Laporan Skripsi Tanggal, 24 September 2013 Tim Penguji, 1.
Ketua
: Drs. H.Mohd. Saleh H.Umar
: ……………………
2.
Penguji I
: Wan Hendra M, S.kom, M.SI
: ……………………
3.
Penguji II
: Said Thaha Ghafara, S.Kom, M.SI : ……………………
Mengetahui : Pembimbing I
Pembimbing II
Ade Winarni, MT
Andi Ikbal, ST
NIDN : 1002048601
NIDN : 1022028302
Ketua Progaram Studi Teknik Informatika
Ade Winarni, MT NIDN : 1002048601
KATA PENGANTAR
Puji syukur atas kehadirat Tuhan Yang Maha Esa yang Maha Pengasih atas berkat rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan Skripsi ini dengan judul : “PERANCANGAN ABSENSI DENGAN BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI)” Dalam kesempatan ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu dalam menyelesaikan laporan ini dan secara khusus penulis sampaikan kepada : 1. M.H Lois Frederik, SE,SH,MM, selaku Ketua Yayasan STT Indonesia Tanjungpinang yang memberi izin kepada penulis untuk membuat laporan skripsi. 2. Ade Winarni, MT, sebagai Ketua Program Studi dan Dosen Pembimbing 1 yang telah memberikan konstribusi yang berarti sehingga terselesainya Laporan Skripsi ini. 3. Andi Ikbal, ST, sebagai Dosen Pembimbing 2 yang telah memberikan konstribusi yang berarti sehingga terselesainya Laporan Skripsi ini.
i
4. Rekan-rakan dan teman-teman mahasiswa terutama Program Studi Teknik Informatika yang telah memberikan semangat dan do’anya kepada penulis 5. Yudian Budi Krishna ST, M.Si selaku Kasatker Pelaksanaan Jalan Nasional Wilayah I Prov. Kepri yang telah mengizinkan penulis untuk Meneliti.
Penulis menyadari bahwa masih banyak kekurangan dari laporan ini dan masih jauh dari kesempurnaan, baik dari materi maupun teknik penyajiannya. Mengingat kurangnya pengetahuan dan pengalaman penulis, maka dengan rendah hati penulis mengharapkan adanya saran dan kritikan yang membangun dari semua pihak demi penyempurnaan laporan ini. Akhirnya tidak lupa penulis mengucapkan terimakasih kepada semua pihak yang telah membantu dalam menyelesaikan laporan ini, mudah-mudahan laporan ini dapat bermanfaat bagi pembaca.
Tanjungpinang,
September 2013
Penulis
ii
ABSTRAKS Skripsi ini merupakan laporan dari hasil analisa terhadap sistem yang sedang berjalan dan hasil perancangan yang baru di Kantor Pelaksanaan Jalan Nasional wilayah I Provinsi Kepulauan Riau. Secara umum penulis katakan bahwa dari sistem yang sedang berjalan pada kantor tersebut masih saja terdapat cara yang manual, baik pada tahap penginputan, informasi data pegawai beserta absensi masuk dan absensi pulang, pengecekan absensi masuk, absensi pulang dan laporan data pegawai dan gaji pegawai. Hal seperti ini akan jauh lebih mudah apabila semuanya menggunakan komputerisasi. Dimana segalanya akan jauh lebih mudah, cepat dan akurat, sehingga dapat memperkecil kemungkinan - kemungkinan yang bisa membuat data tidak tersimpan secara pasti, hilang atau pun terjadi kesalahan lainnya. Berdasarkan permasalahan yang ada penulis melakukan analisa dan membuat perancangan sistem baru untuk membuat antisipasi terhadap kelemahan – kelemahan yang sedang terjadi pada sistem yang sedang berjalan dan berusaha tidak menimbulkan permasalahan – permasalahan baru dikemudian hari. Aplikasi Absensi dan Gaji Honorer dengan berbasis program yang penulis ajukan telah memberikan jawaban terhadap permasalahan yang timbul pada sebelumnya. Dengan demikian sistem informasi ini akan memberikan hasil yang baik dalam pengolahan data yang dibutuhkan serta efektifitas pada sistem yang diterapkan. Software yang akan menjadi alat bantu dalam penelitian ini adalah dengan menggunakan Visual Basic 2006, Alat Barcode dan Microsoft Access 2007 sebagai basis datanya. Metodologi yang digunakan untuk pengembangan aplikasi ini ialah paradigma Waterfall (classic life cycle). Hasil dari pengembangan ini diharapkan dapat memberikan kontribusi yang bermanfaat dan berpotensi dalam bekerja sehingga menjadi lebih baik, cepat, akurat dan lebih efisien bagi karyawan yang menggunakannya. Kata Kunci : Absensi, Pegawai dan Barcode
iii
ABSTRACT This thesis is a report of the analysis of the current system and the new design results in the implementation of the Office of National Roads area I Riau Islands Province. In general, the authors say that the system is running in the office there is still a manual way, both at the stage of inputting, attendance information and its employee data entry and home attendance, attendance checking in, absentee home and report employee data and employee salaries. Things like this will be much easier if everything is computerized. Where everything will be much easier, faster and accurately, so as to minimize the possibility - the possibility of which can make sure the data is not stored, missing or other errors. Based on existing problems and make the authors analyze the design of a new system to make the anticipation of weakness - the weakness that is happening on the system is running and trying not to cause problems - new problems in the future. Honorary Attendance and Payroll application with which the authors proposed based program has provided an answer to the problems that arise in earlier. Thus the information system will give good results in the required data processing and the effectiveness of the implemented system. Software that will be an invaluable tool in this research is to use Visual Basic 2006, Barcode Tool and Microsoft Access 2007 as the database. The methodology used for the development of this application is the paradigm Waterfall (classic life cycle). Result of this development is expected to contribute a useful and potentially in the works to become better, faster, accurate and more efficient for employees who use them. Keywords: Attendance, Employee and Barcode
iv
DAFTAR ISI
Halaman HALAMAN JUDUL HALAMAN PENGESAHAN KATA PENGANTAR .......................................................................................
i
ABSTRAKS ........................................................................................................
iii
ABSTRACT .........................................................................................................
iv
DAFTAR ISI.......................................................................................................
v
DAFTAR GAMBAR..........................................................................................
x
DAFTAR TABEL .............................................................................................. xiii DAFTAR SIMBOL ERD .................................................................................. xiv DAFTAR SIMBOL DFD................................................................................... xv
BAB I PENDAHULUAN 1.1 Latar Belakang.. ............................................................................... 1 1.2 Identifikasi Masalah......................................................................... 2 1.3 Rumsan Masalah.............................................................................. 2 1.4 Batasan Masalah .............................................................................. 3 1.5 Tujuan dan Manfaat Penelitian ....................................................... 4 1.5.1 Tujuan..................................................................................... 4
v
1.5.2 Manfaat................................................................................... 4 1.6 Jadwal Penelitian ............................................................................ 5 1.7 Metode Penelitian ........................................................................... 6 1.7.1 Metodologi Pengumpulan Data. ........................................... 6 1.7.2. Metode Pengembangan Perangkat Lunak............................. 6 1.8 Sistematika Penulisan. ..................................................................... 8 BAB II LANDASAN TEORI 2.1 Pengertian Barcode.......................................................................... 10 2.2 Pengenalan Barcode......................................................................... 13 2.3 Jenis - Jenis Barcode........................................................................ 14 2.3.1 EAN ..................................................................................... 14 2.3.2 EAN-13 ................................................................................ 14 2.3.3 EAN-8 .................................................................................. 16 2.3.4 UPC (Universal Product Code) ........................................... 16 2.3.5 INTERLEAVED 2 of 5 ....................................................... 17 2.3.6 CODE 39.............................................................................. 17 2.3.7 CODABAR ........................................................................... 18 2.3.8 CODE 128............................................................................ 18 2.4 Cara Membaca Barcode................................................................... 19 2.5 Kategori Berdasarkan Kegunaan ..................................................... 20 2.6 Konfigurasi Barcode 39................................................................... 21 2.7 Konsep Perancangan........................................................................ 22 vi
2.8 Visual Basic ..................................................................................... 23 2.9 Pengenalan Microsoft Access .......................................................... 26 2.10 Crystal Report 8.5.......................................................................... 28 2.11 Windows XP ................................................................................... 29 2.12 Definisi Absensi............................................................................. 30 2.13 Sejarah Kementerian Pekerjaan Umum ........................................ 31 2.13.1 Hari Bakti Pengabdian Pekerjaan Umum ......................... 35 BAB III ANALISIS SISTEM 3.1 Analisis Sistem................................................................................. 37 3.2 Analisis Prosedur Berjalan............................................................... 38 3.2.1 Prosedur Absensi Masuk........................................................ 38 3.2.2 Prosedur Absensi Pulang ....................................................... 39 3.2.3 Prosedur Gaji ......................................................................... 39 3.3 Flow Map Yang Sedang Berjalan .................................................... 40 3.4 Analisa Kelemahan Sistem Berjalan................................................ 44 3.5 Analisis Kebutuhan Sistem .............................................................. 44 3.5.1 Kebutuhan Perangkat Keras.................................................. 44 3.5.2 Kebutuhan Perangkat Lunak (Software)............................... 45 3.5.3 Kebutuhan Informasi ............................................................ 46 3.5.4 Kebutuhan Pengguna ............................................................ 46 3.6 Spesifikasi Rancangan Program ...................................................... 46 3.6.1 Spesifikasi Rancangan Bentuk Masukan .............................. 46 vii
3.6.2 Spesifikasi Rancangan Bentuk Keluaran .............................. 47 BAB IV PERANCANGAN SISITEM 4.1 Tujuan Perancangan Perangkat Lunak............................................. 50 4.2 Symbol Barcode ............................................................................... 50 4.3 Analisis Kebutuhan Perangkat Lunak ............................................. 54 4.3.1 Analisa Data Base .................................................................. 54 4.3.2 Analisa Fungsional ................................................................ 55 4.3.3 Perancangan Alir Dokumen Absensi Masuk ......................... 55 4.3.4 Perancangan Alir Dokumen Absensi Keluar ......................... 56 4.3.5 Perancangan Alir Dokumen Gaji ........................................... 57 4.4 Diagram Konteks ............................................................................. 58 4.4.1 Diagaram Arus Data (Data Flow Diagaram (DFD)).............. 59 4.4.2 Data Flow Diagram (DFD) Level 0 ....................................... 59 4.4.3 Data Flow Diagram (DFD) Level 1 Proses 1......................... 60 4.4.4 Data Flow Diagram (DFD) Level 1 Proses 2......................... 61 4.4.5 Data Flow Diagram (DFD) Level 1 Proses 3......................... 62 4.4.6 Data Flow Diagram (DFD) Level 1 Proses 4......................... 62 4.5 Kamus Data...................................................................................... 63 4.6 Relasi Antar Data (ERD) dan Relasi Antar Tabel ........................... 65 4.7 Struktur File ..................................................................................... 66 4.7.1 Rancangan Struktur File ........................................................ 66 4.8 Perancangan Hirarki Program......................................................... 71 viii
4.8.1 Perancangan Hirarki Program................................................ 72 4.8.2 Perancangan Format Masukan (Input Design) ...................... 73 BAB V IMPLEMENTASI DAN PENGUJIAN 5.1 Lingkungan Implementasi Sistem...................................................... 78 5.2 Lingkungan Perangkat Keras ............................................................. 78 5.3 Lingkungan Perangkat Lunak ............................................................ 79 5.4 Hasil Implementasi ............................................................................ 79 5.4.1 Implementasi Basis Data........................................................ 79 5.4.2 Implementasi Antar Muka ..................................................... 81 5.5 Teknik Pemograman .......................................................................... 73 5.6 Pemograman ...................................................................................... 94 5.6.1 Uji Modul............................................................................... 94 5.6.2 Uji Pengembangan ................................................................. 95 5.6.3 Uji Operasional ...................................................................... 95 5.7 Pengujian Sistem................................................................................ 95 5.7.1 Pelaksanaan Pengujian........................................................... 96 BAB VI PENUTUP 6.1 Kesimpulan ........................................................................................ 99 6.2 Saran .................................................................................................. 100 DAFTAR PUSTAKA LAMPIRAN
ix
DAFTAR GAMBAR
Gambar 1.1 Model Spiral (Boehm (BOE88) ........................................................... 6 Gambar 2.1 Pattern karakter barcode 39…………………………………………... 22 Gambar 2.2 Tampilan Visual Basic 6.0 Beserta Komponennya ............................... 26 Gambar 2.3 Tampilan Crystal Report 8.5 Beserta Komponennya ............................ 29 Gambar 2.4 Kantor Departemen Pekerjaan Umum Pertama Kali ............................. 31 Gambar 2.5 Gambar 2.4 7 pemuda gugur/hilang....................................................... 33 Gambar 3.1 FlowMap Berjalan Absensi Masuk........................................................ 41 Gambar 3.2 FlowMap Berjalan Absensi Pulang........................................................ 42 Gambar 3.3 FlowMap Berjalan Gaji.......................................................................... 43 Gambar 4.1 Flowmap Usulan Absensi Masuk .......................................................... 55 Gambar 4.2 Flowmap Usulan Absensi Pulang .......................................................... 56 Gambar 4.3 Flowmap Usulan Dokumen Gaji............................................................ 57 Gambar 4.4 Diagram Konteks ................................................................................... 58 Gambar 4.5 Data Flow Diagram level 0 (DFD level 0) ............................................ 60 Gambar 4.6 Data Flow Diagram Level 1 Proses 1..................................................... 61 Gambar 4.7 Data Flow Diagram Level 1 Proses 2..................................................... 61 Gambar 4.8 Data Flow Diagram Level 1 Proses 3..................................................... 62 Gambar 4.9 Data Flow Diagram Level 1 Proses 4..................................................... 62 Gambar 4.10 Diagram Hubungan antar entitas (ERD).............................................. 66
x
Gambar 4.11 Rancangan Hirarki Program................................................................ 71 Gambar 4.12 Rancangan Struktur Menu .................................................................. 72 Gambar 4.13 Rancangan Form Login........................................................................ 73 Gambar 4.14 Rancangan Form Menu Utama ............................................................ 74 Gambar 4.15 Rancangan Form Data Pegawai ........................................................... 74 Gambar 4.16 Rancangan Form Golongan ................................................................. 75 Gambar 4.17 Rancangan Form Jabatan ..................................................................... 75 Gambar 4.18 Rancangan Form Ubah Password........................................................ 76 Gambar 4.19 Rancangan Form Absen Masuk........................................................... 76 Gambar 4.20 Rancangan Form Absen Pulang........................................................... 77 Gambar 5.1 Tampilan Form Login ............................................................................ 83 Gambar 5.2 Tampilan Form Menu Utama ............................................................... 84 Gambar 5.3 Tampilan Form Data Pegawai ............................................................... 85 Gambar 5.4 Tampilan Form Tabel Golongan............................................................ 86 Gambar 5.5 Tampilan Form table Jabatan ................................................................ 86 Gambar 5.6 Tampilan Form Tabel Penandatanganan ............................................... 87 Gambar 5.7 Tampilan Form ubah password ............................................................. 88 Gambar 5.8 Tampilan Form Absensi Masuk............................................................. 88 Gambar 5.9 Tampilan Form Absensi Pulang ............................................................ 89 Gambar 5.10 Tampilan Form Koreksi Absensi ......................................................... 90 Gambar 5.11 Tampilan Form laporan Absensi.......................................................... 90 Gambar 5.12 Tampilan Laporan Absensi .................................................................. 91 xi
Gambar 5.13 Tampilan Form laporan data pegawai ................................................. 91 Gambar 5.14 Tampilan Form Amprah Gaji .............................................................. 92 Gambar 5.15 Tampilan Laporan Amprah gaji.......................................................... 92
xii
DAFTAR TABEL
Tabel 1.1 Estimasi Penelitian..................................................................................... 5 Tabel 3.1 Spesifikasi Komputer yang dipakai ........................................................... 45 Tabel 4.1 Karakter ASCII Code 39 ............................................................................ 52 Tabel 4.2 Kamus Data................................................................................................ 63 Tabel 4.3 Struktur File Absensi Masuk ..................................................................... 67 Tabel 4.4 Struktur File Absensi Pulang..................................................................... 68 Tabel 4.5 Struktur File Data pegawai ........................................................................ 68 Tabel 4.6 Struktur File Koreksi Absensi ................................................................... 69 Tabel 4.7 Struktur File Golongan ............................................................................. 70 Tabel 4.8 Struktur File Jabatan ................................................................................. 70 Tabel 5.1 Hasil Implementasi Basis Data .................................................................. 80 Tabel 5.2 Form Antar Muka ...................................................................................... 81 Tabel. 5.3 Pengujian Login ....................................................................................... 97 Tabel. 5.4 Pengujian Input Data Pegawai................................................................. 97 Tabel. 5.5 Pengujian Input Tabel Golongan.............................................................. 98
xiii
DAFTAR SIMBOL DIAGRAM ERD
xiv
DAFTAR SIMBOL DIAGRAM ARUS DATA
xv
DAFTAR SIMBOL DATA FLOW DIAGRAM
xvi
BAB I PENDAHULUAN
1.1
Latar belakang Perkembangan teknologi merupakan kemajuan dari abad globalisasi,
dimana ilmu pengetahuan dan teknologi (IPTEK) sangat di andalkan oleh masyarakat dunia dalam bidang apapun saat ini. Hal ini di sebabkan oleh semakin berkembangnya pemikiran manusia tentang teknologi sehingga manusia mampu menciptakan inovasi teknologi seperti sekarang ini yang berguna membantu manusia guna mempermudah dalam mengatasi masalah yang berkaitan dengan ilmu pengetahuan dan teknologi. Laju perkembangan teknologi komputer sebagai sarana pengolah data dan informasi yang hampir dipergunakan diseluruh bidang, menjadikan informasi dan pengolahan data sebagai bagian dari organisasi yang serba cepat dan tepat serta mempunyai penyimpanan data yang didukung keamanan data yang terjamin dengan sistem komputerisasi yang efisien sehingga menghasilkan sebuah data informasi yang cepat dan akurat. Tanpa kita sadari barcode sudah sering kita jumpai pada kegiatan seharihari mulai buku, SIM, tiket pesawat, obat-obatan, pakaian bahkan kartu pelajar. Pada awalnya barcode hanya digunakan pada pengolahan data otomatis pada pasar-pasar swalayan akan tetapi pada perkembangannya barcode juga sudah banyak digunakan untuk kartu identitas, kartu kredit, maupun sistem pemeriksaan
1
2
otomatis pada perpustakaan. Dan masih banyak jenis kegiatan lainnya yang menggunakan teknologi barcode. Mengingat pengolahan data yang diterapkan pada Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau masih dilakukan secara manual, maka untuk mengolah data lebih lanjut, komputerisasi dalam pengolahan data absensi dan gaji pegawai honorer sangatlah diperlukan. Dengan mengacu pada uraian di atas, maka penulis mengambil judul “PERANCANGAN ABSENSI DENGAN BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI)”.
1.2
Identifikasi Masalah Dalam penelitian dan pencapaian sistem informasi ini, penulis membagi
masalah yang ada menjadi beberapa sub masalah, antara lain : 1. Pencatatan data pegawai honorer yang ada masih bersifat manual. 2. Pencatatan absensi baik absensi masuk maupun absensi pulang pegawai honorer yang ada masih bersifat manual dan kurang efektif. 3. Pembuatan laporan gaji bergantung kepada absensi masuk dan absensi pulang masih tidak efisien.
1.3
Rumusan Masalah Berdasarkan latar belakang diatas maka permasalahan yang dihadapi yaitu:
3
1. Bagaimana mengimplementasikan absensi barcode dan pembuatan laporan gaji pegawai honorer menggunakan Visual Basic 6.0. 2. Bagaimana merancang aplikasi sistem informasi absensi barcode dan gaji pegawai honorer pada Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau. 3. Bagaimana merancang database sistem informasi absensi barcode dan gaji pegawai honorer pada Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau.
1.4
Batasan Masalah Agar proses penelitian dan perancangan perangkat lunak ini lebih terarah
maka penulis membatasi sub bahasannya sebagai berikut : 1. Perancangan program menggunakan Microsoft Visual Basic 6.0 dan Alat Barcode Seri GTS310 yang dihubungkan ke laptop ataupun komputer pengguna. 2. Pembuatan Database dengan Microsoft Access 2007. 3. Hanya membahas masalah data pegawai, absensi dan gaji pegawai honorer. 4. Perhitungan gaji berdasarkan absensi masuk. 5. Pelaksanaan Koreksi absen dilakukan jika ada pegawai honorer yang tidak masuk karena alasan sakit,izin dan dinas luar. 6. Aplikasi ini hanya bisa digunakan pada Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau.
4
1.5
Tujuan dan Manfaat 1.5.1 Tujuan Adapun tujuan pembuatan implementasi absensi barcode dan gaji pegawai honorer menggunakan visual basic 6.0 adalah : a. Mempermudah absensi dan gaji pegawai honorer. b. Merancang database absensi barcode dan gaji pegawai honorer yang akan mempermudah Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau. c. Merancang aplikasi absensi barcode dan gaji pegawai honorer dengan menggunakan bahasa pemograman visual basic 6.0 dengan database Microsoft Acess 2007. 1.5.2 Manfaat Dari tujuan di atas, maka manfaat yang diperoleh dari skripsi ini adalah : a. Dapat menjawab masalah yang terdapat pada sistem sebelumnya, dimana sistem tersebut masih menggunakan manual dan belum memiliki aplikasi absensi barcode dan gaji pegawai honorer secara akurat. b. Memudahkan kantor melakukan monitoring dan mengetahui informasi Pegawai yang melakukan absensi.
5
1.6
Jadwal Penelitian Adapun jadwal yang akan dilaksankan oleh penulis
untuk meneliti
masalah – masalah dalam Implementasi absensi barcode dan gaji pegawai honorer yang ada di Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau akan dilaksanakan pada bulan Februari 2013 sampai dengan Juni 2013 diluar jam perkuliahan. Adapun jadwal penelitian yang akan penulis laksanakan bisa dilihat gambar Tabel dibawah ini.
Tabel 1.1 Estimasi Penelitian
JadwalPenelitian No.
Tahapan
Februari2013 Maret2013
Apr-13
Mei2013
Juni2013
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Observasi 2 Interview 3 PengumpulanData 4 AnalisisKebutuhanSistem 5 PenyusunanLaporan 6 PembuatanLaporan 7 ImplementasiAplikasi
6
1.7
Metodelogi Penelitian Metodologi penelitian adalah suatu proses yang digunakan untuk
menyelesaikan suatu masalah secara logis, dimana diperlukannya data-data untuk mendukung kelancaran suatu penelitian. Metodologi ini akan dijelaskan dalam bentuk metode pengumpulan data dan metode pengembangan sistem. 1.7.1 Metode Pengumpulan Data Metode yang digunakan dalam pengumpulan data untuk membuat laporan Skripsi ini antara lain : a. Observasi, yaitu dengan cara melakukan pengamatan langsung dan memperhatikan serta meneliti proses pekerjaannya b. Wawancara, yaitu melakukan tanya jawab langsung kepada pihak yang berkepentingan. c. Riset perpustakaan, yaitu dilakukan dengan cara membaca buku-buku yang ada di perpustakaan dan sumber lain yang berhubungan dengan objek permasalahan yang dibahas. 1.7.2 Metode Pengembangan Perangkat Lunak Metode pengembangan perangkat lunak yang digunakan adalah metode Spiral yang terdiri dari beberapa tahap kegiatan yaitu:
7
Gambar 1.1 Model Spiral (Boehm (BOE88))1 Keterangan : 1. Komunikasi
pelanggan,
tugas-tugas
yang
dibutuhkan
untuk
membangun komunikasi yang efektif diantara pengembang dan pelanggan. 2. Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan. 3. Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resikoresiko, baik manajemen maupun teknis. 4. Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
1
http://kuliahku-kampusku.blogspot.com/2013/05/metode-pengembangan-perangkatlunak_21.html (pada tanggal 28 September 2013)
8
5. Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi) 6. Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.
1.8
Sistematika penulisan Agar hasil penelitian ini dapat digunakan semaksimal mugkin, maka
secara garis besar kami menyajikan laporan ini dalam 6 (enam) bab, dimana isi dari tiap babnya adalah sebagai berikut : BAB I Pendahuluan Bab ini menjelaskan latar belakang masalah, identifikasi masalah, batasan masalah, maksud dan tujuan, waktu dan tempat metologi penelitian dan metode pengembangan sistem. BAB II Landasan Teori Bab ini menjelaskan tentang pengertian atau teori-teori yang digunakan sebagai penjelasan dari permasalahan yang dibahas.
9
BAB III Analisis Sistem Bab ini menjelaskan tentang gambaran umum kantor yang bersangkutan, struktur organisasi kantor, analisis system yang sedang berjalan di dalam pengolahan data proyek. Di sini di tuliskan juga tentang pembangunan perangkat lunak sesuai dengan metodologi pengembangan yang di pakai serta menjelaskan dan menyajikan kesimpulan analisis dengan hasil berupa diagram analisis yaitu Flowmap. BAB IV Perancangan Sistem Bab ini akan menjelaskan tentang alur dokumen (Flowmap), Data Flow Diagram (DFD), Entity Relationship Diagram (ERD) Perancangan Database, perancangan spesifikasi rinci yang terdiri atas struktur program, struktur menu, format masukan dan format keluaran. BAB V Implementasi Sistem Bab ini berisi tentang pemilihan bahasa program, kebutuhan alat dan spesifikasi perangkat keras dan fasilitas program. BAB VI Kesimpulan dan Saran Bab ini merupakan bab penutup tentang kesimpulan dari seluruh laporan dan saran dari penulis
BAB II LANDASAN TEORI
2.1
Pengertian Barcode Barcode pertama kali ditemukan oleh Bernard Silver dan Norman Joseph
Woodland di tahun 1948 dan mendaftarkan hak paten tahun 19491. .Ada banyak definisi barcode diantaranya: “Barcode secara harfiah berarti kode berbentuk garis. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 1).” Sebagai kumpulan kode yang berbentuk garis, dimana masing-masing ketebalan setiap garis berbeda sesuai dengan isi kodenya (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 1). Informasi terbacakan mesin (nachine readable) dalam format visual yang tercetak. Umumnya barcode berbentuk garis-garis vertical tipis tebal yang terpisah oleh jarak tertentu. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 2) sejenis kode yang mewakili data atau informasi tertentu, biasanya jenis dan harga barang, seperti , seperti makanan dan buku. Kode berbentuk batangan balok dan
1
Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 1
10
11
berwarna hitam putih ini mengandung satu kumpulan kombinasi batang yang berlainan ukuran yang disusun sedemikian rupa kode ini dicetak diatas stiker atau di kotak pembungkus barang2. Sebuah kode batang (atau barcode) adalah suatu kumpulan data optik yang dibaca mesin.Sebenarnya, kode batang ini mengumpulkan data dalam lebar (garis) dan spasi garis paralel dan dapat disebut sebagai kode batang atau simbologi linear atau 1D (1 dimensi). Tetapi juga memiliki bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi). Selain tak ada garis, sistem 2D sering juga disebut sebagai kode batang. Walaupun ada beragam simbol dan penggunaan tetapi semua tujuan yang sama yaitu mengencode string karakter sebagai garis batang atau spasi3. Ada beberapa manfaat yang diambil dari barcode diantaranya : a.
Akurasi Meningkatkan akurasi dengan mengurangi kesalahan manusia dari pemasukan data secara manual item yang salah baca atau salah label.
b.
Kemudahan Pemakaian Barcode mudah digunakan. Dengan hardware dan software yang tepat bisa memaksimalkan proses otomatisasi pengumpulan data. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 2).
2 3
Ibid hal 11 Yudha Yudhanto, S.Kom,2003, Sejarah Barcode,hal 3
12
c.
Keseragaman Pengumpulan Data Beragam
standar
pemenuhan
dan
simbologi
barcode
yang
terstandarisasi menjamin informasi diterima dan disampaikan dengan cara benar sehingga bisa diterima dan dipahami secara umum4. d.
Feedback yang Tepat Waktu Barcode menawarkan feedback yang tepat waktu. Begitu muncul data
bisa
diterima
dengan
cepat
sehingga
memungkinkan
pengambilan keputusan yang cepat berdasarkan informasi terbaru. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 2). e.
Keamanan Pada bisnis retail seperti supermarket, banyak pembeli nakal yang menukar harga label harga dengan label yang lebih murah. Kesalahan yang sama bisa terjadi pada saat menempel (Jaja Janaludin
Malik,
Rachmadi
Wijaya,
Ridho
Taufiq
S,2010,
Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 3). label maupun pada saat kasir menghitung total belanja. Dengan menggunakan barcode hal itu bisa ditekan. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 3).
4
Ibid Hal 11
13
f.
Meningkatkan Produktivitas Barcode membuat aktivitas operasional dalam bisnis menjadi singkat5.
g.
Meningkatkan Profit Peningkatan efisiensi yang diberikan barcode memungkinkan
perusahaan menghemat biaya sehingga profit bisnisnya jadi meningkat. (Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 3).
2.2
Pengenalan Barcode Mungkin tanpa disadari setiap hari kita akan menemui barcode, misalnya
pada produk makanan, obat, barang konsumen yang kita miliki, tiket pesawat, kartu mahasiswa, bahkan sampai di sampul surat yang kita terima (biasanya dari luar negeri) pun kita temui barcode, oleh karenanya artikel ini akan mengulas apa dan bagaimana barcode itu. Barcode pada dasarnya adalah susunan garis vertical hitam dan putih dengan ketebalan yang berbeda, sangat sederhana tetapi sangat berguna, dengan kegunaan untuk menyimpan data-data spesifik misalnya kode produksi, tanggal kadaluwarsa, nomor identitas dengan mudah dan murah, walaupun teknologi semacam itu terus berkembang dengan ditemukannya media magnetic, rfid, electronics tags, serial eeprom (seperti pada smart card), barcode terus bertahan
5
Ibid Hal 12
14
dan masih memiliki kelebihan-kelebihan tertentu yaitu ,yang paling utama, murah dan mudah, sebab media yang digunakan adalah kertas dan tinta, sedangkan untuk membaca barcode ada begitu banyak pilihan di pasaran dengan harga yang relatif murah mulai dari yang berbentuk pena (wand), slot, scanner, sampai ke CCD dan bahkan kita dapat membuatnya sendiri
2.3
Jenis - Jenis Barcode Dari banyak jenis barcode yang berbeda-beda, hanya 6 yang umum
digunakan antara lain: EAN, UPC, Interleaved 2 of 5 (ITF), Code39, Codabar, dan Code128. 2.3.1 EAN EAN adalah singkatan dari European Article Number. Ada dua tipe utama barcode EAN: EAN 13 yang menampilkan angka tiga belas digit dan EAN 8 yang mengkodekan delapan digit. Dalam system ini digunakan kata digit dan bukan karakter. Tidak ada karakter Alphabet yang diperkenankan dalam kode ini. 2.3.2 EAN-13 Kode EAN-13 membagi kelompok dalam empat bagian, tiga angka untuk kelompok pertama, 4 angka untuk kelompok kedua, dan 5 angka untuk kelompok ketiga serta satu angka untuk kelompok keempat. Tiga digit pertama mewakili Negara dimana barcode dikeluarkan, masing-
15
masing Negara berbeda angka (nomor kodenya). Nomor 899 diberikan untuk Indonesia. Tidak ada Negara lain di dunia yang akan memakai angka 899 kecuali Indonesia, angka ini biasanya dikenal sebagai FLAG sehingga tidak mungkin ada nomor yang dikeluarkan di dua Negara terpisah dengan nomor yang sama. Hal ini diatur oleh lembaga EAN International,
atau
pada
saat
ini
di
sebut
lembaga
GS1.
Keempat digit kode berikutnya adalah untuk perusahaan pengguna (manufactur number). Jika perusahaan disebut “ABC” diterbitkan dengan nomor perusahaan “5522”, semua hal yang ditandainya harus mempunyai barcode yang dimulai dengan tujuh angka “8995522”. Karena tidak ada perusahaan Indonesia lainnya yang akan diterbitkan dengan nomor “5522”, maka hal ini tidak akan ada angka duplikasi. Susunan lima digit berikutnya mewakili kode produk dan dialokasikan oleh perusahaan untuk produk-produk unik. Perusahaan harus secara mutlak memastikan bahwa mereka tidak pernah menerbitkan nomor yang sama dua kali. Jika produk diganti dengan cara apapun juga, sekecil apapun jumlahnya (sekalipun sedikit mengganti kemasan dengan menambahkan kata ekstra “NEW FORMULA”), nomor lima digit barus harus dialokasikan. Dalam rencana produk pertama “ABC”, dengan nomor barcode “00001”, maka akan mempunyai nomor barcode 899552200001”. Untuk melengkapi kode EAN 13 (13 digit), sebuah CHECK DIGIT tercantum pada angka terakhir sesudah 12 digit terpasang. Check digit disusun secara aritmatik dari dua belas digit pertama. Sebuah perangkat
16
lunak desain (barcode) secara otomatis akan dapat menghasilkan (menghitung) check digit ini. Check digit digunakan oleh barcode reader (alat baca barcode) untuk memastikan agar dibaca secara akurat. Reader (alat baca barcode) akan membaca keseluruh tiga belas digit dari kanan ke kiri (sebaliknya), menyusun dari keduabelas pertama angka berapa yang seharusnya menjadi digit ketigabelas dan jika hitungan ini benar, maka reader akan menganggap bahwa keseluruhan kode telah dibaca dengan benar. 2.3.3 EAN-8 Barcode EAN 8 dibuat dengan cara serupa dengan EAN 13. Ketiga digit pertama merupakan Flag, yang diikuti oleh empat digit Pengenal Singkat (Short Identifier) berikutnya. Pengenal ini terdiri dari dua digit nomor perusahaan dan dua angka lainnya untuk produk yang unik. Digit terakhir juga merupakan check digit. 2.3.4 UPC (Universal Product Code) UPC diciptakan oleh Amerika Serikat yang mewakili Kode Produk Universal (Universal Product Code) dan setara dengan European Article Number, EAN. Kode-kode UPC mudah dilihat mata yang tak terlatih yang hampir tepat sama dengan kode-kode EAN, tetapi hanya akan mengkodekan dua belas digit (UPC-A) dan delapan digit (UPC-E).
17
2.3.5 INTERLEAVED 2 of 5 Tipe barcode lainnya adalah yang dikenal dengan nama Interleaved 2 of 5 atau ITF, seperti EAN, maka kode ini merupakan simbologi yang hanya terdiri dari angka-angka tetapi panjangnya dapat berubah-ubah. Satu-satunya factor pembatas untuk panjang kode ITF adalah kemampuan alat baca yang akan digunakan untuk membaca kode tersebut dan juga bahwa ITF harus memiliki jumlah digit genap. ITF digunakan untuk aplikasi industri dimana kode angka saja sudah mencukupi dan juga digunakan dalam lingkungan penjualan eceran untuk menandai BUNGKUS LUAR. ITF juga digunakan oleh pedagang eceran perhiasan, sepatu, garmen/pakaian dll, karena karakter panjangnya yang dapat diubah-ubah. 2.3.6 CODE 39 Code 39 yang juga dikenal sebagai code 3 of 9, merupakan kode pertama berupa Alpha Numeric (huruf dan angka). Kode tersebut dapat membaca seluruh huruf besar abjad dan karakter angka serta karakter tambahan seperti -$ / + % * dan spasi. Huruf kecil tidak dapat dikodekan. Code 39 juga dimulai dan diakhiri dengan tanda bintang (*) yang dikenal sebagai kartakter start/stop dan hanya boleh digunakan pada awal dan akhir kode. ebuah karakter tambahan (dilambangkan '*') digunakan untuk awal dan pembatas berhenti. Setiap karakter terdiri dari sembilan elemen: lima bar dan empat spasi. Tiga dari sembilan elemen dalam masing-
18
masing karakter lebar (nilai biner 1), dan enam elemen yang sempit (nilai biner 0). Rasio lebar antara sempit dan luas dapat dipilih 1:02-1:03. Kode 39 ini dikembangkan oleh Dr David Allais dan Ray Stevens dari Intermec pada tahun 1974. 2.3.7 CODABAR Barcode lain yang umumnya digunakan adalah simbologi CODABAR, seperti Code 39 tetapi hanya angka-angka dan $ – / + saja yang dapat dikodekan. Karakter alpha tidak dapat dikodekan. Codabar juga menggunakan karakter start/stop, yaitu A, B, C dan D dan dapat digunakan sembarang kombinasi: satu untuk memulai kode dan satu untuk mengakhirinya. Dewasa ini simbologi ini sudah jarang digunakan. 2.3.8 CODE 128 Code
128
merupakan
symbol
barcode
yang
namanya
mendefinisikan kemampuannya untuk mengkodekan seluruh karakter ASCII 128. Simbol ini juga terkenal karena kemampuannya mengkodekan karakter-karakter tersebut dengan menggunakan unsur kode per-karakter yang lebih sedikit sehingga menghasilkan kode yang lebih padat. Kode ini memiliki ciri khusus berupa karakter start dan stop yang unik untuk pengkodean dua arah dan panjangnya dapat diubah-ubah, baik paritas karakter bar maupun spasinya dan sebuah cek character untuk integritas symbol.
19
2.4
Cara Membaca Barcode Berikut ini cara-cara untuk membaca Barcode : 1. Barcode terdiri dari garis hitam dam putih. Ruang putih di antara garis garis hitam adalah bagian dari kode. 2. Ada perbedaan ketebalan garis. Garis paling tipis = “1”, yang sedang = “2”, yang lebih tebal = “3”, dan yang paling tebal = “4”. 3. Setiap digit angka terbentuk dari urutan empat angka. 0 = 3211, 1 = 2221, 2 = 2122, 3 = 1411, 4 = 1132, 5 = 1231, 6 = 1114, 7 = 1312, 8 = 1213, 9 = 3112 Standar barcode retail di Eropa dan seluruh dunia kecuali Amerika dan Kanada adalah EAN (European Article Number) – 13. EAN-13 standar terdiri 13 digit, dengan pembagian digitnya : 3.1 Kode negara atau kode sistem: 3 digit pertama barcode menunjukkan negara di mana manufacturer terdaftar 3.2 Manufacturer Code: Ini adalah 5 digit kode yang diberikan pada manufacturer dari wewenang penomoran EAN 3.3 Product Code: 5 digit setelah manufacturer code. Nomor ini diberikan manufacturer untuk merepresentasikan suatu produk yang spesifik 3.4 Check Digit atau Checksum: Digit terakhir dari barcode, digunakan untuk verifikasi bahwa barcode telah dipindai dengan benar
20
2.5
Kategori Berdasarkan Kegunaan Terdapat 6 kategori barcode berdasarkan kegunaannya, yaitu: a. Barcode untuk keperluan retail. Barcode untuk keperluan retail, salah satu contohnya UPC (Universal Price Codes), biasanya digunakan untuk keperluan produk yang dijual di supermarket. b. Barcode untuk keperluan packaging. Barcode untuk packaging biasanya digunakan untuk pengiriman barang, dan salah satunya adalah barcode tipe ITF. c. Barcode untuk penerbitan. Barcode untuk keperluan penerbitan, sering digunakan pada penerbitan suatu produk, misalkan barcode yang menunjukkan ISSN suatu buku. d. Barcode untuk keperluan farmasi. Barcode untuk keperluan farmasi biasanya digunakan untuk identifikasi suatu produk obat-obatan. Salah satu barcode farmasi adalah barcode jenis HIBC. e. Barcode untuk keperluan non retail. Barcode untuk kepentingan non retail, misalkan barcode untuk pelabelan buku-buku yang ada di perpustakaan. Salah satu tipe barcode untuk keperluan non retail ini adalah Code 39. f. Barcode untuk keperluan lain.
Teknologi yang digunakan penulis adalah teknologi laser yang menggunakan 2 dioda berkekuatan 650 ms .setara dengan pointer laser pada proses presentasi Type code 39. Code 39 adalah sebuah barcode alphanumeric
21
(Full ASCII) untuk inventory, asset tracking dan type pengenal identitas. code 39 dapat mengkodekan karakter alfanumerik, yaitu angka decimal dan huruf capital serta tambahan karakter special -, ., *, $, /, %, +, satu karakter dalam code 39 terdiri dari 9 elemen yaitu 5 bar (garis vertical Hitam) dan 4 spasi (Garis Verikal Putih). Yang disusun bergantian antara bar dan spasi. Tiga dari elemen tersebut lebih tebal dari yang lain.tiga dari 9 elemen tersebut lebih tebal dari yang lain. Tiga elemen yang lebih tebal tersebut terdiri dari 2 bar dan 1 spasi. Type code 39 dipilih karena menurut penulis lebih cocok untuk aplikasi ini. Kelebihan type code 39 : a. Bisa membaca huruf dan angka serta tambahan karakter special -, ., *, $, /, %, +, b. Lebih mudah penggunaannya dibandingkan yang lainnya c. Lebih
cocok
digunakan
dalam
pembacaan
barcode
yang
akan
diimplementasikan penulis dalam tugas akhir ini d. Type 39 memiliki perbandingan lebar bar 3:1. Perbandingan ini lebih mudah di scan dibandingkan dengan perbandingan yang lain.
2.6
Konfigurasi Barcode 39 Sebagai contoh pemetaan karakter dengan pola bar yang ditampilkan
seperti pada Gambar 2.1 merupakan sebagian dari bentuk konversi dari nilai karakter ke dalam bentuk pattern yang disusun atas image hitam dan putih sesuai dengan standardisasi pengkodeannya. Sehingga apabila direpresentasikan dalam
22
bentuk kesatuan kode dapat terbaca oleh mesin scanner
yang akan
menerjemahkan ulang arti kode yang tercantum.
Gambar 2.1 Pattern karakter barcode 39
2.7
Konsep Perancangan Konsep perancangan diperlukan sebagai penuntun bagi desain komponen
program yang akan mengimplimentasikan program. Adapun tahapan-tahapan dalam perancangan program antara lain : a. Perancangan program Database yang merupakan pekerjaan penting dalam pengembangan system komputerisasi dalam pengembangan system komputerisasi guna mendapatkan susunan data (table) yang
23
efektif dan efisien. Dengan dua cara yaitu ERD (entity Relationship Diagram atau Normalisasi data. b. Pembuatan Alur Program, dalam struktur alur program akan dibuat struktur relasi antar tabel. c. Desain Form, yaitu aktivitas desain program dan penulisan listing program.
2.8
Visual Basic Visual Basic adalah salah satu bahasa pemograman untuk membuat
program aplikasi dalam lingkungan windows. Visual Basic yang sering di singkat dengan VB merupakan bahasa pemograman yang banyak di gunakan oleh programmer pemula maupun professional dewasa ini. Dalam mengembangkan aplikasi VB menggunakan pendekatan visual (GUI-Graphical User Interface) untuk merancang antar muka (Interface). Dalam buku yang ditulis oleh Isroi dan Arief Ramdhan juga menjelaskan Visual Basic adalah bahasa pemograman yang di keluarkan oleh Microsoft. VB digunakan untuk membangun program aplikasi yang memiliki tampilan seperti program aplikasi lainnya yang berbasis MS Windows. Visual Basic
digunakan
dalam
Programming
karena
memiliki
keunggulan-keunggulan sebagai berikut: a. Pemograman berbasis visual atau grafik (GUI) Sehingga pembuatan program aplikasi menjadi lebih mudah dan nyaman.
24
b. Pembuatan dan penempatan antar muka (Interface) hanya dengan membangun objek dilayar monitor, tanpa harus menuliskan kode program yang panjang dan rumit. c. Visual Basic menyediakan perangkat yang dapat digunakan untuk membuat program aplikasi baik aplikasi kecil dan sederhana untuk sistem interface yang besar dan rumit atau bahkan aplikasi yang dijalankan melalui internet.
Microsoft Visual Basic 6.0 menyediakan berbagai perangkat kontrol yang dapat digunakan untuk membuat program aplikasi dalam sebuah form baik aplikasi kecil, sederhana hingga keaplikasi pengolahan database. 1.
Komponen-komponen Microsoft Visual Basic Dalam Microsoft Visual Basic 6.0 ada beberapa istilah dan komponen
yang dipakai dalam membuat program aplikasi, diantaranya sebagai berikut : a.
Project
Merupakan jendela yang digunakan untuk menampilkan proyekproyek, form-form, atau modul-modul yang terlibat dalam proses pembuatan aplikasi.
25
b.
Form
Merupakan tempat yang digunakan untuk merancang aplikasi yang sedang dibuat. Didalam form dapat merancang sebuah aplikasi dengan menempatkan kontrol-kontrol yang ada dibagian toolbox. c.
Jendela (Properties)
Merupakan jendela yang digunakan untuk menampilkan dan mengubah properti-properti yang dimiliki oleh sebuah objek. d.
Judul (Title Bar)
Berfungsi untuk menunjukkan nama proyek yang sedang aktif. e. Menu (Menu Bar) Merupakan batang menu yang berisi menu-menu utama, seperti File, Edit,
View,
Project,
dan
lain-lain
yang
berfungsi
untuk
mengoperasikan program Visual Basic 6.0. f.
Tool (Main Toolbar)
Merupakan sebuah batang tool yang berisi tombol-tombol dengan gambar ikon yang dapat diklik untuk melakukan suatu perintah khusus secara tepat. g.
Kotak perangkat (Toolbox)
Merupakan kotak perangkat yang terdiri atas beberapa class objek yang digunakan dalam proses pembuatan aplikasi.
26
h.
Jendela Form Layout
Merupakan jendela yang digunakan untuk mengatur posisi form pada layar monitor saat program dijalankan.
Gambar 2.2 Tampilan Visual Basic 6.0 Beserta Komponennya
2.9
Pengenalan Microsoft Access Microsoft Office Access adalah sebuah program aplikasi basis data
komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang memudahkan pengguna. Microsoft Access dapat menggunakan data yang disimpan di dalam format
27
Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer
yang
mahir
dapat
menggunakannya
untuk
mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik pemograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemograman berorientasi objek. Microsoft merilis Microsoft Access 1.0 pada bulan November 1992 dan dilanjutkan dengan merilis versi 2.0 pada tahun 1993. Microsoft menentukan spesifikasi minimum untuk menjalankan Microsoft Access 2.0 adalah sebuah komputer dengan sistem operasi Microsoft Windows 3.0, RAM berkapasitas 4 megabyte (6 megabyte lebih disarankan) dan ruangan kosong hard disk yang dibutuhkan 8 megabyte (14 megabyte lebih disarankan). Versi 2.0 dari Microsoft Access ini datang dengan tujuh buah disket floppy 3½ inci berukuran 1.44 megabyte. Perangkat lunak tersebut bekerja dengan sangat baik pada sebuah basis data dengan banyak record tapi terdapat beberapa kasus di mana data mengalami kerusakan. Sebagai contoh, pada ukuran basis data melebihi 700 megabyte sering mengalami masalah seperti ini (pada saat itu, memang hard disk yang beredar masih berada di bawah 700 megabyte). Buku manual yang dibawanya memperingatkan bahwa beberapa kasus tersebut disebabkan oleh driver perangkat yang kuno atau konfigurasi yang tidak benar.
28
Nama kode (codename) yang digunakan oleh Access pertama kali adalah Cirrus yang dikembangkan sebelum Microsoft mengembangkan Microsoft Visual Basic, sementara mesin pembuat form antar muka yang digunakannya dinamakan dengan Ruby. Bill Gates melihat purwarupa (prototype) tersebut dan memutuskan bahwa komponen bahasa pemograman BASIC harus dikembangkan secara bersama-sama sebagai sebuah aplikasi terpisah tapi dapat diperluas. Proyek ini dinamakan dengan Thunder. Kedua proyek tersebut dikembangkan secara terpisah, dan mesin pembuat form yang digunakan oleh keduanya tidak saling cocok satu sama lainnya. Hal tersebut berakhir saat Microsoft merilis Visual Basic for Applications (VBA).
2.10
Crystal Report 8.5 Crystal Reports 8.5 adalah aplikasi bisnis intelijen yang digunakan untuk
merancang dan menghasilkan laporan dari berbagai sumber data. Beberapa aplikasi lainnya, seperti Microsoft Visual Studio, bundel versi OEM dari Crystal Reports sebagai alat pelaporan tujuan umum. Crystal Reports memungkinkan pengguna untuk desain grafis dan tata letak sambungan data laporan. Dalam Ahli Database, pengguna dapat memilih dan link tabel dari berbagai sumber data, termasuk spreadsheet Microsoft Excel, database Oracle, Obyek Usaha pandangan bisnis, dan informasi file sistem lokal. Field dari tabel ini dapat ditempatkan pada permukaan desain laporan, dan juga dapat digunakan dalam formula adat, baik menggunakan DASAR atau sintaks Crystal sendiri, yang kemudian ditempatkan
29
pada permukaan desain. Rumus dapat dievaluasi pada beberapa tahap selama pembuatan laporan sebagaimana ditentukan oleh pengembang.
Gambar 2.3 Tampilan Crystal Report 8.5 Beserta Komponennya
2.11
Windows XP Windows XP atau Windows 5.1 build 2600 adalah sebuah versi sistem
operasi Windows yang diluncurkan oleh Microsoft Corporation pada tanggal 25 Oktober 2001 di Amerika Serikat. Sebelumnya, Microsoft telah meluncurkan Windows versi 5.0 atau yang dikenal dengan Windows 2000, baik itu edisi server maupun edisi profesional (untuk desktop kantoran). Namun pada kenyataannya sebagian
besar
pengguna
menggunakan
Windows
XP
Professional.
Nama XP sendiri, menurut Microsoft merupakan singkatan dari kata Experience,
30
yang artinya Windows XP membawa pengalaman baru dalam dunia komputasi, atau setidaknya begitulah yang diharapkan oleh Microsoft. Perubahan user interface dan tatacara penggunaan memang sangat revolusioner, seperti yang terjadi dari DOS ke Windows 3.0, dan dari Windows 3.1 ke Windows 95. Windows XP sendiri berbasis pada Windows NT dan termasuk pada keluarga NT. Yang termasuk dalam keluarga NT adalah Windows 2000 Server dan Windows Server 2003, Windows 2000 & 2003. Keluarga NT, terutama yang server, memiliki kemampuan yang baik untuk menjadi sebuah server. Windows XP muncul dalam banyak jenis:
2.12
1.
Windows XP Professional
2.
Windows XP Home Edition
3.
Windows XP Media Center Edition
4.
Windows XP Tablet PC Edition
5.
Windows XP Starter Edition
6.
Windows XP Professional x64 Edition
7.
Windows XP Professional 64-Bit Edition for Itanium
8.
Windows XP Professional
Definisi Absensi Absensi merupakan sebuah catatan kehadiran baik untuk organisasi,
instansi maupun perusahaan yang di catat setiap hari kerja. Adapun dalam system absensi yang coba penulis terapkan adalah pengujian yang dilakukan pada suatu instansi pemerintah yaitu pada Kantor Pelaksanaan Jalan Nasional Wilayah I
31
Provinsi Kepulauan Riau dimana absensi masuk (misalkan dari pukul 07.30 – 08.00 pagi) dan pulang (misalkan dari pukul 16.00-16.30 sore). Diluar ketentuan diatas tidak bisa diakses. Seluruh karyawan harus melakukan absensi yang mana penggunaannya harus menscan kartu identitas pegawai.
2.13
Sejarah Kementerian Pekerjaan Umum Departemen Pekerjaan Umum atau Departemen PU adalah sebuah nama
yang sudah familiar di telinga masyarakat dan bidang tugas yang ditanganinya sangatlah lekat dengan kehidupan sehari-hari. Pada masa penjajahan Belanda, bidang tugas yang ditangani oleh Departemen PU diselenggarakan oleh Department Der Burgelijke Openbare Warken. Sedangkan pada masa penjajahan Jepang bidang ini ditangani oleh Kotubu Bunsitsu, yang kurang lebih sama dengan Jawatan Pekerjaan Umum.
Gambar 2.4 Kantor Departemen Pekerjaan Umum Pertama Kali
32
Sejak masa kemerdekaan hingga akhir era reformasi sekarang, nama-nama yang pernah disandang instansi ini adalah Kementrian Pekerjaan Umum, Departemen Pekerjaan Umum dan Tenaga Listrik, Departemen Pekerjaan Umum dan Tenaga Listrik Plus Menteri Muda Perumahan, Departemen Pekerjaan Umum, Departemen Permukiman dan Pengembangan Wilayah Plus Menteri Negara Pekerjaan Umum, Departemen Permukiman dan Prasarana Wilayah dan akhirnya kembali lagi menjadi Departemen Pekerjaan Umum. Nama Pekerjaan Umum pertama kali muncul tahun pada awal kemerdekaan 1945 sebagai terjemahan dari institusi Department Der Burgelijke Openbare Warken dalam kabinet pertama Republik Indonesia yang diumumkan tanggal 2 September 1945, dibawah Perdana Menteri Moh. Hatta, bernama Kementerian Pekerjaan Umum, dengan Menterinya Abiskusno Tjokrosoejoso, seorang arsitek otodidak adik pendiri Serikat Islam HOS Tjokroaminoto. Pada tanggal 24 November 1945, dibagian utara kota Bandoeng, meletus suatu pertempuran yang hebat. Penduduk sekitarnya banyak yang mengungsi ke kota lain yang keadaannya masih aman. Waktu itu Gedung Sate dipertahankan oleh Gerakan Pemuda Pekerjaan Umum yang diperkuat oleh satu Pasukan Badan Perjoeangan yang terdiri lebih kurang 40 orang dengan persenjataan yang lengkap. Tetapi, bantuan yang diberikan itu tidak lama, karena pada tanggal 29 November 1945, pasukan tersebut lalu ditarik dari Markas Pertahanan Departemen Perhubungan dan Pekerjaan Umum. Tanggal 03 Desember 1945, jam 11.00 pagi, waktu itu kantor Departemen Perhubungan dan Pekerjaan Umum di Jl. Diponegoro 22 Bandoeng yang dikenal
33
dengan Gedung Sate itu hanya dipertahankan oleh 21 orang. Tiba-tiba datang menyerbu pasukan tentara Sekutu/Belanda dengan persenjataan yang berat dan modern. Walaupun demikian petugas yang mempertahankan Gedung Sate tak mau menyerah begitu saja. Mereka mengadakan perlawanan mati-matian dengan segala kekuatan yang dimiliki tetap mempertahankan kantor yang akan direbutnya itu. Mereka dikepung dan diserang dari segala penjuru. Pertempuran yang tidak seimbang ini baru berakhir pada pukul 14.00 WIB. Dalam pertempuran tersebut diketahui 7 pemuda gugur/hilang. Satu orang luka-luka berat dan beberapa orang lainnya luka-luka ringan. Setelah dilakukan penelitian ternyata para pemuda yang hilang itu diketahui bernama : Didi Hardianto Kamarga, Muchtaruddin, Soehodo, Rio Soesilo, Soebengat, Ranu dan Soerjono.
Gambar 2.4 7 pemuda gugur/hilang
Semula memang belum diketahui dengan pasti, keberadaan jenazah tujuh orang pemuda PU. Baru pada bulan Agustus 1952 oleh beberapa bekas kawan
34
seperjuangan mereka dicarinya di sekitar Gedung Sate dan hasilnya hanya ditemukan empat jenazah yang sudah berupa kerangka. Keempat kerangka syuhada ini kemudian dipindahkan ke Taman Makam Pahlawan Cikutra, Bandoeng. Sebagai penghargaan atas jasa-jasa dari tiga orang lainnya yang kerangkanya belum ditemukan telah dibuatkan 2 tanda peringatan. Satu dipasang didalam Gedung Sate dan lainnya berwujud sebuah Batu Alam yang besar ditandai dengan tulisan nama-nama ketujuh orang pahlawan tersebut yang ditempatkan dibelakang halaman Gedung Sate. Dalam hubungannya dengan sejarah perjuangan bangsa, pada tanggal 20 Oktober 1945 putra Kelimantan Selatan Ir. Pangeran Moh. Noor, seorang pejabat tinggi Kementerian Pekerjaan Umum, yang mantan pegawai PU zaman Belanda dan Jepang serta mantan anggota PPKI memotori gerakan di jajaran Kementerian Pekerjaan Umum untuk mengangkat sumpah setia kepada Pemerintah Republik Indonesia. Sikap heroik itu semakin memprovokasi tentara sekutu Belanda untuk menyerbu kantor pusat Kementerian Pekerjaan Umum pada 3 Desember 1945. Kala itu Gedung Sate hanya dipertahankan oleh 21 orang pemuda pegawai PU. Nama institusi dan pimpinan departemen silih berganti, namun tugas pokok dan fungsi tidak berubah, yaitu : penyediaan prasarana dan sarana dasar pekerjaan umum yang meliputi kebijakan dan strategi penataan ruang dan pengembangan kawasan serta pembinaan bidang penataan ruang, pembinaan dan penyediaan jalan dan jembatan, pembinaan dan penyediaan air baku, air irigasi, serta pengembangan daerah rawa dan pengandalian banjir, pembinaan dan
35
penyediaan prasarana dan sarana perkotaan dan pedesaan seperti air bersih, persampahan, drainase dan sanitasi. Dukungan Prasarana dan Sarana bidang permukiman dan prasarana wilayah yang telah menghantarkan negeri ini menuju swasembada pangan diawal dekade 90-an dan mencapai tingkat pertumbuhan ekonomi diatas 70%. Prasarana wilayah yang membentang dari Sabang hingga Marauke, semakin memperkuat keutuhan NKRI. Dukungan prasarana dan sarana permukiman perkotaan maupun pedesaan berperan kuat dalam peningkatan taraf hidup masyarakat. Perkembangan industri dan jasa konstruksi telah membuka lapangan pekerjaan serta malahirkan inovasi-inovasi dalam teknologi konstruksi. Dari catatan sejarah kelembagaan tampak jelas bahwa departemen yang menangani tugas-tugas bidang sarana dan prasarana dasar ini tetap eksis, walau nama lembaga berubah-ubah. Tugas dan fungsi penanganan sarana dan prasarana dasar untuk kepantingan publik tak dapat dihapus, justru tugasnya semakin berat sesuai dengan perkembangan dan tuntutan masyarakat. 2.13.1 Hari Bakti Pengabdian Amanah Pekerjaan Umum Pada tanggal 03 Desember 1951 oleh Menteri Pekerjaan Umum pada waktu itu Ir. Ukar Bratakusuma, ketujuh pemuda tersebut dinyatakan dan dihormati sebagai "PEMUDA YANG BERJASA" dan tanda penghargaan itu telah pula disampaikan kepada keluarga mereka yang ditinggalkan. Satu hari menjelang genap Dwi Windu Usia peristiwa 03 Desember 1945 tepatnya tanggal 02 Desember 1961, Menteri Pertama Ir. H. Djuanda
36
(alm) telah memberi "Pernyataan Penghargaan" tertulis kepada mereka para pemuda pegawai yang gugur pada tanggal 03 Desember 1945 dalam mempertahankan Gedung yang pertama dari Departemen Pekerjaan Umum Republik Indonesia, di Jl. Diponegoro No. 22 Bandoeng. Peristiwa 03 Desember 1945 ini telah tercatat dalam sejarah perjuangan bangsa dan sejarah perkembangan Pekerjaan Umum pada khususnya. Peristiwa kepahlawanan ini telah memberikan spirit, simbol dan budaya bagi pegawai Kementerian PU. Peristiwa tersebut setiap tanggal 03 Desember dikenang sebagai Hari Bakti PU.
BAB III ANALISA SISTEM
3.1
Analisis Sistem Analisa sistem (system analysis) dapat dikendalikan sebagai penguraian
dari suatu sistem informasi yang utuh ke dalam komponen-komponen untuk mengidentifikasi dan mengevaluasi permasalahan-permaslahan sehingga dapat diusulkan perbaikan-perbaikannya. Sebelum melakukan perancangan sistem terlebih dahulu dilakukan penganalisaan sistem yang sedang berjalan dalam organisasi tersebut. Analisa sistem dilakukan untuk mendapatkan sistem yang lebih baik dari sistem sebelumnya. Analisis Sistem
berisi tentang penjelasan penganalisaan
proses dan sistem yang sedang berjalan serta analisis mengenai pemecahan permasalahan yang ada, yang terdiri dari Analisis Prosedur Berjalan, Kelemahan Sistem, Kebutuhan Sistem antara lain : Kebutuhan Perangkat Lunak, Kebutuhan Informasi, Kebutuhan Pengguna. Mengolah database yang cukup besar merupakan hal yang tidak mudah apalagi bila dilakukan secara manual. Masalah itu terjadi pada Kantor Kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau
dalam
pengolahan data dan sering mengakibatkan permasalahan sebagai berikut : 1. Belum efektif didalam pencatatan daftar hadir pegawai pada waktu transaksi absensi yang dicatat dalam buku besar.
37
38
2. Belum efektif didalam perhitungan jumlah gaji yang akan diterima. 3. Dalam pembuatan laporan masih dilakukan dengan cara mengumpulkan arsip.
Untuk mencoba mengatasi permasalahan diatas dengan cara pengolahan data secara terkomputerisasi. Dan disini menggunakan Visual Basic 6.0 sebagai sarana program.
3.2
Analisa Prosedur Berjalan Merupakan tahap penguraian pada prosedur yang sedang berjalan didalam
sistem, yang berfungsi untuk memberikan penjelasan tentang tahapan yang sedang terjadi. 3.2.1 Prosedur Absensi Masuk Prosedur absensi masuk yang sedang berjalan adalah sebagai berikut: a. Pegawai melakukan absensi jam masuk pada buku catatan kehadiran b. Bagian administrasi mengecek data absensi masuk pegawai dan membuat laporan absensi menggunakan Ms. Excell untuk diserahkan kepada kepala pegawai. c. Kepala
pegawai
melakukan
penandatanganan laporan absensi.
pemeriksaan
dan
39
d. Laporan Absensi yang sudah ditantangani oleh Kepala Pegawai diserahkan kembali kepada administrasi untuk diarsipkan. 3.2.2 Prosedur Absensi Pulang Proedur absensi pulang yang sedang berjalan adalah sebagai berikut : a. Pegawai melakukan absensi jam pulang pada buku catatan kehadiran b. Bagian administrasi mengecek data absensi pulang pegawai dan membuat laporan absen menggunakan Ms. Excell untuk diserahkan kepada kepala pegawai. c. Kepala
pegawai
melakukan
pemeriksaan
dan
penandatanganan laporan absensi. d. Laporan Absensi yang sudah ditandatangani oleh Kepala Pegawai diserahkan kembali kepada administrasi untuk diarsipkan. 3.2.3 Prosedur Gaji Proedur gaji yang sedang berjalan adalah sebagai berikut : a. Administasi melakukan pengecekan laporan absensi yang sudah ditandatangani
40
b. Bagian administrasi memproses penghitungan gaji dari absensi pegawai untuk mencetak amprah gajinya untuk diserahkan kekepala pegawai. c. Kepala pegawai meverval amprah gaji lalu amprah gaji yang sudah di verval dikembalikan ke administrasi dan pegawai
3.3
Flow Map Yang Sedang Berjalan Aliran dokumen (flow map) merupakan bagian aliran yang menunjukkan
arus dari dokumen-dokumen. Adapun aliran data (flow map) dari prosedur yang sedang berjalan dapat dilihat pada gambar flow map berikut :
41
Gambar 3.1 FlowMap Berjalan Absensi Masuk
42
Gambar 3.2 FlowMap Berjalan Absensi Pulang
43
Gambar 3.3 FlowMap Berjalan Gaji
44
3.4
Analisa Kelemahan Sistem Berjalan Dengan menggunakan sistem absensi dan gaji menggunakan buku tentu
saja banyak mengalami kelemahan diantaranya: a. Sering kali buku daftar kehadiran tidak pada tempatnya sehingga pada saat dibutukan banyak pegawai yang tidak absen. b. Bila hal ini terus dilakukan berulang-ulang tentu akan melakukan pemborosan karena harus membeli buku untuk catatan kehadiran. c. Pada saat penghitungan buku absen untuk gaji pegawai tidak dapat dilakukan secara efektif karena data dibuku tidak lengkap. d. Sistem dapat diakses oleh orang yang tidak berkepentingan.
3.5
Analisa Kebutuhan Sistem 3.5.1 Kebutuhan Perangkat Keras Perangkat yang dibutuhkan untuk mengatasi permasalahan absensi pegawai yang ada di kantor Pelaksanaan Jalan Nasional Wilayah I Provinsi
Kepulauan
Riau
penulis
memerlukan
perangkat
Keras
(Hardware). Untuk mengoperasikan sistem absensi otomatis dengan spesifikasi sebagai berikut:
No 1
Komponen Prosesor
Spesifikasi Intel Pentium 4 2
45
GHz 2
RAM
512 MB
3
Hardisk
40 GB
4
CD-Rom
52 X
5
VGA Card
Asus 64 MB
6
Monitor
14” Digital
Tabel 3.1 Spesifikasi Komputer yang dipakai 3.5.2 Kebutuhan Perangkat Lunak (Software) Perangkat lunak merupakan bahasa pemograman komputer yang apabila dieksekusi menyediakan fungsi dan informansi yang dibutuhkan user. Juga, merupakan struktur data yang memungkinkan untuk memanipulasi informasi. Sistem perangkat lunak terbagi 2 (dua) kategori yaitu Operating System Software dan Language Software. Operating system Software (perangkat sistem operasi) yaitu perangkat lunak yang mengatur semua operasional didalam komputer dan saling berinteraksinya semua unsur seperti CPU dengan memori, ALU dengan Control Unit dan memori dengan perangkat input/output. Sedangkan Language Software (perangkat lunak bahasa pemograman) yaitu program komputer yang digunakan untuk menterjemahkan instruksiinstruksi yang ditulis dalam bahasa pemograman ke dalam bahasa mesin agar dimengerti oleh komputer. Dalam pembuatan sistem absensi ini penulis menggunakan Sistem Operasi Windows Xp, pemogramannya
46
menggunakan Visual Basic 6.0 dan software database yang digunakan Microsoft Acces. 3.5.3 Kebutuhan Informasi Adapun output informasi yang dibutuhkan dari Aplikasi Absensi Barcode dan Gaji Pegawai ini adalah sebagai berikut : a. Data Pegawai, Gaji, dan Insentif b. Laporan Data Pegawai dan Laporan Absensi Pegawai. c. Cetak Amprah Gaji pegawai. 3.5.4 Kebutuhan Pengguna Aplikasi Absensi Barcode dan Gaji Pegawai. ini bersifat local server dan bukan
client server, maka pengoperasiannya hanya
membutuhkan seorang operator dan yang akan menjadi
end user.
Operator atau end user yang mengoperasikan aplikasi ini adalah orang yang memahami atau bisa mengoperasikan komputer dengan baik.
3.6
Spesifikasi Rancangan Program 3.6.1 Spesifikasi Rancangan Bentuk Masukan Spesifikasi masukan atau input merupakan awal dalam pengolahan data dan akan menjadi proses pengolahan data selanjutnya. a. Nama Dokumen : Data Pegawai Fungsi
: Untuk mengetahui data pegawai
Sumber
: pegawai / Bagian kepegawaian
47
Tujuan
: pegawai / Bagian kepegawaian
Frekuensi
: Setiap ada data pegawai yang baru
Media
: Kertas
Jumlah
: Satu lembar
Bentuk
: Lampiran A1
b. Nama Dokumen : Tabel Golongan Fungsi
: Untuk mengetahui Golongan dan Gaji
Sumber
: Bagian Kepegawaian
Tujuan
: Bagian Kepegawaian
Frekuensi
: Setiap ada perubahan
Media
: Kertas
Jumlah
: Satu lembar
Bentuk
: Lampiran A2
3.6.2 Spesifikasi Rancangan Bentuk Keluaran Bentuk keluaran atau output dapat berupa media kertas dan media lunak atau tampilan pada layar komputer. a. Nama Dokumen
: Laporan Data Pegawai
Fungsi
: Untuk mengetahui data pegawai
Sumber
: pegawai / Bagian Kepegawaian
Tujuan
: Pimpinan Kantor
Frekuensi
: Jika diperlukan
Media
: Kertas
48
Jumlah
: Satu lembar
Bentuk
: B1
b. Nama Dokumen
: Laporan Absensi
Fungsi
: Untuk mengetahui kehadiran pegawai
Sumber
: pegawai / Bagian kepegawaian
Tujuan
: Pimpinan kantor
Frekuensi
: Bulanan
Media
: Kertas
Jumlah
: Satu lembar
Bentuk
: B2
BAB IV PERANCANGAN SISTEM
Perancangan sistem merupakan tahap lanjutan dari analisis sistem, dimana pada perancangan sistem digambarkan rancangan sistem yang akan dibangun sebelum melakuan pengkodean kedalam suatu bahasa pemograman. Dalam perancangan suatu sistem tidak lepas dari hasil analisa, karena analisa sistem baru dapat dibuat suatu rancangan sistem. Pada tahap ini dijelaskan tentang pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah kedalam satu kesatuan yang utuh dan berfungsi atau bermanfaat. Perancangan sistem dibagi menjadi dua yaitu desain konseptual atau desain secara umum dan desain terinci atau desain secara fisik. Desain umum yang akan diaplikasikan adalah bertujuan untuk memberikan gambaran secara umum kepada pengguna tentang sistem yang akan dibangun. Desain umum mengidentifikasikan komponen-komponen sistem informasi yang akan didesain secara rinci. Pada tahap perancangan perangkat lunak IMPLEMENTASI ABSENSI BARCODE DAN GAJI PEGAWAI HONORER MENGGUNAKAN VISUAL BASIC 6.0 (STUDI KASUS PADA KANTOR PELAKSANAAN JALAN NASIONAL WILAYAH I PROV. KEPRI) sesuai dengan analisis yang dilakukan pada bab sebelumnya, terdapat beberapa pokok pembahasan yang meliputi:
49
50
1. Tujuan perancangan perangkat lunak. 2. Ruang lingkup sistem perangkat lunak. 3. Analisis kebutuhan perangkat lunak yang meliputi : a. Analisis database. b. Analisis Fungsional. 4. Perancangan perangkat lunak yang meliputi : a. Perancangan struktur file. b. Diagram hubungan antar entitas. c. Perancangan antar muka. d. Perancangan struktur menu.
4.1
Tujuan Perancangan Perangkat Lunak Perangkat lunak ini adalah untuk mengelola daftar Absensi secara
otomatis. Diharapkan dengan sistem Absensi ini pegawai bisa terkontrol dengan baik terutama untuk meningkatkan kedisiplinan dalam bekerja.
4.2
Symbol Barcode Code 39 adalah sebuah barcode alphanumeric (Full ASCII) untuk
inventory, asset tracking dan type pengenal
identitas. code 39 dapat
mengkodekan karakter alfanumerik, yaitu angka decimal dan huruf capital serta tambahan karakter special -, ., *, $, /, %, +, satu karakter dalam code 39 terdiri dari 9 elemen yaitu 5 bar (garis vertical Hitam) dan 4 spasi (Garis vertical Putih).
51
Yang disusun bergantian antara bar dan spasi. Tiga dari elemen tersebut lebih tebal dari yang lain. Tiga dari 9 elemen tersebut lebih tebal dari yang lain. Tiga elemen yang lebih tebal tersebut terdiri dari 2 bar dan 1 spasi. Karakter Set
Karakter ASCII
Nilai Karakter
Digit Biner B
S
B
S
B
S
B
S
B
0
0
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
2
0
0
1
1
0
0
0
0
2
2
3
1
0
1
1
0
0
0
0
0
3
4
0
0
0
1
1
0
0
0
1
4
5
1
0
0
1
1
0
0
0
0
5
6
0
0
1
1
1
0
0
0
0
6
7
0
0
0
1
0
0
1
0
1
7
8
1
0
0
1
0
0
1
0
1
8
9
0
0
1
1
0
0
1
0
0
9
A
1
0
0
0
0
1
0
0
1
10
B
0
0
1
0
0
1
0
0
1
11
C
1
0
1
0
0
1
0
0
0
12
E
1
0
0
0
1
1
0
0
0
13
D
0
0
0
0
1
1
0
0
1
14
F
0
0
1
0
1
1
0
0
0
15
G
0
0
0
0
0
1
1
0
1
16
H
1
0
0
0
0
1
1
0
0
17
I
0
0
1
0
0
1
1
0
0
18
J
0
0
0
0
1
1
1
0
0
19
K
1
0
0
0
0
0
0
1
1
20
L
0
0
1
0
0
0
0
1
1
21
52
Karakter ASCII
Karakter Set
M
1
0
1
N
0
0
0
O
1
0
0
Digit Biner 0 0 0 Nilai Karakter 0 1 0 Karakter ASCII 0 1 0
P
0
0
1
Q
0
0
R
1
S
Karakter Set 0
1
0
0
1
1
22 Digit Biner 23
0
1
0
24
0Karakter 1 Set0
0
1
0
25
0
0 Digit0Biner 0
1
1
1
26
0
0
1
1
0
27
0
0
1
1
1
0
28
T
0
0
0
1
1
0
29
U
1
1
0
0 0 0 Nilai Karakter 0 0 0 Karakter ASCII 0 1 0 Karakter Set 0 0 0
0
0
1
30
V
0
1
1
0 Digit0Biner 0
0
0
1
31
W
1
1
1
0Nilai Karakter 0 0
0
0
0
32
X
0
1
0
0
0
1
33
Y
1
1
0
0 1 ASCII 0 Karakter 0 1 0
0
0
0
34
Z
0
1
1
0
1
0
0
0
0
35
-
0
1
0
0
0
0
1
0
1
-
.
1
1
0
0
0
0
1
0
0
36
SPACE
0
1
1
0
0
0
1
0
0
37
*
0
1
0
0
1
0
1
0
0
38
$
0
1
0
1
0
0
0
1
0
39
/
0
1
0
1
0
0
0
1
0
40
+
0
1
0
0
0
1
0
1
0
41
%
0
0
0
1
0
1
0
1
0
42
Tabel 4.1 Karakter ASCII Code 39
XZ
X
Dimana :
ICG
C1
ICG
… … ….
CN
ICG
CC
ICG
X
QZ
53
X
:
Ketebalan elemen yang sempit (minimum 0.19)
QZ
:
Quiet
Zone atau start – Stop Margin dengan ketebalan
minimum 6 mm atau 10 X. SC
:
Start Character (Karakter *).
ICG
:
Inter Character Gap dengan ketebalan 1 kali X.
C1 : CN
:
Karakter 1 s/d karakter ke N.
CC
:
Check Character.
PC
:
Stop Character (karakter*).
Untuk membedakan garis vertical lebar dan sempit maka perbandingan ketebalan antara garis vertical lebar dan sempit minimum 2 : 1, dimana perbandingan 3: 1 akan lebih baik. Lebar keseluruhan barcode akan dirumuskan sebagai berikut : L : N(3RX+7X)+(6RX13X)+(3RX+7X)+(M1+M2) I
II
III
IV
Dimana : L
:
Lebar Keseluruhan Barcode .
N
:
Jumlah Karakter
R
:
Perbandingan Garis Vertikal Lebar dan sempit
X
:
Ketebalan garis Vertikal sempit
I
:
Lebar N karakter plus inter character gap
II
:
Lebar Start dan stop character plus 1 inter character gap antara start character dan character pertama
54
III
:
Lebar Check character plus 1 inter character gap.
IV
:
Lebar 2 kali quiet zone (M1(start margin) + M2(Stop Margin)).
Check character adalah sisa dari jumlah seluruh nilai karakter dibagi dengan 43. Sebagai contoh : Message
:
CODE 39
Karakter
:
CODE SPACE 39
Nilai Karakter
:
12 24 13 14 38 3 9
Jumlah
:
12+24+13+14+38+3+9 113/43 = 2 sisa 27
27u adalah nilai dari karakter R. oleh sebab itu Message + check character : CODE39. Berikut ini contoh gambar barcode code39. 4.3
Analisa Kebutuhan Perangkat Lunak 4.3.1 Analisa Data Base Sesuai dengan analisis yang dilakukan, maka tabel-tabel yang dibutuhkan oleh sistem terdiri dari tabel utama (Absensi_Masuk, Absensi_Pulang, Data_Pegawai, Koreksi_Absensi, Login, Penandatangan, Tabel_Golongan dan Tabel_Jabatan).
4.3.2
Analisa Fungsional
55
Tahapan perangkat lunak Implementasi Absensi Barcode dan Gaji Pegawai Honorer Berbasis Desctop, di gambarkan dalam Diagram Kontek dan Diagram Aliran Data. 4.3.3 Rancangan Alir Dokumen Absensi Masuk
Gambar. 4.1 Flowmap Usulan Absensi Masuk 4.3.4 Rancangan Alir Dokumen Absensi Pulang
56
Gambar. 4.2 Flowmap Usulan Absensi Pulang 4.3.5 Rancangan Alir Dokumen Gaji
57
Gambar. 4.3 Flowmap Usulan Dokumen Gaji
Kelemahan sistem yang berjalan, sistem pengolahan masih bersifat manual, penyimpanan data belum rapi dan teratur, sehingga pengolahan data belum efektif dan efisien. Sistem yang diusulkan hampir mirip dengan sistem yang berjalan, perbedaan yang mendasar adalah untuk penyimpanan data dan pengabsensian data pegawai dan gaji. Dimana data pada sistem yang berjalan
58
disimpan didalam sebuah file.xls, sedangkan pada sistem yang diusulkan data user, data pegawai, Absensi pegawai , dan penggajian pegawai disimpan ke dalam sebuah database yang mana setiap record akan di sertai dengan primary key sehingga duplikasi data dapat dihindarkan. Dan dalam proses pencarian data akan lebih mudah.
4.4
Diagram Konteks Diagram konteks yaitu diagram yang menggambarkan hubungan antara
entitas eksternal dengan sistem. Dimana data yang di inputkan oleh bagian komponen eksternal akan diperoses didalam sistem dan akan menghasilkan laporan yang di inginkan oleh komponen eksternal tersebut. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini:
Gambar. 4.4 Diagram Konteks Pada gambar diagram konteks diatas terdapat dua entitas yang terdiri dari pegawai dan kepala Pegawai. Entitas pegawai yang bertugas memberikan data
59
Absensi masuk, data Absensi pulang, penandatangan, Jabatan dan data pegawai kedalam system. Entitas kepala pegawai mendapatkan laporan Absensi pegawai dari sistem. Selain itu Sistem juga akan dapat mengatur gaji pegawai. 4.4.1 Diagaram Arus Data (Data Flow Diagaram (DFD)) Diagaram arus data merupakan diagram yang menggambarkan arus data dalam sistem yang akan dibangun, secara pararel dan terstruktur dengan mengikut sertakan komponen-komponen entitas-entitas yang terkait baik entitas luar maupun entitas dalam, media penyimpanan (storage), proses-proses sistem maupun simbol-simbol panah yang menunjukan hubungan arus data dari proses entitas yang terkait. 4.4.2 Data Flow Diagram (DFD) Level 0 Diagram arus data mempunyai level atau tingkatan, level 0 merupakan diagram arus yang mendasar dari sebuah proses, sedangkan level 1 dan seterusnya adalah merupakan pengembangan dari prosesproses yang ada pada level 0 yang bertujuan untuk lebih mudah untuk dimengerti dan dipamahi. Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:
60
Gambar. 4.5 Data Flow Diagram level 0 (DFD level 0)
Dari gambar diatas dapat dilihat proses secara umum pada sistem yang akan dirancang. Proses-proses yang dapat pada sistem adalah proses input data pegawai, proses Absensi, proses penggajian dan proses pembuatan
laporan,
dimana
masing-masing
proses
data
tersebut
memerlukan data masukan dan akan menghasilkan data keluaran. 4.4.3 Data Flow Diagram (DFD) Level 1 Proses 1 Merupakan pengembangan proses 1 (proses data pegawai) dari level 0. untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:
61
Gambar. 4.6 Data Flow Diagram Level 1 Proses 1
4.4.4 Data Flow Diagram (DFD) Level 1 Proses 2 Merupakan pengembangan proses 2 (proses Absen) dari level 0. untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:
Gambar. 4.7 Data Flow Diagram Level 1 Proses 2
62
4.4.5 Data Flow Diagram (DFD) Level 1 Proses 3 Merupakan pengembangan proses 3 (proses penggajian) dari level 0. untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:
Gambar. 4.8 Data Flow Diagram Level 1 Proses 3
4.4.6 Data Flow Diagram (DFD) Level 1 Proses 4 Merupakan pengembangan proses 4 (proses pembuatan laporan) dari level 0. untuk lebih jelasnya dapat dilihat pada gambar dibawah ini:
Gambar. 4.9 Data Flow Diagram Level 1 Proses 4
63
4.5
Kamus Data Kamus data merupakan kamus yang digunakan untuk menjelaskan seluruh
proses data yang terdapat dalam data flow diagram. Berikut adalah penjelasan tentang nama, diskripsi, struktur data, penggunaan dan format data dari setiap aliran data yang terdapat pada Data Flow Diagram diatas. Tabel 4.2 Tabel kamus Data Nama
Data Absensi Masuk
Deskripsi
Informasi data yang dimiliki oleh Absensi Masuk
Struktur data
Data Absensi masuk = Kode_Barcode, Foto, Jam, Tanggal dan Keterangan
Digunakan
Untuk perubahan informasi Absensi Masuk di basis data
Format data
Nama
Text
Data Absensi Pulang
Deskripsi
Informasi data yang dimiliki oleh Absensi pulang
Struktur data
Data Absensi pulang = Kode_Barcode, Foto, Jam, Tanggal dan Keterangan
Digunakan
Untuk perubahan informasi Absensi Pulang di
64
basis data Format data
Text
Nama
Data Pegawai
Deskripsi
Informasi data yang dimiliki oleh pegawai
Struktur data
Data
pegawai
=
NIK,
Nama_Pegawai,
Tempat_Lahir, Tanggal_Lahir, Alamat, Agama, Jenis_Kelamin, No_Hp, Pendidikan, Golongan, Jabatan, Foto, dan Kode_Barcode Digunakan
Untuk perubahan informasi pegawai di basis data
Format data
Text
Nama
Data koreksi Absensi
Deskripsi
Informasi data yang dimiliki oleh koreksi Absensi
Struktur data
Data
koreksi
Absensi
=
Kode_Barcode,
Keterangan, Dari_Tanggal dan Sampai_Tanggal Digunakan
Untuk perubahan informasi koreksi Absensi di basis data
65
Format data
Text
Nama
Data Golongan
Deskripsi
Informasi data yang dimiliki oleh golongan
Struktur data
Data golongan = Golongan, Gaji, PTKP, PPh, Insentif dan Nilai_Bersih
Digunakan
Untuk perubahan informasi golongan di basis data
Format data
Text
Nama
Data Jabatan
Deskripsi
Informasi data yang dimiliki oleh jabatan
Struktur data
Data jabatan = Kode_Jabatan, Jabatan
Digunakan
Untuk perubahan informasi jabatan di basis data
Format data
Text
4.6
Relasi Antar Data (ERD) dan Relasi Antara Tabel Pada diagram ini akan digambarkan hubungan antar entitas yang terlibat
dalam sistem Absensi pegawai dan penggajian yang akan dibangun.
66
Gambar. 4.10 Diagram Hubungan antar entitas (ERD)
4.7
Struktur File Basis data yang digunakan yaitu Ms.Acces 2007. Dibuat sebuah database
dengan nama “ABSENSI1” dimana terdapat data-data pegawai dalam beberapa tabel yang mengandung Field-Field tertentu yang di susun sesuai kebutuhan. 4.7.1 Rancangan Struktur File Rancangan struktur file merupakan salah satu bagian yang penting dalam perancangan sistem berbasis komputer, selanjutnya yang dimaksud file dalam databese adalah file data atau tabel data. Databese ini berfungsi sebagai penyedia informasi bagi pemakai sistem. File-file yang digunakan dalam perancangan aplikasi pendukung keputusan ini dapat dilihat dibawah ini:
67
1.
Table Absensi Masuk Nama Tabel
: Absensi_Masuk
Fungsi
: Menyimpan data Absensi Masuk
Primary Key
: Kode_Barcode
Foreign key
:-
Tabel 4.3 Struktur File Absensi Masuk No
Nama Field
Type
Size
Keterangan
1
Kode_Barcode
Text
12
Kode Barcode
2
Foto
Text
50
Foto Pegawai Jam
3
Jam
Date
Pegawai
melakukan
Absensi
Masuk Tanggal Pegawai melakukan Absensi
4
Tanggal
Date
Masuk
5
Keterangan
2.
Text
-
Keterlambatan Jam Masuk
Table Absensi pulang Nama Tabel
: Absensi_pulang
Fungsi
: Menyimpan data Absensi pulang
Primary Key : Kode_barcode Foreign key
:-
68
Tabel 4.4 Struktur File Absensi Pulang No
Nama Field
Type
Size
Keterangan
1
Kode_Barcode
Text
20
Kode Barcode
2
Foto
Text
50
Foto Pegawai Jam
3
Jam
Date
Pegawai
melakukan
Absensi
Pulang Tanggal Pegawai melakukan Absensi
4
Tanggal
Date
Pulang
5
Keterangan
Text
-
Pulang lebih awal
3. Table data pegawai Nama Tabel
: Data_pegawai
Fungsi
: Menyimpan data pegawai
Primary Key
: Kode_Status
Foreign key
:-
Tabel 4.5 Struktur File Data pegawai NO
Nama Field
Type
Size
Keterangan
1
NIK
Text
12
No induk karyawan
2
Nama_Pegawai Text
50
Nama pegawai
3
Tempat_Lahir
Text
50
Tempat lahir pegawai
4
Tanggal_Lahir
Text
50
Tanggal lahir pegawai
5
Alamat
Text
50
Alamat pegawai
69
6
Agama
Text
50
Agama pegawai
7
Jenis_Kelamin
Text
50
Jenis kelamin pegawai
8
No_Hp
Text
12
No hp pegawai
9
Pendidikan
Text
10
Pendidikan terakhir pegawai
10
Golongan
Text
10
Golongan pegawai
11
Jabatan
Text
10
Jabatan pegawai
12
Foto
Image
13
Kode_Barcode
Text
Foto pegawai 20
Kode barcode Absensi pegawai
4. Table koreksi Absensi Nama Tabel
: Koreksi_Absensi
Fungsi
: Menyimpan data koreksi Absensi
Primary Key
: Kode_Barcode
Foreign key
:-
Tabel 4.6 Struktur File koreksi Absensi NO
Nama Field
Type
Size
Keterangan
1
Kode_Barcode
Text
30
Kode barcode
2
Keterangan
Text
50
Keterangan Absensi
3
Dari_Tanggal
Date
Tanggal Absensi
4
Sampai_Tanggal
Date
Tanggal Absensi
5. Table golongnan Nama Tabel
: Table_golongan
70
Fungsi
: Menyimpan data golongan
Primary Key
: Golongan
Foreign key
:-
Tabel 4.7 Struktur File golongan NO
Nama Field
Type
Size 10
Keterangan
1
Golongan
Text
Kode Golongan
2
Gaji
Number
-
Gaji Pegawai
3
PTKP
Number
-
Potongan Kena Pajak
4
PPh
Number
-
Potongan Pajak 5%
5
Insentif
Number
-
Bonus 30% dari Gaji
6
Nilai_Bersih
Number
-
Gaji bersih
6. Table jabatan Nama Tabel
: Table_Jabatan
Fungsi
: Menyimpan data jabatan
Primary Key
: Kode_Jabatan
Foreign key
:-
Tabel 4.8 Tabel Jabatan NO
Nama Field
Type
Size
Keterangan
1
Kode_jabatan
Text
30
Kode Jabatan
2
Jabatan
Text
50
Uraian status
71
4.8
Perancangan Hirarki Program Struktur program yang dikembangkan dalam perancangan perangkat lunak
Implementasi Absensi Barcode Dan Gaji Pegawai Honorer merupakan analisis dengan mengunakan diagram alir data (DFD).
Gambar. 4.11 Rancangan Hirarki Program
Dalam perancangan struktur program implementasi Absensi dan gaji pegawai dikantor Pelaksanaan Jalan Nasional Wilayah I Provinsi Kepulauan Riau di wilayah tanjungpinang menggambarkan proses input data dan output data, struktur program ini dibagi menjadi modul-modul kecil yang mudah diperbaiki jika terjadi kesalahan dan mudah ditest jika ada modifikasi. Struktur program tersebut adalah sebagai berikut: input data pegawai, input data golongan, dan
72
input data jabatan, dan output nya yaitu: Laporan Absensi Pegawai, Amprah Gaji dan Laporan Data Pegawai. 4.8.1 Perancangan Hirarki Menu Struktur
menu
merupakan
bentuk
umum
dalam
suatu
perancangan aplikasi yang dapat memudahkan pengguna dalam mengunakan sistem yang dibangun. Dengan adanya struktur menu ini, maka proses pengolahan data diharapkan lebih cepat dilakukan, sehingga keterlambatan dalam penyajian data dapat ditekan seminimal mungkin. Struktur menu yang dibuatkan dalam sistem ini terdiri dari menu-menu dan sub menunya. Dapat dilihat dari gambar berikut :
Gambar. 4.12 Rancangan Struktur Menu
73
4.8.2 Perancangan Format Masukan (Input Design) Rancangan masukan digunakan oleh pemakai sistem dalam berkomunikasi
dengan
komputer (User
Interface). Rancangan
masukan ini berupa pemasukan data kedalam database sistem, perancangan input meliputi desain berbentuk dokumen-dokumen input yang digunakan, dokumen input sangat penting pada sistem informasi. Data yang salah tercatat di dokumen akan mengakibatkan output yang dihasilkan sistem otomatis akan salah. Perancangan input disini dilakukan dengan menelusuri output yang dihasilkan sistem informasi sehingga ditemukan item apa saja yang harus ada dalam sistem output. Adapun rancangan input nya dapat dilihat pada gambar :
Gambar. 4.13 Rancangan Form Login
74
Gambar. 4.14 Rancangan Form Menu Utama
Gambar. 4.15 Rancangan Form Data Pegawai
75
Gambar. 4.16 Rancangan Form Golongan
Gambar. 4.17 Rancangan Form Jabatan
76
Gambar. 4.18 Rancangan Form ubah password
Gambar. 4.19 Rancangan Form Absensi masuk
77
Gambar. 4.20 Rancangan Form Absensi pulang
BAB V IMPLEMENTASI SISTEM
5.1
Lingkungan Implementasi Sistem Dalam hal kegiatan implementasi sistem ini adapun yang meliputi
kebutuhan didalamnya adalah perangkat lunak, perangkat keras, listing program yang sesuai, query yang digunakan, pemograman dan pengujian program serta pengujian sistem yang telah dirancang sesuai dengan kebutuhan informasi data pegawai, data absensi dan data gaji pegawai tersebut.
5.2
Lingkungan Perangkat Keras Perangkat keras yang diperlukan untuk keperluan menjalankan aplikasi
absensi dan gaji pegawai honorer menggunakan barcode yang sesuai dengan rekomendasi yang diberikan Visual Basic 6.0 adalah sebagai berikut: a. Processor yang digunakan Intel® Pentium® Processor T4300 ( 2.1 GHz, 800 MHz FSB ). b. Hard disk terpasang 320Gb, rekomendasi minimum adalah 3.2Mb*. c. Memori terpasang 2Gb. d. VGA Card terpasang 128Mb, rekomendasi minimum adalah 64Mb*. e. Mouse dan Keyboard. f. Layar Monitor SVGA*.
78
79
g. Printer. h. Alat Barcode Seri GTS310.
5.3
Lingkungan Perangkat Lunak Untuk mendukung aplikasi pendataan dan penyediaan barang selain
dibutuhkan perangkat keras, dibutuhkan juga perangkat lunak yang digunakan sebagai pendukung untuk menjalankan aplikasi diantaranya adalah: a. Sistem operasi Windows XP b. Software Visual Basic 6.0 c. Microsoft Access 2003 ( MS. Access ) d. Microsoft Visio 2007 (MS. Visio)
5.4
Hasil Implementasi Dalam perancangan hasil rancangan ke dalam sebuah sistem dan aplikasi
yang kemudian akan memperlihatkan output sebagai hasil implementasi. Kegiatan implementasi meliputi implementasi basis data, dan implementasi antar muka. 5.4.1
Implementasi Basis Data Implemantasi basis data dilakukan dengan mengunakan basis
data access yang tersimpan pada drive local. Nama Basis Data
: dbABSENSI1
80
Tabel 5.1 Hasil Implementasi Basis Data No
Nama table
Hasil
Keterangan
implementasi 1.
absensi_masuk
Data
absensi Tabel absensi masuk
masuk
otomatis
tersimpan dalam database 2.
absensi_pulang
Data
absensi Tabel absensi pulang
pulang
otomatis
tersimpan dalam database 3.
data_pegawai
Data biasa
pegawai Tabel pegawai disimpan,
edit dan dihapus 4.
koreksi_absensi
Data absensi disimpan
koreksi Tabel koreksi absensi biasa dan
diedit 5.
login
Data login bias Tabel login disimpan
dan
diubah 6.
penandatanganan
Data penandatanganan
Table penandatanganan
81
biasa
disimpan,
diedit dan dihapus 7.
Table_golongan
Data
golongan Table golongan
biasa
disimpan,
diedit dan dihapus 8.
Table_jabatan
Data jabatan biasa Table Jabatan biasa
disimpan,
diedit dan dihapus
5.4.2 Implementasi Antar Muka Implementasi perangkat lunak ini dilakukan dengan membuat file project dari perangkat lunak yang dibuat yaitu project1.Vbp. Suatu file projek merupakan gabungan dari berbagai form program. Form berfungsi untuk melaksanakan pengendalian terhadap proses yang dilakukan. Setiap form program berisi data tentang layar antar muka yang disimpan pada file dengan ekstensi form. Pada implementasi akan dibentuk beberapa file form dimana setiap form membentuk antar muka pemakai. Untuk lebih jelasnya dapat dilihat pada tabel 5.2 sebagai berikut: Tabel 5.2 Form Antar Muka No 1.
Antar muka MenuUtama
Hasil implementasi
Keterangan
FormMenuUtama.frm Form Utama
Menu dari
82
system 2.
Formlogin
FormLogin.frm
Form yang digunakan untuk membuka atau masuk ke dalam system
3.
FormAbsensi
FormAbsensiMasuk.f
Form yang digunakan untuk
Masuk
rm
memasukkan data absensi masuk yang diinput
4.
FormAbsensiP
FormAbsensiPulang.f
Form yang digunakan untuk
ulang
rm
memasukkan data absensi pulang yang diinput
5.
FormDataPega
FormDataPegawai.fr
Form yang digunakan untuk
wai
m
memasukkan dan merubah data
data
pegawai
yang
diinput 6.
FormKoreksiA FormKoreksiAbsensi.
Form yang digunakan untuk
bsensi
memasukkan dan merubah
frm
koreksi absensi yang akan diinput 7.
FormTabelGol
FormTabelGolongan.
Form yang digunakan untuk
ongan
frm
mengetahui besaran gaji per golongan
8.
FormTabelJab
FormTabelJabatan.fr
Form yang digunakan untuk
atan
m
mengetahui jabatan
83
9.
FormPenandat
FormPenandatangana
Form yang digunakan untuk
anganan
n.frm
mengetahui
siapa
yang
menandatangani 10.
11.
FormUbahPas
FormUbahPaswword.
Form yang digunakan untuk
wword
frm
mengubah password.
LaporanAbsen
LaporanAbsensi.frm
Form yang digunakan untuk
si
menampilkan laporan absen
Implementasi antar muka dari software aplikasi absensi dan gaji pegawai honorer ini merupakan program yang akan dibuat untuk menampilkan semua tampilan form-form dari software. Tampilan tampilannya adalah sebagai berikut : a.
Tampilan Login Tampilan ini merupakan tampilan login untuk bisa masuk
kedalam sistem dan sebagai akses utama untuk penggunaan sistem didalamnya.
Gambar 5.1 Tampilan Form Login
84
b.
Tampilan Form Menu Utama Tampilan ini muncul ketika pertama kali membuka program
setelah melakukan login. Tampilan ini merupakan menu utama untuk bisa melakukan atau menjalani sistem operasi yang ada.
Gambar 5.2 Tampilan Form Menu Utama
c.
Tampilan Form Data Pegawai Tampilan ini akan muncul ketika user memilih menu
transaksi yang mana didalam terdapat proses input data pegawai yang akan berhubungan dengan absensi dan gaji pegawai.
85
Gambar 5.3 Tampilan Form Data Pegawai
d.
Tampilan Form Tabel Golongan Tampilan ini akan muncul ketika user memilih menu
referensi yang mana didalam terdapat proses input tabel Golongan yang akan berhubungan dengan form data pegawai.
86
Gambar 5.4 Tampilan Form Tabel Golongan
e.
Tampilan Tabel Jabatan Tampilan ini akan muncul ketika user memilih menu
referensi yang mana didalam terdapat proses input untuk menambah jabatan dan mengedit data jabatan akan berhubungan dengan form data pegawai.
Gambar 5.5 Tampilan Form table Jabatan
87
f.
Tampilan Form Tabel Penandatangan Tampilan
ini
akan
muncul
ketika
user
memilih
menu referensi yang mana didalamnya terdapat proses tambah dan edit
dengan
demikian
akan
muncul
informasi
tentang
penandatanganan untuk gaji, data pegawai dan laporan absensi.
Gambar 5.6 Tampilan Form Tabel Penandatanganan
g.
Tampilan Form Ubah Password Tampilan
ini
akan
muncul
ketika
user
memilih
menu referensi yang mana didalamnya terdapat form ubah password untuk merubah usser name ataupun password.
88
Gambar 5.7 Tampilan Form ubah password
h.
Absensi Masuk Tampilan ini akan muncul ketika user
memilih menu
transaksi yang mana didalamnya terdapat absensi masuk untuk melakukan proses pengabsenan.
Gambar 5.8 Tampilan Form absensi masuk
89
i.
Absensi Pulang Tampilan ini akan muncul ketika user
memilih menu
transaksi yang mana didalamnya terdapat form absensi Keluar untuk melakukan proses pengabsenan.
Gambar 5.9 Tampilan Form absensi keluar j.
Koreksi absensi Tampilan
ini
akan
muncul
ketika
user
memilih
menu transaksi yang mana didalamnya terdapat form koreksi absen untuk melakukan pengkoreksian absensi.
90
Gambar 5.10 Tampilan Form koreksi absensi
k.
Laporan Absen Tampilan ini akan muncul ketika user
memilih menu
cetak yang mana didalamnya terdapat form laporan absensi.
Gambar 5.11 Tampilan Form laporan absensi
91
Gambar 5.12 Tampilan Laporan absensi
l.
Laporan Data Pegawai Tampilan
ini
akan
muncul
ketika
user
memilih
menu cetak yang mana didalamnya terdapat form laporan data pegawai.
Gambar 5.13 Tampilan Form laporan data pegawai
92
m.
Amprah gaji Tampilan
ini
akan
muncul
ketika
user
memilih
menu cetak yang mana didalamnya terdapat form Amprah gaji
5.5 Teknik Pemrograman
Gambar 5.14 Tampilan Form amprah gaji
Gambar 5.15 Tampilan Laporan Amprah gaji
93
Aplikasi Absensi dan Gaji Honorer pada Kantor Pelaksanaan Jalan Nasional Wilayah I Kepulauan Riau pada saat ini dikembangkan dan diimplementasikan dengan bahasa Pemrograman Visual yang menggunakan Visual basic 6.0. Dimana nama selengkapnya adalah Visual basic 6.0 dan diproduksi oleh Microsoft, sebuah perusahaan perangkat lunak di USA. Program aplikasi yang telah menerapkan GUI (Grafic User Interface) banyak menggunakan perantara untuk berinteraksi dengan pemakai. Sarana yang sering disebut control ini antara lain kotak dialog, tombol, menu, kotak cek panel dan lain-lain. Berdasarkan kelebihan-kelebihan diatas, penulis berupaya mewujudkan rancangan Absensi dan Gaji Honorer pada Kantor Pelaksanaan Jalan Nasional Wilayah I Kepulauan Riau ini dengan menggunakan VB 6.0 dengan segala fasilitas yang ada pada VB 6.0 serta Tool tambahan yang dapat memenuhi rancangan yang telah disusun. Pemilihan VB 6.0 sebagai sarana untuk pengembangan dan implementasi Aplikasi Absensi dan Pengajian Honorer pada kantor Pelaksanaan Jalan Nasional Wilayah I Kepulauan Riau ini dilakukan dengan alasan : 1.
VB 6.0 menyediakan fasilitas pembuatan antarmuka yang cukup memadai, terutama untuk manipulasi layer.
2.
VB 6.0 menyediakan lingkungan pemgembangan yang terintegrasi meliputi penyuntingan, linking, kompilasi, eksekusi program, dan penelusuran program.
94
3.
VB 6.0 memiliki kemampuan dalam penanganan memori dalam jumlah besar, hal ini memungkinkan karena VB 6.0 dijalankan pada sistem
windows
yang
menyediakan
memori
lebih
banyak
dibandingkan Sistem Operasi Ms-Dos.
5.6
Pemograman Program yang telah dibuat perlu dilakukan pengujian program. Pengujian
program sangat diperlukan untuk membuktikan bahwa program berjalan dengan benar yang diinginkan, karena sifat bahasa pemograman adalah melakukan apa yang diinginkan operator, jadi komputer hanya memproses. Bila dianggap memenuhi ketentuan dalam bahasa pemograman maka VB 6.0 akan menjalankan perintah dan mengeluarkan hasil untuk itu diperlukan beberapa cara terhadap program yang dibuat. 5.6.1 Uji modul Pengujian ini mengandalkan dari modul pribadi. Tiap-tiap dari program diuji untuk mengetahui apakah tiap bagian tersebut dapat berkerja dengan baik atau tidak. Untuk mengetahui apakah bagian tersebut sudah sesuai adalah apabila dibuat berdasarkan penanganan basis data secara sistematis.
95
5.6.2 Uji Pengembangan Pengujian ini diterapkan pada modul atau bagian-bagian program dipadukan kedalam seluruh paket program, atau pengujian dilakukan setelah masing-masing modul dipadukan. 5.6.3 Uji Operasional Uji operasional merupakan uji yang dilakukan untuk memeriksa bagaimana program bertindak dalam keadaan realistis. Pengujian dilakukan dengan menjalankan program kemudian mengaktifkan seluruh bagian sesuai dengan urutan untuk mempermudah didalam menjalankan aplikasi, dan diberikan pada menu-menu dan perintah-perintah yang ada disetiap program yang dijalankan. Sesuai dengan pengujian yang dilakukan maka program dapat dikatakan bekerja dengan baik dan telah sesuai dengan rancangan yang dibuat. Pembuatan program Aplikasi Absensi dan Gaji Honorer ini dilakukan dengan menggunakan VB 6.0
5.7
Pengujian Sistem Pengujian sistem dilakukan untuk memeriksa kekompakkan antar
komponen sistem, dengan tujuan utamanya adalah untuk memastikan elemenelemen sistem berfungsi sesuai yang diharapkan. Pengujian sistem termasuk juga pengujian program secara menyeluruh. Kumpulan program yang telah diintegrasikan perlu diuji coba atau ditest untuk melihat apakah sebuah program
96
dapat menerima dengan baik, memproses dan memberikan keluaran program yang baik pula. Tahap pertama pengujian dilakukan untuk proses input data, mulai dari input tabel golongan, tabel jabatan, tabel penandatangan dan data pegawai lalu input absensi masuk dan absensi pulang untuk mengetahui gaji pegawai, hal ini dilakukan untuk menghasilkan output yang dikehendaki dan hasilnya sesuai dengan perancangan yang diusulkan. Kemudian tahap selanjutnya dilakukan pengujian terhadap laporan yang tediri dari laporan relasi data pegawai, data absensi masuk, absensi pulang dan laporan gaji pegawai. 5.7.1 Pelaksanaan Pengujian Bentuk pengujian perangkat lunak yang digunakan dalam pengujian perangkat lunak Aplikasi Absensi dan Gaji Honorer ini adalah dengan menggunakan metode pengujian Black Box. Metode pengujian Black Box adalah bagaimana bentuk pengujian ini memperlihatkan masukan yang diterima dengan baik dan keluaran yang dihasilkan dengan cepat. Dan pengujian Black box ini juga mengidentifikasi kesalahan yang berhubungan dengan kesalahan fungsionalitas perangkat lunak yang tampak dalam kesalahan output. Pada tabel berikut akan dijabarkan hasil pengujian perangkat lunak dengan menggunakan metode pengujian Black Box. 1.
Pengujian Login Pengujian pada form login adalah untuk mengetahui tingkat
keamanan pengguna dalam mengakses perangkat lunak.
97
Tabel. 5.3 Pengujian Login Kasus dan Hasil Uji Data Masukan
Yang diharapkan
Pengamat
User Name dan
Dapat masuk ke
Dapat masuk ke
Password sesuai
Halaman Utama
Halaman Utama
dengan
apabila data
tabel_login
Username : 1 dan password 1. baru akan masuk ke halaman utama
2.
Pengujian Input Data Pegawai Tabel. 5.4 Pengujian Input Data Pegawai Kasus dan Hasil Uji Data Masukan
Yang diharapkan
Pengamat
NIK, Nama,
No. Hp diisi dengan
No. Hp diisi
Tempat Lahir,
angka
dengan angka
Tanggal Lahir,
maka angka terisi
Alamat, Agama,
tetapi jika selain
Jenis Kelamin,
angka tidak bisa
No. Hp,
diisi
Pendidikan, Golongan, Jabatan, Foto Pegawai, Kode Barcode
98
3. Pengujian Input Tabel Golongan Tabel. 5.5 Pengujian Input Tabel Golongan Kasus dan Hasil Uji Data Masukan
Yang diharapkan
Pengamat
Golongan, Gaji, PTKP, Golongan diisi
Jika Gaji dan PTKP
PPh, Insentif,
dengan huruf
diisi dengan angka
Nilai_Bersih
romawi
maka angka terisi
sedangkan Gaji
tetapi jika selain angka
dan PTKPdiisi
maka tidak bisa diisi
dengan angka
BAB VI PENUTUP
6.1
Kesimpulan Berdasarkan
hasil
penelitian dan pengamatan yang telah dilakukan di
Kantor Satuan Kerja Non Vertikal Tertentu Pelaksanaan Jalan Nasional wilayah I Provinsi Kepulauan Riau terhadap sistem yang diusulkan, maka penulis mengambil kesimpulan sebagai berikut :
a. Pencatatan data pegawai honorer lebih cepat dan efisien b. Pencatatan absensi baik absensi masuk maupun absensi pulang pegawai honorer menjadi lebih efektif c. Pembuatan laporan gaji lebih efisien dan mudah
Dengan
adanya
pengembangan
aplikasi
yang
berbasis
visual
permasalahan-permasalahan yang sebelumnya terjadi dapat di atasi dengan baik.
99
ini,
100
6.2
Saran-saran Dari hasil analisis pada aplikasi absensi dan gaji pegawai honorer, maka
diajukan saran-saran sebagai berikut :
1. Untuk menghindari hal-hal yang tidak diinginkan terhadap data seperti kerusakan, kehilangan maka perlu diterapkan keamanan data, salah satunya dengan pergantian Password secara berkala dan dibuatnya back up data. 2. Perlunya peningkatan terhadap kemampuan Sumber Daya Manusia dalam pengoperasian dan pengelolaan sistem dengan teknologi canggih.
DAFTAR PUSTAKA
INDRA PUTRA. “ Membuat Program Aplikasi Nyata Dengan Visual Basic 6.0”, Andi Offset, Yogyakarta, 2004 Jaja Janaludin Malik, Rachmadi Wijaya, Ridho Taufiq S,2010, Implementasi Teknologi Barcode dalam Dunia Bisnis, Hal 1 Yudha Yudhanto, S.Kom,2003, Sejarah Barcode,hal 3 http://kuliahku-kampusku.blogspot.com/2013/05/metodepengembangan-perangkat-lunak_21.html
FormSplash Option Explicit Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub
Private Sub Form_Load() lblversion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision lblproductname.Caption = "" End Sub
Private Sub Frame1_Click() Unload Me End Sub
Private Sub Timer1_Timer() bar.Value = bar.Value + 2 Screen.MousePointer = vbHourglass If bar.Value = 20 Then lblbar.Caption = "Loading Component . .........." ElseIf bar.Value = 40 Then lblbar.Caption = "Chek System File.........." ElseIf bar.Value = 60 Then lblbar.Caption = "Scanning Virus.........." ElseIf bar.Value = 80 Then
lblbar.Caption = "Finalizing.........." ElseIf bar.Value = 100 Then If bar.Value = 100 Then If Timer1.Interval >= 1 Then Unload Me Load FormLogin FormLogin.Show Screen.MousePointer = vbDefault
End If End If End If End Sub
FormLogin Private Sub CommandBatal_Click() Unload Me End Sub
Private Sub CommandMasuk_Click() If KeyAscii = 13 Then CommandMasuk.SetFocus txtUser.Text = "" txtPswrd.Text = "" End If
If txtUser.Text = "" Then Else If txtPswrd.Text = "" Then Else koneksi_database sql = "select * from login where user_name = '" & txtUser.Text & "'and Password = '" & txtPswrd.Text & "'" RsOpen sql If Rs.RecordCount > 0 Then 'MsgBox "Berhasil", vbInformation, "Confirm" FormMenuUtama.Show FormLogin.Hide Else MsgBox "User ID Salah Atau Password Anda Salah" & _ "......", vbInformation, "Confirm" txtUser.Text = "" txtPswrd.Text = "" CommandMasuk.SetFocus End If End If End If End Sub
Private Sub Form_Load() koneksi_database
End Sub
Private Sub txtUser_keypress(KeyAscii As Integer) If KeyAscii = 13 Then txtPswrd.SetFocus End If End Sub
Private Sub txtPswrd_keypress(KeyAscii As Integer) If KeyAscii = 13 Then 'txtUser.SetFocus 'txtUser.Text = "" 'txtPswrd.Text = "" CommandMasuk_Click End If End Sub
FormMenuUtama Private Sub cm_Click() MsgBox " Whisnu Suharno Adji Phone : (0771) 442230 / 085230501151 ", vbInformation, "Help Call" End Sub
Private Sub dpeg_Click()
FormMenuUtama.Enabled = False FormDataPegawai.Show End Sub
Private Sub keluar_Click() If MsgBox("Anda Ingin Menutup Aplikasi Ini..??", vbYesNo + vbQuestion, "Konfirmasi") = vbNo Then Cancel = 1 Else End End If End Sub
Private Sub koreksi_Click() FormMenuUtama.Enabled = False FormKoreksiAbsen.Show End Sub
Private Sub lapa_Click() FormMenuUtama.Enabled = False FormCetakLaporanAbsen.Show End Sub
Private Sub lapdaga_Click() ' CrystalReportGaji.ReportFileName = App.Path & "\Gaji2.rpt"
' CrystalReportGaji.WindowState = crptMaximized ' CrystalReportGaji.RetrieveDataFiles ' CrystalReportGaji.Action = 1
FormMenuUtama.Enabled = False FormAmprahGaji.Show End Sub
Private Sub lapdape_Click() crbill1.ReportFileName = App.Path & "\DataPegawai.rpt" crbill1.WindowState = crptMaximized crbill1.RetrieveDataFiles crbill1.Action = 1 End Sub
Private Sub m_Click() FormMenuUtama.Enabled = False FormAbsensiMasuk.Show End Sub
Private Sub p_Click() FormMenuUtama.Enabled = False FormAbsensiPulang.Show End Sub
Private Sub prog_Click() MsgBox "Program ini adalah program absensi dan gaji pegawai honorer yang dirancang untuk memudahkan Kantor Pelaksanaan Jalan Nasional Wilayah I Prov. Kepri dalam membuat laporan absensi dan gaji pegawai honorer dan Program ini hanyalah rancangan yang dibuat untuk memenuhi salah satu syarat untuk pencapaian gelar Sarjana Tehnik Informatika", vbInformation, "About Program" End Sub
Private Sub shonor_Click() FormMenuUtama.Enabled = False FormStatusHonor.Show End Sub
Private Sub tgol_Click() FormMenuUtama.Enabled = False FormTabelGolongan.Show End Sub
Private Sub tjab_Click() FormMenuUtama.Enabled = False FormTabelJabatan.Show End Sub
Private Sub tttd_Click() FormMenuUtama.Enabled = False FormTabelPenandatangan.Show End Sub
Private Sub upass_Click() FormMenuUtama.Enabled = False FormUbahPassword.Show End Sub
FormDataPegawai Dim conn As New ADODB.Connection Dim strconnect As String Dim gambarku As New ADODB.Stream Option Explicit
Sub bersih() 'ComboStatus.Text = "" 'TextStatus.Text = "" TextNIK.Text = "" TextNama.Text = "" TextTempatLahir.Text = "" 'DTPickerTanggalLahir.CalendarBackColor = "" TextAlamat.Text = "" ListAgama.Text = "" 'OptionPria.Value = "" 'OptionWanita.Value = "" TextNoHp.Text = "" ListPendidikan.Text = ""
ComboGolongan.Text = "" ComboJabatan.Text = "" 'Pic.Picture = "" TextKodeBarcode.Text = ""
'ComboStatus.Enabled = False 'TextStatus.Enabled = False TextNIK.Enabled = False TextNama.Enabled = False TextTempatLahir.Enabled = False DTPickerTanggalLahir.Enabled = False TextAlamat.Enabled = False ListAgama.Enabled = False OptionPria.Enabled = False OptionWanita.Enabled = False TextNoHp.Enabled = False ListPendidikan.Enabled = False ComboGolongan.Enabled = False ComboJabatan.Enabled = False 'Pic.Picture TextKodeBarcode.Enabled = False End Sub
Sub kondisimulai()
'ComboStatus.Enabled = True 'TextStatus.Enabled = True TextNIK.Enabled = True TextNama.Enabled = True TextTempatLahir.Enabled = True DTPickerTanggalLahir.Enabled = True TextAlamat.Enabled = True ListAgama.Enabled = True OptionPria.Enabled = True OptionWanita.Enabled = True TextNoHp.Enabled = True ListPendidikan.Enabled = True ComboGolongan.Enabled = False ComboJabatan.Enabled = True TextKodeBarcode.Enabled = False TextNIK.SetFocus End Sub
Sub kondisicommand1() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Enabled = True CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False
CommandUpload.Enabled = True End Sub
Sub kondisicommand2() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Visible = False CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand3() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False 'CommandSimpan1.Visible = False CommandUpload.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand4() CommandTambah.Enabled = False
CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Visible = False CommandSimpan.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False CommandUpload.Enabled = True End Sub
Sub kondisicommand5() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Visible = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True CommandUpload.Enabled = False End Sub
Sub kondisicommand6() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False
CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Private Sub ComboStatus_Click() If AdodcStatus.Recordset.RecordCount = 0 Then Else With AdodcStatus.Recordset .MoveFirst .Find "Kode_Status ='" + ComboStatus.Text + "'" If .EOF Then TextStatus.Text = "" Else TextStatus.Text = DataGridStatus.Columns(1).Text End If End With End If End Sub
Private Sub ComboStatus_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub
Private Sub CommandBatal_Click() bersih
kondisicommand5 End Sub
Private Sub CommandCetak_Click() ' CrystalReport1.ReportFileName = App.Path & "\KIPS.rpt" ' CrystalReport1.Connect = ~DSN = dsnABSENSI1 ' CrystalReport1.WindowState = crptMaximized ' CrystalReport1.RetrieveDataFiles ' CrystalReport1.Action = 1
CrystalReport1.Destination = crptToWindow CrystalReport1.WindowState = crptMaximized CrystalReport1.Action = 1 End Sub
Private Sub CommandEdit_Click() If AdodcDataPegawai.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
kondisimulai kondisicommand4
With DataGridDataPegawai
TextNIK.Text = .Columns(0).Text TextNama.Text = .Columns(1).Text TextTempatLahir.Text = .Columns(2).Text DTPickerTanggalLahir.Value = .Columns(3).Text TextAlamat.Text = .Columns(4).Text ListAgama.Text = .Columns(5).Text If .Columns(6).Text = "Laki-Laki" Then OptionPria.Value = True ElseIf .Columns(6).Text = "Perempuan" Then OptionWanita.Value = True End If TextNoHp.Text = .Columns(7).Text ListPendidikan.Text = .Columns(8).Text ComboGolongan.Text = .Columns(9).Text ComboJabatan.Text = .Columns(10).Text ' Pic.Picture = LoadPicture(11).FileName TextKodeBarcode.Text = .Columns(12).Text End With End Sub
Private Sub CommandHapus_Click() Dim hapus As String If AdodcDataPegawai.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub
End If
hapus = MsgBox("Yakin Untuk Menghapus Data?", vbQuestion + vbYesNo, "penghapusan data")
If hapus = vbYes Then AdodcDataPegawai.Recordset.Delete MsgBox "Data Terhapus", vbInformation, "informasi" AdodcDataPegawai.Refresh Else End If bersih End Sub
Private Sub CommandKeluar_Click() Unload Me FormMenuUtama.Enabled = True FormMenuUtama.Show End Sub
Private Sub CommandSimpan_Click() If (TextNIK.Text = "") Or (TextNama.Text = "") Or (TextTempatLahir.Text = "") Or (DTPickerTanggalLahir.Value = "") Or (TextAlamat.Text = "") Or (ListAgama.Text = "") Or (TextNoHp.Text = "") Or (ListPendidikan.Text = "") Or (ComboGolongan.Text = "") Or (ComboJabatan.Text = "") Or (TextKodeBarcode.Text = "") Then MsgBox "Data Belum Terisi Dengan Lengkap !", vbCritical, "informasi" Exit Sub
End If
If (OptionPria.Value = False) And (OptionWanita.Value = False) Then MsgBox "Data Belum Terisi Dengan Benar", vbCritical, "informasi" Exit Sub End If
With AdodcDataPegawai.Recordset .AddNew !NIK = TextNIK.Text !Nama_Pegawai = TextNama.Text !Tempat_Lahir = TextTempatLahir.Text !Tanggal_Lahir = DTPickerTanggalLahir.Value !Alamat = TextAlamat.Text !Agama = ListAgama.Text If OptionPria.Value = True Then !Jenis_Kelamin = "Laki-Laki" ElseIf OptionWanita.Value = True Then !Jenis_Kelamin = "Perempuan" End If !No_Hp = TextNoHp.Text !Pendidikan = ListPendidikan.Text !golongan = ComboGolongan.Text !Jabatan = ComboJabatan.Text Set gambarku = New ADODB.Stream
gambarku.Type = adTypeBinary gambarku.Open gambarku.LoadFromFile CommonDialog1.FileName .Fields.Item(11).Value = gambarku.Read !Kode_Barcode = TextKodeBarcode.Text .Update End With
Pic.Picture = LoadPicture("") MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand3 End Sub
Private Sub CommandSimpan1_Click() If (TextNIK.Text = "") Or (TextNama.Text = "") Or (TextTempatLahir.Text = "") Or (DTPickerTanggalLahir.Value = "") Or (TextAlamat.Text = "") Or (ListAgama.Text = "") Or (TextNoHp.Text = "") Or (ListPendidikan.Text = "") Or (ComboGolongan.Text = "") Or (ComboJabatan.Text = "") Or (TextKodeBarcode.Text = "") Then MsgBox "Data Belum Terisi Dengan Lengkap !", vbCritical, "informasi" Exit Sub End If
If (OptionPria.Value = False) And (OptionWanita.Value = False) Then MsgBox "Data Belum Terisi Dengan Benar", vbCritical, "informasi" Exit Sub
End If
With AdodcDataPegawai.Recordset .Update !NIK = TextNIK.Text !Nama_Pegawai = TextNama.Text !Tempat_Lahir = TextTempatLahir.Text !Tanggal_Lahir = DTPickerTanggalLahir.Value !Alamat = TextAlamat.Text !Agama = ListAgama.Text If OptionPria.Value = True Then !Jenis_Kelamin = "Laki-Laki" ElseIf OptionWanita.Value = True Then !Jenis_Kelamin = "Perempuan" End If !No_Hp = TextNoHp.Text !Pendidikan = ListPendidikan.Text !golongan = ComboGolongan.Text !Jabatan = ComboJabatan.Text Set gambarku = New ADODB.Stream gambarku.Type = adTypeBinary gambarku.Open gambarku.LoadFromFile CommonDialog1.FileName .Fields.Item(11).Value = gambarku.Read !Kode_Barcode = TextKodeBarcode.Text
.Update End With
Pic.Picture = LoadPicture("") MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand3 End Sub
Private Sub CommandTambah_Click() kondisimulai kondisicommand1 End Sub
Private Sub CommandUpload_Click() Dim sumber, Path As String CommonDialog1.DialogTitle = "Pilih Gambar" CommonDialog1.Filter = "Picture (*.Jpg; *.Jpeg; *.Bmp; *.Gif)|*.jpg; *.jpeg; *.bmp; *.gif" CommonDialog1.ShowOpen If CommonDialog1.FileName <> "" Then sumber = CommonDialog1.FileName Pic.Picture = LoadPicture(sumber) End If End Sub
Private Sub DataGridDataPegawai_Click() 'Kita mau tampilkan data ke Text1 dan Pic (Foto) On Error GoTo ErrHandler With AdodcDataPegawai.Recordset 'Nilai Text1 'Text1 = .Fields.Item(1).Value 'ComboStatus.Text = DataGridDataPegawai.Columns(0).Value 'TextStatus.Text = DataGridDataPegawai.Columns(1).Value TextNIK.Text = DataGridDataPegawai.Columns(0).Value TextNama.Text = DataGridDataPegawai.Columns(1).Value TextTempatLahir.Text = DataGridDataPegawai.Columns(2).Value DTPickerTanggalLahir.Value = DataGridDataPegawai.Columns(3).Value TextAlamat.Text = DataGridDataPegawai.Columns(4).Value ListAgama.Text = DataGridDataPegawai.Columns(5).Value ' ' ' ' '
If .Columns(8).Text = "Laki-Laki" Then OptionPria.Value = True ElseIf .Columns(8).Text = "Perempuan" Then OptionWanita.Value = True End If TextNoHp.Text = DataGridDataPegawai.Columns(7).Value ListPendidikan.Text = DataGridDataPegawai.Columns(8).Value ComboGolongan.Text = DataGridDataPegawai.Columns(9).Value ComboJabatan.Text = DataGridDataPegawai.Columns(10).Value 'Pic.Picture.Text = DataGridDataPegawai.Columns(11).Value TextKodeBarcode.Text = DataGridDataPegawai.Columns(12).Value
'menggunakan ADODB.Stream karena gambarnya dari database Set gambarku = New ADODB.Stream gambarku.Type = adTypeBinary gambarku.Open gambarku.Write .Fields.Item(11).Value ' simpan temporary gambar ke file gambarku.SaveToFile App.Path & "\Temp", adSaveCreateOverWrite 'temporary gambar yang disimpan ke file tadi di tampilkan ke Image1 Pic.Picture = LoadPicture(App.Path & "\Temp") 'hapus temporary gambar Kill App.Path & "\Temp" End With Exit Sub ErrHandler: 'kalau gambar kosong di database kita buat kosong juga untuk Image1 If Err.Number = "3001" Then Pic.Picture = LoadPicture(""): Exit Sub End Sub
Private Sub Form_Load() Dim strsql As String Dim indx As Integer
'tambah data status '
strsql = "Select * from status_honor"
'
RsOpen strsql
'
For indx = 1 To Rs.RecordCount
'
ComboStatus.AddItem Rs.Fields(0).Value
'
Rs.MoveNext
'
Next indx
'tambah data golongan strsql = "Select * from tabel_golongan" RsOpen strsql For indx = 1 To Rs.RecordCount ComboGolongan.AddItem Rs.Fields(0).Value Rs.MoveNext Next indx
'tambah data jabatan strsql = "Select * from tabel_jabatan" RsOpen strsql For indx = 1 To Rs.RecordCount ComboJabatan.AddItem Rs.Fields(1).Value Rs.MoveNext Next indx
DTPickerTanggalLahir.Value = Date End Sub
Private Sub ListPendidikan_Click()
If ListPendidikan.Text = "SD" Or ListPendidikan.Text = "SMP" Then ComboGolongan.Text = "I" ElseIf ListPendidikan.Text = "SMU SEDERAJAT" Or ListPendidikan.Text = "DIPLOMA (D3)" Then ComboGolongan.Text = "II" Else ComboGolongan.Text = "III" End If End Sub
Private Sub TextNIK_Change() TextKodeBarcode.Text = TextNIK.Text End Sub
'Private Sub TextNIK_KeyPress(KeyAscii As Integer) ' If KeyAscii = vbKeyReturn Then '
SendKeys "{tab}"
' ElseIf Not (KeyAscii >= Asc("0") _ ' And KeyAscii <= Asc("9") _ ' Or KeyAscii = vbKeyBack) Then '
Beep
'
KeyAscii = 0
' End If 'End Sub
Private Sub TextNoHp_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" ElseIf Not (KeyAscii >= Asc("0") _ And KeyAscii <= Asc("9") _ Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub
FormTabelGolongan Sub bersih() TextGolongan.Text = "" TextGaji.Text = "" TextPTKP.Text = "" TextPPh.Text = "" TextInsentif.Text = "" TextNilaiBersih.Text = ""
TextGolongan.Enabled = False TextGaji.Enabled = False TextPTKP.Enabled = False TextPPh.Enabled = False TextInsentif.Enabled = False
TextNilaiBersih.Enabled = False End Sub
Sub kondisimulai() TextGolongan.Enabled = True TextGaji.Enabled = True TextPTKP.Enabled = True TextPPh.Enabled = True TextInsentif.Enabled = True TextNilaiBersih.Enabled = True End Sub
Sub kondisimulai1() TextGolongan.Enabled = True TextGaji.Enabled = True TextPTKP.Enabled = True TextPPh.Enabled = False TextInsentif.Enabled = False TextNilaiBersih.Enabled = False End Sub
Sub kondisicommand1() CommandTambah.Enabled = False CommandSimpan.Enabled = True CommandHapus.Enabled = False
CommandEdit.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand2() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand3() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Enabled = True CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand4() CommandTambah.Enabled = False
CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Enabled = True CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Private Sub CommandBatal_Click() bersih kondisicommand2 End Sub
Private Sub CommandHapus_Click() ' Dim hapus As String ' If AdodcTabelGolongan.Recordset.RecordCount = 0 Then '
MsgBox "Data Kosong", vbCritical, "informasi"
' Exit Sub ' End If ' ' hapus = MsgBox("Yakin Untuk Menghapus Data?", vbQuestion + vbYesNo, "penghapusan data") ' ' If hapus = vbYes Then ' AdodcTabelGolongan.Recordset.Delete ' MsgBox "Data Terhapus", vbInformation, "informasi"
' AdodcTabelGolongan.Refresh ' Else ' End If ' bersih
Dim Str As String
Str = "delete from tabel_golongan where golongan = '" & TextGolongan.Text & "'" RsOpen Str
load_db bersih End Sub
Private Sub CommandKeluar_Click() Unload Me FormMenuUtama.Enabled = True FormMenuUtama.Show End Sub
Private Sub CommandSimpan_Click() Dim Str As String, strEdit As String
If TextGolongan.Enabled = True Then
Str = "insert into Tabel_Golongan (golongan, gaji, ptkp, pph, insentif, nilai_bersih) values ( '" & TextGolongan.Text & "', '" & TextGaji.Text & "','" & TextPTKP.Text & "','" & TextPPh.Text & "','" & TextInsentif.Text & "','" & TextNilaiBersih.Text & "')" RsOpen Str Else strEdit = "Update Tabel_Golongan set gaji = '" & TextGaji.Text & "', ptkp = '" & TextPTKP.Text & "', pph = '" & TextPPh.Text & "', insentif = '" & TextInsentif.Text & "',nilai_bersih = '" & TextNilaiBersih.Text & "' where golongan = '" & TextGolongan.Text & "'" RsOpen strEdit End If
load_db bersih kondisicommand2 End Sub
Private Sub CommandTambah_Click() kondisimulai1 kondisicommand1 End Sub
Private Sub CommandEdit_Click() ' ' Dim strEdit As String ' If AdodcTabelGolongan.Recordset.RecordCount = 0 Then '
MsgBox "Data Kosong", vbCritical, "informasi"
'
Exit Sub
' End If ' '
kondisimulai
'
kondisicommand4
' '
With DataGridGolongan
'
TextGolongan.Text = .Columns(0).Text
'
TextGaji.Text = .Columns(1).Text
'
TextPTKP.Text = .Columns(2).Text
'
TextPPh.Text = .Columns(3).Text
'
TextInsentif.Text = .Columns(4).Text
'
TextNilaiBersih.Text = .Columns(5).Text
' End With
If AdodcTabelGolongan.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
TextGolongan.Enabled = False TextGaji.Enabled = True TextPTKP.Enabled = True TextInsentif.Enabled = False
kondisicommand4 End Sub
Private Sub DataGridGolongan_Click() TextGolongan.Text = DataGridGolongan.Columns(0).Value TextGaji.Text = DataGridGolongan.Columns(1).Value TextPTKP.Text = DataGridGolongan.Columns(2).Value TextPPh.Text = DataGridGolongan.Columns(3).Value TextInsentif.Text = DataGridGolongan.Columns(4).Value TextNilaiBersih.Text = DataGridGolongan.Columns(5).Value End Sub
Private Sub Form_Load() load_db End Sub
Private Sub load_db() Dim Str As String
Str = "select * from tabel_golongan"
RsOpen Str
Set DataGridGolongan.DataSource = Rs End Sub
Private Sub Text1_LostFocus() TextNilaiBersih.Text = (Val(TextNilaiBersih.Text) + Val(TextInsentif.Text)) End Sub
Private Sub TextGaji_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" ElseIf Not (KeyAscii >= Asc("0") _ And KeyAscii <= Asc("9") _ Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub
Private Sub TextInsentif_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" ElseIf Not (KeyAscii >= Asc("0") _ And KeyAscii <= Asc("9") _ Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If
End Sub
Private Sub TextPTKP_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{tab}" ElseIf Not (KeyAscii >= Asc("0") _ And KeyAscii <= Asc("9") _ Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub
Private Sub TextPTKP_LostFocus() Dim pph As Long Dim gaji As Long Dim i As Long
If ((Val(TextGaji.Text) > Val(TextPTKP.Text))) Then pph = 0.05 * (Val(TextGaji.Text) - Val(TextPTKP.Text)) gaji = (Val(TextGaji.Text) + Val(TextInsentif.Text)) - pph 'i = (Val(TextGaji.Text) + Val(TextInsentif.Text)) TextInsentif.Text = 0.3 * Val(TextGaji.Text) 'TextNilaiBersih.Text = (Val(TextGaji.Text) - pph) + Val(TextInsentif.Text) Else
pph = 0 TextInsentif.Text = 0.3 * Val(TextGaji.Text) gaji = Val(TextGaji.Text) 'i = Val(TextInsentif.Text)
End If
TextNilaiBersih.Text = (Val(TextGaji.Text) - pph) + Val(TextInsentif.Text) TextPPh.Text = pph 'TextNilaiBersih.Text = gaji End Sub
FormTabelJabatan Option Explicit Sub bersih() TextKodeJabatan.Text = "" TextJabatan.Text = ""
TextKodeJabatan.Enabled = False TextJabatan.Enabled = False End Sub
Sub kondisimulai() TextKodeJabatan.Text = "" TextJabatan.Text = ""
TextKodeJabatan.Enabled = True TextJabatan.Enabled = True End Sub
Sub kondisimulai1() TextKodeJabatan.Text = "" TextJabatan.Text = ""
TextKodeJabatan.Enabled = False TextJabatan.Enabled = True End Sub
Sub kondisicommand1() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Enabled = True CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand2() CommandTambah.Enabled = False
CommandEdit.Enabled = False CommandSimpan.Visible = False CommandSimpan1.Enabled = True CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand3() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False 'CommandSimpan1.Visible = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand4() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Visible = False CommandSimpan.Enabled = False CommandBatal.Enabled = True
CommandKeluar.Enabled = False End Sub
Sub kondisicommand5() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Visible = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand6() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Private Sub CommandBatal_Click() bersih kondisicommand5
End Sub
Private Sub CommandHapus_Click() Dim hapus As String If AdodcTabelJabatan.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
hapus = MsgBox("Yakin Untuk Menghapus Data?", vbQuestion + vbYesNo, "penghapusan data")
If hapus = vbYes Then AdodcTabelJabatan.Recordset.Delete MsgBox "Data Terhapus", vbInformation, "informasi" AdodcTabelJabatan.Refresh Else End If bersih End Sub
Private Sub CommandKeluar_Click() Unload Me FormMenuUtama.Enabled = True FormMenuUtama.Show
End Sub
Private Sub CommandSimpan_Click() If (TextKodeJabatan.Text = "") Or (TextJabatan.Text = "") Then MsgBox "Data Belum Lengkap !!!", vbCritical, "informasi" Exit Sub End If
With AdodcTabelJabatan.Recordset .AddNew !Kode_Jabatan = TextKodeJabatan.Text !Jabatan = TextJabatan.Text .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand3 End Sub
Private Sub CommandSimpan1_Click() If (TextKodeJabatan.Text = "") Or (TextJabatan.Text = "") Then MsgBox "Data Belum Lengkap !!!", vbCritical, "informasi" Exit Sub End If
With AdodcTabelJabatan.Recordset .Update !Kode_Jabatan = TextKodeJabatan.Text !Jabatan = TextJabatan.Text End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand5 End Sub
Private Sub CommandEdit_Click() Dim strEdit As String If AdodcTabelJabatan.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
kondisimulai1 kondisicommand2
With DataGridTabelJabatan TextKodeJabatan.Text = .Columns(0).Text TextJabatan.Text = .Columns(1).Text
End With End Sub
Private Sub CommandTambah_Click() kondisimulai kondisicommand1 TextKodeJabatan.Text = "KJ-" End Sub
'Private Sub DataGridTabelJabatan_Click() ' TextKodeJabatan.Text = DataGridTabelJabatan.Columns(0).Value ' TextJabatan.Text = DataGridTabelJabatan.Columns(1).Value 'End Sub
FormPenandatangan
Sub bersih() TextNama.Text = "" TextJabatan.Text = "" TextNIP.Text = "" TextKota.Text = ""
TextNama.Enabled = False TextJabatan.Enabled = False TextNIP.Enabled = False
TextKota.Enabled = False
End Sub
Sub kondisimulai() TextNama.Text = "" TextJabatan.Text = "" TextNIP.Text = "" TextKota.Text = ""
TextNama.Enabled = True TextJabatan.Enabled = True TextNIP.Enabled = True TextKota.Enabled = True End Sub
Sub kondisicommand1() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Enabled = True CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand2() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Visible = False CommandSimpan1.Enabled = True CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand3() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False 'CommandSimpan1.Visible = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand4() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Visible = False
CommandSimpan.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand5() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Visible = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand6() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Private Sub CommandBatal_Click()
bersih kondisicommand5 End Sub
Private Sub CommandHapus_Click() Dim hapus As String
If AdodcPenandatangan.Recordset.RecordCount = 0 Then MsgBox "Data Masih Kosong", vbCritical, "informasi" Exit Sub End If
hapus = MsgBox("Yakin Untuk Menghapus?", vbQuestion + vbYesNo, "penghapusan data")
If hapus = vbYes Then AdodcPenandatangan.Recordset.Delete MsgBox "Data Terhapus", vbInformation, "informasi" AdodcPenandatangan.Refresh Else End If bersih End Sub
Private Sub CommandKeluar_Click() Unload Me
FormMenuUtama.Enabled = True FormMenuUtama.Show End Sub
Private Sub CommandSimpan_Click() Dim Str As String
If (TextNama.Text = "") Or (TextJabatan.Text = "") Or (TextNIP.Text = "") Or (TextKota.Text = "") Then MsgBox "Data Belum Lengkap !!!", vbCritical, "informasi" Exit Sub End If
With AdodcPenandatangan.Recordset .AddNew !Nama = TextNama.Text !Jabatan = TextJabatan.Text !NIP = TextNIP.Text !Kota = TextKota.Text .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand3
End Sub
Private Sub CommandEdit_Click() Dim strEdit As String If AdodcPenandatangan.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
kondisimulai kondisicommand2
With DataGridPenandatangan TextNama.Text = .Columns(0).Text TextJabatan.Text = .Columns(1).Text TextNIP.Text = .Columns(2).Text TextKota.Text = .Columns(3).Text End With End Sub
Private Sub CommandSimpan1_Click() Dim Str As String
If (TextNama.Text = "") Or (TextJabatan.Text = "") Or (TextNIP.Text = "") Or (TextKota.Text = "") Then
MsgBox "Data Belum Lengkap !!!", vbCritical, "informasi" Exit Sub End If
With AdodcPenandatangan.Recordset .Update !Nama = TextNama.Text !Jabatan = TextJabatan.Text !NIP = TextNIP.Text !Kota = TextKota.Text .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand5
End Sub
Private Sub CommandTambah_Click() kondisimulai kondisicommand1 End Sub
'Private Sub DataGridPenandatangan_Click()
' TextNama.Text = DataGridPenandatangan.Columns(0).Value ' TextJabatan.Text = DataGridPenandatangan.Columns(1).Value ' TextNIP.Text = DataGridPenandatangan.Columns(2).Value ' TextKota.Text = DataGridPenandatangan.Columns(3).Value 'End Sub
'Private Sub TextNIP_KeyPress(KeyAscii As Integer) ' If KeyAscii = vbKeyReturn Then '
SendKeys "{tab}"
' ElseIf Not (KeyAscii >= Asc("0") _ ' And KeyAscii <= Asc("9") _ ' Or KeyAscii = vbKeyBack) Then '
Beep
'
KeyAscii = 0
' End If 'End Sub
FormUbahPassword Option Explicit Sub bersih() TextUserName.Text = "" TextNewPassword.Text = "" TextConfirmPassword.Text = ""
TextUserName.Enabled = False
TextNewPassword.Enabled = False TextConfirmPassword.Enabled = False End Sub
Sub kondisimulai() TextUserName.Text = "" TextNewPassword.Text = "" TextConfirmPassword.Text = ""
TextUserName.Enabled = True TextNewPassword.Enabled = True TextConfirmPassword.Enabled = True
End Sub
Sub kondisicommand1() CommandUbah.Enabled = False CommandBatal.Enabled = True CommandSimpan.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand2() CommandTambah.Enabled = False CommandEdit.Enabled = False
CommandSimpan.Visible = False CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand3() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandSimpan1.Visible = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand4() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandHapus.Enabled = False CommandSimpan.Visible = False CommandSimpan.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand5() CommandUbah.Enabled = True CommandBatal.Enabled = False CommandSimpan.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand6() CommandTambah.Enabled = True CommandEdit.Enabled = True CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Private Sub CommandBatal_Click() bersih kondisicommand5 End Sub
Private Sub CommandKeluar_Click() Unload Me FormMenuUtama.Enabled = True
FormMenuUtama.Show End Sub
Private Sub CommandSimpan_Click() If (TextUserName.Text = "") Or (TextNewPassword.Text = "") Or (TextConfirmPassword.Text = "") Then MsgBox "Data Belum Lengkap !!!", vbCritical, "informasi" Exit Sub End If
With Adodc1.Recordset .Update !User_Name = TextUserName.Text !Password = TextNewPassword.Text .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand5 End Sub
Private Sub CommandUbah_Click() kondisimulai kondisicommand1
End Sub
FormKoreksiAbsen
Sub bersih() TextKodeBarcode.Text = "" TextKeterangan.Text = "" 'DTPickerTanggal1.Value = "" 'DTPickerTanggal2.Value = "" 'TextNoDasarKoreksi.Text = "" 'DTPickerTanggalKoreksi.Value = ""
TextKodeBarcode.Enabled = False TextKeterangan.Enabled = False DTPickerTanggal1.Enabled = False DTPickerTanggal2.Enabled = False 'TextNoDasarKoreksi.Enabled = False 'DTPickerTanggalKoreksi.Enabled = False End Sub
Sub kondisimulai() TextKodeBarcode.Text = "" TextKeterangan.Text = "" 'DTPickerTanggal1.Value = "" 'DTPickerTanggal2.Value = ""
'TextNoDasarKoreksi.Text = "" 'DTPickerTanggalKoreksi.Value = ""
TextKodeBarcode.Enabled = True TextKeterangan.Enabled = True DTPickerTanggal1.Enabled = True DTPickerTanggal2.Enabled = True 'TextNoDasarKoreksi.Enabled = True 'DTPickerTanggalKoreksi.Enabled = True End Sub
Sub kondisicommand1() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Enabled = True 'CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand2() CommandTambah.Enabled = False CommandEdit.Enabled = False CommandSimpan.Visible = False
'CommandHapus.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand3() CommandTambah.Enabled = True CommandEdit.Enabled = True 'CommandHapus.Enabled = True CommandSimpan.Enabled = False 'CommandSimpan1.Visible = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand4() CommandTambah.Enabled = False CommandEdit.Enabled = False 'CommandHapus.Enabled = False CommandSimpan.Visible = False CommandSimpan.Enabled = False CommandBatal.Enabled = True CommandKeluar.Enabled = False End Sub
Sub kondisicommand5() CommandTambah.Enabled = True CommandEdit.Enabled = True 'CommandHapus.Enabled = True CommandSimpan.Visible = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
Sub kondisicommand6() CommandTambah.Enabled = True CommandEdit.Enabled = True 'CommandHapus.Enabled = True CommandSimpan.Enabled = False CommandBatal.Enabled = False CommandKeluar.Enabled = True End Sub
'Private Sub CommandHapus_Click() ' Dim hapus As String ' If AdodcKoreksiAbsen.Recordset.RecordCount = 0 Then '
MsgBox "Data Kosong", vbCritical, "informasi"
' Exit Sub ' End If
' ' hapus = MsgBox("Data Dihapus?", vbQuestion + vbYesNo, "penghapusan data") ' ' If hapus = vbYes Then '
AdodcKoreksiAbsen.Recordset.Delete
'
MsgBox "Data Terhapus", vbInformation, "informasi"
'
AdodcKoreksiAbsen.Refresh
' End If ' bersih 'End Sub
Private Sub CommandSimpan_Click() Dim Str As String Dim strCheck As String, strInsert As String, tgl_absen As String
If (TextKodeBarcode.Text = "") Or (TextNamaPegawai.Text = "") Or (TextKeterangan.Text = "") Or (DTPickerTanggal1.Value = "") Or (DTPickerTanggal2.Value = "") Then MsgBox "Data Belum Terisi Dengan Lengkap !", vbCritical, "informasi" Exit Sub End If
With AdodcKoreksiAbsen.Recordset .AddNew !Kode_Barcode = TextKodeBarcode.Text !Nama_Pegawai = TextNamaPegawai.Text
!Keterangan = TextKeterangan.Text !Dari_Tanggal = DTPickerTanggal1.Value !Sampai_Tanggal = DTPickerTanggal2.Value '!No_Dasar_Koreksi = TextNoDasarKoreksi.Text '!Tanggal_Koreksi = DTPickerTanggalKoreksi.Value .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi"
tgl_absen = DTPickerTanggal1.Value
Do While tgl_absen <= DTPickerTanggal2.Value
strCheck = "select * from absen_masuk where kode_barcode = '" & TextKodeBarcode.Text & "' and tanggal = #" & Format$(tgl_absen, "MM/dd/yyyy") & "#" RsOpen strCheck
If Rs.RecordCount = 0 Then strInsert = "insert into Absen_Masuk (Kode_Barcode, Nama_Pegawai, Jam, Tanggal, Keterangan) values ('" & TextKodeBarcode.Text & "','" & TextNamaPegawai.Text & "','00:00','" & tgl_absen & "','" & TextKeterangan.Text & "')" RsOpen strInsert
strInsert = "insert into Absen_pulang (Kode_Barcode, Nama_Pegawai, Jam, Tanggal) values ('" & TextKodeBarcode.Text & "','" & TextNamaPegawai.Text & "','00:00','" & tgl_absen & "')"
RsOpen strInsert Else strInsert = "insert into Absen_pulang (Kode_Barcode, Nama_Pegawai, Jam, Tanggal, Keterangan) values ('" & TextKodeBarcode.Text & "','" & TextNamaPegawai.Text & "','00:00','" & tgl_absen & "','" & TextKeterangan.Text & "')" RsOpen strInsert End If
'MsgBox tgl_absen, vbOKOnly tgl_absen = DateAdd("d", 1, tgl_absen) Loop
bersih kondisicommand3 End Sub
Private Sub CommandEdit_Click() If AdodcKoreksiAbsen.Recordset.RecordCount = 0 Then MsgBox "Data Kosong", vbCritical, "informasi" Exit Sub End If
kondisimulai kondisicommand2
With DataGridKoreksiAbsen
TextKodeBarcode.Text = .Columns(0).Text TextNamaPegawai.Text = .Columns(1).Text TextKeterangan.Text = .Columns(2).Text DTPickerTanggal1.Value = .Columns(3).Text DTPickerTanggal2.Value = .Columns(4).Text 'TextNoDasarKoreksi.Text = .Columns(5).Text 'DTPickerTanggalKoreksi.Value = .Columns(6).Text End With
End Sub
Private Sub CommandSimpan1_Click() Dim Str As String
If (TextKodeBarcode.Text = "") Or (TextNamaPegawai.Text = "") Or (TextKeterangan.Text = "") Or (DTPickerTanggal1.Value = "") Or (DTPickerTanggal2.Value = "") Then MsgBox "Data Belum Terisi Dengan Lengkap !", vbCritical, "informasi" Exit Sub End If
With AdodcKoreksiAbsen.Recordset .Update !Kode_Barcode = TextKodeBarcode.Text !Nama_Pegawai = TextNamaPegawai.Text !Keterangan = TextKeterangan.Text
!Dari_Tanggal = DTPickerTanggal1.Value !Sampai_Tanggal = DTPickerTanggal2.Value '!No_Dasar_Koreksi = TextNoDasarKoreksi.Text '!Tanggal_Koreksi = DTPickerTanggalKoreksi.Value .Update End With
MsgBox "Data Tersimpan", vbInformation, "informasi" bersih kondisicommand5 End Sub
Private Sub CommandTambah_Click() kondisimulai kondisicommand1 End Sub
Private Sub CommandKeluar_Click() Unload Me FormMenuUtama.Enabled = True FormMenuUtama.Show End Sub
Private Sub CommandBatal_Click() bersih
kondisicommand5 End Sub
Private Sub Form_Load() DTPickerTanggal1.Value = Date DTPickerTanggal2.Value = Date 'DTPickerTanggalKoreksi.Value = Date End Sub
Private Sub TextKodeBarcode_KeyUp(KeyCode As Integer, Shift As Integer) If Len(TextKodeBarcode.Text) = 12 Then
Dim strsql As String, strInsert As String strsql = "select Nama_Pegawai from data_pegawai where nik = '" & TextKodeBarcode.Text & "'" RsOpen strsql
If Rs.RecordCount > 0 Then
TextNamaPegawai.Text = Rs.Fields(0).Value
strsql = "select * from Koreksi_Absen where Kode_Barcode = '" & TextKodeBarcode.Text & "' " RsOpen strsql Else MsgBox "Pegawai tidak terdaftar", vbCritical, "Peringatan"
End If End If End Sub
FormCetakLaporan Dim StrQuery As String Dim Status As Byte Dim a As String Private Sub CbBulan_Click() If CbBulan.Text = "Januari" Then a = "01" ElseIf CbBulan.Text = "Februari" Then a = "02" ElseIf CbBulan.Text = "Maret" Then a = "03" ElseIf CbBulan.Text = "April" Then a = "04" ElseIf CbBulan.Text = "Mei" Then a = "05" ElseIf CbBulan.Text = "Juni" Then a = "06" ElseIf CbBulan.Text = "Juli" Then a = "07" ElseIf CbBulan.Text = "Agustus" Then a = "08"
ElseIf CbBulan.Text = "September" Then a = "09" ElseIf CbBulan.Text = "Oktober" Then a = "10" ElseIf CbBulan.Text = "November" Then a = "11" Else a = "12" End If End Sub
Private Sub cmdkeluar_Click() ' Unload Me '
FormMenuUtama.Enabled = True
'
FormMenuUtama.Show
End Sub
Private Sub CmdView_Click() 'If OptLap(0).Value Then ' If CbBulan.Text = "" Then '
MsgBox "Bulan harus diisi!!", vbInformation, "Perhatian"
'
CbBulan.SetFocus
'
Exit Sub
' End If ' If CbTahun.Text = "" Then
'
MsgBox "Tahun harus diisi!!", vbInformation, "Perhatian"
'
CbTahun.SetFocus
'
Exit Sub
'
End If
' crbill1.ReportFileName = App.Path & "\Absen.rpt" ' crbill1.SelectionFormula = "month({absen_masuk.TANGGAL})=" & a & " and year({absen_masuk.TANGGAL})=" & CbTahun.Text & " " ' crbill1.WindowState = crptMaximized ' crbill1.RetrieveDataFiles ' crbill1.Action = 1 'Else ' If CbTahun.Text = "" Then '
MsgBox "Tahun harus diisi!!", vbInformation, "Perhatian"
'
CbTahun.SetFocus
'
Exit Sub
'
End If
' CbBulan.Enabled = False ' crbill1.ReportFileName = App.Path & "\Absen.rpt" ' crbill1.SelectionFormula = " year({absen_masuk.TANGGAL})=" & CbTahun.Text & " " ' crbill1.WindowState = crptMaximized ' crbill1.RetrieveDataFiles ' crbill1.Action = 1 'End If ''Unload Me End Sub
Sub tengah(X) X.Top = (Screen.Height - X.Height) / 3 X.Left = (Screen.Width - X.Width) / 2 End Sub
Private Sub crbill1_Click()
End Sub
Private Sub Form_Load() Call tengah(Me) Dim StrQuery As String Dim Status As Byte Dim a As String If CbBulan.Text = "Januari" Then a = "01" ElseIf CbBulan.Text = "Februari" Then a = "02" ElseIf CbBulan.Text = "Maret" Then a = "03" ElseIf CbBulan.Text = "April" Then a = "04" ElseIf CbBulan.Text = "Mei" Then a = "05" ElseIf CbBulan.Text = "Juni" Then
a = "06" ElseIf CbBulan.Text = "Juli" Then a = "07" ElseIf CbBulan.Text = "Agustus" Then a = "08" ElseIf CbBulan.Text = "September" Then a = "09" ElseIf CbBulan.Text = "Oktober" Then a = "10" ElseIf CbBulan.Text = "November" Then a = "11" Else a = "12" End If CbBulan.Text = "" End Sub
Private Sub Label3_Click(Index As Integer) Unload Me End Sub
Private Sub OptLap_Click(Index As Integer) If OptLap(0).Value Then CbBulan.Enabled = True CbTahun.Enabled = True
ElseIf OptLap(1).Value Then CbBulan.Enabled = False End If End Sub
Private Sub XPButton1_Click() If OptLap(0).Value Then If CbBulan.Text = "" Then MsgBox "Bulan harus diisi!!", vbInformation, "Perhatian" CbBulan.SetFocus Exit Sub End If If CbTahun.Text = "" Then MsgBox "Tahun harus diisi!!", vbInformation, "Perhatian" CbTahun.SetFocus Exit Sub End If crbill1.ReportFileName = App.Path & "\Absen.rpt" crbill1.SelectionFormula = "month({absen_masuk.TANGGAL})=" & a & " and year({absen_masuk.TANGGAL})=" & CbTahun.Text & " " crbill1.WindowState = crptMaximized crbill1.RetrieveDataFiles crbill1.Action = 1 Else
If CbTahun.Text = "" Then MsgBox "Tahun harus diisi!!", vbInformation, "Perhatian" CbTahun.SetFocus Exit Sub End If CbBulan.Enabled = False crbill1.ReportFileName = App.Path & "\Absen.rpt" crbill1.SelectionFormula = " year({absen_masuk.TANGGAL})=" & CbTahun.Text & " " crbill1.WindowState = crptMaximized crbill1.RetrieveDataFiles crbill1.Action = 1 End If End Sub
Private Sub XPButton2_Click() Unload Me FormMenuUtama.Enabled = True FormMenuUtama.Show End Sub