Probabilitas Ilmu Komputer
Pendahuluan
Probabilitas merupakan bagian matematika yang membahas tentang ukuran kebolehjadian terjadinya suatu peristiwa yang ada dalam kehidupan. Memang banyak peristiwa yang tidak dapat dipastikan terjadi atau tidak terjadi di kemudian waktu. Namun dengan mengetahui ukuran berhasil dan tidaknya suatu peristiwa yang diharapkan akan terjadi, orang menjadi dapat mengambil keputusan lebih baik dan lebih bijaksana tentang apa yang seharusnya ia lakukan.
Adapun metode pembelajaran yang akan kita gunakan tidak lagi mengacu pada matematika murni, melainkan sudah mengacu pada matematika terapan. Sehingga contoh-contoh probabilitas yang akan kita sajikan cenderung lebih pada terapannya di dunia nyata.
Sebagai contoh :
Semisal ada orang yang bekerja dalam manajemen jaringan. Suatu ketika dia dimintai pertimbangan oleh perusahaannya dalam hal penyediaan komputer sebagai server di perusahaan tersebut . Orang tersebut tentu harus bisa memperkirakan berapa kapasitas server yang perlu disediakan sesuai dengan kebutuhan perusahaan. Nah dalam memperkirakan itulah probabilitas memegang peranan penting. Kalau orang tersebut memberikan pertimbangan secara asal-asalan tentu itu akan merugikan perusahaan, dan dia pun pasti tidak akan bertahan lama bekerja di perusahaan itu. Ilustrasi yang sangat sederhana adalah ketika berlangsung registrasi onine yang dilanjutkan dengan pengisian KRS secara online. Setiap mahasiswa melakukan transaksi memilih matakuliah semester tersebut. Yang menarik dari sisi probabilitas adalah : ” Berapa kali hits/klik (matakuliah yang dipilih) untuk setiap mahasiwa yang melakukan transaksi hingga print KRS ?” Berapa kali tingkat kegagalan atau tidak disetujui oleh sistem atas klik yang dilakukan ? Tentunya ini akan sangat berpengaruh pada perencanaan pengadaan infrastruktur IT di kampus tersebut.
Contoh kedua adalah : Penyandian, apa sih pentingnya penyandian itu ??, bisa kita ilustrasikan dari contoh berikut :
Semisal anda masuk dalam ruangan atm untuk mengambil uang transaksi , anda kan tidak pernah merasa aman, karena apa yang anda ketikkan kode itu akan sangat menarik bagi pencuri-pencuri profesional untuk bisa tahu kode pin anda. Ketika anda ketikkan 1234, maka yang keluar dari kotak ATM sebenarnya adalah disandikan. Kalau itu tidak disandikan bahaya sekali. Ketika anda memasukkan 4 digit 1234, Sebenarnya terjadi komunikasi data antara atm disini dengan servernya bank anda, BNI misalnya. Jadi yang anda ketikkan akan dikonfirmasikan ke dalam database server apakah itu betul kode PIN anda, begitu betul akan dijawab betul dan transaksi pun akan dilanjutkan.
Karena ATM berada dibawah private network, maka ada kecenderungan orang menyadap PIN anda. Oleh karena itu, Bank melakukan apa yang disebut dengan penyandian (Encryption). Ketika anda mengetikkan kode 1234 dalam perjalanan dia harus disandikan, kemudian setelah sampai di server banknya kode PIN yang telah disandikan tersebut dire-sandikan kembali. Hal tersebut setidaknya akan menyulitkan para penyadap untuk memecahkan kode PIN yang dia dapat, karena kode PIN yang ia dapat bukan dalam bentuk aslinya.
Karena ada penyandian, berarti ada model dalam penyandian tersebut. Problemnya adalah sandi apa yang sulit dibongkar oleh orang, berbasis pada apa ?, nah disinilah probabillitas memegang peranan penting.
Peluang
Simbol dan istilah : P {X=0} = p dan P {X=1} =1-p
P : Peluang atau kebolehjadian
X : Variabel acak
p : bernilai [0,1]
Untuk menjelaskan peluang, kita akan membahas mengenai Sandi Vigenere.
Model penyandian pertama kali ditemukan oleh Giovan Batista Belaso dalam bukunya La cifra del. Sig. Giovan Batista Belaso (1553), dan disempurnakan oleh diplomat perancis Blaise de Vigenere (1586). Karena banyak orang mengira Vigenere adalah penemu sandi ini, maka sandi ini dikenal luas sebagai “sandi Vigenere” .
Untuk menyandikan suatu pesan digunakan sebuah tabel alfabet yang disebut Tabel Vigenere.
Contoh Penyandian :
Pesan : HARI INI SAYA DATANG TERLAMBAT
Kata Kunci : AKU
Pesan yang sudah tersandikan : ?
Bagaimana cara menyandikannya ?,
Pertama, kata kunci kita ulang sehingga jumlah hurufnya sama banyak dengan teks pesan
Kedua, Langkah Penyandian (Enkripsi);
Huruf pertama pada teks pesan H, disandikan dengan menggunakan baris berjudul A (huruf pertama kata kunci). Pada baris A pada kolom H di tabel Vigenere terdapat huruf I. Demikian pula untuk huruf kedua, ketiga dan seterusnya.
Jadi hasilnya seperti dibawah ini :
Pesan : HARI INI SAYA DATANG TERLAMBAT
Kata Kunci : AKUA KUA KUAK UAKUAK UAKUAKUAK
Hasil : HKLI SHI CUYK XADUNQ NEBFAWUAD
Adapun proses sebaliknya (disebut Dekripsi), yaitu me-resandikan kembali ,
Caranya :
Huruf pertama pada teks tersandi H, di re-sandikan dengan menggunakan kata kunci A (huruf pertama kata kunci). Pada baris A tabel Vigenere kita cari huruf H, huruf H terdapat di kolom H. Jadi huruf pertama dari pesan asli adalah H. Demikian pula untuk seterusnya.
Jadi hasil dekripsi seperti dibawah ini :
Pesan tersandi : HKLI SHI CUYK XADUNQ NEBFAWUAD
Kata Kunci : AKUA KUA KUAK UAKUAK UAKUAKUAK
Pesan Asli : HARI INI SAYA DATANG TERLAMBAT
Enkripsi (penyandian) dengan sandi Vigenere juga dapat dituliskan secara matematis dengan menggunakan penjumlahan dan operasi modulus, yaitu :
Dan dekripsi :
Keterangan : Ci adalah huruf ke-I pada pesan tersandi, Pi adalah huruf ke-I pada pesan asli, Ki adalah huruf ke-I pada kata kunci, dan mod adalah operasi modulus (sisa pembagian).
Problem probabilitas dalam Vigenere dimulai ketika diketahui pesan tersandi (tentunya dengan mengetahui bahasa apa yang digunakan : bhs Inggris, Prancis,..) dan anda harus mencari teks aslinya dengan tidak tahu apa kunci yang dipakai. Yang menjadi basic dan awal pembahasan Sandi Vigenere ini adalah kebolehjadian kemunculan huruf -huruf /alphabet setiap kali kita melakukan pembicaraan atau menulis sesuatu dengan menggunakan sebuah bahasa tertentu. Dengan mengetahui :
- Bahasa apa yang digunakan dan
- Peluang munculnya huruf A-Z dari bahasa tersebut
MAKA akan dapat dicari kunci dan teks aslidari pesana tersandikan dengani Sandi Vigenere.
Tabel Probabilitas Kemunculan 26 huruf dalam bahasa Inggris :
Letter Probability Letter Probability A 0.082 N 0.067 B 0.015 O 0.075 C 0.028 P 0.019 D 0.043 Q 0.001 E 0.127 R 0.060 F 0.022 S 0.063 G 0.020 T 0.091 H 0.061 U 0.028 I 0.070 V 0.010 J 0.002 W 0.023 K 0.008 X 0.001 L 0.040 Y 0.020 M 0.024 Z 0.001 Indeks Coinsidence Ic(X)silakan didownload : Indeks Coincidence Vigenere Menentukan Panjang Kunci