This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Minggu, 02 Juni 2013

Yuk! Belajar Pemrograman Visual Basic dot Net Di Mesran.Net


Form  Design

Listing program
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Gol.Items.Add("IIIA")
        Gol.Items.Add("IIIB")
        Gol.Items.Add("IIIC")
    End Sub

    Private Sub Gol_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Gol.SelectedIndexChanged
        Select Case Gol.Text
            Case "IIIA" : Gaji.Text = 1500000
            Case "IIIB" : Gaji.Text = 2500000
            Case "IIIC" : Gaji.Text = 3500000
        End Select
        Pajak.Text = 0.15 * Gaji.Text
    End Sub

    Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
        Gajiber.Text = Val(Gaji.Text) - Val(Pinjaman.Text) - Val(Gajiber.Text)
    End Sub

    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
        Me.Close()
    End Sub

    Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub
End Class

Hasil :










 2.

Public Class Form1
    Sub BuatTabel()
        LV.Columns.Add("Pelanngan", 50, HorizontalAlignment.Center)
        LV.Columns.Add("Tipe pelanggan", 80, HorizontalAlignment.Center)
        LV.Columns.Add("Biaya beban", 120, HorizontalAlignment.Center)
        LV.Columns.Add("Harga per KWH", 120, HorizontalAlignment.Center)
        LV.Columns.Add("Meter bulan ini", 120, HorizontalAlignment.Center)
        LV.Columns.Add("Meter bulan lalu", 90, HorizontalAlignment.Center)
        LV.Columns.Add("Jumlah pemkaian", 50, HorizontalAlignment.Center)
        LV.Columns.Add("Tagihan", 120, HorizontalAlignment.Center)
        LV.Columns.Add("Pajak", 50, HorizontalAlignment.Center)
        LV.Columns.Add("Total tagihan", 120, HorizontalAlignment.Center)
        LV.Columns.Add("Pembayaran", 120, HorizontalAlignment.Center)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True
    End Sub
    Sub IsiTabel()
        Dim Lst As New ListViewItem
        Lst.Text = Pelanggan.Text
        Lst.SubItems.Add(Tipepel.Text)
        Lst.SubItems.Add(Biaya.Text)
        Lst.SubItems.Add(Harga.Text)
        Lst.SubItems.Add(Meterbulanini.Text)
        Lst.SubItems.Add(Meterbulanlalu.Text)
        Lst.SubItems.Add(Jumlah.Text)
        Lst.SubItems.Add(Tagihan.Text)
        Lst.SubItems.Add(Pajak.Text)
        Lst.SubItems.Add(Total.Text)
        Lst.SubItems.Add(Pembayaran.Text)
        LV.Items.Add(Lst)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        BuatTabel()
        Pelanggan.Items.Add("MEDAN")
        Pelanggan.Items.Add("BELAWAN")
        Pelanggan.Items.Add("AKSARA")
        Pelanggan.Items.Add("MRENDAL")
        Pelanggan.Items.Add("BINJAI")
        Pelanggan.Items.Add("LUBUK PAKAM")
        Tipepel.Items.Add("TOKO")
        Tipepel.Items.Add("RUMAH")
        Tipepel.Items.Add("SWALAYAN")
        Tipepel.Items.Add("PABRIK")
    End Sub

    Private Sub PAB_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tipepel.SelectedIndexChanged
        Select Case Tipepel.Text
            Case "TOKO" : Biaya.Text = 150000
            Case "RUMAH" : Biaya.Text = 50000
            Case "SWALAYAN" : Biaya.Text = 400000
            Case "PABRIK" : Biaya.Text = 1000000
        End Select
        Select Case Tipepel.Text
            Case "TOKO" : Harga.Text = 500
            Case "RUMAH" : Harga.Text = 200
            Case "SWALAYAN" : Harga.Text = 1500
            Case "PABRIK" : Harga.Text = 10000
        End Select
    End Sub

    Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
        Total.Text = Val(Biaya.Text) + Val(Harga.Text) * Val(Jumlah.Text)
    End Sub

    Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
        IsiTabel()
    End Sub

    Private Sub BtnHapussemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapussemua.Click
        LV.Items.Clear()
    End Sub

    Private Sub BtnHapusdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusdata.Click
        LV.Items.Remove(LV.SelectedItems(0))
    End Sub

    Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
        Me.Close()
    End Sub

    Private Sub Jumlah_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Jumlah.TextChanged
        Jumlah.Text = Meterbulanini.Text - Meterbulanlalu.Text
    End Sub
End Class



nama : rasmi ganda rotua Tambunan
Npm : 1111135
Selamat Pemrograman VB NET 
mesran.net

Jumat, 31 Mei 2013

PENYEBAB DAN PENCEGAHAN PENYAKIT MAAG

Maag adalah kelebihan kadar asam lambung hingga menyebabkan perasaan terbakar di ulu hati. Ini sering kali terjadi akibat makan makanan berlemak atau akibat terlalu banyak minum alkohol.
Keadaan ini menyebabkan lambung menghasilkan tambahan asam, yang menimbulkan rasa tidak enak (rasa penuh, sebah) pada bagian lambung atau bagian tengah dada. Sebagian orang mengacaukan perasaan terbakar di ulu hati ini sebagai gangguan jantung
Kelebihan asam lambung yang berlarut-larut atau berulang-ulang merupakan tanda peringatan untuk borok lambung atau usus. Borok lambung atau usus sendiri merupakan luka menahun pada lambung atau usus halus.
Penyakit ini dapat diketahui dengan adanya rasa nyeri yang menahun dang kadang-kadang menusuk pada ulu hati. Sering kali rasa nyeri berkurang setelah penderita makan atau minum susu. Namun jika penderita terlambat makan 2 atau 3 jam, makan makanan berlemak dan pedas, atau meminum alkohol, serangan nyeri akan menghebat.
  •  Penyebab sakit maag:
Pola makan yang tidak teratur Gaya hidup yang tidak sehat, stres, dan jam tidur yang tidak baik Merokok, meminum kopi dalam takaran yang besar dan berulang-ulang. Meminum minuman beralkohol
  •  Pencegahan dan Pengobatan
Makan makanan yang menyembuhkan dan jangan mengonsumsi makanan yang mengganggu borok tersebut.
1. Makanan yang menyembuhkan borok
* Minum dua gelas air sebelum dan sesudah makan. Minumlah yang banyak sepanjang hari.
* Keju, kelapa susu (rum), havermout, pisang
2. Makanan yang tidak berbahaya
* Telor rebus, biskuit, kentang rebus, ketela, mie instan, pisang yang sudah masak
3. Makanan yang membuat borok semakin parah
* Minuman keras, kopi, rokok, cabai dan merica, makanan berlemak, minuman bersoda.
Perhatian
 

sekian infomya.

PENYEBAB ,GEJALA DAN PENCEGAHAN PENYAKIT LIVER

Penyebab, gejala dan pencegahan Penyakit Liver penting kita pahami. Penyakit Liver termasuk penyakit yang banyak diderita oleh masyarakat kita. Maka sangatlah penting untuk memahami penyebab, gejala dan pencegahan penyakit Liver ini. Kerusakan dan kelainan hati misalnya juga menjadi penyebab penyakit Liver. Fungsi hati yang tidak sempurna sangat berbahaya terhadap kesehatan tubuh kita dimana hati bertugas sebagai penyaring darah dan memperbaiki darah yang rusak atau mendaur ulang darah kita, membentuk empedu yang bertugas untuk membantu pencernakan lemak tubuh.



Penyebab:

~ Kekurangan nutrisi penting bagi tubuh (malnutrition)
~ Kelainan dan kerusakan hati bawaan/sejak dilahirkan.
~ Infeksi  virus dan bakteri
~ Akibat obat-obatan/Alkohol yang telah meracuni hati
~ Gangguan metabolisme, proses faal tubuh
~ Terjadi trauma pada organ hati.


Fungsi Hati

- Menyaring darah/mengurai dan mendaurulang sel-sel darah merah.
- Memproduksi empedu untuk proses pencernaan lemak
- Mengikat lemak dan kolesterol yang diangkut ke seluruh tubuh
- Menyimpan zat gula, besi, tembaga, vitamin A, B dan D
- Memproduksi protein-protein untuk bahan pembekuan darah
- Membuat protein albumin yang berperan dalam pengangkutan cairan didalam darah dan ginjal


Gejala / tanda Penyakit Liver

- Kulit jadi kekuningan
- Rasa nyeri di perut bagian kanan atas
- Air seni/Urin berwarna kecoklatan/seperti teh.
- Kadar gula turun
- Cepat kehilangan selera makan.
- Berat badan turun secara drastis.
- Sering mual, muntah juga Diare
- Feces/kotoran berwarna pucat.
- Tidak enak badan dan malas
- Mudah mengalami kelelahan.
- Sering pegel-pegel,sakit otot atau demam ringan
- Penurunan gairah dan depresi
- Pembuluh darah membesar.
- Mengalami gejala gatal-gatal.



Tips pencegahan penyakit liver

- Jaga kebersihan/cuci tangan saat hendak makan
- Minum air yang sudah dimasak
- Hindari obat terlarang (alat suntik)
- Hindari menggunakan alat-alat milik orang lain yang berpotensi menularkan.
- Hindari bahan racun dan alkohol
- Jangan menggunakan obat secara berlebihan.
- Cukup nutrisi / gizi
- Suntik immune globulin pada gejala hepatitis A


Jika terjadi tingkat keparahan yang tinggi maka akan terjadi gagal hati.

Gejala – gejala dari gagal hati:

- Anemia Aplastic (sumsum tulang tidak dapat membuat sel-sel darah)
- Ascites (cairan yang mengumpul didalam abdomen)
- Edema atau bengkak dibawah kulit
- Encephalopathy (kelainan yang mengganggu fungsi otak)
- Pembengkakan Hati / Limpa
- Psikologis yang terganggu

Sekian info untuk penyebab, gejala dan pencegahan Penyakit Liver.

logika-logika yang sering digunakan pada program

LOGIKA PROGRAM

1.  Import java.io.*
digunakan untuk melakukan penginputan data. Artinya program ini akan menggunakan java.io package mengandung kelas-kelas yang memungkinkan program untuk  menginput data. Dalam hali ini dengan menggunakan fungsi InputStreamReader dan Buffered Reader.

2.  Class percabangan
menampilkan dan menunjukan class baru dengan nama “percabangan”.

3.  public static void main(String[] args)throws IOException
Dalam perintah ini maksudnya kita akan melemparkan method agar suatu kondisi dapat terdefinisi dengan benar.

4.  Tanda {
Tanda ini digunakan sebagai permulaan atau awal dari sebuah pemograman.

5.  Class percabangan
Perintah ini digunakan untuk memasukkan nilai/nama class dalam hal ini percabangan yang dimana nama file dan class dalam program tersebut haruslah sama agar tidak terjadi syntax error dalam program yang kita buat.

6. BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); Perintah diatas digunakan untuk meminta input dari user agar dapat kita gunakan Bufferedreader seperti diatas dengan menggunakan method readline.Nilai yang dikembalikan adalah berupa String yang dimana Method readLine akan dipanggil untuk mendapatkan inputan dari user dan memberikan nilai kembalian dalam bentuk String dan masuk menjadi nilai variabel x.                                                                                
7.  System.out.print(“masukkan nilai anda:”)                                                                                Perintah ini digunakan sebagai pencetak,tentu saja anda harus menstring dulu kata2nya dengan tanda “ agar nanti bisa dikeluarkan dalam outputnya. berfungsi untuk mencetak tulisan masukan nilai anda : . Semua kata yang terdapat didalam kurung dan diapit tanda (“) akan tercetak seperti yang tertulis didalam kurung.

8.  int a=Integer.parseInt(input.readLine())
berfungsi untuk mendapatkan inputan dari user dan mendapatkan nilai kembalian yang akan disimpan sebagai nilai dari variabel “a” dan dikonversi ke tipe data integer.

9.  System.out.println()
berfungsi untuk mencetak tulisan () . Semua kata yang terdapat didalam kurung dan diapit tanda (“) akan tercetak seperti yang tertulis didalam kurung.

8.  if ((a>=0)&&(a<40)){
            System.out.println("grade\t\t:Eketerangan\t:tidak lulus")
statement ini merupakan terusan dari perintah jika a lebih besar atau samadengan 0 dan a kurang dari 40 maka akan tercetak grade:           E                     keterangan    : tidak lulus.
                                      
 9. else if ((a>=0)&&(a<50))
 Maksud dari perintah ini adalah supaya kita bisa menentukan diantara 2 statement yang tersedia,akan langsung dieksekusi jika statement 1 langsung benar,dalam hal ini statement 1 adalah (a>-=0) dan akan dieksekusi lagi jika statement 1 salah dan akan diperiksa apakah statement 2 benar,dalam hal ini statement 2 adalah (a<50).

10. System.out.println("grade\t\t:D\nketerangan\t:perbaikan")
statement ini merupakan terusan dari perintah jika a lebih besar atau samadengan 0 dan a kurang dari 50 maka akan tercetak  grade:          D                     keterangan     : perbaikan.

11. else if ((a>=0)&&(a<70))
Maksud dari perintah ini adalah merupakan perintah lain jika nilai yang diberikan tidak memenuhi pada statement sebelumnya. Maka digunakan perintah ini untuk meneruskan operasi ke statement selanjutnya. Dalam hal ini jika a lebih besar atau samadengan 0 dan a lebih kecil dari 70, maka akan diteruskan ke perintah yang ditentukan selanjutnya.

12. System.out.println("grade\t\t:C\nketerangan\t:lulus bersyarat")
statement ini merupakan terusan dari perintah jika a memenuhi perintah diatas maka akan tercetak  grade:           C                         keterangan     : lulus bersyarat.

13. else if ((a>=0)&&(a<85))
Perintah ini merupakan perintah lain jika nilai yang diberikan tidak memenuhi pada statement sebelumnya. Maka digunakan perintah ini untuk meneruskan operasi ke statement selanjutnya. Dalam hal ini jika a lebih besar atau samadengan 0 dan a lebih kecil dari 85, maka akan diteruskan ke perintah yang ditentukan selanjutnya.

14. . System.out.println("grade\t\t:B\nketerangan\t:lulus");
 statement ini merupakan terusan dari perintah jika a memenuhi perintah diatas maka akan tercetak  grade:          B                        keterangan     : lulus.

15. else if ((a>=0)&&(a<100))
Perintah ini merupakan perintah lain jika nilai yang diberikan tidak memenuhi pada statement sebelumnya. Maka digunakan perintah ini untuk meneruskan operasi ke statement selanjutnya. Dalam hal ini jika a lebih besar atau samadengan 0 dan a lebih kecil dari 100, maka akan diteruskan ke perintah yang ditentukan selanjutnya

16. System.out.println("grade\t\t:A\nketerangan\t:Execellent");                                     Dalam perintah ini jika anda mendapatkan grade A,maka anda akan mendapatkan keterangan Excellent dalam nilai anda. statement ini merupakan terusan dari perintah jika a memenuhi perintah diatas maka akan tercetak  grade:         B                     keterangan     : lulus.

17. else
Perintah ini menunnjukan jika pada statement-statement diatas tidak ada satupun nilai yang memenuhi, maka digunakan perintah ini untuk kemudian diteruskan ke perintah selanjutnya yang diinginkan.

18. System.out.println("input salah, masukan nilai dari 0-100!");                                                               
  Dalam perintah ini,maksudnya kita bisa memasukkan nilai dari 0-100 yang nanti akan keluar hasilnya sesuai dengan grade2 yang telah disetting dalam listing diatas. statement ini merupakan terusan dari perintah jika nilai a yang diberikan tidak memenuhi terhadap statement-statement diatas maka akan tercetak:  input salah, masukan nilai dari 0-100!
19.Tanda }                                                                                                                            
Tanda ini digunakan sebagai akhir dari sebuah pemograman,jika menggunakan tanda ini programpun ditutup atau dinyatakan selesai dibuat.

Jumat, 24 Mei 2013

KRIPTOGRAFI

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
  • Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
  • Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  • Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
  • Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
Daftar isi
Algoritma Sandi
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
  • konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
  • difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang / plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
  • kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
  • kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

algoritma sandi kunci-simetris
Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.
Block-Cipher
Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
Stream-Cipher
Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.
Algoritma-algoritma sandi kunci-simetris
Beberapa contoh algoritma yang menggunakan kunci-simetris:
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang / plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
algoritma sandi klasik classic cryptography algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
algoritma sandi kunci rahasia secret-key algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.
Algoritma Sandi Kunci-Asimetris
Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.
Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci-Asimetris
Apabila Ahmad dan Bejo hendak bertukar berkomunikasi, maka:
  1. Ahmad dan Bejo masing-masing membuat 2 buah kunci
    1. Ahmad membuat dua buah kunci, kunci-publik \!K_{publik[Ahmad]} dan kunci-privat \!K_{privat[Ahmad]}
    2. Bejo membuat dua buah kunci, kunci-publik \!K_{publik[Bejo]} dan kunci-privat \!K_{privat[Bejo]}
  2. Mereka berkomunikasi dengan cara:
    1. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan \!K_{publik[Ahmad]} dari Ahmad, dan Ahmad mendapatkan \!K_{publik[Bejo]} dari Bejo.
    2. Ahmad mengenkripsi teks-terang \!P ke Bejo dengan fungsi \!C = E(P,K_{publik[Bejo]})
    3. Ahmad mengirim teks-sandi \!C ke Bejo
    4. Bejo menerima \!C dari Ahmad dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Bejo]})
Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
  1. Bejo mengenkripsi teks-terang \!P ke Ahmad dengan fungsi \!C = E(P,K_{publik[Ahmad]})
  2. Ahmad menerima \!C dari Bejo dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Ahmad]})
Algoritma -Algoritma Sandi Kunci-Asimetris
Fungsi Hash Kriptografis
Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.
Sifat-Sifat Fungsi Hash Kriptografi
  • Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
  • Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2).
  • Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)
Algoritma-Algoritma Fungsi Hash Kriptografi
Beberapa contoh algoritma fungsi hash Kriptografi:
Mengembalikan Fungsi Hash Kriptografi
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang / plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
algoritma sandi klasik classic cryptography algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
algoritma sandi kunci rahasia secret-key algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.
Salah satu cara mengembalikan (mendapatkan nilai asal) dari fungsi hash kriptografi adalah dengan menggunakan Tabel pelangi. Tabel pelangi bekerja dengan cara mengumpulkan nilai akhir fungsi hash kriptografi lalu menyusun basis data untuk mendapatkan nilai asal fungsi hash kriptografi.
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang / plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
algoritma sandi klasik classic cryptography algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
algoritma sandi kunci rahasia secret-key algoritma sandi kunci publik publik-key

Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.