PERANCANGAN SISTEM INFORMASI PENGGAJIAN PADA DINAS KEPENDUDUKAN DAN CATATAN SIPIL KABUPATEN ACEH BARAT DAYA
KARYA TULIS ILMIAH ( KTI )
Diajukan untuk melengkapi tugas-tugas dan memenuhi syarat-syarat guna memperoleh Gelar Ahli Madya Komputer STMIK U’Budiyah Indonesia
Oleh:
Teuku Mas’Adi 08123014
PROGRAM STUDI DIII MANAJEMEN INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK U’BUDIYAH INDONESIA BANDA ACEH 2011
PERANCANGAN SISTEM INFORMASI PENGGAJIAN PADA DINAS KEPENDUDUKAN DAN CATATAN SIPIL KABUPATEN ACEH BARAT DAYA
KARYA TULIS ILMIAH (KTI)
Oleh:
Teuku Mas’Adi 08123014
Disetujui oleh Dosen Pembimbing,
( Mogi Diryanta Iskandar, S.Kom )
Mengetahui,
Ketua Prodi Manajemen Informatika,
Ketua STMIK U’budiyah Indonesia,
( Mogi Diryanta Iskandar, S.Kom )
( Sayed Muchallil, ST. MS )
LEMBAR PENGESAHAN
PERANCANGAN SISTEM INFORMASI PENGGAJIAN PADA DINAS KEPENDUDUKAN DAN CATATAN SIPIL KABUPATEN ACEH BARAT DAYA
Karya Tulis Ilmiah (KTI) oleh Teuku Mas’Adi ini telah dipertahankan didepan dewan penguji pada tanggal 24 Agustus 2011.
Dewan Penguji :
1. Ketua
:
Agustiar, ST. MT
2. Anggota
:
Tarmizi, ST
3. Anggota
:
Cahaya Purnama, S. Kom
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa Karya Tulis Ilmiah (KTI) dengan judul “PERANCANGAN SISTEM INFORMASI PENGGAJIAN PADA DINAS KEPENDUDUKAN DAN CATATAN SIPIL KABUPATEN ACEH BARAT DAYA” ini beserta seluruh isinya adalah benar-benar karya saya sendiri, dan tidak melakukan penjiplakan atau pengutipan dengan cara yang tidak sesuai dengan etika keilmuan yang berlaku dalam masyarakat keilmuan. Atas pernyataan ini saya siap menanggung resiko atau sanksi yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini atau ada klaim dari pihak lain terhadap keaslian karya saya ini.
Banda Aceh, 25 Agustus 2011 Yang membuat pernyataan,
Teuku Mas’Adi 08123014
ABSTRAK
Perkembangan teknologi khususnya komputer pada saat ini mempunyai peranan yang sangat penting dalam kehidupan di masyarakat. Teknologi yang berkembang sesuai tuntunan zaman diharapkan menjadi sarana penunjang untuk menangani permasalahan yang timbul dalam mengelola dan menyelesaikan permasalahan yang ada di perusahaan, organisasi atau instansi. Begitu juga dengan Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya, diharapkan dapat menyediakan informasi yang tepat dan akurat dalam membuat data informasi penggajian pegawai. Sistem yang sedang berjalan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya saat ini belum sepenuhnya menggunakan sistem komputerisasi. Sistem Informasi Penggajian ini dirancang sedemikian rupa untuk mempermudah dalam pembuatan laporan penggajian yang lebih cepat dan akurat serta menarik. Sistem Informasi Penggajian ini bersifat dinamis, yaitu berarti bahwa informasi yang diberikan tersebut dapat berubah sewaktu-waktu berdasarkan keadaan yang sedang terjadi. Kata Kunci : Sistem Informasi, Sistem Penggajian.
The development of computer technology especially when it has a very important role in the life of the community. Technology is developing appropriate guidance is expected to be a means of supporting day to handle problems that arise in managing and resolving existing problems in the company, organization or agency. So also with the Department of Population and Civil Aceh Barat Daya District, is expected to provide precise and accurate information in making employee payroll data information. The system is running on the Department of Population and Civil Aceh Barat Daya Regency is currently not fully computerized. Payroll Information System is designed in such a way as to facilitate the reporting of payroll faster and more accurate and interesting. Payroll Information System is dynamic, which means that the information provided may change at any time based on the state is going. Keywords : Information Systems, Payroll Systems.
KATA PENGANTAR Dengan mengucapkan segala puji bagi kehadirat Allah SWT, yang Maha Pengasih lagi Maha Penyanyang, karena dengan rahmat dan hidayah-Nya Karya Tulis Ilmiah (KTI) ini dapat diselesaikan. Shalawat dan salam penulis sanjungkan kepada Nabi Besar Muhammad SAW, beserta para sahabat dan keluarga beliau atas segala perjuangan dan pengorbanan merekalah, kita telah terbebas dari alam kebodohan dan menuju ke alam yang berilmu pengetahuan seperti yang kita rasakan sekarang sampai detik ini. Alhamdulillah, berkat taufiq dan hidayah-Nya, penulis telah dapat menyelesaikan
penyusunan
Karya
Tulis
Ilmiah
(KTI)
yang
berjudul
“PERANCANGAN SISTEM INFORMASI PENGGAJIAN PADA DINAS KEPENDUDUKAN DAN CATATAN SIPIL KABUPATEN ACEH BARAT DAYA”. Penyusunan Karya Tulis Ilmiah (KTI) ini disusun untuk memenuhi persyaratan dalam rangka menyelesaikan program studi DIII Manajemen Informatika pada Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK U’Budiyah Indonesia) Banda Aceh. Karya Tulis Ilmiah ini belumlah mencapai taraf sempurna, karena masih banyak terdapat kekurangan dan kesulitan yang dihadapi dalam proses penyusunan dan penulisan Karya Tulis Ilmiah (KTI) ini serta keterbatasan ilmu yang penulis miliki. Meskipun pada akhirnya berkat kesabaran dan pertolongan Allah SWT, segala kendala yang menghadang dapat penulis lewati. Karya Tulis Ilmiah (KTI) ini juga tidak akan tersusun bila tidak mendapat dukungan dari berbagai pihak yang memberikan bantuan baik moral maupun
spiritual. Oleh karena itu, dalam kesempatan ini penulis mengucapkan terima kasih dan penghargaan yang setinggi-tingginya kepada: 1. Bapak Sayed Muchallil, ST. MS selaku Ketua STMIK U’budiyah Indonesia. 2. Bapak Mogi Diryanta Iskandar, S.Kom sebagai pembimbing sekaligus ketua program studi Manajemen Informatika, yang telah meluangkan waktu, tenaga, pikiran serta membimbing penulis dalam menyelesaikan penyusunan Karya Tulis Ilmiah (KTI) ini. 3. Bapak Agustiar, ST. MT selaku Ketua Sidang, Bapak Tarmizi, ST selaku Dosen Pengjuji I dan Ibu Cahaya Purnama, S. Kom selaku Dosen Penguji II yang masih menyempatkan diri memberi bimbingan dan pengarahan kepada penulis sehingga Karya Tulis Ilmiah (KTI) ini terselesaikan. 4. Dosen-dosen serta staff Akademik STMIK U’budiyah Indonesia. 5. Ayahanda dan Ibunda tercinta, yang telah membesarkan dan membimbing penulis baik secara moral maupun secara material, serta do’anya yang tulus sehingga penulis dapat menyelesaikan studi. Tiada yang dapat penulis berikan kecuali rasa hormat, terima kasih, dan cinta yang sedalam-dalamnya dan hanya Allah saja kiranya dapat membalasnya dan semoga Ayahnda dan Ibunda senantiasa dalam lindungan Allah SWT. Amiiin…! 6. Kepada saudara-saudara penulis T. Peni Desmad, T. Rahmad Faisal, T. Indra, terima kasih atas motivasi yang kalian berikan. 7. Terima kasih juga penulis ucapkan kepada Bapak Kepala Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya beserta seluruh
para pegawai yang telah memberikan data serta informasi kepada penulis dalam rangka penyelesaian penyusunan Karya Tulis Ilmiah (KTI) ini. 8. Kepada sahabat-sahabat penulis dan seluruh mahasiswa STMIK yang tidak mungkin disebut namanya satu persatu. Penulis sangat menyadari sepenuhnya, walaupun begitu banyak bantuan dari berbagai pihak, bukan berarti penyusunan Karya Tulis Ilmiah (KTI) ini dianggap sudah sangat sempurna, tetapi masih banyak kekurangan-kekurangan, baik dari segi teknis maupun dari segi penyampaian materi. Hal ini merupakan keterbatasan kemampuan dan ilmu pengetahuan penulis. Oleh karena itu, penulis sangat mengharapkan kritik dan saran yang konstruktif sangat dihargai demi kesempurnaan penyusunan penulisan Karya Tulis Ilmiah (KTI) ini. Akhirnya penulis berharap segala amal baik yang telah dilakukan mendapat keridhaan Allah SWT, dan dapat memberikan manfaat bagi kita semua. Amin Yaa Rabbal ‘Alamin…!
Banda Aceh, 25 Agustus 2011
Teuku Mas’Adi 08123014
DAFTAR ISI
Halaman LEMBAR PERSETUJUAN LEMBAR PENGESAHAN PERNYATAAN ....................................................................................... ABSTRAK ................................................................................................ KATA PENGANTAR .............................................................................. DAFTAR ISI ............................................................................................ DAFTAR GAMBAR ................................................................................ DAFTAR TABEL .................................................................................... DAFTAR SIMBOL ..................................................................................
i ii iii vi viii ix x
BAB I. PENDAHULUAN 1.1. Latar Belakang ...............................................................
1
1.2. Identifikasi Masalah ........................................................
2
1.3. Batasan Masalah .............................................................
3
1.4. Manfaat dan Tujuan Penelitian .......................................
3
1.5. Metodelogi Penelitian .....................................................
4
BAB II. TINJAUAN KEPUSTAKAAN 2.1. Gambaran Umum Instansi .............................................
5
2.1.1. Sejarah Singkat ...........................................................
5
2.1.2. Struktur Organisasi .....................................................
6
2.2. Landasan Teori ..............................................................
7
2.2.1. Pengertian Sistem .......................................................
7
2.2.2. Karakteristik Sistem ....................................................
8
2.2.3. Klasifikasi Sistem .......................................................
10
2.2.4. Pengertian Informasi ...................................................
11
2.2.5. Ciri-ciri Informasi .......................................................
13
2.2.6. Pengertian Sistem Informasi .......................................
13
2.2.7. Komponen Sistem Informasi ......................................
14
2.2.8. Manfaat Sistem Informasi ...........................................
15
2.2.9. Pengertian Sistem Komputer ......................................
16
2.2.10. Sistem Penggajian .....................................................
18
2.2.11. Pengertian Data ..........................................................
20
2.2.12. Pengertian Database ..................................................
20
2.2.13. Pengertian DBMS .....................................................
21
BAB III. METODE PENELITIAN 3.1. Lokasi Penelitian ............................................................
23
3.2. Metode Pengumpulan Data ............................................
23
3.3. Alat-alat yang dipakai Dalam Penelitian .......................
24
3.4. Analisis Data ..................................................................
25
3.5. Analisis Sistem ...............................................................
25
3.5.1. Analisis Sistem Informasi yang sedang berjalan ........
25
3.5.2. Analisis Sistem Informasi yang diusulkan...................
27
3.6. Alat Bantu Perancangan Sistem .....................................
29
3.7. Database .........................................................................
33
3.8. Relasi Antar Tabel .........................................................
34
3.9. Desain Sistem ................................................................
35
BAB IV. PEMBAHASAN 4.1. Desain Terinci ................................................................
36
BAB V. PENUTUP A. Kesimpulan .....................................................................
46
B. Saran ...............................................................................
47
DAFTAR PUSTAKA ...............................................................................
48
BIODATA PENULIS LAMPIRAN-LAMPIRAN
DAFTAR GAMBAR
Gambar 3.1 Diagram Konteks/DFD Level 0 yang sedang berjalan ..........
30
Gambar 3.2 Diagram Konteks/DFD Level 0 yang diusulkan ....................
30
Gambar 3.3 DFD Level 1 ..........................................................................
31
Gambar 3.4 DFD Level 1 proses 1 ............................................................
32
Gambar 3.5 DFD Level 1 proses 2 ............................................................
32
Gambar 3.6 DFD Level 1 proses 3 ............................................................
32
Gambar 3.7 Relasi Antar Tabel .................................................................
34
Gambar 4.1 Form Login ............................................................................
36
Gambar 4.2 Peringatan Data Salah ............................................................
37
Gambar 4.3 Form Menu Utama .................................................................
37
Gambar 4.4 Form Jabatan ..........................................................................
38
Gambar 4.5 Form Pegawai ........................................................................
39
Gambar 4.6 Form Penggajian ....................................................................
40
Gambar 4.7 Form Laporan .........................................................................
41
Gambar 4.8 Laporan Identitas Pegawai .....................................................
42
Gambar 4.9 Laporan Daftar Pegawai ........................................................
43
Gambar 4.10 Laporan Daftar Gaji Pegawai ...............................................
43
Gambar 4.11 Laporan Daftar Gaji berdasarkan NIP .................................
44
Gambar 4.12 Form Tambah User ..............................................................
44
Gambar 4.13 Form Ubah Password ...........................................................
45
Gambar 4.14 Form Backup Database ........................................................
45
DAFTAR TABEL
Tabel 3.1 Waktu Penelitian ........................................................................
23
Tabel 3.2 Jabatan ......................................................................................
33
Tabel 3.3 Pegawai .....................................................................................
33
Tabel 3.4 Penggajian .................................................................................
34
DAFTAR SIMBOL
1. Simbol Data Flow Diagram (DFD)
BAB I PENDAHULUAN
1.1. Latar Belakang Perkembangan ilmu pengetahuan dan teknologi pada saat sekarang ini mempunyai peranan yang sangat penting, salah satunya dibidang komputer. Terbukti dengan banyaknya lembaga/instansi pemerintah yang menggunakan sistem komputerisasi sebagai alat bantu untuk meningkatkan kreatifitas dan aktifitas para pegawai sehingga memiliki skill yang bagus dan menjadikan lembaga/instansi pemerintah memiliki kompetensi yang tinggi. Sistem informasi penggajian merupakan kebutuhan yang sangat diperlukan untuk mengetahui daftar gaji pegawai pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya, selain itu dapat mengetahui tunjangan gaji pegawai pada dinas tersebut. Untuk melakukan data penggajian pada dinas tersebut masih belum menggunakan komputerisasi yang akurat. Perlu diadakan pembenahan yang kompleks dan teratur didalam manajemen penggajian yang lebih baik lagi. Salah satu alat yang dapat digunakan untuk memperbaiki aktivitas penggajian tersebut adalah dengan menciptakan suatu sistem informasi penggajian yang benar-benar efesien dan cepat. Karena hal ini sangat penting untuk menghindari kesalahan sistem informasi penggajian yang sangat diinginkan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya melalui bantuan komputer dengan menggunakan bahasa pemrograman visual basic 6.0.
Sesuai dengan penelitian dan observasi yang dilakukan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya, sistem informasi penggajian masih belum menggunakan komputerisasi dalam pengolahan datanya, sehingga mengakibatkan pemrosesan waktu yang lama dan adanya keterlambatan dalam pembuatan laporan gaji yang ada pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. Penulisan ini dilakukan untuk memperkenal bentuk database penggajian secara komputerisasi guna mempermudah dalam mencari dan mengolah data penggajian pegawai pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. Oleh karena itu, penulis sangat tertarik untuk merancang suatu program sistem informasi penggajian, maka penulis mengangkat permasalahan ini dalam sebuah Karya Tulis Ilmiah (KTI) dengan judul “Perancangan Sistem Informasi Penggajian pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya”.
1.2. Identifikasi Masalah Masalah yang akan diselesaikan dalam Karya Tulis Ilmiah (KTI) ini adalah bagaimana cara membuat perancangan sistem informasi penggajian pegawai pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya untuk memberikan informasi yang komputerisasi dan dapat mempercepat pekerjaan dalam pencariannya karena sistem yang sedang berjalan masih menggunakan Microsoft Excel, tetapi belum efisien dan membutuhkan waktu lama dalam penginputan data.
1.3. Batasan Masalah Sehubungan dengan keterbatasan waktu, biaya, kemampuan penulis dan banyaknya cakupan untuk menghindari kesimpangsiuran dalam penulisan agar judul dan latar belakang dapat dipahami dengan jelas, karena sistem informasi penggajian pegawai ini memiliki cakupan yang luas, seperti gaji pokok, tunjangan istri/suami, tunjangan anak, tunjangan umum, tunjangan struk, tunjangan fungsional, tunjangan beras, potongan beras, potongan sewa, potongan hutang, potongan tunjangan rumah dan lain-lain. Untuk itu penulis melakukan pembatasan masalah hanya pada gaji pokok, tunjangan istri/suami, tunjangan anak, tunjangan makan, tunjangan fungsional, potongan hutang dan potongan pajak.
1.4. Manfaat dan Tujuan Penelitian Manfaat penulisan Karya Tulis Ilmiah (KTI) ini adalah untuk mempermudah dalam pembuatan laporan gaji dan juga sekaligus untuk mempercepat pekerjaan pegawai yang berhubungan dengan penggajian dengan menggunakan menggunakan sistem komputerisasi yang ada pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya.
Tujuan penulisan tugas akhir ini adalah untuk : 1. Merancang program penggajian pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya agar sistem informasi penggajian lebih akurat dan menggunakan komputerisasi secara otomatis. 2. Meningkatkan efesiensi kerja berkenaan dengan sistem informasi penggajian pegawai.
1.5. Metodelogi Penelitian Dalam penulisan Karya Tulis Ilmiah (KTI) ini, penulis mengumpulkan data yang diperlukan untuk membuat rancangan tersebut dengan langkah-langkah sebagai berikut : 1. Penelitian lapangan Penelitian ini penulis lakukan langsung di lapangan dengan menganalisa masalah terhadap objek yang telah dipilih. Dalam hal ini penulis mendahulukan
penelitian
(peninjauan)
langsung
pada
Dinas
Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. 2. Selanjutnya melaksanakan wawancara dengan pihak yang bersangkutan dan observasi sehingga diperoleh data yang diperlukan dalam penulisan Karya Tulis Ilmiah (KTI) ini.
BAB II TINJAUAN KEPUSTAKAAN
2.1. Gambaran Umum Instansi 2.1.1. Sejarah singkat Dinas Tenaga Kerja Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya dibentuk pada Bulan Juni 2005 yang dipimpin oleh TANTAWI, S.Sos sebagai kepala Dinas pertama dengan lokasi perkantorannya berada di Geulumpang Payong Kecamatan Blangpidie yang sekarang menjadi rumah Dinas Wakil Bupati Aceh Barat Daya. Sesuai dengan Qanun Kabupaten Aceh Barat Daya No.15 Tahun 2005 Tanggal 08 November 2005 tentang Pembentukan dan Susunan Organisasi Dinas Tenaga Kerja Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. Pada saat lahirnya Qanun tersebut maka resmilah terbentuk DINAS yang di namakan DINAS KEPENDUDUKAN DAN CATATAN SIPIL. Dalam waktu yang tidak terlalu lama dilantiknya pejabat baru sebagai Kepala Dinas yaitu Bapak Ir. SYAMSURIZAL, M.Si yang sekarang sebagai Wakil Bupati Aceh Barat Daya. Kemudian pada tanggal 13 September 2006 Dinas Tenaga Kerja Kependudukan dan Catatan Sipil dipindahkan ke lokasi Komplek Perkatoran Padang Meurante Kecamatan Susoh Kabupaten Aceh Barat Daya. Pada tahun yang sama juga diangkat Pelaksanaan Tugas (PLT) Kepala Dinas yaitu Drs. M. YUSUF DAUD karena Ir. SYAMSURIZAL, M.Si masuk peserta Calon Wakil Bupati Aceh Barat Daya. Dalam waktu yang singkat pula, pada Tanggal
13 Desember 2006 dilantik lagi Pejabat baru sebagai Kepala Dinas yaitu Drs. THAMRIN. Sebulan kemudian yakni pada Tanggal 11 januari 2007 dilantik Pejabat baru lagi sebagai Kepala Dinas yaitu Bapak Drs. SYARIFUDDIN. Berselang satu tahun oleh Bapak Bupati Aceh Barat Daya AKMAL IBRAHIM pada Tanggal 21 Januari 2008 dibentuklah Dinas Kependudukan dan Catatan Sipil, yang merupakan peleburan DISNAKER menjadi DISDUKCAPIL, yang dilantik kembali Pejabat baru yang sebelumnya pernah menjabat sebagai Kepala DISNAKER pada Tanggal 13 Desember 2006 sampai pada Tanggal 11 Januari 2007 yaitu Bapak Drs. THAMRIN dan sampai saat ini Dinas Kependudukan dan Catatan Sipil dipimpin oleh Bapak FAKHRUDDIN, S.Pd yang dilantik pada Tanggal 05 Oktober 2009 sampai sekarang ini yang berlokasikan di Jalan Iskandar Muda No. 61 Desa Keude Paya Kecamatan Blangpidie Kabupaten Aceh Barat daya.
2.1.2. Struktur Organisasi Berikut Uraian Struktur Organisasi pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya menurut Qanun Kabupaten Aceh Barat Daya Nomor : 1 Tahun 2008, Tanggal 21 Januari 2008 / 12 Muharram 1429 H : 1. Kepala Dinas Kependudukan Dan Catatan Sipil 2. Sekretaris a. Kasubbag Umum dan Perlengkapan b. Kasubbag Kepegawaian dan Tata Laksana c. Kasubbag Keuangan
3. Kabid Program dan Pelaporan a. Kasi Perencanaan dan Pengolahan Data b. Kasi Pemantauan, Evaluasi dan Pelaporan 4. Kabid Adminstrasi dan Mobilitas Penduduk a. Kasi Administrasi dan Mobilitas Penduduk b. Kasi Mobilitas Penduduk 5. Kabid Catatan Sipil a. Kasi Pelayanan Catatan Sipil b. Kasi Registrasi dan Dokumentasi 6. UPTD (Unit Pelaksana Teknis Dinas) 7. Kelompok jabatan fungsional Untuk melihat bentuk Bagan Struktur Organisasi pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya dapat dilihat pada halaman lampiran.
2.2. Landasan Teori 2.2.1. Pengertian Sistem Dalam memahami dan mendefinisikan suatu sistem terdapat dua pendekatan yang dapat digunakan untuk menerangkannya, yaitu: a. Pendekatan yang Menekankan pada Prosedur. Menurut Jerry Fitz Gerald dan kawan-kawan dalam (Jogiyanto, HM. Sistem Teknologi Komputer. Andi. 2005), Sistem adalah : “Suatu jaringan kerja dari prosedur-prosedur yang berupa urutan kegiatan yang saling berhubungan, berkumpul bersama-sama untuk mencapai tujuan tertentu”.
Menurut Richard F. Neuschel dalam Jogiyanto, HM (2005), Prosedur adalah : “Rangkaian operasi klerikal (tulis menulis) yang melibatkan beberapa orang di dalam satu atau lebih departemen yang digunakan untuk menjamin penanganan yang seragam dari transaksi-transaksi bisnis yang terjadi”. b. Pendekatan yang menekankan pada Komponen/ Element Menurut Jogiyanto, HM (2005), Sistem adalah : “Kumpulan dari elemenelemen yang berintegrasi untuk mencapai suatu tujuan tertentu.” Suatu sistem dapat terdiri dari beberapa sub-sub sistem, dan sub-sub sistem tersebut dapat pula terdiri dari beberapa sub-sub sistem yang lebih kecil lagi. Kedua defenisi sistem di atas memiliki maksud dan tujuan yang sama tetapi berbeda dalam pendekatannya. Para ahli lebih banyak menggunakan defenisi sistem dengan menekankan pada komponen-komponen atau elemen-elemen. Defenisi ini memiliki pengertian yang lebih luas, lebih diterima dalam masyarakat karena kenyataan sistem terdiri dari beberapa sub-sistem.
2.2.2. Karakteristik Sistem Menurut Jogiyanto, HM (2005), defenisi sistem memiliki karakteristik tertentu yaitu : a. Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, bekerja sama membentuk satu kesatuan. Setiap komponen mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.
b. Batas Sistem Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem dapat dipandang sebagai satu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut. c. Lingkungan Luar Sistem Segala sesuatu yang berada di luar batas dari sistem yang mempengaruhi operasi sistem dapat dikatakan sebagai lingkungan luar. Lingkungan luar dapat bersifat menguntungkan yang memberikan energi pada sistem sehingga harus selalu dijaga dan dipelihara. Selain itu lingkungan luar juga dapat merugikan sistem. Untuk dapat mempertahankan kelangsungan hidup sistem, maka lingkungan yang seperti ini harus dapat dikendalikan d. Penghubung Sistem Merupakan media penghubung antara sub-sistem dengan sub-sistem lainnya. Melalui penghubung sumber-sumber daya dapat mengalir dari sub-sistem ke sub-sistem lainnya, sehingga saling berintegrasi membentuk satu kesatuan. e. Masukan Sistem (Input) Masukan adalah energi yang dimasukkan ke dalam sistem, dapat berupa masukan perawatan dan masukan signal. Masukan perawatan (maintenance input) adalah energi yang dimasukkan agar sistem tersebut dapat beroperasi. Masukan signal (signal input) adalah energi yang diproses untuk mendapatkan keluaran.
f. Keluaran Sistem (Output) Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk sub-sistem yang lain atau kepada supra sistem. g. Pengolah Sistem Suatu sistem mempunyai suatu bagian pengolah yang dapat merubah masukan menjadi keluaran. h. Sasaran Sistem Sistem memiliki sasaran (objective) atau tujuan (goal) yang akan menentukan sekali masukan yang dibutuhkan dan keluaran yang dihasilkan sistem. Suatu sistem dapat dikatakan berhasil apabila mengenai sasaran atau tujuan.
2.2.3. Klasifikasi Sistem Menurut Jogiyanto, HM (2005), Sistem dapat diklasifikasikan dari beberapa sudut pandang, di antaranya adalah sebagai berikut : a. Sistem diklasifikasikan sebagai sistem abstrak (abstract system) dan sistem fisik (physical system). Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Sistem fisik merupakan sistem yang ada secara fisik. b. Sistem diklasifikasikan sebagai sistem alamiah dan sistem buatan manusia. Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak hasil buatan manusia. Sistem buatan manusia yang melibatkan interaksi antara manusia dengan mesin disebut dengan human-machine system. c. Sistem diklasifikasikan sebagai sistem tertentu dan sistem tak tentu.
Sistem tertentu beroperasi dengan tingkah laku yang sudah dapat diprediksi. Interaksi di antara bagian-bagiannya dapat dideteksi dengan pasti, sehingga keluaran dari sistem dapat diramalkan. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas. d. Sistem diklasifikasikan sebagai sistem tertutup (closed system) dan sistem terbuka (open system). Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak berpengaruh dengan lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa adanya campur tangan dari pihak di luarnya. Sistem terbuka adalah sistem yang berhubungan dan terpengaruh dengan lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk lingkungan luar atau sub-sistem lainnya. Karena keterbukaan sistem ini, maka suatu sistem harus mempunyai suatu sistem pengendalian yang baik.
2.2.4. Pengertian Informasi Informasi dalam sebuah perusahaan atau instansi merupakan sesuatu yang sangat penting guna untuk mendukung kelangsungan perkembangannya. Akibat kurang mendapatkan informasi, dalam waktu tertentu perusahaan atau instansi tersebut akan mengalami ketidakmampuan mengontrol sumber daya yang pada akhirnya
akan
mengalami
kekalahan
dalam
bersaing
dengan
lingkungan
persaingannya. Nilai dari informasi ditentukan dari dua hal, yaitu manfaat dan biaya yang mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya. Akan tetapi perlu diperhatikan bahwa informasi yang digunakan dalam suatu sistem informasi umumnya digunakan untuk beberapa kegunaan. Sehingga tidak memungkinkan dan sulit untuk menghubungkan suatu bagian informasi pada suatu masalah yang tertentu dengan biaya yang diperolehnya, karena sebagian besar informasi dinikmati tidak hanya oleh satu pihak di dalam perusahaan. Robert N. Anthony
dan John Dearden dalam Jogiyanto, HM (2005),
mengatakan bahwa keadaan sistem dalam hubungannya dengan keberakhirannya dengan istilah entropy. Informasi yang berguna bagi sistem akan menghindari proses entropy yang disebut dengan negative entropy atau negentropy. Menurut Jogiyanto, HM (2005), pengertian dari informasi adalah: “Data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerima dan membutuhkannya”. Informasi yang baik harus memenuhi kriteria sebagai berikut: 1. Akurat Informasi yang diperoleh harus bebas dari kesalahan-kesalahan dan tidak boleh menyesatkan serta harus mencerminkan suatu maksud. Informasi diharuskan akurat karena dari informasi yang tidak akurat akan banyak timbul gangguan (noise) yang dapat merubah atau merusak informasi tersebut. 2. Tepat Waktu Informasi yang sampai pada yang membutuhkan tidak boleh terlambat, informasi yang telah usang tidak akan mempunyai nilai, hal ini disebabkan
karena informasi merupakan landasan dalam pengambilan keputusan, maka akan berakibat fatal pada suatu organisasi, instansi maupun perusahaan. 3. Relevan Informasi tersebut harus bermanfaat bagi yang membutuhkannya. Relevansi informasi untuk tiap-tiap orang adalah berbeda. Informasi yang baik hanya akan dihasilkan oleh data yang baik dengan pemrosesan data yang tepat.
2.2.5. Ciri-ciri Informasi Berikut adalah ciri-ciri informasi yang baik: 1. Benar atau salah Informasi dapat bernilai atau salah, sehingga sumber informasi harus diperhatikan. 2. Baru Suatu informasi dapat menjadi hal sama sekali baru yang belum diketahui. 3. Tambahan Informasi dapat juga menjadi tambahan dan informasi yang sudah ada sebelumnya dan yang kurang lengkap.
2.2.6. Pengertian Sistem Informasi Telah diketahui bahwa informasi merupakan hal yang sangat penting bagi manajemen di dalam pengambilan keputusan. Informasi dapat diperoleh dari sistem informasi (information system) atau disebut juga dengan processing sistem atau information processing system atau information-generating system.
Menurut Robert A. Leitch dan K. Roscoe Davis dalam Jogiyanto, HM (2005), sistem informasi dapat didefenisikan sebagai berikut: “Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat managerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan”.
2.2.7. Komponen sistem informasi Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (Building Block), dimana masing-masing blok ini saling berintegrasi satu sama lainnya membentuk satu kesatuan untuk mencapai tujuannya. Adapun blok-blok tersebut sebagai berikut: a. Blok Masukan (Input Block) Meliputi metode-metode dan media untuk menangkap data yang akan dimasukkan, dapat berupa dokumen-dokumen dasar. b. Blok Model (Model Block) Terdiri dari kombinasi prosedur, logika dan model matematika yang berfungsi memanipulasi data untuk menghasilkan keluaran tertentu. c. Blok Keluaran (Output Block) Berupa keluaran dokumen dan informasi yang berkualitas. d. Blok Teknologi (Technology Block) Untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran serta membantu pengendalian dari sistem secara keseluruhan.
e. Blok Basis Data (Database Block) Merupakan kumpulan data yang berhubungan satu dengan lainnya, tersimpan di perangkat keras komputer. f. Blok Kendali (Controls Block) Meliputi masalah pengendalian yang berfungsi mencegah dan menangani kesalahan/kegagalan sistem.
2.2.8. Manfaat Sistem Informasi Organisasi menggunakan sistem informasi untuk mengolah transaksitransaksi, mengurangi biaya dan menghasilkan pendapatan sebagai salah satu produk dan pelayanan mereka. Kegiatan Sistem Informasi: 1) Input Menggambarkan suatu kegiatan untuk menyediakan data yang diproses. 2) Proses Menggambarkan bagaimana suatu data diproses untuk menghasilkan suatu informasi yang bernilai tambah. 3) Output Suatu kegiatan untuk menghasilkan laporan dari proses diatas tersebut. 4) Penyimpanan Suatu kegiatan untuk memelihara dan menyimpan.
2.2.9. Pengertian Sistem Komputer Kata komputer berasal dari Bahasa asing ‘to compute’ atau dari Bahasa Yunani ‘compute’ yang artinya adalah alat bantu hitung atau mesin hitung. Komputer tidak hanya berfungsi sebagai alat bantu tetapi juga memegang peranan penting dalam pengolahan data elektronik, sehingga komputer disebut juga sebagai alat pengolah data. Pengertian sistem komputer merupakan “serangkaian atau kumpulan mesin elektronik yang bekerja bersama-sama dan dapat melakukan rangkaian pekerjaan secara otomatis melalui intruksi atau program yang diberikan kepadanya”. (Hasyim, M. Buku Pinter Komputer, Kriya Pustaka. 2008 : 1) Dalam pengolahan data, mulai dari memasukkan data hingga menghasilkan sebuah informasi, komputer memerlukan sistem yang merupakan kesatuan dari komponen-komponen sebagai berikut: 1. Perangkat Keras (Hardware) Yaitu sekumpulan komponen didalam komputer yang secra fisik dapat dilihat. Kumpulan perangkat keras ini dapat menjadi komputer jika memiliki keterkaitan struktur kinerja pada setiap kategori komponennya. Perngkat keras komputer secara fungsional dibedakan menjadi empat macam perngkat yaitu : a. Perangkat Masukan : Merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah kedalam komputer, perangkat ini digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan oleh penggunanya.
b. Perangkat Proses : Perangkat pengolah atau pemroses data dalam komputer adalah prosesor, namun umumnya disebut sebagai central processing unit (CPU). Central processing unit (CPU) merupakan otak dari
sebuah
sistem
komputer,
central
processing
unit
(CPU)
melaksanakan dan mengawal keseluruhan operasi komputer sehingga bias dikatakan hampir seluruh pemikiran dilaksanakan pada central processing unit (CPU). c. Perangkat Penyimpanan : Merupakan perangkat yang digunakan untuk melakukan penyimpanan data dalam komputer. d. Perangkat Keluaran : Merupakan perangkat yang dipakai untuk menampilkan hasil proses, perangkat keluaran merupakan perangkat yang terdiri atas alat-alat yang menerjemahkan perintah yang telah diproses oleh komputer kedalam bentuk yang dimengerti oleh manusia. 2. Perangkat Lunak (Software) Yaitu suatu perangkat yang berisi serangkaian intruksi program, prosedur, pengendalian dan aktifitas-aktifitas pengolahan perintah pada sistem komputer. Perangkat lunak komputer secara garis besar dibagi menjadi dua bagian yaitu: a. Sistem operasi : yaitu perangkat lunak yang berfungsi untuk melakukan operasi yang mengurusi tentang segala aktifitas komputer, seperti mendukung operasi sistem operasi aplikasi dan mengendalikan semua perangkat komputer agar dapat berjalan selaras dengan fungsinya.
b. Software aplikasi : yaitu software program yang memiliki aktifitas pemrosesan perintah yang diperlukan untuk melaksanakan permintaan pengguna dengan tujuan tertentu.
3. Brainware Yaitu manusia yang mengoperasikan dan mengendalikan sistem komputer. Profesi dalam data processing diantaranya sebagai berikut: a. Sistem analis : yang bertugas mempelajari, menganalisis serta mendesaign suatu proyek aplikasi dari user untuk memenuhi kebutuhan user. b. Programmer : salah satu personil dalam data processing yang tugasnya membuat program berdasarkan program spesifikasi dari sistem analis. c. Operator : orang yang mempersiapkan komputer untuk memproses suatu program, mengoperasikan komputer dan mematikan mesin jika proses telah berhasil. Ketiga komponen tersebut harus saling berhubungan dan membentuk satu kesatuan. Hardware tanpa adanya software maka tidak akan berfungsi dan hanya seperti benda mati saja. Hardware yang sudah didukung software juga tidak akan berfungsi kalau tidak ada manusia yang mengoerasikannya.
2.2.10. Sistem Penggajian Menurut Robert L. Mathis, (2002) : “Gaji adalah bayaran yang konsisten dari satu periode ke periode lain dengan tidak memandang jumlah jam kerja”.
Dari defenisi di atas dapat disimpulkan bahwa gaji adalah kompensasi dasar yang diberikan perusahaan atau instansi lainnya kepada karyawan/pegawai atas hasil kerja. Dengan kata lain karyawan/pegawai tetap menerima pembayaran yang konsisten dari waktu ke waktu dengan memperhatikan jumlah jam kerja. Sistem penggajian pada umumnya didasarkan kepada 3 (tiga) fungsi gaji yaitu: a) Menjamin kehidupan yang layak bagi pegawai dan keluarganya. b) Mencerminkan imbalan atas hasil kerja seseorang. c) Menyediakan insentip untuk mendorong peningkatan produktifitas kerja.
Gaji atau imbalan yang di terima seorang pegawai sehubungan dengan pekerjaannya dapat digolongkan ke dalam 3 (tiga) bentuk yaitu: 1. Gaji atau upah (dalam bentuk uang) Sistem penggajian pada umumnya mempergunakan gaji pokok yang didasarkan pada jabatan/bagian kerja dan masa kerja. Jabatan seseorang didasarkan pada tingkat pendidikan, lama kerja dan pengalaman. 2. Tunjangan Selain gaji pokok, biasanya pegawai juga menerima berbagai macam tunjangan, masing-masing sebagai persentasi dari gaji pokok atau dalam jumlah tertentu seperti :
uang makan, tunjangan fungsional, tunjangan
pegawai, tunjangan keluarga, tunjangan insentif, lembur dan lain-lain. 3. Potongan Selain gaji pokok dan tunjangan biasanya setiap perusahaan/badan usaha dikenakan potongan-potongan. Adapun potongan-potongan tersebut yaitu
jamsostek, simpanan pokok, simpanan wajib, simpanan sukarela, angsuran + bunga ke bank, pinjaman dan lain-lain.
2.2.11. Pengertian Data Data sebagai sumber informasi harus dianggap sebagai user yang harus dikelola dengan baik dan benar. Data merupakan acuan dalam melakukan semua kegiatan yang dapat menguntungkan sipemakai. Data adalah sekumpulan fakta tentang peristiwa atau operasi tanpa dipengarahui oleh pertimbangan atau hasil analisi. Data dapat berupa apa saja dan dapat ditemui dimana saja. Dalam suatu organisasi, data merupakan sumber daya yang sangat vital dan harus dikelola dan diproses sebaik-sebaiknya (Jogiyanto, 2001, hal :4). Data adalah representasi fakta yang mewakili suatu objek seperti manusia, pegawai, siswa, pembeli, pelanggan, barang, peristiwa, konsep, keadaaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya (Kristanto Harianto, 2001, hal:3). Dari definisi itu dapat disimpulkan bahwa data adalah bahan mentah yang diproses menjadi sebuah informasi. Jadi terdapat perbedaan antara dengan informasi dimana data adalah “bahan baku” yang harus diolah sedemikian rupa hingga berubah sifatnya menjadi informasi.
2.2.12. Pengertian Database Database adalah sekumpulan seluruh sumber daya berbasis komputer milik organisasi dan sistem. Database yang dikendalikan oleh sistem manajemen database adalah set cacatan data yang berhubungan dan saling menjelaskan (Reymond Leod,
2004, hal :196). Database merupakan kumpulan data dan informasi dalam jumlah yang tidak sedikit. Oleh karena itu database harus disusun sebagai kriteria terpola dengan jelas sejak dari awalnya. Databae akan diubah kedalam tabel dalam Microsoft Access dengan memperhatikan : File Table, Field, Primary Key dan sebagaimana yang merupakan bagian dari database (Abdul Kadir, 2001). Singkatnya langkah awal pengolahan suatu unit data itu dilakukan di dalam database.
Pembuatan
database
dalam
Microsoft
Access
mencakup
dua tindakan utama, yakni : tindakan penentuan dari struktur database dan tindakan pengisihan data ke dalamnya dengan melakukan pengetikan data kedalam struktur tersebut (Abdul Kadir, 2001). Sebagai suatu jenis program aplikasi yang berguna untuk mengorganisasikan sejumlah data dengan model relational, Microsoft Access diimplementasikan dalam bentuk tabel yang terdiri dari baris dan kolom. Baris pada Microsoft Access dikenal dengan istilah record yang merupakan kumpulan informasi yang ada di dalam field. Sementara kolom yang dikenal dengan istilah field merupakan tempat dimana informasi ditampung. Setiap field dalam database akan berelasi dengan field lainnya atau dengan data lainnya (Abdul Kadir, 2009).
2.2.13. Pengertian Database Management System (DBMS) Merupakan
software
yang
mengatur
proses
pengelolaan
database.
Pengelolaan ini meliputi pembuatan database, akses terhadap database serta penyimpanan data dalam database. Perangkat lunak untuk mengelola database disebut dengan database management system, sehingga database management system dapat diatikan sebagai berikut:
“database management system adalah pengelolaan kumpulan file yang saling berkaitan bersama program. Database merupakan kumpulan datanya sedangkan program pengelolaan berdiri sendiri dalam satu paket program yang komersil untuk membaca data, mengisi data, menghapus data dalam database. (Jogiyanto, HM, Sistem Teknologi Komputer, Andi. 2005 : 53) Database management system merupakan salah satu cara dalam bentuk sistem yang berguna dalam penyimpanan data, penggunaan cara yang tepat dan memudahkan pemrosesan data serta mempercepat pengambilan data. Database management system berisi kumpulan data yang saling merelasi dengan set program untuk mengakses data tersebut. Jadi database management system terdiri dari database dan set program untuk menambah, menghapus, mengubah, mengambil dan membaca data. Set program pengelola merupakan suatu paket program yang dibuat agar memudahkan dan mengefisiensikan pemasukan atau perekaman informasi dan pengambilan informasi kedalam basis data. Manfaat dari menggunakan Database Management System (DBMS) yaitu sebagai berikut: 1. Untuk mengorganisasikan dan mengelola data dalam jumlah besar. 2. Untuk membantu dan melindungi data dari kerusakan yang disebabkan penggunaan atau pengaksesan yang tidak sah. 3. Memudahkan dalam pengambilan data. 4. Untuk memudahkan dalam penggunaan atau pengaksesan data secara bersamaan dalam satu jaringan.
BAB III METODE PENELITIAN
3.1. Lokasi Penelitian Penelitian ini penulis lakukan sejak tanggal 1 februari s/d 30 april 2011 pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya yang beralamatkan di Jalan Iskandar Muda No.61 Desa Keude Paya Kecamatan Blangpidie Kabupaten Aceh Barat Daya. Berikut tabel lama waktu penelitian :
Tabel 3.1 Waktu Penelitian No
Jenis Kegiatan
1. 2. 3. 4. 5. 6. 7. 9. 10. 11.
Identifikasi masalah Pengambilan data Analisis Data Pengumpulan Data Perancangan Tabel Perancangan Sistem Desain Sistem Uji Sistem Pengembangan Sistem Final
Bulan Mei Minggu Ke
Bulan Juni Minggu Ke
Bulan Juli Minggu Ke
3.2. Metode Pengumpulan Data a. Studi Kepustakaan Studi pustaka merupakan kegiatan yang berkaitan dengan pengkajian terhadap sumber-sumber referensi untuk memperoleh landasan teori, konseptual dan praktis tentang permasalahan penelitian. Studi pustaka ini
dilakukan
dengan
mendapatkan
data
dari
literatur
berupa
buku/makalah/pedoman serta bahan pendukung lainnya yang berkaitan dengan penulisan Karya Tulis Ilmiah (KTI) ini. 1. Studi Lapangan 1. Pengamatan (observasi), yaitu pengamatan langsung terhadap mekanisme sistem yang sedang berjalan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. 2. Wawancara (interview), yaitu pengumpulan data berdasarkan tatap muka dan tanya jawab dengan pegawai pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya agar memperoleh informasi yang akurat sehingga diharapkan dapat menjadi bahan masukkan maupun pertimbangan dalam proses penelitian.
3.3. Alat-alat yang dipakai Dalam Penelitian . Adapun alat-alat yang dipakai selama penelitian adalah sebagai berikut : a. Buku tulis, Buku tulis digunakan untuk mencatat semua hal yang penulis dapatkan selama proses penelitian berlangsung pada sub bidang bendara pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. b. Pulpen, Pulpen disini berfungsi sebagai alat tulis guna membantu pencatatan hasil selama penelitian. c. Komputer, komputer di sini berfungsi untuk merancang sistem informasi penggajian menggunakan bahasa pemrograman visual basic 6.0.
3.4. Analisis Data Adapun motode dalam analisa data yang dipakai disini adalah : a. Metode Deskriptif, Metode yang mengolah dan menafsirkan data dengan maksud agar bisa memberikan gambaran yang jelas dan wajar mengenai keadaan yang akan diteliti. b. Metode Deduktif, Metode yang menarik beberapa kesimpulan yang bersifat umum menjadi kesimpulan yang bersifat khusus serta sekaligus memberikan saran dalam rangka penyempurnaan aktivitas penelitian dimasa yang akan datang. Sedangkan teknik Pengolahan Data yaitu, Data yang diperoleh dari hasil penelitian, selanjutnya akan dianalisa secara kualitatif dengan membandingkan antara teori dengan hasil penemuan lapangan.
3.5. Analisis Sistem Menurut Jogiyanto, HM dalam buku Analisis dan Desain (2005), “Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam komponenkomponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan.
3.5.1. Analisis Sistem Informasi yang Sedang Berjalan Setelah dilakukan penelitian, diperoleh gambaran secara singkat tentang sistem dan beberapa kelemahan yang ada, terutama dari segi efektivitas dan efisiensi sistem yang digunakan. Dari sistem yang ada dapat digambarkan bahwa sistem
informasi untuk penggajian masih sangat sederhana karena masih menggunakan program aplikasi Microsoft Excel. Melihat dari segi sistem informasi yang sedang berjalan, pengolahan data yang dilakukan kurang efisien dan efektif karena pada sistem pengolahan penggajian pegawai pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya dalam menyajikan laporan atau slip gaji pegawai datanya harus dientrikan terlebih dahulu karena tidak otomatis. Maka dengan sistem informasi ini laporan yang disajikan/diberikan kepada pegawai membutuhkan waktu yang lama karena data-data yang diolah harus dientrikan manual secara berulang-ulang, teliti dan akurat. Adapun sistem informasi penggajian yang sedang berjalan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya dapat dilihat sebagai berikut: 1. pegawai menyerahkan informasi/data-data yang dibutuhkan oleh instansi ke bagian keuangan. 2. Dari informasi/data-data yang diterima dari pegawai, bagian keuangan kemudian membuat daftar gaji pegawai kemudian daftar gaji pegawai tersebut diserahkan ke bendahraan. 3. Bendahara membuat slip gaji kemudian menyerahkan slip gaji dan daftar gaji ke pegawai untuk ditandatangani sebagai bukti penerimaan gaji. Kemudian daftar gaji yang telah ditandatangani tersebut diserahkan ke bagian keuangan. 4. Berdasarkan daftar gaji yang telah ditandatangani kemudian bagian keuangan mengolah data dan membuat laporan gaji pegawai menggunakan program aplikasi Microsoft Excel lalu laporan tersebut diserahkan ke kepala dinas.
5. Kepala dinas kemudian mencek laporan tersebut kemudian menanda tanganinya. Kemudian laporan tersebut diserahkan ke bagian keuangan untuk diarsip.
3.5.2. Analisis Sistem Informasi Yang Diusulkan Perancangan sistem yang baru tidak terlepas kaitannya dari sistem informasi yang sedang berjalan. Dalam hal ini penulis mencoba memperbaiki sistem yang sedang berjalan dengan cara membuat rancangan sistem yang baru agar sistem informasi penggajian yang ada pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya lebih efektif dan efisien. Dalam perancangan suatu sistem, sistem analis dan pemakai sistem dapat menentukan baik atau buruknya alternatif yang diberikan terhadap sistem yang lama. Para pemakai sistem harus mencoba memakai, mengolah, memproses sistem yang baru agar para analis sistem tidak membuat keputusan secara sepihak. Seorang analis harus dapat mempersempit pilihan terhadap sistem dalam jumlah yang wajar, sehingga analis sistem dan pemakai sistem dapat bekerjasama dalam melakukan pemilihan dan alternatif yang diberikan terhadap sistem. Alternatif-alternatif tersebut antara lain : 1. Waktu untuk melakukan alternatif sistem, dalam arti waktu yang diperlukan untuk menerapkan sistem baru tersebut. 2. Keuntungan apa yang diperoleh dari pengembangan sistem yang baru tersebut. 3. Apakah sistem yang baru dapat memenuhi apa yang dibutuhkan oleh pemakai terhadap informasi.
4. Apakah sistem yang baru dapat memberikan dampak positif terhadap instansi. Berdasarkan alternatif-alternatif diatas penulis berusaha memberikan solusi dimana membuat sistem informasi penggajian dengan menggunakan program aplikasi database sehingga mempermudah proses penyajian informasi gaji pegawai. Adapun sistem informasi penggajian yang penulis usulkan dapat dilihat sebagai berikut: 1. Pegawai menyerahkan informasi/data-data yang dibutuhkan oleh instansi ke bagian keuangan. 2. Dari informasi/data-data yang diterima dari pegawai, bagian keuangan kemudian membuat daftar gaji pegawai dengan menggunakan aplikasi microsoft visual basic 6.0, kemudian daftar gaji pegawai tersebut diserahkan ke bendaharaan. 3. Bendahara membuat slip gaji kemudian menyerahkan slip gaji dan daftar gaji ke pegawai untuk ditandatangani sebagai bukti penerimaan gaji. Kemudian daftar gaji yang telah ditandatangani tersebut diserahkan ke bagian keuangan. 4. Berdasarkan daftar gaji yang telah ditandatangani kemudian bagian keuangan mengolah data gaji pegawai dengan program aplikasi berbasis database dengan secara langsung bisa menyajikan laporan gaji pegawai yang dibutuhkan. Laporan yang dicetak tersebut diserahkan ke kepala dinas. 5. Kepala dinas kemudian mencek laporan tersebut kemudian menanda tanganinya. Kemudian laporan tersebut diserahkan ke bagian keuangan untuk diarsip.
3.6. Alat Bantu Perancangan Sistem Untuk dapat melakukan langkah-langkah pengembangan sistem sesuai dengan metode pembangunan yang terstruktur maka dibutuhkan alat dan teknik untuk melaksanakannya. Alat-alat yang digunakan dalam perancangan sistem pada umumnya berupa diagram. Adapun alat bantu yang digunakan dalam perancangan sistem yang digunakan adalah : a. Diagram Konteks Diagram konteks adalah sebuah diagram sederhana yang menggambarkan hubungan antara entitas luar, masukan dan keluaran dari sistem. Diagram konteks dipresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. b. Data Flow Diagram Data Flow Diagram (DFD) adalah gambaran sistem secara logika. Gambaran ini tidak tergantung pada perangkat keras, lunak, struktur data atau organisasi. Pada tahap analisa, penanganan notasi simbol lingkaran dan anak panah mewakili atau menggambarkan arus data dalam perancangan sistem sangat membantu
sekali
didalam
komunikasi
dengan
pemakaian
sistem
menggunakan notasi-notasi ini untuk menggambarkan arus dari data sistem.
Pegawai
Data Pegawai
Gaji Pegawai
Bagian Keuangan
1
Daftar Gaji Slip
Informasi Data Pegawai
Proses Manual
Laporan Daftar Gaji Pegawai
Kepala Dinas
Gambar 3.1 Diagram Konteks/DFD Level 0 yang sedang berjalan
Pegawai Data Pegawai
Daftar Gaji Slip
Gaji Pegawai
Bagian Keuangan
1 Sistem Informasi Penggajian
Informasi Data Pegawai
Laporan Identitas Pegawai Laporan Daftar Pegawai Laporan Daftar Gaji Pegawai Laporan Gaji berdasarkan NIP
Kepala Dinas
Gambar 3.2 Diagram Konteks/DFD Level 0 yang diusulkan
Pegawai
Data Pegawai
Gaji Pegawai
Bagian Keuangan Informasi Data Pegawai
P1 F1 Pegawai
Input Data Pegawai Daftar Gaji Slip
P2 Input Data Jabatan
F2 Jabatan
P3 Input Data Penggajian
F3 Penggajian
P4 Pembuatan Laporan Laporan Identitas Pegawai Laporan Daftar Pegawai Laporan Daftar Gaji Pegawai Laporan Gaji berdasarkan NIP
Kepala Dinas
Gambar 3.3 DFD Level 1
Pegawai
P1 Input Data Pegawai
F1 Pegawai
Gambar 3.4 DFD Level 1 proses 1
Jabatan
P2 Input Data Jabatan
F2 Jabatan
Gambar 3.5 DFD Level 1 proses 2
Penggajian
P3 Input Data Penggajian
Gambar 3.6 DFD Level 1 proses 3
F3 Penggajian
3.7. Database Database (Basis Data) adalah kumpulan dari data yang berhubungan antara satu dengan yang lainnya, tersimpan di perangkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya. Database merupakan salah satu komponen yang penting dalam sistem komputerisasi, karena merupakan basis data dalam menyediakan informasi bagi para pengguna.
Tabel 3.2 Jabatan Field Name Kode_Jab Nama_Jab Golongan Gapok
Type Data Text Text Text Currency
Size 4 20 5 8
Description Kode Jabatan Nama Jabatan Golongan Gaji Pokok
Tabel 3.3 Pegawai Field Name NIP Nama Alamat Jenkel Agama Tgl_Lahir Status Jlh_Anak Kd_Jabatan
Type Data Text Text Text Text Text Date Text Integer Text
Size 22 32 35 10 10 8 12 2 5
Description Nomor Induk Pegawai Nama Alamat Jenis Kelamin Agama Tanggal Lahir Status Diri (Kawin/Belum Kawin) Jumlah Anak Kode Jabatan
Tabel 3.4 Penggajian Field Name No. Slip NIP Tgl_Penggajian Tunj_Istri Tunj_Anak Tunj_Makan Tunj_Fungsional Gaji Kotor Pot_Hutang Pot_Pajak Gaji_Bersih
Type Data Text Text Date/Time Currency Currency Currency Currency Currency Currency Currency Currency
Size 8 9 10 8 8 8 8 8 12 2 8
Description Nomor Slip Nomor Induk Pegawai Tanggal Penggajian Tunjangan Istri Tunjangan Anak Tunjangan Makan Tunjangan Fungsional Gaji Kotor Potongan Hutang Potongan Pajak Gaji Bersih
3.8. Relasi Antar Tabel Pegawai
Penggajian No_Slip* NIP** Tgl_Penggajian Gapok Tunj_Istri Tunj_Anak Tunj_Makan Tunj_Fungsional Gaji_Kotor Pot_Hutang Pot_Pajak Gaji_Bersih
NIP* Nama Alamat Jenkel Agama Tgl_Lahir Status Jlh_Anak Kode_Jab**
Gambar 3.7 Relasi Antar Tabel
Jabatan Kode_Jab* Nama_Jab Golongan Gapok
3.9. Desain Sistem Dari penjelasan yang diutarakan pada bab sebelumnya, dapat kita ketahui bahwa sistem yang ada sekarang ini mengalami beberapa kendala yang dihadapi untuk mendapatkan suatu data yang dibutuhkan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya. Untuk menghadapi masalah-masalah yang ada maka penulis mencoba membuat suatu perancangan sistem. Perancangan sistem baru (desain sistem baru) adalah suatu perancangan atau desain yang menerangkan elemen-elemen apa saja yang mendukung untuk terwujudnya suatu sistem yang baru. Adapun tujuan dari sistem adalah untuk mempercepat pengambilan keputusan, perincian yang mudah sehingga tidak terjadi kesalahan-kesalahan dalam menjalankannya.
BAB IV PEMBAHASAN
4.1. Desain Terinci Dari hasil rancangan program dapat dilihat tampilan hasil perancangan program sebagai berikut :
Gambar 4.1 Form Login
Pada gambar 4.1 di atas diharuskan bagi user untuk mengisi User Name dan Password yang sesuai dengan data yang tersimpan dalam database untuk bisa masuk ke form selanjutnya, yaitu form Menu Utama, apabila User Name dan Password yang dimasukkan salah, maka akan keluar pesan peringatan seperti gambar 4.3 sebagai berikut:
Gambar 4.2 Peringatan Data Salah
Apabila dalam memasukkan User Name dan Password benar maka user bisa melanjutkan program ke Menu Utama yang terdiri dari 3 (tiga) menu, diantaranya File, Laporan dan Utility User seperti yang terlihat pada Gambar 4.4 Menu Utama berikut ini :
Gambar 4.3 Form Menu Utama
Form di atas merupakan form yang didalamnya terdapat menu yang akan digunakan untuk melanjutkan proses ke form-form berikutnya, seperti form input data pegawai, form input data jabatan, form input data penggajian dan laporan.
Gambar 4.4 Form Jabatan
Gambar 4.4 diatas merupakan form input data jabatan yang merupakan interface untuk melakukan penambahan data, penghapusan data dan edit data jabatan. Pada form ini terdapat beberapa tombol sebagai berikut : a. Tambah, yaitu tombol yang berfungsi untuk menambahkan data jabatan.
b. Batal, yaitu tombol yang berfungsi untuk membatalkan penyimpanan data jabatan. c. Simpan, yaitu tombol yang berfungsi untuk menyimpan data jabatan. d. Koreksi, tombol yang berfungsi untuk mengedit data jabatan. e. Hapus, yaitu tombol yang berfungsi untuk menghapus data jabatan yang diinginkan. f. Keluar, yaitu tombol yang berfungsi untuk menutup tampilan form input data jabatan.
Gambar 4.5 Form Pegawai
Form ini merupakan form input data pegawai yang merupakan interface untuk melakukan penambahan data, penghapusan data dan edit data pegawai. Pada form ini terdapat beberapa tombol sebagai berikut : a. Tambah, yaitu tombol yang berfungsi untuk menambahkan data pegawai. b. Batal, yaitu tombol yang berfungsi untuk membatalkan penyimpanan data pegawai. c. Simpan, yaitu tombol yang berfungsi untuk menyimpan data pegawai. d. Koreksi, tombol yang berfungsi untuk mengedit data pegawai. e. Hapus, yaitu tombol yang berfungsi untuk menghapus data pegawai yang diinginkan. f. Keluar, yaitu tombol yang berfungsi untuk menutup tampilan form input data pegawai.
Gambar 4.6 Form Penggajian
Tampilan gambar diatas merupakan form input data penggajian yang merupakan interface untuk melakukan penambahan data, penghapusan data dan edit data penggajian. Pada form ini terdapat beberapa tombol sebagai berikut : a. Tambah, yaitu tombol yang berfungsi untuk menambahkan data penggajian. b. Batal, yaitu tombol yang berfungsi untuk membatalkan penyimpanan data penggajian. c. Simpan, yaitu tombol yang berfungsi untuk menyimpan data penggajian. d. Koreksi, tombol yang berfungsi untuk mengedit data penggajian. e. Hapus, yaitu tombol yang berfungsi untuk menghapus data penggajian yang diinginkan. f. Keluar, yaitu tombol yang berfungsi untuk menutup tampilan form input data penggajian.
Gambar 4.7 Form Laporan
Form laporan merupakan form submenu yang terdapat pada menu laporan. Form ini berfungsi untuk menampilkan laporan identitas pegawai, laporan daftar pegawai, laporan daftar gaji pegawai dan laporan gaji berdasarkan nip dari pegawai yang tersimpan dalam database. Pada form ini terdapat dua tombol yaitu : 1. Cetak, tombol yang berfungsi untuk menampilkan hasil output dari data penggajian para pegawai yang telah tersimpan dalam database. 2. Keluar, merupakan tombol yang berfungsi untuk membatalkan hasil output atau keluar dari form laporan.
Gambar 4.8 Laporan Identitas Pegawai
Gambar 4.9 Laporan Daftar Pegawai
Gambar 4.10 Laporan Daftar Gaji Pegawai
Gambar 4.11 Laporan Daftar Gaji berdasarkan NIP
Ke empat gambar diatas merupakan tampilan hasil output laporan penggajian pegawai yang tersimpan dalam database.
Gambar 4.12 Form Tambah User
Form ini merupakan form submenu yang terdapat pada menu utility user yang berfungsi untuk menambah user sebagai pengguna program penggajian ini. Berikut ini juga merupakan form submenu yang terdapat pada form menu utility yaitu form ubah password, form ini berfungsi untuk mengubah password sesuai dengan yang diinginkan.
Gambar 4.13 Form Ubah Password
Gambar 4.14 Form Backup Database
Form diatas berfungsi untuk membackup data yang tersimpan sesuai dengan lokasi yang diinkan oleh user.
BAB V PENUTUP
A. Kesimpulan Berdasarkan uraian yang telah dikemukakan pada bab-bab sebelumnya dari Karya Tulis Ilmiah (KTI) ini maka dapat ditarik beberapa kesimpulan yang perlu dikemukakan berhubungan dengan sistem informasi penggajian pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya yaitu : 1. Dengan diterapkan program aplikasi sistem informasi penggajian pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya dapat mempermudah pekerjaan seperti pengentrian data, pembuatan laporan dan pengecekan data. 2. Dengan adanya rancangan sistem baru dan program aplikasi yang di buat akan meningkatkan efisiensi dan efektiftas kerja yang dilakukan pada Dinas Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya khususnya dalam sistem informasi penggajian, serta informasi dan laporan dapat dihasilkan sewaktu-waktu bila diperlukan 3. Rancangan sistem pengolahan data dilakukan untuk mengatasi permasalahanpermasalahan yang terjadi sehingga sasaran sistem informasi yang diinginkan dapat tercapai.
B. Saran-Saran Bertitik tolak pada kesimpulan diatas maka penulis ingin mengemukakan saran-saran
sehubungan
dengan
sistem informasi
penggajian
pada Dinas
Kependudukan dan Catatan Sipil Kabupaten Aceh Barat Daya yaitu : 1. Sangat diharapkan rancangan sistem informasi penggajian yang baru dapat diterapkan dan lebih ditingkatkan pada masa yang akan datang, serta dapat menghasilkan informasi yang lebih cepat dan tepat serta akurat dan juga memudahkan pihak-pihak yang bersangkutan dalam mengambil suatu keputusan berdasarkan laporan yang ada. 2. Supaya penyajian informasi menjadi lebih baik, maka hendaknya ada tenaga yang terampil dan professional dalam pengoperasian sistem dan peralatan komputer yang ada agar bila terjadi permasalahan yang rumit dapat diselesaikan. 3. Keberadaan sistem yang baru ini sebaiknya didukung oleh perangkat yang memadai baik dari segi peralatan seperi hardware dan software serta dari segi manusianya dan dilakukan perawatan yang baik terhadap sistem.
DAFTAR PUSTAKA
Harianto, Kristanto. 2001, Perancangan Sistem Informasi. Yogyakarta : Gava Media. Hasyim, M. (2008), Buku Pinter Komputer. Kriya Pustaka. Jogiyanto, HM. 2003. Sistem Teknologi Komputer. Andi. Jogiyanto, HM. 2005. Analisis dan Desain Sistem Informasi. Edisi III. Yogyakarta: Penerbit Andi. Jogiyanto, HM. 2005. Sistem Teknologi Komputer. Andi. Kadir, Abdul. 2009. Penuntun Praktis Belajar Database Menngunakan Microsoft Access. Yogyakarta : Penerbit Andi. Richard F. Neuschel. 2005. dalam Jogiyanto, HM. Analisa dan Desain Sistem Aplikasi. Yogyakarta : Andi Offset. Robert A. Leitch dan K. Roscoe. 2005. dalam Jogiyanto, HM. Robert N. Anthony dan John Dearden. 2005. dalam Jogiyanto, HM.
BIODATA PENULIS
Nama
: Teuku Mas’Adi
NIM
: 08123014
Agama
: Islam
Jenis Kelamin
: Laki-Laki
Tempat/Tgl. Lahir
: Mata Ie, 10 Februari 1989
Anak Ke
: 3 (Tiga) dari 4 (Empat) Bersaudara
Alamat
: Jln. Taman Siswa, Lr. Pocut Merah, Merduati – Banda Aceh
e-mail
:
[email protected] /
[email protected]
Riwayat Pendidikan Tamatan 2001
: SD Negeri Mata Ie
Tamatan 2004
: SMP Negeri 2 Blangpidie
Tamatan 2007
: SMA Negeri 1 Blangpidie
Identitas Orang Tua Nama Ayah
: H. T. Muhammad. KR
Pekerjaan
: Tani
Alamat
: Jln. Irigasi, Lr. Makmu Beusare No. 11 Kuta Tinggi, Kec. Blangpidie, Kab. Aceh Barat Daya, Prov. Aceh
Nama Ibu
: Hj. Nurmala Wati
Pekerjaan
: Ibu Rumah Tangga
Alamat
: Jln. Irigasi, Lr. Makmu Beusare No. 11 Kuta Tinggi, Kec. Blangpidie, Kab. Aceh Barat Daya, Prov. Aceh
LISTING PROGRAM LOGIN
Private Sub TxtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Koneksi RsLogin.Open "select * from tbluser where login='" & TxtPassword & "'", conn If Not RsLogin.EOF Then CmdLogin_Click Else MsgBox "Password yang anda masukkan salah", vbCritical, "Warning" TxtPassword.SetFocus TxtPassword = "" End If End If End Sub Private Sub TxtUserName_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Call Koneksi RsLogin.Open "select * from tbluser where nama ='" & TxtUserName & "' ", conn If Not RsLogin.EOF Then TxtPassword.SetFocus Else MsgBox "User name yang anda masukkan tidak terdaftar", vbCritical, "Warning" TxtUserName.SetFocus TxtUserName = "" End If End If End Sub
LISTING PROGRAM MENU UTAMA
Private SkinPath As String Dim Bergerak1 As Integer Dim Teks1 As String Private Sub Form_Activate() Teks1 = Label1 End Sub Private Sub Form_Load() Me.Height = 100 SkinPath = App.Path & "\chizh.skn" Skin1.LoadSkin SkinPath Skin1.ApplySkin Me.hWnd End Sub Private Sub Form_Unload(Cancel As Integer) Do Me.Left = Me.Left + 40 Me.Move Me.Left, Me.Top DoEvents Loop Until Me.Left > Screen.Width End Sub Private Sub mnexit_Click() pesan = MsgBox("Apakah anda ingin keluar ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then End Else frmutama.Show End If End Sub
Private Sub mnjabatan_Click() frmjabatan.Show frmutama.Enabled = False End Sub Private Sub mnkriteria_Click() frmlaporan.Show frmutama.Enabled = False End Sub Private Sub mnpegawai_Click() frmpegawai.Show frmutama.Enabled = False End Sub Private Sub mnpenggajian_Click() frmpenggajian.Show frmutama.Enabled = False End Sub Private Sub mnperbulan_Click() frmlaporan.Show frmutama.Enabled = False End Sub Private Sub mnpertahun_Click() frmlaporan.Show frmutama.Enabled = False End Sub Private Sub mntambah_Click() FrmUser.Show frmutama.Enabled = False End Sub Private Sub mnubackup_Click() FrmBackup.Show frmutama.Enabled = False End Sub Private Sub mnubah_Click() FrmUbahPassword.Show frmutama.Enabled = False End Sub Private Sub mnume_Click() FrmAbout.Show frmutama.Enabled = False End Sub Private Sub Timer1_Timer() Label1 = Bergerak1 Teks1 = Right(Teks1, Len(Teks1) - 1) & Left(Teks1, 1) Label1 = Teks1 End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Private Sub Timer2_Timer() Me.Height = Me.Height + 100 Tengah If Me.Height >= 10830 Then Timer2.Enabled = False Tengah End If End Sub
LISTING PROGRAM JABATAN
Dim Status As Boolean Dim Cari As String Public Kriteria As String Option Explicit Dim pesan As String Private SkinPath As String Private Sub CmbGol_Click() TxtGapokJb.SetFocus End Sub Private Sub CmdBatal_Click() AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh Call TxtMati Call TxtKosong DataJabatan_Click AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdBatal.Enabled = False CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtKodeJbCari.Enabled = True TxtKodeJbCari.BackColor = &H80000005 End Sub Private Sub CmdHapus_Click() If AdoJabatan.Recordset.BOF Then MsgBox "Data jabatan masih kosong !!", vbInformation, "Informasi" Else pesan = MsgBox("Apakah anda yakin ingin menghapus data ini ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then AdoJabatan.Recordset.Delete AdoJabatan.Refresh AdoJabatan.Refresh AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh Else AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh End If End If End Sub Private Sub CmdKeluar_Click() pesan = MsgBox("Apakah anda ingin keluar dari form jabatan ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then Unload Me frmutama.Show frmutama.Enabled = True Else frmjabatan.Show End If End Sub Private Sub CmdKoreksi_Click() Status = True TxtHidup TxtKodeJb.SetFocus CmdSimpan.Enabled = True CmdTambah.Enabled = False
CmdKoreksi.Enabled = False CmdHapus.Enabled = False CmdBatal.Enabled = True CmdRefresh.Enabled = False CmdKeluar.Enabled = False If AdoJabatan.Recordset.BOF Then MsgBox "Data jabatan masih kosong", vbInformation, "Pesan" TxtMati TxtKosong CmdHidup Else TampilData End If TxtKodeJb.BackColor = &H80000005 TxtNamaJb.BackColor = &H80000005 CmbGol.BackColor = &H80000005 TxtGapokJb.BackColor = &H80000005 End Sub Private Sub CmdRefresh_Click() TampilData AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh TxtKodeJbCari.Text = "" End Sub Private Sub CmdSimpan_Click() On Error GoTo Salah If Status = False Then If AdoJabatan.Recordset.BOF Then AdoJabatan.Recordset.AddNew AdoJabatan.Recordset.MoveNext AdoJabatan.Recordset!KD_Jabatan = TxtKodeJb.Text AdoJabatan.Recordset!Nama_Jabatan = TxtNamaJb.Text AdoJabatan.Recordset!Golongan = CmbGol.Text AdoJabatan.Recordset!Gapok = TxtGapokJb.Text AdoJabatan.Recordset.Update AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh AdoJabatan.Refresh TxtKodeJbCari.Enabled = True TxtKodeJbCari.BackColor = &H80000005 Call TxtKosong Else AdoJabatan.Recordset.MoveFirst Cari = TxtKodeJb.Text Kriteria = "KD_Jabatan='" & Cari & "'" AdoJabatan.Recordset.Find Kriteria If AdoJabatan.Recordset.EOF Then If Len(TxtKodeJb.Text) < 1 Then MsgBox "Kode jabatan belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtKodeJb.SetFocus Exit Sub ElseIf Len(TxtNamaJb.Text) < 1 Then MsgBox "Nama jabatan belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtNamaJb.SetFocus Exit Sub ElseIf CmbGol.Text = "" Or CmbGol.Text = "Pilih" Then MsgBox "Golongan belum dipilih, perhatikan sebelum menyimpan", vbInformation, "Informasi" CmbGol.SetFocus Exit Sub ElseIf Len(TxtGapokJb.Text) < 1 Then MsgBox "Gaji pokok belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtGapokJb.SetFocus Exit Sub End If
Dim Save As String Save = MsgBox("Apakah anda ingin menambahkan data ini ??", vbInformation + vbYesNo, "Informasi") If Save = vbYes Then AdoJabatan.Recordset.AddNew AdoJabatan.Recordset!KD_Jabatan = TxtKodeJb.Text AdoJabatan.Recordset!Nama_Jabatan = TxtNamaJb.Text AdoJabatan.Recordset!Golongan = CmbGol.Text AdoJabatan.Recordset!Gapok = TxtGapokJb.Text AdoJabatan.Recordset.Update AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh AdoJabatan.Refresh CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdTambah.Enabled = True CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtKodeJbCari.Enabled = True TxtKodeJbCari.BackColor = &H80000005 TxtMati TxtKosong Else AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh Call TxtMati Call TxtKosong CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdRefresh.Enabled = True CmdKeluar.Enabled = True End If Else MsgBox "Kode jabatan yang dimasukkan telah ada !!", vbInformation + vbOKOnly, "Pesan" TxtKodeJb.SetFocus Exit Sub End If End If Else AdoJabatan.Recordset!KD_Jabatan = TxtKodeJb.Text AdoJabatan.Recordset!Nama_Jabatan = TxtNamaJb.Text AdoJabatan.Recordset!Golongan = CmbGol.Text AdoJabatan.Recordset!Gapok = TxtGapokJb.Text AdoJabatan.Recordset.Update AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh AdoJabatan.Refresh CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdTambah.Enabled = True CmdBatal.Enabled = False CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtKodeJbCari.Enabled = True TxtKodeJbCari.BackColor = &H80000005 TxtKosong TxtMati End If CmdSimpan.Enabled = False CmdBatal.Enabled = False CmdTambah.Enabled = True TxtMati TxtKosong On Error Resume Next Exit Sub
Salah: pesan = MsgBox("Kode jabatan telah ada !!!", vbInformation + vbOKOnly, "Informasi") TxtKodeJb.SetFocus On Error Resume Next End Sub Private Sub cmdTambah_Click() Call TxtHidup Call TxtKosong TxtKodeJb.SetFocus CmdSimpan.Enabled = True CmdBatal.Enabled = True CmdTambah.Enabled = False CmdKoreksi.Enabled = False CmdHapus.Enabled = False CmdKeluar.Enabled = False CmdRefresh.Enabled = False TxtKodeJbCari.Enabled = False TxtKodeJbCari.BackColor = &H80000004 End Sub Private Sub DataJabatan_Click() TampilData End Sub Private Sub Form_Activate() Me.Width = 100 Call TxtMati TampilData CmdSimpan.Enabled = False CmdBatal.Enabled = False End Sub Private Sub Form_Load() AdoJabatan.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoJabatan.CommandType = adCmdText AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" Set DataJabatan.DataSource = AdoJabatan AdoJabatan.Refresh End Sub Sub TxtKosong() TxtKodeJb.Text = "" TxtNamaJb.Text = "" CmbGol.Text = "Pilih" TxtGapokJb.Text = "" End Sub Sub TxtHidup() TxtKodeJb.Enabled = True TxtNamaJb.Enabled = True CmbGol.Enabled = True TxtGapokJb.Enabled = True TxtKodeJb.BackColor = &H80000005 TxtNamaJb.BackColor = &H80000005 CmbGol.BackColor = &H80000005 TxtGapokJb.BackColor = &H80000005 End Sub Sub TxtMati() TxtKodeJb.Enabled = False TxtNamaJb.Enabled = False CmbGol.Enabled = False TxtGapokJb.Enabled = False TxtKodeJb.BackColor = &H80000004 TxtNamaJb.BackColor = &H80000004 CmbGol.BackColor = &H80000004
TxtGapokJb.BackColor = &H80000004 End Sub Sub CmdHidup() CmdTambah.Enabled = True CmdKoreksi.Enabled = True CmdKeluar.Enabled = True CmdHapus.Enabled = True CmdSimpan.Enabled = False End Sub Sub TampilData() TxtKodeJb.Text = AdoJabatan.Recordset!KD_Jabatan TxtNamaJb.Text = AdoJabatan.Recordset!Nama_Jabatan CmbGol.Text = AdoJabatan.Recordset!Golongan TxtGapokJb.Text = AdoJabatan.Recordset!Gapok End Sub Private Sub Form_Unload(Cancel As Integer) frmutama.Show frmutama.Enabled = True End Sub Private Sub Timer1_Timer() Me.Width = Me.Width + 100 Tengah If Me.Width >= 10575 Then Timer1.Enabled = False Tengah End If End Sub Private Sub TxtGapokJb_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtKodeJb_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtNamaJb.SetFocus KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub TxtKodeJbCari_Change() On Error Resume Next With frmjabatan.AdoJabatan .RecordSource = "select*from jabatan where KD_Jabatan like '%" & frmjabatan.TxtKodeJbCari.Text & "%'" .Refresh End With End Sub Private Sub TxtKodeJbCari_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub TxtNamaJb_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then CmbGol.SetFocus End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
LISTING PROGRAM PEGAWAI
Dim Status As Boolean Dim Cari As String Public Kriteria As String Option Explicit Dim pesan As String Private SkinPath As String Private Sub CmbAgama_Click() TglLahir.SetFocus End Sub Private Sub CmbJK_Click() CmbAgama.SetFocus End Sub Private Sub CmbKodeJb_Click() AdoJabatan.CommandType = adCmdText AdoJabatan.RecordSource = "select * from jabatan where KD_Jabatan ='" & CmbKodeJb.Text & "'" AdoJabatan.Refresh If Not AdoJabatan.Recordset.EOF Then TxtJabatan.Text = AdoJabatan.Recordset!Nama_Jabatan AdoJabatan.Refresh End If End Sub Private Sub CmbStatus_Click() TxtJum_Anak.SetFocus End Sub Private Sub CmdBatal_Click() AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh Call TxtMati Call TxtKosong DataPegawai_Click AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdBatal.Enabled = False CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtNIPCari.Enabled = True TxtNIPCari.BackColor = &H80000005 End Sub Private Sub CmdHapus_Click() If AdoPegawai.Recordset.BOF Then MsgBox "Data pegawai masih kosong !!", vbInformation, "Informasi" Else pesan = MsgBox("Apakah anda yakin ingin menghapus data ini ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then AdoPegawai.Recordset.Delete AdoPegawai.Refresh AdoPegawai.Refresh AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh Else AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh End If End If End Sub
Private Sub CmdKeluar_Click() pesan = MsgBox("Apakah anda ingin keluar dari form pegawai ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then Unload Me frmutama.Show frmutama.Enabled = True Else frmpegawai.Show End If End Sub Private Sub CmdKoreksi_Click() Status = True TxtHidup TxtNIP.SetFocus CmdSimpan.Enabled = True CmdTambah.Enabled = False CmdKoreksi.Enabled = False CmdHapus.Enabled = False CmdBatal.Enabled = True CmdRefresh.Enabled = False CmdKeluar.Enabled = False If AdoPegawai.Recordset.BOF Then MsgBox "Data pegawai masih kosong", vbInformation, "Pesan" TxtMati TxtKosong CmdHidup Else TampilData End If
TxtNIP.BackColor = &H80000005 TxtNamaPeg.BackColor = &H80000005 TxtAlamatPeg.BackColor = &H80000005 CmbJK.BackColor = &H80000005 CmbAgama.BackColor = &H80000005 TglLahir.CalendarBackColor = &H80000005 CmbStatus.BackColor = &H80000005 TxtJum_Anak.BackColor = &H80000005 CmbKodeJb.BackColor = &H80000005 End Sub Private Sub CmdRefresh_Click() TampilData AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh TxtNIPCari.Text = "" End Sub Private Sub CmdSimpan_Click() On Error GoTo Salah If Status = False Then If AdoPegawai.Recordset.BOF Then AdoPegawai.Recordset.AddNew AdoPegawai.Recordset.MoveNext AdoPegawai.Recordset!NIP = TxtNIP.Text AdoPegawai.Recordset!nama = TxtNamaPeg.Text AdoPegawai.Recordset!Alamat = TxtAlamatPeg.Text AdoPegawai.Recordset!Jenkel = CmbJK.Text AdoPegawai.Recordset!Agama = CmbAgama.Text AdoPegawai.Recordset!Tgl_Lahir = TglLahir.Value AdoPegawai.Recordset!Status = CmbStatus.Text AdoPegawai.Recordset!Jlh_Anak = TxtJum_Anak.Text AdoPegawai.Recordset!KD_Jabatan = CmbKodeJb.Text AdoPegawai.Recordset.Update AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh AdoPegawai.Refresh
TxtNIPCari.Enabled = True TxtNIPCari.BackColor = &H80000005 Call TxtKosong Else AdoPegawai.Recordset.MoveFirst Cari = TxtNIP.Text Kriteria = "NIP='" & Cari & "'" AdoPegawai.Recordset.Find Kriteria If AdoPegawai.Recordset.EOF Then If Len(TxtNIP.Text) < 1 Then MsgBox "NIP pegawai belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtNIP.SetFocus Exit Sub ElseIf Len(TxtNamaPeg.Text) < 1 Then MsgBox "Nama pegawai belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtNamaPeg.SetFocus Exit Sub ElseIf Len(TxtAlamatPeg.Text) < 1 Then MsgBox "ALamat pegawai belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtAlamatPeg.SetFocus Exit Sub ElseIf CmbJK.Text = "" Or CmbJK.Text = "Pilih" Then MsgBox "Jenis kelamin belum dipilih, perhatikan sebelum menyimpan", vbInformation, "Informasi" CmbJK.SetFocus Exit Sub ElseIf CmbAgama.Text = "" Or CmbAgama.Text = "Pilih" Then MsgBox "Agama belum dipilih, perhatikan sebelum menyimpan", vbInformation, "Informasi" CmbAgama.SetFocus Exit Sub ElseIf CmbStatus.Text = "" Or CmbStatus.Text = "Pilih" Then MsgBox "Status pegawai belum dipilih, perhatikan sebelum menyimpan", vbInformation, "Informasi" CmbStatus.SetFocus Exit Sub ElseIf Len(TxtJum_Anak.Text) < 1 Then MsgBox "Jumlah anak belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtJum_Anak.SetFocus Exit Sub ElseIf CmbKodeJb.Text = "" Or CmbKodeJb.Text = "Pilih" Then MsgBox "Kode jabatan belum dipilih, perhatikan sebelum menyimpan", vbInformation, "Informasi" CmbKodeJb.SetFocus Exit Sub End If Dim Save As String Save = MsgBox("Apakah anda ingin menambahkan data ini ??", vbInformation + vbYesNo, "Informasi") If Save = vbYes Then AdoPegawai.Recordset.AddNew AdoPegawai.Recordset!NIP = TxtNIP.Text AdoPegawai.Recordset!nama = TxtNamaPeg.Text AdoPegawai.Recordset!Alamat = TxtAlamatPeg.Text AdoPegawai.Recordset!Jenkel = CmbJK.Text AdoPegawai.Recordset!Agama = CmbAgama.Text AdoPegawai.Recordset!Tgl_Lahir = TglLahir.Value AdoPegawai.Recordset!Status = CmbStatus.Text AdoPegawai.Recordset!Jlh_Anak = TxtJum_Anak.Text AdoPegawai.Recordset!KD_Jabatan = CmbKodeJb.Text AdoPegawai.Recordset.Update AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh AdoPegawai.Refresh CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdTambah.Enabled = True CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtNIPCari.Enabled = True TxtNIPCari.BackColor = &H80000005
TxtMati TxtKosong Else AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh Call TxtMati Call TxtKosong CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdRefresh.Enabled = True CmdKeluar.Enabled = True End If Else MsgBox "NIP pegawai yang dimasukkan telah ada !!", vbInformation + vbOKOnly, "Pesan" TxtNIP.SetFocus Exit Sub End If End If Else AdoPegawai.Recordset!NIP = TxtNIP.Text AdoPegawai.Recordset!nama = TxtNamaPeg.Text AdoPegawai.Recordset!Alamat = TxtAlamatPeg.Text AdoPegawai.Recordset!Jenkel = CmbJK.Text AdoPegawai.Recordset!Agama = CmbAgama.Text AdoPegawai.Recordset!Tgl_Lahir = TglLahir.Value AdoPegawai.Recordset!Status = CmbStatus.Text AdoPegawai.Recordset!Jlh_Anak = TxtJum_Anak.Text AdoPegawai.Recordset!KD_Jabatan = CmbKodeJb.Text AdoPegawai.Recordset.Update AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh AdoPegawai.Refresh CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdTambah.Enabled = True CmdBatal.Enabled = False CmdRefresh.Enabled = True CmdKeluar.Enabled = True TxtNIPCari.Enabled = True TxtNIPCari.BackColor = &H80000005 TxtKosong TxtMati End If CmdSimpan.Enabled = False CmdBatal.Enabled = False CmdTambah.Enabled = True TxtMati TxtKosong On Error Resume Next Exit Sub Salah: pesan = MsgBox("NIP pegawai yang dimasukkan telah ada !!!", vbInformation + vbOKOnly, "Informasi") TxtNIP.SetFocus On Error Resume Next End Sub Private Sub cmdTambah_Click() Call TxtHidup Call TxtKosong TxtNIP.SetFocus CmdSimpan.Enabled = True CmdBatal.Enabled = True CmdTambah.Enabled = False CmdKoreksi.Enabled = False
CmdHapus.Enabled = False CmdKeluar.Enabled = False CmdRefresh.Enabled = False TxtNIPCari.Enabled = False TxtNIPCari.BackColor = &H80000004 End Sub Private Sub DataPegawai_Click() TampilData End Sub Private Sub Form_Activate() Me.Width = 100 Call TxtMati TampilData CmdSimpan.Enabled = False CmdBatal.Enabled = False If Not AdoJabatan.Recordset.EOF Then TxtJabatan.Text = AdoJabatan.Recordset!Nama_Jabatan AdoJabatan.Refresh End If End Sub Private Sub Form_Load() AdoPegawai.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoPegawai.CommandType = adCmdText AdoPegawai.RecordSource = "select * from pegawai order by NIP" Set DataPegawai.DataSource = AdoPegawai AdoPegawai.Refresh AdoJabatan.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoJabatan.CommandType = adCmdText AdoJabatan.RecordSource = "select * from jabatan order by KD_Jabatan" AdoJabatan.Refresh Do While Not AdoJabatan.Recordset.EOF CmbKodeJb.AddItem AdoJabatan.Recordset!KD_Jabatan AdoJabatan.Recordset.MoveNext Loop End Sub Sub TxtKosong() TxtNIP.Text = "" TxtNamaPeg.Text = "" TxtAlamatPeg.Text = "" CmbJK.Text = "Pilih" CmbAgama.Text = "Pilih" CmbStatus.Text = "Pilih" TxtJum_Anak.Text = "" CmbKodeJb.Text = "Pilih" End Sub
Sub TxtHidup() TxtNIP.Enabled = True TxtNamaPeg.Enabled = True TxtAlamatPeg.Enabled = True CmbJK.Enabled = True CmbAgama.Enabled = True TglLahir.Enabled = True CmbStatus.Enabled = True TxtJum_Anak.Enabled = True CmbKodeJb.Enabled = True TxtNIP.BackColor = &H80000005 TxtNamaPeg.BackColor = &H80000005 TxtAlamatPeg.BackColor = &H80000005 CmbJK.BackColor = &H80000005 CmbAgama.BackColor = &H80000005
TglLahir.CalendarBackColor = &H80000005 CmbStatus.BackColor = &H80000005 TxtJum_Anak.BackColor = &H80000005 CmbKodeJb.BackColor = &H80000005 End Sub Sub TxtMati() TxtNIP.Enabled = False TxtNamaPeg.Enabled = False TxtAlamatPeg.Enabled = False CmbJK.Enabled = False CmbAgama.Enabled = False TglLahir.Enabled = False CmbStatus.Enabled = False TxtJum_Anak.Enabled = False CmbKodeJb.Enabled = False TxtNIP.BackColor = &H80000004 TxtNamaPeg.BackColor = &H80000004 TxtAlamatPeg.BackColor = &H80000004 CmbJK.BackColor = &H80000004 CmbAgama.BackColor = &H80000004 TglLahir.CalendarBackColor = &H80000004 CmbStatus.BackColor = &H80000004 TxtJum_Anak.BackColor = &H80000004 CmbKodeJb.BackColor = &H80000004 End Sub Sub CmdHidup() CmdTambah.Enabled = True CmdKoreksi.Enabled = True CmdKeluar.Enabled = True CmdHapus.Enabled = True CmdSimpan.Enabled = False End Sub Sub TampilData() TxtNIP.Text = AdoPegawai.Recordset!NIP TxtNamaPeg.Text = AdoPegawai.Recordset!nama TxtAlamatPeg.Text = AdoPegawai.Recordset!Alamat CmbJK.Text = AdoPegawai.Recordset!Jenkel CmbAgama.Text = AdoPegawai.Recordset!Agama TglLahir.Value = AdoPegawai.Recordset!Tgl_Lahir CmbStatus.Text = AdoPegawai.Recordset!Status TxtJum_Anak.Text = AdoPegawai.Recordset!Jlh_Anak CmbKodeJb.Text = AdoPegawai.Recordset!KD_Jabatan End Sub Private Sub Form_Unload(Cancel As Integer) frmutama.Show frmutama.Enabled = True End Sub Private Sub Timer1_Timer() Me.Width = Me.Width + 100 Tengah If Me.Width >= 9600 Then Timer1.Enabled = False Tengah End If End Sub Private Sub TxtAlamatPeg_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then CmbJK.SetFocus End Sub Private Sub TxtJum_Anak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then CmbKodeJb.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _
Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtNamaPeg_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtAlamatPeg.SetFocus End Sub Private Sub TxtNip_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtNamaPeg.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtNIPCari_Change() On Error Resume Next With frmpegawai.AdoPegawai .RecordSource = "select*from pegawai where NIP like '%" & frmpegawai.TxtNIPCari.Text & "%'" .Refresh End With End Sub Private Sub TxtNIPCari_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub
Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
LISTING PROGRAM PENGGAJIAN
Dim Status As Boolean Dim Cari As String Public Kriteria As String Option Explicit Dim pesan As String Private SkinPath As String Private Sub CmdBatal_Click() AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh Call TxtMati Call TxtKosong DataPenggajian_Click AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdBatal.Enabled = False CmdKeluar.Enabled = True 'TxtNIPCari.Enabled = True 'TxtNIPCari.BackColor = &H80000005
End Sub Private Sub CmdHapus_Click() If AdoPenggajian.Recordset.BOF Then MsgBox "Data penggajian masih kosong !!", vbInformation, "Informasi" Else pesan = MsgBox("Apakah anda yakin ingin menghapus data ini ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then AdoPenggajian.Recordset.Delete AdoPenggajian.Refresh AdoPenggajian.Refresh AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh Else AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh End If End If End Sub Private Sub CmdKeluar_Click() pesan = MsgBox("Apakah anda ingin keluar dari form penggajian ??", vbQuestion + vbYesNo, "Konfirmasi") If pesan = vbYes Then Unload Me frmutama.Show frmutama.Enabled = True Else frmpenggajian.Show End If End Sub Private Sub CmdKoreksi_Click() Status = True TxtHidup TxtSlip.SetFocus CmdSimpan.Enabled = True CmdTambah.Enabled = False CmdKoreksi.Enabled = False CmdHapus.Enabled = False CmdBatal.Enabled = True CmdKeluar.Enabled = False If AdoPenggajian.Recordset.BOF Then MsgBox "Data penggajian masih kosong", vbInformation, "Pesan" TxtMati TxtKosong CmdHidup Else TampilData End If TxtSlip.BackColor = &H80000005 TxtNIP.BackColor = &H80000005 TglPenggajian.CalendarBackColor = &H80000005 TxtGapok.BackColor = &H80000005 TxtTunj_Istri.BackColor = &H80000005 TxtTunj_Anak.BackColor = &H80000005 TxtTunj_Makan.BackColor = &H80000005 TxtTunj_Fungsional.BackColor = &H80000005 TxtPenghasilan_Kotor.BackColor = &H80000005 TxtPot_Hutang.BackColor = &H80000005 TxtPot_Pajak.BackColor = &H80000005 TxtJum_Pot.BackColor = &H80000005 TxtJum_Hasil.BackColor = &H80000005 End Sub Private Sub CmdRefresh_Click() TampilData
AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh 'TxtNIPCari.Text = "" End Sub Private Sub CmdSimpan_Click() On Error GoTo Salah If Status = False Then If AdoPenggajian.Recordset.BOF Then AdoPenggajian.Recordset.AddNew AdoPenggajian.Recordset.MoveNext AdoPenggajian.Recordset!No_Slip = TxtSlip.Text AdoPenggajian.Recordset!NIP = TxtNIP.Text AdoPenggajian.Recordset!Tgl_Penggajian = TglPenggajian.Value AdoPenggajian.Recordset!Gapok = TxtGapok.Text AdoPenggajian.Recordset!Tunj_Istri = TxtTunj_Istri.Text AdoPenggajian.Recordset!Tunj_Anak = TxtTunj_Anak.Text AdoPenggajian.Recordset!Tunj_Makan = TxtTunj_Makan.Text AdoPenggajian.Recordset!Tunj_Fungsional = TxtTunj_Fungsional.Text AdoPenggajian.Recordset!Gaji_Kotor = TxtPenghasilan_Kotor.Text AdoPenggajian.Recordset!Pot_Hutang = TxtPot_Hutang.Text AdoPenggajian.Recordset!Pot_Pajak = TxtPot_Pajak.Text AdoPenggajian.Recordset!Jlh_Potongan = TxtJum_Pot.Text AdoPenggajian.Recordset!Jlh_Penghasilan = TxtJum_Hasil.Text AdoPenggajian.Recordset.Update AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh AdoPenggajian.Refresh Call TxtKosong Else AdoPenggajian.Recordset.MoveFirst Cari = TxtSlip.Text Kriteria = "No_Slip='" & Cari & "'" AdoPenggajian.Recordset.Find Kriteria If AdoPenggajian.Recordset.EOF Then If Len(TxtSlip.Text) < 1 Then MsgBox "Slip penggajian belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtSlip.SetFocus Exit Sub ElseIf Len(TxtNIP.Text) < 1 Then MsgBox "NIP pegawai belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtNIP.SetFocus Exit Sub ElseIf Len(TxtTunj_Istri.Text) < 1 Then MsgBox "Tunjangan istri belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtTunj_Istri.SetFocus Exit Sub ElseIf Len(TxtTunj_Anak.Text) < 1 Then MsgBox "Tunjangan anak belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtTunj_Anak.SetFocus Exit Sub ElseIf Len(TxtTunj_Makan.Text) < 1 Then MsgBox "Tunjangan makan belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtTunj_Makan.SetFocus Exit Sub ElseIf Len(TxtTunj_Fungsional.Text) < 1 Then MsgBox "Tunjangan fungsional belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtTunj_Fungsional.SetFocus Exit Sub ElseIf Len(TxtPot_Hutang.Text) < 1 Then MsgBox "Tunjangan anak belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtTunj_Anak.SetFocus Exit Sub ElseIf Len(TxtPot_Pajak.Text) < 1 Then MsgBox "Potongan pajak belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtPot_Pajak.SetFocus Exit Sub
End If Dim Save As String Save = MsgBox("Apakah anda ingin menambahkan data ini ??", vbInformation + vbYesNo, "Informasi") If Save = vbYes Then AdoPenggajian.Recordset.AddNew AdoPenggajian.Recordset!No_Slip = TxtSlip.Text AdoPenggajian.Recordset!NIP = TxtNIP.Text AdoPenggajian.Recordset!Tgl_Penggajian = TglPenggajian.Value AdoPenggajian.Recordset!Gapok = TxtGapok.Text AdoPenggajian.Recordset!Tunj_Istri = TxtTunj_Istri.Text AdoPenggajian.Recordset!Tunj_Anak = TxtTunj_Anak.Text AdoPenggajian.Recordset!Tunj_Makan = TxtTunj_Makan.Text AdoPenggajian.Recordset!Tunj_Fungsional = TxtTunj_Fungsional.Text AdoPenggajian.Recordset!Gaji_Kotor = TxtPenghasilan_Kotor.Text AdoPenggajian.Recordset!Pot_Hutang = TxtPot_Hutang.Text AdoPenggajian.Recordset!Pot_Pajak = TxtPot_Pajak.Text AdoPenggajian.Recordset!Jlh_Potongan = TxtJum_Pot.Text AdoPenggajian.Recordset!Jlh_Penghasilan = TxtJum_Hasil.Text AdoPenggajian.Recordset.Update AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh AdoPenggajian.Refresh CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdTambah.Enabled = True CmdKeluar.Enabled = True 'TxtNIPCari.Enabled = True 'TxtNIPCari.BackColor = &H80000005 TxtMati TxtKosong Else AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh Call TxtMati Call TxtKosong CmdKoreksi.Enabled = True CmdHapus.Enabled = True CmdKeluar.Enabled = True End If Else MsgBox "No slip tersebuat telah diterima oleh pegawai !!", vbInformation + vbOKOnly, "Pesan" TxtSlip.SetFocus Exit Sub End If End If Else AdoPenggajian.Recordset!No_Slip = TxtSlip.Text AdoPenggajian.Recordset!NIP = TxtNIP.Text AdoPenggajian.Recordset!Tgl_Penggajian = TglPenggajian.Value AdoPenggajian.Recordset!Gapok = TxtGapok.Text AdoPenggajian.Recordset!Tunj_Istri = TxtTunj_Istri.Text AdoPenggajian.Recordset!Tunj_Anak = TxtTunj_Anak.Text AdoPenggajian.Recordset!Tunj_Makan = TxtTunj_Makan.Text AdoPenggajian.Recordset!Tunj_Fungsional = TxtTunj_Fungsional.Text AdoPenggajian.Recordset!Gaji_Kotor = TxtPenghasilan_Kotor.Text AdoPenggajian.Recordset!Pot_Hutang = TxtPot_Hutang.Text AdoPenggajian.Recordset!Pot_Pajak = TxtPot_Pajak.Text AdoPenggajian.Recordset!Jlh_Potongan = TxtJum_Pot.Text AdoPenggajian.Recordset!Jlh_Penghasilan = TxtJum_Hasil.Text AdoPenggajian.Recordset.Update AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh AdoPenggajian.Refresh CmdKoreksi.Enabled = True
CmdHapus.Enabled = True CmdTambah.Enabled = True CmdBatal.Enabled = False CmdKeluar.Enabled = True 'TxtNIPCari.Enabled = True 'TxtNIPCari.BackColor = &H80000005 TxtKosong TxtMati End If CmdSimpan.Enabled = False CmdBatal.Enabled = False CmdTambah.Enabled = True TxtMati TxtKosong On Error Resume Next Exit Sub Salah: pesan = MsgBox("Slip gaji tersebut telah diterima oleh pegawai !!!", vbInformation + vbOKOnly, "Informasi") TxtSlip.SetFocus On Error Resume Next End Sub Private Sub cmdTambah_Click() Call TxtHidup Call TxtKosong Call otomatis TxtSlip.SetFocus CmdSimpan.Enabled = True CmdBatal.Enabled = True CmdTambah.Enabled = False CmdKoreksi.Enabled = False CmdHapus.Enabled = False CmdKeluar.Enabled = False 'TxtNIPCari.Enabled = False 'TxtNIPCari.BackColor = &H80000004 End Sub Private Sub DataPenggajian_Click() TampilData End Sub Private Sub Form_Activate() Me.Width = 100 Call TxtMati TampilData CmdSimpan.Enabled = False CmdBatal.Enabled = False End Sub Private Sub Form_Load() AdoPenggajian.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoPenggajian.CommandType = adCmdText AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" Set DataPenggajian.DataSource = AdoPenggajian AdoPenggajian.Refresh AdoPetugas.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoPetugas.CommandType = adCmdText AdoPetugas.RecordSource = "select * from petugas order by KD_Petugas" AdoPetugas.Refresh AdoPegawai.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoPegawai.CommandType = adCmdText AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh End Sub
Sub TxtKosong() TxtSlip.Text = "" TxtNIP.Text = "" TxtGapok.Text = "" TxtTunj_Istri.Text = "" TxtTunj_Anak.Text = "" TxtTunj_Makan.Text = "" TxtTunj_Fungsional.Text = "" TxtPenghasilan_Kotor.Text = "" TxtPot_Hutang.Text = "" TxtPot_Pajak.Text = "" TxtJum_Pot.Text = "" TxtJum_Hasil.Text = "" End Sub Sub TxtHidup() TxtSlip.Enabled = True TxtNIP.Enabled = True TglPenggajian.Enabled = True TxtGapok.Enabled = True TxtTunj_Istri.Enabled = True TxtTunj_Anak.Enabled = True TxtTunj_Makan.Enabled = True TxtTunj_Fungsional.Enabled = True TxtPenghasilan_Kotor.Enabled = True TxtPot_Hutang.Enabled = True TxtPot_Pajak.Enabled = True TxtJum_Pot.Enabled = True TxtJum_Hasil.Enabled = True TxtSlip.BackColor = &H80000005 TxtNIP.BackColor = &H80000005 TglPenggajian.CalendarBackColor = &H80000005 TxtGapok.BackColor = &H80000005 TxtTunj_Istri.BackColor = &H80000005 TxtTunj_Anak.BackColor = &H80000005 TxtTunj_Makan.BackColor = &H80000005 TxtTunj_Fungsional.BackColor = &H80000005 TxtPenghasilan_Kotor.BackColor = &H80000005 TxtPot_Hutang.BackColor = &H80000005 TxtPot_Pajak.BackColor = &H80000005 TxtJum_Pot.BackColor = &H80000005 TxtJum_Hasil.BackColor = &H80000005 End Sub Sub TxtMati() TxtSlip.Enabled = False TxtNIP.Enabled = False TglPenggajian.Enabled = False TxtGapok.Enabled = False TxtTunj_Istri.Enabled = False TxtTunj_Anak.Enabled = False TxtTunj_Makan.Enabled = False TxtTunj_Fungsional.Enabled = False TxtPenghasilan_Kotor.Enabled = False TxtPot_Hutang.Enabled = False TxtPot_Pajak.Enabled = False TxtJum_Pot.Enabled = False TxtJum_Hasil.Enabled = False TxtSlip.BackColor = &H80000004 TxtNIP.BackColor = &H80000004 TglPenggajian.CalendarBackColor = &H80000004 TxtGapok.BackColor = &H80000004 TxtTunj_Istri.BackColor = &H80000004 TxtTunj_Anak.BackColor = &H80000004 TxtTunj_Makan.BackColor = &H80000004 TxtTunj_Fungsional.BackColor = &H80000004 TxtPenghasilan_Kotor.BackColor = &H80000004 TxtPot_Hutang.BackColor = &H80000004 TxtPot_Pajak.BackColor = &H80000004
TxtJum_Pot.BackColor = &H80000004 TxtJum_Hasil.BackColor = &H80000004 End Sub Sub CmdHidup() CmdTambah.Enabled = True CmdKoreksi.Enabled = True CmdKeluar.Enabled = True CmdHapus.Enabled = True CmdSimpan.Enabled = False End Sub Sub TampilData() TxtSlip.Text = AdoPenggajian.Recordset!No_Slip TxtNIP.Text = AdoPenggajian.Recordset!NIP TglPenggajian.Value = AdoPenggajian.Recordset!Tgl_Penggajian TxtGapok.Text = AdoPenggajian.Recordset!Gapok TxtTunj_Istri.Text = AdoPenggajian.Recordset!Tunj_Istri TxtTunj_Anak.Text = AdoPenggajian.Recordset!Tunj_Anak TxtTunj_Makan.Text = AdoPenggajian.Recordset!Tunj_Makan TxtTunj_Fungsional.Text = AdoPenggajian.Recordset!Tunj_Fungsional TxtPenghasilan_Kotor.Text = AdoPenggajian.Recordset!Gaji_Kotor TxtPot_Hutang.Text = AdoPenggajian.Recordset!Pot_Hutang TxtPot_Pajak.Text = AdoPenggajian.Recordset!Pot_Pajak TxtJum_Pot.Text = AdoPenggajian.Recordset!Jlh_Potongan TxtJum_Hasil.Text = AdoPenggajian.Recordset!Jlh_Penghasilan End Sub Sub otomatis() Dim nomor, otomatis As String AdoPenggajian.RecordSource = "select * from penggajian order by No_Slip" AdoPenggajian.Refresh If AdoPenggajian.Recordset.RecordCount = 0 Then otomatis = "S-0001" Else AdoPenggajian.Recordset.MoveLast nomor = Right(AdoPenggajian.Recordset!No_Slip, 4) + 1 otomatis = "S-" & Right("0000" & nomor, 4) End If TxtSlip.Text = otomatis End Sub Private Sub Form_Unload(Cancel As Integer) frmutama.Show frmutama.Enabled = True End Sub Private Sub Timer1_Timer() Me.Width = Me.Width + 100 Tengah If Me.Width >= 13290 Then Timer1.Enabled = False Tengah End If End Sub Private Sub TxtGapok_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtTunj_Istri.SetFocus End Sub Private Sub TxtNip_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then AdoPegawai.RecordSource = "select * from pegawai where NIP='" & TxtNIP.Text & "'" AdoPegawai.Refresh If AdoPegawai.Recordset.EOF Then MsgBox "NIP pegawai tersebut tidak ada", vbInformation, "Informasi" TxtNIP.SetFocus TxtNIP.Text = "" Else TglPenggajian.SetFocus
End If End If If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtPenghasilan_Kotor_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtPot_Hutang_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtPot_Pajak.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtPot_Pajak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtJum_Pot = Val(Me.TxtPot_Hutang) + Val(Me.TxtPot_Pajak) TxtJum_Hasil = Val(Me.TxtPenghasilan_Kotor) - Val(Me.TxtJum_Pot) End If End Sub Private Sub TxtSlip_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then TxtNIP.SetFocus End Sub Private Sub TxtTunj_Anak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtTunj_Makan.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtTunj_Fungsional_Change() TxtPenghasilan_Kotor = Val(Me.TxtGapok) + Val(Me.TxtTunj_Istri) + Val(Me.TxtTunj_Anak) + Val(Me.TxtTunj_Makan) + Val(Me.TxtTunj_Fungsional) TxtPenghasilan_Kotor.Refresh End Sub Private Sub TxtTunj_Fungsional_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtPot_Hutang.SetFocus TxtTunj_Fungsional_Change If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _
Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtTunj_Istri_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtTunj_Anak.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Private Sub TxtTunj_Makan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtTunj_Fungsional.SetFocus If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
LISTING PROGRAM LAPORAN
Private Sub CmbKriteria_Lap_Click() Select Case Me.CmbKriteria_Lap.ListIndex Case Is = 0 TxtNip.Enabled = True TxtNip.Text = "" TxtNip.SetFocus Case Is = 1 Me.TxtNip.Enabled = False TxtNip.Text = "" Case Is = 2 Me.TxtNip.Enabled = False TxtNip.Text = "" Case Is = 3 Me.TxtNip.Enabled = True TxtNip.Text = "" TxtNip.SetFocus End Select End Sub Private Sub CmdCetak_Click() If Me.CmbKriteria_Lap.ListIndex = -1 Then MsgBox "Pilih kriteria laporan untuk mencetak", vbInformation, "Informasi" Me.CmbKriteria_Lap.SetFocus Exit Sub Else Select Case Me.CmbKriteria_Lap.ListIndex
Case Is = 0 CrystalReport1.DataFiles(0) = App.Path & "\Pegawai.mdb" CrystalReport1.SelectionFormula = "{Pegawai.NIP}='" & TxtNip.Text & "'" CrystalReport1.ReportFileName = App.Path & "\LapIdentitasPegawai.rpt" CrystalReport1.RetrieveDataFiles CrystalReport1.WindowState = crptMaximized CrystalReport1.Action = 2 Exit Sub Case Is = 1 CrystalReport1.DataFiles(0) = App.Path & "\Pegawai.mdb" CrystalReport1.ReportFileName = App.Path & "\LapDaftarPegawai.rpt" CrystalReport1.RetrieveDataFiles CrystalReport1.WindowState = crptMaximized CrystalReport1.Action = 2 Case Is = 2 CrystalReport1.DataFiles(0) = App.Path & "\Pegawai.mdb" CrystalReport1.ReportFileName = App.Path & "\LapPenggajian.rpt" CrystalReport1.RetrieveDataFiles CrystalReport1.WindowState = crptMaximized CrystalReport1.Action = 2 Case Is = 3 If TxtNip.Text = "" Then MsgBox "NIP belum diisi", vbInformation, "Konfirmasi" TxtNip.SetFocus Else CrystalReport1.DataFiles(0) = App.Path & "\Pegawai.mdb" CrystalReport1.ReportFileName = App.Path & "\LapPenggajian.rpt" CrystalReport1.SelectionFormula = "{Penggajian.NIP}='" & TxtNip.Text & "'" 'CrystalReport1.SelectionFormula = "{Penggajian.Tgl_Penggajian}='" & Format(Date, "dd/mm/yyyy", Tgl.Value) & "'" CrystalReport1.RetrieveDataFiles CrystalReport1.WindowState = crptMaximized CrystalReport1.Action = 2 End If End Select End If End Sub Private Sub CmdKeluar_Click() pesan = MsgBox("Apakah anda ingin keluar dari form laporan ??", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then Unload Me frmutama.Show Else frmlaporan.Show End If End Sub Private Sub Form_Activate() Me.Width = 100 TxtNip.Enabled = False End Sub Private Sub Form_Load() AdoPegawai.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoPegawai.CommandType = adCmdText AdoPegawai.RecordSource = "select * from pegawai order by NIP" AdoPegawai.Refresh End Sub Private Sub Form_Unload(Cancel As Integer) frmutama.Show frmutama.Enabled = True End Sub Private Sub Timer1_Timer() Me.Width = Me.Width + 100 Tengah If Me.Width >= 6945 Then Timer1.Enabled = False
Tengah End If End Sub Private Sub TxtNip_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then AdoPegawai.RecordSource = "select * from pegawai where NIP='" & TxtNip.Text & "'" AdoPegawai.Refresh If AdoPegawai.Recordset.EOF Then MsgBox "NIP pegawai tersebut tidak ada", vbInformation, "Informasi" TxtNip.SetFocus TxtNip.Text = "" Else CmdCetak_Click End If End If If Not (KeyAscii >= Asc("0") & Chr(13) _ And KeyAscii <= Asc("9") & Chr(13) _ Or KeyAscii = vbKeyBack _ Or KeyAscii = vbKeyDelete _ Or KeyAscii = vbKeySpace) Then Beep KeyAscii = 0 End If End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
LISTING PROGRAM TAMBAH USER
Dim Status As Boolean Dim Cari As String Public Kriteria As String Option Explicit Dim pesan As String Private Sub TxtUser_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then TxtPassword.SetFocus KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub cmdTambah_Click() Call TxtHidup Call TxtKosong TxtUser.SetFocus CmdTambah.Enabled = False CmdSimpan.Enabled = True CmdBatal.Enabled = True CmdKeluar.Enabled = False End Sub Private Sub CmdBatal_Click() AdoUser.RecordSource = "select * from tbluser" AdoUser.Refresh Call TxtMati Call TxtKosong CmdKeluar.Enabled = True CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdBatal.Enabled = False End Sub
Private Sub CmdKeluar_Click() pesan = MsgBox("Apakah anda ingin menutup form user ??", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then Unload Me frmutama.Show frmutama.Enabled = True Else FrmUser.Show End If End Sub Private Sub CmdSimpan_Click() On Error GoTo Salah If Status = False Then If AdoUser.Recordset.BOF Then AdoUser.Recordset.AddNew AdoUser.Recordset.MoveNext AdoUser.Recordset.MoveNext AdoUser.Recordset!nama = TxtUser.Text AdoUser.Recordset!login = TxtPassword.Text AdoUser.Recordset.Update AdoUser.RecordSource = "select * from tbluser" AdoUser.Refresh AdoUser.Refresh Call TxtKosong Else AdoUser.Recordset.MoveFirst Cari = TxtUser.Text Kriteria = "nama='" & Cari & "'" AdoUser.Recordset.Find Kriteria If AdoUser.Recordset.EOF Then If Len(TxtUser.Text) < 1 Then MsgBox "User name belum diisi, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtUser.SetFocus Exit Sub ElseIf Len(TxtPassword.Text) < 1 Then MsgBox "Password belum dibuat, perhatikan sebelum menyimpan", vbInformation, "Informasi" TxtPassword.SetFocus Exit Sub End If Dim Save As String Save = MsgBox("Apakah anda ingin menambahkan user baru ??", vbInformation + vbYesNo, "Information") If Save = vbYes Then AdoUser.Recordset.AddNew AdoUser.Recordset!nama = TxtUser.Text AdoUser.Recordset!login = TxtPassword.Text AdoUser.Recordset.Update AdoUser.RecordSource = "select * from tbluser" AdoUser.Refresh AdoUser.Refresh CmdTambah.Enabled = True TxtMati TxtKosong Else AdoUser.RecordSource = "select * from tbluser" AdoUser.Refresh Call TxtMati Call TxtKosong CmdTambah.Enabled = True CmdKeluar.Enabled = True
End If Else MsgBox "User name tersebut telah ada, coba masukkan yang lain !!", vbInformation + vbOKOnly, "Message" TxtUser.SetFocus Exit Sub End If End If Else AdoUser.Recordset!nama = TxtUser.Text AdoUser.Recordset!login = TxtPassword.Text AdoUser.Recordset.Update AdoUser.RecordSource = "select * from tbluser" AdoUser.Refresh AdoUser.Refresh CmdTambah.Enabled = True CmdBatal.Enabled = False CmdKeluar.Enabled = True TxtKosong TxtMati End If CmdSimpan.Enabled = False CmdBatal.Enabled = False CmdTambah.Enabled = True TxtMati TxtKosong On Error Resume Next Exit Sub Salah: pesan = MsgBox("User name tersebut telah terdaftar !!!", vbInformation + vbOKOnly, "Information") TxtUser.SetFocus On Error Resume Next End Sub Private Sub Form_Activate() Call TxtMati CmdSimpan.Enabled = False CmdBatal.Enabled = False End Sub Private Sub Form_Load() AdoUser.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pegawai.mdb" AdoUser.CommandType = adCmdText AdoUser.RecordSource = "select * from tbluser" Set DataUser.DataSource = AdoUser End Sub Sub TxtKosong() TxtUser = "" TxtPassword = "" End Sub Sub TxtHidup() TxtUser.Enabled = True TxtPassword.Enabled = True TxtUser.BackColor = &H80000005 TxtPassword.BackColor = &H80000005 End Sub Sub TxtMati() TxtUser.Enabled = False TxtPassword.Enabled = False TxtUser.BackColor = &H80000004 TxtPassword.BackColor = &H80000004 End Sub
Private Sub Form_Unload(Cancel As Integer) Do Me.Left = Me.Left + 40 Me.Move Me.Left, Me.Top DoEvents Loop Until Me.Left > Screen.Width frmutama.Show frmutama.Enabled = True End Sub
LISTING PROGRAM UBAH PASSWORD
Dim kon As ADODB.Connection Dim rs As ADODB.Recordset Private Sub Form_Activate() TxtUser.SetFocus End Sub Private Sub Form_Load() Dim str As String Set kon = New ADODB.Connection Set rs = New ADODB.Recordset str = "provider=microsoft.jet.oledb.4.0;persist security info=false;data source=" & App.Path & ".\Pegawai.mdb" kon.Open str rs.ActiveConnection = str rs.Open "tbluser" rs.Requery End Sub Private Sub Form_Unload(Cancel As Integer) Do Me.Left = Me.Left + 40 Me.Move Me.Left, Me.Top DoEvents Loop Until Me.Left > Screen.Width frmutama.Show frmutama.Enabled = True End Sub Private Sub TxtKonfir_KeyPress(KeyAscii As Integer) On Error GoTo salahproses If KeyAscii = 13 Then If txtbaru <> TxtKonfir Then MsgBox "Password konfirmasi tidak sama", vbCritical, "Warning" TxtKonfir.SetFocus TxtKonfir = "" Else pesan = MsgBox("Anda yakin password akan diganti", vbQuestion + vbYesNo, "Pesan Konfirmasi") If pesan = vbYes Then Dim message As String Dim sqlubah As String sqlubah = "update tbluser set login='" & txtbaru.Text & "' where login='" & txtlama.Text & "' and nama='" & TxtUser.Text & "'" kon.Execute sqlubah rs.Requery pesan = MsgBox("Password anda berhasil di ubah", vbInformation, "Informasi") Unload Me frmutama.Show frmutama.Enabled = True
Exit Sub Else Unload Me frmutama.Show frmutama.Enabled = True End If End If Exit Sub On Error GoTo 0 Exit Sub salahproses: message = MsgBox("Ada kesalahan proses program", vbExclamation, "Peringatan") End If End Sub Private Sub txtlama_KeyPress(KeyAscii As Integer) On Error GoTo salahproses KeyAscii = Asc(UCase(Chr(KeyAscii))) Dim pesan As String If KeyAscii = 27 Then Unload Me txtlama.PasswordChar = "*" If KeyAscii = 13 Then Call CARIDATA1 If Not rs.EOF Then txtbaru.Text = "" txtbaru.SetFocus Else Dim pesan1 As String pesan1 = MsgBox("Password yang anda masukkan salah!", vbCritical, "Warning") txtlama.Text = "" txtlama.SetFocus End If End If On Error GoTo 0 Exit Sub salahproses: pesan = MsgBox("Ada kesalahah proses program", vbExclamation, "Peringatan") End Sub Private Sub txtbaru_KeyPress(KeyAscii As Integer) On Error GoTo salahproses Dim pesan As String If KeyAscii = 27 Then Unload Me txtbaru.PasswordChar = "*" If KeyAscii = 13 Then Call CARIDATA2 If Not rs.EOF Then pesan = MsgBox("Password yang anda masukkan kurang cocok, coba ganti dengan yang lain", vbExclamation, "Peringatan") txtbaru.Text = "" txtbaru.SetFocus Exit Sub Else TxtKonfir.SetFocus End If End If On Error GoTo 0 Exit Sub salahproses: pesan = MsgBox("Ada kesalahan proses program", vbExclamation, "Peringatan") End Sub Function CARIDATA1() Dim str As String Set kon = New ADODB.Connection Set rs = New ADODB.Recordset str = "provider=microsoft.jet.oledb.4.0;persist security info=false;data source=" & App.Path & ".\Pegawai.mdb" kon.Open str rs.ActiveConnection = str rs.Open "select * from tbluser where login='" & txtlama.Text & "'"
End Function Function CARIDATA2() Dim str As String Set kon = New ADODB.Connection Set rs = New ADODB.Recordset str = "provider=microsoft.jet.oledb.4.0;persist security info=false;data source=" & App.Path & ".\Pegawai.mdb" kon.Open str rs.ActiveConnection = str rs.Open "select * from tbluser where login='" & txtbaru.Text & "'" End Function Private Sub TxtUser_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Call Koneksi RsLogin.Open "select * from tbluser where nama='" & TxtUser.Text & "'", conn If Not RsLogin.EOF Then txtlama.SetFocus Else MsgBox "Nama user tidak terdaftar", vbCritical, "Warning" TxtUser.SetFocus TxtUser = "" End If End If End Sub
LISTING PROGRAM BACKUP
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long '---fungsi dibawah inilah yg digunakan untuk membackup database access Function BackupFile(ByVal fileAsli As String, ByVal fileCopy As String, ByVal fileTimpah As Boolean) As Boolean Dim lTemp As Long lTemp = CopyFile(fileAsli, fileCopy, fileTimpah) '--panggil fungsi API If lTemp = 0 Then BackupFile = False Call MsgBox("Tidak Dapat Backup File." & vbCrLf & _ "The file already exist", vbInformation, "Backup Database") Else FrmLoad2.Show Unload Me FrmBackup.Show BackupFile = True Unload Me 'Call MsgBox("Backup Berhasil", vbInformation, "Backup Database") End If End Function Private Sub CmdCancel_Click() Unload Me frmutama.Show frmutama.Enabled = True End Sub '--ini utk mengambil file database yg mau di backup Private Sub cmdFolder_Click() CD.InitDir = App.Path '--judul pada dialog open CD.DialogTitle = "Database to Backup" '--filter utk menyaring hanya database access aja yg ditampilkan CD.Filter = "Database Access (*.mdb)|*.mdb|" CD.ShowOpen txtfilename.Text = CD.FileName
End Sub '--ini utk meletakkan file database yg dibackup ke folder lain/tertentu Private Sub cmdFolder2_Click() CD2.InitDir = App.Path CD2.DialogTitle = "Database Backup" CD2.ShowSave txtfilebackup.Text = CD2.FileName End Sub Private Sub cmdBackup_Click() '--koding dibawah ini fungsinya utk membackup file database dari folder default ke '--folder bakcupdatabase dg menggunakan fungsi API If txtfilename.Text = "" Then MsgBox "Database belum di cari", vbInformation, "Informasi" txtfilename.SetFocus Exit Sub End If If txtfilebackup.Text = "" Then Call MsgBox("Tempat tujuan belum ditentukan", vbInformation, "Tujuan File") Exit Sub Else Call BackupFile(txtfilename.Text, txtfilebackup.Text & CStr(Format(Date, "ddmmyy") & ".mdb"), True) FrmLoad2.Show End If End Sub Private Sub Form_Activate() Me.Height = 100 End Sub Private Sub Form_Unload(Cancel As Integer) frmutama.Show frmutama.Enabled = True End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Private Sub Timer1_Timer() Me.Height = Me.Height + 100 Tengah If Me.Height >= 3810 Then Timer1.Enabled = False Tengah End If End Sub