Mencari Bilangan Leader Dalam Sebuah Deret Angka Dengan VB6

Dalam sebuah konteks deret angka kita mengenal istilah Leader atau pemimpin yang biasanya hal ini merujuk kepada angka yang lebih besar disebelah kanannya dari semua angka yang ada dalam deretan angka tersebut.Misal deretan angka [16,17,4,3,5,2] dari deretan angka tersebut yang menjadi Leader adalah angka [17,5,2]'.

Output

Keterangan:

  • 16 tidak menjadi angka leader karena disebelah kanannya ada yang lebih besar yaitu 17, maka angka 17 menjadi Leader
  • Disebelah kanan angka 17 tidak ada yang lebih besar dari 17, maka 17 tetap menjadi Leader
  • Angka 4 dan 3 tidak menjadi leader karena sebelah kanannya ada yang lebih besar yaitu angka 5, angka angka 5 menjadi Leader
  • Angka 2 menjadi Leader karena tidak ada angka disebelah kanannya

Setelah kita memahami tentang angka Leader  melalui teori, sekarang kita akan praktekan menggunakan kode program vb6, apakah hasilnya akan sama?.

Berikut adalah langkah-langkah mencari angka Leader dalam sebuah deret angka menggunakan vb6 :

1. Buka Form VB6 Standar EXE

2. Pada Form1 tanamkan beberapa control berikut :

1 TextBox

1 ListBox

1 CommandButton, dan

Beberapa Label

3. Desainlah Form seperti Gambar dibawah ini :

Desain Form 

4. Setelah mendesain Form seperti gambar diatas, ketiklah kode dibawah ini :

Option Explicit

Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "Tidak boleh kosong", vbInformation, "Info"
Text1.SetFocus
Else
If Command1.Caption = "Tampilkan" Then
Command1.Caption = "Clear"
    Dim inputArray() As String
    Dim numbers() As Integer
    Dim leaders() As Integer
    Dim i As Integer
    Dim maxRight As Integer

    ' Ambil input dari TextBox dan pisahkan berdasarkan koma
    inputArray = Split(Text1.Text, ",")
    
    ' Ubah input ke dalam array angka
    ReDim numbers(UBound(inputArray))
    For i = 0 To UBound(inputArray)
        numbers(i) = CInt(Trim(inputArray(i)))
    Next i

    ' Kosongkan ListBox hasil
    List1.Clear

    ' Algoritma untuk mencari leader
    ReDim leaders(UBound(numbers))
    Dim leaderIndex As Integer
    leaderIndex = 0
    maxRight = numbers(UBound(numbers)) ' Mulai dari elemen paling kanan
    
    ' Elemen paling kanan selalu menjadi leader
    leaders(leaderIndex) = maxRight
    leaderIndex = leaderIndex + 1

    ' Iterasi dari kanan ke kiri
    For i = UBound(numbers) - 1 To 0 Step -1
        If numbers(i) > maxRight Then
            maxRight = numbers(i)
            leaders(leaderIndex) = maxRight
            leaderIndex = leaderIndex + 1
        End If
    Next i

    ' Tampilkan hasil ke ListBox
    For i = leaderIndex - 1 To 0 Step -1
        List1.AddItem leaders(i)
    Next i
    Else
    If Command1.Caption = "Clear" Then
    List1.Clear
    Text1.Text = ""
    Command1.Caption = "Tampilkan"
    Text1.SetFocus
    End If
    
    
    End If
    End If
    
    
End Sub

Private Sub Form_Activate()
Text1.SetFocus
End Sub

Private Sub Form_Load()
Text1.Text = "16, 17, 4, 3, 5, 2"
End Sub

5. Setelah mengetikan kode diatas jalankan Project dengan menekan tombol F5 / RUN, lalu pada TextBox kosong masukan angka 16,17,4,3,5,2 (menggunakan tanda koma) lalu tekan tombol [Tampilkan], maka hasilnya akan terlihat di ListBox yaitu angka 17,5 dan 2.

Demikianlah artikel kali ini tentang Mencari Bilangan Leader Dalam Sebuah Deret Angka Dengan VB6, semoga artikel ini bermanfaat buat kita semua,amin.

Selamat mencoba, semoga berhasil.

No comments: