You are on page 1of 9

Membuat Program Bel Sekolah dengan VB (Bag I)

BY contactwahyu IN Visual Basic NO COMMENTS YET Jika dulu waktu kita masih di SMP/SMA, bel masuk sekolah ataupun istirahat masih berupa lonceng yang dipukul, ataupun bel elektronik yang harus dipencet, sekarang bel sekolah sudah bisa diautomatisasi dengan komputer. Dalam kesempatan ini, kita akan mencoba membuat program bel musik sekolah dari Visual Basic. Untuk tampilan awal programnya adalah sebagai berikut:

jadi dalam keadaan running, kita akan memanfaatkan object timer dari VB untuk mengecek atau memeriksa waktu yang ada. Jika sama dengan waktu yang sudah didefinisikan sebelumnya, maka program akan memainkan musik, yang jika disambungkan ke amplifyer dan speaker, akan berbunyi ke seluruh lingkungan sekolah. Untuk definisi waktu ganti jam pelajaran, jam masuk ataupun jam pulang, dianjurkan menyimpan data-datanya ke dalam database agar mudah dicustomisasi. hal ini sangat penting dilakukan karena musik yang digunakan sebagai pertanda masuk, ganti jam, istirahat ataupun jam pulang bisa jadi adalah musik yang berbeda. Jika kita perhatikan, menu utama program ini ada empat tombol, yaitu: 1. Pause untuk menghentikan program sementara 2. Time Schedule untuk mengubah nilai jam yang tersimpan di dalam database 3. Adjustment untuk mengubah jam 4. Exit keluar program untuk time schedule, akan menampilkan tampilan sebagai berikut:

jika kita perhatikan, ada perbedaan jam antara hari biasa dan jumat, dimana hari jumat siswa akan pulang lebih awal. Untuk kasus-kasus tertentu, program dapat dengan mudah dicustomisasi, yang nantinya akan dicek harinya, dan akan mengikuti jadwal hari yang bersesuaian. Sedangkan untuk adjustment, kita akan dapat mengubah jamnya jika tidak cocok atau perlu diubah.

by: Wahyu Kurniawan shareshareshareshare

So, what do you think ?

Your Name

- See more at: http://www.wahyukurniawan.info/2011/02/13/membuat-program-bel-sekolahdengan-vb-bag-i/#sthash.KDV5w1ZS.dpuf

Membuat Program Bel Sekolah dengan VB (Bag II)


BY contactwahyu IN Visual Basic 4 COMMENTS Program Bel Musik Sekolah ini terdiri dari 2 form dan 1 buah module. Pertama kita akan lihat modulnya terlebih dahulu Option Explicit Public Declare Function sndPlaySound Lib winmm.dll Alias sndPlaySoundA (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Public Declare Function PlaySound Lib winmm.dll Alias PlaySoundA (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long Public Const SND_ASYNC = &H1 Public Const SND_FILENAME = &H20000 Public Const SND_SYNC = &H0 Global Jam(15) As String Global cn As New ADODB.Connection Public Sub set_conn_getData(ByRef sConnection As ADODB.Connection, ByVal sDataLocation As String, ByVal sHavePassword As Boolean, ByVal sPassword As String) If sHavePassword = True Then sConnection.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & sDataLocation & ;Persist Security Info=False;Jet OLEDB:Database Password= & sPassword Else sConnection.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & sDataLocation & ;Persist Security Info=False End If End Sub Public Sub set_rec_getData(ByRef sRecordset As ADODB.Recordset, ByRef sConnection As ADODB.Connection, ByVal sSQL As String) With sRecordset .CursorLocation = adUseClient .Open sSQL, sConnection, adOpenKeyset, adLockOptimistic

End With End Sub Public Function SndPlay(ByVal filename As String, Optional ByVal options As Long = (SND_FILENAME Or SND_ASYNC)) As Long SndPlay = sndPlaySound(filename, options) End Function kita akan menggunakan 2 buah fungsi API yaitu fungsi untuk memainkan file berformat WAV. Kemudian kita mendeklarasi dua buah Public Sub, yang gunanya untuk melakukan koneksi terhadap database dan yang satu lagi untuk mengeksekusi string query dari perintah SQL. Lalu sebuah public function digunakan untuk memainkan musik. Berikutnya untuk form yang pertama, kita membutuhkan beberapa object yaitu: 4 buah object command button Object timer Beberapa object line untuk membuat tampilan jam digital Langsung saja Programnya adalah sebagai berikut: Private Sub Command1_Click() Form2.Show End Sub Command1 berfungsi untuk memanggil form yang satu lagi Private Sub Form_Load() Dim i As Byte set your own bell time here load the values from the database Call set_conn_getData(cn, App.Path & \bell.mdb, False, ) Dim Rs As New ADODB.Recordset the program will terminate if the day is Saturday or Sunday If Weekday(Date) = 1 Or Weekday(Date) = 7 Then MsgBox Sorry this program is not working on Saturday or Sunday End Else choose day If Not Weekday(Date) = 6 Then Call set_rec_getData(Rs, cn, SELECT * FROM tblBell WHERE Jenis=Biasa) Else Call set_rec_getData(Rs, cn, SELECT * FROM tblBell WHERE Jenis=Jumat) End If Rs.MoveFirst Do While Not Rs.EOF = True If Not Rs.EOF = True Then

Jam(0) = Rs.Fields(1) Jam(1) = Rs.Fields(2) Jam(2) = Rs.Fields(3) Jam(3) = Rs.Fields(4) Jam(4) = Rs.Fields(5) Jam(5) = Rs.Fields(6) Jam(6) = Rs.Fields(7) Jam(7) = Rs.Fields(8) Jam(8) = Rs.Fields(9) Jam(9) = Rs.Fields(10) Jam(10) = Rs.Fields(11) End If Rs.MoveNext Loop Set Rs = Nothing End If End Sub Pertama-tama dilakukan pembacaan dari database dan pengecekan, jika hari Sabtu atau Minggu, program akan terminate dengan sendirinya. Asumsinya untuk Sabtu Minggu, sekolah tidak masuk, jadi apabila tidak ada rutin pengecekan ini, bel akan tetap berbunyi apabila komputer dinyalakan. Lalu akan ada pengecekan terhadap harinya, dengan asumsi bahwa jadwal bel untuk Senin Kamis berbeda dengan jadwal hari Jumat. Selanjutnya, data dari field akan disimpan ke dalam sebuah variabel array sehingga kita bisa menutup koneksi ke database. Private Sub Timer1_Timer() Dim j As Byte AmPm If Format(Time$, H:MM:SS AMPM) = Jam(0) Then SndPlay masuk.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(1) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(2) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(3) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(4) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(5) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(6) Then

SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(7) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(8) Then SndPlay ganti.wav End If If Format(Time$, H:MM:SS AMPM) = Jam(9) Then If Not Weekday(Date) = 6 Then SndPlay ganti.wav Else SndPlay pulang.wav End If End If If Format(Time$, H:MM:SS AMPM) = Jam(10) Then If Not Weekday(Date) = 6 Then SndPlay pulang.wav End If End If For j = 1 To 6 Tim Mid(Format(Time, HHMMSSAMPM), j, 1), j 1 Next j End Sub Lalu kita tambahkan rutin pengecekan pada object Timer. Sebagaimana kita ketahui, object Timer akan dieksekusi secara terus menerus. Jadi sederhana saja, kita tinggal membandingkan Timer dengan nilai array dari database, jika sama, maka akan dimainkan musiknya. Disamping itu kita juga akan mengganti tampilan digital dengan memanggil subrutin Tim. Sub Tim(Wat, Id) Select Case Wat Case 0: LCD Id, , False Case 1: LCD Id, False, False, False, False, False Case 2: LCD Id, , , , False, , , False Case 3: LCD Id, , , , False, False Case 4: LCD Id, False, , False, , False Case 5: LCD Id, , , , , False, False Case 6: LCD Id, , , , , , False Case 7: LCD Id, , False, False, False, False Case 8: LCD Id Case 9: LCD Id, , , , , False End Select End Sub Subrutin Tim pada dasarnya pengecekan terhadap digit, yang nantinya akan digambar oleh subrutin LCD dengan memanfaatkan variabel boolean, dimana nilainya diset TRUE apabila mau ditampilkan dan False apabila tidak ditampilkan

Sub LCD(ByVal i As Integer, Optional L1 As Boolean = True, Optional L2 As Boolean = True, Optional L3 As Boolean = True, Optional L4 As Boolean = True, Optional L5 As Boolean = True, Optional L6 As Boolean = True, Optional L7 As Boolean = True) Up(i).Visible = L1 Midl(i).Visible = L2 Down(i).Visible = L3 Lft1(i).Visible = L4 Lft2(i).Visible = L5 Rgt1(i).Visible = L6 Rgt2(i).Visible = L7 End Sub Sub AmPm() If Right(Time, 2) = PM Then ARgt2.Visible = False Else ARgt2.Visible = True End Sub Private Sub Adj_Click() Dat.Hour = Hour(Now) Dat.Minute = Minute(Now) Dat.Second = Second(Now) Frame1.Visible = True End Sub Private Sub Pause_Click() If Pause.Caption = &Pause Then Pause.Caption = &Resume Else Pause.Caption = &Pause If OptAmPm.Value Then If Timer1.Enabled Then Timer1.Enabled = False Else Timer1.Enabled = True Else If Timer2.Enabled Then Timer2.Enabled = False Else Timer2.Enabled = True End If End Sub Private Sub Xit_Click() End End Sub Private Sub OK_Click() Can_Click Time = Format(Dat.Value, HH:MM:SS AMPM) End Sub Private Sub Can_Click() Frame1.Visible = False End Sub Sebenarnya form ini adalah core atau inti dari program bel musik, sedangkan form yang satunya hanyalah form yang digunakan untuk mengupdate database dengan mengeset jamjam pelajaran yang berlaku di sekolah. Dengan penggunaan database, tentunya program ini

menjadi lebih fleksibel karena mudah dicustomize di sekolah mana saja, tidak dibatasi oleh jam yang sama. shareshareshareshare

4 Comments

1.

Ema Islam | April 23rd, 2012 Bangpunya g buku panduan dan tutorial cara membuat bel sederhana menggunakan VB 6 window 7, yg jelas lengkap sama contoh-contoh gambar gap-gapnya, kalo ada ana ikutan beli bisa g?thx Reply

contactwahyu | April 30th, 2012 mohon maaf, tidak punya Reply

2.

tolun | September 4th, 2012 pak saya pnya maslh, l sy pnya tabel alrm di ms.acces. hari | jam | bel. senin | 07:00:00 | D:\10. Hore Pulang.wav selasa | 08:20:00 | D:\nada\jampertama.wav. supaya nanti pada saat hari senin jam 7 bisa memutar suara yg ada di kolom bel gmn pak querynya ya mbah google tcari gak ktemu2 kmrin pas pemrotek gak dpt database acces pak.. hehee. mksh bnyk pak Reply

contactwahyu | September 4th, 2012 kalau query sql kan tinggal di SELECT aja kan? jadi kurang lebih kayak gini querynya

SELECT hari, jam, bel FROM namatabel WHERE hari=Senin AND jam=07:00:00 Reply - See more at: http://www.wahyukurniawan.info/2011/02/13/membuat-program-bel-sekolahdengan-vb-bag-ii/#comment-1732

You might also like