PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

164
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 -

Transcript of PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

Page 1: 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 -

Page 2: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …
Page 3: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …
Page 4: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 5: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 6: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 7: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 8: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 9: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …
Page 10: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 11: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 12: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 13: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 14: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 15: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 16: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 17: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 18: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 19: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 20: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 21: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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 :

Page 22: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 23: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 24: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 25: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 26: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 27: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 28: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 29: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 30: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 31: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

( 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

Page 32: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 33: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 34: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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.

Page 35: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 36: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 37: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 38: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 39: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 40: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 41: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 42: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 43: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 44: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 45: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 46: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 47: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 48: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 49: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 50: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 51: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 52: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 53: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 54: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 55: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 56: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 57: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 58: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 59: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 60: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 61: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 62: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 63: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 64: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 65: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 66: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 67: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

3.1.3.1 Use Case Diagram

Gambar 3.1 Use case diagram untuk admin

Page 68: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 69: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 70: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 71: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

Gambar 3.4 Diagram Berjenjang

3.1.4.1.2 Diagram Berjenjang

Page 72: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

3.1.4.1.3 Overview Diagram OVERVIEW DIAGRAM LEVEL 0

Gambar 3.5 Overview Diagram Level 0

Page 73: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 74: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 75: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT 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

Page 76: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 77: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 78: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 79: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

OVERVIEW DIAGRAM LEVEL 1 PROSES DATA USER 3.1.4.1.10

Gambar 3.12 Gambar Overview Diagram Level 1 Proses Data User

Page 80: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 81: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 82: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 83: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

OVERVIEW DIAGRAM LEVEL 1 PROSES MELIHAT LAPORAN 3.1.4.1.14

Gambar 3.16 Gambar Overview Diagram Level 1 Proses Melihat Laporan

Page 84: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 85: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 86: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 87: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 88: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 89: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 90: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 91: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 92: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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 :

Page 93: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 94: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 95: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 96: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 97: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 98: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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"

Page 99: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 100: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 101: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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")

Page 102: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 103: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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")

Page 104: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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"

Page 105: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 106: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 107: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 108: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 109: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 110: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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')"

Page 111: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 112: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 113: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 114: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• Proses Data Riwayat Pendidikan

Gambar 4.6 Proses Data Riwayat Pendidikan untuk Admin

• Input Riwayat Pendidikan

Gambar 4.7 Input Riwayat Pendidikan untuk Admin

Page 115: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 116: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• Proses Data Pejabat Penilai

Gambar 4.8 Proses Data Pejabat Penilai untuk Admin

• Input Pejabat Penilai

Gambar 4.9 Input Pejabat Penilai untuk Admin

Page 117: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 118: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 119: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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()

Page 120: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 121: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• Proses Data User

Gambar 4.11 Proses Data User untuk Admin

• Input User Program

Gambar 4.12 Input Data User untuk Admin

Page 122: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 123: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 124: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 125: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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")

Page 126: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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()

Page 127: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 128: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 129: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 130: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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")

Page 131: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 132: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

',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

Page 133: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

.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"

Page 134: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

.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

Page 135: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 136: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 137: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 138: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 139: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT 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"))

Page 140: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 141: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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)

Page 142: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 143: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 144: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 145: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 146: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 147: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 148: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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 :

Page 149: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 150: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 151: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 152: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 153: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 154: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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)

Page 155: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 156: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 157: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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")

Page 158: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 159: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

• 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

Page 160: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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)

Page 161: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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

Page 162: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 163: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.

Page 164: PROGRAM BANTU UNTUK MENENTUKAN KENAIKAN PANGKAT PEGAWAI …

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.