RANCANG BANGUN SISTEM PRESENSI KARYAWAN
RANCANG BANGUN SISTEM PRESENSI KARYAWAN MENGGUNAKAN VISUAL BASIC 2010 DAN MYSQL 5 (STUDI KASUS: STEI SEBI) TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat Untuk Menempuh Sidang Sarjana Strata-1
Pada Program Studi Teknik Elektro Konsentrasi Teknik Informatika
Disusun Oleh:
INDRA SUPRIATNA NIM PROGRAM STUDI TEKNIK ELEKTRO KONSENTRASI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI TEXMACO KARAWANG 2013
LEMBAR PENGESAHAN
Tugas Akhir Dengan Judul:
RANCANG BANGUN SISTEM PRESENSI KARYAWAN MENGGUNAKAN VISUAL BASIC 2010 DAN MYSQL 5 (STUDI KASUS: STEI SEBI)
Karawang, Februari 2013 Telah disetujui dan disahkan oleh: Ketua Sidang
( Dr. Ir. M. Budi Djatmiko, M.Si. )
Penguji I Penguji II
( Dr. Ir. Eka Purwanda, M.Si. ) ( Hari Fajar, S.Kom )
Pembimbing I Pembimbing II
( Indra Gumelar, S.Si., M.T. ) (Muhammad Syafiuddin Usman, S.T. )
Ketua Program Studi
( Minarto, S.T. )
KATA PENGANTAR
Puji syukur penulis panjatkan atas kehadirat Illahi Rabbi yang atas rahmat, hidayah serta innayah-Nya-lah sehingga pada akhirnya penulis dapat menyelesaikan skripsi yang berjudul “Rancang Bangun Sistem Presensi
Karyawan Menggunakan Visual Basic 2010 dan MySQL 5 (Studi Kasus:
STEI SEBI) “ ini dengan baik.
Tak pelak dalam proses penyusunan skripsi ini banyak pula pihak yang terlibat serta memberi banyak dukungan, bimbingan dan do’anya hingga tak berkendak kacang lupa akan kulitnya, maka melalui lembar ini ingin pula penulis sampaikan ucapan dan rasa terima kasih yang tulus kepada:
1. Bapak Muhammad Syafiuddin Usman, ST., selaku Dosen Pembimbing yang telah memberi banyak masukan berdasarkan pengalaman nyata selama proses bimbingan yang penulis jalani
2. Bapak Ir. Pontjo Roebiarko, M.Sc., yang telah meluangkan banyak waktu untuk membantu penulis menyelesaikan segala keperluan penyelesaian skripsi
3. Bapak Mulyadi, SEI., selaku bagian SDI beserta jajaran staf STEI SEBI yang telah memberi banyak masukan dalam pembuatan aplikasi dalam karya tulis ini
4. Kang Aria, haturnuhun buat bantuannya yang seringkali dibajak waktunya oleh penulis untuk konsultasi pemrograman
5. Yoni Malinda, sang Hudan tercinta, yang acap kali memberi perhatian dan dukungannya untuk optimisme kehidupan penulis
6. Ibunda serta Ayahanda yang tak henti- hentinya mendo’a-kan penulis agar menjadi orang yang bermanfaat
7. Pihak-pihak yang tak dapat penulis sebutkan satu per satu yang telah turut serta merealisasikan terselesaikannya skripsi ini
Akhir kata penulis berharap bahwa skripsi ini bisa bermanfaat bagi kegiatan civitas akademika STT Texmaco pada khususnya, serta khalayak ramai pada umumnya.
Depok, Desember 2012
Indra Supriatna
ABSTRAKSI
NAMA : Indra Supriatna NIM
: JUDUL
: Rancang Bangun Sistem Presensi Karyawan Menggunakan Visual Basic 2010 Dan MySQL 5 (Studi Kasus: STEI SEBI)
Kebutuhan pengelolaan informasi mengenai kehadiran karyawan dalam sebuah instansi mutlak dibutuhkan sebagai alat analisa pegawai terhadap komitmen pekerjaan di lapangan.
Seiring perkembangan teknologi informasi, maka perlu dibangun sistem presensi terkomputerisasi yang bertujuan untuk mempermudah pencatatan jumlah kehadiran dan menggantikan proses pencatatan manual.
Dengan memanfaatkan Visual Basic sebagai bahasa pemrograman serta MySQL sebagai basisdata, maka dibuatlah suatu aplikasi yang diharapkan dapat membantu mempermudah proses kalkulasi presensi karyawan di sebuah institusi secara cepat dan informatif.
Kata kunci: Presensi, Visual Basic, MySQL
ABSTRACT
NAMA : Indra Supriatna NIM
: JUDUL
: Design of Employee Presence System Using Visual Basic 2010 and MySQL 5 (Case Study: STEI SEBI)
Information management needs regarding employee attendance within an institution is absolutely necessary as a means of analyzing the commitment of employees working in the field.
Along with the development of information technology it is necessary to build a computerized attendance system that aims to facilitate attendance and replace the manual procedure.
By utilizing the Visual Basic as programming language and MySQL as the database to create an application that is expected to help ease the process of calculating employee attendance at an institution, quickly and informatively.
Keywords: Presence, Visual Basic, MySQL
BAB I PENDAHULUAN
1.1 Latar Belakang STEI SEBI merupakan sebuah institusi pendidikan yang mengususkan diri pada pengembangan sistem ekonomi Islam dan didukung oleh 27 orang karyawan dalam kegiatan operasionalnya. Dalam pengelolaan data kehadiran karyawan, institusi ini masih mengolah data secara manual dikarenakan terbatasnya fitur laporan rekapitulasi kehadiran yang ada pada aplikasi presensi yang selama ini dipakai. Kendala lain yang dihadapi adalah hak akses untuk membuat laporan presensi hanya ada pada satu akun sehingga segala keperluan pembuatan laporan akan sangat bergantung kepada pemilik akun yang bersangkutan, oleh karena itu perlu dikembangkannya sebuah sistem yang mampu mengakomodir kebutuhan pengolahan data sekaligus pusat informasi karyawan STEI SEBI. Untuk pengolahan basisdata, dalam pengembangan sistem yang sudah berjalan dan dengan mempertimbangkan fleksibilitas jangka panjang, maka dipilihlah MySQL yang merupakan salah satu database server yang sangat powerfull , cepat, dan dapat diimplementasikan dalam berbagai macam jenis database (Wahana Komputer, 2011). Saat ini, MySQL 5 merupakan versi terbaru dari MySQL yang dapat bekerja secara fleksibel pada sejumlah sistem operasi (Tomy, 2008).
Merujuk pada uraian di atas, p enulis menetapkan “Rancang Bangun Sistem Presensi Karyawan Menggunakan Visual Basic 2010 dan MySQL 5 (Studi Kasus: STEI SEBI) “ sebagai judul skripsi yang dibuat.
1.2 Rumusan Masalah
1. Bagaimana merancang dan membangun aplikasi presensi sehingga dapat dijadikan sebagai sentra informasi kehadiran karyawan yang mampu mengalkulasi jumlah kehadiran secara otomatis dan periodik.
2. Bagaimana menangani keterbatasan hak akses agar pembuatan laporan presensi karyawan untuk periode tertentu tidak tergantung kepada satu akun.
1.3 Batasan Masalah
1. Dengan mempertimbangkan efisiensi anggaran institusi, maka aplikasi yang akan dibangun tidak dilengkapi dengan perangkat sensor ( fingerprint , barcode-reader , dan lainnya).
2. Fokus pengembangan aplikasi dibatasi pada pengolahan data presensi dengan hasil akhir berupa rekapitulasi kehadiran karyawan periode tertentu dan tidak mencakup penghitungan penggajian karyawan.
3. Terdapat toleransi penitipan presensi dalam rangka tugas institusi.
1.4 Sistematika Penulisan Skripsi ini disusun secara sistematis ke dalam beberapa bab, antara lain:
1. BAB I Pendahuluan
Bab ini berisi penjelasan mengenai latar belakang, rumusan masalah, batasan masalah, tujuan, dan metodologi penelitian secara menyeluruh.
2. BAB II Landasan Teori Bab ini mengurai dasar teori dan perangkat analisa yang dipergunakan.
3. BAB III Pembahasan Bab ini menjelaskan mengenai sistem presensi yang berjalan, analisa permasalahan dan perancangan sistem yang akan diimplementasikan.
4. BAB IV Implementasi Bab ini membahas mengenai implementasi dari desain sistem yang dikembangankan.
5. Bab V Simpulan dan Saran Bab ini berisi simpulan beserta saran terhadap sistem yang telah dibangun.
BAB II LANDASAN TEORI
2.1 Pengertian Presensi Adanya kesalahpahaman penggunaan istilah kehadiran dan ketidakhadiran yang beredar di masyarakat menyebabkan perlunya bagi penulis menjelaskan perbedaan istilah yang sesungguhnya.
1. Presensi Menurut Kamus Besar Bahasa Indonesia yang dikutip (Yayasan Lembaga Sabda), presensi didefinisikan sebagai pre-sen-si /présénsi/ n kehadiran.
2. Absensi (Yayasan Lembaga Sabda), dari Kamus Besar Bahasa Indonesia, absensi memiliki pengertian ab-sen-si /absénsi/ n ketidakhadiran. (Panggabean, 2002), Definisi ketidakhadiran ( absenteism ) adalah kegagalan untuk melapor pada waktu kerja. Dengan kata lain ketidakhadiran merupakan kegagalan seorang karyawan untuk hadir di tempat kerja pada hari kerja. Ketidakhadiran berbeda dengan terlambat ( lateness ) atau lamban ( tardiness ) yang menunjukkan kegagalan untuk datang tepat waktu. Dari penjelasan diatas dapat disimpulkan bahwa penggunaan istilah yang benar adalah kata “presensi” yang mengandung pemahaman sebagai satu bentuk kehadiran seseorang di sebuah tempat untuk memenuhi kewajibannya. Secara umum terdapat dua jenis sistem presensi yang jamak digunakan, yaitu:
1. Presensi Manual Sistem ini dalam proses pendataannya masih menggunakan tulisan tangan (tanda tangan).
2. Presensi Otomatis Sistem ini dalam proses pendataannya sudah menggunakan alat bantu terkomputerisasi. Untuk sebagian institusi yang memiliki jumlah karyawan
berskala besar, beberapa diantaranya sudah menggunakan barcode reader , finger print , bahkan retinal-scan sebagai alat penunjang efektifitas kinerja perusahaan (Irawan, 2012).
2.2 Pengertian Aplikasi Menurut (Dhanta, 2009), aplikasi ( application ) adalah software yang dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu.
2.3 Pengertian Sistem (Jogiyanto, Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis, 2005) mengurai definisi sistem menjadi dua pendekatan, yaitu:
1. Berdasarkan prosedur Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu.
2. Berdasarkan elemen atau komponen
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu. Dijelaskan pula bahwa terdapat delapan karakteristik dalam sistem, yaitu:
1. Komponen ( component ) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, bekerja sama membentuk satu kesatuan. Setiap komponen mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.
2. Batasan ( boundary ) Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem dapat dipandang sebagai satu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut.
3. Lingkungan luar ( environment ) Segala sesuatu yang berada di luar batas dari sistem yang mempengaruhi operasi sistem dapat dikatakan sebagai lingkungan luar. Lingkungan luar dapat bersifat menguntungkan yang memberikan energi pada sistem sehingga harus selalu dijaga dan dipelihara. Selain itu lingkungan luar juga dapat merugikan sistem. Untuk dapat mempertahankan kelangsungan hidup sistem, maka lingkungan yang seperti ini harus dapat dikendalikan.
4. Penghubung ( interface ) Merupakan media penghubung antara sub-sistem dengan sub-sistem lainnya. Melalui penghubung sumber-sumber daya dapat mengalir dari sub-sistem ke sub- sistem lainnya, sehingga saling berintegrasi membentuk satu kesatuan.
5. Masukan ( input ) Masukan adalah energi yang dimasukkan ke dalam sistem, dapat berupa masukan perawatan dan masukan signal. Masukan perawatan ( maintenance input ) adalah energi yang dimasukkan agar sistem tersebut dapat beroperasi. Masukan sinyal ( signal input ) adalah energi yang diproses untuk mendapatkan keluaran.
6. Keluaran ( output ) Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk sub-sistem yang lain atau kepada supra sistem.
7. Pengolahan ( processing ) Suatu sistem mempunyai suatu bagian pengolah yang dapat mengubah masukan menjadi keluaran.
8. Sasaran ( objective ) atau tujuan ( goal ) Sistem memiliki sasaran ( objective ) atau tujuan ( goal ) yang akan menentukan masukan yang dibutuhkan dan keluaran yang dihasilkan sistem. Suatu sistem dapat dikatakan berhasil apabila mengenai sasaran atau tujuan.
Gambar 2.1 Karakteristik Sistem
Sumber: (Jogiyanto, Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis, 2005)
2.4 Pengertian Data dan Informasi Menurut (Jogiyanto, Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan, 1993) data adalah kumpulan kejadian yang diangkat dari suatu kenyataan. Data dapat berupa angka-angka, huruf-huruf atau simbol-simbol khusus atau gabungan darinya. Data mentah masih belum bisa berceritera banyak, sehingga perlu diolah lebih lanjut. Pengolahan data adalah manipulasi dari data ke dalam bentuk yang lebih berguna dan lebih berarti, berupa 2.4 Pengertian Data dan Informasi Menurut (Jogiyanto, Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan, 1993) data adalah kumpulan kejadian yang diangkat dari suatu kenyataan. Data dapat berupa angka-angka, huruf-huruf atau simbol-simbol khusus atau gabungan darinya. Data mentah masih belum bisa berceritera banyak, sehingga perlu diolah lebih lanjut. Pengolahan data adalah manipulasi dari data ke dalam bentuk yang lebih berguna dan lebih berarti, berupa
Gambar 2.2 Sisklus Pengolahan Data
Sumber: (Jogiyanto, Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan, 1993)
Dalam lingkup sistem informasi, informasi memiliki beberapa karakteristik. Menurut (Romney & Steinbart, 2006), karakteristik informasi yang berguna adalah sebagai berikut:
1. Relevan Informasi adalah relevan jika informasi itu mengurangi ketidakpastian, meningkatkan kemampuan pembuat keputusan untuk membuat prediksi, atau konfirmasi, atau membenarkan dugaan mereka sebelumnya.
2. Dapat dipercaya Informasi dapat dipercaya jika informasi tersebut bebas dari kesalahan dan secara akurat mewakili kejadian atau aktivitas dari organisasi.
3. Lengkap
Informasi yang lengkap adalah informasi yang tidak mengurangi aspek penting dari event atau aktivitas yang mendasari pengukuran informasi tersebut.
4. Tepat waktu Informasi yang tepat waktu adalah informasi yang tersedia tepat waktu sehingga memungkinkan pembuat keputusan untuk membuat keputusan.
5. Dapat dimengerti Informasi akan dapat dimengerti jika informasi tersebut dipresentasikan dalam format yang benar dan dapat dimengerti.
6. Dapat diuji Informasi dapat diuji jika ada dua orang yang berpengalaman bekerja secara terpisah dan masing-masing menghasilkan informasi yang sama.
2.5 Pengertian Sistem Informasi (Oetomo, 2002) menjelaskan sistem informasi sebagai kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan untuk mengintegrasikan data, memproses dan menyimpan serta mendistribusikan informasi.
2.6 Visual Basic Microsoft Visual Basic atau disingkat VB merupakan salah satu bahasa pemrograman aplikasi yang sangat dikenal di dunia. Aplikasi VB pertama kali diproduksi pada tahun 1991 yang merupakan pengembangan dari pendahulunya,
yaitu bahasa pemrograman BASIC ( Begin ner’s All -purpose Symbolic Instruction Code ) yang dikembangkan di era 1950-an. Tahun 1998, Microsoft merilis Visual Basic versi 6.0 yang menyuguhkan fungsi- fungsi pengaksesan data terintegrasi dan bersifat grafis ke sumber data ( data source ) yang membuat VB versi 6.0 menjadi sebuah pilihan ideal untuk membangun aplikasi berskala perusahaan. 2002 seakan menjadi batu loncatan yang cukup ekstrim bagi pengembangan aplikasi VB, karena di tahun ini Microsoft menelurkan paket VB yang berbeda dari versi-versi sebelumnya, terutama mengenai ketidakkompetibelan penggunaan bahasa dengan versi VB terdahulu. Salah satu yang menjadi sorotan adalah adanya teknologi .Net Framework yang memungkinkan para programmer dapat membangun aplikasi Windows Form , aplikasi web berbasis ASP.NET, juga aplikasi command-line . Pada 19 November 2007, Microsoft kembali merilis versi terbaru dari VB, yaitu VB 9.0 atau VB 2008 bersamaan dengan dirilisnya beberapa produk bahasa pemrograman lain yang diproduksi Microsoft . Pada versi kali ini, Microsoft telah menambahkan banyak fitur baru bersamaan dengan penyematan sistem .Net Framework versi 3.5. April 2010, Microsoft menelurkan versi terakhirnya yaitu VB 2010 yang telah menyertakan dukungan untuk Dynamic Language Runtime dan .Net Framework versi 4.
2.7 MySQL MySQL merupakan RDBMS ( Relational Data Base Management Sistem ) yang bersifat open source dibawah lisensi GPL (General Public License) yang membebaskan siapa saja untuk menggunakan serta mengembangkan MySQL dengan ketentuan untuk tidak mengomersilkan produk turunannya. MySQL menggunakan SQL ( Structured Query Language ) sebagai bahasa dasar untuk mengakses basisdatanya. SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Secara harafiah, basidata atau database merupakan sekumpulan data yang tersusun dengan aturan tertentu dalam bentuk tabel (Wahana Komputer, 2011). MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang perangkat lunak dan konsultan basisdata bernama MySQL AB yang berada di Swedia. Perusahaan tersebut selanjutnya diakuisisi oleh SUN Microsystem yang saat ini telah diambil alih oleh ORACLE sehingga perputaran manajemen ini semakin mengukuhkan posisi MySQL diberbagai komunitas maupun pengguna enterprise .
2.8 Alat Analisis Perlunya alat bantu dalam proses pembuatan sebuah aplikasi akan sangat bermanfaat dalam pemahaman dan evaluasi informasi dari sebuah sistem yang dibangun, dan berikut ini merupakan perangkat analisis yang penulis gunakan:
2.8.1 Metode Pengembangan Sistem System Development Life Cycle (SDLC) adalah standarisasi umum dalam pembangunan sebuah aplikasi yang digunakan sebagai acuan untuk membangun aplikasi yang baik dan tersruktur. SDLC juga merupakan alat untuk manajemen proyek yang bisa digunakan untuk merencanakan, memutuskan dan mengontrol proses pengembangan sistem informasi. Metode SDLC ini seringkali dinamakan juga sebagai proses pemecahan masalah, adapun pengembangan sistem yang digunakan dalam penelitian ini adalah paradigma waterfall dengan langkah- langkah sebagai berikut (Pressman, 2002):
1. Rekayasa Sistem Dikarenakan piranti lunak merupakan bagian dari suatu sistem, maka pembuatan sebuah piranti lunak dapat dimulai dengan mengaji apa yang dibutuhkan oleh sistem untuk kemudian diterapkan dalam analisis dan pendesainan aplikasi.
2. Analisis Kebutuhan Perangkat Lunak Merupakan proses pengumpulan dan pemahaman dasar dari aplikasi yang akan dibangun. Dalam tahap analisis, terdapat langkah-langkah dasar yang harus dilakukan antara lain:
1. Identify , yaitu mengidentifikasikan masalah
2. Understand , yaitu memahami kerja dari sistem yang ada
3. Analyze , yaitu menganalisis sistem
4. Report , yaitu membuat laporan hasil analisis
3. Desain
Perancangan merupakan proses yang memfokuskan pada pengolahan struktur data, arsitektur perangkat lunak, detail prosedur dan karakteristik antarmuka.
4. Pengkodean Merupakan proses penulisan bahasa pemrograman agar dapat dijalankan oleh mesin.
5. Pengetesan Proses yang memastikan bahwa input yang dilakukan akan menghasilkan output yang sesuai.
6. Pemeliharaan Proses pemeliharaan dilakukan setelah piranti lunak sampai di tangan user dengan tujuan untuk menjaga stabilitas kebutuhan yang diinginkan oleh user .
Gambar 2.3 System Development Life Cycle
2.8.2 Diagram Alir Dokumen ( Flow Map ) Menurut (Albahra, 2005), Diagram Alir Dokumen atau Flow Map adalah bagan- bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah.
Tabel 2.1 Simbol Diagram Alir Dokumen
Komponen Keterangan
Proses Manual
Input manual
Media Simpan
Garis Alir
2.8.3 UML ( Unified Modelling Language ) Hermawan (Hermawan, 2004) menjelaskan bahwa UML merupakan bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan disain berorientasi obyek.
2.8.3.1 Tujuan UML Menurut (Suhendar & Gunadi, 2002) bahwa tujuan utama UML adalah:
1. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekpresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
2. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
3. Menyatukan praktik-praktik terbaik yang terdapat dalam pemodelan
2.8.3.2 Notasi UML 2.8.3.2.1 Actor Actor adalah segala sesuatu yang berinteraksi dengan sistem aplikasi komputer yang bisa berupa orang, perangkat keras, atau obyek lain yang biasanya memberikan informasi pada sistem dan atau memerintahkan sistem untuk melakukkan sesuatu dalam satu sistem yang sama.
Gambar 2.4 Notasi Actor
2.8.3.2.2 Use Case Use Case bertujuan untuk menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu sebatas pada “apa” yang dilakukan, bukan “bagaimana” actor dan sistem melakukan kegiatan tersebut.
Gambar 2.5 Notasi Use Case
Di dalam use case terdapat urutan kegiatan yang disebut use case specification yang terdiri dari:
1. Use Case Name, pemberian identitas berupa nama pada use case yang akan dipergunakan, biasanya diawali dengan kata kerja untuk menunjukkan suatu aktivitas.
2. Brief Description , untuk menjelaskan secara singkat dalam 1 atau 2 kalimat tentang tujuan dari use case .
3. Basic flow , untuk menjelaskan interaksi antara actor dengan sistem dalam kondisi normal, dengan kata lain berjalan lancar dan tanpa halangan untuk mencapai tujuan dari use case .
4. Alternate flow , merupakan pelengkap dari basic flow yang bertujuan untuk menjelaskan apa yang akan terjadi jika terdapat suatu halangan ketika use case berlangsung. Biasanya berhubungan dengan error yang mungkin terjadi karena masalah sistem komputer secara internal, eksternal, dan lainnya.
5. Special requirements , menginformasikan mengenai kebutuhan lain yang belum tercakup dalam basic flow maupun alternate flow , seperti kebutuhan waktu dan kecepatan transaksi serta kapasistas akses ke sistem ketika sejumlah user mengakses dalam waktu yang bersamaan.
6. Pre-condition , merupakan persyaratan yang harus dipenuhi sebelum use case mulai dilakukan.
7. Post-condition , merupakan kondisi yang terjadi setelah use case dieksekusi. 2.8.3.2.3 Interaction Interaction digunakan untuk menunjukkan aliran pesan atau informasi antar obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan.
Gambar 2.6 Notasi Interaction
2.8.3.2.4 Dependency Dependency merupakan relasi yang menunjukkan bahwa perubahan di satu elemen akan memberi dampak pada elemen lain. Elemen yang berada pada ujung tanda panah menunjukan elemen tersebut bergantung pada sumber arah panah. Terdapat 2 stereotype dari dependency , yaitu:
1. Include . Stereotype ini akan menunjukkan bahwa suatu bagian dari sebuah elemen akan memicu eksekusi dari elemen yang lain. Contoh: A B: maka operasi yang ada di class
A akan memicu dieksekusinya operasi yang ada di class B.
2. Extend . Stereotype ini akan menunjukan bahwa suatu bagian dari sebuah elemen bisa disisipkan ke dalam elemen lain. Contoh: X Z: maka suatu fungsi use case
X bisa disisipkan ke dalam use case
B atau dengan kata lain
X opsional bagi Z. Kedua stereotype ini direpresentasikan dengan menambah teks “include” atau “extend” dalam notasi dependency -nya.
Gambar 2.7 Contoh Notasi Include Dependency 2.8.3.2.5 Association Association menggambarkan navigasi antar class ( navigation ), banyaknya obyek yang bisa berhubungan ( multiplicity ), dan status apakah suatu class menjadi bagian dari class lainnya ( aggregation ) .
Gambar 2.8 Notasi Association
2.8.3.2.6 Generalization Generalization menunjukan hubungan antar elemen yang lebih umum ( superclass ) ke elemen yang lebih spesifik ( sub class ).
Gambar 2.9 Notasi Generalization
2.8.3.2.7 Realization Realization menunjukan hubungan yang akan merealisasikan apa yang dinyatakan oleh elemen sebelumnya.
Gambar 2.10 Notasi Realization
2.8.3.2.8 Use Case Diagram Use Case Diagram menjelaskan mengenai apa saja yang akan dilakukan oleh sistem serta siapa saja yang akan berinteraksi dengan sistem. User akan memanfaatkan dokumentasi Use Case Diagram untuk memahami sistem dan mengevaluasi pemecahan masalah yang telah diajukan atau sedang dihadapi, sedangkan developer menjadikan dokumen Use Case Diagram sebagai bahan rujukan dalam pengembangan sistem. Pada umumnya Use Case Diagram akan menggunakan elemen actor , use case , dependency , generalization dan association untuk memberikan gambaran statis dari sistem yang sedang dibangun, dan merupakan artifak dari proses analisis.
Gambar 2.11 Contoh Use Case Diagram
2.8.3.2.9 Sequence Diagram Sequence Diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case , dan biasanya tersusun dari elemen obyek, interaction dan message .
Gambar 2.12 Sequence Diagram
2.8.4 Entity Relationship Diagram (ERD) Menurut (Al-Fatta, 2007) Entity Relationship Diagram merupakan gambar atau diagram yang menunjukkan informasi dibuat, disimpan, dan digunakan dalam sistem bisnis yang pada akhirnya dapat digunakan untuk menunjukkan aturan- aturan bisnis yang ada pada sistem informasi yang akan dibangun.
Tabel 2.2 Notasi ERD
Simbol Keterangan Entity , merupakan individu yang
mewakili sesuatu yang nyata (eksistensinya)
dan dapat dibedakan dari sesuatu yang lain.
Link , merupakan penghubung antara himpunan relasi dengan
himpunan entitas dan himpunan entitas dengan atributnya.
Relationship ,
merupakan penunjuk hubungan antara 2
entitas yang dideskripsikan dengan kata kerja yang memiliki modalitas ( null/not null ) dan kardinalitas (1:1, 1:N atau M:N).
Attribute , merupakan deskripsi karakteristik (properti) dari entitas yang bersangkutan.
BAB III PEMBAHASAN
3.1 Analisis Sistem Berjalan
1. Karyawan login dengan mencari dan menggunakan akun yang telah tersimpan di basisdata aplikasi agar kehadirannya dapat didokumentasikan
2. Aplikasi presensi akan menyimpan data kehadiran di basisdata untuk kemudian diolah pada periode tertentu
3. Pada periode tertentu, Admin SDM akan mencetak dokumen laporan presensi yang telah tersimpan di basisdata untuk kemudian dibuatkan arsipnya
4. Dokumen yang telah dihasilkan pada langkah sebelumnya diolah secara manual untuk menghasilkan rekapitulasi total kehadiran masing-masing karyawan yang selanjutnya dipergunakan Bagian SDM dan Pengarsipan untuk berbagai keperluan
3.1.2 Deskripsi Sistem Berjalan Penulis membagi deskripsi analisis sistem berjalan menjadi 3 bagian utama, yaitu:
1. Input Pada bagian ini prosedur presensi hanya mengandalkan nama akun tanpa disertai bentuk validasi lain seperti sandi ataupun foto. Hal ini seringkali 1. Input Pada bagian ini prosedur presensi hanya mengandalkan nama akun tanpa disertai bentuk validasi lain seperti sandi ataupun foto. Hal ini seringkali
2. Proses Ketergantungan pada satu akun tertentu untuk menyajikan laporan presensi menjadi faktor penghambat pengolahan data manakala terjadi hal yang tidak diinginkan pada akun tersebut.
3. Output Kendala berikutnya adalah output hasil pengolahan data yang tidak memberikan hasil kalkulasi kehadiran karyawan untuk periode tertentu karena informasi yang ada hanya sebatas laporan kehadiran karyawan per- kedatangan.
3.1.3 Flow map Berikut adalah flow map dari sistem berjalan yang telah diuraikan pada bagian sebelumnya
Gambar 3.1
F low map sistem berjalan
3.1.4 Penilaian Terhadap Sistem Berjalan Berdasarkan informasi diatas maka terdapat beberapa kendala yang dimiliki oleh aplikasi presensi yang dipergunakan, antara lain:
- Kesalahan akun presensi karena ketiadaan validasi akan menyebabkan kesalahan pengolahan data di akhir periode tertentu
- Ketiadaan fasilitas penambahan akun akan membebani karyawan baru yang akhirnya berimbas ke Bagian SDM - Ketergantungan pada satu akun tertentu merupakan faktor penghambat dalam pembuatan laporan presensi - Rekapitulasi presensi yang dibutuhkan Bagian SDM harus dihitung secara manual sehingga menyebabkan inefisiensi pengolahan laporan presensi untuk periode tertentu
3.1.4.1 Data Berikut analisis data presensi yang dipergunakan pada sistem aplikasi presensi yang sedang berjalan dalam bentuk tabel:
Tabel 3.1 Analisis Data Presensi
Kemunculan Nama
Item
Fungsi
Sumber Data
Presensi Tanggal
Identitas presensi Karyawan
Informasi tanggal Komputer
Presensi, Laporan
presensi JamDatang
kehadiran
Infromasi
jam Komputer
Presensi, Laporan
presensi JamKeterlambatan
kedatangan
Informasi lama Aplikasi presensi Presensi, Laporan keterlambatan
presensi PtnganKeterlambatan Tidak diketahui
Aplikasi presensi Presensi EHK
Presensi Alasan
Tidak diketahui
keterangan keterlambatan
TEHK
Aplikasi presensi Presensi Tlambat
Tidak diketahui
Tidak diketahui
Aplikasi presensi Presensi
Berdasarkan keterangan di atas, terdapat beberapa item yang semestinya dihilangkan dalam rangka efisiensi sistem, selain itu perlu ditambahkan pula item Berdasarkan keterangan di atas, terdapat beberapa item yang semestinya dihilangkan dalam rangka efisiensi sistem, selain itu perlu ditambahkan pula item
Tabel 3.2 Pengembangan Data Presensi – Tabel Karyawan
Item
Fungsi
Sumber Data
Kemunculan
ID Identitas presensi Admin SDM
Presensi, Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Nama Lengkap
Identitas
nama Karyawan
validasi pertama
Presensi Global, Rekapitulasi Presensi Detail
Foto
Identitas
foto Karyawan
Presensi
karyawan, validasi kedua
Tabel 3.3 Pengembangan Data Presensi – Tabel Presensi
Item
Fungsi
Sumber Data
Kemunculan
ID Identitas presensi Admin SDM
Presensi, Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Tanggal
Informasi tanggal Komputer
Menu Utama,
kehadiran
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Jam Datang
Informasi
jam Komputer
Menu Utama,
kedatangan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Alasan Telat
Membuat
Karyawan
Menu Utama,
Presensi Global,
Rekapitulasi Presensi Detail
Jam Pulang
Informasi
jam Komputer
Menu Utama,
kepulangan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Alasan Pulang Cepat Membuat
Karyawan
Menu Utama,
Presensi Global, Rekapitulasi Presensi Detail
3.1.4.2 Informasi Informasi yang dihasilkan oleh aplikasi presensi yang sedang berjalan saat ini tidak jauh berbeda dengan data input pada bagian di atas:
Tabel 3.4 Output aplikasi presensi yang sedang berjalan
Kemunculan Nama
Item
Fungsi
Sumber Data
Presensi Tanggal
Identitas presensi Karyawan
Informasi tanggal Komputer
Presensi, Laporan
presensi JamDatang
kehadiran
Infromasi
jam Komputer
Presensi, Laporan
presensi JamKeterlambatan
kedatangan
Informasi lama Aplikasi presensi Presensi, Laporan keterlambatan
presensi PtnganKeterlambatan Tidak diketahui
Aplikasi presensi Presensi EHK
Presensi Alasan
Tidak diketahui
keterangan keterlambatan
TEHK
Aplikasi presensi Presensi Tlambat
Tidak diketahui
Tidak diketahui
Aplikasi presensi Presensi
Berikut bentuk pengembangan output informasi yang diusulkan:
Tabel 3.5 Rekapitulasi Presensi Global
Item
Fungsi
Sumber Data
Kemunculan
ID Identitas presensi Admin SDM
Presensi, Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Nama Lengkap
Identitas
nama Karyawan
Presensi,
karyawan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Jumlah Presen
Informasi jumlah Komputer
Rekapitulasi
kehadiran
Presensi Global, Rekapitulasi Presensi Detail
Jumlah Absen
Informasi jumlah Komputer
Rekapitulasi
ketidakhadiran
Presensi Global, Rekapitulasi Presensi Detail
Kota
Keterangan Kota Admin SDM
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Tanggal
Keterangan
Aplikasi Presensi Rekapitulasi
periode berjalan
Presensi Global, Rekapitulasi Presensi Detail
KaBag SDM Validasi Kepala Kepala Bagian Rekapitulasi Bagian SDM
SDM
Presensi Global, Rekapitulasi Presensi Detail
Tabel 3.6 Rekapitulasi Presensi Detail
Item
Fungsi
Sumber Data
Kemunculan
ID Identitas presensi Admin SDM
Presensi, Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Nama Lengkap
Identitas
nama Karyawan
Presensi,
karyawan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Tanggal
Informasi tanggal Komputer
Menu Utama,
kehadiran
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Jam Datang
Informasi
jam Komputer
Menu Utama,
kedatangan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Alasan Telat
Membuat
Karyawan
Menu Utama,
Presensi Global, Rekapitulasi Presensi Detail
Jam Pulang
Informasi
jam Komputer
Menu Utama,
kepulangan
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Alasan Pulang Cepat Informasi
Presensi Global, Rekapitulasi Presensi Detail
Kota
Keterangan Kota Admin SDM
Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail
Tanggal
Keterangan
Aplikasi Presensi Rekapitulasi
periode berjalan
Presensi Global, Rekapitulasi Presensi Detail
KaBag SDM Validasi Kepala Kepala Bagian Rekapitulasi Bagian SDM
SDM
Presensi Global, Rekapitulasi Presensi Detail
3.2 Perancangan Sistem Baru Tahap perancangan ini dipersiapkan dalam rangka memenuhi proses implementasi dan juga memberikan gambaran umum mengenai bentuk sistem yang akan dikembangkan.
3.2.1 UML Seorang karyawan (termasuk di dalamnya Admin SDM dan Superuser) melakukan presensi untuk pertama kalinya di hari berjalan dengan ID yang dimilikinya. Pada login berikutnya di hari yang sama, karyawan tersebut harus menyertakan PIN sebagai syarat validasi yang akan mengarahkan pada manajemen data pribadi sehingga karyawan tersebut dapat mengetahui dan mengelola data-data yang tersedia.
Gambar 3.2 Use Case Diagram yang diusulkan
Gambar 3.3 Sequence Diagram Karyawan
Saat pertama kali datang, karyawan akan memasukkan nomor ID tanpa perlu memasukkan PIN sehingga sistem akan langsung mencatat waktu kedatangan. Tahap berikutnya, bagi karyawan yang ingin melakukan kegiatan manajemen data seperti memperbarui PIN, data pribadi, alasan keterlambatan, dan lain-lain, maka karyawan tersebut harus re-login yang disertai validasi berupa PIN untuk membuka hak akses manajemen data yang bersangkutan. Jika prosedur yang dilakukan salah maka aplikasi akan menampilkan pesan kesalahan, jika prosedur benar maka karyawan dapat memperbarui data.
Gambar 3.4 Sequence Diagram Admin SDM
Selain memiliki fungsi dasar yang sama sebagai karyawan biasa, Admin SDM juga memiliki hak akses untuk melakukan penambahan data karyawan dan rekapitulasi presensi periode tertentu.
Gambar 3.5 Sequence Diagram Superuser
Superuser adalah user tunggal yang memiliki hak akses tertinggi di dalam sistem presensi dan memiliki tugas sebagai pembuat akun Admin SDM.
3.2.2 ERD
Gambar 3.6 Diagram ERD
3.2.3 Relasi Tabel
Gambar 3.7 Relasi Tabel
3.2.4 Antarmuka
3.2.4.1 Input
Gambar 3.8 Menu Presensi
Gambar 3.9 Informasi Presensi
Gambar 3.10 Informasi Pribadi
Gambar 3.11 Ubah PIN
Gambar 3.12 Peringatan dan pesan kesalahan yang berhubungan dengan ID
dan PIN
3.2.4.2 Output
Gambar 3.13 Rekapitulasi Presensi per periode tertentu
Gambar 3.14 Rekapitulasi Presensi tiap karyawan per periode tertentu
3.2.5 Kodifikasi Pemberian kode tertentu yang terdiri dari kumpulan huruf dan angka dalam rangka identifikasi dokumen, berikut kode yang digunakan:
idStaf: yy-nn keterangan: yy = tahun menjadi karyawan, 2 dijit nn = nomor urut, 3 dijit
3.2.6 Flowchart yang diusulkan
Gambar 3.15
F lowchart presensi
Gambar 3.16
F lowchart perbarui alasan keterlambatan dan pulang cepat
Gambar 3.17
F lowchart Admin SDM
Gambar 3.18
F lowchart Superuser
BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Implementasi merupakan tahapan yang dilakukan untuk menambatkan sistem sehingga siap untuk dioperasikan.
4.1.1 Antarmuka Berikut merupakan hasil implementasi dari sistem yang telah dibuat berupa screenshot aplikasi yang telah dikembangkan menggunakan pemrograman Visual Basic 2010 dan basisdata MySQL 5.
Gambar 4.1 Presensi Karyawan
Gambar 4.2 Informasi Presensi
Gambar 4.3 Informasi Pribadi
Gambar 4.4 Ubah PIN
Gambar 4.5 Peringatan dan pesan kesalahan
4.1.2 Perangkat keras yang digunakan
1. Server ( webhosting ): Clock prosesor :
3,2Ghz
Ruang harddisk :
2. Client: Clock prosesor :
1,6Ghz
Ruang harddisk :
80Gb
Mouse , Keyboard , Monitor
4.2 Pengujian Pengujian dilakukan untuk menemukan kesalahan yang mungkin muncul ketika aplikasi berjalan, serta untuk mengetahui apakah aplikasi yang dibuat sudah sesuai dengan tujuan dan fungsi yang sebelumnya telah ditetapkan. Dalam pengujian ini penulis menggunakan metode black box testing dengan cara menguji sistem informasi dari segi fungsionalitas tanpa melihat kode sumbernya secara langsung.
4.2.1 Koneksi basisdata Kolom ID Staf dan PIN akan terblokir ( disable ) kemudian statusbar akan menampilkan pesan bahwa koneksi ke server basisdata bermasalah
Gambar 4.6 Gagal terhubung ke basisdata
4.2.2 Presensi dan login
Gambar 4.7 Proses Presensi
Gambar 4.8 Proses login ketika kolom ID dan atau PIN dikosongkan
Gambar 4.9 Proses login ketika salah memasukkan ID dan atau PIN
BAB V PENUTUP
5.1 Simpulan Dengan adanya pengembangan sistem informasi dan perbaikan pada aplikasi yang telah dipakai sebelumnya, maka:
1. Pembuatan laporan data presensi lebih cepat tersaji sehingga mempermudah bagian SDM untuk mengelola data dan meminimalisir segala kemungkinan kesalahan kalkulasi jumlah kehadiran karyawan pada periode tertentu secara otomatis dan periodik.
2. Ketergantungan pada satu akun tertentu dalam pembuatan laporan presensi dapat dihindari dengan adanya fasilitas penambahan Admin SDM.
5.2 Saran Aplikasi presensi ini memiliki kekurangan dimana karyawan yang telah melakukan prosesi kehadiran tidak mampu dideteksi manakala yang bersangkutan tidak melakukan prosesi pencatatan jam pulang kerja. Hal ini tentu mengganggu ketika bagian SDM memerlukan detail jam masuk dan jam pulang karyawan. Solusi yang dapat ditempuh adalah dengan melakukan sosialisasi kepada karyawan mengenai pentingnya melakukan prosesi presensi masuk dan presensi pulang, dan atau modifikasi aplikasi yang ada menjadi aplikasi yang lebih kompleks semisal menggunakan id-card , magnetic-card , finger-print dan lain 5.2 Saran Aplikasi presensi ini memiliki kekurangan dimana karyawan yang telah melakukan prosesi kehadiran tidak mampu dideteksi manakala yang bersangkutan tidak melakukan prosesi pencatatan jam pulang kerja. Hal ini tentu mengganggu ketika bagian SDM memerlukan detail jam masuk dan jam pulang karyawan. Solusi yang dapat ditempuh adalah dengan melakukan sosialisasi kepada karyawan mengenai pentingnya melakukan prosesi presensi masuk dan presensi pulang, dan atau modifikasi aplikasi yang ada menjadi aplikasi yang lebih kompleks semisal menggunakan id-card , magnetic-card , finger-print dan lain
DAFTAR PUSTAKA
Albahra, L. b. (2005). Analisis Desain Sistem Informasi. Yogyakarta: Graha Ilmu. Al-Fatta, H. (2007). Analisis dan Perancangan Sistem Informasi untuk
Keunggulan Bersaing Perusahaan & Organisasi Modern. Yogyakarta: ANDI OFFSET.
Darmayuda, K. (2010). Pemrograman Aplikasi Database dengan Microsoft Visual Basic .Net 2008. Bandung: Penerbit Informatika.
Dhanta, R. (2009). Kamus Istilah Komputer, Grafis, dan Internet. Surabaya: Indah.
Fathansyah. (2001). Basis Data. Bandung: Informatika. Hermawan, J. (2004). Analisa Desain dan Pemrograman Berorientasi Objek
dengan UML dan Visual Basic .Net. Yogyakarta: Penerbit Andi. Irawan, D. (2012, Maret 18). Warta Warga Gunadarma University . Dipetik April
13, 2012, dari Sistem Biometriks Absensi Karyawan Dalam Menunjang Efektifitas
Kinerja
Perusahaan:
http://wartawarga.gunadarma.ac.id/2012/03/sistem-biometriks-absensi- karyawan-dalam-menunjang-efektifitas-kinerja-perusahaan/
Jogiyanto, H. (2005). Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: Andi.
Jogiyanto, H. (1993). Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman, Sistem Informasi dan Intelegensi Buatan. Yogyakarta: Andi Offset.
Kadir, A. (2003). Konsep & Tuntunan Praktis Basis Data. Yogyakarta: Penerbit Andi.
Kristanto, A. (2003). Perancangan Sistem Informasi dan Aplikasi. Yogyakarta: Gava Media.
Nugroho, A. (2004). Konsep Pengembangan Sistem Basis Data. Bandung: Informatika.
Oetomo, B. S. (2002). Perencanaan dan Pembangunan Sistem Informasi. Yogyakarta: Andi Offset.
Panggabean, M. S. (2002). Manajemen Sumber Daya Manusia. Bogor: Ghalia Indonesia.
Phan, D. (2005). Flow Map Layout. Stanford University InfoVis 2005 . Pressman, R. S. (2002). Rekayasa Perangkat Lunak, Pendekatan Praktis (Buku
Dua). Yogyakarta: Andi Publisher. Romney, M., & Steinbart, P. (2006). Accounting Information Systems (10 ed.).
New Jersey: Pearson Prentice Hall. Suhendar, A., & Gunadi, H. (2002). Visual Modeling Menggunakan UML dan
Rational Rose. Bandung: Informatika. Tomy. (2008). Tip dan Trik Profesional MySQL 5. Jakarta: Elex Media
Komputindo. Wahana Komputer. (2011). Microsoft Visual Basic 2010 & MySQL untuk Aplikasi
Point of Sales. Semarang: Penerbit Andi. Yayasan Lembaga Sabda. (t.thn.). Kamus Kata Bahasa Indonesia . Dipetik April
8, 2012, dari Kamus Sabda: http://kamus.sabda.org
LAMPIRAN
Public Class _01Login Private Sub _01Login_Load( ByVal sender As System. Object , ByVal e As System. EventArgs ) Handles MyBase .Load altconnect() tbID.Focus()
'nambahin baru tbPIN.Enabled = False btnLogin.Enabled = False
'nambahin baru
End Sub
'kode untuk timer Private Sub Timer1_Tick( ByVal sender As System. Object , ByVal e As System. EventArgs ) Handles Timer1.Tick Label2.Text = Format(Now, "dddd,___" ) Label3.Text = Format(Now, "dd" ) Label4.Text = Format(Now, "MMM" ) Label5.Text = Format(Now, "yyyy" ) Label6.Text = Format(Now, "HH:mm" ) Label7.Text = Format(Now, "ss" )
End Sub 'kode untuk timer
Private Sub btnPresence_Click( ByVal sender As System. Object , ByVal e As System. EventArgs ) Handles btnPresence.Click Me .Hide() _02Daftar_Kehadiran .Show() End Sub
Dim idstaf As String Dim altdr As MySqlDataReader Dim altcmd As MySqlCommand
Dim temptable As DataTable
Private Sub tbID_KeyPress( ByVal sender As Object , ByVal e As
System.Windows.Forms. KeyPressEventArgs ) Handles tbID.KeyPress
If e.KeyChar = Chr(13) And tbID.Text <> "" Then
'nambahin baru altcmd = New MySql.Data.MySqlClient. MySqlCommand ( "select * from tstaf where idstaf='" & tbID.Text & "'" , altconn) altdr = altcmd.ExecuteReader altdr.Read()
Select Case altdr.Item( "idGrup" )
Case "3" altdr.Close() altcmd = New MySql.Data.MySqlClient. MySqlCommand ( "select * from tpresensi where
idstaf='" & tbID.Text & "' AND tanggal= CURDATE() " , altconn) altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then 'jika hari ini sudah melakukan presensi, maka lakukan: tbPIN.Enabled = True tbPIN.Focus() btnLogin.Enabled = True
Else 'jika hari ini belum melakukan presensi, maka lakukan: altdr.Close() altcmd = New MySql.Data.MySqlClient. MySqlCommand ( "select * from tstaf where
idstaf='" & tbID.Text & "'" , altconn)
altdr = altcmd.ExecuteReader altdr.Read() tbPIN.Text = altdr.Item( "pin" ) altdr = altcmd.ExecuteReader altdr.Read() tbPIN.Text = altdr.Item( "pin" )
Case "1" tbPIN.Enabled = True btnLogin.Enabled = True tbPIN.Focus()
End Select 'nambahin baru End If 'MsgBox("error") End Sub
'kode untuk nge-load data di kolom yg lain Private Sub tbID_TextChanged( ByVal sender As System. Object , ByVal e As System. EventArgs ) Handles tbID.TextChanged btnPresence.Enabled = False Try altcmd = New MySql.Data.MySqlClient. MySqlCommand ( "select * from tstaf where idstaf='" & tbID.Text & "'" , altconn) altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then Dim gambar As New IO. MemoryStream ( CType (altdr.Item( "foto" ), Byte ())) PictureBox2.Image = Image .FromStream(gambar) Label1.Text = altdr.Item( "nama" )
'tbPIN.Focus() End If altdr.Close()
Catch ex As Exception
End Try End Sub
Private Sub tbPIN_Enter( ByVal sender As Object , ByVal e As System. EventArgs ) Handles tbPIN.Enter btnPresence.Enabled = False End Sub
'kode untuk ngeload data di kolom yg lain
Private Sub tbPIN_KeyPress( ByVal sender As Object , ByVal e As
System.Windows.Forms. KeyPressEventArgs ) Handles tbPIN.KeyPress If e.KeyChar = Chr(13) Then presensilogin() End If End Sub
Public Sub presensilogin() Try altdr.Close() altcmd = New MySqlCommand ( "select * from tstaf where idstaf='" & tbID.Text & "' and pin='" & tbPIN.Text & "'" , altconn) altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
Select Case altdr.Item( "idGrup" ) Case "3" _03Menu_Utama.ToolStripStatusLabel1.Text = "Karyawan" Case "2" _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Case "1" _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" Select Case altdr.Item( "idGrup" ) Case "3" _03Menu_Utama.ToolStripStatusLabel1.Text = "Karyawan" Case "2" _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Case "1" _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser"
If Format(Now, "HH" )<8 And Format(Now, "mm" ) < 60 Then
altcmd = New MySqlCommand ( "INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), '00:00:00', '-', '17:00:00', '-')" , altconn)
Else
altcmd = New MySqlCommand ( "INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), TIMEDIFF(CURTIME(),'08:00:00'), '-', '17:00:00', '-')" , altconn)
End If altcmd.ExecuteNonQuery() afterlogin()
End If
Else tbID.Focus() MsgBox( "ID atau PIN yang anda masukkan masih salah" ) altdr.Close()
End If
Catch ex As MySqlException
MsgBox(ex.Message) End Try End Sub
'presensi aja Public Sub prosespresensi() Try altcmd = New MySqlCommand ( "select * from tstaf where idstaf='" & tbID.Text & "' and pin='" & tbPIN.Text & "'" , altconn) altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then
Select Case altdr.Item( "idGrup" ) Case "3" _03Menu_Utama.ToolStripStatusLabel1.Text = "Karyawan" Case "2" _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Case "1" _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" End Select altdr.Close() altcmd = New MySqlCommand ( "select * from tpresensi where tanggal = '" & Format(Now, "yyMMdd" )& "' and idstaf = '" & tbID.Text & "' order by tanggal desc" , altconn) altdr = altcmd.ExecuteReader altdr.Read()
If altdr.HasRows Then afterlogin() Else altdr.Close()
If Format(Now, "HH" )<8 And Format(Now, "mm" ) < 60 Then
altcmd = New MySqlCommand ( "INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), '00:00:00', '-', '17:00:00', '-')" , altconn)
Else
altcmd = New MySqlCommand ( "INSERT INTO tpresensi VALUES('" & tbID.Text & "', CURDATE(), CURTIME(), TIMEDIFF(CURTIME(),'08:00:00'), '-', '17:00:00', '-')" , altconn)
End If altcmd.ExecuteNonQuery()
'nambahin baru btnLogin.Enabled = False tbID.Clear() tbPIN.Clear() Label1.Text = "Nama Lengkap"
End If
Else tbID.Focus() MsgBox( "ID atau PIN yang anda masukkan masih salah" ) altdr.Close()
End If
Catch ex As MySqlException
MsgBox(ex.Message) End Try End Sub 'presensi aja
Sub afterlogin() altdr.Close() Me .Hide() _03Menu_Utama .Show()
If _03Menu_Utama.ToolStripStatusLabel1.Text = "Superuser" Then
_03Menu_Utama.SuperuserToolStripMenuItem1.Visible = True _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = False _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = False
ElseIf _03Menu_Utama.ToolStripStatusLabel1.Text = "Admin SDM" Then
_03Menu_Utama.SuperuserToolStripMenuItem1.Visible = False _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = True _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = False
Else _03Menu_Utama.SuperuserToolStripMenuItem1.Visible = False _03Menu_Utama.AdminSDMToolStripMenuItem1.Visible = False _03Menu_Utama.KaryawanToolStripMenuItem1.Visible = True
End If _03Menu_Utama.ToolStripStatusLabel2.Text = Label1.Text _03Menu_Utama.Label4.Text = tbID.Text
End Sub