Source Code Program
A. Modul (Module1.bas)
Public conn As New ADODB.Connection Public RsBuah As ADODB.Recordset Public rsImg As New ADODB.Stream
Public Sub Buka()
Set conn = New ADODB.Connection Set RsBuah = New ADODB.Recordset
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_buah.mdb"
End Sub
B. Splash Screen (frmSplash.frm)
Private Sub Timer1_Timer() lblPlease.Visible = True
lblPlease.Caption = "Please Wait ..." If ProgressBar1.Value >= 100 Then Unload Me
frm_Utama.Show Else
ProgressBar1.Value = ProgressBar1.Value + 10 End If
End Sub
C. Menu Utama (frm_Utama.frm)
Private Sub MDIForm_Load() Call Buka
StatusBar1.Panels(1).Text = Format(Now, "hh:mm:ss") StatusBar1.Panels(2).Text = Format(Now, "dddd")
StatusBar1.Panels(3).Text = Format(Now, "dd mmmm yyyy") StatusBar1.Panels(4).Text = "Sistem Informasi Mengenai Manfaat dan Kandungan Buah-Buahan"
End Sub
Private Sub mn_about_Click() frm_about.Show
Private Sub mn_exit_Click() Dim Tanya As Integer
Tanya = MsgBox("Terima Kasih Atas Penggunaanya" & vbCrLf & "Semoga Bermanfaat" & vbCrLf & "(c) 2013 - Yohana Br Sitepu - yohanasitepu31@yahoo.com",
vbInformation + vbYesNo, "Kamus Indonesia - Latin Versi 1.0.0")
If Tanya = vbYes Then Cancel = 0
End Else
Cancel = 1
End If End Sub
Private Sub mn_help_Click() frm_help.Show
End Sub
Private Sub mn_informasibuah_Click() frm_informasibuah.Show
End Sub
Private Sub mn_pencarian_Click() frm_pencarian.Show
End Sub
Private Sub mn_pengolahinfobuah_Click() frm_inputdatabuah.Show
End Sub
Private Sub Timer1_Timer()
StatusBar1.Panels(1).Text = Format(Now, "hh:mm:ss") End Sub
D. Pencarian Buah (frm_pencarian.frm)
Private Sub cmd_close_Click() Unload Me
End Sub
Private Sub Form_Load() SetLV
Call TplGrid
Me.Opt_manfaat.Value = False Me.Opt_kandungan.Value = False
End Sub
Private Sub bersih() txt_namalatin.Text = "" txt_manfaat.Text = "" txt_kandungan.Text = ""
End Sub
Private Sub Opt_kandungan_Click() txt_kandungan.Enabled = True
txt_kandungan.SetFocus Call bersih
SetLV
Call TplGrid End Sub
Private Sub Opt_manfaat_Click() txt_manfaat.Enabled = True
txt_manfaat.SetFocus Call bersih
SetLV
Call TplGrid End Sub
Private Sub Opt_namalatin_Click() txt_namalatin.Enabled = True
txt_namalatin.SetFocus Call bersih
SetLV
Call TplGrid End Sub
Private Sub txt_kandungan_Change() Set RsBuah = New ADODB.Recordset
If RsBuah.State = adStateOpen Then Set RsBuah = Nothing RsBuah.Open "Select * from tb_buah where kandungan like '%" & txt_kandungan & "%'", conn, adOpenDynamic, adLockOptimistic
Dim Lst As ListItem, nmr As Integer With RsBuah
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah ' Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat ' Lst.SubItems(3) = RsBuah!kandungan ' Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With End Sub
Private Sub txt_manfaat_Change() Set RsBuah = New ADODB.Recordset
If RsBuah.State = adStateOpen Then Set RsBuah = Nothing RsBuah.Open "Select * from tb_manfaat where manfaat like '" & txt_manfaat & "%'", conn, adOpenDynamic,
adLockOptimistic
Dim Lst As ListItem, nmr As Integer With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah ' Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat ' Lst.SubItems(3) = RsBuah!kandungan ' Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With End Sub
Private Sub txt_namalatin_Change() Set RsBuah = New ADODB.Recordset
If RsBuah.State = adStateOpen Then Set RsBuah = Nothing RsBuah.Open "Select * from tb_buah where nama_latin like '" & txt_namalatin & "%'", conn, adOpenDynamic, adLockOptimistic
With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah ' Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat ' Lst.SubItems(3) = RsBuah!kandungan ' Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With End Sub
Public Sub TplGrid()
Dim Lst As ListItem, nmr As Integer Dim RsBuah As New ADODB.Recordset
RsBuah.Open "Select * from tb_buah", conn With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah 'Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat ' Lst.SubItems(3) = RsBuah!kandungan 'Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With
End Sub
Public Sub SetLV() Dim fnt As New StdFont fnt.Name = "Arial" fnt.Size = "8" With LV
.View = lvwReport .GridLines = True .MultiSelect = True .FullRowSelect = True .HotTracking = True .HoverSelection = True
.ColumnHeaders.Add 2, , "Nama Buah", 3000 ' .ColumnHeaders.Add 3, , "Nama Latin", 0 '.ColumnHeaders.Add 4, , "Manfaat", 0 '.ColumnHeaders.Add 4, , "Kandungan", 0 ' .ColumnHeaders.Add 5, , "Gambar", 0
' .Picture = LoadPicture(App.Path + "\test2.jpg") Set .Font = fnt
End With End Sub
E. Input Data Buah (frm_inputdatabuah.frm)
Private Sub cmd_add_Click() cmd_cancel_Click
Frame1.Enabled = True txt_gbr.Enabled = False cmd_add.Enabled = False cmd_save.Enabled = True cmd_cancel.Enabled = True
txt_namabuah.SetFocus End Sub
Private Sub cmd_addittem_Click() On Error Resume Next
LV.ListItems.Add = Me.txt_manfaat.Text Me.txt_manfaat.Text = ""
Me.txt_manfaat.SetFocus
End Sub
Private Sub cmd_browse_Click() cdi.ShowOpen
pictBuah.Picture = LoadPicture(cdi.FileName) Vimg = True
End Sub
Private Sub cmd_cancel_Click() txt_namabuah.Text = ""
txt_namalatin.Text = "" txt_kandungan.Text = "" txt_gbr.Text = ""
txt_manfaat.Text = ""
pictBuah.Picture = LoadPicture(App.Path & "\gambar\default.jpg")
Me.LV.ListItems.Clear
cmd_save.Enabled = False cmd_cancel.Enabled = False cmd_edit.Enabled = False End Sub
Private Sub cmd_close_Click() Unload Me
End Sub
Private Sub cmd_edit_Click() Me.cmd_add.Enabled = False Me.cmd_edit.Enabled = False Me.cmd_save.Enabled = True Me.cmd_cancel.Enabled = True Me.Frame1.Enabled = True Me.txt_namabuah.SetFocus Me.cmd_browse.Enabled = True cmd_save.Caption = "Update"
End Sub
Private Sub cmd_save_Click()
If Me.cmd_save.Caption = "Save" Then
If Len(txt_namabuah.Text) < 1 Then MsgBox "Nama buah belum diisi!", vbOKOnly, "Kolom namabuah"
txt_namabuah.SetFocus
ElseIf Len(txt_namalatin.Text) < 1 Then MsgBox "Nama latin belum diisi!", vbOKOnly, "Kolom namalatin"
txt_namalatin.SetFocus
ElseIf Len(txt_kandungan.Text) < 1 Then MsgBox "Kandungan buah belum
diisi!", vbOKOnly, "Kolom kandungan"
txt_kandungan.SetFocus
'ElseIf Len(txt_manfaat.Text) < 1 Then ' MsgBox "Manfaat buah belum
diisi!", vbOKOnly, "Kolom manfaat"
' txt_manfaat.SetFocus Else
SQL_simpan = "Insert into tb_buah values ('" & txt_namabuah.Text & "', '" &
txt_namalatin.Text & "','" & txt_kandungan.Text & "', '" & txt_gbr.Text & "' );"
conn.Execute (SQL_simpan) simpan_gambar
For i = 1 To LV.ListItems.Count
SQL_simpan = "Insert into
tb_manfaat values ('" & txt_namabuah.Text & "', '" & LV.ListItems.Item(i).Text & "' );"
conn.Execute (SQL_simpan) Next
LV.ListItems.Clear
MsgBox "Data berhasil disimpan", vbInformation, "Input data"
bersih
End If
ElseIf cmd_save.Caption = "Update" Then
If Len(txt_namabuah.Text) < 1 Then MsgBox "Nama buah belum diisi!", vbOKOnly, "Kolom namabuah"
txt_namabuah.SetFocus
ElseIf Len(txt_namalatin.Text) < 1 Then MsgBox "Nama latin belum diisi!", vbOKOnly, "Kolom namalatin"
txt_namalatin.SetFocus
ElseIf Len(txt_kandungan.Text) < 1 Then MsgBox "Kandungan buah belum
diisi!", vbOKOnly, "Kolom kandungan"
txt_kandungan.SetFocus Else
SQL_update = "update tb_buah set nama_buah='" & txt_namabuah.Text & "', " & _
"nama_latin='" & txt_namalatin.Text & "', " & _
"kandungan='" & txt_kandungan.Text & "'," & _
"gambar='" & txt_gbr.Text & "' where nama_buah='" & txt_namabuah.Text & "'"
conn.Execute (SQL_update) simpan_gambar
With RsBuah
Do While Not RsBuah.EOF
sql = "delete from tb_manfaat where nama_buah='" & Me.var_namabuah.Text & "'"
conn.Execute sql RsBuah.MoveNext Loop
End With
For i = 1 To LV.ListItems.Count
SQL_simpan = "Insert into
tb_manfaat values ('" & txt_namabuah.Text & "', '" & LV.ListItems.Item(i).Text & "' );"
conn.Execute (SQL_simpan) Next
LV.ListItems.Clear
Me.var_namabuah.Text = ""
MsgBox "Data berhasil disimpan", vbInformation, "Input data"
bersih
End If
End If End Sub
Sub bersih()
txt_namabuah.Text = "" txt_namalatin.Text = "" txt_kandungan.Text = "" txt_gbr.Text = ""
pictBuah.Picture = LoadPicture(App.Path & "\gambar\default.jpg")
txt_manfaat.Text = "" End Sub
Sub simpan_gambar()
'code untuk menyimpan gambar kedalam folder gambar SavePicture pictBuah.Picture, App.Path & "\gambar\" & txt_gbr & ".jpg"
End Sub
frm_inputdatabuah.Hide
End Sub
Private Sub Form_Activate() Frame1.Enabled = False
End Sub
Private Sub Form_Load()
Call Buka
Set rsImg = New ADODB.Stream rsImg.Type = adTypeBinary rsImg.Open
txt_gbr.Enabled = False cmd_save.Enabled = False cmd_cancel.Enabled = False cmd_edit.Enabled = False
End Sub
Private Sub LV_DblClick() Row = LV.SelectedItem.Index
txt_manfaat.Text = LV.ListItems.Item(Row).Text LV.ListItems.Remove (Row)
End Sub
Private Sub txt_namabuah_Change() txt_gbr = txt_namabuah
End Sub
Private Sub var_namabuah_Change() Dim Lst As ListItem, nmr As Integer Dim RsBuah As New ADODB.Recordset
RsBuah.Open "Select * from tb_manfaat where nama_buah='" & Me.var_namabuah.Text & "'", conn With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add
Lst.Text = RsBuah!manfaat 'Lst.SubItems (1)
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
F. Informasi Buah (frm_informasibuah.frm)
Public Sub SetLV() Dim fnt As New StdFont fnt.Name = "Arial" fnt.Size = "8" With LV
.View = lvwReport .GridLines = True .MultiSelect = True .FullRowSelect = True .HotTracking = True .HoverSelection = True
' tambahkan kolom2 ke, , Judul,lebar,aligment .ColumnHeaders.Add 1, , "No", 500
.ColumnHeaders.Add 2, , "Nama Buah", 3000 .ColumnHeaders.Add 3, , "Nama Latin", 0 '.ColumnHeaders.Add 4, , "Manfaat", 0 .ColumnHeaders.Add 4, , "Kandungan", 0 .ColumnHeaders.Add 5, , "Gambar", 0
.Picture = LoadPicture(App.Path + "\test2.jpg") Set .Font = fnt
End With End Sub
Public Sub TplGrid()
Dim Lst As ListItem, nmr As Integer Dim RsBuah As New ADODB.Recordset
RsBuah.Open "Select * from tb_buah", conn With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat Lst.SubItems(3) = RsBuah!kandungan Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With
End Sub
Sub HapusGambar()
Private Sub cmd_cari_Click() If txt_caribuah.Text = "" Then
MsgBox "Isi nama buah terlebih dahulu", vbCritical, "Nama Buah kosong"
Else
Set RsBuah = New ADODB.Recordset
If RsBuah.State = addstateopen Then Set RsBuah = Nothing
RsBuah.Open "Select * from tb_buah where nama_buah like '" & txt_caribuah.Text & "%'", conn, adOpenDynamic
If Not RsBuah.EOF Then
Dim Lst As ListItem, nmr As Integer With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat Lst.SubItems(3) = RsBuah!kandungan Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With
Else
MsgBox "Data yang dicari tidak ada", vbCritical, "nama buah kosong"
Me.txt_caribuah.Text = "" Exit Sub
End If
End If
End Sub
Private Sub cmd_delete_Click()
If MsgBox("Apakah anda yakin akan menghapusnya?", vbQuestion + vbYesNo) = vbYes Then
'Menghapus informasi namabuah, namalatin, kandungan, gambar
conn.Execute (sql_hapus)
'Menghapus informasi manfaat buah
sql_hapusmanfaat = "Delete * from tb_manfaat where nama_buah='" & txt_namabuah.Text & "'"
conn.Execute (sql_hapusmanfaat)
HapusGambar bersih
End If
End Sub
Private Sub cmd_detail_Click() frm_inputdatabuah.Show
frm_inputdatabuah.var_namabuah.Text = Me.txt_namabuah.Text
frm_inputdatabuah.txt_namabuah.Text = Me.txt_namabuah.Text
frm_inputdatabuah.txt_namalatin.Text = Me.txt_namalatin.Text
frm_inputdatabuah.txt_kandungan.Text = Me.txt_kandungan.Text
frm_inputdatabuah.txt_gbr.Text = Me.txt_gbr.Text frm_inputdatabuah.pictBuah.Picture =
LoadPicture(App.Path & "\gambar\" & txt_namabuah & ".jpg")
frm_inputdatabuah.cmd_edit.Enabled = True
Unload Me End Sub
Private Sub cmd_print_Click() With Me.crpt
.DataFiles(0) = App.Path & "db_buah.mdb"
.ReportFileName = "d:\Sistem Informasi Manfaat Buah\laporan.rpt"
.SelectionFormula = "{tb_buah.nama_buah}='" & Me.txt_namabuah.Text & "' "
.RetrieveDataFiles
.WindowState = crptMaximized .Action = 2
End With End Sub
Me.txt_caribuah.SetFocus End Sub
Private Sub Form_Load() Call Buka
Call SetLV
If conn.State <> 1 Then Buka
Call TplGrid
End Sub
Private Sub lst_manfaat_Click() Me.lbl_manfaat.Caption = ""
Me.lbl_manfaat.Caption = Me.lst_manfaat.Text
End Sub
Private Sub LV_Click()
Me.lbl_manfaat.Caption = ""
txt_namabuah.Text = LV.SelectedItem.SubItems(1) txt_namalatin.Text = LV.SelectedItem.SubItems(2) txt_kandungan.Text = LV.SelectedItem.SubItems(3) txt_gbr.Text = LV.SelectedItem.SubItems(4)
pictBuah.Picture = LoadPicture(App.Path & "\gambar\" & txt_namabuah & ".jpg")
Dim RsBuah As New ADODB.Recordset
RsBuah.Open "Select * from tb_manfaat where
nama_buah='" & LV.SelectedItem.SubItems(1) & "'", conn, adOpenDynamic, adLockOptimistic
With RsBuah
lst_manfaat.Clear
Do While Not RsBuah.EOF
Me.lst_manfaat.AddItem .Fields(1)
RsBuah.MoveNext 'gerakan kursor de data berikutnya
Loop End With
End Sub
Sub bersih()
txt_kandungan.Text = "" txt_gbr.Text = ""
lbl_manfaat.Caption = ""
pictBuah.Picture = LoadPicture(App.Path & "\gambar\default.jpg")
lst_manfaat.Clear End Sub
Private Sub txt_caribuah_Change() Set RsBuah = New ADODB.Recordset
If RsBuah.State = adStateOpen Then Set RsBuah = Nothing RsBuah.Open "Select * from tb_buah where nama_buah like '" & txt_caribuah & "%'", conn, adOpenDynamic, adLockOptimistic
Dim Lst As ListItem, nmr As Integer With RsBuah
LV.ListItems.Clear 'Bersihkan Listview Do While Not RsBuah.EOF
Set Lst = LV.ListItems.Add nmr = nmr + 1
Lst.Text = nmr 'isi kolom 1 dng nmr Lst.SubItems(1) = RsBuah!nama_buah Lst.SubItems(2) = RsBuah!nama_latin 'Lst.SubItems(3) = RsBuah!manfaat Lst.SubItems(3) = RsBuah!kandungan Lst.SubItems(4) = RsBuah!gambar
RsBuah.MoveNext 'gerakan kursor de data berikutnya Loop
End With End Sub
G. Menu Help (frm_help.frm)
Private Sub cmd_close_Click() Unload Me
End Sub
H. Menu About (frm_about.frm)
Private Sub cmd_close_Click() Unload Me