Gambas2 & Gambas3, Tutorial Pengurutan Nilai Secara Visual


Tutorial kali ini adalah Pengurutan Nilai Secara Visual, cara kerjanya adalah dengan menekan tombol proses maka proses pengurutan nilai pun di jalankan, nilai-nilai yang terdapat di listBox1 (nilai yang masih acak/belum urut) akan di bandingkan antara nilai yang satu dengan yang lainnya untuk mendapatkan nilai terkecil, setelah itu nilai terkecil akan di pindahkan ke listBox2 dan begitu seterusnya. TextBox1 berisi nilai terkecil sementara sewaktu proses pembandingan antara nilai yang satu dengan yang lain berlangsung. dan tombol Reset untuk mengembalikan ke keadaan awal sedangkan ListBox3 berfungsi sebagai indikator/penanda untuk nilai yang sedang di proses pada ListBox1.

Berikut ini adalah langkah-langkah untuk mencoba tutorial ini.

1. Buat project baru,

2. Tambahkan atau masukkan kontrol berikut ini kedalam form
  • 3 ListBox
  • 2 Button
  • 1 TextBox
    Disain tampilnya seperti gambar di bawah ini
Tutorial Gambas2 dan Gambas3, Pengurutan Nilai

3. Ketikkan kode berikut ini
' Gambas class file

' author : Zainudin Ahmad "AS MarkasGambas"
' site   : gambaspi.blogspot.co.id
' Title  : Tutorial pengurutan nilai (for gambas2 dan gambas3)

'Catatan :
'Tinggi ListBox1 dan ListBox3 Harus sama (lihat gambar disain form)
'Letak ListBox3 di sebelah kiri listBox1 (lihat gambar disain form)

Public Sub Form_Open()
 
  Me.Center()

  InitNilai()
 
  TextBox1.Clear()
  TextBox1.Alignment = Align.Center
 
  Button1.Text = "Proses"
  Button2.Text = "Reset"
  Button2.Enabled = False

End

'Inisialisasi Nilai
Private Sub InitNilai()
  Dim aList As New String[]

  aList.Add(8)
  aList.Add(6)
  aList.Add(7)
  aList.Add(4)
  aList.Add(2)
  aList.Add(1)
  aList.Add(0)
  aList.Add(9)
  aList.Add(3)
  aList.Add(5)
  aList.Add(10)
  aList.Add(5)
 
  ListBox1.List = aList
 
End



Private Sub UrutkanNilai()
 
  Dim iMin As Integer
  Dim iIdxNilaiMin As Integer
  Dim iNilai As Integer
  Dim ixx As Integer
  Dim iNilaiKe As Integer
 
 
  For ixx = 0 To ListBox1.Count - 1
   
    PosNilai(0)
    TextBox1.Text = ListBox1.List[0]
    Wait 0.5
   
   'Cari nilai yang terkecil
   For iNilaiKe = 0 To ListBox1.List.Max
   
      PosNilai(iNilaiKe)
      Wait 0.5
      iNilai = ListBox1.List[iNilaiKe]
     
      'Jika iNilai lebih kecil dari /sama dengan nilai minimal
      If iNilai <= Val(TextBox1.Text) Then
        TextBox1.Text = iNilai
        Wait 0.5
       
        iIdxNilaiMin = iNilaiKe
      Endif
     
    Next
   
    iMin = TextBox1.Text
   
    'Pindahkan nilai paling kecil
    ListBox3.Clear()
    ListBox1.Remove(iIdxNilaiMin)
    TextBox1.Clear()
    ListBox2.Add(iMin)
   
    Wait 1
  Next

End

'Memproses pengurutan nilai
Public Sub Button1_Click()

  Button2.Enabled = False
  Button1.Enabled = False
  UrutkanNilai()
  Button2.Enabled = True

End

'Fungsi ini memperlihatkan posisi nilai di listBox1 yang sedang di Proses
Private Sub PosNilai(pNilaiKe As Integer)
  Dim aBlank As New String[ListBox1.List.Max]
 
  ListBox3.List = aBlank
  ListBox3.Add("->", pNilaiKe)
 
End

'Reset
Public Sub Button2_Click()

  Button1.Enabled = True
  Button2.Enabled = False
  InitNilai()
  ListBox2.Clear()

End

4. Coba anda jalankan/run (tekan F5) , tampilanya akan terlihat seperti di bawah ini.
Tutorial Gambas2 dan Gambas3, Pengurutan Nilai

SELAMAT MENCOBA


Artikel Terkait :