Emely.Net Banner Exchange
Emely.Net Banner Exchange

Home, Forum diskusi, Chatting, Download


Latihan 1

Judul : Memahami kontrol Listbox yang diaplikasikan untuk pengolahan nama negara dan propinsi

1. Buatlah program yang menyimpan nama-nama negara didalam sebuah text file Negara.txt, dimana setiap kali form diaktifkan, maka isi file Negara.txt akan dibaca dan ditampilkan dalam suatu listbox, kemudian pemakai dapat melakukan tambah, perbaiki maupun hapus item dalam listbox, dan isi daftar akan disimpan kembali ke file Negara.txt setiap pemakai melakukan klik pada Simpan ke file.

Kontrol Properti Nilai
Listbox1 Name
MultiSelect
Sorted
lstNegara
0 - None
True
Text1 Name lstItem
Command1 Name
Caption
cmdTambah
&Tambah
Command2 Name
Caption
cmdPerbaiki
&Perbaiki
Command3 Name
Caption
cmdHapus
&Hapus
Command4 Name
Caption
cmdSimpankeFile
&Simpan ke file
Command5 Name
Caption
cmdSimpan
&Simpan

Koding yang akan dilakukan :

Membuat deklarasi type dan variabel pada bagian General Declaration

Option Explicit             'Setiap variabel harus dideklarasikan

'Deklarasi enumerated type
Private Enum Flag
flNone = 0
flAdd = 1                   'Tambah data
flEdit = 2                  'Perbaiki data
End Enum

'Deklarasi variabel form level
Dim Aksi As Integer         'Digunakan untuk menandai aksi yang dibuat pemakai

Membaca dari file Negara.txt dan mengisikannya kedalam lstNegara, serta membuat setting awal variabel pada Event Form Load

Private Sub Form_Load()
Dim sItem As String

If Dir("Negara.Txt") <> "" Then          'Jika file Negara.Txt telah ada

   Open "Negara.txt" For Input As #1     'Buka text file untuk input

   Do While Not EOF(1)                   'Looping s/d Eof
      Input #1, sItem                    'baca 1 item
      LstNegara.AddItem (sItem)          'tambahkan ke Listbox 
   Loop

   Close #1                              'Tutup text file

End If

Aksi = flNone                            'Mula-mula pemakai belum melakukan aksi

End Sub

Melakukan koding untuk menangani event klik pada kontrol cmdTambah, adapun hal yang perlu dilakukan adalah menandai Aksi sebagai flAdd dan mimindahkan fokus ke txtItem.

Private Sub cmdTambah_Click()
Aksi = flAdd                             'Aksi adalah flAdd
txtItem.SetFocus                         'pindah fokus ke txtItem
End Sub

Melakukan koding untuk menangani event klik pada kontrol cmdPerbaiki, adapun hal yang perlu dilakukan adalah memeriksa apakah pemakai ada memilih item yang diperbaiki, kemudian memasukkan item yang diperbaiki ke txtItem, kemudian menandai Aksi sebagai flEdit, kemudian memindahkan fokus ke txtItem.

Private Sub cmdPerbaiki_Click()

If LstNegara.Text = "" Then

   MsgBox "Anda harus memilih Item" & vbCrLf & _
          "yang akan diperbaiki", vbOKOnly + vbInformation

Else

   txtItem = LstNegara.Text
   txtItem.SetFocus
   Aksi = flEdit

End If

End Sub

Melakukan koding untuk menangani event klik pada kontrol cmdHapus, adapauh hal yang perlu dilakukan adalah memeriksa Aksi, apakah flAdd atau flEdit, jika flAdd, maka tulisan dalam txtItem ditambahkan ke listbox, kalau flEdit maka item pada listbox dihapus, dan tulisan pada txtItem ditambahkan, kemudian Aksi di set ke flNone dan isi txtItem dikosongkan

Private Sub cmdSimpan_Click()
Dim Posisi As Integer

If Aksi = flAdd Then                  'Jika Aksi adalah flAdd

   LstNegara.AddItem (txtItem.Text)   'Tambahkan txtItem ke Listbox

ElseIf Aksi = flEdit Then             'Jika Aksi adalah flEdit

   Posisi = LstNegara.ListIndex       'Ambil posisi aktif
   LstNegara.RemoveItem (Posisi)      'Hapus item posisi tersebut
   LstNegara.AddItem (txtItem.Text)   'Tambahkan txtItem ke Listbox

End If

Aksi = flNone                         'Aksi diset ke flNone
txtItem.Text = ""                     'kosongkan txtItem

End Sub

Melakukan koding untuk menangani event klik pada cmdHapus, dengan memeriksa apakah ada item yang dipilih, kalau ada remove item tersebut,dan reset flag Aksi

Private Sub cmdHapus_Click()

If LstNegara.ListIndex < 0 Then       'Jika tidak ada yang dipilih

   MsgBox "Anda harus memilih Item" & vbCrLf & _
          "yang akan dihapus", vbOKOnly + vbInformation

Else                                  'Hapus item tersebut

   LstNegara.RemoveItem LstNegara.ListIndex

End If

Aksi = flNone

End Sub

Melakukan koding untuk menangani event klik pada cmdSimpankeFile, dengan looping dari item 0 s/d Listcount -1.

Private Sub cmdSimpanKeFile_Click()
Dim i As Integer

Open "Negara.txt" For Output As #1       'Buka file untuk ditulis

For i = 0 To LstNegara.ListCount - 1     'Dari item 0 s/d Listcount - 1

    Print #1, LstNegara.List(i)          'tulis ke textfile

Next i

Close #1                                 'tutup text file

MsgBox "Proses simpan selesai", vbOKOnly + vbInformation

End Sub

2. Buatlah program yang menyimpan nama-nama propinsi didalam sebuah text file Indonesia.txt, dimana setiap kali form diaktifkan, maka isi file Indonesia.txt akan dibaca dan ditampilkan dalam suatu listbox, kemudian pemakai dapat melakukan tambah, perbaiki maupun hapus item dalam listbox, dan isi daftar akan disimpan kembali ke file Indonesia.txt setiap pemakai melakukan klik pada Simpan ke file.


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