1. Analisis Proses Bisnis Seseorang yang ingin mencari arsip, harus mencari langsung ke gudang tempat penyimpanan arsip kemudian harus dicari satu per satu dari urutan no box kemudian setelah menemukan box yang dicari, baru mengecek no odner dan sekaligus mengecek no arsip yang dicari. Alurnya bisa dilihat pada gambar dibawah ini.
Mengambil odner yang ada di box Mencari arsip yang ada di box di dalam gudang
Mengambil arsip yang ingin dicari dari dalam odner Arsip yang sudah di cari
2. Kebutuhan Non-Fungsional 2.1 Target User Target user dari aplikasi ini adalah Admin Arsip, Dosen dan Mahasiswa. 1. Admin Arsip dapat melakukan penambahan, pengubahan dan penghapusan data yang ada pada aplikasi ini. 2. Dosen dapat melakukan penambahan data yang ada pada aplikasi ini. 3. Mahasiswa dapat melakukan penambahan data yang ada pada aplikasi ini. Tabel 1. Target User
User
Tanggung Jawab
Hak akses
Tingkat Pendidikan
Tingkat Keterampilan Memiliki dasar penggunaan komputer yang baik, mampu membaca bahasa inggris -
Admin Arsip
Berinteraksi Minimal dengan layar lulusan D3 komputer yang memiliki layanan internet
Dosen
Melakukan Berinteraksi penambahan dengan data diri Admin Arsip untuk data absensi dan sebagai pembimbing dan penguji. Melakukan Berinteraksi penambahan dengan data diri Admin Arsip untuk mendapatka n Surat Keterangan
Minimal S2
Mahasisw a
2.2 Hardware yang dibutuhkan Spesifikasi hardware yang dibutuhkan untuk menjalankan aplikasi ini adalah : a. Sistem Operasi Windows XP b. Prosesor sekelas dengan Intel Pentium IV c. RAM 1 Gb d. Space Hardisk 80 Gb e. LAN Card 2.3 Software yang dibutuhkan
Spesifikasi software yang dibutuhkan untuk menjalankan aplikasi ini adalah : a. Visual Basic 6.0 b. MySQL 3. Kebutuhan Fungsional Diagram konteks atau disebut juga dengan model sistem fundamental merepresentasikan seluruh elemen sistem sebagai sebuah bubble tunggal dengan data input output yang ditunjukkan oleh anak panah yang masuk dan keluar secara berurutan.
Data arsip absensi yang akan ditambah, diubah,dihapus Data file mahasiswa yang akan ditambah, diubah,dihapus Data file dosen yang akan ditambah, diubah,dihapus Data surat yang akan ditambah, diubah, dihapus Login
User
Informasi arsip absensi yang sudah ditambah, diubah, dihapus Informasi file mahasiswa yang sudah ditambah, diubah, dihapus Informasi file dosen yang sudah ditambah, diubah, dihapus Informasi data surat yang sudah ditambah, diubah, dihapus Login sukses atau failed
Gambar 2. Diagram Konteks Aplikasi Arsip 3.1 DFD (Data Flow Diagram) Entitas eksternal yang menggunakan aplikasi ini ada satu, yaitu Admin arsip. DFD yang dibuat dimulai dari membuat diagram konteks yang menjelaskan proses secara umum yang bisa dilakukan oleh entitas tersebut, dan data apa saja yang mengalir. Kemudian membuatnya menjadi DFD level-0. Berikut dijelaskan pada gambar dibawah ini.
1.0 Pengolahan Data Arsip Informasi arsipabsensi yang sudah ditambah, diubah, absensi dihapus Data arsip absensi yang ingin ditambah, diubah, dihapus Data arsip absensi yang sudah ditambah, diubah, dihapus Absensi
User
Informasi data file Mahasiswa dan Dosen yang sudah ditambah, diubah, dihapus
Data file Mahasiswa dan Dosen yang ingin ditambah, diubah, dihapus
Data file Mahasiswa dan Dosen yang ingin ditambah, diubah, dihapus Data file Mahasiswa dan Dosen yang sudah ditambah, diubah, dihapus File Mahasiswa dan Dosen
Informasi data Surat yang sudah ditambah, diubah, dihapus 3.0 Pengolahan Data Surat Data Surat yang ingin ditambah, diubah, dihapus
4.0 Login Data user dan password yang ingin ditambah, diubah, dihapus
Informasi data user dan password yang sudah ditambah, diubah, dihapus
Login
3.2 Spesifikasi Proses Untuk menjelaskan lebih lanjut tentang proses-proses yang ada di dalam DFD(Data Flow Diagram) dibuatlah spesifikasi proses. Adapun spesifikasi proses untuk DFD (Data Flow Diagram) aplikasi ini adalah sebagai berikut:
Tabel 2. Spesifikasi proses pada DFD aplikasi data arsip No. 1 Proses No. Proses Nama Proses Source (sumber) Input Output 1.0 Pengolahan Data Absensi 1. Dosen Data absensi yang ditambah, diubah, dihapus Inforamasi absensi yang sudah ditambah, diubah, dihapus Destination (tujuan) Logika Proses Tabel Absensi Begin {user masuk ke tampilan awal aplikasi kemudian masuk ke tabel absensi} End 2 No. Proses Nama Proses Source (sumber) Input Output 1.1 Penambahan Data Absensi Dosen 1. Dosen Data absensi yang ingin ditambah Informasi Data absensi yang sudah ditambah dan form aktif sukses Destination (tujuan) 1. Ketua Jurusan 2. Ketua Kearsipan Logika Proses Begin {user memasukan data absensi dari form manual (media kertas) ke system komputerisasi yang Keterangan
ingin ditambahkan ke dalam tabel absensi} End 3 No. Proses Nama Proses Source (sumber) Input Output 1.2 Penampilan Data Absensi 1. Dosen Data Absensi yang ingin ditampilkan Informasi data absensi yang sudah disimpan dan bisa ditampilkan Destination (tujuan) 1. Ketua Jurusan 2. Ketua Kearsipan Logika Proses Begin {user menampilkan data absensi yang ada dalam tabel absensi} End 4 No. Proses Nama Proses Source (sumber) Input Output Destination (tujuan) 1.3 Keluar Data Absensi 3. Dosen Konfirmasi form aktif exit 1. Ketua Jurusan 2. Ketua Kearsipan Logika Proses Begin { user keluar dari data absensi yang ada dalam tabel absensi }
End 5 No. Proses Nama Proses Source (sumber) 2.0 Pengolahan Data File Mahasiswa dan Dosen 1. Mahasiswa 2. Dosen Input Output Data File yang ditambah, diubah, dihapus Informasi file yang sudah ditambah, diubah, dihapus Destination (tujuan) Logika Proses Tabel File Mahasiswa dan Dosen Begin {user masuk ke tampilan awal aplikasi kemudian masuk ke tabel file Mahasiswa atau Dosen} End 6 No. Proses Nama Proses Source (sumber) 2.1 Penambahan Data File Mahasiswa dan Dosen 1. Mahasiswa 2. Dosen Input Output Destination (tujuan) Logika Proses Data File yang ingin ditambah Informasi Data File yang sudah ditambah Tabel Data File Mahasiswa atau Dosen Begin {user memasukan data file yang ingin
End 7 No. Proses Nama Proses Source (sumber) 2.2 Pengubahan Data File Mahasiswa dan Dosen 1. Mahasiswa 2. Dosen Input Output Destination (tujuan) Logika Proses Data File yang ingin diubah Informasi data file yang sudah diubah Tabel Data File Mahasiswa dan Dosen Begin {user mengubah data file yang ada dalam table file Mahasiswa maupun Dosen} End 8 No. Proses Nama Proses Source (sumber) 2.3 Penghapusan Data File Mahasiswa dan Dosen 1. Mahasiswa 2. Dosen Input Output Destination (tujuan) Logika Proses Informasi Data file yang sudah dihapus Tabel Data File Mahasiswa dan Dosen Begin { user menghapus data File Mahasiswa atau
Dosen yang ada dalam tabel File Mahasiswa atau Dosen } End
3.0 Pengolahan Data Surat Semua yang mengirim surat maupun yang
mengeluarkan surat Input Output Data Surat yang ditambah, diubah, dihapus Inforamasi Surat yang sudah ditambah, diubah, dihapus Destination (tujuan) Logika Proses Tabel Surat Begin {user masuk ke tampilan awal aplikasi kemudian masuk ke tabel surat} End 10 No. Proses Nama Proses Source (sumber) 3.1 Penambahan Data Surat Semua yang mengirim surat maupun yang
mengeluarkan surat Input Output Destination (tujuan) Logika Proses Data Surat yang ingin ditambah Informasi Data Surat yang sudah ditambah Tabel Surat Begin {user memasukan data Surat yang ingin
mengeluarkan surat Input Output Destination (tujuan) Logika Proses Data Surat yang ingin diubah Informasi data Surat yang sudah diubah Tabel Surat Begin {user mengubah data Surat yang ada dalam table Surat } End 12 No. Proses Nama Proses Source (sumber) 3.3 Penghapusan Data Surat Semua yang mengirim surat maupun yang
mengeluarkan surat Input Output Destination (tujuan) Logika Proses Informasi Data Surat yang sudah dihapus Tabel Surat Begin { user menghapus data Surat yang ada dalam tabel Surat } End 13 No. Proses Nama Proses 4.0 Login
Source (sumber)
User dan password admin kearsipan Memiliki hak untuk mengolah program kearsipan Semua aktifitas tabel Begin {user masuk ke tampilan awal aplikasi kemudian bisa masuk ke semua tabel yang ada pada program} End
3.3
Perancangan Aplikasi Perancangan merupakan bagian dari metodologi pembangunan suatu aplikasi yang harus dilakukan setelah melalui tahapan analisis. Pada bagian ini akan dijelaskan perancangan aplikasi yang dimaksudkan untuk menggambarkan perbedaan antara aplikasi yang sedang berjalan dengan aplikasi yang diusulkan. Langkah-langkah yang dilakukan dalam tahapan perancangan sistem ini adalah sebagai berikut: 1. Perancangan Data a. Skema relasi b. Struktur File 2. Perancangan Antar Muka
3.4
Perancangan Data Perancangan data atau lebih dikenal dengan perancangan basis data yaitu menciptakan atau merancang data yang terhubung dan disimpan secara bersama-sama. Untuk menggambarkannya digunakanlah skema
relasi dan struktur file. Dari dua hasil tersebut, implementasi basis data akan bisa dikerjakan.
3.5
Skema Relasi Model data relasional merupakan model data di mana hubungan antar data, arti data dan batasannya dijelaskan dengan baris dan kolom. Secara formal, ke semuanya itu digambarkan ke dalam skema relasi dan diagram skema. Adapun skema relasi yang terdapat di dalam sistem informasi kearsipan adalah sebagai berikut: 1. Absensi = {nama fieldnya apa aja} 2. Data File Mahasiswa = {nama fieldnya apa aja} 3. Data File Dosen = {nama fieldnya apa aja} 4. Data Surat Masuk = {nama fieldnya apa aja} 5. Data Surat Keluar = {nama fieldnya apa aja} 6. Data Surat Keputusan = {nama fieldnya apa aja} 7. Data Login Admin = {nama fieldnya apa aja} Untuk menggambarkan secara jelas skema relasi digunakan diagram
skema supaya lebih terlihat hubungan antar tabel. Adapun diagram skema dari aplikasi ini yaitu: Contoh :
Tabel Arsip AgendaNumber AgendaDate LetterNumber LetterDate From To Subject DocumentType Disposition Retention Problem Tabel Box Nama BoxBrand Warehouse Dimention MaxVolfile VolumeContent DescripsiBoxstatus Create Modified
Gambar 4. Diagram Skema Relasi Aplikasi Arsip 4. Struktur File Struktur file tempat penyimpanan data pada aplikasi ini adalah sebagai berikut: 1. Tabel Absensi Nama File : Absensi
Tempat Penyimpanan : Hard Disk Tabel 3.3 Struktur file tabel Arsip [ CONTOH ] Nama Field AgendaNumber AgendaDate Tipe Varchar Date Panjang 30 Kunci Primary Key
30
50 50 50 20 30 10 20
2. 3.
5.
Perancangan Antar Muka 5.1 Tampilan Awal Aplikasi Gambar dibawah ini merupakan perancangan antar muka tampilan awal aplikasi.
5.2 Tampilan Tabel Login Gambar dibawah ini merupakan perancangan antar muka tampilan tabel Login
5.3 Tampilan Tabel Absensi Gambar dibawah ini merupakan perancangan antar muka tampilan tabel absensi
5.4 Tambah Data Absensi Gambar dibawah ini merupakan perancangan antar muka tampilan tambah data absensi.
5.5 Tampil Data Absensi Gambar dibawah ini merupakan perancangan antar muka tampilan data absensi.
Syntax Private Sub cmdMasuk_Click() txtPass =Replace(Replace(txtPass, "'", "''"), ";", "") txtNama = Replace(Replace(txtNama, "'", "''"), ";", "") Adodc1.RecordSource = "select * from user where user='" & txtNama & "' and password='" & txtPass & "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then mnuLogin.Enabled = False mnuLogOff.Enabled = True mnuSurat.Enabled = True mnDosen.Enabled = True mnMahasiswa.Enabled = True Frame1.Visible = False Else MsgBox "Invalid Password, try again!", , "Login" txtPass.SetFocus End If End Sub
Analisis Syntax or= bisa merubah suatu statement yang harusnya False menjadi True, sehingga jika tidak dicegah maka system program akan mudah di Blok oleh orang, oleh karena itu, usaha untuk mencegah mysql injection bisa dengan cara menggunakan perintah replace sebagai fungsi untuk menggantikan segala sesuatu yang dimasukkan pada textbox Password dan text Username agar ketika yang dimasukkan mengandung karakter akan berubah menjadi sehingga tidak akan bisa terbaca true oleh program. Bahkan bisa diganti dengan ^, ! , @ atau apa saja, tidak harus " yg penting bukan ' saja.
Jika data username dan password yang dimasukkan sama dengan record maka menu editor LogOff, Surat, Dosen, dan Mahasiswa akan enable dan menu Login akan disable.
6.2 Pada form Absensi Dosen Syntax Private Sub Form_Load() With cboNama Adodc2.Recordset.MoveFirst Do While Not Adodc2.Recordset.EOF nama = Analisis Ketika program dirun maka akan menampilkan form dengan pengaturan yaitu menambahkan nama yang sudah terecord dalam recordset, sehingga nama akan muncul pada pilihan
cboNama. Disini memakai perintah loping agar nama yang sudah ada bisa dipakai kembali. Menambahkan item pada cboBulan yaitu Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, dan
With cboBulan .AddItem "Januari" .AddItem "Februari" .AddItem "Maret" .AddItem "April" .AddItem "Mei" .AddItem "Juni" .AddItem "Juli" .AddItem "Agustus" .AddItem "September" .AddItem "Oktober" .AddItem "November" .AddItem "Desember" End With
Desember.
End Sub Private Sub cboBulan_Click() t(29).Visible = True If cboBulan.Text = "April" Or cboBulan.Text = "Juni" Or cboBulan.Text = "September" Or cboBulan.Text = "November" Then t(31).Visible = False t(30).Visible = True ElseIf cboBulan.Text = "Februari" Then Pada combo box cboBulan diatur untuk jenis bulan yaitu jika Februari yang dipilih maka cekbox yang aktif dan bisa diisi berjumlah 29 (tahun kabisat, jika tahun biasa 28), jika Januari, Maret, Mei, Juli, Agustus, Oktober, dan Desember maka cekbox yang aktif berjumlah 31, dan jika selain bulan itu maka cekbox yang
t(30).Visible = False t(31).Visible = False Else t(30).Visible = True t(31).Visible = True End If End Sub
Private Sub txtTahun_Change() If txtTahun.Text <> "" And cboBulan.Text = "Februari" Then kabisat = txtTahun.Text Mod 4 If kabisat = 0 Then t(29).Visible = False Else t(29).Visible = True End If End If End Sub
Pada textbox txtTahun terdapat pengaturan yang menentukan tahun kabisat atau bukan. Tahun kabisat diperoleh dari nilai tahun yang dimasukkan pada txtTahun kemudian dibagi 4, jika hasilnya 0 (berarti true/tidak ada sisa) maka termasuk kabisat, jika dibagi hasilnya 1 (false) maka bukan termasuk tahun kabisat sehingga nantinya akan mempengaruhi jumlah cekbox bulan Februari.
Private Sub cmdSimpan_Click() Dim sql As String Dim sama As Integer Call konekDB sql = "" sama = 0
Adodc1.Recordset.MoveFirst Do While Not Adodc1.Recordset.EOF If cboNama.Text = Adodc1.Recordset.Fields.Item(0) Then sama = 1 End If Adodc1.Recordset.MoveNext Loop
If sama = 1 Then Adodc1.Recordset.MoveFirst Do While Not Adodc1.Recordset.EOF If txtTahun.Text = Adodc1.Recordset.Fields.Item(1) Then sama = 2 End If Adodc1.Recordset.MoveNext Loop End If
If sama <> 3 Then sql = "INSERT INTO absdosen VALUES('" & cboNama.Text & "','" & txtTahun.Text & "','" & cboBulan.Text & "'," & jmlh & ")" koneksi.Execute sql, , adCmdText If Err.Number <> 0 Then MsgBox "Tambah data gagal", vbOKOnly, "Gagal" End Else MsgBox "Data berhasil disimpan", vbInformation, "Sukses" End If Else MsgBox "Data sudah ada", vbOKOnly, "Gagal" End If End Sub Private Sub Form_Load() With cboNama dtaDosen.Adodc2.Recordset.MoveFirst Do While Not dtaDosen.Adodc2.Recordset.EOF
nama = dtaDosen.Adodc2.Recordset.Fields.Item(1) .AddItem nama dtaDosen.Adodc2.Recordset.MoveNext Loop End With End Sub
Private Sub cboNama_Click() Adodc1.RecordSource = "select tahun 'Tahun', bulan 'Bulan', hadir 'Jumlah Kehadiran' from absdosen WHERE nama = '" & cboNama.Text & "'" Adodc1.Refresh DataGrid1.Refresh End Sub