Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net

Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net

Membuat Hide dan Un-hide Folder dengan Password di VB.NET – Selamat malam para sahabat blogger semuanya. Berjumpa lagi dengan saya guzko di blog tutorial saya yang sederhana ini. Mudah-mudahan sahabat blogger mampu menemukan manfaat dan inspirasi di blog saya ini.


Sesuai judul Membuat Hide dan Un-hide Folder dengan Password di VB.NET, kali ini saya akan mencoba untuk membagikan tutorial bagi sahabat blogger tentang bagaimana caranya menyembunyikan folder dengan menggunakan aplikasi. Berikut dibawah ini ialah sekilas penampakan dari aplikasinya :


Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net


Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net

bagaimana sahabat blogger apakah tertarik untuk membuatnya ? Jika iya, mari kita ikuti langkah dibawah ini untuk membuat aplikasi menyerupai itu :


(Baca Juga : Enkripsi dan Dekripsi Text dengan VB.Net)


Buka Visual Studio
Buka visual studio sahabat dan buat sebuah project baru. Pada aplikasi ini kita membuat 3 form, sahabat mampu desain form-form nya menyerupai gambar dibawah ini :


Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net


Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net


Membuat Hide Dan Un-Hide Folder Dengan Password Di Vb.Net

berikut komponen-komponen yang saya gunakan untuk semua form diatas, agar sahabat blogger lebih terperinci :

















































FormKomponenProperty NameKeterangan
Form1Folder Browser DialogFolderBrowserDialog1Digunakan untuk melakukan pemilihan folder yang akan di-hide dan un-hide
Tool StripToolStrip1Untuk hidangan yang digunakan pada aplikasi. Pada toolstrip1 ini terdapat hidangan (1. Hide Folder 2.Un-hide Folder 3.Set Password)
Data GriddgFolderDigunakan untuk menampilkan data-data dari folder yang telah disembunyikan
frmPassTextboxtxtPassDigunakan untuk input password pada dikala pertama aplikasi dijalankan
frmSetPassTextboxtxtPassDigunakan untuk menginputkan password baru
txtConfirmPassDigunakan untuk konfirmasi password
LabelLabel2Digunakan sebagai hidangan keluar dari frmSetPass


itulah komponen-komponen yang saya gunakan pada pembuatan aplikasi ini. Semoga para sahabat blogger mampu memahami dan mengerti. Baiklah setelah kita final mendesign dari aplikasi yang kita buat, sekarang kita lanjutkan kedalam tahap coding.


Tahap Peng-codingan
Form1


pada form ini, kita import dulu reference yang akan digunakan menyerupai dibawah ini :


Imports Microsoft.VisualBasic.FileIO Imports System.IO 

kemudian dilanjutkan dengan membuat global variabel pada form1 ini :


Dim folderHide As String     Dim HiddenTable As New DataTable     Dim PFile As String = Environment.CurrentDirectory & "\" & "Password.txt" 

PFile diatas ialah link atau lokasi dari file text yang akan dibuat otomatis oleh aplikasi untuk menyimpan password user.


Sekarang kita buat dulu fungsi-fungsi yang akan kita gunakan pada aplikasi ini. Fungsi yang pertama ini ialah fungsi untuk menyimpan/menghapus data yang terdapat pada file.txt yang akan dibuat otomatis oleh aplikasi ini. Seperti contoh, jika misalkan sahabat melakukan hide folder, maka path dari hide folder itu akan disimpan pada *.txt ini. Berikut code fungsinya :


Sub StoreToFile()         Dim FileToStore As String = Environment.CurrentDirectory & "\" & "LockedFiles.txt"         Dim tempString As New System.Text.StringBuilder          Dim iEnu As IEnumerator = HiddenTable.Rows.GetEnumerator         Dim DRow As DataRow          While iEnu.MoveNext             DRow = CType(iEnu.Current, DataRow)             tempString.AppendLine(DRow.Item(0))          End While          My.Computer.FileSystem.WriteAllText(FileToStore, tempString.ToString, False)       End Sub 

fungsi dibawah ini untuk menambahkan data kedalam datagrid :


Sub AddToTable()          Dim AddRow As DataRow = HiddenTable.NewRow()          AddRow.Item(0) = folderHide         AddRow.Item(1) = False          HiddenTable.Rows.Add(AddRow)      End Sub 

Sub AddToTable(ByVal ToReadFromFile As String)         Dim AddRow As DataRow          Dim fs As New System.IO.FileStream(ToReadFromFile, IO.FileMode.Open, IO.FileAccess.Read)         Dim d As New System.IO.StreamReader(fs)         d.BaseStream.Seek(0, IO.SeekOrigin.Begin)          While d.Peek() > -1              AddRow = HiddenTable.NewRow()             AddRow.Item(0) = d.ReadLine             AddRow.Item(1) = False              HiddenTable.Rows.Add(AddRow)         End While          d.Close()      End Sub 

Fungsi dibawah ini ialah untuk mengatur datagrid yang digunakan, codenya menyerupai dibawah ini :


Sub gridD()          With dgFolder             .RowHeadersWidth = 20             .ColumnHeadersHeight = 35              .ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter             .ColumnHeadersDefaultCellStyle.Font = New Font("Tahoma", 9)             .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill               .Columns(0).Width = 200             .Columns(1).Width = 50         End With      End Sub 

setelah final membuat fungsi-fungsinya, sekarang klik 2x pada form1 dan pindahkan ke event shown, inputkan kode menyerupai ini :


If System.IO.File.Exists(PFile) Then             If frmPass.ShowDialog() = Windows.Forms.DialogResult.Cancel Then                 End             End If         Else             MsgBox("Ini mungkin pertama kalinya anda menggunakan aplikasi ini atau mungkin file yang dibutuhkan telah hilang. Gunakan password standar 12345 untuk membuka aplikasi setelah itu silahkan anda ganti password untuk keamanan", vbExclamation, "Guzko Tutorial")             If frmPass.ShowDialog() = Windows.Forms.DialogResult.Cancel Then                 End             End If         End If          'membuat kolom untuk data table         Dim HiddenFolders As New DataColumn("HiddenFolders")         HiddenFolders.DataType = System.Type.GetType("System.String")          Dim Unhide As New DataColumn("Unhide")         Unhide.DataType = System.Type.GetType("System.Boolean")          HiddenTable.Columns.Add(HiddenFolders)         HiddenTable.Columns.Add(Unhide)          dgFolder.DataSource = HiddenTable         If System.IO.File.Exists(Environment.CurrentDirectory & "\" & "LockedFiles.txt") Then             Me.AddToTable(Environment.CurrentDirectory & "\" & "LockedFiles.txt")         End If          Me.gridD() 

code diatas, jika user menjalankan aplikasi ini, maka pertama kali aplikasi akan mengecek keberadaan file “password.txt”. Jika seandainya file tersebut ditemukan oleh system, maka akan tampil frmPass, namun jika tidak, user akan diinfokan oleh system untuk menginputkan password standar.


Setelah itu kita lanjutkan dengan, klik 2x pada hidangan hide folder dan inputkan kode dibawah ini :


If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then             folderHide = FolderBrowserDialog1.SelectedPath.TrimEnd             'sizeFolder = GetFolderSize(folderHide)              Dim ToHideDir As New System.IO.DirectoryInfo(folderHide)             ToHideDir.Attributes = IO.FileAttributes.Hidden              Me.AddToTable()         End If 

lanjutkan dengan pada hidangan un-hide folder, inputkan kode dibawah ini :


Dim RowsToDelete As New List(Of Int16)         Dim iEn As IEnumerator = HiddenTable.Rows.GetEnumerator          Dim RowNo As Int16 = -1         While iEn.MoveNext             RowNo = RowNo + 1              Dim FolderPath As String = CType(iEn.Current, DataRow).Item(0)             Dim Unhide As Boolean = CType(iEn.Current, DataRow).Item(1)             If Unhide = True Then                 Dim ToHideDir As New System.IO.DirectoryInfo(FolderPath)                 ToHideDir.Attributes = ToHideDir.Attributes And Not IO.FileAttributes.Hidden                  RowsToDelete.Add(RowNo)              End If          End While           RowsToDelete.Reverse()          For i As Int16 = 0 To RowsToDelete.Count - 1             HiddenTable.Rows.RemoveAt(RowsToDelete(i))         Next i         Me.StoreToFile()     End Sub 

Klik 2x pada datagrid dan inputkan kode dibawah ini :


If e.ColumnIndex = 1 Then             If HiddenTable.Rows(e.RowIndex).Item(1) = True Then                 HiddenTable.Rows(e.RowIndex).Item(1) = False             Else                 HiddenTable.Rows(e.RowIndex).Item(1) = True             End If         End If 

sepakat peng-codingan pada form1 ini telah selesai. Sekarang kita lanjutkan ke penggalan frmPass.


Peng-codingan frmPass


buat global variable menyerupai dibawah ini:


Dim PFile As String = Environment.CurrentDirectory & "\" & "Password.txt" 

kemudian klik 2x pada txtPass dan pindahkan ke event KeyDown, inputkan kode dibawah ini :


If e.KeyCode = Keys.Enter Then             Static count As Int16 = 0              If System.IO.File.Exists(PFile) Then                 Dim pesanDekrip As String                 Dim fileContent As String = My.Computer.FileSystem.ReadAllText(PFile)                 Dim byt As Byte() = Convert.FromBase64String(fileContent)                 pesanDekrip = System.Text.Encoding.UTF8.GetString(byt)                 If pesanDekrip = txtPass.Text.Trim Then                     Me.DialogResult = System.Windows.Forms.DialogResult.OK                     Me.Close()                 Else                     count += 1                     MsgBox("password anda salah. anda telah salah sebanyak : " & count & " .Sisa kesempatan anda : " & 3 - count & ". Salah 3x maka kegiatan otomatis exit", vbCritical, "Guzko Tutorial")                     If count >= 3 Then                         End                     End If                  End If             Else                 If txtPass.Text = "12345" Then                     Me.DialogResult = System.Windows.Forms.DialogResult.OK                     Me.Close()                 End If             End If         End If 

pada kode diatas, jika user menekan enter di keyboard pada txtPass, maka system akan melakukan pengecekan apakah file password.txt terdapat atau tidak. Jika terdapat file password.txt, maka password yang terapat pada file text tersebut akan di-dekripsi terlebih dahulu. Jika seandainya user salah menginputkan password sebanyak 3x maka aplikasi otomatis keluar.


untuk peng-codingan pada frmPass, hanya itu saja, sekarang kita lanjutkan coding ke frmSetPass.


Peng-codingan frmSetPass


buat global variable menyerupai berikut ini:


Dim PFile As String = Environment.CurrentDirectory & "\" & "Password.txt"     Dim passEnkrip As String 

klik 2x pada txtPass dan pindahkan ke event keydown serta inputkan kode dibawah ini :


If e.KeyCode = Keys.Enter Then             If txtPass.Text = "" Then                 MsgBox("Silahkan inputkan password anda", vbCritical, "Guzko Tutorial")                 txtPass.Focus()                 Exit Sub             ElseIf txtPassConfirm.Text = "" Then                 MsgBox("Silahkan inputkan sekali password anda", vbCritical, "Guzko Tutorial")                 txtPassConfirm.Focus()                 Exit Sub             ElseIf txtPassConfirm.Text <> txtPass.Text = "" Then                 MsgBox("password yang anda inputkan tidak cocok. silahkan ulangi", vbCritical, "Guzko Tutorial")                 txtPass.Clear()                 txtPassConfirm.Clear()                 txtPass.Focus()             Else                 Try                     If System.IO.File.Exists(PFile) Then                         My.Computer.FileSystem.WriteAllText(PFile, txtPassConfirm.Text, True)                     Else                         System.IO.File.Create(Environment.CurrentDirectory & "\" & "Password.txt").Dispose()                         My.Computer.FileSystem.WriteAllText(PFile, txtPassConfirm.Text.Trim, True)                     End If                  Catch ex As Exception                     MsgBox("Terjadi kesalahan : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try                 Me.Close()             End If         End If 

klik juga 2x pada txtConfirmPass dan pindahkan juga ke event keydown dan inputkan kode dibawah ini :


If e.KeyCode = Keys.Enter Then             If txtPassConfirm.Text = "" Then                 MsgBox("silahkan inputkan password anda sekali lagi", vbCritical, "Guzko Tutorial")                 txtPassConfirm.Focus()                 Exit Sub             ElseIf txtPassConfirm.Text <> txtPass.Text Then                 MsgBox("password yang anda inputkan tidak sama", vbCritical, "Guzko Tutorial")                 txtPass.Clear()                 txtPassConfirm.Clear()                 txtPass.Focus()                 Exit Sub             Else                 Try                     If System.IO.File.Exists(PFile) Then                         Dim pesan As Integer                         pesan = MsgBox("Apakah anda yakin ingin meng-update password yang ada ?", vbQuestion + vbYesNo, "Guzko Tutorial")                         If pesan = vbYes Then                             'menghapus file pfile                             My.Computer.FileSystem.DeleteFile(PFile)                             'buat file pfile                             System.IO.File.Create(Environment.CurrentDirectory & "\" & "Password.txt").Dispose()                             Dim byt As Byte() = System.Text.Encoding.UTF8.GetBytes(txtPassConfirm.Text)                             passEnkrip = Convert.ToBase64String(byt)                             My.Computer.FileSystem.WriteAllText(PFile, passEnkrip, True)                         End If                     Else                         System.IO.File.Create(Environment.CurrentDirectory & "\" & "Password.txt").Dispose()                         Dim byt As Byte() = System.Text.Encoding.UTF8.GetBytes(txtPassConfirm.Text)                         passEnkrip = Convert.ToBase64String(byt)                         My.Computer.FileSystem.WriteAllText(PFile, passEnkrip, True)                     End If                  Catch ex As Exception                     MsgBox("Terjadi kesalahan : " & ex.Message, vbCritical, "Guzko Tutorial")                 End Try                 Me.Close()             End If         End If 

sepakat final sudah kita melakukan peng-codingan dari semua form. Sekarang waktunya kita testing. Silahkan sahabat testing dan jika diikuti dengan benar maka dipastikan aplikasi yang sahabat blogger buat ini dijamin berhasil. Ataupun jika seandainya tidak berhasil atau ada yang ingin sahabat blogger tanyakan, mampu langsung tinggalkan jejak pada kolom komentar dibawah.


Demikian tutorial saya ini tentang Membuat Hide dan Un-hide Folder dengan Password di VB.NET, agar ada manfaatnya bagi sahabat blogger semuanya. Jika ada yang ingin mendownload source code lengkapnya mampu melalui link dibawah.


Sekian dulu dari saya, kita berjumpa lagi dilain waktu dengan tutorial yang berbeda….seee…uuuuu




Sumber http://guz-kopyok.blogspot.com/


Postingan populer dari blog ini

Cara Mengatasi Xampp Phpmyadmin Error

Mengatasi Port Yang Bentrok Di Windows

Membuat Aplikasi Barcode Dengan Java Netbeans