Home, Forum diskusi, Chatting, Download


Solusi Modul 2 Latihan 3

Judul : Solusi Tantangan pemrograman modul 2 Latihan 3

Soal :

Lengkapi program diatas dengan fasilitas Find, dimana jika tombol Find ditekan akan muncul suatu InputBox yang menanyakan nama yang dicari, jika ketemu, akan ditampilkan, dan jika tidak ketemu akan muncul message box data tidak ada.

Private Sub cmdFind_Click()
Dim nama As String
nama = InputBox("Masukkan nama :", "Pencarian")
If nama <> "" Then
   'lengkapi bagian ini

End If
End Sub

Jawab :

Dalam hal ini kita akan menggunakan metode Linier Search karena data yang tersimpan tidak berurut, sehingga pencarian harus dilakukan dari awal s/d record terakhir untuk memastikan data yang dicari tidak ada.

Variabel lokal yang digunakan adalah :

Private Sub cmdFind_Click()
Dim nama As String
Dim posisicari As Integer

nama = InputBox("Masukkan nama :", "Pencarian")

If nama <> "" Then

   posisicari = 1                              'Mulai dari record 1
   Do While posisicari <= JlhRec               'Sampai record terakhir
      Get #1, posisicari, DatPemakai           'Baca record bersangkutan 

      If RTrim(DatPemakai.nama) = nama Then    'Jika nama di record sama
         Exit Do                               'dengan nama dicari maka   
      End If                                   'keluar dari looping

      posisicari = posisicari + 1              'ke posisi record berikutnya
   Loop

   If posisicari <= JlhRec Then                'jika looping selesai dengan
      Posisi = posisicari                      'nilai posisi lebih kecil atau  
      Call Tampil                              'sama dengan jlhrec, maka ketemu
                                               'set posisi sama dengan hasil
                                               'pencarian dan data ditampilkan
   Else
      MsgBox "Pemakai dengan nama tersebut tidak ada", vbOKOnly + vbInformation, "Pencarian"
   End If

End If

End Sub

Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia