Tuesday, December 23, 2008

Encrypt Password Menggunakan MD5


MD5 : adalah salah satu algoritma untuk mengenkripsi, untuk lebih jelasnya bisa klik disini :), jadi intinya disini adalah bagaimana mengenkripsi sebuah password di database menggunakan algoritma MD5 di vb.net, sehingga user lain tidak bisa mengetahui password tiap user di database.

Untungnya msdn dari visual studio sudah menyediakan example untuk mengenkripsi menggunakan MD5, sekarang tinggal integrasi dengan modul yang sudah dibuat, dibawah ini adalah contoh mengintegrasikan source code untuk mengencrypt menggunakan algoritma MD5 di VB.Net/ Visual Basic 2008 :

1. buat modul baru
2. copy paste source code berikut
Imports System
Imports System.Security.Cryptography
Imports System.Text
3. tambahkan function untuk mengenkripsi string yg dipassing
Function getMd5Hash(ByVal input As String) As String
Dim md5Hasher As MD5 = MD5.Create

Dim data As Byte() = md5Hasher.ComputeHash _
(Encoding.BigEndianUnicode.GetBytes(input))

Dim sBuilder As New StringBuilder()

Dim i As Integer
For i = 0 To data.Length - 1
sBuilder.Append(data(i).ToString("c"))
Next i

Return sBuilder.ToString()

End Function
4. tambahkan function berikut untuk mengcompare / mencocokkan, string yang diinput dan mereturn boolean(true or false), function ini berguna ketika login
Function CekMD5Hash(ByVal input As String, ByVal hash As String) As Boolean

Dim hashOfInput As String = getMd5Hash(input)

Dim comparer As StringComparer = StringComparer.OrdinalIgnoreCase

If 0 = comparer.Compare(hashOfInput, hash) Then
Return True
Else
Return False
End If

End Function
5. langkah terakhir tinggal panggil function dimodul ini dengan form-form yang sudah dibuat :

ex: form login (memanggil function CekMD5Hash) untuk mencocokan string yang diinput, contoh :

if CekMD5Hash(PasswordTextBox.Text, password) = True then
MsgBox("Login Sukses")
end if
ex: form user (memanggil function getMd5Hash) untuk mengencrypt string yang diinput dan menginsertnya ke database, contoh :
MskaryawanTableAdapter1.InsertQuery(TextBox1.Text, TextBox2.Text, ComboBox1.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, getMd5Hash(TextBox6.Text), TextBox7.Text, TextBox9.Text)



----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Monday, December 22, 2008

Sorting by Bubble Sort, Selection Sort, Insertion Sort & Quick Sort



(klik on the image if want to see real image
)

Sorting adalah proses mengurutkan data sesuai aturan tertentu, tujuannya mengurutkan data dan mempercepat pencarian / searching
  • Ascending atau nondecreasing (dari yang paling kecil ke yang paling besar)
  • Descendng atau nonincreasing (dari yang paling besar ke yang paling kecil)
  • Internal sorting, seluruh data diletakkan di memory
  • External sorting, seluruh data berada pada secondary storage
Di bawah ini adalah algoritma berikut sintaksnya di VB.Net / Visual Basic 2008 untuk sorting atau mengurutkan dengan beberapa metode algoritma , seperti

  • Bubble Sort, kompleksitas algoritma O(n²)
Efisiensi BubbleSort

  • Selection Sort, kompleksitas algoritma 0,5n²+O(n)
Efisiensi Selection Sort

  • Insertion Sort, kompleksitas algoritma O(n²)
Efisiensi Insertion Sort

  • Quick Sort, kompleksitas algoritma O(n log n)
Efisiensi Quick Sort


Kesimpulan :
  • Quick Sort merupakan teknik sorting paling cepat
,- silahkan dipelajari :




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

ListBox1.Items.Clear()
ListBox2.Items.Clear()

Dim angka() As Long
Dim n, i As Integer

n = InputBox("Masukkan Banyaknya Angka ? ", "Sorting")

ReDim angka(n - 1)

For i = 0 To angka.Length - 1
angka(i) = InputBox("Masukkan Angka Ke-" & i + 1, "Sorting")
ListBox1.Items.Add(angka(i))
Next

'Aktifkan function yg ingin dipakai
'==================
'Bubble_sort(angka)
'Selection_Sort(angka)
'Insertion_sort(angka)
'Quick_sort(angka, 0, angka.Length - 1)
'==================

For i = 0 To angka.Length - 1
ListBox2.Items.Add(angka(i))
Next

End Sub



Function Bubble Sort
Function Bubble_sort(ByRef angka() As Long)
Dim i, j As Integer
Dim temp As Long

For i = 0 To angka.Length - 1
For j = angka.Length - 1 To i + 1 Step -1
If angka(j - 1) > angka(j) Then
'tukar
temp = angka(j)
angka(j) = angka(j - 1)
angka(j - 1) = temp
End If
Next
Next
End Function



Function Selection Sort
Function Selection_Sort(ByVal angka() As Long)
Dim i, j, temp As Integer
Dim bucket As Long

For i = 0 To angka.Length - 2
temp = i
For j = i + 1 To angka.Length - 1
If (angka(j) < temp =" j"> i) Then
'tukar
bucket = angka(temp)
angka(temp) = angka(i)
angka(i) = bucket
End If
Next
End Function



Function Insertion Sort
Function Insertion_sort(ByVal angka() As Long)
Dim i, j, temp As Integer

For i = 1 To angka.Length - 1
temp = angka(i)
j = i
Do While (j > 0 AndAlso (angka(j - 1) > temp))
angka(j) = angka(j - 1)
j = j - 1
Loop
angka(j) = temp
Next
End Function



Function Quick Sort
Function Quick_sort(ByVal angka() As Long, ByVal kiri As Integer, ByVal kanan As Integer)
Dim j, k As Integer
Dim temp As Long

If (kiri < kanan) Then
j = kiri
k = kanan + 1

Do

Do
j = j + 1
If j = k Then
GoTo keluar
End If
Loop While (angka(j) < angka(kiri) AndAlso j < k)

keluar:

Do
k = k - 1
Loop While (angka(k) > angka(kiri))

If (j < k) Then
'tukar
temp = angka(j)
angka(j) = angka(k)
angka(k) = temp
End If
'Console.WriteLine(angka(j) & " " & angka(k))
Loop While (j < k + 1)

'tukar
temp = angka(kiri)
angka(kiri) = angka(k)
angka(k) = temp

'recursive
Quick_sort(angka, kiri, k - 1)
Quick_sort(angka, k + 1, kanan)

End If

End Function



----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Sunday, December 21, 2008

Random Berulang & Random Tak Berulang



(klik on the image if want to see real image)

Di bawah ini adalah algoritma berikut sintaksnya untuk menggenerate random angka baik berulang atau tidak berulang di VB.Net / Visual Basic 2008,- silahkan dipelajari :


Public Class Random

Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click
Dim angka((Val(TextBox1.Text) - 1)) As Integer
Dim acak As New Random
Dim arrlist As New ArrayList
Dim i, angka2 As Integer

ListBox1.Items.Clear()
ListBox2.Items.Clear()

For i = 0 To angka.Length - 1
angka(i) = (acak.Next(Val(TextBox1.Text)) - 1) + 2
ListBox1.Items.Add(angka(i))
Next

i = 0

Do
angka2 = (acak.Next(Val(TextBox1.Text)) - 1) + 2
If Not arrlist.Contains(angka2) Then
arrlist.Add(angka2)
ListBox2.Items.Add(arrlist.Item(i))
i = i + 1
End If
Loop Until (i > Val(TextBox1.Text) - 1)

End Sub

End Class


----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Friday, December 19, 2008

Remove Duplicate Array



(klik on the image if want to see real image)

Algoritma remove duplicate array adalah algoritma untuk meremove inputan angka yang sama, contoh :

Input : 2,3,5,2,2,5,6,5,6,7

Result : 2,3,5,6,7

Di bawah ini adalah algoritma berikut sintaksnya untuk meremove duplikasi array di VB.Net / Visual Basic 2008,- silahkan dipelajari :


Public Class RemoveDuplicateArray

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Clear()
ListBox2.Items.Clear()

Dim angka() As Long
Dim n, i As Long

n = InputBox("Masukkan banyaknya angka ?", "Angka")

ReDim angka(n - 1)

For i = 0 To n - 1
angka(i) = InputBox("Masukkan Angka ke-" & i + 1, "Angka")
Next

For i = 0 To angka.Length - 1
ListBox1.Items.Add(angka(i))
Next

RemoveDuplicate(angka, n)

End Sub

Function RemoveDuplicate(ByVal angka() As Long, ByVal n As Long)
Dim arrlist As New ArrayList
Dim i As Integer
For i = 0 To angka.Length - 1
If Not arrlist.Contains(angka.GetValue(i)) Then
arrlist.Add(angka.GetValue(i))
End If
Next
angka = arrlist.ToArray(GetType(Long))

For i = 0 To angka.Length - 1
ListBox2.Items.Add(angka(i))
Next
End Function
End Class


----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Bilangan Prima




(klik on the image if want to see real image)

Bilangan prima : adalah bilangan yang hanya bisa dibagi 1 dan dirinya sendiri, 4, 6 dan 9 bukan bilangan prima karena 4, 6 dan 9, jika dibagi 2 atau 3 (selain dirinya sendiri dan 1) maka sisa hasil baginya adalah 0, contoh 20 pertama bilangan prima adalah :

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71

Di bawah ini adalah algoritma berikut sintaksnya untuk mendapatkan n bilangan prima pertama di VB.Net / Visual Basic 2008,- silahkan dipelajari :

Public Class BilanganPrima

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

ListBox1.Items.Clear()

Dim n As Long
Dim a As Long
Dim i As Long
Dim angka() As Long

n = InputBox("Masukkan Banyaknya Angka", "Angka ?")

ReDim angka(n - 1)

For i = 1 To 1000000 Step +1
If a = n Then
GoTo keluar
ElseIf bilprima(i) Then
angka(a) = i
a = a + 1
End If
Next i
keluar:

For i = 0 To n - 1
ListBox1.Items.Add(angka(i))
Next

End Sub



Function bilprima(ByVal i As Long) As Boolean

If i = 2 Then
Return True
ElseIf (i Mod 2 = 0) Or i = 1 Then
Return False
End If

For j As Integer = 2 To i - 1
If i Mod j = 0 Then Return False
Next

Return True

End Function

End Class



----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Thursday, December 18, 2008

Palindrome



(klik on the image if want to see real image)

Palindrome : adalah kata, kalimat, bilangan yang jika dibaca dari arah berlainan memiliki tulisan yang sama, untuk lebih lengkapnya silahkan klik disini , Misalkan :

1. KataK
2. KodoK
3. SuguS
4. KasuR RusaK
5. KasuR NababaN RusaK
6. SatoR ArepO TeneT OperA RotaS
7. 121 23 42 56 65 24 32 121

Di bawah ini adalah algoritma berikut sintaksnya untuk mengecek apakah kata ini palindrome atau bukan di VB.Net / Visual Basic 2008,- silahkan dipelajari :


Public Class Palindrome

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim str() As String
Dim n, i As Integer

n = InputBox("Masukkan banyaknya string ?", "Cek Palindrome")

ReDim str(n - 1)

For i = 0 To str.Length - 1
str(i) = InputBox("Masukkan Kata Ke-" & i + 1, "Cek Palindrome")
str(i) = UCase(str(i))
ListBox1.Items.Add(str(i))
Next

cekpalindrome(str)

End Sub

Function cekpalindrome(ByVal str() As String)
Dim rts(str.Length - 1) As String
Dim i, j As Integer

For i = 0 To str.Length - 1
For j = Len(str(i)) To 1 Step -1
If Mid(str(i), j, 2) = " " Then
j = j - 1
End If
rts(i) = rts(i) & Mid(str(i), j, 1)
Next j
Next i

For i = 0 To str.Length - 1
If rts(i) = str(i) Then
ListBox2.Items.Add("PALINDROME")
Else
ListBox2.Items.Add("BUKAN PALINDROME")
End If
Next

End Function


End Class



----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Tuesday, December 16, 2008

My Lovely Cat Brownie

Camera : Canon PowerShot A95 [Pocket Camera]

Subject : My Lovely Cat Brownie

(klik on the image if want to see real image)















----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Monday, December 15, 2008

Sunday, December 14, 2008

UploadFile

File Buat bobby [si perut besar] a.k.a Bobby kampret tukang nyusahin orang

Pass : yudha
----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Friday, December 5, 2008

T-SQL

Tools :
  • Microsoft SQL Server 2000 / Microsoft SQL server 2005

Index
  • Encrypt Store Procedure dan Trigger di SQL Server, click here



----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

.Net

Tools :
  • Microsoft visual studio 2008
  • Microsoft SQL server 2005
  • & Beberapa tools third party lainnya

Index
  • Animasi Teks Berjalan, click here
  • Bilangan Prima, click here
  • Encrypt Password Menggunakan MD5, click here
  • Fibonacci Sequence [Iterative & Recursive], click here
  • Palindrome, click here
  • Random Berulang dan Random tak Berulang, click here
  • Remove Duplicate Array, click here
  • Sorting by Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, click here


----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong

Monday, December 1, 2008

Under Construction



Hi all....., sorry this menu still under construction, please be patience






----- Code'It, Write'It, Share'It, Love'It -----
----------- IT Field It's My Passion -----------

Correct Me If I'am Wrong