You are on page 1of 11

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.hehe.. . , 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 mudahmudahan 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:

Nah buat formnya seperti ini form ini belum saya running jika sudah di running, maka hasilnya:

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..hehe 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,

Kalau udah klik Ok.

Nah 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 (Thanks 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.setujuhe . Itulah scrip yang terpenting dalam proses ini tapi kalau penegen tahu semua scripnya boleh asal jangan muntah yaheini 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(Thanks 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,

Hasilnya 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 hehe.. , 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..!

You might also like