Rabu, 15 Januari 2014



Perancangan Display LED Dot Matrix
menggunakan Mikrokontroler ATmega32



1.  Pendahuluan
Banyak sekali media penampil informasi yang telah dikembangkan oleh pasar, antara lain dengan enggunakan lampu hias berupa lampu neon yang dibentuk karakter khusus yang disesuaikan dengan kebutuhan dan media penampil informasi dengan Display Seven Segment. Namun teknologi dengan lampu neon memiliki ekurangan yaitu tidak dapat di-update  informasinya dan membutuhkan energi listrk yang relatif besar. Begitu juga dengan  Display Seven Segment  yang memiliki keterbatasan dalam menampilkan informasi, terutama untuk tampilan abjad/ huruf-huruf tertentu, yang disebabkan karena Display Seven Segment  hanya terdiri atas 7 buah LED (Light Emiting Diode) Display.Dengan melihat kekurangan yang ada pada lampu Neon dan  Display Seven Segment, penulis mencoba merancang sebuah  tampilan  informasi berukuran kecil dengan menggunakan LED  Dot Matrix  8x8  sebanyak 8  baris 80 kolom dengan menggunakan  Mikrokontroler
ATmega32    sebagai pengendali dari keseluruhan sistem.  Adapun tampilan informasi yang akan
ditampilkan dalam penelitian ini dapat diubah sesuai dengan keperluan melalui sebuah komputer yang sudah
terpasang program Visual Basic.

2.  Komponen yang digunakan

1.  IC Mikrokontroler ATmega (8535, 16, atau 32)
2.  1 buah XTAL 4 Mhz, 8 Mhz atau 12 Mhz (XTAL1)
3.  3 Kapasitor kertas sebesar 22pF (C2 dan C3) serta 100nF (C4)
4.  Resistor sebesar 10 KΩ
5.  1 buah tombol  Reset Push Button  (PB1) jika diperlukan

Selain itu tentunya diperlukan  Power Supply atau Catu Daya untuk memberikan tegangan 5V DC (Direct

Current). Rangkaian Sistem Minimum dapat dilihat pada Gambar 2.2.

Gambar 2.2. Sistem Minimum ATmega32 Visual Basic  merupakan bahasa pemrograman yang sangat sudah dipelajari, dengan teknik pemrograman visual yang memungkinkan penggunanya untuk berkreasi lebih baik dalam menghasilkan suatu program aplikasi. Ini terlihat dari dasar pembuatan dalam visual basic adalah  form, dimana pengguna dapat mengatur tampilan form kemudian dijalankan dalam script yang sangat mudah.  Antarmuka  Visual Basic, berisi  menu,  toolbar,  toolbox,  form, project explorer dan property seperti pada Gambar 2.3.

Gambar 2.3. Antarmuka Visual Basic
3.  Hasil  Pengujian Aplikasi Pengirim Data Karakter dengan Display LED Dot Matrix
Pengujian antarmuka aplikasi IDM dengan  Display LED  Dot Matrix  bertujuan untuk mengetahui unjuk
kerja dari perangkat keras yang telah dirancang dengan antarmuka IDM yang telah dibuat pada penelitian ini.
Sebelum pengujian aplikasi IDM, terlebih dahulu hubungkan perangkat keras  Display  LED  Dot Matrix
dengan antarmuka  IDM.    Caranya adalah pastikan perangkat keras  Display  LED  Dot Matrix  telah
dihubungkan dengan  Power Supply    sebagai sumber tegangan DC (Gambar  3.1). Kemudian hubungkan
kabel USB tipe A ke  Port  USB  komputer dan kabel USB tipe B ke  Connector  USB tipe B pada  perangkat keras (Gambar 3.1).


Gambar 3.1. Pengecekan Display LED Dot Matrix Sebelum Digunakan: (a) Hubungkan Power Supply; (b) Hubungkan kabel USB tipe A dan B Setelah antarmuka IDM dihubungkan dengan perangkat keras melalui kabel USB dan perangkat Display  LED  Dot Matrix  telah dihubungkan dengan sumber tegangan DC, buka aplikasi IDM. Sehingga akan terlihat status  Disconnect  yang menunjukkan aplikasi IDM belum terhubung dengan perangkat Display LED Dot Matrix seperti pada Gambar 3.2.

Gambar 3.2. Status Aplikasi dan Display LED Dot Matrix Belum Terhubung Untuk menghubungkan aplikasi dengan perangkat Display  LED  Dot Matrix  klik tombol  Connect  pada aplikasi IDM, sehingga  status  Disconnect  pada  Data Report  akan berubah menjadi  Connect  dan tombol Connect  akan berubah menjadi  Disconnect.


Aplikasi telah terhubung dengan Perangkat Display LED Dot Matrix Pengujian aplikasi IDM ini dilakukan dengan cara mengetikkan tulisan pada tempat untuk mengetikkan tulisan seperti pada Gambar  3.4. Pada Pengujian ini Status Connect Hubungkan Power Supply Status tulisan yang diketik adalah  hurug kapital A sampai Z, huruf kecil a sampai z, angka 0 sampai 9, spasi, dan simbol-simbol seperti simbol yang terdapat pada tombol keyboard Komputer.

Tempat Pengetikan Teks Yang Akan Ditampilkan Setelah sejumlah karakter di ketik, selanjutnya
adalah mengirimkan teks yang akan ditampilkan pada Display  LED  Dot Matrix. Pada aplikasi IDM terdapat dua tombol yang dapat digunakan untuk mengirimkan tulisan yang telah diketik, yaitu tombol  Flash  dan EEPROM. Tombol tombol  Flash  digunakan untuk mengirim tulisan ke  Display  LED  Dot Matrix  tanpa tersimpan pada memori  EEPROM mikrokontroler, kekurangannya adalah ketika perangkat keras
dipadamkan maka informasi yang telah ditampilkan akan hilang. Sedangkan tombol  EEPROM digunakan
untuk mengirim tulisan ke  Display  LED  Dot  Matrix yang datanya tersimpan pada memori EEPROM
mikrokontroler. Kelebihannya adalah ketika terjadi pemutusan sumber tegangan, tulisan yang telah
ditampilkan sebelumnya tidak hilang dan masih tersimpan pada memori EEPROM mikrokontroler,
sehingga ketika informasi ingin ditampilkan kembali penulis tidak perlu memasukkan informasi yang akan
ditampilkan pada aplikasi pengirim teks lagi. menunjukkan penggunaan tombol  Flash sedangkan Gambar  3.5b. menunjukkan penggunaan tombol  EEPROM sesuai dengan penomoran pada. Pengirim Tulisan Ke Display LED Dot Matrix: (a) Penggunaan Tombol Flash; (b) Penggunaan Tombol EEPROM Langkah selanjutnya adalah menentukan kecepatan pergeseran atau pergerakan teks. Pada penelitian ini
teks bergerak dari kiri ke kanan. Tombol yang digunakan untuk menentukan kecepatan pergeseran
atau pergerakan teks adalah tombol  Delay. Pada aplikasi pengirim teks tombol  Delay  hanya dapat
digunakan pada tombol EEPROM, sedangkan untuk tombol  Flash  besarnya  delay  atau waktu tunda
pergeseran teks tidak bisa diatur. menunjukkan penggunaan tombol Delay. Penggunaan Tombol Delay
Dari hasil pengujian aplikasi pengirim teks, ditemukan bahwa aplikasi tidak dapat mengirimkan simbol “ (petik dua). Penulis menyimpulkan bahwa tanda “ (petik dua) tidak dikenali oleh program  Basic, karena bahasa  Basic  menganggap sebagai kesalahan sistem. Namun pengujian aplikasi pengirim teks dianggap berhasil karena data yang dimasukkan sama dengan data yang ditampilkan, kecuali untuk karakter “ (tanda petik).


Rabu, 26 Desember 2012

Tugas K-8

Dalam pertemuan k-8 Pemrograman Visual, Ada tiga tugas yang harus di posting :
1. Tugas Dengan Return Value Array
2. OverLoading Function
3. Macam - Macam Function Bawaan


1. Tugas Dengan Return Value Array

ScreenShoot Awal


Sourcce Coding



Hasil Setelah Program Diproses

 Penjelasan :


>>Private Function fstat(ByVal ParamArray args() As Object) As Single()
Membuat sub program dengan Function dengan variable fstat dengan parameter ByVal yang bererti melewatkan parameter secara nilai dengan tipe single yang berarti bilangannya bulat.
>>Dim hasil(3) As Single
Membuat variable dengan nama hasil dengan jumlah teratas atau Ubound 3 yang bertipe data single.
>>Dim i As Integer
Membuat variable dengan nama i yang bertipe data integer.
>>For i = 0 To UBound(args)
Merupakan perulangan untuk i=0 sampai batas teratas dari array.
>>hasil(0) = hasil(0) + args(i)
hasil(0) = 0 karena perulangan belum di mulai.
args(i) = nilai dari indeks array ke i.
>>If i = 0 Then
jika i = 0 maka lakukan sebagai berikut.
>>hasil(1) = args(i)
hasil 1 = nilai dari indeks ke i.
>>hasil(2) = args(i)
hasil 2 =nilai dari indeks ke i.
>>End If
Selain i=0,atau jika i bukan sama dengan 0.
>>If hasil(1) < args(i) Then hasil(1) = args(i)
Jika hasil 1 lebih kecil dari nilai i maka hasil 1= nilai dai indeks ke i.
>>If hasil(1) > args(i) Then hasil(1) = args(i)
>>Next i
Jika hasil 2 lebih kecil dari nilai i maka hasil 2= nilai dai indeks ke i.
>>Return hasil
Akan kembali ke hasil.
>>Dim statistik As Single() = fstat(1, 6, 2)
Membuat vaariable dengan nama ststistik yang bertipe data single dengan nilai array pada
indeks ke 0 = 1
indeks ke 1 = 6
indeks ke 2 = 2
>>TextBox1.Text = statistik(0)
TextBox2.Text = statistik(1)
TextBox3.Text = statistik(2)
End Sub

Pada texbox1,2 dan 3 akan menampilkan sesuai dengan statistik dari indeks ke 0
============================================================================================


 2. OverLoading Function

Tampilan Awal

Coding Dan Hasil



Penjelasan:

Pada koding kita hanya memberikan tiga variabel, sehingga saat pemanggilan procedure maka yg di eksekusi adalah procedure yang kedua,  tetapi jika kita memberikan dua nilai variabel pada saat pemanggilan procedure maka yg dieksekusi adalah procedure yg pertama.

============================================================================================

3. Macam - Macam Function Bawaan


Fungsi NumericCInt () ===> Pembuatan nilai desimal 0.5 dan lebih ke integer yang lebih dekat
Fix ()    ===> Pemotongan suatu nilai desimal menjadi integer
Int ()    ===> Pembuatan ke bawah suatu nilai desimal

Fungsi String

Left              → mengambil karakter dari sebelah kiri
Right            → mengambil karakter dari sebelah kanan
Mid              → mengambil karakter dari tengah
LTrim           → membuang semua semua awal spasi yang ada disebelah kiri
RTrim           → membuang semua semua awal spasi yang ada disebelah kanan
Trim              → membuang semua spasi yang ada disebelah kiri dan kanan
Len                → memberikan nilai balik integer sebagai panjang string
LCase           → mengubah string menjadi huruf kecil semua
UCase           → mengubah string menjadi huruf besar semua
Str (int)          → mengubah bilangan menjadi string (konversi)
Chr (Asscii)   → konversi dari nilai ascii menghasilkan karakter


Fungsi Matematika

Val (Str)                             → konversi string menjadi integer
Asc(Char)                          → konversi karakter menghasilkan nilai ascii
Abs(Number)                     → memberikan nilai mutlak dari suatu nilai negatif
Round(Number,Decimal)    → membulatkan suatu angka sampai beberapa digit decimal
Sqr(Number)                      → memberikan hasil akar kuadrat dari suatu nilai
Tan()                                  → mengembalikan nilai tangen dari argument dalam radian
Cos()                                  → mengembalikan nilai cosinus dari argument dalam radian
Atn()                                  → mengembalikan nilai arc tangen dari argument dalam  bentuk radian
Long()                                → mengembalikan nilai logaritma dari argument
CInt()                                 → pembulatan nilai decimal 0.5 dan lebih ke integer yang terdekat
Fix()                                   → pemotongan suatu nilai decimal menjadi integer
Int()                                    → pembulatan ke bawah suatu nilai decimal


Fungsi Tanggal dan Waktu

Date()                                  → mengambil tanggal system komputer
IsDate                                 → memberikan nilai balik Boolean , true jika parameter adalah sebuah tanggal
DateValue                           → konversi string menjadi date
D(Date),M(Date),Y(Date)   → memberikan nilai integer dari Variabel Date untuk hari , bulan dan tahun
Time()                                 → mengambil waktu dari system komputer
H(Date),M(Date),S(Date)   → memberikan nilai integher dari variable date untuk jm, menit dan deik
TimeValue(str)                    → konversi string ke variable date

Rabu, 12 Desember 2012

Tugas Ke-7


Tugas MDI Form
[Casecade, Vertikal,Horizontal]



Tampilan Awal

 

>>Tampilan Saat Mengeluarkan Form Latihan,Form yang tampil masih acak
 

>>Tampilan Saat Form Diatur Menjadi Cascade [Menupuk Rapi]
 

 >>Tampilan Saat Form Latihan Menjadi Vertikal


>>Tampilan Saat FormMenjadi Horizontal


Demikian hasil tugas yang telah saya coba, untuk source koding nya seperti gambar dibawah ini :



Keterangan :

Tampilan Casecade : Me.Layout(MdiLayout.Casecade)
Tampilan Vertikal : Me.Layout(MdiLayout.TileVertical)
Tampilan Horizontal : Me.Layout(MdiLayout.TileHorizontal)




Rabu, 14 November 2012

Tugas Ke 4 "Listbox"

TAMPILAN AWAL



1. Button "Masukan"
 >> Kodingnya Adalah
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgsHandles Button1.Click
        If TextBox1.Text <> "" Then
            ListBox1.Items.Add(TextBox1.Text)
        Else
            MsgBox("Harus Input Data", vbInformation, "Peringatan")
        End If
        TextBox1.Focus()
        TextBox1.Clear()
      End Sub
  2.  Button "1 - 10"
>> Kodingnya Adalah
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim Angka As Integer
        For Angka = 1 To 10
            ListBox1.Items.Add(Angka)
        Next
     End Sub
3. Button "Copy Satu"
>> Kodingnya Adalah
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If ListBox1.Items.Count = 0 Then
            MsgBox("Data Belum Dipilih", vbInformation, "Informasi")
        Else
            ListBox2.Items.Add(ListBox1.SelectedItem)
        End If
     End Sub
 4. Button "Copy Beberapa"
>> Kodingnya Adalah
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If ListBox1.Items.Count = 0 Then
            MsgBox("Anda Belum Memilih Data", vbInformation, "Informasi")
        Else
            Dim Data As Object
            For Each Data In ListBox1.SelectedItems
                ListBox2.Items.Add(Data)
            Next
        End If
     End Sub
 5. Button "Copy Semua"
 >> Kodingnya Adalah
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If ListBox1.Items.Count = 0 Then
            MsgBox("Data Belum Tersedia", vbInformation, "Informasi")
        Else
            ListBox2.Items.AddRange(ListBox1.Items)
        End If
    End Sub
  5. Button "Hapus Satu"
 >> Kodingnya Adalah
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim Data As Object
        Data = ListBox2.SelectedItem
        ListBox2.Items.Remove(Data)
    End Sub
 6. Button "Hapus Beberapa"
 >> Kodingnya Adalah
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        For i As Integer = 0 To ListBox2.SelectedIndices.Count - 1
            ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)
        Next
     End Sub
  7. Button "Hapus Semua"
 
 >> Kodingnya Adalah
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        ListBox2.Items.Clear()
    End Sub
  8. Button "Rest"
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        ListBox1.Items.Clear()
        ListBox2.Items.Clear()
     End Sub
 9. Button "Tutup"
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Me.Close()
    End Sub
 End Class

 ===============================================================================
Tampilan Peringatan Pada Beberapa Tombol
 ===============================================================================

Button "Masukan"
Button "Copy Satu" 
Button "Copy Beberapa" 
Button "Copy Semua"

Senin, 29 Oktober 2012

Tugas Pertemuan K-3

Tugas kali ini memodifikasi program pada tugas pemrograman visual ke-2 dan membuat permainan Puzzel sederhana, dengan skenario sbb :

Latihan 1 : Memodifikasi Program
Skenario yang di minta yaitu :

  1. Saat form dijalankan : Semua isian tidak aktif, tombol isidata dan tutup aktif, tombol clear tidak aktif.
  2. Saat ditekan tombol isi data : Kode Barang, Jumlah Barang, Cara Beli, Tombol Clear semua "AKTIF", Tetapi tombol Isi Data "TIDAK AKTIF".
  3. Saat ditekan Tombol Clear sama dengan saat form dijalankan

=================================================================================
1. Saat form dijalankan : Semua isian tidak aktif, tombol isidata dan tutup aktif, tombol clear tidak aktif.

Tampilan awal ketika program dijalankan


Koding dari tampilan awal



2.Saat ditekan tombol isi data : Kode Barang, Jumlah Barang, Cara Beli, Tombol Clear semua "AKTIF", Tetapi tombol Isi Data "TIDAK AKTIF".


Tampilan setelah button Isi Data ditekan


Perintah yang ada pada button Isi Data


>> Kemudian Kita mulai mengisi datanya sesuai pilihan yang ada pada combobox. 




3.Saat "Tombol Clear" ditekan hasil tampilan sama, Seperti saat program pertama kali dijalankan

Screenshot sebelum button Clear diekan


Screenshot setelah button Clear ditekan 


>> Maka hasilnya akan kembali seperti awal, yaitu saat program pertama kali dijalanjan. Untuk koding yang berada dibalik button clear adalah sebagai berikut :

Source Coding Button Clear



Latihan 2 : Membuat Permainan Puzzel Sederhana
Skenario yang di minta yaitu :

  1. Saat form dijalankan posisi angka acak
  2. Saat ditekan tombol yang terletak di dekat tombol kosong maka tombol tersebut akan menempati tombol kosong, begitu seterusnya sampai dengan angkanya tersusun dari 1 sampai 8
  3. Saat angka sudah tersusun tampilkan pesan selamat anda berhasil


=================================================================================
1.Saat form dijalankan posisi angka acak

>> Screenshoot Puzzel saat program dijalankan. ada 4 contoh screenshoot puzzel semuanya teracak sesuai perintah koding yang ada didalamnya.


Koding dibalik aplikasi puzzel yang teracak

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim control As Windows.Forms.Control
        For Each control In Me.Controls
        Next
        If control.GetType.Name = "Button" Then
        End If
        Dim rndnumber As Random
        Dim number As Integer
        rndnumber = New Random
        number = rndnumber.Next(1, 9)
        control.Text = number

        If btdua.Text = btsatu.Text Then
        End If
            Do
            number = rndnumber.Next(1, 9)
            btdua.Text = number
        Loop Until (btdua.Text <> btsatu.Text)
        If bttiga.Text = btdua.Text Or bttiga.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                bttiga.Text = number
            Loop Until (bttiga.Text <> btdua.Text And bttiga.Text <> btsatu.Text)
        End If
        If btempat.Text = bttiga.Text Or btempat.Text = btdua.Text Or btempat.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                btempat.Text = number
            Loop Until (btempat.Text <> bttiga.Text And btempat.Text <> btdua.Text And btempat.Text <> btsatu.Text)
        End If
        If btlima.Text = btempat.Text Or btlima.Text = bttiga.Text Or btlima.Text = btdua.Text Or btlima.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                btlima.Text = number
            Loop Until (btlima.Text <> btempat.Text And btlima.Text <> bttiga.Text And btlima.Text <> btdua.Text And btlima.Text <> btsatu.Text)
        End If
        If btenam.Text = btlima.Text Or btenam.Text = btempat.Text Or btenam.Text = bttiga.Text Or btenam.Text = btdua.Text Or btenam.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                btenam.Text = number
            Loop Until (btenam.Text <> btlima.Text And btenam.Text <> btempat.Text And btenam.Text <> bttiga.Text And btenam.Text <> btdua.Text And btenam.Text <> btsatu.Text)
        End If
        If bttujuh.Text = btenam.Text Or bttujuh.Text = btlima.Text Or bttujuh.Text = btempat.Text Or bttujuh.Text = bttiga.Text Or bttujuh.Text = btdua.Text Or bttujuh.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                bttujuh.Text = number
            Loop Until (bttujuh.Text <> btenam.Text And bttujuh.Text <> btlima.Text And bttujuh.Text <> btempat.Text And bttujuh.Text <> bttiga.Text And bttujuh.Text <> btdua.Text And bttujuh.Text <> btsatu.Text)
        End If
        If btdelapan.Text = bttujuh.Text Or btdelapan.Text = btenam.Text Or btdelapan.Text = btlima.Text Or btdelapan.Text = btempat.Text Or btdelapan.Text = bttiga.Text Or btdelapan.Text = btdua.Text Or btdelapan.Text = btsatu.Text Then
            Do
                number = rndnumber.Next(1, 9)
                btdelapan.Text = number
            Loop Until (btdelapan.Text <> bttujuh.Text And btdelapan.Text <> btenam.Text And btdelapan.Text <> btlima.Text And btdelapan.Text <> btempat.Text And btdelapan.Text <> bttiga.Text And btdelapan.Text <> btdua.Text And btdelapan.Text <> btsatu.Text)
        End If
        btkosong.Text = ""
    End Sub
  
2. Saat ditekan tombol yang terletak di dekat tombol kosong maka tombol tersebut akan menempati tombol kosong, begitu seterusnya sampai dengan angkanya tersusun dari 1 sampai 8

Tampilan perpindahan button angka


>> Koding Yang Digunakan
1.Button Satu


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

2.Button Dua


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

3.Button Tiga


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

4.Button Empat


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

5.Button Lima


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

6.Button Enam


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

7.Button Tujuh


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

8.Button Delapan



If
 btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub

9.Button Kosong  


If btsatu.Text = "1" And btdua.Text = "2" And bttiga.Text = "3" And btempat.Text = "4" And btlima.Text = "5" And btenam.Text = "6" And bttujuh.Text = "7" And btdelapan.Text = "8" And btkosong.Text = "" Then
            MsgBox("Selamat Anda Menang")
        End If
    End Sub


3. Saat angka sudah tersusun tampilkan pesan selamat anda berhasil