Senin, 10 Desember 2012

Membuat Form Seperti form Microsoft Office 2007

Standard

Agar pengguna nyaman dengan program yang kita buat, tentunya tampilan program harus dibuat semenarik mungkin. kali ini saya akan menshare bagaimana membuat form yang menarik, yaitu dengan membuat orm seperti form ms.ofice 2007. Tentunya kita tahu bahwa tambilan GUI ms.office 2007 sangat nyaman dipandang dan dipakai oleh pemakainya, maka dari itu saya akan menshare bagaimana cara membuat form seperti form buatan microsoft tersebut.
1. Pertama siapkan bahanya yaitu  file bernama DevComponents.Dotnetbar2.dll  ( googling sendiri yach ).
2. Taruh file tersebut ditempat yang mudah kita jangkau tetapi jauhkan file tersebut dari jangkauan anak -anak.
3. Buatlah project baru untuk pembuatan form ini.
4. Manipulasi tampilan form.
    Buka solution explorer klik kanan pada preferences lalu pilih add Refeence. lalu pilih file yang sudah didownload tadi lalu klik ok.




kemudian aktifkan form designer  ganti item yang terblok denganvDvComponets.DotNetBar.Office2007Form


  Lihatlah pada tab form designer (GUI) formnya telah berubah seperti form pada ms.office 2007 dengan ciri yang khas yaitu tombol conrol form yang flat.

5. Menambah kan tool - tool control ms.office 2007.
   Untu k menyempurnakan ritual ini, tidak lah cukup hanya dengan tampilan form, tetapi juga harus dibumbui dengan control control khas besustan ms.office '07.  Pertama klik kanan pada sebuah tab pada toolbox ms.visual studio pilih add new tab lalu ketikan sebuah nama tab baru misalnya villager. Kemudian klik kanan pada tab tersebut lalu pilih Choose Item, seperti gambar dibawah ini:

 

Langkah selanjutnya adalah browse dimana file DevComponen.dotnetbar2.dll di parkir. Kemudian klik OK dan liat anda akan terkejut karena pada toolbox muncul control - control khas ms.office yang sedang kita kita idamkan.

 
Selanjutnya adalah kreatifitas kita dalam merancang form untuk pembuatan program yang menarik dan tentunya berguna untuk kegiatan yang positif.




Demikian semoga bermanfaat, terima kasih. " Salam blogger.."


Jumat, 07 Desember 2012

Membuat ToolStrip Dan ContextMenuStrip Visual Basic 2010

Standard
Membuat ToolStrip

ToolStrip atau lebih dikenal dengan Toolbar merupkan menu atau tempat yang menyediakan Tool atau peralatan untuk control khusus, Dengan adanya Toolbar diharapkan akan mempercepat akses ke fungsi fungsi tertentu seperti save, new blank document, copy, paste dan masih banyak lagi.
Umumnya anggota toolbar berjenis button, Textbox dan combobox, Control inilah yang paling sering disediakan pada toolbar umumya.
Berikut cara membuatnya :


1.   Pilih toolstrip dari toolbox lalu klik pada area dibawah menu strip.
2.   Klik untuk menambah item tollbar.
3.   Pilih salah satu jenis objek ( button, label, combobox atau yang lain)
      untuk button kita bisa menambahkan gambar kedalam button tersebut dengan cara klik kanan 
      lalu pilih set image, kemudian pilih gambar yang diinginkan.
4.   Masukan coding untuk objek tersebut, misalnya untuk menampilkan form.
 Berikut coding yang saya gunakan untuk pemanggilan form Mdi pada project sebelumnya :

Private Sub TampilkanFormAnak1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak1ToolStripMenuItem.Click, NewToolStripButton.Click
        Form2.MdiParent = Me
        Form2.Show()
    End Sub

    Private Sub TampilkanFormAnak2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak2ToolStripMenuItem.Click, ToolStripButton1.Click
        Form3.MdiParent = Me
        Form3.Show()
    End Sub

    Private Sub TampilkanFormAnak3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak3ToolStripMenuItem.Click, ToolStripButton2.Click
        Form4.MdiParent = Me
        Form4.Show()
    End Sub

    Private Sub TampilkanFormAnak4ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak4ToolStripMenuItem.Click, ToolStripButton3.Click
        Form5.MdiParent = Me
        Form5.Show()
    End Sub

Saya hanya menambah event ( yang bergaris bawah ) di belakan event MenuStrip yang sudah ada.


Mengatur posisi toolbar (ToolStrip) dengan MenuContext  
MenuContext adalah menu yang akan ditampilkan ketika kita melakukan klik kanan pada objek terntentu. berikut contoh pemanfaatanya.

1.  Tambahkan contextmenustrip dari toolbox. 
2.   Isi menu seperti contoh berikut :
3.   Untuk mengubah posisi toolbar gunakan coding
(Nama toolstrip).Dock = DockStyle.(Posisi (left, right, top, buttom))
Contoh :
 untuk mengubah posisi toolbar pada posisi kanan:
ToolStrip1.Dock = DockStyle.Right

4.  Untuk mengaktikan contextmenu strip, klik objek ( toolstrip ), pada property contextmenustrip pilih conetxtmenustrip yang sudah kita buat sebelumnya (contextmenustrip1)

 berikut coding lengkap dan hasilnya : 

Private Sub AtasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AtasToolStripMenuItem.Click
        ToolStrip1.Dock = DockStyle.Top
    End Sub

    Private Sub KiriToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KiriToolStripMenuItem.Click
        ToolStrip1.Dock = DockStyle.Left
    End Sub

    Private Sub KananToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KananToolStripMenuItem.Click
        ToolStrip1.Dock = DockStyle.Right
    End Sub

    Private Sub BawahToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BawahToolStripMenuItem.Click
        ToolStrip1.Dock = DockStyle.Bottom
    End Sub




Demikian semoga baermanfaat, Terima kasih.



Membuat Mdi Form Visual Basic 2010

Standard
 MDI form


Mdi form  ialah form yang dapat menapilkan beberapa form sekaligus. Terbagi menjadi 2 jenis form yaitu form induk dan form anak. Form induk inilah yang akan menjadi tempat form-form anak ditampilkan. Berikut langkah-langkah dalam membuat MDI form ;
      1.       Buatlah project baru, lalu pilih widows form application. 
     2.       Set form pertama ( form 1 ) menjadi form induk dengan cara,
                       atur properti  IsMdiContainer   menjadi       “True”.
      3.       Tambahkan 4 windows form lagi.



      4.  Atur form1( form Induk ) pada properti  Windowstate menjadi  maximized.
      5. Buatlah sebuah Menustrip untuk memanggil form form anak,  pilih MenuStrip dari toolbox .
           Lalu buatlah menu-menu seperti gambar diatas.

      6.  Untuk memanggil form anak hanya dengan menggunakan code :

       Nama form.Mdiparent=me  ' mendiskripsikan form anak
           Nama form.show/show  dialog()          ' Memanggil form anak

      7.       Atur coding tersebut pada masing masing  menu strip untuk memanggil  form anak tertentu.

  Private Sub TampilkanFormAnak1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak1ToolStripMenuItem.Click
        Form2.MdiParent = Me
        Form2.Show()
    End Sub  '   Memanggil form2 ( Form Anak 1)

    Private Sub TampilkanFormAnak2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak2ToolStripMenuItem.Click
        Form3.MdiParent = Me
        Form3.Show()
    End Sub   Memanggil form3 ( Form Anak 2)

    Private Sub TampilkanFormAnak3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak3ToolStripMenuItem.Click
        Form4.MdiParent = Me
        Form4.Show()
    End Sub    Memanggil form4 ( Form Anak 3)

    Private Sub TampilkanFormAnak4ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TampilkanFormAnak4ToolStripMenuItem.Click
        Form5.MdiParent = Me
        Form5.Show()
    End Sub    Memanggil form5 ( Form Anak 4)


Mengatur posisi form anak Mdi
  
Pada tdkita kondisi defaultnya, form anak akan ditampilkan bertumpuk, ini tentunya membuat tidak nyaman tampilan karena berkesan tidak rapi. Sebenarnya kita dapat mengatur posisi tampilan form - form tersebut agar terlihat rapi walaupun semua form anak ditampilkan. Berikut langkah - langkahnya:


1.       Tambahkan menu window di menustrip yang sudah kita buat. Isikan sub menu seperti pada gambar.

2.       Gunakan koding berikut untuk mengatur posisi form anak :
                  Me.LayoutMdi(System.Windows.Forms.MdiLayout.(Posisi)
          Isikan nilai posisi dengan  :  tile horizontal, tile vertical atau                   cascade

         Koding lengkap masing - masing tombolnya sebagai berikut :

  
    Private Sub TileVertikalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileVertikalToolStripMenuItem.Click
        Me.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical)
    End Sub  ' Tile vertikal

    Private Sub TileHorisontlToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileHorisontlToolStripMenuItem.Click
        Me.LayoutMdi(System.Windows.Forms.MdiLayout.TileHorizontal)
    End Sub  ' Tile Horisontal

    Private Sub CascadeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CascadeToolStripMenuItem.Click
        Me.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade)
    End Sub  ' Bertumpuk ( cascade )
          
            3. Output


All form
Cascade

Tile Horizontal
Tile Vertical

Demikian semoga bisa bermanfaat, terima kasih.

Baca juga :
Membuat Toolbar (Tool Strip) dan Context MenuStrip.
Membuat Form Seperti Form MS.Office 2007.
Kumpulan Tugas - Tugas.

Selasa, 13 November 2012

LATIHAN KONTROL DASAR ( LISTBOX ) VISUAL BASIC 2010

Standard
Keberadaan listbox pada sebuah form dirasa sangat penting mengingat tool ini merupakan tool yang masuk kedalam katagori tool yang sering digunakan, sehingga kita harus menguasai teknik dasarnya. Lagsung saja ke latihan. Buatlah sebuah form dengan desain sebagai berikut :


Terdapat satu textbox yang berguna untuk menginputkan data. Selain textbox juga ada komponen penting yaitu listbox, ada dua listbox yang akan kita gunakan untuk menanmpung data. Selain itu ada juga tombol tombol yang akan digunakan untuk control program. Setelah membuat dan menambahkan elemen - elemen diatas pada form,kemudian beri coding. Berikut coding beserta penjelasan singkat pada bagian komentar :

Tombol tambahkan :
 If TextBox1.Text = "" Then    'Digunakan untuk mendeteksi textbox1 kosong
            MsgBox("Mohon Isikan inputan") 'perintah yang akan dilakukan jika textbox masih kosong dan tombol tambakan ditekan
        End If
        ListBox1.Items.Add(TextBox1.Text) ' menambahkan item dari textbox1 ke listbox1
        TextBox1.Text = "" ' mengosongkan kembali textbox1 setelah item dipindahkan ke listbox

Tombol Pindah :
ListBox2.Items.Add(ListBox1.SelectedItem) ' memindah kan item terpilih dari listbox1 ke listbox2


Tombol Pindah semua :
For Each item In ListBox1.Items
            ListBox2.Items.Add(item)   ' menggunakan perulangan untuk menambah semua item ke list box 2 dari listbox1


Tombol Hapus :
ListBox1.Items.Remove(ListBox1.SelectedItem) 'menghapus item terpilih pada listbox1


Tombol Hapus (Lstbx2) :
ListBox2.Items.Remove(ListBox2.SelectedItem) 'menghapus item

Tombol Hapus Semua :
ListBox2.Items.Clear() ' menghapus semua item pada listbox2

Tombol keluar : 
Me.Dispose() ' keluar



gb Hasil akhir


Demikan semoga berguna bagi pembaca sekalian.

Minggu, 04 November 2012

Tugas III Modifikasi Dan Pembuatan Game Puzzle Sederhana

Standard
Modifikasi Program Penjualan


Pada soal ini mengharuskan saya untuk meng enable  tombol clear dan seluruh inputan ketika tombol isi data ditekan , bersamaan dengan itu tombol isi data dan tutup di nonaktifkan.






















Kejadian yang ke 2 adalah ketika tombol clear ditekan, semua inputan di nonaktifkan sedangkan tombol isi data dan tutup diaktifkan kembali.
   Sebenarnya hanya dengan memakai metode enable= (true/false) sudah cukup untuk menyelesaikan permasalahan diatas, tetapi  tantangannya tidak semudah itu. Metode yang digunakan adalah menggunakan perulangan khususnya for each.
Untuk tobmol isi data saya isi codingnya sebagai berikut :

Dim Control As Windows.Forms.Control
        For Each Control In Me.Controls
            Control.Enabled = Not setatus
        Next ' perulangan untuk control di dalam grup box

        Bttutup.Enabled = setatus   
        Btisi.Enabled = setatus     
        setatus = Not setatus        




       Dimana perulangan digunakan untuk mengaktifkan kontrol form yaitu enabled (pengaktifan) yang bergantung pada nilai boolean dari variabel status yang nilai awalnya “false/0”
kemudian ditambahkan pembalik nilai setatus dengan coding NOT.
              
Pada tombol clear ditambahkan coding :

 Pada tombol clear ditambahkan coding :


Btclear.Enabled = Not setatus
        Btisi.Enabled = setatus
        Bttutup.Enabled = setatus
        Gb1.Enabled = Not setatus    
        setatus = Not setatus 

     Coding tersebut sebenarnaya berfungsi kebalikan dari tombol isi data. Di akhir juga terdapat pembalik nilai ketika tombol ini ditekan.

Proses lengkapnya adalah sebagai berikut : 

coding
Nila status
efek
 start
False (nilai awal)

 ==========================
Bt isi ditekan
=======================
Dim Control As Windows.Forms.Control
        For Each Control In Me.Controls
            Control.Enabled = Not setatus
        Next
 False dalam perulangan mjd true

< setatus = NOT  setatus >
Inputan ( grup box ) diaktifkan
 Bttutup.Enabled = setatus   
Masih bernilai awal (false)
 Tombol tutup dinonaktifkan
Btisi.Enabled = setatus    
Masih bernilai awal (false)
Tombol isi juga dinonaktifkan
setatus = Not setatus
 False menjadi true
Nilai setatus berubah
=======================
 Bt clear ditekan
======================
Btclear.Enabled = Not setatus

True karna di notkan menjadi false
Bt clear di nonaktifkan
Btisi.Enabled = setatus
 true
Bt isi diaktikan
 Bttutup.Enabled = setatus

true
Bt tutup diaktifkan
 Gb1.Enabled = Not setatus    

True mnjadi false (NOT)
Gb1(grupbox) di nonaktifkan
  setatus = Not setatus

false
Setatus direset ke false



Membuat Game Sederhana



Tugas praktikum tiga ini cukup menggelitik, tapi sayangnya saya tidak bisa menyelesaikan tantangan di lab yang berhadiah tiket VVIP  UTS, mmm don’t cry  guys. Okeh, setelah otak atik sana sini ketemu juga algoritma.
Langsung saja, syarat dan ketentuanya sebagai berikut :
       ·         Pada saat pertama program dilalanjakan puzzle siap dengan posisi tertentu.
     ·        Ketika di tekan tombol acak, nomor dari puzzle tersebut mengacak tak karuan sampai ditekan      kembali tombol acak yang berfungsi pula sebagai tombol stop.
      ·         Walaupun acak tetapi tidak diijinkan ada dua atau lebih tombol  yang berangka sama.
      ·         Ketika di tekan tombol yang berdekatan dengan tombol kosong maka tombol tersebut bertukar dengan tombol kosong.
     ·         Aturan pertukarannya adalah vertikal dan horisontal tidak diperbolehkan diagonal maupun melompati kotak lain.
 Penyelesaian :

Acak tombol



 Dengan memasang timer dan sebuah tombol acak dengan coding :
  

Timer dan pengacak :

Selama nilai run true, pengacak akan mengacak sampai nilai run = false.
Rumus acakan saya buat sendiri yaitu 2 dengan 4, 4 dengan 6, 6 dengan 8, 8 saya tukar dengan 1, 1 ditukar dengan 3, 3 ditukar dengan 5, 5 ditukar dengan 7, 7 ditukar dengan 9, kemudian 9 di tukar dengan tombol 2 kembali dengan variabel bantu “ cadangan” terlebih dahulu tentunya.
Cara kerjanya sebagai berikut
Run bertipe boolean yang  diberi nilai awal “false” , run sendiri di not kan agar bisa membalik kondisi awalnya menjadi belawanan.
Ketika tombol acak ditekan timer bekerja dan proses looping ( yang sekaligus mengendalikan proses pengacakan) bekerja serta mengubah properti tombol menjadi “Henti”.
Ketika tombol acak (stop/Henti) ditekan nilai run berubah menjadi false, proses looping berhenti, properti tombol (text) diset menjadi  “acak” kembali sementara tombol puzzle telah teracak tidak karuan, entah bagaimana merapikanya kembali.

Pertukaran :

Dengan mengacu pada tata tertib  diatas dapat kita ambil logika sebagai berikut :
Ketika sebuah tombol ditekan :
  Jika tombol disebelah kiri/kanan/atas/bwah itu kosong (“ ”) maka properti text tombol yang ditekan saya tukar dengan tombol kosong tersebut. Jika tidak ada tombol kosong maka tidak ada instruksi dijalankan.
berikut flowchartnya : 

Logika diatas di tuliskan di setiap tombol dengan jumlah conditional if  yang berbeda, tergantung posisi tombol tersebut. Sebagai comtoh tombol yang di pojok akan memiliki  conditional if yang lebih sedikit dibadingkan yang  berada tengah – tengah kerumunan tombol.
Untuk mendeteksi bahwa puzzle sudah tertata rapi saya tambahakan codding : 
If Bt1.Text = "1" And Bt2.Text = "2" And Bt3.Text = "3" And Bt4.Text = "4" And
             Bt5.Text = "5" And Bt6.Text = "6" And Bt7.Text = "7" And Bt8.Text = "8" And
             Bt9.Text = "" Then
            MsgBox("Selamat anda menang")   
     End If


Coding tersebut saya tanamkan pada tombol terakhir ( tombol  9) mengapa hanya ditombol ini?
Ya tentu saja tombol ini pasti yang terakhir ditekan bukan? Gak percaya mainin aja puzzlenya ‘-.- . Dalam coding tersebut terdapat logika and yang akan bernilai true jika semua syarat terpenuhi, untuk statement yang saya tampilkan hanya " Selamat anda menang" pada message box.

                       
Sebagai tambahan saya tambahkan tombol level mudah dan lumayan sebagai pelengkap.
Coding nya sangat sederhana yaitu hanya menset properti tombol tombol dengan formasi tertentu.

        Tombol ini sangat membantu ketika pengujian program(game) ini, bayangkan kalau tidak ada tombol level mudah, saya harus menyelesaikan game ini sampai merasa bego baru kemudian saya bisa menganalisa apakah game brjalan dengan baik atau tidak dari awal sampai akhir . Selain itu tombol ini juga menarik untuk dicoba, karena level acak selain membuat bosan juga sangat melelahkan tentunya. 
Lepas dari keanehan diatas saya tambahkan pula tombol alternatif menggunakan alt+tombol yang akan dieksekusi untuk variasi codding hanya dengan menambah simbol “&”. Pengubahan properti  ini juga harus diimbangi dengan pengubahan coding pendeteksi puzle selesai, karena atribut text yang dideteki sekarang bartambah karakter "&".

Demikian semoga dapat bermanfaat bagi pembaca. Terima kasih


Coba aja gamenya disini.


coding lengkapnya :


Public Class Form1
    '====================
    'Puzzle challange
    '31 okt 2012
    'by IS1D 2487
    '====================

    Dim run As Boolean = False ' jika di isi true kita harus pencet tombol acak 2x dulu
    Dim acak As Integer
    Dim tampung As String

    Private Sub Bt8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt8.Click
  If Bt9.Text = "" then
            tampung = Bt9.Text
            Bt9.Text = Bt8.Text
            Bt8.Text = tampung
        End If
        If Bt5.Text = "" Then
            tampung = Bt5.Text
            Bt5.Text = Bt8.Text
            Bt8.Text = tampung
        End If
        If Bt7.Text = "" Then
            tampung = Bt7.Text
            Bt7.Text = Bt8.Text
            Bt8.Text = tampung
        End If

     End Sub

    Private Sub Bt9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt9.Click

        If Bt6.Text = "" Then
            tampung = Bt6.Text
            Bt6.Text = Bt9.Text
            Bt9.Text = tampung

        End If
        If Bt8.Text = "" Then
            tampung = Bt8.Text
            Bt8.Text = Bt9.Text
            Bt9.Text = tampung
        End If

        If Bt1.Text = "&1" And Bt2.Text = "&2" And Bt3.Text = "&3" And Bt4.Text = "&4" And
             Bt5.Text = "&5" And Bt6.Text = "&6" And Bt7.Text = "&7" And Bt8.Text = "&8" And
             Bt9.Text = "" Then
            MsgBox("Selamat anda menang") ' tombol 9 pasti yang terakhir di tekan sehingga bisa dimanfaatkan untuk menampilkan message box
        End If

    End Sub


    Private Sub Bt6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt6.Click

        If Bt9.Text = "" Then
            tampung = Bt9.Text
            Bt9.Text = Bt6.Text
            Bt6.Text = tampung
        End If
        If Bt3.Text = "" Then
            tampung = Bt3.Text
            Bt3.Text = Bt6.Text
            Bt6.Text = tampung
        End If
        If Bt5.Text = "" Then
            tampung = Bt5.Text
            Bt5.Text = Bt6.Text
            Bt6.Text = tampung
        End If
       
    End Sub

    Private Sub Bt5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt5.Click

        If Bt6.Text = "" Then
            tampung = Bt6.Text
            Bt6.Text = Bt5.Text
            Bt5.Text = tampung
        End If

        If Bt8.Text = "" Then
            tampung = Bt8.Text
            Bt8.Text = Bt5.Text
            Bt5.Text = tampung
        End If

        If Bt4.Text = "" Then
            tampung = Bt4.Text
            Bt4.Text = Bt5.Text
            Bt5.Text = tampung
        End If

        If Bt2.Text = "" Then
            tampung = Bt2.Text
            Bt2.Text = Bt5.Text
            Bt5.Text = tampung
        End If
       
    End Sub

    Private Sub Bt7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt7.Click

        If Bt8.Text = "" Then
            tampung = Bt8.Text
            Bt8.Text = Bt7.Text
            Bt7.Text = tampung
        End If

        If Bt4.Text = "" Then
            tampung = Bt4.Text
            Bt4.Text = Bt7.Text
            Bt7.Text = tampung
        End If
       
    End Sub

    Private Sub Bt4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt4.Click

        If Bt1.Text = "" Then
            tampung = Bt1.Text
            Bt1.Text = Bt4.Text
            Bt4.Text = tampung
        End If

        If Bt5.Text = "" Then
            tampung = Bt5.Text
            Bt5.Text = Bt4.Text
            Bt4.Text = tampung
        End If

        If Bt7.Text = "" Then
            tampung = Bt7.Text
            Bt7.Text = Bt4.Text
            Bt4.Text = tampung
        End If
       
    End Sub

    Private Sub Bt1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt1.Click

        If Bt2.Text = "" Then
            tampung = Bt2.Text
            Bt2.Text = Bt1.Text
            Bt1.Text = tampung
        End If

        If Bt4.Text = "" Then
            tampung = Bt4.Text
            Bt4.Text = Bt1.Text
            Bt1.Text = tampung
        End If
      
    End Sub

    Private Sub Bt2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt2.Click

        If Bt1.Text = "" Then
            tampung = Bt1.Text
            Bt1.Text = Bt2.Text
            Bt2.Text = tampung
        End If

        If Bt5.Text = "" Then
            tampung = Bt5.Text
            Bt5.Text = Bt2.Text
            Bt2.Text = tampung
        End If

        If Bt3.Text = "" Then
            tampung = Bt3.Text
            Bt3.Text = Bt2.Text
            Bt2.Text = tampung
        End If
      
    End Sub

    Private Sub Bt3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt3.Click

        If Bt2.Text = "" Then
            tampung = Bt2.Text
            Bt2.Text = Bt3.Text
            Bt3.Text = tampung
        End If

        If Bt6.Text = "" Then
            tampung = Bt6.Text
            Bt6.Text = Bt3.Text
            Bt3.Text = tampung
        End If
      
       
    End Sub

    Private Sub btacak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btacak.Click

        run = Not run

        Timer1.Enabled = run
        If run = False Then
            btacak.Text = "Acak"
        Else
            btacak.Text = "Henti"
        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        Dim cadangan As String
        Do
            run = Not run
            cadangan = Bt2.Text ' encript random = genap ditukar ke genab baru ganjil ke ganjil
            Bt2.Text = Bt4.Text
            Bt4.Text = Bt6.Text
            Bt6.Text = Bt8.Text
            Bt8.Text = Bt1.Text
            Bt1.Text = Bt3.Text
            Bt3.Text = Bt5.Text
            Bt5.Text = Bt7.Text
            Bt7.Text = Bt9.Text      ' IS1D
            Bt9.Text = cadangan
        Loop Until run = True
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btmudah.Click
        Bt1.Text = "&1"
        Bt2.Text = "&2"
        Bt3.Text = "&3"
        Bt4.Text = "&4"
        Bt5.Text = "&5"
        Bt6.Text = "&6"
        Bt7.Text = ""
        Bt8.Text = "&7"
        Bt9.Text = "&8"
    

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btlumayan.Click
        Bt1.Text = ""
        Bt2.Text = "&1"
        Bt3.Text = "&3"
        Bt4.Text = "&4"
        Bt5.Text = "&2"
        Bt6.Text = "&6"
        Bt7.Text = "&7"
        Bt8.Text = "&5"
        Bt9.Text = "&8"

    End Sub
End Class