PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …
Transcript of PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …
PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT
PEGAWAI NEGERI SIPIL
( STUDI KASUS PUSAT LINGKUNGAN GEOLOGI BANDUNG )
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh :
Nia Astriana Supraptono
015314098
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
- 2007 -
HALAMAN PERSEMBAHAN
Karya ini kupersembahkan untuk :
…..
YESUS-ku yang selalu memberikan kekuatan, cinta,
kasih, penyertaan dan anugerah terindah dalam
hidupku,
…..
PaMa tercinta yang telah membesarkan, mendidik dan
mengajarkan aku dengan cinta, kelembutan dan
pengorbanan,
…..
Adikku dan sepupuku tersayang yang menjadi
kekuatanku dalam melangkah,
…..
Adhiee_gt yang selalu menemaniku,
…..
Dan seluruh sahabat, teman – temanku yang
memberikan warna serta kehangatan dalam hari –
hariku.
HALAMAN MOTTO
Jikalau kamu tinggal di dalam AKU dan firmanKU tinggal di
dalam kamu, mintalah apa saja yang kamu kehendaki dan kamu
akan menerimanya.
- Yohanes 15 : 7 -
“ Kita dapat melakukan semua ini jika kita mempercayai bahwa kita dapat
melakukannya. “
- Ernest Holmes -
“ You are never given a wish without being given the power to make it true. “
Di dalam KASIH tidak ada ketakutan, KASIH yang sempurna
melenyapkan ketakutan sebab ketakutan mengandung hukuman
dan barangsiapa takut, ia tidak sempurna dalam kasih
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah saya sebutkan
dalam kutipan dan daftar pustaka, sebagaimana layaknya sebuah karya ilmiah.
Yogyakarta, 04 Oktober 2007
Penulis,
Nia Astriana Supraptono
ABSTRAKSI
Perkembangan dunia teknologi informasi mengalami kemajuan yang pesat
saat ini. Demikian juga pada kantor Pusat Lingkungan Geologi, sistem yang lama
menggunakan sistem pencatatan manual sehingga diperlukan adanya perbaikan
sistem. Tujuan dari pembuatan Program Bantu ini adalah menyiapkan sistem
penyimpanan terpadu dalam program database untuk menginventarisasikan data
yang dapat membantu mempermudah dan mempercepat kinerja pegawai pada Pusat
Lingkungan Geologi Bagian Kepegawaian Sub Bagian Umum dan Kepegawaian.
Program ini menampilkan informasi berupa Laporan yaitu Laporan Daftar PNS,
Laporan Rekap Kredit Point, Laporan Rekap Formulir DP3 ( Daftar Penilaian
Pelaksanaan Pekerjaan ) dan Laporan Daftar Kenaikan Pangkat.
Manfaat dari Program Bantu ini adalah diperlukannya suatu program atau
sistam informasi kepegawaian yang dapat membantu pegawai dalam mengolah data,
yaitu dengan mamperbaharui secara terus menerus sehingga informasi dapat
diperoleh dengan cepat, tepat dan akurat, pada tahapan selanjutnya dapat terintegrasi
dengan Sistem Informasi Manajemen Kepegawaian. Selain untuk mempermudah
dalam melihat pegawai yang akan pangkat, program ini juga dapat dikembangkan
sebagai acuan untuk keperluan-keperluan manajemen pegawai seperti sistem
penggajian pegawai.
Program ini menyimpan data-data pegawai yang masih aktif berkaitan dengan
kenaikan pangkat dan kemampuan program untuk menginput, mengedit dan
menghapus data pegawai.
Teknologi yang digunakan untuk membuat Program Bantu ini adalah dengan
Microsoft SQL Server 2000 berbasis client-server dan Visual Basic 6.0
ABSTRACT
The development of information technology increasingly fast this day.
Accordingly, the old system in the Geological Environment Center, which used
manually recording system, need to be restored. The objective of the Assistance
Program is to set up the integrating recording system in the database program, which
result in the easier and faster performance of the officers in Geological Environment
Center’s Human Resources, especially at the General and Employee Sub-division.
This program displaying the information in report forms include Public Service
Employee List Report, Credit Point Recap Report, DP3 Form Recap report and
Employee Promotion List Report.
The advantage of this Assistance Program is providing personnel information
system or program that facilitating officer in data management, which able to
continuously update the latest information that can be obtained with fast, correct, and
accurate accessed, and then it can be integrated into Personnel Management
Information System. While in order to easily detect the personnel who had
promotion, this program can be improved based on management necessities such as
personnel payroll.
This program is able to restore the data on personnel who still work in the
Center, which can be used for personnel promotion purposes, and to entry, editing
and deleting the data.
The technology used in this Assistance Program is Microsoft’s Client server-
based SQL Server 2000 and Visual Basic 6.0.
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Tuhan Yesus Kristus atas rahmat dan
karuniaNya, sehingga penulis dapat menyelesaikan karya tulis ini dengan baik.
Karya tulis ini dibuat sebagai tugas akhir yang harus ditempuh untuk mendapatkan
gelar sarjana strata satu ( S1 ) pada jurusan Teknik Informatika fakultas Matematika,
Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
Penulis menyadari bahwa karya tulis ini takkan terwujud tanpa bantuan,
bimbingan, dukungan, dan dorongan dari berbagai pihak yang sangat berarti bagi
penulis. Untuk itu dengan segala kerendahan hati penulis ingin menyampaikan
ucapan terima kasih yang sebesar-besarnya kepada orang-orang berikut ini :
1. Bapak Albertus Agung Hadiatma, S.T., M.T. selaku Dosen Pembimbing I
yang telah banyak membantu terutama dalam memberikan bimbingan,
dukungan, dan penyediaan sarana yang mendukung, sehingga penulis dapat
menyelesaikan laporan tugas akhir ini.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik
Informatika Universitas Sanata Dharma.
3. Bapak JB. Budi Darmawan, S.T.,M.T. , Bapak Albertus Agung Hadiatma
S.T., M.T. , Ibu Merry, S.T.selaku panitia penguji pada ujian pendadaran
penulis.
4. Pak Bele, Mas Danang, Mas Catur, Mbak Sri, dan seluruh Laboran, yang
telah memberikan bantuannya kepada penulis. Untuk Pak Bele, terima kasih
atas seluruh bantuannya menjelang dan pada saat pendadaran.
5. Bapak Ir. M. Wahib, Post. Grad.Dipl selaku Kepala Bagian Tata Usaha.
6. Bapak Drs. Ade Nuryaman selaku Kepala Sub Bagian Umum dan
Kepegawaian.
7. Ibu Rusty Panggabean selaku pegawai bagian analisis kepegawaian yang
membantu dalam melengkapi data-data untuk penulis.
8. Bapak Andhy Darmeidi S.,S.T. selaku Ketua Pokja IT sekaligus pembimbing
lapangan yang selalu membantu penulis dalam menyelesaikan masalah-
masalah yang ada sehubungan dengan proyek Sistem Informasi Kepegawaian
yang harus diselesaikan penulis.
9. Teman senasib, seperjuangan dan sahabatku terkasih “Grace” =) yang tidak
pernah berhenti menemani, mendukung dan memberi semangat.
10. Sahabat-sahabat dan teman-teman dari Jurusan Teknik Informatika angkatan
2001 Fakultas Teknik Universitas Sanata Dharma Yogyakarta, yang juga
membantu, memberikan masukan dan dorongan kepada penulis.
11. Dan orang – orang disekeliling penulis yang telah membantu sampai
terselesaikannya tugas akhir ini.
Penulis menyadari pula adanya ketidaksempurnaan dalam karya tulis ini karena
kesempurnaan hanya dimiliki oleh Tuhan Yesus Kristus. Oleh karena itu penulis
sangat mengharapkan adanya kritikan dan saran dari pembaca yang bisa menjadi
masukan bagi penulis untuk mengembangkan kemampuan penulis menjadi lebih
baik. Kritik dan saran dapat dikirim ke [email protected]. Besar harapan penulis
agar karya tulis ini dapat menjadi inspirasi baru bagi pembacanya untuk melakukan
pengembangan lebih lanjut terhadap sistem informasi yang telah dibuat dan juga
menjadi inspirasi bagi banyak orang yang ingin berkecimpung di dalam dunia
teknologi informasi.
Yogyakarta, 04 Oktober 2007
Penulis,
Nia Astriana Supraptono
DAFTAR ISI
Halaman HALAMAN JUDUL .................................................................................................i
HALAMAN PERSETUJUAN DOSEN PEMBIMBING .....................................ii
HALAMAN PENGESAHAN .................................................................................iii
HALAMAN PERSEMBAHAN ..............................................................................iv
MOTTO HIDUP .......................................................................................................v
PERNYATAAN KEASLIAN KARYA ..................................................................vi
ABSTRAK ...............................................................................................................vii
ABSTRACT ...........................................................................................................viii
KATA PENGANTAR ..............................................................................................ix
DAFTAR ISI ...........................................................................................................xii
DAFTAR TABEL ..................................................................................................xiii
DAFTAR GAMBAR ..............................................................................................xiv
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah ....................................................................................1
1.2 Rumusan Masalah ..............................................................................................5
1.3 Batasan Masalah ................................................................................................6
1.4 Tujuan Penelitian ...............................................................................................7
1.5 Metode Penelitian ..............................................................................................7
1.6 Sistematika Penulisan ........................................................................................9
BAB II LANDASAN TEORI
2.1 Pembahasan tentang Sistem Informasi dan Database ......................................11
2.2 Permodelan Sistem ……………………………………………………………16
2.3 Pengenalan Visual Basic 6.0………………………………………………. …29
2.4 Pemrograman Dasar Visual Basic 6.0 ………………………………...….......30
2.5 Mengenal SQL ………………………………………………………..….......36
2.6 Microsoft SQL Server 2000 ……………………………………………..…...36
2.7 Transact SQL …………………………………………………………...…..38
2.8 Variabel dalam Transact SQL ……………………………………………....38
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1 Analisis Sistem ..............................................................................................45
3.1.1 Gambaran Umum Sistem Yang Lama ………………………...………..45
3.1.2 Gambaran Umum Sistem Yang Baru …………………………...….…..46
3.1.3 Requirement Analisis …………………………………………..……....47
3.1.3.1 Use Case Diagram ………………………………………….…..….49
3.1.4 Logical Design …………………………………………………...……..50
3.1.4.1 Proses Modeling …………………………………………................51
3.1.4.1.1 Context Diagram ………………………………………...….......52
3.1.4.1.2 Diagram Berjenjang ……………………………………...…......53
3.1.4.1.3 Overview Diagram Level 0 ..………………………………...….54
3.1.4.1.4 Overview Diagram Level 1 Proses Login ………………..……..55
3.1.4.1.5 Overview Diagram Level 1 ProsesData Pegawai …………...….56
3.1.4.1.6 Overview Diagram Level 1 Proses Riwayat Pendidikan…...…...57
3.1.4.1.7 Overview Diagram Level 1 Proses Riwayat Pekerjaan …...……58
3.1.4.1.8 Overview Diagram Level 1 Proses Data Pejabat Penilai ...……..59
3.1.4.1.9 Overview Diagram Level 1 Proses Data Range Nilai …...……..60
3.1.4.1.10 Overview Diagram Level 1 ProsesData User ………...…….…61
3.1.4.1.11 Overview Diagram Level 1 Proses Pengisian Kredit Point...….62
3.1.4.1.12 Overview Diagram Level 1 Proses Pengisian Formulir DP3.....63
3.1.4.13 Overview Diagram Level 1 Proses Pengisian Kenaikan Pangkat.64
3.1.4.14 Overview Diagram Level 1 Proses Melihat Laporan …...……....65
3.1.4.2 Data Modeling ……………………………………………………..66
3.2 Desain Sistem ……………………………………………………………….67
3.2.1 Desain Database …………………………...……………………………67
3.2.2 Relasi Antar Tabel …………………………………...……….….……..74
3.3 Desain Penanganan Masalah Multi User ……………………………….......75
3.3.1 Kemungkinan Masalah Yang Terjadi …………………………...……75
3.3.2 Penanganan Terhadap Masalah Yang Terjadi …………...…………...75
3.4 Desain Teknologi Yang Digunakan ………………...………………………76
3.4.1 Perancangan Arsitektur Perangkat Keras ……………………………..76
3.4.2 Perancangan Arsitektur Perangkat Lunak …………………………….76
BAB IV IMPLEMENTASI SISTEM DAN ANALISA HASIL
4.1 Karakteristik Sistem ……………………...…………………………………77
4.2 Kebutuhan Sistem ………………………...………………………………...78
4.3 User Interface ………...……………………………………………………. 78
4.3.1 User Interface Proses Login .………………………………...………..78
4.3.2 User Interface Menu Utama …...…………………………………….. 81
4.3.3 User Interface untuk Admin …………………………………………. 83
4.3.3.1 Proses Input Admin ……………………………………………… 83
4.3.2 User Interface untuk Pejabat Penilai ……………………………...…105
4.3.2.1 Proses Input Pejabat Penilai………………………...……...105
4.3.2.2 Proses Output Pejabat Penilai …………………...………..120
4.4.3 User Interface untuk Pegawai ………………………...……………..130
4.4.3.1 Proses Input Pegawai ………………………...……………130
4.4.3.2 Proses Output Pegawai ………………………...………….133
4.4 Analisa Hasil ……………………………..……………………………….144
4.4.1 Kelebihan Sistem …………………………..……………………….144
4.4.2 Kekurangan Sistem …………………………...……………………..144
BAB V PENUTUP
5.1 Kesimpulan ………………………………………………………………..145
5.2 Saran ………………………………………………………………………145
DAFTAR PUSTAKA ….........................................................................................146
DAFTAR TABEL
Tabel Keterangan Halaman 1.1 Ketentuan nilai DP3 4 1.2 Daftar Unsur Penilaian dan Nilai Maksimum untuk Kenaikan
Pangkat 4
2.1 Tipe Data Logika Representatif untuk Atribut 22 2.2 Tabel Fungsi – fungsi pentingVisual Basic 6.0 34 2.3 Tabel Tipe Data 38 3.1 Tabel Usecase 47 3.2 Tabel Input dan Output Program 51 3.3 Tabel Data Pegawai 67 3.4 Tabel Data Riwayat Pekerjaan 68 3.5 Tabel Data Riwayat Pendidikan 68 3.6 Tabel Data Pejabat Penilai 68 3.7 Tabel Data Range Nilai 69 3.8 Tabel Data User 69 3.9 Tabel Isian Kredit Point 69 3.10 Tabel Isian Formulir DP3 69 3.11 Tabel Isian Usulan Kenaikan Pangkat 71 3.12 Tabel Laporan Daftar PNS 71 3.13 Tabel Laporan Rekap Kredit Point 72 3.14 Tabel Laporan Rekap Formulir DP3 72 3.15 Tabel Laporan Daftar Kenaikan Pangkat 73
DAFTAR GAMBAR
Gambar Keterangan Halaman 2.1 Pilar – pilar informasi yang beguna 12 2.2 Jenjang Data 14 2.3 Contoh Usecase dan Aktor 17 2.4 Contoh Hubungan Depends On 18 2.5 Contoh Hubungan Inheritance 18 2.6 Contoh Hubungan Extension 19 2.7 Contoh Hubungan Uses 19 2.8 Contoh Entity Luar Gane and Sarson 23 2.9 Simbol Aliran Data Gane and Sarson 24 2.10 Simbol Proses Gane and Sarson 24 2.11 Simbol Berkas Gane and Sarson 25 2.12 Contoh Entity Luar Yourdon and De Marco 25 2.13 Simbol Aliran Data Yourdon and De Marco 25 2.14 Simbol Proses Yourdon and De Marco 26 2.15 Simbol Berkas Yourdon and De Marco 26 2.16 Contoh Entity 27 2.17 Contoh Atribut 27 2.18 Contoh Hubungan 28 2.19 Contoh Hubungan satu ke satu 28 2.20 Contoh hubungan satu ke banyak/banyak ke satu 29 3.1 Usecase Diagram untuk Admin 49 3.2 Usecase Diagram untuk Pejabat penilai dan Pegawai 50 3.3 Context Diagram Program 52 3.4 Diagram Berjenjang 53 3.5 Overview Diagram Level 0 54 3.6 Overview Diagram Level 1 Proses Login 55 3.7 Overview Diagram Level 1 Proses Data Pegawai 56 3.8 Overview Diagram Level 1 Proses Riwayat Pendidikan 57 3.9 Overview Diagram Level 1 Proses Riwayat Pekerjaan 58 3.10 Overview Diagram Level 1 Proses Data Pejabat Penilai 59 3.11 Overview Diagram Level 1 Proses Data Range Nilai 60 3.12 Overview Diagram Level 1 Proses Data User 61 3.13 Overview Diagram Level 1 Proses Pengisian Kredit Point 62 3.14 Overview Diagram Level 1 Proses Pengisian Formulir
DP3 63
3.15 Overview diagram Level 1 Proses Pengisian Kenaikan Pangkat
64
3.16 Overview Diagram Level 1 Proses Melihat Laporan 65 3.17 ER Diagram 66 3.18 Relasi Tabel 74 4.1 Login 79 4.2 Menu Utama 82 4.3 Proses Data Pegawai untuk Admin 83 4.4 Proses Riwayat Pekerjaan untuk Admin 94 4.5 Input Data Riwayat Pekerjaan untuk Admin 94 4.6 Proses Data Riwayat Pendidikan untuk Admin 96 4.7 Input Riwayat Pendidikan untuk Admin 96 4.8 Proses Data Pejabat Penilai untuk Admin 98 4.9 Input Pejabat Penilai untuk Admin 98 4.10 Proses Data Range Nilai untuk Admin 101 4.11 Proses Data User untuk Admin 103 4.12 Input Data User untuk Admin 103 4.13 Proses Pengisian Formulir DP3 untuk Pejabat Penilai 106 4.14 Proses Pengisian Usulan Kenaikan Pangkat untuk Pejabat
Penilai 117
4.15 Akses Data PNS untuk Pejabat Penilai 120 4.16 Akses Rekap Kredit Point untuk Pejabat Penilai 123 4.17 Akses Rekap Formulir DP3 untuk Pejabat Penilai 125 4.18 Laporan Rekap Formulir DP3 untuk Pejabat Penilai 125 4.19 Akses Daftar Kenaikan Pangkat untuk Pejabat Penilai 128 4.20 Laporan Daftar Kenaikan Pangkat untuk Pejabat Penilai 128 4.21 Proses Pengisian Kredit Point untuk Pegawai 131 4.22 Akses Daftar PNS untuk Pegawai 133 4.23 Akses Rekap Kredit Point untuk Pegawai 136 4.24 Akses Rekap Formulir DP3 untuk Pegawai 138 4.25 Laporan Rekap Formulir DP3 untuk Pegawai 138 4.26 Akses Daftar Kenaikan Pangkat untuk Pegawai 141 4.27 Laporan Daftar Kenaikan Pangkat untuk Pegawai 141
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Dalam era otonomi daerah yang dewasa ini tengah berlangsung di Indonesia,
sangat perlu diimbangi dengan peningkatan kinerja yang lebih baik oleh segenap
instansi pemerintah. Hal ini mengingat bahwa dalam era otonomi daerah, akan terjadi
fenomena berkembangnya berbagai macam tuntutan dari seluruh lapisan masyarakat
agar segenap instansi pemerintah, baik dari segi kelembagaan, kinerja maupun
pelayanan kepada masyarakat melakukan berbagai perubahan menuju arah
perbaikan. Sejalan dengan usaha peningkatan kinerja dan pelayanan, penggunaan dan
pemanfaatan teknologi komputer semakin diperlukan untuk menggantikan peran
teknologi manual. Hal ini dikarenakan kemudahan-kemudahan yang dapat diperoleh
dari penggunaan teknologi komputer untuk pengolahan data maupun penyajian
informasi yang cepat dan akurat sangat membantu untuk meningkatkan kinerja
instansi pemerintah agar lebih efisien dan efektif.
Salah satu faktor yang sangat menentukan dalam keberhasilan peningkatan
kinerja pemerintahan sangat bergantung dari sejauh mana kemampuan dan daya
dukung instansi pemerintah daerah terhadap pelaksanaan tugas pokoknya. Berbagai
kegiatan yang dilakukan oleh instansi pemerintah daerah terutama yang berkaitan
dengan kegiatan administrasi masih bersifat manual. Demikian juga halnya yang
terjadi di Pusat Lingkungan Geologi ( PLG ). PLG adalah salah satu unit kerja di
bawah Badan Geologi, Departemen Energi dan Sumber Daya Mineral. PLG
mempunyai latar belakang sejarah sejak tahun 1978 dengan nama Direktorat Geologi
Tata Lingkungan yang merupakan salah satu unit baru sebagai pemekaran dari
Direktorat Geologi yang telah berdiri sejak tahun 1850. Tahun 2001 berubah nama
menjadi Direktorat Tata Lingkungan Geologi dan Kawasan Pertambangan, dan
terakhir pada tahun 2005 berubah nama lagi menjadi Pusat Lingkungan Geologi
dengan perubahan tugas yang bertitik berat kearah penelitian dan pelayanan.
Sebagian besar proses pengolahan data dan penyajian informasinya masih dilakukan
secara manual. Penanganan data secara manual ini mempunyai beberapa kelemahan,
misalnya : membutuhkan waktu yang lama dalam pemasukan data, pencarian data,
pembuatan dan penyajian laporan, atau dengan kata lain tidak efisien dalam
menggunakan waktu kerja. Faktor dominan yaitu kesalahan manusia banyak terjadi
dalam mengolah data serta penyimpanan dan perawatan dokumen berbentuk kertas,
dimana hal ini cukup sulit ditanggulangi.
Perencanaan dari sistem yang akan dibuat antara lain : penyusunan format
pegawai, persyaratan dan pencetakan. Adapun sebagai hasil akhir dari sistem ini
adalah berupa query pegawai yang akan naik pangkat. Selain itu, sistem ini juga
dapat digunakan untuk mengelola berkas pegawai yang berupa data pegawai. Data
yang ada berasal dari formulir-formulir yang masih diisi oleh para pegawai. Adapun
yang akan dibuat dalam sistem ini adalah daftar para pegawai yang diusulkan untuk
naik pangkat. Kenaikan pangkat pegawai negeri sipil di Indonesia telah diatur
ketentuannya oleh pemerintah di bawah Badan Kepegawaian Negara ( BKN ) yang
dilaksanakan setiap dua kali dalam setahun, yaitu pada setiap bulan april dan
oktober. Kebijakan dalam kenaikan pangkat terbagi menjadi 2 macam, yaitu :
Reguler Struktural dan Fungsional. Untuk regular structural kenaikan pangkat 4
tahun sekali, sedangkan fungsional 2 tahun sekali dengan beberapa persyaratan yang
harus dipenuhi tiap pegawai yang diusulkan naik pangkat. Kenaikan pangkat pada
jabatan fungsional berdasarkan angka kredit, penilaian angka kredit tersebut
dilakukan oleh tim penilai dari bagian kepegawaian. Kenaikan pangkat percepatan
dapat terjadi apabila menduduki jabatan tertentu, antara lain : prestasi yang luar
biasa, penyesuaian ijazah, tugas belajar atau ijin belajar. Jabatan bisa dicabut
sewaktu-waktu, dengan alasan tertentu yaitu : sedang dalam tugas belajar minimal 6
bulan, sifatnya sementara atau selama 5 tahun pegawai tidak mengumpulkan angka
kredit, sifatnya juga sementara, tetapi jika dalam waktu tenggang 1 tahun tidak
mengumpulkan angka kredit, maka akan dibebastugaskan atau jabatan dicabut
selamanya. Selain itu adanya pembatasan kenaikan pangkat maksimal berdasarkan
pada tingkat pendidikan, apabila tidak menduduki jabatan tertentu, yaitu : SMA
Golongan III a, Diploma 3 Golongan III c, Strata 1 Golongan III d. Syarat penting
untuk kenaikan pangkat pada instansi ini adalah Kredit point dan Daftar Penilaian
Pelaksanaan Pekerjaan (DP3). Nilai DP3 dalam 2 tahun terakhir harus bernilai baik,
jika nilai cukup maka kenaikan pangkat dapat ditunda 1 tahun. Penilaian dilakukan
oleh atasan langsung dari masing-masing bagian / departemen, setiap 1 tahun mulai 1
januari sampai dengan 31 desember. Ketentuan nilai DP3 tersebut adalah sebagai
berikut :
90 – 100 Amat Baik
70 - 89 Baik
60 - 69 Cukup
50 - 59 Kurang
Tabel 1.1 Ketentuan nilai DP3
Penilaiannya meliputi 7 sampai 8 unsur, tergantung dari pangkat terakhir. Untuk
pejabat 8 unsur, sedangkan untuk staf 7 unsur. Berikut adalah daftar unsur penilaian
beserta nilai maksimum untuk kenaikan pangkat :
No Penilaian Nilai Maksimum
1. Kesetiaan 90
2. Prestasi Kerja 70
3. Tanggung jawab 70
4. Ketaatan 70
5. Kejujuran 70
6. Kerjasama 70
7. Prakarsa 70
8. Kepemimpinan 70
Tabel 1.2 Daftar Unsur Penilaian dan Nilai Maksimum Untuk Kenaikan Pangkat
Untuk kenaikan pangkat fungsional syarat selain DPPP adalah kredit point.
Kredit point dilaksanakan oleh tim peneliti selama 1 semester (1 tahun 2 kali) yang
mempunyai 2 unsur : Pertama yaitu penilaian terhadap pekerjaan sehari-hari dengan
persentase 80%, yang kedua adalah Penunjang yaitu kursus-kursus / pelatihan yang
pernah diikuti pegawai dengan persentase 20%. Syarat penting lainnya adalah surat
keputusan kenaikan pangkat, pendidikan terakhir/ijazah terakhir dan kartu pegawai.
Salah satu sistem yang prosesnya masih banyak ditangani secara manual
adalah sistem kepegawaian. Tanpa pengerjaan yang tepat, cepat dan akurat maka
organisasi akan gagal mencapai tujuannya. Hal inilah yang mendorong untuk
menganalisa sistem kepegawaian terutama untuk menentukan kenaikan pangkat
fungsional pegawai sehingga ditemukan kebutuhan-kebutuhan yang diharapkan
dapat dijadikan usulan suatu perbaikan cepat serta mencapai keakuratan dan
ketelitian dalam penyajian informasi untuk memenuhi kebutuhan pegawai.
1.2 Rumusan Masalah
Dari latar belakang masalah di atas dapat di rumuskan menjadi beberapa
masalah sebagai berikut :
1. Bagaimana membangun sebuah program bantu yang dapat menentukan
kenaikan pangkat berdasarkan syarat-syarat yang antara lain adalah
Perhitungan Daftar Penilaian Pelaksanaan Pekerjaan dan Kredit Point serta
syarat-syarat lain berupa database yang berisi riwayat pendidikan dan riwayat
pekerjaan secara tepat dan akurat.
2. Bagaimana mengintegrasikan parameter untuk kenaikan pangkat tersebut
kedalam database sehingga para pengguna informasi khususnya pegawai
pada Pusat Lingkungan Geologi bisa mendapatkan informasi mengenai data
pegawai yang masih aktif.
1.3 Batasan Masalah
Dalam pembuatan program aplikasi ini dilakukan beberapa batasan masalah
sebagai berikut :
1. Program aplikasi ini dibuat untuk memberikan informasi yang
meliputi data pegawai yang masih aktif yang meliputi identitas
pegawai, riwayat pendidikan, dan riwayat pekerjaan. Data Pejabat
Penilai, Data Range Nilai, Data User (Admin), Isian Kredit point,
Isian Formulir DP3, Isian Kenaikan Pangkat serta bentuk laporan –
laporan pegawai berupa Daftar PNS, Rekap Kredit Point, Rekap
Formulir Daftar Penilaian Pelaksanaan Pekerjaan ( DP3 ) dan Daftar
Kenaikan Pangkat Peagawai.
2. Program aplikasi ini hanya dapat di akses dan di update setiap kali
terjadi perubahan sehingga dapat di cetak menjadi laporan pada saat
di perlukan, oleh pimpinan dan pegawai yang di beri wewenang
dalam pengolahan data pegawai sebagai acuan kenaikan pangkat
pegawai. Dalam hal ini adalah pimpinan dan pegawai pada bagian tata
usaha, sub bagian kepegawaian dan keuangan.
3. Program aplikasi ini tidak membahas mengenai otomatisasi dalam
kenaikan pangkat, karena ada beberapa persyaratan untuk kenaikan
pangkat yang memerlukan sistem pendukung keputusan dari manusia.
4. Tidak membahas jaringan komputer dan keamanannya.
5. Program dibuat dengan menggunakan bahasa Visual Basic 6.0 dan
Microsoft SQL Server 2000.
1.4 Tujuan Penelitian
Pembuatan perangkat lunak database ini dilaksanakan sebagai penyiapan
sistem penyimpanan data terpadu dalam program database untuk mengiventarisasi
data yang dapat diperbaharui secara terus menerus, secara mudah dan cepat serta
dapat menampilkan informasi data pegawai yang masih aktif yang meliputi identitas
pegawai, riwayat pendidikan, dan riwayat pekerjaan. Data Pejabat Penilai, Data
Range Nilai, Data User (Admin), Isian Kredit Point, Isian Formulir DP3, Isian
Kenaikan Pangkat serta bentuk laporan – laporan pegawai berupa Daftar PNS, Rekap
Kredit Point, Rekap Formulir Daftar Penilaian Pelaksanaan Pekerjaan ( DP3 ) dan
Daftar Kenaikan Pangkat Pegawai.
1.5 Metode Penelitian
1. Studi pustaka tentang teknik pengurutan data dengan menggunakan Visual
Basic 6.0 sebagai landasan teoritis yang menunjang penulisan ini dalam
penelitian.
2. Studi lapangan
Pengumpulan data dan informasi dengan pengamatan dan mengunjungi
secara langsung perusahaan atau instansi yang diteliti melalui :
• Interview ( Wawancara )
Pengumpulan data dengan cara mengadakan wawancara dengan
responden yang memiliki kompetensi sesuai dengan bidang tugasnya,
yaitu para pegawai Pusat Lingkungan Geologi, bagian tata usaha sub
bagian kepegawaian dan keuangan mulai dari pimpinan sampai
dengan pelaksana kegiatan dalam pengolahan data untuk kenaikan
pangkat.
• Observasi
Pengumpulan data dengan cara pengamatan langsung pada objek yang
diperlukan secara rinci, termasuk prosedur operasional, sekaligus apa
saja yang dibutuhkan untuk sistem yang baru.
3. Merancang sistem yang akan dibangun meliputi perancangan database,
perancangan user interface secara terinci guna memberikan gambaran
umum mengenai sistem yang akan dibangun.
4. Mengimplementasikan rancangan aplikasi untuk pegawai bagian tata
usaha sub bagian kepegawaian dan keuangan.
1.6 Sistematika Penulisan
Penyusunan tugas akhir ini berdasarkan pada sistematika penulisan sebagai
berikut :
BAB I PENDAHULUAN
Bab ini mengemukakan tentang latar belakang masalah, rumusan
masalah, batasan masalah, tujuan penelitian, metode penelitian dan
sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas secara singkat teori-teori yang relevan dengan
masalah yang sedang dibahas, yang dijadikan dasar dalam
penyelesaian masalah.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisa system yang lama dan juga perancangan
sistem yang baru yang akan dibuat oleh penulis. Serta menjelaskan
pembuatan program aplikasi Sistem Informasi Kepegawaian berbasis
web di Kantor Pusat Lingkungan Geologi ( PLG ) yang menghasilkan
informasi yang dibutuhkan yang terdiri dari analisis system, desain
basis data, desain menu dan cara penggunaan program.
BAB IV IMPLEMENTASI SISTEM
Bab ini berisi tentang implementasi yang dilakukan terhadap hasil
analisa yang telah dilakukan sebelumnya di BAB III.
BAB V ANALISA HASIL
Bab ini berisi analisa dari implementasi yang telah dibuat pada bab
sebelumnya.
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang dapat diambil oleh penulis untuk
menjawab permasalahan yang sudah diajukan dalam BAB I dan saran
yang dapat diberikan untuk pengembangan sistem di masa yang akan
datang.
Pada bagian akhir ini akan disertakan juga daftar pustaka, lampiran berupa
surat tugas untuk penelitian dan surat pernyataan dari Pusat Lingkungan Geologi.
BAB II
LANDASAN TEORI
2.1 Pembahasan tentang Sistem Informasi dan Database
( Jogiyanto, et.al ) Sistem dapat didefinisikan dengan pendekatan prosedur
dan dengan pendekatan komponen. Dengan pendekatan prosedur, sistem dapat
didefinisikan sebagai kumpulan dari prosedur-prosedur yang mempunyai tujuan
tertentu. Contoh sistem yang didefinisikan dengan pendekatan prosedur ini adalah
sistem kepegawaian. Sistem ini didefinisikan sebagai kumpulan dari prosedur-
prosedur pendataan pegawai, kenaikan pangkat, penggajian,
Dengan pendekatan komponen, sistem dapat didefinisikan sebagai kumpulan
dari komponen yang saling berhubungan satu dengan lainnya membentuk satu
kesatuan untuk mencapai tujuan tertentu. Contoh sistem yang didefinisikan dengan
pendekatan ini misalnya adalah sistem komputer yang didefinisikan sebagai
kumpulan dari perangkat keras dan perangkat lunak.
( Jogiyanto, et.al ) Pendekatan komponen merupakan pendekatan yang relatif
baik digunakan untuk menjelaskan suatu sistem informasi. Akan tetapi penggunaan
pendekatan komponen ini mempunyai kelemahan. Kelemahan utama penggunaan
pendekatan ini adalah jika komponen-komponen dari sistem tidak dapat didefinisikan
dengan jelas. Satu komponen saja tidak teridentifikasi, maka akan gagal untuk
menggambarkan sistem itu dengan baik dan sistem tersebut tidak akan dapat
mencapai tujuannya.
Suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-
orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian untuk
mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu,
memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian
internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk
pengambilan keputusan.
Tujuan dari sistem informasi adalah menghasilkan informasi. Informasi (
information ) adalah data yang diolah menjadi bentuk yang berguna bagi
pemakainya. Untuk dapat berguna, maka informasi harus didukung oleh tiga pilar
sebagai berikut : tepat kepada orangnya atau relevan ( relevance ), tepat waktu (
timeliness ) dan tepat nilainya atau akurat ( accurate ). Keluaran yang tidak didukung
oleh ketiga pilar ini tidak dapat dikatakan sebagai informasi yang berguna, tetapi
merupakan sampah ( garbage ).
Aku
rat
Tepa
t wak
tu
Rel
evan
Informasi berguna
Gambar 2.1 Pilar-pilar informasi yang berguna
( Andri Kristanto, et.al ) Sistem Informasi merupakan suatu kumpulan dari
komponen – komponen dalam suatu organisasi yang berhubungan dengan proses
penciptaan dan aliran informasi. Komponennya secara umum adalah proses dan
prosedur, struktur organisasi, Sumber Daya Manusia, model – model untuk analisis,
perencanaan, pengendalian dan pembuatan keputusan, database serta teknologi
informasi. Keandalan suatu sistem informasi terletak pada keterkaitan antar
komponen yang ada, sehingga dapat dihasilkan dan dialirkan suatu informasi yang
berguna ( akurat, terpercaya, detail, cepat, relevan ). Secara umum sistem informasi
merupakan kombinasi dari orang ( people ), perangkat keras ( hardware ), perangkat
lunak ( software ), jaringan komunikasi ( communications networks ) dan sumber
data yang dihimpun, ditransformasi, dan mengalami proses pengaliran dalam suatu
organisasi.
Sistem Informasi – Sistem terotomasi, terdiri dari beberapa komponen, antara
lain :
o Hardware : CPU, Disk, Terminal, Printer.
o Software : Sistem operasi, Sistem database, Program pengontrol
komunikasi, program aplikasi.
o Personil : Yang mengoperasikan sistem, menyediakan masukan,
mengkonsumsi keluaran dan melakukan aktivitas
manual yang mendukung sistem.
o Data : Data yang tersimpan dalam jangka waktu tertentu.
o Prosedur : Instruksi dan kebijakan untuk mengoperasikan
sistem.
Query : suatu extracting data dari suatu database dan menampilkannya untuk
“pengolahan” lebih lanjut.
Berikut ini adalah Jenjang Data :
Database
record
Field data/item
file
characters
Gambar 2.2 Jenjang Data
Charaters : merupakan bagian data yang terkecil, dapat berupa karakter
numeric, huruf ataupun karakter-karakter khusus (special characters) yang
membentuk suatu item data / field.
Field : merepresentasikan suatu atribut dari record yang menunjukkan suatu
item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari
field membentuk suatu record.
Field name : harus diberi nama untuk membedakan field yang satu
dengan lainnya.
Field representation : tipe field (karakter teks, tanggal, angka,
dsb), lebar field (ruang maksimum yang dapat diisi dengan
karakter-karakter data).
Field value : isi dari field untuk masing-masing record.
Record : Kumpulan dari field membentuk suatu record. Record
menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record
membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data
tiap-tiap karyawan.
File : File terdiri dari record-record yang menggambarkan satu kesatuan data
yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran
yang ada.
Database : Kumpulan dari file / table yang saling berhubungan satu dengan
yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu,
tersimpan di hardware computer dan dengan software untuk melakukan manipulasi
untuk kegunaan tertentu. Mengapa Diperlukan Database :
• Salah satu komponen penting dalam system informasi, karena merupakan
dasar dalam menyediakan informasi.
• Menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan.
Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatannya.
• Mengurangi dupilkasi data (data redundancy)
• Hubungan data dapat ditingkatkan data (data relatability)
• Mengurangi pemborosan tempat simpanan luar.
2.2 Permodelan Sistem
Ada dua alat utama untuk digunakan saat menyajikan pemodelan use
case pertama adalah use-case diagram /diagram use-case kedua adalah use-case
narrative/naratif use-case.
( Jeffry L.Whitten, et.al )Use-case diagram adalah diagram yang
menggambarkan interaksi antara sistem dengan sistem ekxternal dan pengguna.
dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan
sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan
sistem.
Use-case narrative adalah deskripsi tekstual bisnis dan bagaimana pengguna
akan berinteraksi dengan sistem untuk menyelesaikan tugas.
Use Case 1
Gambar 2.3 contoh usecase dan aktor
• Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk
pertukaran informasi.
• Association adalah hubungan antara pelaku/actor dengan use-case dimana terjadi
interaksi di antara mereka.
• Extension use-case
Use case yang terdiri dari langkah yang diekstraksi dari use case lebih kompleks
untuk menyederhanakan masalah orisinil dan karena itu memperluas fungsinya.
Hubungan antara extension use case dan use case yang diperluas disebut extend
relathionship. Masing-masing garis extend relathionship disebut “<<extend>>”
• Abstrak use case
Use case yang mengurangi redundansi antara dua atau lebih use case lain dengan
menggabungkan langkah-langkah yang biasa ditemukan pada use case tersebut.
Use Case 2
Use Case 3
Actor 1 Actor 2
Actor 3
Garis depends-on relationship diberi label “<<depends on>>”.
Establish Bank Account
Make a Withdrawal
<<depends on>>
Make a Deposit
<<depends on >
Gambar 2.4 Contoh Hubungan Depends-On
Apply for membership
Search library inventory
Check out books
Visitor
Patron Apply for membership
Check out books
Search library inventory
Inheritance relationship
Customer
Gambar 2.5 Contoh Hubungan Inheritance
Extension Use Case
Gambar 2.6 Contoh Hubungan Extension
Gambar 2.7 Contoh Hubungan Uses
<<extends>> <<extends>>
Generate Warehouse
Packing Order
Place New Member
Order
Calculate Order
Subtotal & Sales Tax
Place New Member
Order
Submit Change of
Postal Address
Address
Revise Postal
Use Case
Abstract
Data Flow Diagram nggunakan beberapa
not
, tempat, objek, kejadian atau konsep tentang apa
yan
gency, contractor, customer, deprtement, division,
Tempat mar, kampus
al, software,license,
Entitas objek da rangkat lunak
ard, cancellation, class, flight, invoice, order,
Konsep tion,
Atribut sifat atau karakteristik deskriptif suatu entitas.sinonimnya antara lain
elemen, sifat, dan bidang.
(DFD) adalah model data yang me
asi untuk menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsikan oleh data tersebut.
Entity adalah kelompok orang
g kita perlukan untuk mencapture dan menyimpan data.
Kategori entitas meliputi :
Orang : A
employee, instructor, student, supplier. Perlu diperhatikan
bahwa kelas entitas orang dapat menunjuk pada individu,
kelompok, atau organisasi.
: Gedung, kantor cabang, ka
Objek : Buku, mesin, produk, part, raw materi
software package, tool, vehicle model, vehicle.
pat menyatakan objek actual(misalnya lisensi pe
tertentu) atau spesifikasi untuk tipe objeck (misalnya spesifikasi untuk paket
perangkat lunak yang berbeda).
Peristiwa : application, aw
regristation, renewal, requisition, reservation, sale, trip.
: account, block of time, bond, course, fund, qualifica
stock.
Compound attribute adalah atribut yang terdiri dari atribut lain. Sinonimnya
dalam berbagai bahasa pemodelan data sangat banyak concatenated attribute,
com
nilai yang akan digunakan jika nilai tersebut tidak
dite
.
posite attribute, dan struktur data.
Data tipe properti sebuah atribut yang mengidentifikasikan tipe data apa yang
dapat disimpan pada atribut.
Domain sifat atribut yang mendefinisikan nilai atribut apa yang dapat diambil
secara sah. Default value
tapkan oleh pengguna. Key atribut, atau kelompok atribut, yang mengasumsikan
nilai unik untuk tiap contoh entitas, sering disebut identifier.
Concatenated key adalah kelompok atribut yang secara unik mengidentifikasi
contoh entitas.sinonimnya antara lain composite key dan compound key
Tipe Data Logika Arti Bisnis Logika
NUMBER Tiap bilangan riil atau integer
TEXT String karak n. Saat
tribut text,
tika
t
ter, termasuk bilanga
bilangan dimasukan kedalam a
berarti kita tidak dapat melakukan aritme
atau perbandingan dengan bilangan tersebu
MEMO
suatu
Sama dengan teks, tetapi ukurannya tidak
menentu. Beberapa sistem bisnis
membutuhkan kemampuan untuk
melampirkan catatan panjang pada
record database.
DATE Tanggal dalam berbagai format
TIME bagai format Waktu dalam ber
YES/NO salah satu Atribut hanya dapat mengambil
dari dua nilai
VALUE SET n
a pengkodean (misalnya,
Set nilai tertentu. Dalam banyak kasus, aka
dibentuk skem
FR=freshman, SO=sophomore, JR=Junior,
SR=Senior, dan lain sebagainya.
IMAGE Gambar atau image.
Tabel 2.1 Tipe Data Log k atribut
( Jeffe ik mengelola
dan me dokumentasikan struktur dan aliran data melalui proses sistem. Permodelan
proses
– elemen computer yang akan
menggunakan sistem baru. Yang perlu diperhatikan dalam desain sistem yaitu
ika Representatif untu
ry L. Whitten dkk, et.al ) Proses Modeling adalah tekn
n
berasal dari metode engineering perangkat lunak klasik dengan berbagai tipe
model proses misalnya bagan struktur program, flowchart logika, atau table
keputusan dalam bidang aplikasi pemrograman.
( Andri Kristanto, et.al ) Desain sistem adalah suatu fase dimana diperlukan
suatu keahlian perencanaan untuk elemen
pemilih
Entity luar diberi
nya A untuk Agen dan K untuk Konsumen.
Gambarnya adalah sebagai berikut :
Gambar 2.8 Contoh Entity Luar
an program peralatan dan program komputer untuk sistem yang baru.
Beberapa alat Bantu yang digunakan dalam desain sistem antara lain DFD ( Data
Flow Diagram ) / Diagram aliran data, Kamus Data ( Data Dictionary ), Diagam
Kontek ( Context Diagram ), Daftar Kejadian ( Event List ) dan Spesifikasi Proses (
Process Specification ). Data Flow Diagram ( DFD ) / Diagram aliran data adalah
suatu model logika data atau proses yang dibuat untuk menggambarkan darimana
asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan,
proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan
dan proses yang dikenakan pada data tersebut. DFD menunjukkan hubungan antara
data pada sistem dan proses pada sistem. Ada 2 teknik dasar DFD yang umum
dipakai, yaitu Gane and Sarson dan Yourdon and De Marco. Simbol DFD untuk
menggambarkan data serta proses tranasformasi data antara lain :
Teknik Gane and Sarson
• Entity Luar
Digambarkan dengan simbol bujursangkar. Pada
huruf sebagai identitas misal
A Agen
K Konsumen
Pada entity luar digambarkan secara fisik dengan sekelompok orang
atau sebuah sistem u tujuan dari aliran
dat
n data dari satu proses ke proses lainnya.
Simbolnya adalah sebagai berikut :
• Proses
Proses atau fu data secara umum
digamb n segi empat tumpul, seperti pada gambar berikut ini :
oses
Bagian atas berisi nomor untuk identitas proses. Bagian badan berisi
penjelasan fungsi dari kerja dan diikuti
den
. Entity luar merupakan sumber ata
a dari atau ke sistem.
• Aliran Data
Menggambarkan alira
Gambar 2.9 Simbol Aliran Data
ngsi yang mentransformasikan
arkan denga
Pengenal
+ ri fungsi
Kata Kerja diskripsi da
Gambar 2.10 Simbol Pr
proses, diawali dengan keta
gan objek, misalnya transaksi sales.
• Berkas atau Tempat penyimpanan
Ko o pan data atau file. Simbol
dar
bol Berkas
Teknik Yourdon an
Ent rkan dengan symbol persegi biasa. Entity luar diberi
hur
G r 2.12 Conto
• A
Ga
mp nen yang berfungsi untuk menyim
i berkas ini dapat digambarkan dengan segi empat terbuka. Simbolnya
adalah sebagai berikut :
Gambar 2.11 Sim
d De Marco
• Entity Luar
ity luar digamba
uf sebagai identitas, K untuk konsumsen dan A untuk agen.
amba h entity luar
liran Data
A agen
K konsumen
mbar 2.13 Simbol aliran data
• Proses
am bol proses
• Berka
ERD merupakan notasi grafis dalam permodelan data konseptual yang
mendes
lam
G bar 2.14 Sim
s atau tempat penyimpanan
Gambar 2.15 Simbol berkas
kripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan
struktur data dan hubungan antar data, karena hal ini relatif kompleks. Dengan ERD
dapat menguji model dengan mengabaikan proses yang harus dilakukan. ERD
menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan
hubungan antar data, pada dasarnya ada 3 macam simbol yang digunakan yaitu :
• Entiti : adalah suatu objek yang dapat diidentifikasikan da
lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks
system yang akan dibuat. Sebagai contoh pelanggan, pekerjaa, dan lain-
lain. Seandainya A adalah seorang pekerja maka A adalah isi dari
pekerja, sedangkan jika B adalah seorang pelanggan maka B adalah isi
dari pelanggan. Karena itu harus dibedakan antara entity sebagai bentuk
umum dari deskripsi tertentu dan isi entity seperti A dan B dalam
contoh di atas. Entiti digambarkan dalam bentuk persegi empat.
Gambar 2.16 Contoh entiti
• Atribut : Entit isebut atribut, dan berfungsi
• Hubungan : Relati ntity maka dalam
an
Pekerja
i mempunyai elemen yang d
mendeskripsikan karakter entity. Misalnya atribut nama pekerja dari
entity pekerja. Setiap ERD bisa terdapat lebih dari satu atribut. Entiti
digambarkan dalam bentuk elips.
Item
warna_item
deskripsi_item
ukuran_item
Gambar 2.17 Contoh Atribut
onship; sebagaimana halnya e
hubungan pun harus dibedakan antara hubungan atau bentuk hubung
antar entity dengan isi dari hubungan itu sendiri. Misalnya dalam kasus
hubungan antara entity siswa dan entity mata_kuliah adalah mengikuti,
sedangkan isi hubungannya dapat berupa nilai_ujian. Relationship
digambarkan dalam bentuk intan / diamonds.
Gambar 2.18 Contoh hubungan
Jenis-jenis hubungan
lnya dalam suatu perusahaan mempunyai aturan
Satu ke b selalu
tapi
siswa mata kuliah mengikuti
nama_siswa
k a d_sisw
:
Satu ke satu, misa
satu supir hanya boleh menangani satu kendaraan karena alasan
tertentu.
Gambar 2.19 Contoh Hubungan Satu ke Satu
kd_mata kuliah
kd_siswa
nilai_ujian
nama_mata kuliah
kd_mata kuliah
supir penugasan mobil 1 1
anyak / banyak ke satu, misalnya suatu sekolah
mempunyai asumsi bahwa satu kelas terdiri dari banyak siswa te
tidak sebaliknya, yaitu satu siswa tidak dapat belajar pada kelas yang
berbeda.
kelas berisi siswa 1 M
Gambar 2.20 Contoh Hubungan Satu ke banyak / banyak ke satu
ERD
2.3 Pengenalan Visual Basic 6.0
c 6.0 merupakan bahasa pemrograman yang
mudah
6.0 menyediakan fasilitas yang
memun
Visual Basic 6.0.
dapat digambarkan lengkap dengan atribut-atributnya, bisa juga
digambarkan tanpa atributnya.
Microsoft Visual Basi
untuk dipelajari sehingga dapat membuat program dengan aplikasi
GUI ( Graphical User Interface ), atau program yang memungkinkan
pengguna komputer dapat berkomunikasi menggunakan media grafik atau
gambar dengan komputer tersebut.
Microsoft Visual Basic
gkinkan dapat menyusun sebuah program dengan memasang objek-
objek grafis dalam sebuah form. Visual Basic 6.0 berawal dari bahasa
pemrograman BASIC ( Beginners All purpose Symbolic Instruction Code ).
Pada tahun 1980-an, system operasi DOS cukup popular di kalangan
pengguna PC ( Personal Computer ) karena di dalamnya disertakan bahasa
BASIC yang dikenal dengan QBASIC ( Quick Basic ). Sistem tersebut
sekarang sudah jarang digunakan, dalam era Windows, Microsoft
menciptakan Visual Basic yang terus mengalami penyempurnaan hingga
2.4
stanta untuk menampung nilai yang pada saat runtime
hingga lebih menghemat memori
rray : se ke sebuah nama
ontoh :
Pemrograman dasar Visual Basic 6.0
Konstanta : Kon
diharapkan nilainya tidak berubah se
dibandingkan dengan variable.
Contoh :
A kumpulan data yang dikelompokkan
C
Const pi as single =3.14
Dim pegawai (5) as string ={“Iwan”,”Toni”,”Ahmad”,
“Irsan”,”Ratna”}
im data (3,4) as integer
ger
th (year(now), month)
uble (day-1) {}
D
Dim sal () () as double = { new double (11) {} }
Dim month as inte
Dim day as integer
For month =0 to 11
Day =datetime.daysinmon
Sal (month) = new do
Next month
yang dapat membuat tipe data sendiri dari sekumpulan
ariable dengan tipe data yang berbeda.
Struktur : objek
v
Contoh :
onso iskan DOS menggunakan Writeline.
ontoh
eng enggunakan fungsi IF atau
AS
C
Structure pegawai
m id_peg as long
Dim fname as string
Di
Dim lname as string
Dim alamat as string
Dim email as string
End structure
le : Menampilkan pesan berbas
C :
P ecekan kondisi : Mengecek kondisi m
C E.
Contoh :
Dim a as single = 20
Console.writeline ( “a= “ & a)
Dim nilai as single=80 kor as string lai >=8 then console.writeline
(“Dapat A”) else k dapat A”)
eline (“Nilai Ujian =”&nilai”) eline (“Skor anda =”& skor)
Dim sIf ni
Console.writeline (“Tida Select case nilai Case is >=80 Skor=”A” se is >65 Ca
Skor=”B” Case else Skor=”D” End select
tConsole.wriConsole.writ
Looping : Melakukan aksi berulang terkontrol menggunakan For….Next
ontoh :
np MessageBox : menampilkan kotak input dan kotak pesan
ontoh :
ic nampilkan gambar di picturebox menggunakan
Image.FromFile
C
I utBox dan
C
P tureBox : me
Contoh :
Dim ar (5) as integer
Dim I as integer
For i=1 to 5
(“ar(“& I &”)=” &ar(i) )
Ar (i)=i * 2
Console.writeline
Next i
Variable_input =inputbox (“Nama Anda?”,“Input
nama”,0,100, 100)
MessageBox (“Anda lelaki?”, Msgboxstyle.YesNo,”
Jawab deh”)
Dim pic as string
=”C:\gambar\nia.jpg”
Picturebox1.image=image.fromfile(pic)
Pic
OOP : untuk membuat objek, terlebih dahulu harus membuat kelas
ontoh :
ntu k :
per n memformat string,
digunakan fungsi compare serta fungsi format
C
U
Public class Mobil
lic roda as integer=4
Public pintu as integer=3
ncap gas”)
Pub
Public sub ngebut ()
Console.writeline (“Nia ta
End sub
End class
k membuat obje
O
Dim wish as new Mobil ()
)”panggil method Wish.ngebut (
asi String : Untuk membandingkan da
Contoh :
• F
Fungsi – fungsi
ungsi – fungsi penting Visual Basic 6
Tipe
Input / Ouput InputBox/ MsgBox
Manipulasi file dan
folder
CHDir(), ChDrive(), CurDir(), Dir(), FileCopy,
Len(), GetAttr(), Kill, MkDir(), FileDateTime(), File
Rename()
Identifikasi tipe
data ), IsReference(), TypeName(), VarType()
IsArray(), iSDate(), IsDBNull(), IsNothong(),
IsNumeric(
Dim str1 As String = ”ppp” Dim str2 As String = “ccc” Dim res As Int16 = String.Compare (str1, str2) Console.WriteLine (“Hasil pertama :” + res.ToString
m As double = 45.06F tr As string = String.Format (“Days Left :
Float: {3}”,val,
() ) str2 = “ttt” res = String.Compare(str1, str2) Console.WriteLine (“Hasil kedua :” + res ToString () ) str1 = “ttt” res = String.Compare(str1, str2) Console.WriteLine (“Hasil ketiga :” + res ToString () ) Dim val As int16 = 7 Dim name As string = “Ms.Nia” Dim nu
sDim(0).Current DateTime: {1:u}.\n String: {2},DateTime.Now,name, num) Console.WriteLine (str)
Konversi tipe
variable
(), Cbool(), Cchar(), Cdate(), CDbl(), Cinc(), Cdec
CLng(), Cobj(), Cshort(), CSng(), Ctype(), CStr()
Manipulasi string Asc(), Ascw(), Chr(), Chrw()
Pemforamatan data
nt(), Lset(), Rset(), Str(),
Format(), FormatCurrency(), FormatDateTime(),
FormatNumber(), FormatPerce
Val()
Matematika
Pow(), Round(), Sin(), Sqrt(), Tan()
Abs(), Atan(), Cos(), Exp(), Fix(), Hex(), Int(), Log(),
Oct(),
Tanggal dan waktu
nth(),
()
DateAdd(), DateDiff(), DatePart(), DateSerial(),
DateValue(0), Day(), Hour(), Minute(), Mo
MonthName(), Now(), Second(), TimeSerial(),
TimeValue(), WeekDay(), WeekDayName(), Year
Keuangan PV(), DDB(), FV(), Ipmt(), IRR(), MIRR(), NPer(), N
Pmt(), PPmt(), PV(), Rate(), SLN(), SYD()
File I/O EOF()< FileAttr(), FileClose(), FileOpen(), FileGet(),
FilePut(), FreeFile(), Input(), LineInput(), Loc(),
Lock(), Print(), PrintLine(), Reset(), Seek(), Write(),
WriteLine()
Kolaborasi aplikasi AppActivate(), Shell()
Grafik QBColor(), GB() R
Registri DeleteSetting(), GetAllSettings(), GetSetting(),
Tabel 2.2 Tabel Fungsi-fungsi penting Visual Basic 6.0
SaveSetting()
Lain-lain itch() Beep(), CallByName(), Choose(), Environ(), Sw
.5 Mengenal SQL
Structured Query Language ( SQL ) merupakan bahasa terstruktur yang
khusus digunakan untuk mengolah database. SQL pertama kali didefinisikan oleh
Americ
-
erta mengatur bagaimana data dapat diakses.
2.6
icrosoft SQL Server 2000 merupakan program aplikasi database untuk
clie erbagai sistem operasi, mulai dari Windows 9x,
Windo
Tabel 2.2 Tabel Fungsi-fungsi penting Visual Basic 6.0
2
an National Standards Institute ( ANSI ) pada tahun 1986. Hingga kini, SQL
telah berkembang dan dapat dijalankan pada hamper semua aplikasi pengolah
database termasuk SQL Server 2000.
Sebagai sebuah bahasa untuk mengolah database, SQL memiliki dua
komponen utama, yaitu :
Data Definition Language ( DDL ) yang digunakan untuk mendefinisikan
struktur database s
- Data Manipulation Language ( DML ) yang digunakan untuk mengambil
data dan memperbaharui data.
Microsoft SQL Server 2000
M
nt/server. Dapat beroperasi pada b
ws 2000 dengan bermacam-macam versi dan juga Windows NT. Selama
beroperasi, dimana SQL Server ini mengelola database, SQL Server di dalam
berhubungan dengan user akan dikelola oleh seseorang yang disebut Database
Administrator. Microsoft SQL Server 2000 merupakan sebuah program RDBMS (
Relational Database Management Sistem ) yang menyediakan dukungan untuk
mengorganisasi data dengan cara menyimpannya ke dalam tabel database. SQL
Server merupakan database server. User dapat berhubungan dengan database yang
ada pada server melalui sebuah aplikasi, sedangkan administrator dapat mengakses
data secara langsung untuk mengelolanya. Sistem Client/server dapat mempunyai
dua atau tiga tingkat setup ( pengaturan ). Tanpa memperhatikan setup
(pengaturannya), software SQL server dan database berada pada komputer pusat
yang disebut Database Server. User dapat menggunakan komputer secara terpisah
yang disebut Client. SQL Server 2000 mengalami peningkatan dalam performance.
Secara simple operasi maintenance database mampu meningkatkan kemampuan
administrator.
SQL Server 2000 menyertakan tiga tipe data yang baru untuk menyediakan
flexibilitas programming yang handal. Tipe data tersebut adalah :
berbeda
il nantinya.
• bigint merupakan 8-byte tipe integer (ini lebih besar daripada tipe
integer)
• sql_variant adalah tipe yang mengijinkan untuk menyimpan nilai tipe
data yang
• table adalah tipe yang mengijinkan aplikasi untuk secara temporer
digunakan pada has
2.7
Trans soft SQL Server 2000. Seluruh aplikasi
nikasi dengan SQL Server mengirimkan perintah-perintah
Tra
SQL
Variabel dalam Transact SQL terdiri atas variabel lokal dan variabel global.
perintah DECLARE dan di awali dengan
kar
Transact-SQL
act SQL adalah pusat dari Micro
lain yang berkomu
nsact SQL ke server, Transact SQL merupakan pengembangan dari SQL.
Berbeda dengan SQL, Transact SQL dibekali kemampuan layaknya bahasa
pemrograman. Transact SQL memiliki pernyataan pemilihan seperti
IF…ELSE…. Selain itu, Transact SQL juga mengenal adanya variable,
perulangan, dan fungsi. Dengan kata lain, Transact SQL adalah bahasa
pemrograman di SQL Server.
2.8 Variabel dalam Transact
Variabel lokal di deklarasikan dengan
akter @. Variabel lokal hanya dapat digunakan di dalam prosedur di mana
variable tersebut dideklarasikan, sedangkan variable global diawali dengan
karakter @@ dan dapat diakses dari seluruh bagian program. Ketika
mendeklarasikan variabel, perlu ditentukan pula tipe data dari variabel tersebut.
Berikut adalah beberapa tipe data :
Data Type Description Storage Size
Bigint 8-byte integer 8 bytes
B Merupakan da n bytes, di n +inary [(n)] ta binary dari 4 bytes
mana n adalah sebuah value dari 1
sampai 8000
Bit
Tipe data Integer yang merupakan value
1, 0, atau NULL. Kolom bit tidak dapat
sebuah
table sampai 8-bit
pai dijadikan index.
1 byte untuk
kolom, 2 bytes
untuk table dengan
ukuran 9-bit sam
16-bit kolom, dsb.
Char [(n)]
Tipe data karakter dengan panjang n
karakter, di mana n adalah value dari 1
sampai 8000
n bytes
Cursor ya pada variable dan Not applicable
Mereferensi ke sebuah kursor. Dapat
digunakan han
parameter stored procedure.
Datetime
ry
99, dengan 8 bytes
Data tanggal dan waktu dari 1 Janua
1753 sampai 31 Desember 99
ketelitian sampai 3.33 milisecond.
decimal
[(p,[s])] or ma 5 sampai 17 byte,
tergantung pada
precision numeric
[(p,[s])]
Tipe data decimal dengan p merupakan
jumlah total digit sebelum tanda ko
dari data yang dapat disimpan dan s
merupakan jumlah maksimal digit
Tabel 2.3 Tabel Tipe Data
sesudah tanda koma dari data yang
dapat disimpan. Digit minimal untu
adalah 1 digit dan maksimal 28 digit
k p
.
float [(n)]
4 sampai 8 byte,
tergantung
Tipe data floating-precision numerical
yang ada pada range dari -1.79E +308
sampai 1.79E +308. Value n adalah
jumlah bit yang digunakan untuk
menyimpan jumlah float dan dapat
berupa data yang ada pada range 1
sampai 53
precision
Image
ebih dari 8000 byte, dengan
asi
16 byte untuk
pointer
Digunakan untuk variable – panjang
data biner l
maksimum 2^31 – 1 byte. Sebuah
kolom yang berisi image merupakan
sebuah pointer untuk menunjuk lok
dari value data image. Data disimpan
terpisah dari data tabel.
Integer atau
int ^31 – 1 4 byte
Data integer data mulai -2^31 (-
2,147,483,648) sampai 2
(2,147,483,647)
Money 8 byte Data mata uang mulai -2^63 (-
Tabel 2.3 Tabel Tipe Data
922,337,203,685,477.5808) sampai
5807), 2^63 – 1(922,337,203,685,477.
dengan keseksamaan seribu unit.
nchar [(n)]
ari 1
r
2 byte + jumlah
karakter yang
Data karakter Unicode character dari n
karakter, di mana n adalah value d
sampai 4000. karakter Unicode
menggunakan 2 byte per karakter dan
dapat mendukung semua karakte
internasional.
dimasukkan
Ntext
ang
0 – 1(1,073,741,823)
an
16 bytes untuk
pointer dan 2 byte *
Variable-data unicode dengan panj
maksimum 2^3
karakter. Isi kolom untuk ntext adalah
pointer untuk lokasi data. Data disimp
secara terpisah dari table data.
jumlah karakter
yang dimasukkan.
Nvarchar
mulai 1
r
2 byte * jumlah
karakter yang
dimasukkan.
Variable-data Unicode dengan n
karakter, dimana n adalah value
sampai 4000. karakter Unicode
menggunakan 2 byte per karakter dan
dapat mendukung semua karakte
internasional.
Real ang 4 byte Floating-data precision numerical y
Tabel 2.3 Tabel Tipe Data
ada di antara -3.40E+38 sampai
3.40E+38. Persamaan untuk real adalah
float (24).
Smalldateti
me ai 6 juni 2079, dengan
4 byte Data tanggal dan waktu mulai 1 januari
1900 samp
keseksamaan sampai menit
Smallint 2 byte Data integer mulai -2^15 (-32,768)
sampai 2^15 – 1(32,767)
Smallmoney i -
748.3647 ,
t.
Data mata uang yang valuenya mula
214,748.3648 sampai 214,
dengan keseksamaan sampai seribu uni
4 byte
Sql_variant Ukuran berubah-
ubah.
Mengijinkan value type data yang
berbeda. Data value dan data deskripsi
data.
Sysname
pe. Tipe data sysname
at berisi
te Merupakan SQL server user-defined
data ty
didefinisikan oleh SQL server seperti
nvarchar(128),yang berarti dap
128 karakter unicode (atau 256 byte)
256 by
Table Berubah dengan
definisi tabel.
Sesuai untuk digunakan pada tabel
temporary, deklarasinya menyertakan
Tabel 2.3 Tabel Tipe Data
daftar kolom dan type data. Dapat
digunakan untuk mendefinisikan
variable local atau untuk value
pengembalian dari suatu user-defi
function.
ned
Text
nicode lebih dari 8000 byte.
pai
16 byte untuk
pointer
Digunakan untuk variable data non
karakter u
Isi kolom teks dapat menyimpan sam
2^31 – 1 karakter. Pointer ini menunjuk
ke lokasi dari value data. Data disimpan
secara terpisah dari tabel data.
Timestamp
asukkan
masing
8 byte Kolom bertipe timestamp secara
otomatis update setiap saat dim
baris baru atau diupdate. Masing-
tabel hanya dapat mempunyai satu
kolom bertipe timestamp.
Tinyint 1 byte Data integer mulai 0 sampai 255.
Unique-
binary yang
ifier
16 byte
identifier
Menyimpan 16-byte value
merupakan Globally Unique Ident
(GUID)
Varbinary Panjang aktual data Data binary dari n byte, di mana n
Tabel 2.3 Tabel Tipe Data
adalah value mulai dari 1 sampai 8000. yang dimasukkan +
4 byte
Varchar
[(n)] panja alah masukkan.
Data karakter non-unicode dengan
ng n karakter, di mana n ad
value mulai 1 sampai 8000.
Panjang aktual data
yang di
Tabel 2.3 Tabel Tipe Data
Sangat penting untuk memilih tipe data yang tepat bagi masing-masing kolom
apabila membuat sebuah ta ukkan dalam kolom harus
bel. Data yang akan dimas
sesuai dengan tipe data yang dispesifikasikan untuk kolom tersebut. User defined
data type, atau tipe data alias, adalah tipe data pilihan yang dibuat oleh user.
BAB III
ANALISA PERMASALAHAN DAN DESAIN SISTEM
3.1 ANALISIS SISTEM
3.1.1 Ga
Geologi adalah salah satu unit kerja di bawah Badan
Geo Mineral. PLG mempunyai latar
belakan
ara manual ini mempunyai beberapa
kelema
yajian laporan, atau dengan kata lain tidak efisien dalam
•
k kertas, dimana hal ini cukup sulit ditanggulangi.
mbaran Umum Sistem Yang Lama
Pusat Lingkungan
logi, Departemen Energi dan Sumber Daya
g sejarah sejak tahun 1978 dengan nama Direktorat Geologi Tata Lingkungan
yang merupakan salah satu unit baru sebagai pemekaran dari Direktorat Geologi
yang telah berdiri sejak tahun 1850. Tahun 2001 berubah nama menjadi Direktorat
Tata Lingkungan Geologi dan Kawasan Pertambangan, dan terakhir pada tahun 2005
berubah nama lagi menjadi Pusat Lingkungan Geologi dengan perubahan tugas yang
bertitik berat kearah penelitian dan pelayanan.
Sebagian besar proses pengolahan data dan penyajian informasinya masih
dilakukan secara manual. Penanganan data sec
han, misalnya :
• Membutuhkan waktu yang lama dalam pemasukan data. pencarian data,
pembuatan dan pen
menggunakan waktu kerja.
Kesalahan manusia banyak terjadi dalam mengolah data serta penyimpanan dan
perawatan dokumen berbentu
• Kurangnya terorganisir pencatatan dan pembuatan laporan untuk pejabat penilai.
• Pengisian secara manual data pegawai, riwayat pekerjaan, riwayat pendidikan,
3.1.2 Gambaran Umum Sistem Yang Akan Dikembangkan
gkungan Geologi
tersebut
an manipulasi terhadap data yang terdapat dalam database.
b. t Penilai
engisian data untuk syarat kenaikan pegawai, yaitu :
Pengisian Formulir DPPP dan Pengisian Usulan Kenaikan Pangkat.
kredit point, formulir DP3 serta usulan kenaikan pangkat yang digunakan sebagai
syarat untuk kenaikan pangkat yang memungkinkan terjadinya lost data sehingga
mengurangi kinerja pegawai.
Untuk mengatasi masalah yang dihadapi Kantor Pusat Lin
maka dibuat sebuah sistem komputerisasi sebagai program bantu.
Perencanaan dari sistem yang akan dibuat antara lain : penyusunan format pegawai,
persyaratan dan pencetakan. Adapun sebagai hasil akhir dari sistem ini adalah berupa
query pegawai yang akan naik pangkat. Selain itu, sistem ini juga dapat digunakan
untuk mengelola berkas pegawai yang berupa data pegawai. Data yang ada berasal
dari formulir-formulir yang masih diisi oleh para pegawai. Adapun yang akan dibuat
dalam sistem ini adalah daftar para pegawai yang diusulkan untuk naik pangkat.
Untuk menjalankan aplikasi ini terdapat 3 level user, yaitu :
a. Admin
Melakuk
Seperti Data Pegawai, Data Pejabat Penilai, Data Range Nilai dan Data
User.
Pejaba
• Melakukan p
• Melakukan akses terhadap laporan daftar pegawai negeri sipil,
Rekap Kredit Point, Rekap Formulir DPPP dan Laporan Daftar
c. Pega
• ian data untuk syarat kenaikan pangkat
wai, yaitu : Pengisian Kredit Point.
PP dan Laporan Daftar
3.1.3 Requirem
Tahap requirement analysis meliputi pembuatan use case diagram. Use Case
lihat seperti pada Tabel 3.1 berikut ini :
tor
Kenaikan Pangkat.
wai
Melakukan pengis
pega
• Melakukan akses terhadap laporan daftar pegawai negeri sipil,
Rekap Kredit Point, rekap formulir DP
Kenaikan Pangkat.
ent Analisis
diagram dari sistem ini dapat di
No
Nama Use Case
Ak
1. Login
2. Logout Se er mua Us
3. Input Data Pegawai
4. Edit Data Pegawai
5. Hapus Data Pegawai
6. Input Data Pejabat Penilai
Admin
7. Edit Data Pejabat Penilai
8. Hapus Data Pejabat Penilai
9. Input Data Range Nilai
10. Edit Data Range Nilai
11. Hapus Data Range Nilai
12. Input Data User
13. Edit Data User
14. Hapus Data User
Admin
15. Input Formulir DP3
16. Edit Formulir DP3
17. Hapus Formulir DP3
18. Input Usulan Kenaikan Pangkat
19. Edit Usulan Kenaikan Pangkat
20. Hapus Usulan Kenaikan Pangkat
Tim Penilai
21. Input Kredit Point
22. Edit Kredit Point
23. Hapus Kredit Point
Pegawai
24. Melihat Daftar PNS
25. Melihat Rekap Kredit Point
26. Melihat Rekap Formulir DP3
27. Melihat Daftar Kenaikan Pangkat
Tim Penilai &
Pegawai
Admin
Tabel 3.1 Tabel Usecase
3.1.3.1 Use Case Diagram
Gambar 3.1 Use case diagram untuk admin
3
Proses Pengisian Kredit Point
Melihat Rekap Formulir DP3
<< depends on >>
Pejabat Penilai
Melihat Daftar PNS
Melihat Rekap Kredit Point
Pegawai
Melihat Daftar Kenaikan Pangkat
Login
Proses Pengisian Formulir DP3
Proses Pengisian Kenaikan Pangkat
Logout
<< depends on >>
Gambar 3.2 Use case diagram untuk Pejabat Penilai dan Pegawai
.1.4 Logical Design
Tahap logical design meliputi prosess modeling dan data modeling
3.1.4.1 Proses Modeling
Proses modeling dapat dimulai dari pembuatan input dan output dari sistem.
ENTITAS INPUT OUTPUT
Admin Username Admin,
Password Admin yang
valid, Data Pegawai, Data
Pejabat Penilai, Data
Range Nilai, Data User
Validasi User Admin,
Informasi mengenai Data
Pegawai, Data Pejabat
Penilai, Data Range Nilai,
Data User.
Pejabat Penilai Username Pejabat Penilai,
Password Pejabat Penilai
yang valid, Isian Formulir
DP3, Isian Kenaikan
Pangkat.
Validasi User Pejabat
Penilai, Informasi
mengenai Daftar PNS,
Rekap Kredit Point, Rekap
Formulir DP3, Daftar
Kenaikan Pangkat.
Pegawai Username Pegawai,
Password yang valid, Isian
Kredit Point.
Validasi User Pegawai,
Informasi mengenai Daftar
PNS, Rekap Kredit Point,
Rekap Formulir DP3,
Daftar Kenaikan Pangkat.
Tabel 3.2 Tabel Input dan Output Program
Context diagram merepresentasikanelemen sistem sebagai sebuah proses
tunggal dengan input dan output data yang ditunjukkan oleh panah masuk dan keluar.
Gambar 3.3 sebagai berikut :
3.1.4.1.1 Context Diagram
Gambar 3.3 Context Diagram
Gambar 3.4 Diagram Berjenjang
3.1.4.1.2 Diagram Berjenjang
3.1.4.1.3 Overview Diagram OVERVIEW DIAGRAM LEVEL 0
Gambar 3.5 Overview Diagram Level 0
OVERVIEW DIAGRAM LEVEL 1 PROSES LOGIN 3.1.4.1.3
1
1.1.P
Login Admin
1.2.P
Login Pejabat Penilai
1.3.P
Login Pegawai
A
Admin
B
Pejabat Penilai
C
Pegawai
Username&password Admin
Username&password Pejabat penilai
Username&password Pegawai
D1 Data Admin
D2 Data Pejabat Penilai
D3 Data Pegawai
Username&password Admin
Username&passwordPejabat penilai
Username&passwordPegawai
Username&password&status admin
Username&password&statusPejabat Penilai
Username&password&statusPegawai
Gambar 3.6 Overview Diagram Level 1 Proses Login
OVERVIEW DIAGRAM LEVEL 1 PROSES DATA PEGAWAI 3.1.4.1.5
2
2.1.P
Proses Menambah Data
Pegawai
2.2.P
Proses Merubah Data Pegawai
2.3.P
Proses Menghapus Data
Pegawai
A
Admin
Data Pegawai yg akan ditambahData Pegawai yg sudah ditambah
Data Pegawai yg akan dirubah
Data Pegawai yg sudah dirubah
Data Pegawai yg sudah dihapus
Data Pegawai yg akan dihapus
Data Pegawai yg diinginkan
Data Pegawai terupdate
Data PegawaiYg diinginkan
Data Pegawai terupdate
Data Pegawai yg diinginkan
Data Pegawai terupdate
Login Admin yg valid
D3 Data Pegawai
Gambar 3.7 Overview Diagram Level 1 Proses Data Pegawai
OVERVIEW DIAGRAM LEVEL 1 PROSES RIWAYAT PENDIDIKAN 3.1.4.1.6
3
3.1.PProses
Menambah Data Riwayat
Pendidikan
3.2.P
Proses Merubah Data Riwayat Pendidikan
3.3.PProses
Menghapus Data Riwayat
Pendidikan
A
Admin
Data Riwayayt Pendidikan yg akan ditambahData Riwayat Pendidikan yg sudah ditambah
DataRiwayat Pendidikan yg akan dirubah
Data Riwayat Pendidikan yg sudah dirubah
Data Riwayat Pendidikan yg sudah dihapus
Data Riwayat Pendidikan yg akan dihapus
Login Admin yg valid
Data Riwayat Pendidikan yg diinginkan
Data Riwayat Pendidikan terupdate
Data RiwayatPendidikan
Yg diinginkan
Data Riwayat Pendidikan terupdate
Data Riwayat Pendidikan yg diinginkan
Data Riwayat Pendidikan terupdate
D4 Data Riwayat Pendidikan
Gambar 3.8 Gambar Overview Diagram Level 1 Proses Riwayat Pendidikan
OVERVIEW DIAGRAM LEVEL 1 PROSES RIWAYAT PEKERJAAN 3.1.4.1.7
4
4.1.P
Proses Menambah Data
Riwayat Pekerjaan
4.2.P
Proses Merubah Data Riwayat
Pekerjaan
4.3.P
Proses Menghapus Data
Riwayat Pekerjaan
A
Admin
Data Riwayat Pekerjaan yg akan ditambahData Riwayat Pekerjaan yg sudah ditambah
Data Riwayat Pekerjaan yg akan dirubah
Data Riwayat Pekerjaan yg sudah dirubah
Data Riwayat Pekerjaan yg sudah dihapus
Data Riwayat Pekerjaan yg akan dihapus
Data Riwayat Pekerjaan yg diinginkan
Data Riwayat Pekerjaan terupdate
Data RiwayatPekerjaan
Yg diinginkan
Data Riwayat Pekerjaan terupdate
Data Riwayat Pekerjaan yg diinginkan
Data Riwayat Pekerjaan terupdate
Login Admin yg valid
D5 Data Riwayat Pekerjaan
Gambar 3.9 Gambar Overview Diagram Level 1 Proses Riwayat Pekerjaan
OVERVIEW DIAGRAM LEVEL 1 PROSES DATA PEJABAT PENILAI 3.1.4.1.8
5
5.1.P
Proses Menambah Data Pejabat Penilai
5.2.P
Proses Merubah Data Pejabat
Penilai
5.3.P
Proses Menghapus Data Pejabat Penilai
A
Admin
DataPejabat Penilai yg akan ditambahData Pejabat Penilai yg sudah ditambah
Data Pejabat Penilai yg akan dirubah
Data Pejabat Penilai yg sudah dirubah
Data Pejabat Penilai yg sudah dihapus
Data Pejabat Penilai yg akan dihapus
Data Pejabat Penilai yg diinginkan
Data Pejabat Penilai terupdate
Data Pejabat PenilaiYg diinginkan
Data Pejabat Penilai terupdate
Data Pejabat Penilai yg diinginkan
Data Pejabat Penilai terupdate
Login Admin yg valid
D2 Data Pejabat Penilai
Gambar 3.10 Gambar Overview Diagram Level 1 Proses Data Pejabat Penilai
OVERVIEW DIAGRAM LEVEL 1 PROSES DATA RANGE NILAI 3.1.4.1.9
Gambar 3.11 Gambar Overview Diagram Level 1 Proses Data Range Nilai
OVERVIEW DIAGRAM LEVEL 1 PROSES DATA USER 3.1.4.1.10
Gambar 3.12 Gambar Overview Diagram Level 1 Proses Data User
OVERVIEW DIAGRAM LEVEL 1 PROSES PENGISIAN KREDIT POINT 3.1.4.1.11
Gambar 3.13 Gambar Overview Diagram Level 1 Proses Pengisian Kredit Point
OVERVIEW DIAGRAM LEVEL 1 PROSES PENGISIAN FORMULIR DP3 3.1.4.1.12
Gambar 3.14 Gambar Overview Diagram Level 1 Proses Pengisian Formulir DP3
OVERVIEW DIAGRAM LEVEL 1 PROSES PENGISIAN KENAIKAN PANGKAT 3.1.4.1.13
10
10.1.P
Proses Menambah Data
Pengisian Kenaikan Pangkat
10.2.P
Proses Merubah Data Pengisian
Kenaikan Pangkat
10.3.P
Proses Menghapus Data
Pengisian Kenaikan Pangkat
C
Pejabat Penilai
Data Pengisian Kenaikan Pangkat yg akan ditambahData Pengisian Kenaikan Pangkat yg sudah ditambah
Data Pengisian Kenaikan Pangkatyg akan dirubah
Data Pengisian Kenaikan Pangkat yg sudah dirubah
Data Pengisian Kenaikan Pangkat yg sudah dihapus
Data Pengisian Kenaikan Pangkat yg akan dihapus
Data Pengisian Kenaikan Pangkat yg diinginkan
Data Pengisian Kenaikan Pangkat terupdate
Data Pengisian Kenaikan Pangkat
Yg diinginkan
Data Pengisian KenaikanPangkat terupdate
Data Pengisian Kenaikan Pangkat yg diinginkan
Data Pengisian Kenaikan Pangkat terupdate
Login Pejabat Penilai yg valid
D10 Data Kenaikan Pangkat
Gambar 3.15 Gambar Overview Diagram Level 1 Proses Pengisian Kenaikan Pangkat
OVERVIEW DIAGRAM LEVEL 1 PROSES MELIHAT LAPORAN 3.1.4.1.14
Gambar 3.16 Gambar Overview Diagram Level 1 Proses Melihat Laporan
PEGAWAI
NIP { PK }NamaAlamatTmp_TglLhrGelarJns_KlmnAgamaStatus_nikahPangkatGol/RuangT.M.T Pangkat_Gol/ruangJabatanT.M.T JabatanNmr_SK {FK }No_Ijazah { FK }Pas_FotoNIP_Atasan { FK }
FORMULIR_DP3
NIP_Pegawai_yg_dnilaiNama_Pegawai_yg_dnilaiPangkat/Gol.ruang_yg_dnilaiJabatan/pekerjaan_yg_dnilaiUnit_Organisasi_yg_dnilaiNIP_Pejabat_yg_dnilaiNama_PejabatpenilaiPangkat/Gol.ruang_PejabatpenilaiJabatan/Pekerjaan_pejabatpenilaiUnit_organisasi_pejabatpenilaiNIP_Atasan_PejabatPenilaiNama_Atasan_PejabatpenilaiPangkat/Gol.Ruang_Aatsan_pejabatpenilaiJabatan/Pekerjaan_Atasan_pejabatpenilaiUnit_organisasi_atasan_pejabat_penilaiUnsur_kesetiaanUnsur_prestasi_kerjaUnsur_TanggungjwbUnsur_KetaatanUnsur_KejujuranUnsur_KerjasamaUnsur_PrakarsaUnsur_KepemimpinanNilai_SebutanKeteranganJumlahNilai_rata_rataKeberatan_dr_PNS_yg_dinilaiTanggapan_Pejabat_penilai_atas_keberatanKeputusan_atasan_pejabat_penilai_atas_keberatanLain_lainDibuat_TglDiterima_TglDiterima_oleh_atasan_tgl
USULAN_KENAIKAN_PANGKAT
NIP { PK }NamaPangkat_SkrgGol/ruang_skrgUsulan_PangkatUsulan_Gol/ruang
KREDIT_POINT
NIPId_Kredit {PK }TglRincianKredit
RIWAYAT_PEKERJAAN
NIPNmr_SK { PK }TglGol/ruangMulai
RIWAYAT_PENDIDIKAN
No_Ijazah { PK }Nama_SekolahTingkat_IjazahThn_Kelulusan
NoNIP { PK }PeriodePangkat_Gol/ruang_skrgUsulan_Pangkat_Gol/ruang
NoId_Kredit { PK }NIP { FK }Nama_LengkapPangkatGol/ruangJml_Kredit_Point
NoPeriodeNIP_Peg_yg_dinilai { PK }Nama_Peg_yg_dinilaiPangkatGolongan/ruangUnsur_KesetiaanUnsur_PrestasiKerjaUnsur_TanggungjwbUnsur_KetaatanUnsur_KejujuranUnsur_KerjasamaUnsur_PrakarsaUnsur_KepemimpinanJumlahNilai_ratarata_angkaNilai_ratarata_sebutan
3.1.4.2 Data Modeling
Tahap data modeling dapat dimulai dengan pembuatan ER Diagram pada gambar dibawah ini :
Gambar 3.17 Gambar ER Diagram
3.2 DESAIN SISTEM
3.2.1 Desain Database
Pada desain database ini digunakan tabel 13 yaitu tabel DATA PEGAWAI,
tabel RIWAYAT PEKERJAAN, tabel RIWAYAT PENDIDIKAN, tabel
PEJABAT PENILAI, tabel RANGE NILAI, tabel DATA USER, tabel
PENGISIAN KREDIT POINT, tabel PENGISIAN FORMULIR DP3, tabel
PENGISIAN USULAN KENAIKAN PANGKAT, tabel LAPORAN DAFTAR
PEGAWAI NEGERI SIPIL ( PNS ), tabel LAPORAN REKAP KREDIT POINT,
tabel LAPORAN REKAP FORMULIR DP3, tabel LAPORAN DAFTAR
KENAIKAN PANGKAT yang tampak dari tabel 3.3 sampai dengan tabel 3.15
berikut ini :
Tabel Data Pegawai
No Nama Field Tipe
1. NIP Number(12)
2. Nama Lengkap Varchar (30)
3. Gelar Varchar (15)
4. Tempat / Tgl Lahir Varchar(10)/Datetime(8)
5. Jenis Kelamin Varchar(10)
6. Agama Varchar(10)
7. Status Nikah Varchar(10)
8. Alamat Varchar(50)
9. Pangkat Varchar(20)
10. Golongan Ruang Varchar(10)
11. Terhitung Mulai Tanggal Datetime (8)
12. Jabatan Varchar(20)
13. Terhitung Mulai Tanggal Datetime (8)
14. Pas Foto Image
Tabel 3.3 Tabel Data Pegawai
Tabel Data Riwayat Pekerjaan
No Nama Field Tipe
1. Tanggal Datetime (8)
2. Nomor Surat Keputusan Varchar (20)
3. Golongan ruang Varchar (10)
4. Mulai Char (4)
Tabel 3.4 Tabel Data Riwayat Pekerjaan
Tabel Data Riwayat Pendidikan
No Nama Field Tipe
1. Nama Sekolah / P.T Varchar (20)
2. Tahun Kelulusan Char (4)
3. Tingkat Ijazah Varchar (10)
Tabel 3.5 Tabel Data Riwayat Pendidikan
Tabel Data Pejabat Penilai
No Nama Field Tipe
1. NIP Number(12)
2. Nama Varchar (30)
3. Pangkat Varchar (20)
4. Gol.Ruang Varchar (10)
5. Password Varchar (10)
Tabel 3.6 Tabel Data Pejabat Penilai
Tabel Data Range Nilai
No. Nama Field Tipe
1. Awal Char (10)
2. Akhir Char (10)
3. Sebutan Varchar (15)
Tabel 3.7 Tabel Data Range Nilai
Tabel Data user
No Nama Field Tipe
1. Id_User Varchar (10)
2. Nama Varchar (20)
3. Password Varchar (10)
4. Tipe Varchar (2)
Tabel 3.8 Tabel Data User
Tabel Isian Kredit Point
No Nama Field Tipe
1. Id_kredit Char (4)
2. Tgl Datetime (8)
3. Rincian Varchar (20)
4. Kredit Char (10)
Tabel 3.9 Tabel Isian Kredit Point
Tabel Isian Formulir Daftar Penilaian Pelaksanaan Pekerjaan
(DP3)
No Nama Field Tipe
1. NIP Pegawai yang dinilai Number (12)
2. Nama Pegawai yang dinilai Varchar (30)
3. Pangkat / gol.ruang yang dinilai Varchar (20)
4. Jabatan / pekerjaan yang dinilai Varchar (20)
5. Unit Organisasi yang dinilai Varchar (20)
6. NIP Pejabat Penilai Number (12)
7. Nama Pejabat Penilai Varchar (30)
8. Pangkat / gol.ruang pejabat penilai Varchar (30)
9. Jabatan / Pekerjaan pejabat penilai Varchar (20)
10. Unit Organisasi pejabat penilai Varchar (20)
11. NIP Atasan Pejabat Penilai Number (12)
12. Nama Atasan Pejabat Penilai Varchar (30)
13. Pangkat / gol.ruang atasan pejabat
penilai
Varchar (20)
14. Jabatan / Pekerjaan atasan pejabat
penilai
Varchar (20)
15. Unit Organisasi atasan pejabat penilai Varchar (20)
16. Unsur Kesetiaan Char (4)
17. Unsur Prestasi Kerja Char (4)
18. Unsur Tanggng jawab Char (4)
19. Unsur Ketaatan Char (4)
20. Unsur Kejujuran Char (4)
21. Unsusr Kerjasama Char (4)
22. Unsur Prakarsa Char (4)
23. Unsur Kepemimpinan Char (4)
24. Keterangan Varchar (10)
25. Jumlah Char (4)
26. Nilai Rata-rata Char (4)
27. Keberatan dari PNS yang dinilai (jika
ada)
Varchar (30)
28. Tanggapan Pejabat Penilai atas
keberatan
Varchar (30)
29. Tanggal Datetime (8)
30. Keputusan Pejabat Penilai atas
keberatan
Varchar (30)
31. Tanggal Datetime (8)
32. Lain – lain Varchar (30)
33. Tanggal Datetime (8)
34. Dibuat Tanggal Datetime (8)
35. Diterima Tanggal Datetime (8)
35. Diterima oleh atasan tanggal Datetime (8)
Tabel 3.10 Tabel Isian Formulir DP3
Tabel Isian Usulan Kenaikan Pangkat
No Nama Field Tipe
1. NIP Number (12)
2. Nama Pegawai Varchar (30)
3. Pangkat sekarang Varchar (20)
4. Golongan/ruang sekarang Varchar (10)
5. Usulan Pangkat Varchar (20)
6. Usulan Golongan ruang Varchar (10)
Tabel 3.11 Tabel Isian Usulan Kenaikan Pangkat
Tabel Laporan Daftar PNS
No Nama Field Tipe
1. Nomer Number (5)
2. NIP Number (12)
3. Nama Lengkap Varchar (30)
4. Tempat/Tgl Lahir Varchar (10)/Datetime (8)
5. Jenis Kelamin Varchar (10)
6. Agama Varchar (10)
7. Status Varchar (10)
8. Alamat Varchar (50)
9. Pangkat Varchar (20)
10. Golongan ruang Varchar (10)
11. Jabatan Varchar (20)
12. Unit Kerja Varchar (20)
13. T.M.T. Gol/Ruang Datetime (8)
14. T.M.T. Jabatan Datetime (8)
15. Masa Kerja Char (5)
Tabel 3.12 Tabel Laporan Daftar PNS
Tabel Laporan Rekap Kredit Point
No Nama Field Tipe
1. Nomer Number (5)
2. NIP Number (12)
3. Nama Lengkap Varchar (30)
4. Pangkat Varchar (20)
5. Golongan ruang Varchar (10)
6. Jumlah Kredit Point Number (5)
Tabel 3.13 Laporan Rekap Kredit Point
Tabel Laporan Rekap Formulir DP3
No Nama Field Tipe
1. Nomer Number (5)
2. Periode Char (10)
3. NIP Pegawai yang dinilai Number (12)
4. Nama Pegawai yang dinilai Varchar (30)
5. Pangkat Varchar (20)
6. Golongan ruang Varchar (10)
7. Unsur Kesetiaan Char (4)
8. Unsur Prestasi Kerja Char (4)
9. Unsur Tanggung Jawab Char (4)
10. Unsur Ketaatan Char (4)
11. Unsur Kejujuran Char (4)
12. Unsur Kerjasama Char (4)
13. Unsur Prakarsa Char (4)
14. Unsur Kepemimpinan Char (4)
15. Jumlah Char (4)
16. Nilai rata-rata Angka Char (4)
17. Nilai rata-rata sebutan Varchar (10)
Tabel 3.14 Tabel Laporan Rekap Formulir DP3
Tabel Laporan Daftar Kenaikan Pangkat
No Nama Field Tipe
1. Nomer Number (5)
2. Periode Char (10)
3. NIP Number (12)
4. Nama Lengkap Varchar (30)
5. Pangkat/Golongan ruang sekarang Varchar (20)
6. Usulan Pangkat/Golongan ruang Varchar (30)
Tabel 3.15 Tabel Laporan Daftar Kenaikan Pangkat
No * NIP (PK) ** Id_Kredit (FK) Nama_Lengkap Pangkat Gol/ruang Jml_Kredit_Point
Pegawai * NIP (PK) ** No_SK (FK) ** No_Ijazah (FK) Nama Alamat Tmp_TglLhr Gelar Jns_Klmn Agama Status_nikah Pangkat Gol/Ruang T.M.T Pangkat_Gol/ruang Jabatan T.M.T Jabatan ** NIP Atasan (FK)
Riwayat_Pekerjaan * No_SK (PK) Tgl_SK Gol/ruang Mulai_Berlaku
* NIP (PK) NIP Periode Pangkat_Gol/ruang_skrg Usulan_Pangkat_Gol/ruang
Riwayat_Pendidikan * No_Ijazah (PK) Nama_Sekolah Tingkat_Ijazah Thn_Kelulusan
Kredit_Point NIP * Id_Kredit (PK) Tgl Rincian Kredit
USULAN_KENAIKAN_PANGKAT *NIP (PK) Nama Pangkat_Skrg Gol/ruang_skrg Usulan_Pangkat
FORMULIR_DP3 *NIP_Pegawai_yg_dnilai (PK) Nama_Pegawai_yg_dnilai Pangkat/Gol.ruang_yg_dnilai Jabatan/pekerjaan_yg_dnilai Unit_Organisasi_yg_dnilai NIP_Pejabat_yg_dnilai Nama_Pejabatpenilai Pangkat/Gol.ruang_Pejabatpenilai Jabatan/Pekerjaan_pejabatpenilai Unit_organisasi_pejabatpenilai NIP_Atasan_PejabatPenilai Nama_Atasan_Pejabatpenilai Pangkat/Gol.Ruang_Aatsan_pejabatpenilai Jabatan/Pekerjaan_Atasan_pejabatpenilai Unit_organisasi_atasan_pejabat_penilai Unsur_kesetiaan Unsur_prestasi_kerja Unsur_Tanggungjwb Unsur_Ketaatan Unsur_Kejujuran Unsur_Kerjasama Unsur_Prakarsa Unsur_Kepemimpinan Nilai_Sebutan Keterangan Jumlah Nilai_rata_rata Keberatan_dr_PNS_yg_dinilai Tanggapan_Pejabat_penilai_atas_keberatan Keputusan_atasan_pejabat_penilai_atas_keberatan Lain_lain Dibuat_Tgl Diterima_Tgl Diterima_oleh_atasan_tgl
No Periode * NIP_Peg_yg_dinilai (PK) Nama_Peg_yg_dinilai Pangkat Golongan/ruang Unsur_Kesetiaan Unsur_PrestasiKerja Unsur_Tanggungjwb Unsur_Ketaatan Unsur_Kejujuran Unsur_Kerjasama Unsur_Prakarsa Unsur_Kepemimpinan Jumlah Nilai_ratarata_angka Nilai_ratarata_sebutan
3.2.2 Relasi antar tabel
Relasi antar tabel pada Program Bantu ini dapat dilihat pada gambar berikut :
Gambar 3. 18 Gambar Relasi Tabel
3.3 DESAIN PENANGANAN MASALAH MULTI USER
3.3.1 Kemungkinan Masalah Yang Akan Terjadi
Dalam aplikasi ini terdapat beberapa masalah yang bisa saja terjadi yaitu
apabila salah dalam memasukkan nomor induk pegawai pada data pegawai atau
terjadi kesamaan nomor induk pegawai, mengakibatkan adanya duplikasi data
atau program tidak dapat menyimpan data pegawai secara sempurna.
3.3.2 Penanganan Terhadap Masalah Yang Terjadi
Untuk mengatasi permasalahan yang ada, maka pada database ditambah
perintah. Berikut adalah perintahnya :
Private Sub btnSave_Click() Dim tmpRecNo As Integer 'Cek NIP tidak boleh dobel (jika NIP diubah) If nip_ori <> Text1.Text Then Dim rstemp As ADODB.Recordset Call sqlSelect(rstemp, "SELECT COUNT(nip) FROM pns WHERE nip='" & Text1.Text & "'") If rstemp(0) > 0 Then rstemp.Close MsgBox "NIP tersebut sudah pernah digunakan ! Ganti dengan NIP yang lain" Exit Sub End If rstemp.Close End If
3.4 DESAIN TEKNOLOGI YANG DIGUNAKAN
3.4.1 Perancangan Arsitektur Perangkat Keras
• Untuk Server :
Pentium IV 2,4 Ghz
RAM 256 Mb
LAN card 100 M
Kabel jaringan UTP RG 45
• Untuk Client :
Pentium III 600 Mhz
RAM 128 Mb
LAN card 100 M
3.4.2 Perancangan Arsitektur Perangkat Lunak
• Untuk server :
Sistem operasi Windows XP Professional
Engine database Microsoft SQL Server 2000
Installer Pegawai VB 6
• Untuk Client :
Sistem Operasi Windows XP Professional
Installer pegawai VB 6
BAB IV
IMPLEMENTASI SISTEM DAN ANALISA HASIL
4.1 Karakteristik Sistem
Sistem ini dibangun sebagai Program Bantu Untuk Kenaikan Pangkat
Pegawai Negeri Sipil. Sistem ini akan menggunakan arsitektur client-server dan
mendukung penggunaan secara multi user.
Pada program ini terdapat admin yang bertugas untuk memasukkan data pegawai,
data pejabat penilai, data range nilai dan data user. Admin diberi wewenang tersebut
agar tidak terjadi manipulasi data oleh pegawai sendiri serta mengatur siapa saja yang
dapat mengakses program ini. Pejabat penilai bertugas untuk memasukkan data isian
formullir DP3 setelah dilaksanakan penilaian dari masing – masing pegawai oleh
pejabat penilai sendiri. Kemudian pejabat penilai juga bertugas untuk memasukkan
data isian kenaikan pangkat, dimana setelah pengisian formulir DP3 terdapat nilai
yang akan menjadi acuan pejabat penilai. Pejabat penilai dapat melihat laporan –
laporan yang disediakan program ini, yaitu Daftar Pegawai Negeri Sipil, Rekap
Kredit Point, Rekap Formulir DP3 dan Daftar Usulan Kenaikan Pangkat. Pegawai
mempunyai tugas memasukkan isian kredit point yang berupa pelatihan – pelatihan,
kursus – kursus yang pernah diikuti pegawai. Pegawai juga dapat melihat bentuk
laporan yang disediakan dalam program ini.
4.2 Kebutuhan Sistem
Untuk dapat melakukan pengujian sistem diperlukan sistem penunjang, antara
lain :
• Server
Sistem operasi Windows XP Professional
Engine database Microsoft SQL Server 2000
Installer Pegawai VB 6
• Untuk Client :
Sistem Operasi Windows XP Professional
Installer pegawai VB 6
4.3 User Interface
User interface ini merupakan implementasi dari proses modeling yang ada dan
user interface untuk splash screen.
4.3.1 User Interface Proses Login
Gambar 4.1 merupakan gambar user interface untuk Login
Gambar 4.1 Gambar Login
Untuk menggunakan sistem ini maka user harus melakukan proses login
terlebih dahulu. Setelah memasukkan User ID dan Password maka sistem akan
mengecek apakah user ID dan password tersebut valid atau tidak. Jika tidak maka
sistemm akan mengekluarkan peringatan bahwa login tidak valid lalu kembali ke
halaman Login lagi. Jika yang Login adalah Admin maka akan dilanjutkan ke menu
utama untuk admin, Jika yang valid adalah login pejabat penilai maka dilanjutkan ke
menu utama untuk pejabat penilai. Begitu juga dengan login pegawai, jika yang valid
adalah login pegawai maka akan dilanjutkan ke menu utama untuk pegawai. Berikut
adalah Listing Programnya :
Public USERID As String Public USERNAME As String Public USERTYPE As String Private Function CekInput() Dim b As Boolean Dim msg As String msg = "" b = True If Trim(Text1.Text = "") Then msg = msg & "~ User ID belum diisi." & vbCrLf If Trim(Text2.Text = "") Then msg = msg & "~ Password belum diisi." & vbCrLf If msg <> "" Then b = False MsgBox "Pengisian belum lengkap !" & vbCrLf & msg, vbInformation, "Informasi" End If CekInput = b End Function Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Dim rs As New ADODB.Recordset If KeyCode = vbKeyReturn Then If ActiveControl Is Text1 Then Text2.SetFocus Exit Sub End If If CekInput = False Then Exit Sub 'Cek login sql = "SELECT * FROM users WHERE id='" & Text1.Text & "' AND pass='" & Text2.Text & "'" Call sqlSelect(rs, sql) If rs.RecordCount = 0 Then MsgBox "User ID/Password Anda tidak benar !", vbInformation Or vbOKOnly, "Login"
Else USERID = rs("id") USERNAME = rs("nama") USERTYPE = rs("tipe") Me.Hide frmUtama.Show vbModal Call Form_Load Me.Show End If rs.Close Set rs = Nothing End If If KeyCode = vbKeyEscape Then End End If End Sub Private Sub Form_Load() Call sqlConnect Text1.Text = "" Text2.Text = "" USERID = "" USERNAME = "" USERTYPE = "" End Sub Private Sub Form_Paint() Text1.SetFocus End Sub
4.3.2 User Interface Menu Utama
Setelah proses login akan program ini akan menampilkan menu utama.
Tampilan untuk menu utama setiap user sama, hanya saja masing-masing user
diberikan hak akses yang berbeda-beda. Admin mempunyai hak akses untuk
Proses Data Pegawai, Proses Data Riwayat Pendidikan, Proses Data Riwayat
Pekerjaan, Proses Data Pejabat Penilai, Proses Data Range Nilai dan Proses Data
User. Dimana Proses Data Riwayat Pendidikan dan Data Riwayat Pekerjaan ada
di dalam Proses Data Pegawai. Pejabat Penilai mempunyai hak akses dalam
proses Pengisian Formulir DP3, Pengisian Kenaikan Pangkat, Melihat Laporan
Daftar PNS, Melihat Rekap Kredit Point, Melihat Rekap Formulir DP3 dan
Melihat Daftar Kenaikan Pangkat. Sedangkan untuk Pegawai mempunyai hak
akses dalam proses Pengisian Kredit Point, Melihat Laporan Daftar PNS, Melihat
Laporan Rekap Kredit Point, Melihat Rekap Formulir DP3 dan Melihat Laporan
Daftar Kenaikan Pangkat.
Gambar 4.2 Menu Utama
4.3.3 User Interface untuk Admin
4.3.3.1 Proses Input Admin
• Proses Data Pegawai
Gambar 4.3 Proses Data Pegawai untuk Admin
Dim rsPegawai As ADODB.Recordset Dim recNo As Integer Dim recCount As Integer Dim sql As String Dim tmpnip As String Dim nip_ori As String Dim isNew As Boolean Dim Konfirm As Integer Sub OpenTable() Dim rs As ADODB.Recordset 'Membuka tabel If Not (rsPegawai Is Nothing) Then Set rsPegawai = Nothing End If Call sqlSelect(rsPegawai, "SELECT * FROM pns ORDER BY nip")
Set Adodc1.Recordset = rsPegawai 'Mengisi combobox Gelar Call sqlSelect(rs, "SELECT gelar FROM pns GROUP BY gelar") Call FillCombo(Combo4, rs) 'Mengisi combobox Tempat lahir Call sqlSelect(rs, "SELECT tempatlhr FROM pns GROUP BY tempatlhr") Call FillCombo(Combo2, rs) 'Mengisi combobox Pangkat Call sqlSelect(rs, "SELECT pangkat FROM pns GROUP BY pangkat") Call FillCombo(Combo6, rs) 'Mengisi combobox Jabatan Call sqlSelect(rs, "SELECT jabatan FROM pns GROUP BY jabatan") Call FillCombo(Combo8, rs) 'Mengisi combobox Pangkat Call sqlSelect(rs, "SELECT unitkerja FROM pns GROUP BY unitkerja") Call FillCombo(Combo10, rs) 'Mengisi combobox Record Number cbxRecNo.Clear For i = 1 To rsPegawai.RecordCount Call cbxRecNo.AddItem(i) Next i Call PrintRecNo(1) isNew = False ShowRecord End Sub Sub ShowRecord() Combo2.ListIndex = 0 Combo1.ListIndex = 0 Combo5.ListIndex = 0 Combo3.ListIndex = 0 Combo6.ListIndex = 0 Combo7.ListIndex = 0 Combo8.ListIndex = 0 Combo10.ListIndex = 0
If rsPegawai.BOF Or rsPegawai.EOF Then Exit Sub nip_ori = rsPegawai("nip") Text4.Value = Format(rsPegawai("tanggallhr"), "dd-MM-yyyy") Text5.Value = Format(rsPegawai("tmtgolruang"), "dd-MM-yyyy") Text6.Value = Format(rsPegawai("tmtjabatan"), "dd-MM-yyyy") 'Seleksi item2 di combobox Call SelectCombo(Combo4, rsPegawai("gelar")) Call SelectCombo(Combo2, rsPegawai("tempatlhr")) Call SelectCombo(Combo1, rsPegawai("jk")) Call SelectCombo(Combo5, StringAgama(rsPegawai("agama"))) Call SelectCombo(Combo3, StringNikah(rsPegawai("statusnikah"))) Call SelectCombo(Combo6, rsPegawai("pangkat")) Call SelectCombo(Combo8, rsPegawai("jabatan")) Call SelectCombo(Combo10, rsPegawai("unitkerja")) Call SelectCombo(Combo7, rsPegawai("golruang")) If rsPegawai("jk") = "L" Then Combo1.ListIndex = 1 If rsPegawai("jk") = "P" Then Combo1.ListIndex = 2 'Riwayat Pekerjaan Dim rsPek As ADODB.Recordset Call sqlSelect(rsPek, "SELECT * FROM riwayatpek WHERE nip='" & rsPegawai("nip") & "' ORDER BY tgl DESC") Set Adodc3.Recordset = rsPek 'Riwayat Pendidikan Dim rsPddk As ADODB.Recordset Call sqlSelect(rsPddk, "SELECT tempat,thnlulus,jenjang FROM riwayatpddk WHERE nip='" & rsPegawai("nip") & "' ORDER BY thnlulus DESC") Set Adodc2.Recordset = rsPddk 'Foto Text9.Text = "" 'Set Picture1.Picture = Nothing Set Image1.Picture = Nothing If IsNull(rsPegawai("filefoto")) = False Then If rsPegawai("filefoto") <> "" Then spath = App.Path & "\foto" 'Picture1.Picture = LoadPicture(spath & "\" & rsPegawai("filefoto")) Image1.Picture = LoadPicture(spath & "\" & rsPegawai("filefoto")) Text9.Text = rsPegawai("filefoto")
End If End If tmpnip = rsPegawai("nip") End Sub Sub PrintRecNo(ByVal nRecNo As Integer) recCount = rsPegawai.RecordCount If nRecNo <= 0 Or nRecNo > recCount Then Exit Sub recNo = nRecNo cbxRecNo.ListIndex = recNo - 1 End Sub Private Sub Adodc1_EndOfRecordset(fMoreData As Boolean, adStatus As
ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) If rsPegawai.RecordCount > 0 Then MsgBox "Tidak ada record yang dapat
ditampilkan lagi", vbCritical End Sub Private Sub Adodc1_MoveComplete(ByVal adReason As
ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
If adReason = adRsnMovePrevious Then PrintRecNo (recNo - 1) If adReason = adRsnMoveNext Then PrintRecNo (recNo + 1) If adReason = adRsnMoveFirst Then PrintRecNo (1) If adReason = adRsnMoveLast Then PrintRecNo (rsPegawai.RecordCount) Call ShowRecord End Sub Private Sub btnBrowsePic_Click() Dim fs As New Scripting.FileSystemObject With CommonDialog1 .InitDir = App.Path & "\foto" .ShowOpen If .FileName <> "" Then If fs.GetParentFolderName(.FileName) <> App.Path & "\foto" Then Call MsgBox("Lokasi foto harus di dalam folder " & App.Path &
"\foto") Else 'Set Picture1.Picture = Nothing Set Image1.Picture = Nothing spath = App.Path & "\foto"
Text9.Text = fs.GetFileName(.FileName) 'Picture1.Picture = LoadPicture(spath & "\" & Text9.Text) Image1.Picture = LoadPicture(spath & "\" & Text9.Text) End If End If End With End Sub Private Sub btnDelete_Click() If isNew = False Then Konfirm = MsgBox("Record ini akan dihapus dan tidak bisa
dikembalikan lagi. Lanjutkan menghapus ?", vbYesNo Or vbExclamation) If Konfirm = vbYes Then 'Hapus record pegawai sql = "DELETE FROM pns WHERE nip='$tmpnip'" sql = Replace(sql, "$tmpnip", tmpnip) Call sqlExecute(sql) 'Hapus record riwayat pendidikan pegawai sql = "DELETE FROM riwayatpddk WHERE nip='$tmpnip'" sql = Replace(sql, "$tmpnip", tmpnip) Call sqlExecute(sql) OpenTable End If Else OpenTable End If End Sub Private Sub btnDelPic_Click() Text9.Text = "" Set Picture1.Picture = Nothing End Sub Private Sub btnExit_Click() Unload Me End Sub Private Sub btnGo_Click() recNo = cbxRecNo.Text recNo = recNo - 1 rsPegawai.Move recNo, adBookmarkFirst End Sub
Private Sub btnList_Click() frmListPNS.Show vbModal If frmListPNS.isSelected Then skriteria = "nip='" & frmListPNS.rsSelect("nip") & "'" rsPegawai.MoveFirst Call rsPegawai.Find(skriteria) Unload frmListPNS End If End Sub Private Sub btnNew_Click() Adodc1.Recordset.AddNew isNew = True nip_ori = "" End Sub Private Sub FormatSQL(ByRef sql As String) sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$nama", Text2.Text) sql = Replace(sql, "$gelar", Combo4.Text) sql = Replace(sql, "$tempatlhr", Combo2.Text) sql = Replace(sql, "$tanggallhr", Format(Text4.Value, "dd-MM-yyyy")) sql = Replace(sql, "$jk", Left(Combo1.Text, 1)) sql = Replace(sql, "$agama", Left(Combo5.Text, 1)) sql = Replace(sql, "$statusnikah", Left(Combo3.Text, 1)) sql = Replace(sql, "$alamat", Text3.Text) sql = Replace(sql, "$pangkat", Combo6.Text) sql = Replace(sql, "$golruang", Combo7.Text) sql = Replace(sql, "$jabatan", Combo8.Text) sql = Replace(sql, "$unitkerja", Combo10.Text) sql = Replace(sql, "$tmtgolruang", Format(Text5.Value, "dd-MM-yyyy")) sql = Replace(sql, "$tmtjabatan", Format(Text6.Value, "dd-MM-yyyy")) sql = Replace(sql, "$maskerbln", Text7.Text) sql = Replace(sql, "$maskerthn", Text8.Text) sql = Replace(sql, "$filefoto", Text9.Text) End Sub Private Sub btnSave_Click() Dim tmpRecNo As Integer 'Cek NIP tidak boleh dobel (jika NIP diubah) If nip_ori <> Text1.Text Then Dim rstemp As ADODB.Recordset
Call sqlSelect(rstemp, "SELECT COUNT(nip) FROM pns WHERE nip='" & Text1.Text & "'")
If rstemp(0) > 0 Then rstemp.Close MsgBox "NIP tersebut sudah pernah digunakan ! Ganti dengan NIP
yang lain" Exit Sub End If rstemp.Close End If If isNew Then sql = "INSERT INTO pns
VALUES('$nip','$nama','$gelar','$tempatlhr','$tanggallhr','$jk','$agama','$statusnikah','$alamat','$pangkat','$golruang','$jabatan','$unitkerja','$tmtgolruang','$tmtjabatan','$maskerbln','$maskerthn','$filefoto')"
Call FormatSQL(sql) Call sqlExecute(sql) OpenTable Else sql = "UPDATE pns SET
nip='$nip',nama='$nama',gelar='$gelar',tempatlhr='$tempatlhr',tanggallhr='$tanggallhr',jk='$jk',agama='$agama',statusnikah='$statusnikah',alamat='$alamat',pangkat='$pangkat',golruang='$golruang',jabatan='$jabatan',unitkerja='$unitkerja',tmtgolruang='$tmtgolruang',tmtjabatan='$tmtjabatan',maskerbln='$maskerbln',maskerthn='$maskerthn',filefoto='$filefoto' WHERE nip='$tmpnip'"
Call FormatSQL(sql) sql = Replace(sql, "$tmpnip", tmpnip) Call sqlExecute(sql) tmpRecNo = recNo OpenTable rsPegawai.Move tmpRecNo - 1 Call PrintRecNo(tmpRecNo) End If Call MsgBox("Input telah direkam ke database !") isNew = False End Sub Private Sub Command1_Click() If Text1.Text = "" Then Call MsgBox("NIP harus diisi terlebih dahulu !") Exit Sub
End If frmRiwayatPddk.Show vbModal If frmRiwayatPddk.Batal = False Then sql = "INSERT INTO riwayatpddk
VALUES('$nip','$tempat','$thnlulus','$jenjang')" sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tempat", frmRiwayatPddk.Text1.Text) sql = Replace(sql, "$thnlulus", frmRiwayatPddk.Text2.Text) sql = Replace(sql, "$jenjang", frmRiwayatPddk.Text3.Text) Call sqlExecute(sql) Adodc2.Recordset.Requery Unload frmRiwayatPddk End If End Sub Private Sub Command2_Click() If Adodc2.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa merubah data karena data masih kosong !") Exit Sub End If Dim tempat As String, thn As String, jenjang As String tempat = Adodc2.Recordset("tempat") thn = Adodc2.Recordset("thnlulus") jenjang = Adodc2.Recordset("jenjang") Call frmRiwayatPddk.Edit(tempat, thn, jenjang) If frmRiwayatPddk.Batal = False Then sql = "UPDATE riwayatpddk SET
tempat='$tempat',thnlulus='$thnlulus',jenjang='$jenjang' WHERE nip='$nip' and tempat='$tmpt' and thnlulus='$th' and jenjang='$jjg'"
sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tempat", frmRiwayatPddk.Text1.Text, , ,
vbBinaryCompare) sql = Replace(sql, "$thnlulus", frmRiwayatPddk.Text2.Text) sql = Replace(sql, "$jenjang", frmRiwayatPddk.Text3.Text) sql = Replace(sql, "$tmpt", tempat) sql = Replace(sql, "$th", thn) sql = Replace(sql, "$jjg", jenjang) Call sqlExecute(sql) Adodc2.Recordset.Requery Unload frmRiwayatPddk End If
End Sub Private Sub Command3_Click() If Adodc2.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa menghapus data karena data masih kosong !") Exit Sub End If Dim tempat As String, thn As String, jenjang As String tempat = Adodc2.Recordset("tempat") thn = Adodc2.Recordset("thnlulus") jenjang = Adodc2.Recordset("jenjang") Konfirm = MsgBox("Hapus riwayat pendidikan ini ?", vbYesNo Or
vbExclamation) If Konfirm = vbYes Then sql = "DELETE FROM riwayatpddk WHERE nip='$nip' and
tempat='$tmpt' and thnlulus='$th' and jenjang='$jjg'" sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tmpt", tempat) sql = Replace(sql, "$th", thn) sql = Replace(sql, "$jjg", jenjang) Call sqlExecute(sql) Adodc2.Recordset.Requery End If End Sub Private Sub Command4_Click() If Adodc3.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa menghapus data karena data masih kosong !") Exit Sub End If Dim tgl As String tgl = Adodc3.Recordset("tgl") Konfirm = MsgBox("Hapus riwayat pekerjaan ini ?", vbYesNo Or
vbExclamation) If Konfirm = vbYes Then sql = "DELETE FROM riwayatpek WHERE nip='$nip' and
tgl='$tgledit'" sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tgledit", tgl)
Call sqlExecute(sql) Adodc3.Recordset.Requery End If End Sub Private Sub Command5_Click() If Adodc3.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa merubah data karena data masih kosong !") Exit Sub End If Dim tgl As String, nosk As String, golruang As String, mulai As String tgl = Adodc3.Recordset("tgl") nosk = Adodc3.Recordset("nosk") golruang = Adodc3.Recordset("golruang") terhitungtgl = Adodc3.Recordset("terhitungtgl") Call frmRiwayatPek.Edit(tgl, nosk, golruang, terhitungtgl) If frmRiwayatPek.Batal = False Then sql = "UPDATE riwayatpek SET
tgl='$tgl',nosk='$nosk',golruang='$golruang',terhitungtgl='$terhitungtgl' WHERE nip='$nip' and tgl='$tgledit'"
sql = Replace(sql, "$tgl", frmRiwayatPek.txtTglKep.Text) sql = Replace(sql, "$nosk", frmRiwayatPek.txtNoSK.Text) sql = Replace(sql, "$golruang", frmRiwayatPek.txtGolRuang.Text) sql = Replace(sql, "$terhitungtgl", frmRiwayatPek.txtMulai.Text) sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tgledit", tgl) Call sqlExecute(sql) Adodc3.Recordset.Requery Unload frmRiwayatPek End If End Sub Private Sub Command6_Click() If Text1.Text = "" Then Call MsgBox("NIP harus diisi terlebih dahulu !") Exit Sub End If frmRiwayatPek.Show vbModal If frmRiwayatPek.Batal = False Then sql = "INSERT INTO riwayatpek
VALUES('$nip','$tgl','$nosk','$golruang','$terhitungtgl')"
sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$tgl", frmRiwayatPek.txtTglKep.Text) sql = Replace(sql, "$nosk", frmRiwayatPek.txtNoSK.Text) sql = Replace(sql, "$golruang", frmRiwayatPek.txtGolRuang.Text) sql = Replace(sql, "$terhitungtgl", frmRiwayatPek.txtMulai.Text) Call sqlExecute(sql) Adodc3.Recordset.Requery Unload frmRiwayatPek End If End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then Call btnNew_Click If KeyCode = vbKeyF2 Then Call btnSave_Click If KeyCode = vbKeyF3 Then Call btnDelete_Click If KeyCode = vbKeyF5 Then Call btnList_Click If KeyCode = vbKeyEscape Then Call btnExit_Click End Sub Private Sub Form_Load() Call OpenTable Frame(1).Left = Frame(0).Left: Frame(1).Top = Frame(0).Top Frame(2).Left = Frame(0).Left: Frame(2).Top = Frame(0).Top 'TabStrip1.ZOrder End Sub Private Sub TabStrip1_Click() idx = TabStrip1.SelectedItem.Index - 1 Frame(0).Visible = False Frame(1).Visible = False Frame(2).Visible = False Frame(idx).Visible = True 'TabStrip1.ZOrder End Sub
• Proses Data Riwayat Pekerjaan
Gambar 4.4 Proses Data Riwayat Pekerjaan untuk Admin
• Input Data Riwayat Pekerjaan
Gambar 4.5 Input Data Riwayat Pekerjaan untuk Admin
Berikut adalah Listing Program untuk Input Data Riwayat Pekerjaan :
Public Batal As Boolean Private Sub btnExit_Click() Batal = True Me.Hide End Sub
Private Sub btnSave_Click() Batal = False Me.Hide End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then Call btnSave_Click If KeyCode = vbKeyEscape Then Call btnExit_Click End Sub Private Sub Form_Load() Batal = True txtTglKep.Text = "" txtNoSK.Text = "" txtGolRuang.ListIndex = -1 txtMulai.Text = "" End Sub Public Sub Edit(ByVal tglkep As String, ByVal nosk As String, ByVal golruang As String, ByVal mulaitgl As String) Load Me txtTglKep.Text = tglkep txtNoSK.Text = nosk Call SelectCombo(txtGolRuang, golruang) txtMulai.Text = mulaitgl Me.Show vbModal End Sub
• Proses Data Riwayat Pendidikan
Gambar 4.6 Proses Data Riwayat Pendidikan untuk Admin
• Input Riwayat Pendidikan
Gambar 4.7 Input Riwayat Pendidikan untuk Admin
Berikut adalah listing program untuk proses data riwayat pendidikan :
Public Batal As Boolean Private Sub btnExit_Click() Batal = True Me.Hide End Sub Private Sub btnSave_Click() Batal = False Me.Hide End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then Call btnSave_Click If KeyCode = vbKeyEscape Then Call btnExit_Click End Sub Private Sub Form_Load() Batal = True Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Public Sub Edit(ByVal tempat As String, thn As String, jenjang As String) Load Me Text1.Text = tempat Text2.Text = thn Text3.Text = jenjang Me.Show vbModal End Sub
• Proses Data Pejabat Penilai
Gambar 4.8 Proses Data Pejabat Penilai untuk Admin
• Input Pejabat Penilai
Gambar 4.9 Input Pejabat Penilai untuk Admin
Berikut adalah listing program untuk proses data pejabat penilai :
Dim isNew As Boolean Dim tmpnip As String Public isCancel As Boolean Public Sub InputBaru() Text1.Text = "" Label4.Caption = "<data belum dicari>" Label5.Caption = "<data belum dicari>" Label9.Caption = "<data belum dicari>" Text2.Text = "" isNew = True Me.Show vbModal End Sub Public Sub EditData(nip As String, nama As String, pangkat As String, golruang As String, password As String) Text1.Text = nip Label4.Caption = nama Label5.Caption = pangkat Label9.Caption = golruang Text2.Text = password tmpnip = nip isNew = True Me.Show vbModal End Sub Private Sub btnExit_Click() isCancel = True Me.Hide End Sub Private Sub btnGet_Click() Load frmListPNS Call frmListPNS.FilterData(Text1.Text) If frmListPNS.isSelected Then Text1.Text = frmListPNS.Adodc1.Recordset("nip") Label4.Caption = frmListPNS.Adodc1.Recordset("nama") Label5.Caption = frmListPNS.Adodc1.Recordset("pangkat") Label9.Caption = frmListPNS.Adodc1.Recordset("golruang") Unload frmListPNS Text2.SetFocus
End If End Sub Private Sub btnSave_Click() If isNew Then sql = "INSERT INTO penilai(nip,password) VALUES('$nip','$password')" sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$password", Text2.Text) Call sqlExecute(sql) Else sql = "UPDATE penilai SET nip='$nip',password='$password' WHERE nip='$tmpnip'" sql = Replace(sql, "$nip", Text1.Text) sql = Replace(sql, "$password", Text2.Text) sql = Replace(sql, "$tmpnip", tmpnip) Call sqlExecute(sql) End If Call MsgBox("Input telah direkam ke database !") isCancel = False Me.Hide End Sub Private Sub Form_Activate() Text1.SetFocus End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then btnSave_Click If KeyCode = vbKeyEscape Then btnExit_Click End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then btnGet_Click End Sub
• Proses Data Range Nilai
Gambar 4.10 Proses Data Range Nilai untuk Admin
Berikut adalah listing program untuk proses data range nilai :
Dim rs As ADODB.Recordset Dim isNew As Boolean Private Sub btnDelete_Click() If isNew = False Then Konfirm = MsgBox("Record ini akan dihapus dan tidak bisa dikembalikan lagi. Lanjutkan menghapus ?", vbYesNo Or vbExclamation) If Konfirm = vbYes Then Adodc1.Recordset.Delete End If Else Adodc1.Recordset.CancelBatch End If DataGrid1.SetFocus isNew = False End Sub Private Sub btnEdit_Click()
End Sub Private Sub btnExit_Click() Unload Me End Sub Private Sub btnNew_Click() Adodc1.Recordset.AddNew isNew = True Text1.SetFocus End Sub Private Sub btnSave_Click() Adodc1.Recordset.Update DataGrid1.SetFocus isNew = False End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then btnNew_Click If KeyCode = vbKeyF2 Then btnSave_Click If KeyCode = vbKeyF3 Then btnDelete_Click If KeyCode = vbKeyEscape Then btnExit_Click End Sub Private Sub Form_Load() 'Membuka tabel If Not (rs Is Nothing) Then Set rs = Nothing End If Call sqlSelect(rs, "SELECT * FROM nilai ORDER BY awal DESC") Set Adodc1.Recordset = rs isNew = False End Sub
• Proses Data User
Gambar 4.11 Proses Data User untuk Admin
• Input User Program
Gambar 4.12 Input Data User untuk Admin
Berikut adalah listing program untuk proses data user :
Dim isNew As Boolean
Dim tmpid As String Public isCancel As Boolean Public Sub InputBaru() Text1.Text = "" Text2.Text = "" Text3.Text = "" Combo1.ListIndex = 0 isNew = True Me.Show vbModal End Sub Public Sub EditData(id As String, nama As String, password As String, tipe As String) Text1.Text = id Text2.Text = nama Text3.Text = password If tipe = "A" Then Combo1.ListIndex = 1 If tipe = "P" Then Combo1.ListIndex = 2 If tipe = "T" Then Combo1.ListIndex = 3 tmpid = id isNew = True Me.Show vbModal End Sub Private Sub btnExit_Click() isCancel = True Me.Hide End Sub Private Sub btnSave_Click() If isNew Then sql = "INSERT INTO users VALUES('$id','$nama','$pass','$tipe')" sql = Replace(sql, "$id", Text1.Text) sql = Replace(sql, "$nama", Text2.Text) sql = Replace(sql, "$pass", Text3.Text) sql = Replace(sql, "$tipe", Left(Combo1.Text, 1)) Call sqlExecute(sql)
Else sql="UPDATEusersSET id='$id',nama='$nama',pass='$pass',tipe='$tipe' WHERE id='$tmpid'" sql = Replace(sql, "$id", Text1.Text) sql = Replace(sql, "$nama", Text2.Text) sql = Replace(sql, "$pass", Text3.Text) sql = Replace(sql, "$tipe", Left(Combo1.Text, 1)) sql = Replace(sql, "$tmpid", tmpid) Call sqlExecute(sql) End If Call MsgBox("Input telah direkam ke database !") isCancel = False Me.Hide End Sub Private Sub Form_Activate() Text1.SetFocus End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then btnSave_Click If KeyCode = vbKeyEscape Then btnExit_Click End Sub
4.3.4 User Interface untuk Pejabat Penilai
4.3.4.1 Proses Input Pejabat Penilai
Dalam Program Bantu ini yang berperan penting untuk memasukkan
data sebagai syarat kenaika pangkat pegawai adalah pejabat penilai. Sselain mengisi
Formulir DP3, pejabat juga akan mengisikan usulan kenaikan pangkat pegawai.
Dibawah ini adalah gambar dari user interface Proses pengisian formulir DP3.
• Proses Pengisian Formulir DP3
Gambar 4.13 Proses Pengisian Formulir DP3 untuk Pejabat Penilai
Berikut adalah listing program untuk Proses pengisian formulir DP3 :
Dim rsDP3 As ADODB.Recordset Dim recNo As Integer Dim recCount As Integer Dim sql As String Dim isNew As Boolean Dim Konfirm As Integer Sub OpenTable() Dim rs As ADODB.Recordset 'Membuka tabel If Not (rsDP3 Is Nothing) Then Set rsDP3 = Nothing End If Call sqlSelect(rsDP3, "SELECT * FROM v_formdp3 ORDER BY iddp3 DESC") Set Adodc1.Recordset = rsDP3 'Mengisi combobox Record Number cbxRecNo.Clear For i = 1 To rsDP3.RecordCount
Call cbxRecNo.AddItem(i) Next i Call PrintRecNo(1) isNew = False ShowRecord End Sub Sub PrintRecNo(ByVal nRecNo As Integer) recCount = rsDP3.RecordCount If nRecNo <= 0 Or nRecNo > recCount Then Exit Sub recNo = nRecNo cbxRecNo.ListIndex = recNo - 1 Call ShowRecord End Sub Private Sub Adodc1_EndOfRecordset(fMoreData As Boolean, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) If rsDP3.RecordCount > 0 Then MsgBox "Tidak ada record yang dapat ditampilkan lagi", vbCritical End Sub Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) If adReason = adRsnMovePrevious Then PrintRecNo (recNo - 1) If adReason = adRsnMoveNext Then PrintRecNo (recNo + 1) If adReason = adRsnMoveFirst Then PrintRecNo (1) If adReason = adRsnMoveLast Then PrintRecNo (rsDP3.RecordCount) End Sub Sub ShowRecord() If rsDP3.BOF Or rsDP3.EOF Then Exit Sub 'Seleksi item2 di combobox Call SelectComboMonth(Combo4, rsDP3("bln1")) Call SelectComboMonth(Combo9, rsDP3("bln2")) Label5.Caption = rsDP3("pangkat") & ", " & rsDP3("golruang") Label26.Caption = rsDP3("pangkatpejabat") & ", " & rsDP3("golruangpejabat") Label42.Caption = rsDP3("pangkatatasan") & ", " & rsDP3("golruangatasan")
Text7.Value = Format(rsDP3("tgltanggapan"), "dd-MM-yyyy") Text9.Value = Format(rsDP3("tglkeputusan"), "dd-MM-yyyy") Text11.Value = Format(rsDP3("tgllainnya"), "dd-MM-yyyy") Text12.Value = Format(rsDP3("tglbuat"), "dd-MM-yyyy") Text13.Value = Format(rsDP3("tglterima"), "dd-MM-yyyy") Text14.Value = Format(rsDP3("tglterimaatasan"), "dd-MM-yyyy") 'Mengisi tabel Penilaian With GridNilai .TextMatrix(0, 2) = rsDP3("na"): .TextMatrix(0, 3) = rsDP3("sa") .TextMatrix(1, 2) = rsDP3("nb"): .TextMatrix(1, 3) = rsDP3("sb") .TextMatrix(2, 2) = rsDP3("nc"): .TextMatrix(2, 3) = rsDP3("sc") .TextMatrix(3, 2) = rsDP3("nd"): .TextMatrix(3, 3) = rsDP3("sd") .TextMatrix(4, 2) = rsDP3("ne"): .TextMatrix(4, 3) = rsDP3("se") .TextMatrix(5, 2) = rsDP3("nf"): .TextMatrix(5, 3) = rsDP3("sf") .TextMatrix(6, 2) = rsDP3("ng"): .TextMatrix(6, 3) = rsDP3("sg") .TextMatrix(7, 2) = rsDP3("nh"): .TextMatrix(7, 3) = rsDP3("sh") .TextMatrix(8, 2) = rsDP3("jumlah") .TextMatrix(9, 2) = FormatNumber(rsDP3("rerata"), 1): .TextMatrix(9, 3) = rsDP3("srerata") End With End Sub Private Sub btnDelete_Click() If isNew = False Then Konfirm = MsgBox("Record ini akan dihapus dan tidak bisa dikembalikan lagi. Lanjutkan menghapus ?", vbYesNo Or vbExclamation) If Konfirm = vbYes Then 'Hapus record dp3 sql = "DELETE FROM formdp3 WHERE iddp3='$tmpiddp3'" sql = Replace(sql, "$tmpiddp3", rsDP3("iddp3")) Call sqlExecute(sql) OpenTable End If Else OpenTable End If End Sub Private Sub btnExit_Click()
Unload Me End Sub Private Sub btnNew_Click() Adodc1.Recordset.AddNew isNew = True Combo4.ListIndex = 1 Combo9.ListIndex = 12 Text2.Text = Year(Date) Label5.Caption = "" Label26.Caption = "" Label42.Caption = "" With GridNilai .TextMatrix(0, 2) = "": .TextMatrix(0, 3) = "" .TextMatrix(1, 2) = "": .TextMatrix(1, 3) = "" .TextMatrix(2, 2) = "": .TextMatrix(2, 3) = "" .TextMatrix(3, 2) = "": .TextMatrix(3, 3) = "" .TextMatrix(4, 2) = "": .TextMatrix(4, 3) = "" .TextMatrix(5, 2) = "": .TextMatrix(5, 3) = "" .TextMatrix(6, 2) = "": .TextMatrix(6, 3) = "" .TextMatrix(7, 2) = "": .TextMatrix(7, 3) = "" .TextMatrix(8, 2) = "" .TextMatrix(9, 2) = "": .TextMatrix(9, 3) = "" End With End Sub Private Sub FormatSQL(ByRef sql As String) sql = Replace(sql, "$bln1", Combo4.ListIndex, , 1) sql = Replace(sql, "$bln2", Combo9.ListIndex, , 1) sql = Replace(sql, "$tahun", Text2.Text, , 1) sql = Replace(sql, "$tglbuat", Format(Text12.Value, "dd-MM-yyyy"), , 1) sql = Replace(sql, "$iduser", USERID, , 1) sql = Replace(sql, "$nip", Text1.Text, , 1) sql = Replace(sql, "$nippejabat", Text3.Text, , 1) sql = Replace(sql, "$nipatasan", Text4.Text, , 1) sql = Replace(sql, "$na", GridNilai.TextMatrix(0, 2), , 1) sql = Replace(sql, "$sa", GridNilai.TextMatrix(0, 3), , 1) sql = Replace(sql, "$nb", GridNilai.TextMatrix(1, 2), , 1) sql = Replace(sql, "$sb", GridNilai.TextMatrix(1, 3), , 1) sql = Replace(sql, "$nc", GridNilai.TextMatrix(2, 2), , 1)
sql = Replace(sql, "$sc", GridNilai.TextMatrix(2, 3), , 1) sql = Replace(sql, "$nd", GridNilai.TextMatrix(3, 2), , 1) sql = Replace(sql, "$sd", GridNilai.TextMatrix(3, 3), , 1) sql = Replace(sql, "$ne", GridNilai.TextMatrix(4, 2), , 1) sql = Replace(sql, "$se", GridNilai.TextMatrix(4, 3), , 1) sql = Replace(sql, "$nf", GridNilai.TextMatrix(5, 2), , 1) sql = Replace(sql, "$sf", GridNilai.TextMatrix(5, 3), , 1) sql = Replace(sql, "$ng", GridNilai.TextMatrix(6, 2), , 1) sql = Replace(sql, "$sg", GridNilai.TextMatrix(6, 3), , 1) sql = Replace(sql, "$nh", GridNilai.TextMatrix(7, 2), , 1) sql = Replace(sql, "$sh", GridNilai.TextMatrix(7, 3), , 1) sql = Replace(sql, "$jumlah", GridNilai.TextMatrix(8, 2), , 1) sql = Replace(sql, "$rerata", GridNilai.TextMatrix(9, 2), , 1) sql = Replace(sql, "$srerata", GridNilai.TextMatrix(9, 3), , 1) sql = Replace(sql, "$keberatan", Text5.Text, , 1) sql = Replace(sql, "$tanggapan", Text6.Text, , 1) sql = Replace(sql, "$tgltanggapan", Format(Text7.Value, "dd-MM-yyyy"), , 1) sql = Replace(sql, "$keputusan", Text8.Text, , 1) sql = Replace(sql, "$tglkeputusan", Format(Text9.Value, "dd-MM-yyyy"), , 1) sql = Replace(sql, "$lainnya", Text10.Text, , 1) sql = Replace(sql, "$tgllainnya", Format(Text11.Value, "dd-MM-yyyy"), , 1) sql = Replace(sql, "$tglterima", Format(Text13.Value, "dd-MM-yyyy"), , 1) sql = Replace(sql, "$tglterimaatasan", Format(Text14.Value, "dd-MM-yyyy"), , 1) End Sub Private Sub btnGo_Click() recNo = cbxRecNo.Text recNo = recNo - 1 rsDP3.Move recNo, adBookmarkFirst End Sub Private Sub btnDelNilai_Click() If GridNilai.Row > GridNilai.Rows - 3 Then Exit Sub GridNilai.TextMatrix(GridNilai.Row, 2) = "" GridNilai.TextMatrix(GridNilai.Row, 3) = "" GridNilai.TextMatrix(GridNilai.Row, 4) = "" Call HitungResumeNilai End Sub
Private Sub btnEditKet_Click() If GridNilai.Row > GridNilai.Rows - 3 Then Exit Sub s1 = "Isilah keterangan untuk unsur " s2 = GridNilai.TextMatrix(GridNilai.Row, 1) sDefault = GridNilai.TextMatrix(GridNilai.Row, 4) sprompt = s1 & s2 & ":" sKet = InputBox(sprompt, "Input Keterangan", sDefault) If sKet <> "" Then GridNilai.TextMatrix(GridNilai.Row, 4) = sKet End If End Sub Private Sub btnEditNilai_Click() If GridNilai.Row > GridNilai.Rows - 3 Then Exit Sub s1 = "Isilah nilai untuk unsur " s2 = GridNilai.TextMatrix(GridNilai.Row, 1) sDefault = GridNilai.TextMatrix(GridNilai.Row, 2) sprompt = s1 & s2 & ":" & vbCrLf & "(0 s/d 100)" sNilai = InputBox(sprompt, "Input Nilai", sDefault) If sNilai <> "" Then 'Konversi nilai angka ke sebutan If IsNumeric(sNilai) = False Then Call MsgBox("Nilai unsur yang Anda harus angka (0 s/d 100) !") Exit Sub End If Dim cNilai As Single cNilai = Val(sNilai) If cNilai < 0 Or cNilai > 100 Then Call MsgBox("Nilai unsur yang Anda harus angka (0 s/d 100) !") Exit Sub End If sSebutan = SebutanNilai(cNilai) If sSebutan <> "" Then GridNilai.TextMatrix(GridNilai.Row, 2) = sNilai GridNilai.TextMatrix(GridNilai.Row, 3) = sSebutan Call HitungResumeNilai If GridNilai.Row < GridNilai.Rows - 3 Then
GridNilai.Row = GridNilai.Row + 1 btnEditNilai_Click End If End If End If End Sub Private Sub btnGet1_Click() Load frmListPNS Call frmListPNS.FilterData(Text1.Text) If frmListPNS.isSelected Then Text1.Text = frmListPNS.Adodc1.Recordset("nip") Label8.Caption = frmListPNS.Adodc1.Recordset("nama") Label5.Caption = frmListPNS.Adodc1.Recordset("pangkat") & ", " & frmListPNS.Adodc1.Recordset("golruang") Label4.Caption = frmListPNS.Adodc1.Recordset("jabatan") Label50.Caption = frmListPNS.Adodc1.Recordset("unitkerja") Unload frmListPNS End If End Sub Private Sub btnGet2_Click() Load frmListPNS Call frmListPNS.FilterData(Text3.Text) If frmListPNS.isSelected Then Text3.Text = frmListPNS.Adodc1.Recordset("nip") Label29.Caption = frmListPNS.Adodc1.Recordset("nama") Label26.Caption = frmListPNS.Adodc1.Recordset("pangkat") & ", " & frmListPNS.Adodc1.Recordset("golruang") Label16.Caption = frmListPNS.Adodc1.Recordset("jabatan") Label53.Caption = frmListPNS.Adodc1.Recordset("unitkerja") Unload frmListPNS End If End Sub Private Sub btnGet3_Click() Load frmListPNS Call frmListPNS.FilterData(Text4.Text) If frmListPNS.isSelected Then Text4.Text = frmListPNS.Adodc1.Recordset("nip") Label43.Caption = frmListPNS.Adodc1.Recordset("nama") Label42.Caption = frmListPNS.Adodc1.Recordset("pangkat") & ", " & frmListPNS.Adodc1.Recordset("golruang")
Label37.Caption = frmListPNS.Adodc1.Recordset("jabatan") Label56.Caption = frmListPNS.Adodc1.Recordset("unitkerja") Unload frmListPNS End If End Sub Private Sub btnList_Click() frmListDP3.Show vbModal If frmListDP3.isSelected Then skriteria = "iddp3=" & frmListDP3.rsSelect("iddp3") rsDP3.MoveFirst Call rsDP3.Find(skriteria) Unload frmListDP3 End If End Sub Private Sub btnPrint_Click() ' End Sub Private Sub btnSave_Click() Dim tmpRecNo As Integer If isNew Then sql="INSERTINTO formdp3(iddp3,bln1,bln2,tahun,tglbuat,iduser,nip,nippejabat,nipatasan,na,sa,nb,sb,nc,sc,nd,sd,ne,se,nf,sf,ng,sg,nh,sh,jumlah,rerata,srerata,keberatan,tanggapan,tgltanggapan,keputusan,tglkeputusan,lainnya,tgllainnya,tglterima,tglterimaatasan) " & _ "VALUES($iddp3,'$bln1','$bln2','$tahun','$tglbuat','$iduser','$nip','$nippejabat','$nipatasan',$na,'$sa',$nb,'$sb',$nc,'$sc',$nd,'$sd',$ne,'$se',$nf,'$sf',$ng,'$sg',$nh,'$sh',$jumlah,$rerata,'$srerata','$keberatan','$tanggapan','$tgltanggapan','$keputusan','$tglkeputusan','$lainnya','$tgllainnya','$tglterima','$tglterimaatasan')" Call FormatSQL(sql) Dim iddp3 As Integer iddp3 = sqlGetNewID("formdp3", "iddp3") sql = Replace(sql, "$iddp3", iddp3, , 1) Call sqlExecute(sql) OpenTable Else sql = "UPDATE formdp3 SET bln1='$bln1',bln2='$bln2',tahun='$tahun',tglbuat='$tglbuat',iduser='$iduser
',nip='$nip',nippejabat='$nippejabat',nipatasan='$nipatasan',na=$na,sa='$sa',nb=$nb,sb='$sb',nc=$nc,sc='$sc',nd=$nd,sd='$sd',ne=$ne,se='$se',nf=$nf,sf='$sf',ng=$ng,sg='$sg',nh=$nh,sh='$sh',jumlah=$jumlah,rerata=$rerata,srerata='$srerata',keberatan='$keberatan',tanggapan='$tanggapan',tgltanggapan='$tgltanggapan',keputusan='$keputusan',tglkeputusan='$tglkeputusan',lainnya='$lainnya',tgllainnya='$tgllainnya',tglterima='$tglterima',tglterimaatasan='$tglterimaatasan' WHERE iddp3=$iddp3" Call FormatSQL(sql) sql = Replace(sql, "$iddp3", rsDP3("iddp3"), , 1) Call sqlExecute(sql) tmpRecNo = recNo OpenTable rsDP3.Move tmpRecNo - 1 Call PrintRecNo(tmpRecNo) End If Call MsgBox("Input telah direkam ke database !") isNew = False End Sub Private Sub btnSave_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then Call btnNew_Click If KeyCode = vbKeyF2 Then Call btnSave_Click If KeyCode = vbKeyF3 Then Call btnDelete_Click If KeyCode = vbKeyF4 Then Call btnPrint_Click If KeyCode = vbKeyF5 Then Call btnList_Click If KeyCode = vbKeyEscape Then Call btnExit_Click End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then Call btnNew_Click If KeyCode = vbKeyF2 Then Call btnSave_Click If KeyCode = vbKeyF3 Then Call btnDelete_Click If KeyCode = vbKeyF4 Then Call btnPrint_Click If KeyCode = vbKeyF5 Then Call btnList_Click If KeyCode = vbKeyEscape Then Call btnExit_Click End Sub Private Sub Form_Load() With GridHead .Cols = 5 .Rows = 3 .FixedCols = 4
.FixedRows = 2 .MergeCells = flexMergeFree .ColWidth(0) = 2300 .ColWidth(1) = 500 .ColWidth(2) = 1500 .ColWidth(3) = 2500 .TextMatrix(0, 0) = "UNSUR YANG DINILAI": .TextMatrix(1, 0) = .TextMatrix(0, 0) .MergeCol(0) = True .TextMatrix(0, 1) = "NILAI": .TextMatrix(0, 2) = .TextMatrix(0, 1) .MergeRow(0) = True .TextMatrix(1, 1) = "ANG" .TextMatrix(1, 2) = "SEBUTAN" .TextMatrix(0, 3) = " KETERANGAN": .TextMatrix(1, 3) = .TextMatrix(0, 3) .MergeCol(3) = True .ColAlignment(1) = flexAlignCenterCenter .ColAlignment(2) = flexAlignCenterCenter End With With GridNilai .Cols = 5 .Rows = 10 .ColWidth(0) = 300 .ColWidth(1) = 2000 .ColWidth(2) = 500 .ColWidth(3) = 1500 .ColWidth(4) = 2500 .ColAlignment(2) = flexAlignCenterCenter .TextMatrix(0, 0) = "A." .TextMatrix(1, 0) = "B." .TextMatrix(2, 0) = "C." .TextMatrix(3, 0) = "D." .TextMatrix(4, 0) = "E." .TextMatrix(5, 0) = "F." .TextMatrix(6, 0) = "G." .TextMatrix(7, 0) = "H." .TextMatrix(8, 0) = "I." .TextMatrix(9, 0) = "J." .TextMatrix(0, 1) = "Kesetiaan"
.TextMatrix(1, 1) = "Prestasi kerja" .TextMatrix(2, 1) = "Tanggung-jawab" .TextMatrix(3, 1) = "Ketaatan" .TextMatrix(4, 1) = "Kejujuran" .TextMatrix(5, 1) = "Kerjasama" .TextMatrix(6, 1) = "Prakarsa" .TextMatrix(7, 1) = "Kepemimpinan" .TextMatrix(8, 1) = "JUMLAH" .TextMatrix(9, 1) = "NILAI RATA-RATA" End With Call OpenTable End Sub Private Sub GridNilai_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then btnEditNilai_Click If KeyCode = vbKeyDelete Then btnDelNilai_Click If KeyCode = vbKeySpace Then btnEditKet_Click End Sub Sub HitungResumeNilai() Dim jum As Single, Rerata As Single jum = 0 For i = 0 To 7 sNilai = GridNilai.TextMatrix(i, 2) If sNilai <> "" Then jum = jum + Val(sNilai) Next i Rerata = jum / 8 sRerata = SebutanNilai(Rerata) GridNilai.TextMatrix(8, 2) = jum GridNilai.TextMatrix(9, 2) = FormatNumber(Rerata, 1) GridNilai.TextMatrix(9, 3) = sRerata End Sub
• Proses Pengisian Usulan Kenaikan Pangkat
Gambar 4.14 Proses Pengisian Usulan Kenaikan Pangkat untuk Pejabat
Penilai
Berikut adalah listing program untuk proses pengisian kenaikan pangkat :
Dim rs As ADODB.Recordset Private Sub btnDelete_Click() If Adodc1.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa menghapus data karena data masih kosong !") Exit Sub End If Konfirm = MsgBox("Record ini akan dihapus dan tidak bisa dikembalikan lagi. Lanjutkan menghapus ?", vbYesNo Or vbExclamation) If Konfirm = vbYes Then Dim sql As String sql = "DELETE FROM usulan WHERE bulan='$bulan' AND tahun='$tahun' AND nip='$nip'" sql = Replace(sql, "$bulan", rs("bulan"), , 1) sql = Replace(sql, "$tahun", rs("tahun"), , 1) sql = Replace(sql, "$nip", rs("nip"), , 1) Call sqlExecute(sql) Adodc1.Recordset.Requery End If
DataGrid1.SetFocus End Sub Private Sub btnEdit_Click() If Adodc1.Recordset.RecordCount <= 0 Then Call MsgBox("Tidak bisa mengedit data karena data masih kosong !") Exit Sub End If Load frmInputKenaikan Call frmInputKenaikan.EditData(Combo4.ListIndex, Val(Text2.Text), Combo4.Text, rs("nip"), rs("nama"), rs("pangkat"), rs("golruang"), rs("pangkat_usul"), rs("golruang_usul")) If frmInputKenaikan.isCancel = False Then Adodc1.Recordset.Requery Unload frmInputKenaikan End Sub Private Sub btnExit_Click() Unload Me End Sub Private Sub btnFilter_Click() If Combo4.Text = "" Then Call MsgBox("Field Bulan harus diisi dulu !") Combo4.SetFocus Exit Sub End If If Text2.Text = "" Then Call MsgBox("Field Tahun harus diisi dulu !") Text2.SetFocus Exit Sub End If sql = "SELECT * FROM v_usulan WHERE bulan='$bulan' AND tahun='$tahun' ORDER BY nip" sql = Replace(sql, "$bulan", Combo4.ListIndex) sql = Replace(sql, "$tahun", Text2.Text) Call sqlSelect(rs, sql) Set Adodc1.Recordset = rs If rs.RecordCount = 0 Then
Call MsgBox("Data Usulan Kenaikan Pangkat pada Bulan dan Tahun tersebut belum ada !") Combo4.SetFocus Else DataGrid1.SetFocus End If End Sub Private Sub btnNew_Click() If Combo4.Text = "" Then Call MsgBox("Field Bulan harus diisi dulu !") Combo4.SetFocus Exit Sub End If If Text2.Text = "" Then Call MsgBox("Field Tahun harus diisi dulu !") Text2.SetFocus Exit Sub End If Load frmInputKenaikan Call frmInputKenaikan.InputBaru(Combo4.ListIndex, Val(Text2.Text), Combo4.Text) If frmInputKenaikan.isCancel = False Then btnFilter_Click Unload frmInputKenaikan End Sub Private Sub btnSave_Click() End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then btnNew_Click If KeyCode = vbKeyF2 Then btnEdit_Click If KeyCode = vbKeyF3 Then btnDelete_Click If KeyCode = vbKeyF12 Then btnFilter_Click If KeyCode = vbKeyEscape Then btnExit_Click End Sub Private Sub Form_Load() Text2.Text = "" 'Membuka tabel
If Not (rs Is Nothing) Then Set rs = Nothing End If Call sqlSelect(rs, "SELECT * FROM v_usulan WHERE bulan = 0 ORDER BY nip") Set Adodc1.Recordset = rs End Sub
4.3.4.2 Proses Output Pejabat Penilai
Pejabat penilai mempunyai hak akses untuk melihat laporan yang ada
dalam program ini, yaitu Laporan Daftar PNS, Rekap Kredit Point, Rekap
Formulir DP3 dan Laporan Daftar Kenaikan Pangkat. Berikut adalah gambar
user interface untuk melihat laporan :
• Akses Daftar PNS
Gambar 4.15 Akses Daftar PNS untuk Pejabat Penilai
Listing Program untuk Akses Daftar PNS adalah sebagai berikut :
Private Sub mnuDaftarPNS_Click() Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptDafPNS_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM pns ORDER BY pns.nip") no = 0 While rs.EOF = False no = no + 1 nip = rs("nip") If IsNullOrEmpty(rs("nama")) = False Then nama = rs("nama") If IsNullOrEmpty(rs("gelar")) = False Then nama = nama & ", " & rs("gelar") If IsNullOrEmpty(rs("tempatlhr")) = False Then ttl = rs("tempatlhr") If IsNullOrEmpty(rs("tanggallhr")) Then tll = ttl & ", " & rs("tanggallhr") jk = Null2String(rs("jk")) Agama = Null2String(StringAgama(rs("agama"))) nikah = StringNikah(rs("statusnikah")) alamat = Null2String(rs("alamat"))
pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) jabatan = Null2String(rs("jabatan")) uker = Null2String(rs("unitkerja")) tmtgr = Null2String(rs("tmtgolruang")) tmtjab = Null2String(rs("tmtjabatan")) If IsNullOrEmpty(rs("maskerthn")) Then masker = rs("maskerthn") & "thn" If IsNullOrEmpty(rs("maskerbln")) Then masker = rs("maskerbln") & "bln" rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{TTL}", ttl, 1, 1) rptSection = Replace(rptSection, "{JK}", jk, 1, 1) rptSection = Replace(rptSection, "{AGAMA}", Agama, 1, 1) rptSection = Replace(rptSection, "{NIKAH}", nikah, 1, 1) rptSection = Replace(rptSection, "{ALAMAT}", alamat, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{JABATAN}", jabatan, 1, 1) rptSection = Replace(rptSection, "{UKER}", uker, 1, 1) rptSection = Replace(rptSection, "{TMTGR}", tmtgr, 1, 1) rptSection = Replace(rptSection, "{TMTJAB}", tmtjab, 1, 1) rptSection = Replace(rptSection, "{MASKER}", masker, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend Set ts = fso.OpenTextFile(App.Path & "\rptDafPNS.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptDafPNS.html" frmRptViewer.Show vbModal End Sub
• Akses Rekap Kredit Point
Gambar 4.16 Akses Rekap Kredit Point untuk Pejabat Penilai
Berikut adalah Listing program untuk akses rekap kredit point :
Private Sub mnuRekapKreditPoint_Click() Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptRekapKPoin_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1)
Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_rekapkreditpoin") no = 0 While rs.EOF = False no = no + 1 nip = rs("nip") nama = rs("nama") If IsNullOrEmpty(rs("gelar")) = False Then nama = nama & ", " & rs("gelar") pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) jumkredit = Null2String(rs("jumkredit")) rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{JUMLAH}", jumkredit, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend Set ts = fso.OpenTextFile(App.Path & "\rptRekapKPoin.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptRekapKPoin.html" frmRptViewer.Show vbModal End Sub
• Akses Rekap Formulir DP3
Gambar 4.17 Akses Rekap Formulir DP3 untuk Pejabat Penilai
• Laporan Rekap Formulir DP3
Gambar 4.18 Laporan Rekap Formulir DP3 untuk Pejabat Penilai
Berikut adalah listing program untuk akses rekap formulir DP3 :
Private Sub mnuRekapFormulirDP3_Click() Dim thn As String thn = InputBox("Isilah Tahun Penilaian DP3 yang akan dilihat laporannya:", "Lap.Rekap DP3") If thn = "" Then Exit Sub Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long
Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptRekapDP3_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_formdp3 WHERE tahun='" & thn & "'") no = 0 While rs.EOF = False no = no + 1 periode = rs("bln1") & "-" & rs("bln2") nip = rs("nip") nama = rs("nama") pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) u1 = rs("na") u2 = rs("nb") u3 = rs("nc") u4 = rs("nd") u5 = rs("ne") u6 = rs("nf") u7 = rs("ng") u8 = rs("nh") jum = rs("jumlah") angka = rs("rerata") sebutan = rs("srerata") rptSection = xrptSection
rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{PERIODE}", periode, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{U1}", u1, 1, 1) rptSection = Replace(rptSection, "{U2}", u2, 1, 1) rptSection = Replace(rptSection, "{U3}", u3, 1, 1) rptSection = Replace(rptSection, "{U4}", u4, 1, 1) rptSection = Replace(rptSection, "{U5}", u5, 1, 1) rptSection = Replace(rptSection, "{U6}", u6, 1, 1) rptSection = Replace(rptSection, "{U7}", u7, 1, 1) rptSection = Replace(rptSection, "{U8}", u8, 1, 1) rptSection = Replace(rptSection, "{JUM}", jum, 1, 1) rptSection = Replace(rptSection, "{ANGKA}", angka, 1, 1) rptSection = Replace(rptSection, "{SEBUTAN}", sebutan, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend rptHTML1 = Replace(rptHTML1, "{TAHUN}", thn, 1, 1) Set ts = fso.OpenTextFile(App.Path & "\rptRekapDP3.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptRekapDP3.html" frmRptViewer.Show vbModal End Sub
• Akses Daftar Usulan Kenaikan Pangkat
Gambar 4..19 Akses Daftar Kenaikan Kepangkatan Untuk Pejabat Penilai
• Laporan Daftar Kenaikan Pangkat
Gambar 4.20 Laporan Daftar Kenaikan Pangkat
Berikut adalah listing program akses daftar urut kepangkatan :
Private Sub mnuLapKenaikan_Click() Dim thn As String thn = InputBox("Isilah Tahun yang akan dilihat laporannya:", "Lap.Daftar Kenaikan Pangkat") If thn = "" Then Exit Sub Dim fso As New FileSystemObject
Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptDafKenaikan_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_usulan WHERE tahun='" & thn & "'") no = 0 While rs.EOF = False no = no + 1 bulan = rs("bulan") tahun = rs("tahun") nip = rs("nip") nama = rs("nama") pangkat = Null2String(rs("pangkat")) golruang = Null2String(rs("golruang")) pangkat_usul = Null2String(rs("pangkat")) golruang_usul = Null2String(rs("golruang")) rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{PERIODE}", bulan & "/" & tahun, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1)
rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{PANGKAT1}", pangkat & "," & golruang, 1, 1) rptSection = Replace(rptSection, "{PANGKAT2}", pangkat_usul & "," & golruang_usul, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend rptHTML1 = Replace(rptHTML1, "{TAHUN}", thn, 1, 1) Set ts = fso.OpenTextFile(App.Path & "\rptDafKenaikan.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptDafKenaikan.html" frmRptViewer.Show vbModal End Sub
4.3.5 User Interface untuk Pegawai
4.3.5.1 Proses Input Pegawai
Dalam program ini pegawi mempunyai hak akses antara lain mengisi
Kredit Point, Melihat Laporan Daftar PNS, Melihat Rekap Kredit Point,
Melihat Rekap Formulir DP3 dan Melihat Laporan Daftar Kenaikan Pangkat.
Gambar 4.20 dibawah ini adalah user interface Proses pengisian kredit point :
• Proses Pengisian Kredit Point
Gambar 4.21 Proses Pengisian Kredit Point untuk Pegawai
Berikut ini adalah listing program untuk proses pengisian kredit point :
Dim isNew As Boolean Dim tmpidkredit As String Public isCancel As Boolean Public Sub InputBaru(nip As String, nama As String) Label18.Caption = nip Label10.Caption = nama Text1.Text = "" Text2.Text = "" Text3.Text = "" isNew = True Me.Show vbModal End Sub Public Sub EditData(idkredit As Integer, nip As String, nama As String, tgl As String, rincian As String, kredit As Single) tmpidkredit = idkredit Label18.Caption = nip Label10.Caption = nama Text1.Text = tgl Text2.Text = rincian
Text3.Text = kredit isNew = True Me.Show vbModal End Sub Private Sub btnExit_Click() isCancel = True Me.Hide End Sub Private Sub FormatSQL(ByRef sql As String) sql = Replace(sql, "$nip", Label18.Caption) sql = Replace(sql, "$tgl", Text1.Text) sql = Replace(sql, "$rincian", Text2.Text) sql = Replace(sql, "$kredit", Text3.Text) End Sub Private Sub btnSave_Click() Dim sql As String If isNew Then sql = "INSERT INTO kreditpoin(nip,tgl,rincian,kredit) VALUES('$nip','$tgl','$rincian',$kredit)" Call FormatSQL(sql) Call sqlExecute(sql) Else sql = "UPDATE kreditpoin SET tgl='$tgl',rincian='$rincian',kredit=$kredit WHERE idkredit='$tmpidkredit'" Call FormatSQL(sql) sql = Replace(sql, "$kredit", tmpidkredit) Call sqlExecute(sql) End If Call MsgBox("Input telah direkam ke database !") isCancel = False Me.Hide End Sub Private Sub Form_Activate() Text1.SetFocus End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then btnSave_Click If KeyCode = vbKeyEscape Then btnExit_Click End Sub
4.3.5.2 Proses Output Pegawai
• Akses Daftar PNS
Gambar 4.22 Akses Daftar PNS untuk Pegawai
Listing Program untuk Akses Daftar PNS adalah sebagai berikut :
Private Sub mnuDaftarPNS_Click() Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptDafPNS_x.html", ForReading)
While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM pns ORDER BY pns.nip") no = 0 While rs.EOF = False no = no + 1 nip = rs("nip") If IsNullOrEmpty(rs("nama")) = False Then nama = rs("nama") If IsNullOrEmpty(rs("gelar")) = False Then nama = nama & ", " & rs("gelar") If IsNullOrEmpty(rs("tempatlhr")) = False Then ttl = rs("tempatlhr") If IsNullOrEmpty(rs("tanggallhr")) Then tll = ttl & ", " & rs("tanggallhr") jk = Null2String(rs("jk")) Agama = Null2String(StringAgama(rs("agama"))) nikah = StringNikah(rs("statusnikah")) alamat = Null2String(rs("alamat")) pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) jabatan = Null2String(rs("jabatan")) uker = Null2String(rs("unitkerja")) tmtgr = Null2String(rs("tmtgolruang")) tmtjab = Null2String(rs("tmtjabatan")) If IsNullOrEmpty(rs("maskerthn")) Then masker = rs("maskerthn") & "thn" If IsNullOrEmpty(rs("maskerbln")) Then masker = rs("maskerbln") & "bln" rptSection = xrptSection
rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{TTL}", ttl, 1, 1) rptSection = Replace(rptSection, "{JK}", jk, 1, 1) rptSection = Replace(rptSection, "{AGAMA}", Agama, 1, 1) rptSection = Replace(rptSection, "{NIKAH}", nikah, 1, 1) rptSection = Replace(rptSection, "{ALAMAT}", alamat, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{JABATAN}", jabatan, 1, 1) rptSection = Replace(rptSection, "{UKER}", uker, 1, 1) rptSection = Replace(rptSection, "{TMTGR}", tmtgr, 1, 1) rptSection = Replace(rptSection, "{TMTJAB}", tmtjab, 1, 1) rptSection = Replace(rptSection, "{MASKER}", masker, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend Set ts = fso.OpenTextFile(App.Path & "\rptDafPNS.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptDafPNS.html" frmRptViewer.Show vbModal End Sub
• Akses Rekap Kredit Point
Gambar 4.23 Akses Rekap Kredit Point untuk Pegawai
Berikut adalah Listing program untuk akses rekap kredit point :
Private Sub mnuRekapKreditPoint_Click() Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptRekapKPoin_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1)
Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_rekapkreditpoin") no = 0 While rs.EOF = False no = no + 1 nip = rs("nip") nama = rs("nama") If IsNullOrEmpty(rs("gelar")) = False Then nama = nama & ", " & rs("gelar") pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) jumkredit = Null2String(rs("jumkredit")) rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{JUMLAH}", jumkredit, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend Set ts = fso.OpenTextFile(App.Path & "\rptRekapKPoin.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptRekapKPoin.html" frmRptViewer.Show vbModal End Sub
• Akses Rekap Formulir DP3
Gambar 4.24 Akses Rekap Formulir DP3 untuk Pegawai
• Laporan Rekap Formulir DP3
Gambar 4.25 Laporan Rekap Formulir DP3 untuk Pegawai
Berikut adalah listing program untuk akses rekap formulir DP3 :
Private Sub mnuRekapFormulirDP3_Click() Dim thn As String thn = InputBox("Isilah Tahun Penilaian DP3 yang akan dilihat laporannya:", "Lap.Rekap DP3") If thn = "" Then Exit Sub Dim fso As New FileSystemObject Dim ts As TextStream
Dim rptContents As String Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptRekapDP3_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_formdp3 WHERE tahun='" & thn & "'") no = 0 While rs.EOF = False no = no + 1 periode = rs("bln1") & "-" & rs("bln2") nip = rs("nip") nama = rs("nama") pangkat = Null2String(rs("pangkat")) golru = Null2String(rs("golruang")) u1 = rs("na") u2 = rs("nb") u3 = rs("nc") u4 = rs("nd") u5 = rs("ne") u6 = rs("nf") u7 = rs("ng") u8 = rs("nh") jum = rs("jumlah") angka = rs("rerata")
sebutan = rs("srerata") rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{PERIODE}", periode, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1) rptSection = Replace(rptSection, "{PANGKAT}", pangkat, 1, 1) rptSection = Replace(rptSection, "{GOLRU}", golru, 1, 1) rptSection = Replace(rptSection, "{U1}", u1, 1, 1) rptSection = Replace(rptSection, "{U2}", u2, 1, 1) rptSection = Replace(rptSection, "{U3}", u3, 1, 1) rptSection = Replace(rptSection, "{U4}", u4, 1, 1) rptSection = Replace(rptSection, "{U5}", u5, 1, 1) rptSection = Replace(rptSection, "{U6}", u6, 1, 1) rptSection = Replace(rptSection, "{U7}", u7, 1, 1) rptSection = Replace(rptSection, "{U8}", u8, 1, 1) rptSection = Replace(rptSection, "{JUM}", jum, 1, 1) rptSection = Replace(rptSection, "{ANGKA}", angka, 1, 1) rptSection = Replace(rptSection, "{SEBUTAN}", sebutan, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend rptHTML1 = Replace(rptHTML1, "{TAHUN}", thn, 1, 1) Set ts = fso.OpenTextFile(App.Path & "\rptRekapDP3.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptRekapDP3.html" frmRptViewer.Show vbModal End Sub
• Akses Daftar Usulan Kenaikan Pangkat
Gambar 4..26 Akses Daftar Kenaikan Pangkat untuk Pegawai
• Laporan Daftar Kenaikan Pangkat
Gambar 4.27 Laporan Daftar Kenaikan Pangkat untuk Pegawai
Berikut adalah listing program akses daftar urut kepangkatan :
Private Sub mnuLapKenaikan_Click() Dim thn As String thn = InputBox("Isilah Tahun yang akan dilihat laporannya:", "Lap.Daftar Kenaikan Pangkat") If thn = "" Then Exit Sub Dim fso As New FileSystemObject Dim ts As TextStream Dim rptContents As String
Dim rptSection As String, rptSections As String, xrptSection As String Dim p1 As Long, p2 As Long Dim rptHTML1 As String, rptHTML2 As String rptContents = "" Set ts = fso.OpenTextFile(App.Path & "\rptDafKenaikan_x.html", ForReading) While ts.AtEndOfStream = False rptContents = rptContents & ts.ReadLine & vbCrLf Wend ts.Close p1 = InStr(1, rptContents, "<!-- #SECTION# !-->") p1 = p1 + Len("<!-- #SECTION# !-->") p2 = InStr(1, rptContents, "<!-- #ENDSECTION# !-->") xrptSection = Mid(rptContents, p1, p2 - p1) rptHTML1 = Mid(rptContents, 1, p1 - Len("<!-- #SECTION# !-->") - 1) rptHTML2 = Mid(rptContents, p2 + Len("<!-- #ENDSECTION# !-->") + 1) Dim rs As ADODB.Recordset Call sqlSelect(rs, "SELECT * FROM v_usulan WHERE tahun='" & thn & "'") no = 0 While rs.EOF = False no = no + 1 bulan = rs("bulan") tahun = rs("tahun") nip = rs("nip") nama = rs("nama") pangkat = Null2String(rs("pangkat")) golruang = Null2String(rs("golruang")) pangkat_usul = Null2String(rs("pangkat")) golruang_usul = Null2String(rs("golruang")) rptSection = xrptSection rptSection = Replace(rptSection, "{NO}", no, 1, 1) rptSection = Replace(rptSection, "{PERIODE}", bulan & "/" & tahun, 1, 1) rptSection = Replace(rptSection, "{NIP}", nip, 1, 1) rptSection = Replace(rptSection, "{NAMA}", nama, 1, 1)
rptSection = Replace(rptSection, "{PANGKAT1}", pangkat & "," & golruang, 1, 1) rptSection = Replace(rptSection, "{PANGKAT2}", pangkat_usul & "," & golruang_usul, 1, 1) rptSections = rptSections & rptSection rs.MoveNext Wend rptHTML1 = Replace(rptHTML1, "{TAHUN}", thn, 1, 1) Set ts = fso.OpenTextFile(App.Path & "\rptDafKenaikan.html", ForWriting, True) ts.Write rptHTML1 & rptSections & rptHTML2 ts.Close Load frmRptViewer frmRptViewer.WebBrowser1.Navigate "file://" & App.Path & "/rptDafKenaikan.html" frmRptViewer.Show vbModal End Sub
4.4 ANALISA HASIL
4.4.1 Kelebihan Sistem
Berikut ini adalah kelebihan Program Bantu Untuk Kenaikan Pangkat Pegawai
Negeri Sipil :
• Program Bantu ini dapat mempercepat kinerja pegawai terutama dalam
pengurutan data untuk mengetahui informasi secara cepat dan tepat
mengenai data pegawai yang akan naik pangkat.
• Program Bantu ini nantinya dapat diintegrasikan dengan sistem informasi
manajemen kepegawaian untuk keperluan-keperluan pegawai yang masih
bersifat manual.
• Program ini diharapkan dapat mengurangi adanya lost data dikarenakan
sistem pencatatan yang masih manual, yaitu dengan mengisi formulir-
formulir yang berbentuk kertas.
• Program ini sangat mudah untuk digunakan.
4.4.2 Kekurangan Sistem
• Tampilan dari Program yang sangat sederhana.
• Program Bantu untuk kenaikan pangkat ini tidak dapat dibuat secara
otomatisasi dikarenakan adanya keputusan-keputusan yang menyangkut
kenaikan pangkat suatu pegawai masih diperlukan sistem pendukung
keputusan dari manusia.
BAB V
PENUTUP
5.1 KESIMPULAN
Dikarenakan sistem yang lama masih menggunakan pencatatan secara manual
maka Program Bantu ini diperlukan oleh pegawai khususnya pada bagian
kepegawaian sub bagian umum dan kepegawaian dalam melaksanakan tugasnya
mengurutkan data pegawai yang akan naik pangkat, menyimpan data pegawai yang
masih aktif dan mengisi serta menyimpan Daftar Penilaian Pelaksanaan Pekerjaan
sebagai salah satu syarat kenaikan pangkat pegawai.
5.2 SARAN
• Program Bantu ini dapat diintegrasikan dengan sistem informasi kepegawaian
untuk keperluan-keperluan yang lain.
• Program Bantu ini dapat dikembangkan menjadi sistem pendukung keputusan
yang lebih kompleks dalam membantu mengintegrasikan pada sistem
informasi manajemen.
DAFTAR PUSTAKA
Pengantar Perancangan Sistem, Erlangga
Jogiyanto, Pengenalan Komputer, 1995
http://www.sqlcourse.com
Robi’in, Bambang, Manajemen dan Administrasi Database Menggunakan SQL
SERVER 2000, Penerbit Andi, 2005
Whitten, J., Bentley, L., Dittman, K., Metode Desain & Analisis Sistem,
Edisi 6, McGrawHill, Penerbit Andi, 2004.