Subscribe:

Pages

Labels

Advertisement (468 x 60px )

Ads 468x60px

Search Box

Rabu, 18 April 2012

Contoh Program Absensi Sederhana Dengan Visual Basic 6.0

Setelah membahas tentang program simpan, edit dan hapus, pada artikel kali ini saya akan coba membuat program absensi sederhana menggunakan visual basic 6 yang menampilkan perhitungan banyaknya kehadiran dan total tidak masuk siswa, program absensi ini bisa teman-teman kembangkan lagi sesuai dengan kebutuhan, semoga bisa membantu teman-teman yang ingin belajar visual basic.. ^_^
Daripada lama-lama dan tambah bingung, lebih baik kita mulai saja pembahasannya,, :D
pertama kita buat dulu database untuk absensi nya dengan nama Absen.mdb, kemudian isi field-field databasenya seperti ini :

Nama Database :latihan.mdb
Nama Tabel       : Absen

Field
Data Type
Size
NRP
Text
10
Nama
Text
35
Jurusan
Text
50
Matkul
Text
50
Masuk
Byte

Sakit
Byte

Izin
Byte

Alpa
Byte

Total
Byte


Setelah membuat database selesai, lalu buat desain form absen seperti ini :
Componen tambahan pada Toolbox :
Adodc dan DataGrid


 Jika sudah, kita buat module baru, Klik Menu Project > Add Module > Open,,Kemudian akan muncul jendela kode, tuliskan kode perintah berikut :

Public ConN As New ADODB.Connection
Public RsAbsen As New ADODB.Recordset

Sub koneksi()
Set ConN = New ADODB.Connection
Set RsAbsen = New ADODB.Recordset
ConN.Open "Provider=microsoft.jet.oledb.4.0;data source = " & App.Path & "\latihan.mdb"
End Sub

Kemudian Save Module yang sudah kita isi dengan kode perintah diatas,,
Setelah itu isikan kode berikut pada Form

Private Sub Form_Activate()
Call koneksi
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\latihan.mdb"
Adodc1.RecordSource = "absen"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Combo1.Text = ""
Combo2.Text = ""
Combo3.Text = ""
Label11.Caption = 0
Label12.Caption = 0
Label13.Caption = 0
Label14.Caption = 0
Label15.Caption = 0
Combo1.AddItem "Sistem Informasi"
Combo1.AddItem "Teknik Informatika"
Combo1.AddItem "Manajemen Informatika"
Combo1.AddItem "Komputer Akuntansi"
Combo2.AddItem "Pemprograman Visual I"
Combo2.AddItem "Pemprograman Visual II"
Combo3.AddItem "Hadir"
Combo3.AddItem "Tidak Hadir"
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
Combo1.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = False
End Sub

Kemudian buat function cari data, sub tampilkan data dan kosong seperti dibawah ini :

Function CariData()
    Call koneksi
    RsAbsen.Open "Select * From absen where nrp='" & Text1 & "'", ConN
End Function

Private Sub TampilkanData()
Text2 = RsAbsen!nama
Combo1.Text = RsAbsen!jurusan
Combo2.Text = RsAbsen!matkul
Label11.Caption = RsAbsen!masuk
Label12.Caption = RsAbsen!sakit
Label13.Caption = RsAbsen!izin
Label14.Caption = RsAbsen!alpa
Label15.Caption = RsAbsen!total
End Sub

Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Combo1.Text = ""
Combo2.Text = ""
Combo3.Text = ""
Label11.Caption = 0
Label12.Caption = 0
Label13.Caption = 0
Label14.Caption = 0
Label15.Caption = 0
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
End Sub

Untuk pencarian data, masukkan kode perintah berikut pada Text1 dengan procedure Lostfocus :

Private Sub Text1_LostFocus()
On Error Resume Next
Call CariData
        If Not RsAbsen.EOF Then
            TampilkanData
            Text1.Enabled = False
            Text2.Enabled = False
            Combo1.Enabled = False
            Combo2.Enabled = False
            MsgBox "NRP Sudah Ada"
            Command1.Enabled = False
        End If
End Sub

Pada Combo3 atau combo untuk kehadiran, isikan kode berikut untk proses perhitungan absen masuk :

Private Sub Combo3_Click()
If Combo3.Text = "Hadir" Then
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
Label11.Caption = Val(Label11.Caption) + 1
Else
Option1.Enabled = True
Option2.Enabled = True
Option3.Enabled = True
End If
End Sub

Kemudain Pada Option 1, 2 dan 3, isikan kode perintah untuk menghitung absen alasan tidak hadir dan total tidak hadir :

Private Sub Option1_Click()
If Option1.Value = True Then
Label12.Caption = Val(Label12.Caption) + 1
Else
Label12.Caption = Val(Label12.Caption) + 0
End If
Label15.Caption = Val(Label12.Caption) + Val(Label13.Caption) + Val(Label14.Caption)
End Sub

Private Sub Option2_Click()
If Option2.Value = True Then
Label13.Caption = Val(Label13.Caption) + 1
Else
Label13.Caption = Val(Label13.Caption) + 0
End If
Label15.Caption = Val(Label12.Caption) + Val(Label13.Caption) + Val(Label14.Caption)
End Sub

Private Sub Option3_Click()
If Option3.Value = True Then
Label14.Caption = Val(Label14.Caption) + 1
Else
Label14.Caption = Val(Label14.Caption) + 0
End If
Label15.Caption = Val(Label12.Caption) + Val(Label13.Caption) + Val(Label14.Caption)
End Sub

Terakhir isikan kode perintah untuk command simpan, edit, absen, hapus, isi data dan selesai :

Private Sub Command1_Click()   'Kode Perintah Untuk tombol Simpan
Dim SQLSimpan As String
            SQLSimpan = "Insert Into absen (nrp,nama,jurusan,matkul) values ('" & Text1 & "','" & Text2 & "','" & Combo1.Text & "','" & Combo2.Text & "')"
            ConN.Execute SQLSimpan
            Form_Activate
            Call kosong
End Sub

Private Sub Command2_Click()     ' Kode Perintah Untuk tombol Edit
If Command2.Caption = "Edit Data" Then
Text1.Enabled = False
            Text2.Enabled = True
            Combo1.Enabled = True
            Combo2.Enabled = True
            Combo3.Enabled = True
Command2.Caption = "Edit"
Else

Dim SQLAbsen As String
            SQLAbsen = "Update absen Set nama='" & Text2.Text & "'," & " matkul='" & Combo2.Text & "'," & " jurusan='" & Combo1.Text & "' where nrp='" & Text1 & "'"
            ConN.Execute SQLAbsen
            Form_Activate
            Call kosong
            Command2.Caption = "Edit Data"
            End If
End Sub

Private Sub Command3_Click()    'Kode Perintah Untuk Tombol Absen
Dim SQLAbsen As String
            SQLAbsen = "Update absen Set masuk= '" & Label11.Caption & "'," & " sakit='" & Label12.Caption & "'," & " izin='" & Label13.Caption & "'," & " alpa='" & Label14.Caption & "'," & " total='" & Label15.Caption & "' where nrp='" & Text1 & "'"
            ConN.Execute SQLAbsen
            Form_Activate
            Call kosong
End Sub

Private Sub Command4_Click()    'KOde Perintah Untuk Tombol Hapus
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
DataGrid1.Refresh
End Sub

Private Sub Command5_Click()    'Kode Perintah Untuk Tombol Selesai
pesan = MsgBox("Anda Yakin Ingin Keluar Dari Program ini?", vbQuestion + vbYesNo, "Keluar")
If pesan = vbYes Then
Unload Me
Else
End If
End Sub

Private Sub Command6_Click()   'Kode Perintah Untuk Tombol Isi Data
Text1.Enabled = True
            Text2.Enabled = True
            Combo1.Enabled = True
            Combo2.Enabled = True
            Combo3.Enabled = True
            Text1.SetFocus
End Sub


Jika semua kode perintah sudah di isikan,,coba jalankan program absensi yang sudah kita buat,,
Selamat Mencoba ^_^

DOWNLOAD SCRIPT

50 komentar:

  1. mau nanyak memang di acces ada bytenya ya tak cari kok nggak ada.
    terimakasih

    BalasHapus
  2. coba mas pakai data type Number, kemudian di Field Size nya ganti sama byte.

    BalasHapus
  3. pas d run kok muncul
    run-time error '424':
    object required

    mohon bantuannya

    BalasHapus
  4. itu mungkin ksalahan penulisan pada objek field database nya atau pada nama variabel,,
    coba klik debug trus lihat ksalahannya dimana.., :)

    BalasHapus
  5. mas,hitung absensi pakek pa tuh.......
    aq udh bingung ni.........
    dan gmbar na kecil kali,,,,,,,

    BalasHapus
  6. bisa kirim g gan source codenya ke email saya boedak.leungit@yahoo.com

    BalasHapus
  7. untuk script nya sudah saya upload mas,,silahkan download,, sudah ada kok link nya di bawah :)

    BalasHapus
  8. lengkap dan detail... thumbnail, sip !

    BalasHapus
  9. Thx gan :D
    makasih jg sdah berkunjung :)

    BalasHapus
  10. Hmmmm .... yang aq gag paham, nambahin adodc + datagrid di formnya mas.. bisa di kasih source program yang sudah jadi gak buat dipelajari ?...

    BalasHapus
  11. debug error ada disini ...

    Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\latihan.mdb"

    maksudnya gmn ya mas?.. udah bikin database absen juga pdhaL...

    BalasHapus
  12. Alhamdulillah semua sudah Fix, tapi masih ada 1 pertanyaan Mas,.. kenapa setelah di Run dan di tambah data, tabel 'masuk, izin, sakit, alpa, total' tidak bertambah yah nilainya?...

    BalasHapus
  13. emmh,,sorry bru blas skrang :)
    sudah bisa ya,, :)
    untuk perhitungan izin,masuk, sakit,alpa,dan total itu cuma bisa diisi untuk tombol absen,,
    kalo tombol simpan hanya untuk data siswanya aja,,bukan perhitungan,,

    BalasHapus
  14. Owh ... iyah2 paham aq mas...

    Jadi intinya .. 'isi data siswa dulu' habis itu baru di absen .. gitu ya mas?... :D

    BalasHapus
  15. iya,,jd isi datanya dulu, baru di absen, :)

    BalasHapus
  16. mas kok masih eror ya?eror nya pas ininya lho,,,ConN As New ADODB.Connection gmn ya?

    BalasHapus
  17. mngkin di vb mas perlu dtmbahkan referencesnya,,klik menu project trus pilih references,,centang microsoft activex data object 2.6

    BalasHapus
  18. mas mo tanya seandainya mo dionline kan coding'a paan?thx...

    BalasHapus
  19. wah saya blm pernah coba buat yg online mas :)

    BalasHapus
  20. kalau mau di onlinekan enakan berbasis java.

    BalasHapus
  21. itu database nya pake microsoft acces yg 2007 bisa ..?

    database nya g ngerti ane ..

    BalasHapus
  22. iya itu pake access,,tapi formatnya diubah jd 2003

    BalasHapus
  23. ConN As New ADODB.Connection eror pd hal aku uda centang microsoft activex data object 2.6. gmn tu mas bro?

    BalasHapus
  24. pusing gue bang . . .
    ConN As New ADODB.Connection erorr TERUS,

    Mau download scripnya juga harus log in dulu (akun sudah jadi tapi username and passwordnya salah mulu). . . kumaha ieu teh.

    BalasHapus
  25. Kaka Untuk mesin Absennya bisa bebas pake merk apa aja / cuma 1 merk??
    Salam Kenal Salam Bloger

    BalasHapus
  26. mas saepul = alamat email mas apa, nanti saya kirimkan via email aja :)

    adiva = ini cuma program absensi biasa aja :) tp bisa aja dibuat detail klo ingin dimasukkan ke dalam mesin,, :)

    BalasHapus
  27. mas saya mau tanya nih...

    kenapa setiap saya run programnya selalu error.. kalau di debug salahnya disini :

    ConN.Open "Provider=microsoft.jet.oledb.4.0;data source = " & App.Path & "\DBlatihan.mdb"

    mohon pencerahannya mas

    BalasHapus
  28. Sederhana tapi ok juga Mas,,

    Mas, punya contoh program VB 8.0 gk ??
    klo ad share donk ??

    BalasHapus
  29. Alhamdulillah ad yg bagi2 ilmu,,,
    thank's Mas bro!!

    Oia mas kalo di tambahin text box & comman button untuk search gmn mas?

    BalasHapus
  30. Mas smua tutorialnya udh aku ikuti smua tp kok programnya msh blm jln jg ya mas!!!! tlg donk penjelasannya yg lugas.

    BalasHapus
  31. mas bagian ini kena debug, knp ya ?

    Private Sub Form_Activate() <=== di blok warna kuning
    Call koneksi
    Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\latihan.mdb"
    Adodc1.RecordSource = "absen"
    Adodc1.Refresh
    Set DataGrid1.DataSource = Adodc1
    DataGrid1.Refresh
    End Sub

    BalasHapus
  32. harusnya ada file jadi yang siap di download, biar gampang

    BalasHapus
  33. bos mau tanya gimana Source code jika memakai database mysql??
    terimakasih atas bantuanya.

    BalasHapus
  34. gmana kalo pake php my admin ga ada byte nya

    BalasHapus
  35. no value given for one or more required parameter
    eerror apa maksudnya(pada button absen)

    BalasHapus
  36. mas aku minta email mas deh....
    saya sedang engerjain tugas.... mungkin mas bisa bantu....

    BalasHapus
  37. gan bisa kasih tau source code untuk hitung stok barang gak

    BalasHapus
  38. mas,, pnya contoh yang pake database sql ga?
    buat prosedur if then else yang ngambil data dari form lain,,,
    mohon bantuan nya..

    makasih:)

    BalasHapus
  39. law 3 field yg di masukkan pada database absensi data pegawai apa aja???

    BalasHapus
  40. Kita juga punya nih artikel mengenai 'Absensi', silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/4312/1/11108719-%20PPT.pdf
    Terimakasih, semoga bermanfaat :)

    BalasHapus
  41. pada saat mengisi darta itu tertulis masuk 3 kok di hasilnya cuman 2...
    tolong penjelasannya

    BalasHapus
  42. Private Sub Command3_Click()
    Dim SQLAbsen As String
    SQLAbsen = "Update absen Set masuk= '" & Label11.Caption & "'," & " sakit='" & Label12.Caption & "'," & " izin='" & Label13.Caption & "'," & " alpa='" & Label14.Caption & "'," & " total='" & Label15.Caption & "' where nrp='" & Text1 & "'"
    ConN.Execute SQLabsensi <===bagian yang terblock warna kuning
    Form_Activate
    Call kosong
    itu bagian yang terblock wana kuning kenapa yah mas sebabnya...
    mohon bantuannya,,,terima kasih

    BalasHapus
  43. ada link untuk download source code contoh aplikasinya gak?

    BalasHapus
  44. DATUK nih ane bantu jawab
    masalahnya di bawah ini kan?

    Private Sub Command3_Click()
    Dim SQLAbsen As String
    SQLAbsen = "Update absen Set masuk= '" & Label11.Caption & "'," & " sakit='" & Label12.Caption & "'," & " izin='" & Label13.Caption & "'," & " alpa='" & Label14.Caption & "'," & " total='" & Label15.Caption & "' where nrp='" & Text1 & "'"
    ConN.Execute SQLabsensi <===bagian yang terblock warna kuning
    Form_Activate
    Call kosong

    coba periksa ini nya "Update absen Set masuk= '" & Label11.Caption & "'," & " sakit='" & Label12.Caption & "'," & " izin='" & Label13.Caption & "'," & " alpa='" & Label14.Caption & "'," & " total='"

    apakah tulisan izin diatas di form kamu ijin , atau yang lain lain . yang teliti :)

    BalasHapus
  45. gan untuk type Byte itu kan tidak ada di Access, jadi kita pakeq yang mana?

    BalasHapus
  46. Gan ini kenapa kena debug ya?

    Sub koneksi()
    Set ConN = New ADODB.Connection
    Set RsAbsen = New ADODB.Recordset
    ConN.Open "Provider=microsoft.jet.oledb.4.0;data source = " & App.Path & "\latihan.mdb"
    End Sub

    BalasHapus
  47. Gan, bloh minta aplikasi plus sourced.a kh??? buat referensi gan :)

    BalasHapus
  48. Mat mlm Mas Hazmi Fadhilah,,
    artikelx its verry good. sgt menginspirasi.
    Sblmx w minta trimaksih dh bs ikutan mengenyam ilmunx hehh.,
    o y, w minta tulung utk dkrmin penjelasan akuratx? ky pacaran jh "pake dkrm sgl" hehhh., ni mailx: datlai45@yahoo.com

    BalasHapus
  49. tolong dong kirimin file rar nya ke email gue dari semalam gue download gabisa gan. tolong kirim
    ke rizkiirwanda@gmail.com

    BalasHapus