DAFTAR PUSTAKA CommonDialog Control, 2011.Visual Basic 6.0. Diakses pada tanggal 14/09/2011 http://msdn.microsoft.com/en-us/library/aa259661%28v=vs.60%29.aspx Forrest Moon Production, 2010. The Birth Of Visual Basic. Diakses pada tanggal 14/09/2011 dari http://www.forestmoon.com/birthofvb/birthofvb.html Karakter Bangsa Indonesia, 2011. Kamus Ilmiah. Diakses pada tanggal 14/09/2011 http://www.kamusilmiah.com/sosiologi/karakter-bangsa-indonesia/ Microsoft, 2011. Support Statement For Visual Basic. Diakses pada tanggal 14/09/2011 dari http://msdn.microsoft.com/en-us/vbasic/ms788708.aspx Multimedia Control, 2011. Steven Holzner. Diakses pada tanggal 14/09/2011 Dari http://msdn.microsoft.com/en-us/library/ms976288.aspx Sommerville, Ian. Rekayasa Perangkat Lunak. Diterjemahkan oleh Dra. Yuhliza Hanum, M.End ; editor, Hilarius Wibi Hardani. Jakarta. Erlangga. 2003 Visual Data Manager(VisData),2011.Visual Studio 6.0.Diakses pada tanggal 14/09/2011 http://msdn.microsoft.com/en-us/library/aa445833%28v=vs.60%29.aspx 94
LAMPIRAN a. Sumber kode Form Awal Public jenis As Integer variabel jenis untuk mendeklarasikan jenis lagu, jenis 1 = lagu daerah, jenis 2 = lagu nasional Private Sub btn_ext_click() btn_ext.borderstyle = 1 untuk membuat efek klik pada saat tombol exit di klik End Private Sub btn_lgdrh_click() frmlgdrh.show btn_lgdrh.borderstyle = 1 untuk membuat efek klik pada saat tombol lagu daerah di klik jenis = 1 di deklarasikan sebagai lagu daerah Me.Hide Private Sub btn_lgnsnl_click() frmlgnsnl.show //menampilkan frmlgnsnl btn_lgnsnl.borderstyle = 1 untuk membuat efek klik pada saat tombol lagu nasional di klik jenis = 2 di deklarasikan sebagai lagu daerah Me.Hide Private Sub btnppnskor_click() btnppnskor.borderstyle = 1 // untuk membuat efek klik pada saat tombol papan skor di klik frmpapanscore.show Me.Hide Private Sub Timer1_Timer() Label1.Visible = True // kodingan untuk membuat animasi teks selamat datang Label1.Width = Label1.Width + 100
Function SetFrm() fungsi untuk men set/mengatur tampilan form ketika di jalankan Me.Height = 9690 Me.Width = 9045 Private Sub Timer2_Timer() SetFrm btn_lgnsnl.borderstyle = 0 btn_lgdrh.borderstyle = 0 btnppnskor.borderstyle = 0 btn_ext.borderstyle = 0 b. Sumber Kode Form UserName Public namausr As String //variabel namausr untuk mendeklarasikan form username/login Private Sub TxtNamaUser_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If TxtNamaUser.Text = "" Then MsgBox "Mohon Masukkan Nama Anda Terlebih Dahulu" namausr = TxtNamaUser.Text TxtNamaUser.Text = "" If frmawal.jenis = 1 Then frmlgdrh.statusfrmplay = True frmlgnsnl.statusfrmplay = True Me.Hide
c. Sumber kode Form Lagu Nasional Private x As Integer // variabel untuk mendeklarasikan timer /waktu Private indekslagu As Integer Private temp As Integer // variabel yang di isi dengan nilai acak Private benar As Integer // variabel untuk mendeklarasikan jawaban benar Private salah As Integer // variabel untuk mendeklarasikan jawaban salah Private total As Integer // variabel untuk menyimpan total Public statusfrmplay As Boolean //variabel yang menyimpan nilai Boolean Private varcek(10) As Integer //variabel yang menyimpan indeks jawaban yang berhasil dijawab dengan benar Private jejak As Integer Private acak1 As Integer, acak2 As Integer, acak3 As Integer // variabel untuk melakukan proses pengacakan Private hasilacak As Integer, hasilacak2 As Integer, hasilacak3 As Integer // variabel untuk menyimpan nilai hasil acak Private Sub TimerAcak_Timer() // timer membuat waktu 60 detik Random // memanggil fungsi Random acak2 = acak2 + 1 // melakukan proses increment nilai pada variabel acak2 acak3 = (((acak2 Mod 2) + 1) + (acak2 Mod 2)) // mengisi variabel acak3 dengan nilai acak If acak2 = 5 Then // menetapkan nilai 5 sebagai batas atas acak2 = 0 // men-set nilai awal 0 pada variabel acak2 acakjwb // memanggil fungsi acakjwb Private Sub btn_cls_click() End Private Sub btn_gntinm_click() statusfrmplay = False // men-set nilai False pada variabel statusfrmplay frmusrname.show //memunculkan form frmusrname Private Sub btn_lanjut_click() Play // memanggil fungsi Play TimerAcak.Enabled = True // menset nilai True pada komponen TimerAcakEnabeld Private Sub btn_ok_click() Periksa // memanggil fungsi Periksa Validasi // memanggil fungsi validasi btn_ok.borderstyle = 1 // membuat efek klik // men-set value 1 pada komponen btn_ok.borderstyle
Private Sub btn_play_click() timergame.enabled = True TimerAcak.Enabled = True play Private Sub btn_simpan_click() Text3.Text = lblusrname.caption text3 mengambil inputan dr lblusrname Text4.Text = lbltotal.caption text4 mengambil inputan dr lbltotal Data1.Recordset.AddNew data1 akan bertambah 1 Private Sub Form_Load() setfrmkuis frmusrname.show statusfrmplay = False x = 0 // variabel x bernilai awal = 0 indekslagu = 0 benar = 0 salah = 0 jejak = 0 acak2 = 1 Private Sub btnback_click() frmawal.show Unload Me statusfrmplay = False Function periksa() //fungsi periksa If ((x >= 60) Or ((benar + salah) >= 10)) Then // // baris ini melakukan proses pemeriksaan batas waktu atau jumlah jawaban yang sudah diinput oleh user. cmdjwb.enabled = False btn_ok.enabled = False timergame.enabled = False x = 0 indekslagu = 0 Erase varcek() // me-reset variabel varcek MMControl1.Command = "stop" hitungnilai // fungsi HitungNilai dijalankan lbltotal.caption = total
Function setfrmkuis() // men set bentuk form Me.Width = 7815 Me.Height = 7965 Function hitungnilai() total = (benar * 20) - (salah * 10) // variabel total diisi dengan total skor yang dimiliki oleh user, dimana rumus perhitungannya adalah jumlah benar dikalikan 20 kemudian dijumlahkan dengan jumlah salah dikalikan 10, maka didapatkan total skor user. Private Sub Timer1_Timer() lblbenar.caption = "Benar = " + CStr(benar) //menampilkan nilai benar yang selalu terupdate lblsalah.caption = "Salah = " + CStr(salah) //menampilkan nilai salah yang selalu terupdate lblusrname.caption = frmusrname.namausr // melakukan penyamaan value caption Me.Visible = statusfrmplay // menset value Visible pada komponen form sesuai dengan nilai variabel Private Sub Timer2_Timer() btn_ok.borderstyle = 0 // menset value 0 pada komponen btn_ok.berderstyle Private Sub timergame_timer() // Periksa // memanggil fungsi Periksa x = x + 1 //melakukan proses increment pada variabel x sebanyak 1 lbltimer.caption = Str(x) // menampilkan waktu Function validasi() If cmdjwb.text = lbljudul.caption Then ' deklarasi pencocokan jawaban dengan Judul pada label benar = benar + 1 ' perintah ini memberikan nilai benar jika user memberikan jawaban bernilai benar varcek(jejak) = indekslagu ' jejak = jejak + 1 ' play TimerAcak.Enabled = True salah = salah + 1
Function acakjwb() Dim pilihanjwb(3) As String Dim jwblain(2) As String jejaktmp = 0 Random hasilacak = acak1-1 ulanghslack2: Random2 hasilacak2 = acak1-1 If (hasilacak2 = hasilacak) Then GoTo ulanghslack2 ulanghslack3: Random2 hasilacak3 = acak1-1 If ((hasilacak3 <> hasilacak) And (hasilacak3 <> hasilacak2)) Then GoTo acaksukses GoTo ulanghslack3 acaksukses: TimerAcak.Enabled = False jwblain(0) = ListLagu.List(hasilacak2) jwblain(1) = ListLagu.List(hasilacak3) For j = 0 To 2 If j = hasilacak Then pilihanjwb(j) = lbljudul.caption GoTo pass: pilihanjwb(j) = jwblain(jejaktmp) jejaktmp = jejaktmp + 1 pass: Next cmdjwb.clear cmdjwb.text = "Pilih Judul Lagu" For i = 0 To 2 cmdjwb.additem pilihanjwb(i) Next
Function Random() high = 3 //mengisi variabel high dengan nilai 3 Low = acak3 //mengisi variabel Low dengan nilai yang ada dalam variabel acak3 Value = Int((high - Low) * Rnd + Low) //mengisi variabel Value dengan nilai acak acak1 = Value //memindahkan nilai acak yang ada dalam Value kedalam variabel acak1 Function Random2() high = 10 //mengisi variabel high dengan nilai 10 Low = acak3 //mengisi variabel Low dengan nilai yang ada dalam variabel acak3 Value = Int((high - Low) * Rnd + Low) //mengisi variabel Value dengan nilai acak acak1 = Value //memindahkan nilai acak yang ada dalam Value kedalam variabel acak1 Function play() ulangrandom: temp = RandomNumBetween(0, 10) If temp = indekslagu Then GoTo ulangrandom indekslagu = temp For a = 0 To 4 If varcek(a) = indekslagu Then GoTo ulangrandom Next MMControl1.Command = "stop" // menginstruksikan komponen MMControl Stop MMControl1.PlayEnabled = True // MMControl1.FileName = ListPathlagu.List(indeksLagu) MMControl1.Command = "open" lbljudul.caption = ListLagu.List(indeksLagu) MMControl1.Command = "play" Private Function RandomNumBetween(ByVal LowerLimit As Long, ByVal UpperLimit As Long) As Long RandomNumBetween = Rnd * (UpperLimit - LowerLimit) + LowerLimit Private Sub Form_Unload(Cancel As Integer) ' program berakhir MMControl1.Command = "Stop" x = 0 // variabel x bernilai awal = 0
d. Sumber kode Form Lagu Daerah Private x As Integer // variabel untuk mendeklarasikan timer /waktu Private indekslagu As Integer Private temp As Integer // variabel yang di isi dengan nilai acak Private benar As Integer // variabel untuk mendeklarasikan jawaban benar Private salah As Integer // variabel untuk mendeklarasikan jawaban salah Private total As Integer // variabel untuk menyimpan total Public statusfrmplay As Boolean //variabel yang menyimpan nilai Boolean Private varcek(10) As Integer //variabel yang menyimpan indeks jawaban yang berhasil dijawab dengan benar Private jejak As Integer Private acak1 As Integer, acak2 As Integer, acak3 As Integer // variabel untuk melakukan proses pengacakan Private hasilacak As Integer, hasilacak2 As Integer, hasilacak3 As Integer // variabel untuk menyimpan nilai hasil acak Private Sub TimerAcak_Timer() // timer membuat waktu 60 detik Random // memanggil fungsi Random acak2 = acak2 + 1 // melakukan proses increment nilai pada variabel acak2 acak3 = (((acak2 Mod 2) + 1) + (acak2 Mod 2)) // mengisi variabel acak3 dengan nilai acak If acak2 = 5 Then // menetapkan nilai 5 sebagai batas atas acak2 = 0 // men-set nilai awal 0 pada variabel acak2 acakjwb // memanggil fungsi acakjwb Private Sub btn_cls_click() End Private Sub btn_gntinm_click() statusfrmplay = False // men-set nilai False pada variabel statusfrmplay frmusrname.show //memunculkan form frmusrname Private Sub btn_lanjut_click() Play // memanggil fungsi Play TimerAcak.Enabled = True // menset nilai True pada komponen TimerAcakEnabeld Private Sub btn_ok_click() Periksa // memanggil fungsi Periksa Validasi // memanggil fungsi validasi btn_ok.borderstyle = 1 // membuat efek klik // men-set value 1 pada komponen btn_ok.borderstyle Private Sub btn_play_click() timergame.enabled = True TimerAcak.Enabled = True play
Private Sub btn_simpan_click() Text3.Text = lblusrname.caption text3 mengambil inputan dr lblusrname Text4.Text = lbltotal.caption text4 mengambil inputan dr lbltotal Data1.Recordset.AddNew data1 akan bertambah 1 Private Sub Form_Load() setfrmkuis frmusrname.show statusfrmplay = False x = 0 // variabel x bernilai awal = 0 indekslagu = 0 benar = 0 salah = 0 jejak = 0 acak2 = 1 Private Sub btnback_click() frmawal.show Unload Me statusfrmplay = False Function periksa() // If ((x >= 60) Or ((benar + salah) >= 10)) Then // variabel total diisi dengan total skor yang dimiliki oleh user, dimana rumus perhitungannya adalah jumlah benar dikalikan 20 kemudian dijumlahkan dengan jumlah salah dikalikan 10, maka didapatkan total skor user. cmdjwb.enabled = False btn_ok.enabled = False timergame.enabled = False x = 0 indekslagu = 0 Erase varcek() // me-reset variabel varcek MMControl1.Command = "stop" hitungnilai // fungsi HitungNilai dijalankan lbltotal.caption = total Function setfrmkuis() // men set bentuk form Me.Width = 7815 Me.Height = 7965 Function hitungnilai() total = (benar * 20) - (salah * 10)
Private Sub Timer1_Timer() lblbenar.caption = "Benar = " + CStr(benar) //menampilkan nilai benar yang selalu terupdate lblsalah.caption = "Salah = " + CStr(salah) //menampilkan nilai salah yang selalu terupdate lblusrname.caption = frmusrname.namausr // melakukan penyamaan value caption Me.Visible = statusfrmplay // menset value Visible pada komponen form sesuai dengan nilai variabel Private Sub Timer2_Timer() btn_ok.borderstyle = 0 // menset value 0 pada komponen btn_ok.berderstyle Private Sub timergame_timer() // Periksa // memanggil fungsi Periksa x = x + 1 //melakukan proses increment pada variabel x sebanyak 1 lbltimer.caption = Str(x) // menampilkan waktu Function validasi() If cmdjwb.text = lbljudul.caption Then ' deklarasi pencocokan jawaban dengan Judul pada label benar = benar + 1 ' perintah ini memberikan nilai benar jika user memberikan jawaban bernilai benar varcek(jejak) = indekslagu ' jejak = jejak + 1 ' play TimerAcak.Enabled = True salah = salah + 1 Function acakjwb() Dim pilihanjwb(3) As String Dim jwblain(2) As String jejaktmp = 0 Random hasilacak = acak1-1 ulanghslack2: Random2 hasilacak2 = acak1-1 If (hasilacak2 = hasilacak) Then GoTo ulanghslack2 ulanghslack3:
Random2 hasilacak3 = acak1-1 If ((hasilacak3 <> hasilacak) And (hasilacak3 <> hasilacak2)) Then GoTo acaksukses GoTo ulanghslack3 acaksukses: TimerAcak.Enabled = False jwblain(0) = ListLagu.List(hasilacak2) jwblain(1) = ListLagu.List(hasilacak3) For j = 0 To 2 If j = hasilacak Then pilihanjwb(j) = lbljudul.caption GoTo pass: pilihanjwb(j) = jwblain(jejaktmp) jejaktmp = jejaktmp + 1 pass: Next cmdjwb.clear cmdjwb.text = "Pilih Judul Lagu" For i = 0 To 2 cmdjwb.additem pilihanjwb(i) Next Function Random() high = 3 //mengisi variabel high dengan nilai 3 Low = acak3 //mengisi variabel Low dengan nilai yang ada dalam variabel acak3 Value = Int((high - Low) * Rnd + Low) //mengisi variabel Value dengan nilai acak acak1 = Value //memindahkan nilai acak yang ada dalam Value kedalam variabel acak1 Function Random2() high = 10 //mengisi variabel high dengan nilai 10 Low = acak3 //mengisi variabel Low dengan nilai yang ada dalam variabel acak3 Value = Int((high - Low) * Rnd + Low) //mengisi variabel Value dengan nilai acak acak1 = Value //memindahkan nilai acak yang ada dalam Value kedalam variabel acak1
Function play() ulangrandom: temp = RandomNumBetween(0, 10) If temp = indekslagu Then GoTo ulangrandom indekslagu = temp For a = 0 To 4 If varcek(a) = indekslagu Then GoTo ulangrandom Next MMControl1.Command = "stop" // menginstruksikan komponen MMControl Stop MMControl1.PlayEnabled = True // MMControl1.FileName = ListPathlagu.List(indeksLagu) MMControl1.Command = "open" lbljudul.caption = ListLagu.List(indeksLagu) MMControl1.Command = "play" Private Function RandomNumBetween(ByVal LowerLimit As Long, ByVal UpperLimit As Long) As Long RandomNumBetween = Rnd * (UpperLimit - LowerLimit) + LowerLimit Private Sub Form_Unload(Cancel As Integer) ' program berakhir MMControl1.Command = "Stop" x = 0 // variabel x bernilai awal = 0 e. Sumber kode Form Papan Skor Private Sub btnback_click() frmawal.show // menampilkan frmawal Me.Hide Private Sub Timer1_Timer() btnback.height = 555