Senin, 29 Agustus 2016

Program Rapor K13 (Kurikulum 2013) Terbaru Versi 01

Program rapor kurikulum 2013 terbaru ini memang sengaja saya buat untuk dapat digunakan oleh semua Sekolah yang ingin memakai program rapor kurikulum 2013 dengan mudah. Sengaja saya setting agar menu-menu yang berhubungan dengan identitas seperti nama sekolah, kepala sekolah, wali kelas, kota hingga mata pelajaran tidak saya proteksi, agar anda yang membutuhkan terutama bagi operator disekolah dapat langsung memakainya.

Meskipun demikian ada kalanya struktur mata pelajaran dan sebagainya mungkin tidak cocok dengan Sekolah anda, sehingga saya masih bisa membantu anda merubahkan bentuk formatnya (gratis) silakan hubungi kami, namun jika anda menginginkan untuk mengembangkannya silakan konsultasikan dengan kami.

Semoga program sederhana rapor kurikulum 2013 yang masih versi 01 ini dapat bermanfaat buat anda, sekolah anda dan terutama para wali kelas. Doakan saya selalu sehat agar dapat terus membantu anda dan memperbaharui rapor ini sesuai aturan yang berlaku. Terima kasih. Download Project:
Download Aplikasi Rapor K13 V.01
Lihat Video:
Readmore → Program Rapor K13 (Kurikulum 2013) Terbaru Versi 01

Rabu, 24 Agustus 2016

Create Simple Menu in Android Using Visual Studio

To create simple menu or navigation on android is easy. You must add few code something like this.
Add this code to mymenu.xml.
mymenu.xml code:
 
<?xml version="1.0" encoding="utf-8" ?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/home"
        android:title="Beranda"/>
  <item android:id="@+id/kategori"
        android:title="Kategori"/>
  <item android:id="@+id/setting"
        android:title="Setting"/>
</menu>

And then put this into your mainactivity.cs
Mainactivity.cs code:

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace Simple_Menu
{
   [Activity(Label = "Simple_Menu", MainLauncher = true, Icon = "@drawable/icon")]


   //Bagian utama
   public class MainActivity : Activity
   {
      //Buat menu
      public override bool OnCreateOptionsMenu(IMenu menu)
      {
         MenuInflater.Inflate(Resource.Menu.mymenu, menu);
         return base.OnCreateOptionsMenu(menu);
      }
      //Menu Kita di Klik
      public override bool OnOptionsItemSelected(IMenuItem item)
      {
         switch (item.ItemId)
         {
            case Resource.Id.home:
               Button Homeact = FindViewById<Button>(Resource.Id.MyButton);
               Homeact.Click += delegate { Homeact.Text = string.Format("{0} clicks!", count++); };
               //Kode aksi or Action code
               return true;
            case Resource.Id.kategori:
               //Kode aksi or Action code
               return true;
            case Resource.Id.setting:
               //Kode aksi or Action code
               return true;
         }

         return base.OnOptionsItemSelected(item);
      }

      int count = 1;
      protected override void OnCreate(Bundle bundle)
      {
         base.OnCreate(bundle);

         // Set our view from the "main" layout resource
         SetContentView(Resource.Layout.Main);

         // Get our button from the layout resource,
         // and attach an event to it
         Button button = FindViewById<Button>(Resource.Id.MyButton);

         button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
      }
   }
}

For complete tutorial you can download project or see the video below. Download Project:
Download Project
Lihat Video:
Readmore → Create Simple Menu in Android Using Visual Studio

Sabtu, 13 Agustus 2016

Terjemahan QS[69]: Al-Haqqah (1-52)

Hari Kiamat, apakah hari Kiamat itu? Dan tahukah kamu apakah hari Kiamat itu? Kaum Samud dan ‘Ad telah mendustakan hari Kiamat. Maka adapun kaum Samud, mereka telah dibinasakan dengan suara yang sangat keras, sedangkan kaum ‘Ad, mereka telah dibinasakan dengan angin topan yang sangat dingin, Allah menimpakan angin itu kepada mereka selama tujuh malam delapan hari terus menerus; maka kamu melihat kaum ‘Ad pada waktu itu mati bergelimpangan seperti batang-batang pohon kurma yang telah kosong (lapuk). Maka adakah kamu melihat seorangpun yang masih tersisa di antara mereka? Kemudian datang Fir’aun dan orang-orang yang sebelumnya dan (penduduk) negeri-negeri yang dijungkirbalikkan karena kesalahan yang besar. Maka mereka mendurhakai utusan Tuhannya, Allah menyiksa mereka dengan siksaan yang sangat keras. Sesungguhnya ketika air naik (sampai gunung), Kami membawa (nenek  moyang) kamu ke dalam kapal, agar Kami jadikan (peristiwa itu) sebagai peringatan bagi kamu dan agar diperhatikan oleh telinga yang mau mendengar. Maka apabila sangkakala ditiup sekali tiup, dan diangkatlah bumi dan gunung-gunung, lalu dibenturkan keduanya sekali benturan. Maka pada hari itulah terjadi Kiamat, dan terbelahlah langit, karena pada hari itu langit menjadi rapuh. Dan para malaikat berada di berbagai penjuru langit. Pada hari itu delapan malaikat menjunjung ‘Arsy (singgasana) Tuhanmu di atas (kepala) mereka. Pada hari itu kamu dihadapkan (kepada Tuhanmu), tidak ada sesuatu pun dari kamu yang tersembunyi (bagi Allah). Adapun orang yang kitabnya diberikan di tangan kanannya, maka dia berkata, “Ambillah, bacalah kitabku (ini).” Sesungguhnya aku yakin, bahwa (suatu saat) aku akan menerima perhitungan terhadap diriku. Maka orang itu berada dalam kehidupan yang diridhai, dalam surga yang tinggi, buah-buahannya dekat, (kepada mereka dikatakan), “Makan dan minumlah dengan nikmat karena amal yang telah kamu kerjakan pada hari-hari yang telah lalu.” Dan adapun orang yang kitabnya diberikan di tangan kirinya, maka dia berkata, “Alangkah baiknya jika kitabku (ini) tidak diberikan kepadaku. Sehingga aku tidak mengetahui bagaimana perhitunganku, wahai, kiranya (kematian) itulah yang menyudahi segala sesuatu. Hartaku sama sekali tidak berguna bagiku. Kekuasaanku telah hilang dariku.” (Allah berfirman), “Tangkaplah dia lalu belenggulah tangannya ke lehernya.” Kemudian masukkanlah dia ke dalam api neraka yang menyala-nyala. Kemudian belitlah dia dengan rantai yang panjangnya tujuh puluh hasta. Sesungguhnya dialah orang yang tidak beriman kepada Allah Yang Mahabesar. Dan juga dia tidak mendorong (orang lain) untuk memberi makan orang miskin. Maka pada hari ini disini tidak ada seorang temanpun baginya. Dan tidak ada makanan (baginya) kecuali dari darah dan nanah. Tidak ada yang memakannya kecuali orang-orang yang berdosa. Maka Aku bersumpah demi apa yang kamu lihat, dan demi apa yang tidak kamu lihat sesungguhnya ia (Al-Qur’an itu) benar-benar wahyu (yang diturunkan kepada) Rasul yang mulia, dan ia (Al-Qur’an) bukanlah perkataan seorang penyair. Sedikit sekali kamu beriman kepadanya. Dan bukan pula perkataan tukang tenung. Sedikit sekali kamu mengambil pelajaran darinya. Ia (Al-Qur’an) adalah wahyu yang diturunkan dari Tuhan seluruh alam. Dan sekiranya dia (Muhammad) mengada-adakan sebagian perkataan atas (nama) Kami, pasti Kami pegang dia pada tangan kanannya. Kemudian Kami potong pembuluh jantungnya. Maka tidak seorang pun dari kamu yang dapat menghalangi (Kami untuk menghukumnya). Dan sungguh, Al-Qur’an itu pelajaran bagi orang-orang yang bertakwa. Dan sungguh, Kami mengetahui bahwa diantara kamu ada orang yang mendustakan. Dan sungguh, Al-Qur’an itu akan menimbulkan penyesalan bagi orang-orang kafir (di akhirat). Dan sungguh, Al-Qur’an itu kebenaran yang meyakinkan. Maka bertasbihlah dengan (menyebut) nama Tuhanmu yang Mahaagung.
Readmore → Terjemahan QS[69]: Al-Haqqah (1-52)

Senin, 01 Agustus 2016

Source Code Game Puzzle Visual Basic

Berikut ini akan saya bagikan kepada Anda source code game puzzle sederhana menggunakan level yang ditulis dengan bahasa Visual Basic VB.NET. Source code beserta projectnya dapat anda download melalui link dibawah.

Kode Koneksi:

Imports System.Data.OleDb
Public Class koneksidata
    Dim conect As New OleDbConnection("provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath.ToString & "\soni.mdb")
    Public Function open() As OleDbConnection
        Try
            conect.Open()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return conect
    End Function
    Public Function close() As OleDbConnection
        Try
            conect.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return conect
    End Function
End Class
Kode mnfrm:

Imports System.Data.OleDb
Namespace slidePuzzle
    Structure Block
        Public Row, Col As Integer
        Public Sub New(ByVal row As Integer, ByVal col As Integer)
            Me.Row = row
            Me.Col = col
        End Sub
    End Structure
    Public Class mnfrm
        Inherits System.Windows.Forms.Form
        Dim myconnection As New koneksidata
#Region "Kode Private"
        Const tSquare As Integer = 64
        Const tImageW As Integer = 62
        'Ukuran default
        Dim nRows As Integer = 2
        Dim nCols As Integer = 2
        Dim rand As Random
        Dim blankTile As Block
        Dim PictureLoaded As Boolean = False

        Dim timerCountdown As Integer
        Friend WithEvents tmplasttile As ctlTile
        Private tile(,) As ctlTile
        Friend WithEvents DariDataBase As MenuItem
        Friend WithEvents DariKomputer As MenuItem
        Friend WithEvents menuLoad As MenuItem
        Friend WithEvents menuShuffle As MenuItem
        Friend WithEvents menu2X2 As MenuItem
        Friend WithEvents menu3X3 As MenuItem
        Friend WithEvents menu4X4 As MenuItem
        Friend WithEvents menu5X5 As MenuItem
        Friend WithEvents menu6X6 As MenuItem
        Friend WithEvents menu7X7 As MenuItem
        Friend WithEvents menu8X8 As MenuItem
        Friend WithEvents menu9X9 As MenuItem
        Friend WithEvents menu10X10 As MenuItem
        Friend WithEvents menuSize As MenuItem
        Friend WithEvents MenuItem1 As MenuItem
        Friend WithEvents menuWhite As MenuItem
        Friend WithEvents menuGreen As MenuItem
        Friend WithEvents menuBlue As MenuItem
        Friend WithEvents menuRed As MenuItem
        Friend WithEvents menuSilver As MenuItem
        Friend WithEvents menuGridColor As MenuItem
        Friend WithEvents MenuItem2 As MenuItem
        Friend WithEvents mainMenu1 As MainMenu
        Friend WithEvents Konfigurasi As MenuItem
        Friend WithEvents openFile As System.Windows.Forms.OpenFileDialog
#End Region

#Region "Kode WinFormnya"
        Public Sub New()
            MyBase.New()
            InitializeComponent()
        End Sub
        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (components Is Nothing) Then
                    components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub

        Private components As System.ComponentModel.IContainer
        Friend WithEvents tRandom As System.Windows.Forms.Timer
        Private WithEvents tilesPanel As System.Windows.Forms.Panel
         Private Sub InitializeComponent()
            Me.components = New System.ComponentModel.Container()
            Me.tilesPanel = New System.Windows.Forms.Panel()
            Me.openFile = New System.Windows.Forms.OpenFileDialog()
            Me.tRandom = New System.Windows.Forms.Timer(Me.components)
            Me.DariDataBase = New System.Windows.Forms.MenuItem()
            Me.DariKomputer = New System.Windows.Forms.MenuItem()
            Me.menuLoad = New System.Windows.Forms.MenuItem()
            Me.Konfigurasi = New System.Windows.Forms.MenuItem()
            Me.menuShuffle = New System.Windows.Forms.MenuItem()
            Me.menu2X2 = New System.Windows.Forms.MenuItem()
            Me.menu3X3 = New System.Windows.Forms.MenuItem()
            Me.menu4X4 = New System.Windows.Forms.MenuItem()
            Me.menu5X5 = New System.Windows.Forms.MenuItem()
            Me.menu6X6 = New System.Windows.Forms.MenuItem()
            Me.menu7X7 = New System.Windows.Forms.MenuItem()
            Me.menu8X8 = New System.Windows.Forms.MenuItem()
            Me.menu9X9 = New System.Windows.Forms.MenuItem()
            Me.menu10X10 = New System.Windows.Forms.MenuItem()
            Me.menuSize = New System.Windows.Forms.MenuItem()
            Me.MenuItem1 = New System.Windows.Forms.MenuItem()
            Me.menuWhite = New System.Windows.Forms.MenuItem()
            Me.menuGreen = New System.Windows.Forms.MenuItem()
            Me.menuBlue = New System.Windows.Forms.MenuItem()
            Me.menuRed = New System.Windows.Forms.MenuItem()
            Me.menuSilver = New System.Windows.Forms.MenuItem()
            Me.menuGridColor = New System.Windows.Forms.MenuItem()
            Me.MenuItem2 = New System.Windows.Forms.MenuItem()
            Me.mainMenu1 = New System.Windows.Forms.MainMenu(Me.components)
            Me.SuspendLayout()
            '
            'tilesPanel
            '
            Me.tilesPanel.BackColor = System.Drawing.Color.PaleGreen
            Me.tilesPanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
            Me.tilesPanel.Location = New System.Drawing.Point(8, 12)
            Me.tilesPanel.Name = "tilesPanel"
            Me.tilesPanel.Size = New System.Drawing.Size(272, 224)
            Me.tilesPanel.TabIndex = 0
            '
            'tRandom
            '
            '
            'DariDataBase
            '
            Me.DariDataBase.Index = 0
            Me.DariDataBase.Text = "Dari Database (Otomatis)"
            '
            'DariKomputer
            '
            Me.DariKomputer.Index = 1
            Me.DariKomputer.Text = "Dari Komputer (Manual)"
            '
            'menuLoad
            '
            Me.menuLoad.Index = 0
            Me.menuLoad.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.DariDataBase, Me.DariKomputer, Me.Konfigurasi})
            Me.menuLoad.Text = "Gambar"
            '
            'Konfigurasi
            '
            Me.Konfigurasi.Index = 2
            Me.Konfigurasi.Text = "Konfigurasi"
            '
            'menuShuffle
            '
            Me.menuShuffle.Enabled = False
            Me.menuShuffle.Index = 1
            Me.menuShuffle.Text = "Acak"
            '
            'menu2X2
            '
            Me.menu2X2.DefaultItem = True
            Me.menu2X2.Index = 0
            Me.menu2X2.Text = "2 x 2"
            '
            'menu3X3
            '
            Me.menu3X3.Index = 1
            Me.menu3X3.RadioCheck = True
            Me.menu3X3.Text = "3 x 3"
            '
            'menu4X4
            '
            Me.menu4X4.Index = 2
            Me.menu4X4.RadioCheck = True
            Me.menu4X4.Text = "4 x 4"
            '
            'menu5X5
            '
            Me.menu5X5.Index = 3
            Me.menu5X5.RadioCheck = True
            Me.menu5X5.Text = "5 x 5"
            '
            'menu6X6
            '
            Me.menu6X6.Index = 4
            Me.menu6X6.Text = "6 x 6"
            '
            'menu7X7
            '
            Me.menu7X7.Index = 5
            Me.menu7X7.Text = "7 x 7"
            '
            'menu8X8
            '
            Me.menu8X8.Index = 6
            Me.menu8X8.Text = "8 x 8"
            '
            'menu9X9
            '
            Me.menu9X9.Index = 7
            Me.menu9X9.Text = "9 x 9"
            '
            'menu10X10
            '
            Me.menu10X10.Index = 8
            Me.menu10X10.Text = "10 x 10"
            '
            'menuSize
            '
            Me.menuSize.Index = 2
            Me.menuSize.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menu2X2, Me.menu3X3, Me.menu4X4, Me.menu5X5, Me.menu6X6, Me.menu7X7, Me.menu8X8, Me.menu9X9, Me.menu10X10})
            Me.menuSize.RadioCheck = True
            Me.menuSize.Text = "Ukuran"
            '
            'MenuItem1
            '
            Me.MenuItem1.Index = 4
            Me.MenuItem1.Text = ""
            '
            'menuWhite
            '
            Me.menuWhite.Index = 0
            Me.menuWhite.Text = "White"
            '
            'menuGreen
            '
            Me.menuGreen.Checked = True
            Me.menuGreen.DefaultItem = True
            Me.menuGreen.Index = 1
            Me.menuGreen.Text = "Green"
            '
            'menuBlue
            '
            Me.menuBlue.Index = 2
            Me.menuBlue.Text = "Blue"
            '
            'menuRed
            '
            Me.menuRed.Index = 3
            Me.menuRed.Text = "Red"
            '
            'menuSilver
            '
            Me.menuSilver.Index = 4
            Me.menuSilver.Text = "Silver"
            '
            'menuGridColor
            '
            Me.menuGridColor.Index = 3
            Me.menuGridColor.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuWhite, Me.menuGreen, Me.menuBlue, Me.menuRed, Me.menuSilver})
            Me.menuGridColor.Text = "Warna"
            '
            'MenuItem2
            '
            Me.MenuItem2.Index = 5
            Me.MenuItem2.Text = ""
            '
            'mainMenu1
            '
            Me.mainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.menuLoad, Me.menuShuffle, Me.menuSize, Me.menuGridColor, Me.MenuItem1, Me.MenuItem2})
            '
            'mnfrm
            '
            Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
            Me.ClientSize = New System.Drawing.Size(288, 401)
            Me.Controls.Add(Me.tilesPanel)
            Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
            Me.Icon = Global.slidePuzzle.My.Resources.Resources.ikonku
            Me.MaximizeBox = False
            Me.Menu = Me.mainMenu1
            Me.Name = "mnfrm"
            Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
            Me.Text = "D'Puzzle www.skyars.com"
            Me.ResumeLayout(False)

        End Sub
#End Region

#Region "Muat Form"
        Private Sub mnfrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MakeTiles(nRows, nCols)
            menuSize.Enabled = False
            menuGridColor.Enabled = False
        End Sub
#End Region

#Region "Acak dengan Waktu"
        Protected Sub Randomize()
            rand = New Random()
            timerCountdown = 64 * nRows * nCols
            tRandom.Interval = 1
            tRandom.Enabled = True
        End Sub
        Private Sub TimerOnTick(ByVal obj As Object, ByVal ea As EventArgs) Handles tRandom.Tick
            Dim col As Integer = blankTile.Col
            Dim row As Integer = blankTile.Row

            Select Case (rand.Next(4))
                Case 0 : col += 1
                Case 1 : col -= 1
                Case 2 : row += 1
                Case 3 : row -= 1
            End Select

            If (col >= 0 And col < nCols And row >= 0 And row < nRows) Then
                MoveTile(col, row)
            End If

            timerCountdown = timerCountdown - 1
            If (timerCountdown = 0) Then
                tRandom.Stop()
            End If
        End Sub
#End Region

#Region "Pindahkan Tiles (int Col, Int Row)"
        Private Sub MoveTile(ByVal Col As Integer, ByVal Row As Integer)
            tile(Row, Col).Location = New Point(blankTile.Col * tSquare,
                       blankTile.Row * tSquare)

            tile(blankTile.Row, blankTile.Col) = tile(Row, Col)
            tile(Row, Col) = Nothing
            blankTile = New Block(Row, Col)
        End Sub
#End Region

#Region "Pindahkan Tiles (int Rows, int Cols)"
        Public Sub MakeTiles(ByVal Rows As Integer, ByVal Cols As Integer)
            Dim index As Integer = 0

            ReDim tile(Rows, Cols)
            tilesPanel.Size = New Size(tSquare * Rows + 4, tSquare * Cols + 4)
            tilesPanel.Location = New Point(4, 4)
            Me.ClientSize = New Size(tilesPanel.Size.Width + 6, tilesPanel.Size.Height + 6)

            Dim Row, Col As Integer
            For Row = 0 To Rows - 1
                For Col = 0 To Cols - 1
                    tile(Row, Col) = New ctlTile(tSquare, tSquare, index)
                    tile(Row, Col).Parent = Me.tilesPanel
                    tile(Row, Col).Location = New Point(Col * tSquare, Row * tSquare)
                    index += 1
                Next
            Next
        End Sub
#End Region

#Region "Keyboard dan Mouse"
        Private Sub mnfrm_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
            ' Cek puzzle sudah diacak atau belum
            If ((menuShuffle.Enabled) Or (PictureLoaded = False)) Then Return

            ' Arrow Keys Left
            If (e.KeyCode = Keys.Left And blankTile.Col < nCols - 1) Then
                MoveTile(blankTile.Col + 1, blankTile.Row)

                ' Arrow Keys Right
            ElseIf (e.KeyCode = Keys.Right And blankTile.Col > 0) Then
                MoveTile(blankTile.Col - 1, blankTile.Row)

                ' Arrow Keys Up
            ElseIf (e.KeyCode = Keys.Up And blankTile.Row < nRows - 1) Then
                MoveTile(blankTile.Col, blankTile.Row + 1)

                ' Arrow Keys Down
            ElseIf (e.KeyCode = Keys.Down And blankTile.Row > 0) Then
                MoveTile(blankTile.Col, blankTile.Row - 1)

            End If

            e.Handled = True
            CheckFinish()     'Cek jika puzzle dipecahkan.
        End Sub

        Private Sub tilesPanel_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles tilesPanel.MouseDown
            ' Cek puzzle sudah diacak atau belum
            If ((menuShuffle.Enabled) Or (PictureLoaded = False)) Then Return

            Dim Col As Integer = e.X \ tSquare  'pembagi integer
            Dim Row As Integer = e.Y \ tSquare  'pembagi integer

            If (Col = blankTile.Col) Then
                If (Row < blankTile.Row) Then
                    Dim Row2 As Integer
                    For Row2 = blankTile.Row - 1 To Row Step -1
                        MoveTile(Col, Row2)
                    Next

                ElseIf (Row > blankTile.Row) Then
                    Dim Row2 As Integer
                    For Row2 = blankTile.Row + 1 To Row
                        MoveTile(Col, Row2)
                    Next
                End If

            ElseIf (Row = blankTile.Row) Then
                If (Col < blankTile.Col) Then
                    Dim Col2 As Integer
                    For Col2 = blankTile.Col - 1 To Col Step -1
                        MoveTile(Col2, Row)
                    Next

                ElseIf (Col > blankTile.Col) Then
                    Dim Col2 As Integer
                    For Col2 = blankTile.Col + 1 To Col
                        MoveTile(Col2, Row)
                    Next
                End If
            End If

            CheckFinish() 'Cek jika puzzle benar :)
        End Sub
#End Region

#Region "Kode jika susunan benar dan menang"
        Private Sub CheckFinish()
            Dim Finished As Boolean = True

            Dim index As Integer = 0
            Dim Row, Col As Integer

            For Row = 0 To nRows - 1
                For Col = 0 To nCols - 1
                    If ((index <> nRows * nCols) And Not (tile(Row, Col) Is Nothing)) Then
                        Finished = Finished And (tile(Row, Col).tIndex = index)
                    End If
                    index += 1
                    If Not (Finished) Then Return
                Next
            Next

            If (Finished) Then
                tile(nRows - 1, nCols - 1) = tmplasttile
                tile(nRows - 1, nCols - 1).Visible = True
                Dim result As Integer = MessageBox.Show("Anda berhasil menyusunnya!!, Lanjut level selanjutnya?", "Selamat :)", MessageBoxButtons.YesNo)
                If result = DialogResult.No Then
                    blankTile = New Block(nRows - 1, nCols - 1)
                    clearItems()
                    MakeTiles(nRows, nCols)
                ElseIf result = DialogResult.Yes Then
                    If My.Settings.SLEVEL <= 9 Then
                        My.Settings.SLEVEL += 1
                        My.Settings.Save()
                        MessageBox.Show("Level, '" & My.Settings.SLEVEL & "'", "[Konfirmasi]")
                        blankTile = New Block(nRows - 1, nCols - 1)
                        clearItems()
                        Dim sonisitez As Integer = My.Settings.SLEVEL + 1
                        nRows = sonisitez
                        nCols = sonisitez
                        MakeTiles(nRows, nCols)
                        muat_dari_db()
                    Else
                        MsgBox("Anda sudah menyelesaikan seluruh level hehe :-D", MsgBoxStyle.Information, "Selamat :)")
                        blankTile = New Block(nRows - 1, nCols - 1)
                    End If

                End If
            End If
        End Sub
#End Region

#Region "Menunya"
        Private Sub menuShuffle_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuShuffle.Click
            menuShuffle.Enabled = False
            menuGridColor.Enabled = True
            tmplasttile = tile(nRows - 1, nCols - 1)
            tmplasttile.Visible = False
            tile(nRows - 1, nCols - 1).Visible = False
            Randomize()
        End Sub
#End Region

#Region "Ukuran Menu"
        Private Sub menu2X2_Click(sender As Object, e As EventArgs) Handles menu2X2.Click
            If (menu2X2.Checked) Then Return
            clearItems()
            menu2X2.Checked = True
            nRows = 2
            nCols = 2
            MakeTiles(nRows, nCols)
        End Sub
        Private Sub menu3X3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menu3X3.Click
            If (menu3X3.Checked) Then Return
            clearItems()
            menu3X3.Checked = True
            nRows = 3
            nCols = 3
            MakeTiles(nRows, nCols)
        End Sub
        Private Sub menu4X4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menu4X4.Click
            If (menu4X4.Checked) Then Return
            clearItems()
            menu4X4.Checked = True
            nRows = 4
            nCols = 4
            MakeTiles(nRows, nCols)
        End Sub
        Private Sub menu5X5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menu5X5.Click
            If (menu5X5.Checked) Then Return
            clearItems()
            menu5X5.Checked = True
            nRows = 5
            nCols = 5
            MakeTiles(nRows, nCols)
        End Sub

        Private Sub menu6X6_Click(sender As Object, e As EventArgs) Handles menu6X6.Click
            If (menu6X6.Checked) Then Return
            clearItems()
            menu6X6.Checked = True
            nRows = 6
            nCols = 6
            MakeTiles(nRows, nCols)
        End Sub

        Private Sub menu7X7_Click(sender As Object, e As EventArgs) Handles menu7X7.Click
            If (menu7X7.Checked) Then Return
            clearItems()
            menu7X7.Checked = True
            nRows = 7
            nCols = 7
            MakeTiles(nRows, nCols)
        End Sub

        Private Sub menu8X8_Click(sender As Object, e As EventArgs) Handles menu8X8.Click
            If (menu8X8.Checked) Then Return
            clearItems()
            menu8X8.Checked = True
            nRows = 8
            nCols = 8
            MakeTiles(nRows, nCols)
        End Sub

        Private Sub menu9X9_Click(sender As Object, e As EventArgs) Handles menu9X9.Click
            If (menu9X9.Checked) Then Return
            clearItems()
            menu9X9.Checked = True
            nRows = 9
            nCols = 9
            MakeTiles(nRows, nCols)
        End Sub

        Private Sub menu10X10_Click(sender As Object, e As EventArgs) Handles menu10X10.Click
            If (menu10X10.Checked) Then Return
            clearItems()
            menu10X10.Checked = True
            nRows = 10
            nCols = 10
            MakeTiles(nRows, nCols)
        End Sub
        Private Sub clearItems()
            menu2X2.Checked = False
            menu3X3.Checked = False
            menu4X4.Checked = False
            menu5X5.Checked = False
            menu6X6.Checked = False
            menu7X7.Checked = False
            menu8X8.Checked = False
            menu9X9.Checked = False
            menu10X10.Checked = False
            Dim Row, Col As Integer
            For Row = 0 To nRows - 1
                For Col = 0 To nCols - 1
                    Try
                        tile(Row, Col).Dispose()
                    Catch
                        '
                    End Try
                Next
            Next
            menuShuffle.Enabled = False
            menuGridColor.Enabled = True
            PictureLoaded = False
        End Sub

#End Region

#Region "Warna Grid"
        Private Sub ClearColors()
            menuWhite.Checked = False
            menuGreen.Checked = False
            menuBlue.Checked = False
            menuRed.Checked = False
            menuSilver.Checked = False
        End Sub

        Private Sub menuWhite_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuWhite.Click
            ClearColors()
            menuWhite.Checked = True
            Me.tilesPanel.BackColor = Color.LightYellow
        End Sub

        Private Sub menuGreen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuGreen.Click
            ClearColors()
            menuGreen.Checked = True
            Me.tilesPanel.BackColor = Color.PaleGreen
        End Sub

        Private Sub menuBlue_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuBlue.Click
            ClearColors()
            menuBlue.Checked = True
            Me.tilesPanel.BackColor = Color.LightBlue
        End Sub

        Private Sub menuRed_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuRed.Click
            ClearColors()
            menuRed.Checked = True
            Me.tilesPanel.BackColor = Color.LightCoral
        End Sub

        Private Sub menuSilver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles menuSilver.Click
            ClearColors()
            menuSilver.Checked = True
            Me.tilesPanel.BackColor = Color.Silver
        End Sub
#End Region
        Private Sub DariKomputer_Click(sender As Object, e As EventArgs) Handles DariKomputer.Click
            openFile.FileName = ""
            openFile.Filter = "Gambar (*.jpg,*.jpeg,*.png,*.bmp,*.gif,*.tiff)|*.jpg;*.jpeg;*.png;*.bmp;*.gif;*.tiff"
            openFile.ShowDialog()
            If (openFile.FileName = "") Then
                menuShuffle.Enabled = False
                menuGridColor.Enabled = True
                Return
            End If

            Dim Row, Col As Integer
            For Row = 0 To nRows - 1
                For Col = 0 To nCols - 1
                    Try
                        tile(Row, Col).Dispose()
                    Catch
                    End Try
                Next
            Next

            MakeTiles(nRows, nCols)

            Dim cxThumbnail As Integer = tImageW * nRows
            Dim cyThumbnail As Integer = tImageW * nRows

            Dim Pic As Image = Image.FromFile(openFile.FileName)
            Pic = Pic.GetThumbnailImage(cxThumbnail, cyThumbnail, Nothing, System.IntPtr.Zero)

            Console.WriteLine(tile(0, 0).Location)
            For Row = 0 To nRows - 1
                For Col = 0 To nCols - 1
                    tile(Row, Col).tilePicture(Pic, New Point(Col * tImageW, Row * tImageW))
                Next
            Next

            blankTile = New Block(nRows - 1, nCols - 1)
            menuShuffle.Enabled = True
            PictureLoaded = True
            If menuSize.Enabled = False Then
                menuSize.Enabled = True
            End If
            If menuGridColor.Enabled = False Then
                menuGridColor.Enabled = True
            End If
        End Sub
        Sub muat_dari_db()
            Try
                Using sql As New OleDbCommand("select gambar from tbsoni where level='" & Replace(My.Settings.SLEVEL, "'", "''") & "'", myconnection.open)
                    Using dr As OleDbDataReader = sql.ExecuteReader()
                        Using dt As New DataTable
                            dt.Load(dr)
                            If dt.Rows.Count <> 1 Then
                            Else
                                Dim rowsoni As DataRow = dt.Rows(0)
                                Using ms As New IO.MemoryStream(CType(rowsoni(0), Byte()))
                                    Dim Row, Col As Integer
                                    For Row = 0 To nRows - 1
                                        For Col = 0 To nCols - 1
                                            Try
                                                tile(Row, Col).Dispose()
                                            Catch
                                            End Try
                                        Next
                                    Next
                                    MakeTiles(nRows, nCols)
                                    Dim cxThumbnail As Integer = tImageW * nRows
                                    Dim cyThumbnail As Integer = tImageW * nRows
                                    'Dim Pic As Image = Image.FromFile(openFile.FileName)
                                    Dim Pic As Image = Image.FromStream(ms)
                                    Pic = Pic.GetThumbnailImage(cxThumbnail, cyThumbnail, Nothing, System.IntPtr.Zero)
                                    Console.WriteLine(tile(0, 0).Location)
                                    For Row = 0 To nRows - 1
                                        For Col = 0 To nCols - 1
                                            tile(Row, Col).tilePicture(Pic, New Point(Col * tImageW, Row * tImageW))
                                        Next
                                    Next
                                    blankTile = New Block(nRows - 1, nCols - 1)
                                    ''If My.Settings.LEVELSONI <= 1 Then
                                    ''Else
                                    ''    clearItems()
                                    ''    Dim sonisitez As Integer = My.Settings.LEVELSONI
                                    ''    nRows = sonisitez
                                    ''    nCols = sonisitez
                                    ''    MakeTiles(nRows, nCols)
                                    ''End If
                                    menuShuffle.Enabled = True
                                    If menuGridColor.Enabled = False Then
                                        menuGridColor.Enabled = True
                                    End If
                                    If menuSize.Enabled = True Then
                                        menuSize.Enabled = False
                                    End If
                                    PictureLoaded = True
                                End Using
                            End If
                        End Using
                    End Using
                End Using
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            myconnection.close()
        End Sub
        Private Sub DariDataBase_Click(sender As Object, e As EventArgs) Handles DariDataBase.Click
            muat_dari_db()
        End Sub
        Private Sub Konfigurasi_Click(sender As Object, e As EventArgs) Handles Konfigurasi.Click
            FormKonfigurasi.Show()
        End Sub
        Private Sub mnfrm_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
            My.Settings.LEVELSONI = My.Settings.SLEVEL
            My.Settings.Save()
        End Sub
    End Class
End Namespace
Kode Tile:

Namespace slidePuzzle
    Public Class ctlTile
        Inherits System.Windows.Forms.UserControl

#Region "Private filds"
        Private imagePoint As Point
        Friend WithEvents imageBase As System.Windows.Forms.Button
        Friend WithEvents tilePic As System.Windows.Forms.PictureBox
        Private t_index As Integer
#End Region

#Region "Public Properties"
        Public ReadOnly Property tIndex() As Integer
            Get
                Return t_index
            End Get
        End Property

        Public ReadOnly Property tImageSize() As Size
            Get
                Return Me.tilePic.Size
            End Get
        End Property
#End Region

        Private components As System.ComponentModel.Container = Nothing

#Region "Contructor and Dispose"
        Public Sub New(ByVal tWidth As Integer, ByVal tHeight As Integer, ByVal index As Integer)

            MyBase.New()
            'Tile's Index
            t_index = index

            'Disable control so parent form cann handle its key and mouse
            'events
            Enabled = False

            ' This call is required by the Windows.Forms Form Designer.
            InitializeComponent()

            'Image Base and Imgae Fixation Here
            If ((tWidth < 32 Or tWidth > 96) Or (tHeight < 32 Or tHeight > 96)) Then
                Me.Size = New Size(64, 64)
                tWidth = 64
                tHeight = 64
            Else
                Me.Size = New Size(tWidth, tHeight)
            End If

            imageBase.Location = New Point(0, 0)
            imageBase.Size = New Size(tWidth, tHeight)
            tilePic.Location = New Point(1, 1)
            tilePic.Size = New Size(tWidth - 2, tHeight - 2)
            tilePic.Image = Nothing
        End Sub

        ' Clean up any resources being used.
        Protected Overloads Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (components Is Nothing) Then
                    components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub

#End Region

#Region "Component Designer generated code"
        ' Required method for Designer support - do not modify 
        ' the contents of this method with the code editor.
         Private Sub InitializeComponent()
            Me.imageBase = New System.Windows.Forms.Button()
            Me.tilePic = New System.Windows.Forms.PictureBox()
            CType(Me.tilePic, System.ComponentModel.ISupportInitialize).BeginInit()
            Me.SuspendLayout()
            '
            'imageBase
            '
            Me.imageBase.BackColor = System.Drawing.Color.DarkOliveGreen
            Me.imageBase.Enabled = False
            Me.imageBase.FlatStyle = System.Windows.Forms.FlatStyle.System
            Me.imageBase.Location = New System.Drawing.Point(1, 1)
            Me.imageBase.Name = "imageBase"
            Me.imageBase.Size = New System.Drawing.Size(62, 62)
            Me.imageBase.TabIndex = 0
            Me.imageBase.UseVisualStyleBackColor = False
            '
            'tilePic
            '
            Me.tilePic.BackColor = System.Drawing.Color.OliveDrab
            Me.tilePic.Location = New System.Drawing.Point(2, 2)
            Me.tilePic.Name = "tilePic"
            Me.tilePic.Size = New System.Drawing.Size(60, 60)
            Me.tilePic.TabIndex = 1
            Me.tilePic.TabStop = False
            '
            'ctlTile
            '
            Me.Controls.Add(Me.tilePic)
            Me.Controls.Add(Me.imageBase)
            Me.Name = "ctlTile"
            Me.Size = New System.Drawing.Size(64, 64)
            CType(Me.tilePic, System.ComponentModel.ISupportInitialize).EndInit()
            Me.ResumeLayout(False)

        End Sub
#End Region

#Region "Tile Picture"
        Public Sub tilePicture(ByVal tImage As Image, ByVal StartPt As Point)
            tilePic.Image = tImage
            imagePoint = StartPt
        End Sub
#End Region

#Region "Repaint Tile"
        Private Sub TilePic_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles tilePic.Paint
            If Not (tilePic.Image Is Nothing) Then
                Dim g As Graphics = e.Graphics
                g.DrawImage(tilePic.Image, New Rectangle(New Point(0, 0), New Size(tilePic.Width, tilePic.Height)),
                 New Rectangle(imagePoint, New Size(tilePic.Width, tilePic.Height)), GraphicsUnit.Pixel)
            End If
        End Sub

        Private Sub tilePic_Click(sender As Object, e As EventArgs) Handles tilePic.Click

        End Sub
#End Region
    End Class
End Namespace
Kode Konfigurasi:

Imports System.Data.OleDb
Public Class FormKonfigurasi
    Dim myconnection As New koneksidata
    Dim mycmd As New OleDbCommand
    Dim objadapter As OleDbDataAdapter
    Dim objreader As OleDbDataReader
    Dim dtable As New DataTable
#Region "konfigurasi"
    Dim a As New OpenFileDialog
    Sub bukadialogfoto()
        Dim PictureLocation As String
        a.Filter = "Gambar (*.jpg,*.jpeg,*.png,*.bmp,*.gif,*.tiff)|*.jpg;*.jpeg;*.png;*.bmp;*.gif;*.tiff"
        PictureLocation = a.FileName
        Try
            If a.ShowDialog = Windows.Forms.DialogResult.OK Then
                PictureBox1.Image = New Bitmap(a.FileName)
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            End If
        Catch ex As Exception
            Exit Sub
        End Try
    End Sub
    Sub simpanfoto()
        Try
            myconnection.close()
            Using sql As New OleDbCommand("insert into tbsoni values('" & CLEVEL.Text & "',@gambar)", myconnection.open)
                If a.FileName = Nothing Then
                    'sql.Parameters.Add(New OleDbParameter("@FOTO", OleDbType.Binary)).Value = IO.File.ReadAllBytes("kosong.jpg")
                    MsgBox("Anda belum memilih gambar !!", MsgBoxStyle.Information, "Pemberitahuan !!")
                Else
                    sql.Parameters.Add(New OleDbParameter("@gambar", OleDbType.Binary)).Value = IO.File.ReadAllBytes(a.FileName)
                    MsgBox("Gambar level:  '" & CLEVEL.Text & "'  berhasil disimpan !!", MsgBoxStyle.Information, "Pemberitahuan !!")
                End If
                sql.ExecuteNonQuery()
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        myconnection.close()
    End Sub
    Sub ubahfoto()
        Try
            myconnection.close()
            Using sql As New OleDbCommand("update tbsoni set gambar=@gambar where level='" & CLEVEL.Text & "'", myconnection.open)
                If a.FileName = Nothing Then
                    'sql.Parameters.Add(New OleDbParameter("@FOTO", OleDbType.Binary)).Value = IO.File.ReadAllBytes("kosong.jpg")
                    MsgBox("Anda belum memilih gambar !!", MsgBoxStyle.Information, "Pemberitahuan !!")
                Else
                    sql.Parameters.Add(New OleDbParameter("@gambar", OleDbType.Binary)).Value = IO.File.ReadAllBytes(a.FileName)
                    MsgBox("Gambar level:  '" & CLEVEL.Text & "'  berhasil dirubah !!", MsgBoxStyle.Information, "Pemberitahuan !!")
                End If
                sql.ExecuteNonQuery()
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        myconnection.close()
    End Sub
#End Region
    Private Sub BTSIMPAN_Click(sender As Object, e As EventArgs) Handles BTSIMPAN.Click
        Try
            Using sql As New OleDbCommand("select gambar from tbsoni where level = '" & Replace(CLEVEL.Text, "'", "''") & "'", myconnection.open)
                Using dr As OleDbDataReader = sql.ExecuteReader()
                    Using dt As New DataTable
                        dt.Load(dr)
                        If CLEVEL.Text = "" Then
                            MsgBox("Anda belum memilih level !!", MsgBoxStyle.Exclamation, "Pemberitahuan !!")
                        ElseIf dt.Rows.Count <> 1 Then
                            simpanfoto()
                        Else
                            ubahfoto()
                        End If
                    End Using
                End Using
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        myconnection.close()
    End Sub
    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        bukadialogfoto()
    End Sub
    Private Sub CLEVEL_KeyPress(sender As Object, e As KeyPressEventArgs) Handles CLEVEL.KeyPress
        e.KeyChar = Chr(0)
    End Sub

    Private Sub BTRESETLEVEL_Click(sender As Object, e As EventArgs) Handles BTRESETLEVEL.Click
        My.Settings.SLEVEL = 1
        My.Settings.Save()
    End Sub
    Private Sub CLEVEL_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CLEVEL.SelectedIndexChanged
        Try
            Using sql As New OleDbCommand("select gambar from tbsoni where level='" & Replace(CLEVEL.Text, "'", "''") & "'", myconnection.open)
                Using dr As OleDbDataReader = sql.ExecuteReader()
                    Using dt As New DataTable
                        dt.Load(dr)
                        If dt.Rows.Count <> 1 Then
                            PictureBox1.Image = Nothing
                        Else
                            Dim rowsoni As DataRow = dt.Rows(0)
                            Using ms As New IO.MemoryStream(CType(rowsoni(0), Byte()))
                                'Dim Pic As Image = Image.FromFile(openFile.FileName)
                                Dim Pic As Image = Image.FromStream(ms)
                                PictureBox1.Image = New Bitmap(Pic)
                                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
                            End Using
                        End If
                    End Using
                End Using
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        myconnection.close()
    End Sub
End Class

Download Project:
Download Project
Lihat Video:
Readmore → Source Code Game Puzzle Visual Basic

Rabu, 27 Juli 2016

Masih Ada Waktu

Masih Ada Waktu


Bila masih mungkin kita menorehkan batin
Atas nama jiwa dan hati tulus ikhlas
Mumpung masih ada kesempatan buat kita
Mengumpulkan doa perjalanan abadi


Kita mesti ingat tragedi yang memilukan
Kenapa harus mereka yang pergi menghadap
Tentu ada hikmah yang harus kita petik
Atas nama jiwa mengheningkan cipta


Kita meski bersyukur
Bahwa kita masih di beri waktu
Entah sampai kapan
Tak ada yang dapat menghitung


Hanya atas kasihNya
Hanya atas kehendakNya
Kita masih bertemu matahari
Kepada rumput ilalang
Kepada bintang gemintang
Kita dapat mencoba meminjam catatannya


Sampai kapan kita berada
Waktu yang masih tersisa
Semuanya menggeleng
Semuanya terdiam
Semuanya menjawab tak mengerti
Yang terbaik hanyalah segeralah bersujud
Mumpung kita masih diberi waktu


Kita meski bersyukur
Bahwa kita masih di beri waktu
Entah sampai kapan
Tak ada yang dapat menghitung


Hanya atas kasihNya
Hanya atas kehendakMu
Kita masih bertemu matahari
Kepada rumput ilalang
Kepada bintang gemintang
Kita dapat mencoba meminjam catatannya


Sampai kapan kita berada
Waktu yang masih tersisa
Semuanya menggeleng
Semuanya terdiam
Semuanya menjawab tak mengerti
Yang terbaik hanyalah segeralah bersujud
Mumpung kita masih diberi waktu
Readmore → Masih Ada Waktu
SkyArs Corp. © 2016. Tweaked by: Soni Sitez Powered by: Blogger