M A Y A P A K P A H A N Welcome To My Blogg //]]>

Selasa, 15 April 2014

Sistem Pendukung Keputusan dan Contoh Program SPK Kuliner


Sistem Penunjang Pengambilan Keputusan didefinisikan sebagai interaktif berbasis komputer yang membantu pengambilan suatu keputusan memanfaatkan data dan model untuk menyelesaikan masalah yang tidak terstruktur, Scoot-Morton (Turban, 2000).
Sistem Pendukung Keputusan yang dikemukakan oleh Raymond Mclood. Jr dalam buku Sistem Informasi Manajemen (McLeod, 2001) menekankan bahwa Sistem Pendukung Keputusan adalah suatu sistem informasi yang ditujukan untuk membantu manajemen dalam memecahkan masalah yang dihadapinya. Definisi selengkapnya adalah sistem penghasil informasi spesifik yang ditujukan untuk memecahkan suatu masalah tertentu  yang harus dipecahkan oleh menejer ada berbagai tingkatan. Sedangkan menurut Litlle (McLeod, 2001) mengemukakan bahwa sistem pendukung  keputusan adalah suatu sistem informasi berbasis komputer yang menghasilkan berbagai alternatif keputusan untuk membantu manajemen dalam menangani berbagai permasalahan yang terstruktur ataupun tidak terstruktur dengan menggunakan data atau model.
Sebagaimana diketahui bahwa salah satu tugas utama manajemen adalah mempertahankan (existensi) dan menghasilkan kinerja (performance) organisasi yang dikelolanya. Untuk  itulah manajemen harus mengambil keputusan mengenai langkah-langkah yang akan diambilnya, baik pada tingkatan strategi, taktik maupun operasional.
Keputusan-keputusan dibuat untuk memecahkan masalah. Dalam memecahkan suatu masalah, pemecahan masalah mungkin membuat banyak keputusan. Keputusan merupakan rangkaian tindakan yang perlu diikuti dalam memecahkan masalah untuk menghindari dan mengurangi dampak negatif atau untuk memanfaatkan kesempatan.
Agar kualitas keputusan yang diambil lebih baik maka diperlukan sistem pendukung keputusan yaitu yang berbasis komputer interaktif, yang mambantu pembuat keputusan memanfaatkan data dan model untuk menyelesaikan permasalahan yang tak terstruktur (Garry dan Morton,1971).
Jenis-Jenis Keputusan
Jenis–jenis keputusan menurut Simon dibedakan menjadi dua macam yaitu keputusan terprogram dan keputusan tidak terprogram dalam buku Sistem Informasi Manajemen (McLeod, 2001).
a. Keputusan Terprogram
Keputusan–keputusan yang bersifat berulang dan rutin, sedemikian hingga suatu prosedur pasti telah dibuat untuk menanganinya sehingga keputusan tersebut tidak perlu diperlakukan sebagai sesuatu yang baru tiap kali terjadi.
b.   Keputusan Tak Terprogram
Keputusan–keputusan yang berkaitan dengan berbagai persoalan baru, tidak terstruktur dan tidak konsisten. Tidak ada metode yang pasti untuk menangani masalah ini karena belum  pernah ada sebelumnya, atau karena sifat dan struktur persisnya tidak terlihat atau rumit.
Proses Pengambilan Keputusan.
Untuk memahami dengan lebih baik mengenai permodelan, dapat mengikuti proses pengambilan keputusan yang melibatkan tiga hal tahap utama : tahap intelegensi (intelligent phase), tahap perancangan (design phase), dan tahap pilihan (choice phase). Tahap keempat yaitu implementasi (implementation) ditambahkan kemudian. Sebuah gambaran konseptual mengenai proses pembuatan keputusan ditunjukkan pada gambar 2.1. Ada aliran aktifitas yang  berkesinambungan dari tahap intelegensi ke tahap perancangan dan tahap perancangan ke tahap pilihan (garis tebal), tetapi pada beberapa tahap mungkin menjadi arus balik ke tahap sebelumnya.
Subsistem–subsistem sistem pendukung keputusan terdiri dari 4 yaitu subsistem manajemen data, subsistem manajemen model, subsistem manajemen pengetahuan dan subsistem antar muka pengguna. Seperti pada gambar dibawah  (Turban, 2000).
Gambar 1. Skema SPK
Dalam pembuatan aplikasi sistem pendukung keputusan umumnya sistem dapat hasil keputusan yang dapat mengeluarkan output beberapa alternatif lain yang dapat direkomendasikan. Adapun contoh bentuk aplikasi sistem pendukung keputusan pada wisata kuliner dibawah menunjukkan mengeluarkan ketupusan berdasarkan rangking dan memiliki alternatif pilihan lain yang dapat direkomendasikan oleh manajer/user.
Contoh Program SPK
Dengan contoh data inputan dengan mengisi data kriteria dan bobot sesuai kebutuhan pemakai. Kriteria diantaranya adalah jenis makanan, waktu buka, lokasi kuliner, budget, fasilitas, dan khas makanan. Peta di ambil dari google eart untuk memvisualisasi data ruang geografi agar lebih baik dengan bentuk yang lebih nyata. Sedangkan bobot dapat diatur oleh pemakai sistem dan tidak dilakukan pemobobotan dalam koding. Perhatikan gambar 2 dibawah;
Gambar 2. Proses SPK Kuliner
Pada gambar 2 di atas suatu hasil keputusan sistem berdasarkan data inputan yang didapatkan untuk pencarian adalah Pondok Cabe jenis makanan Ayam Goreng dengan total skor persentase 98% dari total keseluruhan resto yang didapatkan yaitu 96 resto yang memiliki pendekatan data yang dicari baik jenis makanan, waktu buka, khas makanan, budget, suasana, fasilitas atau data lokasi.
Adapun resto yang memiliki total skor terkecil adalah Jimbaran Resto dengan total skor 40% yang memiliki perbedaan Jenis makanan, khas makanan, harga yang sangat jauh dari budget, dan memiliki persamaan suasana indoor dan memungkin jarak masih terjangkau.
Sistem ini dibuat dengan metode rule of thumb untuk mendukung keputusan serta google earth untuk visualisasi geografinya.

APLIKASI SISTEM PENDUKUNG KEPUTUSAN – metode AHP

Study Kasus mengenai : Penjurusan Siswa SMA (IPA-IPS-BAHASA) KOTA SEMARANG
Kriteria
1. Psikotes
2. Nilai Rapor
3. Minat
Alternatif
1. IPA
2. IPS
3. Bahasa
Langkah Pertama Mengisi Inputan Nilai Kriteria ( Matriks Perbandingan Berpasangan ) dari Psikotes, Nilai Rata-Rata Rapor, dan Minat Berdasarkan Bobot
8
Langkah Kedua Mengisi Inputan Alternatif ( Matriks Perbandingan Berpasangan ) dari Kriteria Psikotes Berdasarkan Bobotnya
9
Langkah Ketiga Mengisi Inputan Alternatif ( Matriks Perbandingan Berpasangan ) dari Kriteria Nilai Rata-Rata Rapor Berdasarkan Bobotnya lagi.
10
Langkah Keempat Mengisi Inputan Alternatif ( Matriks Perbandingan Berpasangan ) dari Kriteria Minat Berdasarkan Bobot.
11
Kemudian Matriks Perbandingan dari Kriteria dilakukan Pengkuadratan (Perkalian Kuadrat Matriks) , Lalu dilakukan penjumlahan baris ,  setelah itu dihitung nilai eigenvektor dari (jumlah baris dibagi jumlah total).
12
Kemudian Matriks Perbandingan dari Alternatif (Psikotest) dilakukan Pengkuadratan (Perkalian Kuadrat Matriks) , Lalu dilakukan penjumlahan baris ,  setelah itu dihitung nilai eigenvektor dari (jumlah baris dibagi jumlah total).
13
Kemudian Matriks Perbandingan dari Alternatif (Nilai Rata-Rata Rapor) dilakukan Pengkuadratan (Perkalian Kuadrat Matriks) , Lalu dilakukan penjumlahan baris ,  setelah itu dihitung nilai eigenvektor dari (jumlah baris dibagi jumlah total).
14
Kemudian Matriks Perbandingan dari Alternatif (Minat) dilakukan Pengkuadratan (Perkalian Kuadrat Matriks) , Lalu dilakukan penjumlahan baris ,  setelah itu dihitung nilai eigenvektor dari (jumlah baris dibagi jumlah total).
15
Lalu menghitung Nilai Bobot dari Kriteria dan Alternatif. Lalu dilakukan penjumlahan baris, maka akan diketahui hasil nya , alternatif (jurusan) yang sesuai dengan kriteria-kriteria.
Ternyata ;
IPS yang paling diminati,
IPA nomor kedua,
Bahasa menjadi alternatif yang ketiga
hitung hasil ahp
Selanjutnya kita menghitung Nilai CR ( Konsistensi Rasio) yang dihasilkan dari  Nilai Konsistensi Vektor dibagi dengan nilai Indeks Random (IR)
17
Nilai IR itu sudah ditentukan dari Oarkridge Laboratory yang berupa tabel dibawah ini:
18

Sistem Pendukung Keputusan (SPK)

Konsep Sistem Pendukung Keputusan (SPK) / Decision Support Sistem (DSS) pertama kali diungkapkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision Sistem. Sistem tersebut adalah suatu sistem yang berbasis komputer yang ditujukan untuk membantu pengambil keputusan dengan memanfaatkan data dan model tertentu untuk memecahkan berbagai persoalan yang tidak terstruktur [10].
Istilah SPK mengacu pada suatu sistem yang memanfaatkan dukungan komputer dalam proses pengambilan keputusan. Untuk memberikan pengertian yang lebih mendalam, akan diuraikan beberapa difinisi mengenai SPK yang dikembangkan oleh beberapa ahli, diantaranya oleh Man dan Watson yang memberikan definisi sebagai berikut, SPK merupakan suatu sistem yang interaktif, yang membantu pengambil keputusan melalui penggunaan data dan model-model keputusan untuk memecahkan masalah yang sifatnya semi terstruktur maupun yang tidak terstruktur. [10]
Karakteristik dan Nilai Guna

Karakteristik sistem pendukung keputusan adalah [10]:
  1. Sistem Pendukung Keputusan dirancang untuk membantu pengambil keputusan dalam memecahkan masalah yang sifatnya semi terstruktur ataupun tidak terstruktur dengan menambahkan kebijaksanaan manusia dan informasi komputerisasi.
  2. Dalam proses pengolahannya, sistem pendukung keputusan mengkombinasikan penggunaan model-model analisis dengan teknik pemasukan data konvensional serta fungsi-fungsi pencari / interogasi informasi.
  3. Sistem Pendukung Keputusan, dirancang sedemikian rupa sehingga dapat digunakan/dioperasikan dengan mudah.
  4. Sistem Pendukung Keputusan dirancang dengan menekankan pada aspek fleksibilitas serta kemampuan adaptasi yang tinggi.
Dengan berbagai karakter khusus diatas, SPK dapat memberikan berbagai manfaat dan keuntungan. Manfaat yang dapat diambil dari SPK adalah [10]:
  1. SPK memperluas kemampuan pengambil keputusan dalam memproses data / informasi bagi pemakainya.
  2. SPK membantu pengambil keputusan untuk memecahkan masalah terutama berbagai masalah yang sangat kompleks dan tidak terstruktur.
  3. SPK dapat menghasilkan solusi dengan lebih cepat serta hasilnya dapat diandalkan.
  4. Walaupun suatu SPK, mungkin saja tidak mampu memecahkan masalah yang dihadapi oleh pengambil keputusan, namun ia dapat menjadi stimulan bagi pengambil keputusan dalam memahami persoalannya, karena mampu menyajikan berbagai alternatif pemecahan.
Di samping berbagai keuntungan dan manfaat seperti dikemukakan diatas, SPK juga memiliki beberapa keterbatasan, diantaranya adalah [10] :
  1. Ada beberapa kemampuan manajemen dan bakat manusia yang tidak dapat dimodelkan, sehingga model yang ada dalam sistem tidak semuanya mencerminkan persoalan sebenarnya.
  2. Kemampuan suatu SPK terbatas pada perbendaharaan pengetahuan yang dimilikinya (pengetahuan dasar serta model dasar).
  3. Proses-proses yang dapat dilakukan SPK biasanya juga tergantung pada perangkat lunak yang digunakan.
  4. SPK tidak memiliki kemampuan intuisi seperti yang dimiliki manusia. Sistem ini dirancang hanyalah untuk membantu pengambil keputusan dalam melaksanakan tugasnya.
Jadi secara dapat dikatakan bahwa SPK dapat memberikan manfaat bagi pengambil keputusan dalam meningkatkan efektifitas dan efisiensi kerja terutama dalam proses pengambilan keputusan.
Komponen Sistem Pendukung Keputusan

Sistem pendukung keputusan terdiri atas tiga komponen utama yaitu [10]:
  1. Subsistem pengelolaan data (database).
  2. Subsistem pengelolaan model (modelbase).
  3. Subsistem pengelolaan dialog (userinterface).
Hubungan antara ketiga komponen ini dapat dilihat pada gambar dibawah.

Gambar : Hubungan antara tiga komponen sistem pendukung keputusan
Sub sistem pengelolaan data (database)
Sub sistem pengelolaan data (database) merupakan komponen SPK yang berguna sebagai penyedia data bagi sistem. Data tersebut disimpan dan diorganisasikan dalam sebuah basis data yang diorganisasikan oleh suatu sistem yang disebut dengan sistem manajemen basis data (Database Management System).
Sub sistem pengelolaan model (model base)
Keunikan dari SPK adalah kemampuannya dalam mengintegrasikan data dengan model-model keputusan. Model adalah suatu tiruan dari alam nyata. Kendala yang sering dihadapi dalam merancang suatu model adalah bahwa model yang dirancang tidak mampu mencerminkan seluruh variabel alam nyata, sehingga keputusan yang diambil tidak sesuai dengan kebutuhan oleh karena itu, dalam menyimpan berbagai model harus diperhatikan dan harus dijaga fleksibilitasnya. Hal lain yang perlu diperhatikan adalah pada setiap model yang disimpan hendaknya ditambahkan rincian keterangan dan penjelasan yang komprehensif mengenai model yang dibuat.
Subsistem pengelolaan dialog (user interface)
Keunikan lainnya dari SPK adalah adanya fasilitas yang mampu mengintegrasikan sistem yang terpasang dengan pengguna secara interaktif, yang dikenal dengan subsistem dialog. Melalui subsistem dialog, sistem diimplementasikan sehingga pengguna dapat berkomunikasi dengan sistem yang dibuat.
Fasilitas yang dimiliki oleh subsistem dialog dibagi menjadi tiga komponen [10]:
  1. Bahasa aksi (action language), yaitu suatu perangkat lunak yang dapat digunakan oleh user untuk berkomunikasi dengan sistem, yang dilakukan melalui berbagai pilihan media seperti keyboard, joystick dan keyfunction yang lainnya.
  2. Bahasa tampilan (display and presentation language), yaitu suatu perangkat yang berfungsi sebagai sarana untuk menampilkan sesuatu. Peralatan yang digunakan untuk merealisasikan tampilan ini diantaranya adalah printer, grafik monitor, plotter, dan lain-lain.
  3. Basis pengetahuan (knowladge base), yaitu bagian yang mutlak diketahui oleh pengguna sehingga sistem yang dirancang dapat berfungsi secara interaktif.

Minggu, 30 Juni 2013

Mau Belajar Pemrograman

Anda kurang mengerti tentang pemrograman VB.net??
jangan takut, anda bisa belajar dengan gampang di link yg satu ini
http://mesran.net/vbnet.html
berikut dengan contoh dan masih banyak lagi contoh pemrograman yang anda inginkan
Salam Blogger

Kata Mutiara Lucu


- Kesuksesan seseorang selalu berawal dari mimpi. Jika begitu adanya, marilah kita tidur.

- Kata orang tua, jangan menikah dengan wanita sekampung. Menikahlah cukup dengan seorang wanita saja.

- Seberat apapun pekerjaan, apabila tidak dikerjakan maka akan terasa ringan.

- Menikahi wanita yang cantik bukanlah jaminan kebahagiaan hidup. Lebih-lebih yang jelek.

- Di belakang setiap pria yang sukses, selalu ada satu wanita. Di belakang pria tidak sukses, ada dua. Kecantikan memang relatif, tapi kejelekan itu mutlak.

- Hal yang paling utama ketika mencari seorang calon suami adalah menemukan orang yang berkepribadian. Mobil pribadi, rumah pribadi dan kolam renang pribadi.

- Cintailah seorang wanita saja. Dua wanita terlalu banyak. Tapi tiga wanita lebih baik daripada tidak ada.

- Semakin banyak belajar, semakin banyak yang kita tahu... semakin banyak yang kita tahu, semakin banyak yang kita lupa... semakin banyak yang kita lupa, semakin sedikit yang kita tahu... jadi kenapa kita sibuk belajar?

- Wanita cantik bukan menjadi jaminan kehidupan kita menyenangkan, apalagi yang jelek?

- Kegagalan adalah kesuksesan yang tertunda. Kebohongan adalah kejujuran yang tertunda...

- Berlatih membuat kita menjadi sempurna, tapi tidak ada manusia yang sempurna, jadi buat apa kita susah payah berlatih?

- Politisi tidak pernah percaya akan ucapan mereka sendiri, karena itulah mereka sangat terkejut bila rakyat mempercayainya.

Demikianlah berbagai kata kata mutiara lucu yang bisa dipublikasikan kepada teman-teman melalui artikel ini.

KRIPTOGRAFI



Berikut Listing Programnya:


Public Class Form1

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

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

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

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

    Private Sub DesChiperToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DesChiperToolStripMenuItem.Click
        Form6.MdiParent = Me
        Form6.Show()
    End Sub

    Private Sub RC4ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RC4ToolStripMenuItem.Click
        Form7.MdiParent = Me
        Form7.Show()
    End Sub
End Class


Berikut isi daripada menunya:
1.Caesar Chiper



 Listing programnya:

Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        chipertext.Text = ""
    End Sub

    Private Sub Btnenkript_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnenkript.Click
        Dim jumlah As Double = Len(plaintext.Text)
        Dim x As String
        Dim xkalimat As String = ""
        Dim bil As Integer
        For i = 1 To jumlah
            x = Mid(plaintext.Text, i, 1)
            bil = Asc(x) + 3
            x = Chr(bil)
            xkalimat = xkalimat + x
        Next i
        chipertext.Text = xkalimat
    End Sub
End Class


2.Gronsfield Chiper



Berikut Listing Programnya :

Public Class Form3

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        kunci.Text = ""
        chipertext.Text = ""
    End Sub

    Private Sub Btnenkript_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnenkript.Click
        Dim J As Integer
        Dim Jum As Integer
        Dim sKey As String
        Dim nKata As Integer
        Dim nKunci As String
        Dim sKata As String
        Dim sPlain As String = ""
        Dim nEnc As Integer
        J = 0
        sKata = plaintext.Text
        Jum = Len(sKata)
        sKey = kunci.Text
        For i = 1 To Jum
            If J = Len(sKey) Then
                J = 1
            Else
                J = J + 1
            End If
            nKata = Asc(Mid(sKata, i, 1)) - 65
            nKunci = Asc(Mid(sKey, J, 1)) - 65
            nEnc = ((nKata + nKunci) Mod 26)
            sPlain = sPlain & Chr((nEnc))
        Next i
        chipertext.Text = sPlain
    End Sub

    Private Sub plaintext_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles plaintext.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

    Private Sub kunci_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kunci.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

End Class





3.Vernam Chiper


Berikut Listing Programnya :

Public Class Form4


    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        chipertext.Text = ""
        kunci.Text = ""
    End Sub

    Private Sub Btnenkript_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnenkript.Click
        Dim J As Integer
        Dim Jum As Integer
        Dim sKey As String
        Dim nKata As Integer
        Dim nKunci As Integer
        Dim sKata As String
        Dim sPlain As String = ""
        Dim nEnc As Integer
        J = 0
        sKata = plaintext.Text
        Jum = Len(sKata)
        sKey = kunci.Text
        For i = 1 To Jum
            If J = Len(sKey) Then
                J = 1
            Else
                J = J + 1
            End If
            nKata = Asc(Mid(sKata, i, 1)) - 65
            nKunci = Asc(Mid(sKey, J, 1)) - 65
            nEnc = ((nKata + nKunci) Mod 26)
            sPlain = sPlain & Chr((nEnc) + 65)
        Next i
        chipertext.Text = sPlain
    End Sub

    Private Sub plaintext_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles plaintext.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

    Private Sub kunci_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kunci.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

   
End Class


4.Vigenere Chiper


Listing Programnya:

Public Class Form5

   
    Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        kunci.Text = ""
        chipertext.Text = ""
    End Sub

    Private Sub Btnenkript_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnenkript.Click
        Dim J As Integer
        Dim Jum As Integer
        Dim sKey As String
        Dim nKata As Integer
        Dim nKunci As Integer
        Dim sKata As String
        Dim sPlain As String = ""
        Dim nEnc As Integer
        J = 0
        sKata = plaintext.Text
        Jum = Len(sKata)
        sKey = kunci.Text
        For i = 1 To Jum
            If J = Len(sKey) Then
                J = 1
            Else
                J = J + 1
            End If
            nKata = Asc(Mid(sKata, i, 1)) + 0
            nKunci = Asc(Mid(sKey, J, 1)) + 0
            nEnc = ((nKata + nKunci) Mod 256)
            sPlain = sPlain & Chr((nEnc))
        Next i
        chipertext.Text = sPlain
    End Sub

    Private Sub plaintext_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles plaintext.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

    Private Sub kunci_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles kunci.KeyPress
        e.KeyChar = UCase(e.KeyChar)
        Dim tombol As Integer = Asc(e.KeyChar)
        If Not (((tombol >= 65) And (tombol <= 90)) Or (tombol = 8)) Then
            e.Handled = True
        End If
    End Sub

   
End Class



5.RC4

Listing Programnya :
Private Sub RC4_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        kunci.Text = ""
        chipertext.Text = ""
    End Sub
    Private Function AutokeyEncipher(ByVal strPlaintext As String,ByRef strKey As String) As String
        Dim i As Long
        Dim j As Long
        Dim c1 As Integer
        Dim strPlaintext2 As String
        Dim strKey2 As String
        Dim strCiphertext As String
        Dim strCiphertext2 As String
        Dim diffKeyLen As Integer
        Dim pAlphabet As Integer
        Dim cAlphabet As Integer
        Dim nShift As Integer
        '1. Hilangkan semua karakter yang bukan alfabet dari strPlaintext
        ' dan simpan sebagai strPlaintext2
        strPlaintext2 = ""
        For i = 1 To strPlaintext.Length
            c1 = Asc(Mid(strPlaintext, i, 1))
            If (c1 >= 65 And c1 <= 90) Then
                strPlaintext2 = strPlaintext2 & Chr(c1)
            End If
        Next i
        '2. Hilangkan semua karakter yang bukan alfabet dari strKey
        ' dan simpan sebagai strKey2
        strKey2 = ""
        For i = 1 To strKey.Length

            c1 = Asc(Mid(strKey, i, 1))
            If (c1 >= 65 And c1 <= 90) Then
                strKey2 = strKey2 & Chr(c1)
            End If
        Next i
        '3. Susun kunci baru strKey2 berdasarkan kunci awal strKey kemudian
        ' ditambah plaintext
        'perbedaan antara panjang plaintext dan kunci
        diffKeyLen = strPlaintext2.Length - strKey2.Length
        For i = 1 To diffKeyLen
            'c1 = Asc(Mid(strPlaintext2, i, 1))
            strKey2 = strKey2 & Mid(strPlaintext2, i, 1)
        Next i
        '4. Geser masing-masing huruf pada plaintext
        ' dengan huruf yang terkait pada key
        strCiphertext = ""
        For i = 1 To strPlaintext2.Length
            c1 = Asc(Mid$(strPlaintext2, i, 1))
            nShift = Asc(Mid$(strKey2, i, 1)) - 65
            If ((c1 >= 65) And (c1 <= 90)) Then
                pAlphabet = c1 - 65 ' get the alphabet sequence
                cAlphabet = (pAlphabet + nShift) Mod 26 ' shifted alphabet
                c1 = cAlphabet + 65 ' get character in 65 ... 90
            End If
            strCiphertext = strCiphertext & Chr(c1)
        Next i
        '5. Susun strCiphertext sesuai dengan urutan strPlaintext
        strCiphertext2 = ""
        strKey = ""
        j = 1
        For i = 1 To strPlaintext.Length
            c1 = Asc(Mid$(strPlaintext, i, 1))
            If ((c1 >= 65) And (c1 <= 90)) Then
                strCiphertext2 = strCiphertext2 & Mid(strCiphertext, j, 1)
                strKey = strKey & Mid(strKey2, j, 1)
                j = j + 1
            Else
                strCiphertext2 = strCiphertext2 & Chr(c1)
                strKey = strKey & " "
            End If
        Next i
        Return strCiphertext2
    End Function

    Private Sub hapus_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hapus.Click
        plaintext.Text = ""
        kunci.Text = ""
        chipertext.Text = ""
    End Sub

    Private Sub keluar_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles keluar.Click
        Me.Close()
    End Sub

    Private Sub enkripsi_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles enkripsi.Click
        chipertext.Text = AutokeyEncipher(plaintext.Text, kunci.Text)
    End Sub

    Private Sub deskripsi_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles deskripsi.Click

    End Sub
End Class

6. Keluar

Public Class Form1

    Private Sub CaesarChiperToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesCaesarChiperToolStripMenuItem.Click
        Caesar.Show()
    End Sub

    Private Sub VernamChiper_Click(ByVal sender As System.Object, ByVale As System.EventArgs) Handles VernamChiper.Click
        Vernam.Show()
    End Sub

    Private Sub VigenereChiper_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles VigenereChiper.Click
        Vigenere.Show()
    End Sub

    Private Sub DesChiper_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles DesChiperr.Click
        RC4.Show()
    End Sub

    Private Sub GronsfeldChiper_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles GronsfeldChiper.Click
        DesChiper.Show()
    End Sub

    Private Sub KeluarToolStripMenuItem1_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesKeluarToolStripMenuItem1.Click
        Dim i As MsgBoxResult
        i = MsgBox("Apa anda ingin keluar?", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Perhatian")
        If i = MsgBoxResult.Yes Then
            Close()
        End If
    End Sub
End Class

Demikian pembelajaran kriptografi ini
Semoga bermanfaat :) 
 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Online Project management