30.6.12

membuat absensi mengunakan VB 6.0


Membuat Aplikasi Absensi Menggunakan Visual Basic ( Part 2 ).

Maret 10, 2009
Welcome lagi pencita bloger,…thank s ya udah mau ngunjungin blog yang gado-gado ini, gak apa2 ya?..,
sebelumnya saya mau minta maaf , solanya banyak yang minta session 2 Cuma saya ngasihnya telat , maklumlah bos saya juga banyak kegiatan jadi harus bener-bener nyempetin waktu, tapi tenang saya akan tetep tepatin janjji saya.
Ok sebelumnya pernah kita bahas bagaimana membuat tampilan input Absensi dimana disitu juga kita bahas cara membuat text, label commad button,dll.
So saya harapkan untuk kali ini saya enggak perlu lagi ngejelasin lagi , jadi bagi yang Cuma baca session 2 sory ya….he…he.. ,.
Sebelum kita masuk kepembhasan Membuat Tampilan proses absesnsi , terlebih dulu saya minta maaf bila tampilan form dan fields yang kemarin agak sedikit berbeda maklumlah , aplikasi ini saya buat untuk tugas akhir makanya saya masih melakukan normalisasi, Mungkin untuk saat ini mudah-mudahan sudah lumayan normal, dan sebenrnya saya buat tidak hanya untuk absensi tapi juga satu paket degan Koreksi soal objectif serta Katalog buku perpustakaan, tapi kalau saya kasih tahu terus gimana dong dengan TA saya , dan insya Allah Aplikasi Bisa di dapetin gratis Koq entar saya kabarkan dan silahkan insatall dan download programnya , tunggu kalau saya udah kelar TA …bukan Promosi loh?, Oh ya Aplikasi ini saya buat dengan system client admin (ada admin dan client), tapi kalau saya jelaskan dari awalhigga akhir maka perlu satu buku kali ya, tapi enggak apa sedikit asal membantu itu lebih baik.
Yups ..sekarang kita tentunkan skanario dari form yang kita sebuat sebagai interface input absensi , pada form ini kita akan melakukan absensi pada tanggal hari ini ( Updating) sesuai jam di system computer, Pada pembahasan sebelumya kita sudah membuat record, No, Nip/nis/Nim, Nama, Jenis kelamin, kelas/bagian,Tanggal , alpa, izin, masuk, sakit serta total .
Dalam form Proses absesnsi dimana kelas /bagian akan kita buat sebagai locked (pengunci) kenapa ya?, ketiak saya ingin mengabsen kelas XI-A , maka , database hanya akan menampilkan data yang ada pada kelas XI-A saja smentara yang lain dihiden dulu . So, kita butuh script SQL untuk menjlankan perintah ini , BTW dalam membuat laporan pun nantinya kita perlu Dengan SQL Pastinya hal ini untuk mengelompokan data tersebut berdasarkan kelas, tentunya saya tidak membahas banyak tentang SQL , tapi pembahasan lain insya Allah saya kasih tahu bgaimana penggunaan SQl pada VB 6.0 ditunggu aja ya?.
Ok tugas kita adalah mendesaign Form seperti ini nih:
gbr1_absn_vbii
Nah buat formnya seperti ini form ini belum saya running jika sudah di running, maka hasilnya:
gbr2_absn_vbii
Pada bagian form ini kita perlu beberapa komponen
DataGrid (sebagai jembatan)
Dbgrid (Sebagai penampil hasil), seperti pada gamabar kedua tersebut jika anda melihat ada DataGrid yang lain anda tidak perlu membuatnya anda hanya perlu satu DataGrid Saja OK!,.
DataGrid 1 pada bagian properties ubah menjadi :
Name=Data1
Caption=(Terserah anda)
DataBaseName=Path tempat anda menyimpaan data basenya contoh : (D:\LTIHAN . VB\Absensi\tabel1.mdb).
Recordsource=Tabel yang dibuat oleh Data Input sebelumnya missal : Tabel2,
recordsetType=1-type DynaSet
Untuk DbGrid1 di bagian properties:
Name=DbGrid1
Caption=terserah anda
DataSource=Data1.
Type dynaset ini berpengaruh terhadap pengurutan fileds pada DbGrid, karena dengan properties ini field tidak diurut berdasrakan kunci, tapi jika menggunkan 0-Table, maka akan diurut berdasar Index.
Kemudain untuk nama=>text3 misalnya prpertiesnya:
DataSource=Data1
dataField=nama,
lajutkan dengan text=nip ,tex=tanggal, text=kelas ,pada frame sebelum absensi (text=alpa, text=izin ,text=sakit ,text=masuk ,text=total) lakukan sama halnya pada text3.
Makanya pada saat gambar dua di running alpa dll masih dalm keadan kosong karena memang belum saya isi.
Pada
option 1=>Alpa ubah Caption=Alpa
Option2=>Masuk ubah Caption=Masuk
Option3=>Izin ubah Caption=Izin
Option4=>Sakit ubah Caption=Sakit
Nah sekarang kita buat script di masing-masing Option untuk
Option1=>Alpa:
Private Sub Option1_Click()
If Option1.Value = True Then
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Text10.Text = Val(Text6.Text) + 1
Else
Text10.Text = Val(Text6.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text10.Text) + Val(Text11.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Perlu di perhatikan saya tidak mengubah text -text yang saya buat memang sengaja tidak saya ubah, Karena inti dari sebuah program adalah hanya si programerlah yang tahu dari maksud kode yang dia buat..he…he…
Pada text11.text=text7.text, maksudnya ketika option1. diberikan titik maka text11.text akan disi oleh data yang ada pada text7.text.
Text11.text=>izin akan tetap berisi satu pada text7.text=>setelah basen , begitu pula pada saat option2 .value =true, maka text10.text=text6.text (seudah absent).
Untuk text10.text jika Option1.value=True maka text10.text(sebelum absent)=text6.text(sesudah absent) akan ditambah satu, sehingga menjadi=val(text6.text)+1, dan anda jangan berpikir jika data ini akan langsung disimpan tapi Cuma di input hanya saja kita menambahkan command button1=Save, dari pada pusing-pusing terusin scriptnya untuk
Option2=>Izin:
Private Sub Option2_Click()
If Option2.Value = True Then
Text11.Text = Val(Text7.Text) + 1
Text10.Text = Text6.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Else
Text11.Text = Val(Text7.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Option3=>Sakit:
Private Sub Option3_Click()
If Option3.Value = True Then
Text12.Text = Val(Text8.Text) + 1
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text14.Text = Text2.Text
Else
Text12.Text = Val(Text8.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text12.Text) + Val(Text11.Text) + Val(Text10.Text) + Val(Text14.Text)
End Sub
Option4=>Masuk:
Private Sub Option4_Click()
If Option4.Value = True Then
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Val(Text2.Text) + 1
Else
Text14.Text = Val(Text2.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Nah kalau anda melihat text13, itu bermaksud untuk mencari jumlah seluruh absensi baik sakit, izin,masuk dan alpa akan di jumlah menjadi satu. Sebenernya anda juga bisa membuat model seperti tanpa bantuan text sedudah absent tapi cukup mennggunkan database buffer yang sifatnya menyimpan dta smentara dan ketika di klik save maka Database akan dikosongkan kembali, nah metodhe ini saya terapkan pada koreksi soal , untuk yang ini silahkan coba dicari sendiri ya?…he…he.. .
Ok karena database kita bersifat global , dan aplikasi ini kita gunakan untuk absensi siswa , maka kita tidak mungkin mengabsen secara acak berdasar Nim siswa , dan biasanay mengabsen berdasarkan Kelas oleh karena itu kita perlu pengunci untuk mengunci, misalnya saya mau absent kelas XI-A maka data yang akan tampil hanya Kelas XI-A nah sekarang kita ketik pada command4=> Lock :
Private Sub Command4_Click()
Data1.RecordSource = “select*FROM tabel2 WHERE bagian LIKE ‘*” & Text1.Text & “*’”
Data1.Refresh
DBGrid1.Refresh
Text1.SetFocus
End Sub
Oke sakarang kita coba Run tapi sebelumnya kita klik-> Project-> ProjectProperties-> jika muncul jendela kayak gini tentukan mana dulu yang akan kita jalankan kayak gini nih,
gbr3_absn_vbii
Kalau udah klik Ok.
gbr4_absn_vbii1Nah sekarang ketikin XI-A kayak yang saya contohkan terus clik Lock.
Pada bagian Dbgrid1, ditampilkan hanya data kelas XI-A aja, nah sekarang silahkan klik Option1=>Alpa, dan perahtikan pada bagian frame sesudah absent jika muncul angka 1 pada bagian Alpa maka scrip telah berjalan dengan benar, selanjutnya apakah kita akan menyimpan hasil absensi tersebut ?, pasti dong yaiyalah kan emang itu yang kita maksud daripada pusing mendingan ketikin scripnya di command=>save:
Private Sub Command1_Click()
If Text16.Text = “” Or Text3.Text = “” Or Text5.Text = “” Then
MsgBox (“Absensi Telah Selesai / Tidak Ada Object Yang akan di Simpan”)
ElseIf Text16.Text = Data1.Recordset.Fields(“nip”) And Option1.Value = True Or Option2.Value = True Or Option3.Value = True Or Option4.Value = True Then
x=MsgBox (“Thank’s you “, vbOKOnly + vbInformation, “Aplication For Master”)
Data1.Recordset.Edit
Data1.Recordset.Fields(“alpa”) = Text10.Text
Data1.Recordset.Fields(“izin”) = Text11.Text
Data1.Recordset.Fields(“sakit”) = Text12.Text
Data1.Recordset.Fields(“masuk”) = Text14.Text
Data1.Recordset.Fields(“total”) = Text13.Text
Data1.Recordset.Fields(“tgl”) = Label16.Caption
Data1.Recordset.Update
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
DBGrid1.Refresh
Data1.Recordset.MoveNext
Else
Z = MsgBox(“Anda Belum Memilih Keterangan Absesnsi!”, vbOKOnly + vbInformation, “Informasi”)
End If
End Sub
Untuk mencegah kesalahan ,seperti menyimpan data kosong ,object yang diabsensi sudah salah,Tanpa memilih option, jika hal ini dilakukan maka program akan memeberikan peringatan seperti: “Absensi Telah Selesai / Tidak Ada Object Yang akan di Simpan” atau “Anda Belum Memilih Keterangan Absesnsi!” tapi jika data diisi dengan benar maka akan muncul pesan “Thanks You”, nah ternyata yang seperti ini jutru lebih penting dan ribet loh ,saya aja udah berakali me-Run supaya berjalan Normal, tapi tenang ada kemaun pasti ada jalan….setuju…he… .
Itulah scrip yang terpenting dalam proses ini tapi kalau penegen tahu semua scripnya boleh asal jangan muntah ya…he…ini dya jreng”:
Private Sub Command1_Click()
‘untuk menyimpan hasil absesnsi kedalam database
If Text16.Text = “” Or Text3.Text = “” Or Text5.Text = “” Then
MsgBox (“Absensi Telah Selesai Tidak Ada Object Yang akan di Simpan”)
ElseIf Text16.Text = Data1.Recordset.Fields(“nip”) And Option1.Value = True Or Option2.Value = True Or Option3.Value = True Or Option4.Value = True Then
X = MsgBox(“Thank’s you “, vbOKOnly + vbInformation, “Aplication For Master”)
Data1.Recordset.Edit
Data1.Recordset.Fields(“alpa”) = Text10.Text
Data1.Recordset.Fields(“izin”) = Text11.Text
Data1.Recordset.Fields(“sakit”) = Text12.Text
Data1.Recordset.Fields(“masuk”) = Text14.Text
Data1.Recordset.Fields(“total”) = Text13.Text
Data1.Recordset.Fields(“tgl”) = Label16.Caption
Data1.Recordset.Update
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
DBGrid1.Refresh
Data1.Recordset.MoveNext ‘setalah di save maka akan menuju record selanjutnya
Else
Z = MsgBox(“Anda Belum Memilih Keterangan Absesnsi!”, vbOKOnly + vbInformation, “Informasi”)
End If
End Sub
Private Sub Command2_Click()
‘hanya refresh doang
Data1.Refresh
Data3.Refresh
End Sub
Private Sub Command3_Click()
‘keluar dari form proses absensi
X = MsgBox(“Apa ada yakin untuk Mengakhiri Pengisian Absensi ini ? “, vbYesNo + vbQuestion, “Aplication For Master”)
If X = vbYes Then
subDepan.Show
Form_Input_absensi.Hide
Else
End If
End Sub
Private Sub Command4_Click()
‘menseleksi berdasarkan kelas
Data1.RecordSource = “select*FROM tabel2 WHERE bagian LIKE ‘*” & Text1.Text & “*’”
Data1.Refresh
DBGrid1.Refresh
Text1.SetFocus
End Sub
Private Sub Command5_Click()
‘ ini untuk find menu berdasarkan nip/nim/nis
Data1.Recordset.FindFirst “nip=’” & Text15.Text & “‘”
If Not Data1.Recordset.NoMatch Then
Text15.Text = “”
Text15.SetFocus
Else
X = Text15.Text
X = MsgBox(“Mohon Periksa kembali Data yang anda Cari!”, vbyesonly + vbinformasi, “Aplication For Master”)
Text15.SetFocus
End If
End Sub
Private Sub Form_Load()
‘Posisikan Form ini ketengah
Me.Move (Screen.Width – Me.Width) / 2, (Screen.Height – Me.Height) / 2
Text10.Text = “”
Text11.Text = “”
Text12.Text = “”
Text13.Text = “”
Text14.Text = “”
Text1.Text = “”
r = “Silahkan Input Nip/Nim/Nis!”
Text15.Text = r
End Sub
Private Sub Option1_Click()
‘jika di klik maka jumlah alpa akan bertambah satu
If Option1.Value = True Then
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Text10.Text = Val(Text6.Text) + 1
Else
Text10.Text = Val(Text6.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text10.Text) + Val(Text11.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Option2_Click()
‘jika diklik maka jumlah izin akan bertambah satu
If Option2.Value = True Then
Text11.Text = Val(Text7.Text) + 1
Text10.Text = Text6.Text
Text12.Text = Text8.Text
Text14.Text = Text2.Text
Else
Text11.Text = Val(Text7.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Option3_Click()
jika diklik maka jumlah sakit akan bertambah satu
If Option3.Value = True Then
Text12.Text = Val(Text8.Text) + 1
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text14.Text = Text2.Text
Else
Text12.Text = Val(Text8.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text12.Text) + Val(Text11.Text) + Val(Text10.Text) + Val(Text14.Text)
End Sub
Private Sub Option4_Click()
jika diklik maka jumlah izin akan bertambah satu
If Option4.Value = True Then
Text10.Text = Text6.Text
Text11.Text = Text7.Text
Text12.Text = Text8.Text
Text14.Text = Val(Text2.Text) + 1
Else
Text14.Text = Val(Text2.Text) + 0
End If
Text13.SetFocus
Text13.Text = Val(Text11.Text) + Val(Text10.Text) + Val(Text12.Text) + Val(Text14.Text)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
‘ini hanya untuk di Enter supaya pidah ke field berikutnya
If KeyAscii = 13 Then
Command4.SetFocus
End If
End Sub
Private Sub Text15_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command5.SetFocus
End If
End Sub
Private Sub Timer1_Timer()
Label14.Caption = Format(Time, “hh:mm:ss:am/pm”)’cuma format jam doang
Label16.Caption = Format(Date, “dd/mmmm/yyyy”)
End Sub
Sekarang kita coba input absensi dan lihat hasilnya missal saya mw absent kelas XI-B,
gbr5_absn_vbiiHasilnya udah langsung bisa dilihat , ketika saya klik option(keterangan) masuk maka pada frame sesudah absent bagian masuk= 1(bertambah satu yang mulanya Nol) dan jika kita memilih absen masuk lagi maka akan bertambah menjadi dua , dan tanggalnya bersifat update pada field pertama dengan nama Lina Marlina tertera tgl 11/02/2009, sedangkan yang lainya tgl 07/02/2009.jangan heran dan aneh kalau ada yang nanya diamana saya menyimpan tanggalnya seperti pada Input data?, Coba anda perhatikan di bagian kanan ats form disitu tertera hari ini tanggal: dan itulah yang saya masukan kedatabase …he……he.. ,
Oke dech kalau emang kurang jelas dan belum ngerti dari aplikasi yang saya buat ini , entar dech saya kasih aplikasi udah jadinya , soalnya saya juga buat aplikasi ini untuk TA he…..he… , istilahnya masih sedikit saya rahasikan gak apa kan ,.
Mungkin karena saya udah ngantuk nih jadi saya cukupin buat session (part 2-nya), nah nanti kita ketemu di part ke 3 dibagian output N pastinya gak kalah seru loh di tunggu ya…!!
Kalau gitu good luck aja yah…..!
By: jombi_par
Ikuti

Get every new post delivered to your Inbox.
Bergabunglah dengan 39 pengikut lainnya.

3 komentar:

  1. gan ane lagi pusing TA ane kuliah di politeknik ternama di bandung kebetulan membuat absensi menggunakan vb6 dan mysql gue boleh mempelajari ga programnya bisa gue lihat atau pinta ?pleaseee :(

    BalasHapus

makalah

Arsip Blog