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