Jumat, 08 Januari 2016

Aplikasi Absensi Pegawai Menggunakan Java Netbeans

Aplikasi Absensi Pegawai ini adalah aplikasi sederhana yang dibangun menggunakan bahasa pemrograman Java dibantu dengan Netbeans IDE ( versi yang gue pake 7.2 ) dan databasenya menggunakan MySQL. Seperti postingan kalkulator sederhana, project ini adalah tugas mata kuliah Pemrograman Berbasis Objek yang dikembangin selama dua minggu ( disamping project 3 mata kuliah lain ) bareng temen gue di Teknik Komputer Diploma IPB.

Walaupun belum banyak memahami tentang bahasa pemrograman java pake Netbeans, tapi project aplikasi absensi pegawai ini lumayan memuaskan buat gue pribadi karena banyak banget pelajaran yang gue dapet dari project ini yang dapat menambah wawasan ngoding gue. hehe

Karena bukan hal yang baru lagi, aplikasi ini telah banyak digunakan di perusahaan atau instansi yang membutuhkan pendataan kehadiran dan absensi pegawai yang sangat detil sehingga dibutuhkan sistem otomatis yang dapat mencatat kehadiran dan absensi pegawai secara cepat dan mudah digunakan oleh perusahaan atau instansi.

Deskripsi singkat 

Pada aplikasi ini gue ngambil kasus sebuah perusahaan yang mempunyai banyak karyawan dan shift yang berbeda-beda. Jadi, setiap karyawan punya jam kerjanya masing-masing. Selain mempunyai jam kerja masing-masing, mempunyai beberapa data pribadi umumnya pegawai seperti NIP, Nama, Jabatan, dan foto pegawai yang akan ditampilkan jika pegawai itu melakukan penanda kehadiran.
Selain melakukan absen hadir di panel admin terdapat beberapa menu yang mencakup pengelolaan presensi dan absensi pegawai. Aplikasi ini terbagi menjadi 2 project karena project sebagai server ( admin ) hanya digunakan untuk staff khusus sedangkan clientnya ( presensi ) dapat digunakan oleh semua pegawai untuk melakukan presensi. Ini mencegah tangan jahil mengakses panel admin selain staff admin oleh karena itu project harus dibangun secara terpisah.

Fitur aplikasi

# Presensi / Client
  - Menampilkan waktu & tanggal
  - Menjadikan windows menjadi selalu di tumpukan paling atas agar tidak mengganggu pegawai untuk melakukan presensi.
- Menampilkan data umum pegawai
- Mencegah pegawai keluar masuk sebelum waktunya ( rentan waktu 30 menit )
- Menganti fungsi tombol masuk dan tombol keluar menjadi satu, yaitu hanya menekan tombol Enter pada keyboard untuk melakukan kedua aksi tersebut dengan algoritma yang baik.
- Mengefisiensikan database
- Mempersingkat kode program

# Admin
Dashboard
- Menampilkan aktifitas terbaru semua pegawai
- Menampilkan persentase kehadiran pegawai secara keseluruhan
- Menampilkan jumlah pegawai perusahaan

Manajemen Pegawai
- Menampilkan data pegawai yang ada
- Terdapat fungsi umum Tambah, Ubah dan hapus data
- Mencengah duplikasi pegawai
- Aksi tombol simpan bisa digunakan sebagai penambahan data, dan pengubahan data.

Izin/cuti 
- Menampilkan data pegawai yang cuti/izin
- Terdapat fungsi umum Tambah, Ubah dan hapus data
- Menggunakan komponen JDateChooseruntuk memilih tanggal
- Mencegah duplikasi data izin/cuti
- Aksi tombol simpan bisa digunakan sebagai penambahan data, dan pengubahan data.

Laporan harian
- Menggunakan komponen JCalendar untuk memilih tanggal yang akan dicetak.
- Menggunakan iReport untuk menjadikan laporan berformat PDF

Aplikasi ini memang sangat jauh dari kata Sempurna. Insya allah bakal gue kembangkan lagi kalau ada yang lapor bug, pengen mempelajarinya lebih lanjut atau ingin menggunakan tenaga saya untuk membuat aplikasi ini lebih sempurna dan benar-benar dapat digunakan di masyarakat.

Screenshoot

Tabel Relasional / ER Diagram
Tabel Relasional / ER Diagram
Jendela Presensi Pegawai
Jendela Presensi Pegawai
Dashboard di Jendela Admin
Dashboard di Jendela Admin

Source code, bahan-bahan & database


Sebelum menjalankan aplikasinya, beberapa hal penting yang harus dilakukan diantaranya:

I. Menambahkan Pallet JCalendar di Netbeans

1. Download JCalendar ( Download ), lalu ekstrak.
2. Buka Netbeans IDE.
3. Klik Tools -> Pallete -> Swing/awt Components.
4. Klik New Categories -> beri nama kategori (contoh : JCalendar) -> Klik OK.
5. Klik Add From JAR -> arahkan ke folder hasil ekstrak yang dilakukan pada step 1, lalu buka folder "lib" dan pilih file jcalendar-1.4.jar -> Klik Next.
6. Pilih semua komponen jcalendarnya (Ctrl + A) -> Klik Next.
7. Pilih pallete category JCalendar -> klik Finish.

II. Menambahkan Library Eksternal di Netbeans

1. Buka Netbeans IDE.
2. Klik kanan pada Libraries project netbeansnya, pilih Add JAR/Folder.
3. Arahkan ke folder "lib" yang ada di masing-masing folder project AbsensiPegawai dan AbsensiPegawai-Client di paket download source code.
4. Pilih/blok semua file .jar nya ( Ctrl + A ).
5. Klik Open.

III. Pembuatan & Import Database MySQL 

1. Buka tool manajemen database MySQL ( PHP MyAdmin, Navicat, dll )
2. Buat database MySQL bernama dbabsensipegawai.
3. Pilih database dbabsensipegawai.
4. Import file dbabsensipegawai.sql yang ada di paket source code project.


IV. Konfigurasi Koneksi Aplikasi Java ke Database MySQL

1. Buka Netbeans IDE.
2. Open kedua project absensinya (AbsensiPegawai & AbsensiPegawai-Client).
3. Buka file KoneksiDB.java di package controller.
4. Sesuaikan variabel url, username dan password koneksi MySQL yang akan dihubungkan dengan aplikasi. Default koneksi MySQL, usernamenya adalah "root" dan password dikosongkan.

V. Run Project
- Run project jika sudah tidak ada lagi baris kode yang error.
- Login di Admin aplikasi bisa menggunakan username "admin" & password "admin" atau username "dendi" & password "dendi". Atau sesuaikan credential administrator di tabel admin di database dbabsensipegawai.

1 komentar: