• Tidak ada hasil yang ditemukan

RANCANG BANGUN SISTEM PRESENSI KARYAWAN

N/A
N/A
Protected

Academic year: 2018

Membagikan "RANCANG BANGUN SISTEM PRESENSI KARYAWAN"

Copied!
83
0
0

Teks penuh

(1)

(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

(2)

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

(3)

i

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

(4)

ii

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

(5)

iii

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.

(6)

iv

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.

(7)

v DAFTAR ISI

KATA PENGANTAR ... i

ABSTRAKSI ... iii

ABSTRACT ... iv

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah... 2

1.4 Sistematika Penulisan ... 2

BAB II LANDASAN TEORI ... 4

2.1 Pengertian Presensi ... 4

2.2 Pengertian Aplikasi ... 5

2.3 Pengertian Sistem ... 5

2.4 Pengertian Data dan Informasi ... 8

2.5 Pengertian Sistem Informasi ... 10

2.6 Visual Basic ... 10

2.7 MySQL ... 12

2.8 Alat Analisis ... 12

(8)

vi

2.8.2 Diagram Alir Dokumen (Flow Map) ... 14

2.8.3 UML (Unified Modelling Language) ... 15

2.8.3.1 Tujuan UML ... 16

2.8.3.2 Notasi UML ... 16

2.8.3.2.1 Actor ... 16

2.8.3.2.2 Use Case ... 17

2.8.3.2.3 Interaction ... 18

2.8.3.2.4 Dependency ... 18

2.8.3.2.5 Association ... 19

2.8.3.2.6 Generalization ... 19

2.8.3.2.7 Realization ... 20

2.8.3.2.8 Use Case Diagram ... 20

2.8.3.2.9 Sequence Diagram ... 21

2.8.4 Entity Relationship Diagram (ERD) ... 22

BAB III PEMBAHASAN ... 23

3.1 Analisis Sistem Berjalan ... 23

3.1.2 Deskripsi Sistem Berjalan ... 23

3.1.3 Flow map ... 24

3.1.4 Penilaian Terhadap Sistem Berjalan ... 25

3.1.4.1 Data ... 26

3.1.4.2 Informasi ... 28

3.2 Perancangan Sistem Baru ... 31

(9)

vii

3.2.2 ERD ... 34

3.2.3 Relasi Tabel ... 35

3.2.4 Antarmuka ... 35

3.2.4.1 Input ... 35

3.2.4.2 Output ... 37

3.2.5 Kodifikasi ... 38

3.2.6 Flowchart yang diusulkan ... 39

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 43

4.1 Implementasi ... 43

4.1.1 Antarmuka ... 43

4.1.2 Perangkat keras yang digunakan ... 45

4.2 Pengujian ... 46

4.2.1 Koneksi basisdata ... 46

4.2.2 Presensi dan login ... 47

BAB V PENUTUP ... 49

5.1 Simpulan ... 49

5.2 Saran ... 49

DAFTAR PUSTAKA ... 51

(10)

viii

DAFTAR GAMBAR

Gambar 2.1 Karakteristik Sistem ... 8

Gambar 2.2 Sisklus Pengolahan Data ... 9

Gambar 2.3 System Development Life Cycle ... 14

Gambar 2.4 Notasi Actor... 16

Gambar 2.5 Notasi Use Case ... 17

Gambar 2.6 Notasi Interaction ... 18

Gambar 2.7 Contoh Notasi Include Dependency ... 19

Gambar 2.8 Notasi Association ... 19

Gambar 2.9 Notasi Generalization ... 19

Gambar 2.10 Notasi Realization ... 20

Gambar 2.11 Contoh Use Case Diagram ... 21

Gambar 2.12 Sequence Diagram ... 21

Gambar 3.1 Flow map sistem berjalan ... 25

Gambar 3.2 Use Case Diagram yang diusulkan ... 31

Gambar 3.3 Sequence Diagram Karyawan ... 32

Gambar 3.4 Sequence Diagram Admin SDM ... 33

Gambar 3.5 Sequence Diagram Superuser ... 33

Gambar 3.6 Diagram ERD ... 34

Gambar 3.7 Relasi Tabel ... 35

(11)

ix

Gambar 3.9 Informasi Presensi ... 36

Gambar 3.10 Informasi Pribadi ... 36

Gambar 3.11 Ubah PIN ... 37

Gambar 3.12 Peringatan dan pesan kesalahan ... 37

Gambar 3.13 Rekapitulasi Presensi per periode tertentu ... 37

Gambar 3.14 Rekapitulasi Presensi tiap karyawan per periode tertentu ... 38

Gambar 3.15 Flowchart presensi ... 39

Gambar 3.16 Flowchart perbarui alasan keterlambatan dan pulang cepat ... 40

Gambar 3.17 Flowchart Admin SDM ... 41

Gambar 3.18 Flowchart Superuser ... 42

Gambar 4.1 Presensi Karyawan ... 43

Gambar 4.2 Informasi Presensi ... 44

Gambar 4.3 Informasi Pribadi ... 44

Gambar 4.4 Ubah PIN ... 45

Gambar 4.5 Peringatan dan pesan kesalahan ... 45

Gambar 4.6 Gagal terhubung ke basisdata ... 46

Gambar 4.7 Proses Presensi ... 47

Gambar 4.8 Proses login ketika kolom ID dan atau PIN dikosongkan ... 47

(12)

x

DAFTAR TABEL

Tabel 2.1 Simbol Diagram Alir Dokumen ... 15

Tabel 2.2 Notasi ERD ... 22

Tabel 3.1 Analisis Data Presensi ... 26

Tabel 3.2 Pengembangan Data Presensi – Tabel Karyawan ... 27

Tabel 3.3 Pengembangan Data Presensi – Tabel Presensi ... 27

Tabel 3.4 Output aplikasi presensi yang sedang berjalan ... 28

Tabel 3.5 Rekapitulasi Presensi Global ... 29

(13)

1

BAB I

PENDAHULUAN

1.1Latar 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

(14)

Merujuk pada uraian di atas, penulis menetapkan “Rancang Bangun Sistem

Presensi Karyawan Menggunakan Visual Basic 2010 dan MySQL 5 (Studi Kasus:

STEI SEBI)“ sebagai judul skripsi yang dibuat.

1.2Rumusan 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.3Batasan 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.4Sistematika Penulisan

Skripsi ini disusun secara sistematis ke dalam beberapa bab, antara lain:

(15)

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

(16)

4

BAB II

LANDASAN TEORI

2.1Pengertian 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.

(17)

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.2Pengertian Aplikasi

Menurut (Dhanta, 2009), aplikasi (application) adalah software yang dibuat oleh

suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu.

2.3Pengertian 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.

(18)

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 sistem ke

(19)

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

(20)

Gambar 2.1 Karakteristik Sistem

Sumber: (Jogiyanto, Analisis dan Desain Sistem Informasi: Pendekatan

Terstruktur Teori dan Praktek Aplikasi Bisnis, 2005)

2.4Pengertian 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

(21)

suatu informasi. Informasi adalah hasil dari kegiatan pengolahan data yang

memberikan bentuk yang lebih berarti dari suatu kejadian.

Suatu proses pengolahan data terdiri dari 3 tahapan dasar yang disebut dengan

siklus pengolahan data (data processing cycle), yaitu masukan (input), proses

(process) dan keluaran (output).

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.

(22)

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.5Pengertian 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.6Visual Basic

Microsoft Visual Basic atau disingkat VB merupakan salah satu bahasa

pemrograman aplikasi yang sangat dikenal di dunia. Aplikasi VB pertama kali

(23)

yaitu bahasa pemrograman BASIC (Beginner’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

(24)

2.7MySQL

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.8Alat Analisis

Perlunya alat bantu dalam proses pembuatan sebuah aplikasi akan sangat

bermanfaat dalam pemahaman dan evaluasi informasi dari sebuah sistem yang

(25)

2.8.1Metode 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

(26)

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.2Diagram Alir Dokumen (Flow Map)

Menurut (Albahra, 2005), Diagram Alir Dokumen atau Flow Map adalah

bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian

(27)

Tabel 2.1 Simbol Diagram Alir Dokumen

Komponen Keterangan

Proses

Dokumen

Arsip

Proses Manual

Input manual

Media Simpan

Garis Alir

2.8.3UML (Unified Modelling Language)

Hermawan (Hermawan, 2004) menjelaskan bahwa UML merupakan bahasa

standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari

(28)

2.8.3.1Tujuan 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.2Notasi UML 2.8.3.2.1Actor

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.

(29)

2.8.3.2.2Use 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

(30)

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.3Interaction

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.4Dependency

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

(31)

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.5Association

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.6Generalization

Generalization menunjukan hubungan antar elemen yang lebih umum

(superclass) ke elemen yang lebih spesifik (sub class).

(32)

2.8.3.2.7Realization

Realization menunjukan hubungan yang akan merealisasikan apa yang dinyatakan

oleh elemen sebelumnya.

Gambar 2.10 Notasi Realization

2.8.3.2.8Use 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

(33)

Gambar 2.11 Contoh Use Case Diagram

2.8.3.2.9Sequence 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.

(34)

2.8.4Entity 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).

(35)

23

BAB III PEMBAHASAN

3.1Analisis 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.2Deskripsi 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

(36)

menjadi masalah pada karyawan dengan tingkat kepedulian dan ketelitian

yang rendah terhadap prosedur presensi.

Masalah lain adalah mengenai ketiadaan fasilitas penambahan akun yang

akan membebani karyawan baru karena mereka harus melakukan pelaporan

kehadiran secara manual ke Bagian SDM di setiap harinya.

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.3Flow map

Berikut adalah flow map dari sistem berjalan yang telah diuraikan pada bagian

(37)

Gambar 3.1 F low map sistem berjalan

3.1.4Penilaian 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

(38)

- 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.1Data

Berikut analisis data presensi yang dipergunakan pada sistem aplikasi presensi

yang sedang berjalan dalam bentuk tabel:

Tabel 3.1 Analisis Data Presensi

Item Fungsi Sumber Data Kemunculan

Nama Identitas presensi Karyawan Presensi Tanggal Informasi tanggal

kehadiran

Komputer Presensi, Laporan presensi

JamDatang Infromasi jam kedatangan

Komputer Presensi, Laporan presensi

JamKeterlambatan Informasi lama keterlambatan

Aplikasi presensi Presensi, Laporan presensi

PtnganKeterlambatan Tidak diketahui Aplikasi presensi Presensi

EHK Tidak diketahui Aplikasi Presensi

Alasan Membuat

keterangan keterlambatan

Karyawan Presensi

TEHK Tidak diketahui Aplikasi presensi Presensi Tlambat Tidak diketahui Aplikasi presensi Presensi

Berdasarkan keterangan di atas, terdapat beberapa item yang semestinya

(39)

pendukung untuk efiktifitas prosedur presensi. Berikut bentuk pengembangan data

tabel yang diusulkan:

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,

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

kehadiran Jam Datang Informasi jam

(40)

Rekapitulasi Presensi Detail Jam Pulang Informasi jam

kepulangan Alasan Pulang Cepat Membuat

keterangan

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

Item Fungsi Sumber Data Kemunculan

Nama Identitas presensi Karyawan Presensi Tanggal Informasi tanggal

kehadiran

Komputer Presensi, Laporan presensi

JamDatang Infromasi jam kedatangan

Komputer Presensi, Laporan presensi

JamKeterlambatan Informasi lama keterlambatan

Aplikasi presensi Presensi, Laporan presensi

PtnganKeterlambatan Tidak diketahui Aplikasi presensi Presensi

EHK Tidak diketahui Aplikasi Presensi

Alasan Membuat

keterangan keterlambatan

Karyawan Presensi

TEHK Tidak diketahui Aplikasi presensi Presensi Tlambat Tidak diketahui Aplikasi presensi Presensi

(41)

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 Jumlah Presen Informasi jumlah

kehadiran

Komputer Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail Jumlah Absen Informasi jumlah

ketidakhadiran

Komputer Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail

Kota Keterangan Kota Admin SDM Rekapitulasi

Presensi Global, KaBag SDM Validasi Kepala

Bagian SDM

Tabel 3.6 Rekapitulasi Presensi Detail

Item Fungsi Sumber Data Kemunculan

ID Identitas presensi Admin SDM Presensi,

(42)

Nama Lengkap Identitas nama Tanggal Informasi tanggal

kehadiran Jam Datang Informasi jam

kedatangan Jam Pulang Informasi jam

kepulangan Alasan Pulang Cepat Informasi

kepulangan

Karyawan Rekapitulasi Presensi Global, Rekapitulasi Presensi Detail

Kota Keterangan Kota Admin SDM Rekapitulasi

Presensi Global, KaBag SDM Validasi Kepala

(43)

3.2Perancangan Sistem Baru

Tahap perancangan ini dipersiapkan dalam rangka memenuhi proses implementasi

dan juga memberikan gambaran umum mengenai bentuk sistem yang akan

dikembangkan.

3.2.1UML

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.

(44)

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

(45)

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

(46)
(47)

3.2.3Relasi Tabel

Gambar 3.7 Relasi Tabel

3.2.4Antarmuka

3.2.4.1Input

(48)

Gambar 3.9 Informasi Presensi

(49)

Gambar 3.11 Ubah PIN

Gambar 3.12 Peringatan dan pesan kesalahan yang berhubungan dengan ID dan PIN

3.2.4.2Output

(50)

Gambar 3.14 Rekapitulasi Presensi tiap karyawan per periode tertentu

3.2.5Kodifikasi

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

(51)

3.2.6Flowchart yang diusulkan

(52)
(53)
(54)
(55)

43

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1Implementasi

Implementasi merupakan tahapan yang dilakukan untuk menambatkan sistem

sehingga siap untuk dioperasikan.

4.1.1Antarmuka

Berikut merupakan hasil implementasi dari sistem yang telah dibuat berupa

screenshot aplikasi yang telah dikembangkan menggunakan pemrograman Visual

Basic 2010 dan basisdata MySQL 5.

(56)

Gambar 4.2 Informasi Presensi

(57)

Gambar 4.4 Ubah PIN

Gambar 4.5 Peringatan dan pesan kesalahan

4.1.2Perangkat keras yang digunakan

1. Server (webhosting):

Clock prosesor : 3,2Ghz

Ruang harddisk : 250Mb

Memori : 512Mb

2. Client:

Clock prosesor : 1,6Ghz

(58)

Memori : 6Gb

Lain-lain : Mouse, Keyboard, Monitor

4.2Pengujian

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.1Koneksi basisdata

Kolom ID Staf dan PIN akan terblokir (disable) kemudian statusbar akan

menampilkan pesan bahwa koneksi ke server basisdata bermasalah

(59)

4.2.2Presensi dan login

Gambar 4.7 Proses Presensi

(60)
(61)

49

BAB V PENUTUP

5.1Simpulan

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.2Saran

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

(62)

sebagainya yang mana saat ini memang belum dibutuhkan pihak STEI SEBI

sehubungan dengan efisiensi anggaran untuk pengadaan perangkat terkait jumlah

(63)

51

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.

(64)

52

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.

(65)
(66)

Public Class _01Login

Private Sub _01Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Private Sub btnPresence_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPresence.Click

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) idstaf='" & tbID.Text & "' AND tanggal= CURDATE() ", altconn)

altdr = altcmd.ExecuteReader idstaf='" & tbID.Text & "'", altconn)

altdr = altcmd.ExecuteReader altdr.Read()

tbPIN.Text = altdr.Item("pin")

(67)

prosespresensi()

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)

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 & tbPIN.Text & "'", altconn)

(68)

altdr.Read() 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 & tbPIN.Text & "'", altconn)

altdr = altcmd.ExecuteReader "yyMMdd") & "' and idstaf = '" & tbID.Text & "' order by tanggal desc", altconn)

altdr = altcmd.ExecuteReader 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)

(69)

End If

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

Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click

Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click

End End Sub

(70)

Public Class _02Daftar_Kehadiran

Protected Overrides ReadOnly Property CreateParams() As CreateParams Get

Private Sub btnBack_Click(sender As System.Object, e As System.EventArgs) Handles btnBack.Click Me.Close()

_01Login.Show() _01Login.tbID.Clear() _01Login.tbPIN.Clear()

_01Login.Label1.Text = "Nama Lengkap"

_01Login.PictureBox2.Image = My.Resources.logo _01Login.tbID.Focus()

Private Sub _02Daftar_Hadir_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

tpresensi.jammasuk as jam, tpresensi.telat as telat, tpresensi.ketmasuk as alasan from tstaf, tpresensi where tstaf.idstaf=tpresensi.idstaf and tpresensi.tanggal=CURDATE() and tstaf.idstaf <> '0000'",

altconn)

'altcmd = New MySqlCommand("select tpresensi.idstaf as id, tstaf.nama as nama, tstaf.alamat as alamat from tstaf, tpresensi where tstaf.idstaf=tpresensi.idstaf and tpresensi.tanggal=CURDATE()", altconn)

altcmd = New MySqlCommand("select idstaf, nama, alamat from tstaf where idstaf not in (select idstaf from tpresensi where tanggal=curdate()) and idstaf <> '0000'", altconn)

(71)

End With End While altdr.Dispose() altdr.Close() Catch ex As Exception MsgBox(ex.Message) End Try

(72)

Public Class _03Menu_Utama

'kode untuk menonaktifkan tombol "x"

Protected Overrides ReadOnly Property CreateParams() As CreateParams Get

'kode untuk menonaktifkan tombol "x"

Private Sub btnBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click

_01Login.PictureBox2.Image = My.Resources.logo _01Login.tbID.Focus()

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

ToolStripStatusLabel3.Text = Format(Now, "dd/MM/yy HH:mm:ss") If Format(Now, "dd") <= 26 Then

If Month(Now) = 1 Then

Label8.Text = "27 " & MonthName(12) & " " & Year(Now) - 1 & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)

Else

Label8.Text = "27 " & MonthName(Month(Now) - 1) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)

End If Else

If Month(Now) = 12 Then

Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(1) & " " & Year(Now) + 1

Else

Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now) + 1) & " " & Year(Now)

End If End If End Sub

'kode untuk timer

Private Sub _03Menu_Utama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

datapresensi()

altcmd = New MySqlCommand("select hour(telat) as jam, minute(telat) as menit, ketmasuk, jampulang, ketpulang from tpresensi where idstaf='" & _01Login.tbID.Text & "' and tanggal = '" & Format(Now, "yyMMdd") & "'", altconn)

(73)

End If

Private Sub btnUpdateAlasanTelat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateAlasanTelat.Click

altcmd = New MySqlCommand("UPDATE tpresensi SET tpresensi.ketmasuk='" & Replace(TextBox1.Text, "'", "''") & "' where tpresensi.idstaf='" & _01Login.tbID.Text & "' and tanggal = '" & Format(Now, "yyMMdd") & "'", altconn) MonthName(Month(Now)) & " " & Year(Now)

altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &

_01Login.tbID.Text & " and tanggal between '" & Year(Now) - 1 & "-12-27' and '" & Year(Now) & "-" & Month(Now) & "-26' order by tanggal desc", altconn)

Else

'Label8.Text = "27 " & MonthName(Month(Now) - 1) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now)) & " " & Year(Now)

altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &

_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) - 1 & "-27' and '" & Year(Now) & "-" & Month(Now) & "-26' order by tanggal desc", altconn)

End If Else

If Month(Now) = 12 Then

'Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(1) & " " & Year(Now) + 1

altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &

_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) & "-27' and '" & Year(Now) + 1 & "-01-26' order by tanggal desc", altconn)

Else

'Label8.Text = "27 " & MonthName(Month(Now)) & " " & Year(Now) & " - " & "26 " & MonthName(Month(Now) + 1) & " " & Year(Now)

altcmd = New MySqlCommand("select * from tpresensi where idstaf=" &

_01Login.tbID.Text & " and tanggal between '" & Year(Now) & "-" & Month(Now) & "-27' and '" & Year(Now) & "-" & Month(Now) + 1 & "-26' order by tanggal desc", altconn)

(74)

Dim cmd As New MySqlCommand("UPDATE tpresensi SET jampulang=CURTIME(), ketpulang='" &

Replace(TextBox2.Text, "'", "''") & "' where idpresensi='" & Format(Now, "yyMMdd") + _01Login.tbID.Text & "'", altconn)

Private Sub KelolaDataPribadiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem.Click

_04Data_Pribadi.ShowDialog() End Sub

Private Sub KelolaDataPribadiToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem1.Click

_04Data_Pribadi.ShowDialog() End Sub

Private Sub KelolaDataPribadiToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles KelolaDataPribadiToolStripMenuItem2.Click

_04Data_Pribadi.ShowDialog() End Sub

Private Sub UbahPINToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem.Click

_05Ubah_PIN.ShowDialog() End Sub

Private Sub UbahPINToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem1.Click

_05Ubah_PIN.ShowDialog() End Sub

Private Sub UbahPINToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles UbahPINToolStripMenuItem2.Click

_05Ubah_PIN.ShowDialog() End Sub

Private Sub TambahAdminSDMToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ManajemenAdminSDMToolStripMenuItem.Click

_06Tambah_Admin.ShowDialog() End Sub

Private Sub TambahDataKaryawanToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles TambahDataKaryawanToolStripMenuItem.Click

_07Tambah_Karyawan.ShowDialog() End Sub

(75)

Imports System.Drawing.Bitmap

'kode untuk menonaktifkan tombol "x"

Protected Overrides ReadOnly Property CreateParams() As CreateParams Get

'kode untuk menonaktifkan tombol "x"

Dim id As String

Sub enable(ByVal root As Control, ByVal state As Boolean) For Each ctrl As Control In root.Controls

Private Sub _04Data_Pribadi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idstaf='" & _01Login.tbID.Text & "'", altconn)

DateTimePicker1.Text = Convert.ToDateTime(altdr.Item("tanggalLahir")) TextBox4.Text = altdr.Item("alamat")

TextBox5.Text = altdr.Item("telfon") End If

(76)

Private Sub btnUpdateFoto_Click(sender As System.Object, e As System.EventArgs) Handles btnUpdateFoto.Click

On Error Resume Next

OpenFileDialog1.Filter = "Supported files|*.jpg;*.png" OpenFileDialog1.ShowDialog()

PictureBox1.Load(OpenFileDialog1.FileName) strimagename = OpenFileDialog1.FileName

PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage gantifoto = True

End Sub

Private Sub btnUpdateData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateData.Click

Dim jk As Char

Dim mstream As New System.IO.MemoryStream()

'PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg) //jum'at Dim arrImage() As Byte = mstream.GetBuffer()

altcmd.Parameters.AddWithValue("@File", IO.File.ReadAllBytes(OpenFileDialog1.FileName)) Else

Private Sub btnUpdatePin_Click(sender As System.Object, e As System.EventArgs) _05Ubah_PIN.ShowDialog()

End Sub

Private Sub btnTutupDataPribadi_Click(sender As System.Object, e As System.EventArgs) Handles btnTutupDataPribadi.Click

Me.Close() End Sub

(77)

Public Class _05Ubah_PIN

Private Sub _05Ubah_PIN_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TextBox1.Focus()

End Sub

Private Sub TextBox3_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress

If e.KeyChar = Chr(13) Then ubahpin() End Sub

Private Sub btnUbah_Click(sender As System.Object, e As System.EventArgs) Handles btnUbah.Click ubahpin() and pin='" & TextBox1.Text & "'", altconn)

altdr = altcmd.ExecuteReader idstaf='" & _01Login.tbID.Text & "'", altconn)

altdr.Close()

Private Sub btnBatalUbahPIN_Click(sender As System.Object, e As System.EventArgs) Handles btnBatalUbahPIN.Click

Me.Close() End Sub

(78)

Private Sub btnTambahAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnTambahAdmin.Click

Dim mstream As New System.IO.MemoryStream() Dim arrImage() As Byte = mstream.GetBuffer()

altcmd = New MySqlCommand("INSERT INTO tstaf(idstaf, pin, nama, jenisKelamin, tempatLahir, tanggalLahir, alamat, telfon, idgrup, foto) values('" & tbIDAdmin.Text & "','" & tbPINAdmin.Text & "','" & tbNamaAdmin.Text & "', 1, '-', 2013-01-01, '-', '-', 2, @foto)", altconn)

altcmd.Parameters.AddWithValue("@foto", IO.File.ReadAllBytes("../../Resources/logo.png")) altcmd.ExecuteNonQuery()

Private Sub _06Tambah_Admin_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idgrup=2", altconn)

Private Sub ListView1_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick

Private Sub btnPerbaruiAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnPerbaruiAdmin.Click

altcmd = New MySql.Data.MySqlClient.MySqlCommand("update tstaf set nama = '" & tbNamaAdmin.Text & "', pin = '" & tbPINAdmin.Text & "' where idstaf = '" & tbIDAdmin.Text & "'", altconn)

altcmd.ExecuteNonQuery() altcmd.Dispose()

MsgBox("Updated")

(79)

tbIDAdmin.Clear()

tbNamaAdmin.Text = "Admin SDM" tbPINAdmin.Text = "1231" End Sub

Private Sub btnHapusAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnHapusAdmin.Click

altcmd = New MySql.Data.MySqlClient.MySqlCommand("delete from tstaf where idstaf = '" & tbIDAdmin.Text & "'", altconn)

Private Sub btnResetAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnResetAdmin.Click

Private Sub btnTutupAdmin_Click(sender As System.Object, e As System.EventArgs) Handles btnTutupAdmin.Click

Me.Close() End Sub

(80)

Private Sub btnTambahKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnTambahKaryawan.Click

Dim mstream As New System.IO.MemoryStream() Dim arrImage() As Byte = mstream.GetBuffer()

altcmd = New MySqlCommand("INSERT INTO tstaf(idstaf, pin, nama, jenisKelamin, tempatLahir, tanggalLahir, alamat, telfon, idgrup, foto) values('" & tbIDKaryawan.Text & "','" & tbPINKaryawan.Text & "','" & tbNamaKaryawan.Text & "', 1, '-', 2013-01-01, '-', '-', 3, @foto)", altconn)

altcmd.Parameters.AddWithValue("@foto", IO.File.ReadAllBytes("../../Resources/logo.png")) altcmd.ExecuteNonQuery()

Private Sub _07Tambah_Karyawan_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

altcmd = New MySql.Data.MySqlClient.MySqlCommand("select * from tstaf where idgrup=3", altconn)

Private Sub ListView1_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick

Private Sub btnPerbaruiKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnPerbaruiKaryawan.Click

altcmd = New MySql.Data.MySqlClient.MySqlCommand("update tstaf set nama = '" &

tbNamaKaryawan.Text & "', pin = '" & tbPINKaryawan.Text & "' where idstaf = '" & tbIDKaryawan.Text & "'", altconn)

altcmd.ExecuteNonQuery() altcmd.Dispose()

MsgBox("Updated")

(81)

tbIDKaryawan.Enabled = True tbIDKaryawan.Clear()

tbNamaKaryawan.Text = "Nama Lengkap" tbPINKaryawan.Text = "1231"

End Sub

Private Sub btnHapusKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnHapusKaryawan.Click

altcmd = New MySql.Data.MySqlClient.MySqlCommand("delete from tstaf where idstaf = '" & tbIDKaryawan.Text & "'", altconn)

Private Sub btnResetKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnResetKaryawan.Click

Private Sub btnTutupKaryawan_Click(sender As System.Object, e As System.EventArgs) Handles btnTutupKaryawan.Click

Me.Close() End Sub

(82)

Module Module1

Public altconn As MySqlConnection Public altda As MySqlDataAdapter Public altds As DataSet

Public altcmd As MySqlCommand Public altdr As MySqlDataReader

Public altstr, altserver, altuser, altpw, altdb As String

Public Sub altconnect()

'altstr = "server=192.168.0.1; port=3306; user=root; password=P4ssW0rd; database=asibi" altstr = "server=localhost; user=root; password=; database=asibi"

(83)

Gambar

Gambar 2.1 Karakteristik Sistem
Tabel 2.1 Simbol Diagram Alir Dokumen
Gambar 2.4 Notasi Actor
Gambar 2.12 Sequence Diagram
+7

Referensi

Dokumen terkait

On 10 Oct 2006, a Yellowbill Ceuthmochares aereus was caught in a mist net in a relatively open area of savannah scrub in the reserve (Fig. 2) and on 30 Jun 2011, a song of

Salah satu faktor yang mempengaruhi kinerja guru adalah pembinaan oleh kepala sekolah melalui supervisi, salah satu faktor faktor ekstrinsik yang berkontribusi

Dukungan dana yang dimaksud dalam ayat ini dapat diberikan sebagai bantuan pembiayaan bagi perguruan tinggi, lembaga litbang, dan badan usaha dalam melaksanakan kegiatan

(1) Penyidik, penuntut umum, atau hakim berwenang memerintahkan kepada Penyedia Jasa Keuangan untuk melakukan pemblokiran terhadap Harta Kekayaan setiap orang yang telah dilaporkan

Berdasarkan tabel 2, laju reaksi fermentasi bonggol pisang menjadi etanol pada orde tiga disajikan dalam gambar 5, grafik antara ½(a-x) 2 pada variasi waktu

Dalam Perhitungan Anggaran Negara Tahun Anggaran 1997/1998 tersebut terdapat Sisa Anggaran Kurang sebesar Rp 1.307.456.043.166,00 (satu triliun tiga ratus tujuh miliar empat

Komposisi plak gigi bervariasi pada permukaan yang berbeda sebagai hasil dari perlekatan secara biologi dan fisik yang apabila keseimbangan populasi bakteri yang

bahwa sesuai dengan ketentuan Pasal 2 ayat (1) Peraturan Pemerintah Nomor 12 Tahun 1969, penyertaan modal Negara dalam rangka pendirian Perusahaan Perseroan (PERSERO) perlu