Selasa, 17 Desember 2013

Sekilas Tentang Kriptografi

Sejarah Kriptografi
Menurut sejarahnya, kriptografi sudah lama digunakan oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang disebut scytale. Alat ini terdiri dari sebuah pita panjang dari daun papyrus yang dililitkan pada sebatang silinder. Pesan yang akan dikirim ditulis horizontal (baris per baris). Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun membentuk pesan rahasia. Untuk membaca pesan, penerima melilitkan kembali silinder yang diameternya sama dengan diameter silinder pengirim. Teknik kriptografi seperti ini dikenal dengan nama transposisi cipher, yang merupakan metode enkripsi tertua.
Julius Caesar dalam mengirimkan pesan yang dibawa oleh hulubalangnya, juga menggunakan teknik kriptografi, yaitu dengan cara mengacak pesan tersebut sebelum diberikan kepada kurir. Hal ini dilakukan untuk menjaga kerahasiaan pesan baik bagi kurir maupun bagi musuh jika kurir tertangkap di tengah jalan oleh musuh. Ada orang yang mengatakan bahwa apa yang dilakukan oleh Julius Caesar dianggap sebagai awal dari kriptograf1. Teknik yang digunakan oleh Julius Caesar ini kemudian dikenal dengan sebutan Caesar cipher.
Buku David Khan yang berjudul The Codebreakers merupakan salah satu referensi lengkap tentang sejarah perkembangan kriptograf1. Buku ini meliputi kriptografi dari penggunaannya yang pertama dan terbatas oleh bangsa Mesir 4000 tahun yang lalu, hingga  dimana kriptografi memegang peranan penting sebagai akibat dari kedua perang dunia. Para pengguna utama adalah mereka yang berhubungan dengan militer, pelayanan diplomatik dan pemerintahan secara umum. Kriptografi digunakan sebagai suatu alat untuk melindungi rahasia dan strategi-strategi negara.
Pemerintah Amerika Serikat memainkan peranan yang besar dalam kriptografi, dari penggunaan sampai pengawasan ekspor untuk usaha standarisasi dari sistem kriptografi yang baru. Salah satu alasan yang pasti, mengapa pemerintah Amerika Serikat begitu tertarik akan hal-hal yang berkaitan dengan kriptografi adalah bagaimana krusialnya komunikasi yang aman di masa perang. Di masa lalu, pemerintah bukan hanya menggunakan kriptografi itu sendiri, tetapi juga telah memasuki kode negara lain. Contoh yang terkenal dari kejadian ini adalah apa yang terjadi tahun 1940 ketika sekumpulan kriptanalis dari Angkatan Laut AS, yang dipimpin oleh William F. Friedman, berhasil memecahkan pesan diplomatik rahasia Jepang yang dikenal dengan Purple. Pada tahun 1952, Pemerintah AS mendirikan the National Security Agency (NSA), yang bertugas untuk menangani keamanan data pemerintah dan militer serta mengumpulkan informasi tentang komunikasi negara-negara lain. Pada saat itu juga didirikan The National Institute of Standards and Technology (NIST), yang memegang tugas utama dalam pengembangan standard kriptograf1. Pada tahun 1970an, IBM dan Departemen Keuangan AS dalam hal ini NIST bersama-sama dengan NSA mengembangkan the Data Encryption Standard (DES). Algoritma ini telah menjadi standar sejak 1977 dan menjadi mekanisme kriptografi yang paling terkenal dalam sejarah. Metode ini menjadi alat standar untuk mengamankan electronic commerce bagi banyak institusi finansial di seluruh dunia.
Perkembangan yang paling berpengaruh dalam sejarah kriptografi terjadi pada tahun 1976 ketika Diffie dan Hellman menerbitkan surat kabar Directions in Cryptography. Surat kabar ini memperkenalkan konsep revolusioner public-key cryptography dan juga menyediakan metode pertukaran kunci yang baru dan sangat cerdik, keamanan yang berdasarkan pada kesulitan untuk menangani logaritma diskrit. Walaupun penulisnya tidak menyadari kegunaan praktis dari skema enkripsi public-key pada saat itu, ide itu jelas dan menimbulkan minat dan aktivitas besar dalam komunitas kriptograf1. Pada tahun 1978 Rivest, Shamir, dan Adleman menemukan enkripsi public-key dan skema signature pertama, yang sekarang di kenal sebagai RSA. Skema RSA didasarkan pada permasalahan sulit lainnya dalam matematika, kesulitan memfaktorkan bilangan bulat yang besar. Penerapan masalah sulit dalam matematika ke kriptografi menggairahkan usaha-usaha untuk menemukan metode-metode yang lebih efisien dalam pemfaktoran. Pada tahun 1980-an terjadi perkembangan besar pada bidang ini tetapi tidak ada yang menyebabkan ketidakamanan pada sistem RSA. Kelas skema public-key lainnya yang kuat dan praktis ditemukan oleh ElGamal pada tahun 1985. Skema ini juga berdasarkan masalah logaritma diskrit. [KUR04, SCH96]
Definisi Kriptografi
Kriptografi berasal dari bahasa Yunani, yaitu kata kryptos yang artinya tersembunyi, dan grafia yang artinya sesuatu yang tertulis, sehingga jika digabungkan kriptografi dapat diartikan sebagai sesuatu yang tertulis secara rahasia.
Kriptografi dapat didefinisikan sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek-aspek pada keamanan informasi misalnya kerahasiaan, integritas data, otentikasi pengirim / penerima data, dan otentikasi data. Kriptografi merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi mempelajari tentang bagaimana merahasiakan suatu informasi penting kedalam suatu bentuk yang tidak dapat dibaca oleh siapapun serta mengembalikannya menjadi informasi semula dengan menggunakan berbagai macam teknik yang telah ada sehingga informasi tersebut tidak dapat diketahui oleh pihak manapun yang tidak berkepentingan.
Bagi kebanyakan orang, kriptografi lebih diutamakan dalam menjaga komunikasi agar tetap rahasia. Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap komunikasi yang sensitif telah menjadi penekanan kriptografi selama in1. Akan tetapi hal tersebut hanyalah sebagian dari penerapan kriptografi dewasa in1.
Terdapat dua proses penting di dalam kriptografi yang berperan dalam merahasiakan suatu informasi yakni enkripsi (encryption) dan dekripsi (decryption). Enkripsi ialah  transformasi data (plaintext) ke dalam bentuk yang hampir tidak dapat dibaca (ciphertext) tanpa pengetahuan yang cukup. Tujuan dari enkripsi ialah untuk menjamin kerahasiaan dengan menjaga informasi tersembunyi dari siapapun yang bukan pemilik atau yang berkepentingan dengan informasi tersebut, bahkan bagi orang yang memiliki akses terhadap data yang telah dienkrips1. Sedangkan dekripsi ialah kebalikan dari enkripsi, yakni transformasi dari data yang telah dienkripsi (ciphertext) kembali ke bentuk semula (plaintext). Proses enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah informasi yang rahasia, yang sering disebut kunci (key). [KUR04, MUN06]
Tujuan Kriptografi
Kriptografi sesungguhnya merupakan studi terhadap teknik matematis yang terkait dengan 4 aspek keamanan dari suatu informasi yakni kerahasiaan (confidentiality), integritas data (data integrity), otentikasi (authentication), dan ketiadaan penyangkalan (non-repudiation). Keempat aspek tersebut merupakan tujuan utama dari suatu sistem kriptografi yang dapat dijelaskan sebagai berikut :
1.      Kerahasiaan (confidentiality)
Kerahasiaan menjamin bahwa data-data tersebut hanya bisa diakses oleh pihak-pihak tertentu saja. Kerahasiaan bertujuan untuk melindungi suatu informasi dari semua pihak yang tidak berhak atas informasi tersebut. Terdapat beberapa cara yang dapat digunakan untuk menjaga kerahasiaan suatu informasi, mulai dari penjagaan secara fisik misalnya menyimpan data pada suatu tempat khusus sampai dengan penggunaan algoritma matematika untuk mengubah bentuk informasi menjadi tidak terbaca. 
2.      Otentikasi (authentication).
Otentikasi merupakan identifikasi yang dilakukan oleh  masing – masing pihak yang saling berkomunikasi, maksudnya beberapa pihak yang berkomunikasi harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari informasi yang diterima. Identifikasi terhadap suatu informasi dapat berupa tanggal pembuatan informasi, isi informasi, waktu kirim dan hal-hal lainnya yang berhubungan dengan informasi tersebut.
3.      Integritas (integrity).
Integritas menjamin setiap pesan yang dikirim pasti sampai pada penerimanya tanpa ada bagian dari pesan tersebut yang diganti, diduplikasi, dirusak, diubah urutannya, dan ditambahkan. Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berhak atas informasi tersebut. Untuk menjamin integritas data ini pengguna harus mempunyai kemampuan untuk mendeteksi terjadinya manipulasi data oleh pihak-pihak yang tidak berkepentingan. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.
4.      Nonrepudiation
Nonrepudiation mencegah pengirim maupun penerima mengingkari bahwa mereka telah mengirimkan atau menerima suatu pesan/informas1. Jika sebuah pesan dikirim, penerima dapat membuktikan bahwa pesan tersebut memang dikirim oleh pengirim yang tertera. Sebaliknya, jika sebuah pesan diterima, pengirim dapat membuktikan bahwa pesannya telah diterima oleh pihak yang ditujunya. [KUR04]
Sistem Kriptografi
Berdasarkan jumlah kunci yang digunakan, terdapat dua jenis sistem kriptografi yaitu sistem kriptografi kunci rahasia (secret-key cryptography) dan sistem kriptografi kunci publik (public-key cryptography).
Kriptografi Kunci Rahasia
Kriptografi kunci rahasia (secret-key cryptography) sering disebut juga sistem kriptografi simetris (symmetric key cryptography). Sistem ini sering juga disebut sebagai enkripsi konvensional atau enkripsi kunci-tunggal (single key). 

sumber: http://informasilive.blogspot.com/2013/04/sejarah-kriptografi.html

Minggu, 08 Desember 2013

Listview Perhitungan Penjualan Barang

Public Class Form1

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

        kdbrg.Items.Add("TS001")
        kdbrg.Items.Add("TS002")
        kdbrg.Items.Add("VG001")
        kdbrg.Items.Add("VG002")


    End Sub


    Private Sub kdbrng_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kdbrg.SelectedIndexChanged
        Dim X As String
        Dim y As String

        X = Microsoft.VisualBasic.Left(kdbrg.Text, 2)
        y = Microsoft.VisualBasic.Right(kdbrg.Text, 3)
        Select Case X
            Case "TS" : merk.Text = "Toshiba"
            Case "VG" : merk.Text = "V-GEN"
        End Select
        Select Case y
            Case "001" : nmbrg.Text = "Flashdisk 4GB"
            Case "002" : nmbrg.Text = "Flashdisk 2GB"
        End Select

        If X = "TS" And y = "001" Then
            harga.Text = 105000
        ElseIf X = "TS" And y = "002" Then
            harga.Text = 75000
        ElseIf X = "VG" And y = "001" Then
            harga.Text = 50000
        ElseIf X = "VG" And y = "002" Then
            harga.Text = 80000

        End If
    End Sub


    Sub BuatTabel()
        lv.Columns.Add("Pembeli", 80, HorizontalAlignment.Center)
        lv.Columns.Add("Kode Barang", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Nama Barang", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Merk", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Jumlah Beli", 100, HorizontalAlignment.Left)
        lv.Columns.Add("Harga", 100, HorizontalAlignment.Left)
        lv.Columns.Add("total harga", 100, HorizontalAlignment.Left)
        lv.View = View.Details
        lv.GridLines = True
        lv.FullRowSelect = True
    End Sub
    Sub isitabel()
        Dim lst As New ListViewItem
        lst.Text = pembeli.Text
        lst.SubItems.Add(kdbrg.Text)
        lst.SubItems.Add(nmbrg.Text)
        lst.SubItems.Add(merk.Text)
        lst.SubItems.Add(jlhbeli.Text)
        lst.SubItems.Add(harga.Text)
        lst.SubItems.Add(harga.Text * jlhbeli.Text)
        lv.Items.Add(lst)
    End Sub

    Private Sub btnbersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbersih.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""

    End Sub

    Private Sub Btnhapussemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapussemua.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""
        lv.Text = ""

    End Sub

    Private Sub btnhapusdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapusdata.Click
        pembeli.Text = ""
        kdbrg.Text = ""
        nmbrg.Text = ""
        merk.Text = ""
        harga.Text = ""
        ttalharga.Text = ""
        jlhbeli.Text = ""

    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End

    End Sub

    Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpan.Click

        isitabel()

        ttalharga.Text = harga.Text * jlhbeli.Text


    End Sub


End Class

hasil programnya: