Tugas 7 – Kryptografi
Menghitung Jumlah Huruf Dalam Sebuah Teks
Di dalam ilmu kryptografi, jumlah sebuah abjad di dalam suatu teks dapat menjadi petunjuk untuk menentukan jenis bahasa dari pesan yang sudah dienkripsi (chipper text). Dengan menggunakan sebuah program yang sederhana, kita dapat menghitung jumlah masing-masing huruf yang terdapat di dalam di dalam sebuah chipper text. Ini akan sangat membantu untuk memecahkan sebuah pesan yang dienkripsi memakai Sistem Algoritma Simetris.
Contoh berikut memakai bahasa pemograman PHP untuk menghitung jumlah huruf yang terdapat didalam sebuah teks dan mengurutkannya menjadi 5 huruf terbanyak.
——————————————————————————————————————————–
<?php
if ($_POST[Submit]){
$char=array();
$val=array();
$j=0;
$_POST[parag]=strtolower($_POST[parag]);
// proses input karakter ke array
for($i=0;$i<=strlen($_POST[parag])-1;$i++) {
if(!in_array($_POST[parag]{$i},$char)){
if(ord($_POST[parag]{$i}) >96 AND ord($_POST[parag]{$i})<123){
$char[$j]=$_POST[parag]{$i};
$val[$j]++ ;
$j++;
}
}
else {
$key=array_search($_POST[parag]{$i},$char);
$val[$key]++;
}
}
//proses sorting
for($x = 0; $x < count($val)-1; $x++) {
for($y = 0; $y < count($val)-1; $y++) {
if($val[$x] > $val[$y]) {
$hold = $val[$x];
$val[$x] = $val[$y];
$val[$y] = $hold;
$temp = $char[$x];
$char[$x]=$char[$y];
$char[$y]=$temp;
}
}
}
?>
<table width=”800″ cellpadding=”0″ cellspacing=”1″ border=”1″>
<p>
<?
for($i=0;$i<=4;$i++){
echo ‘<tr><td width=”10%” align=”center”>’.($char[$i]==’ ‘?’spasi’:$char[$i]).’</td><td width=”15%” align=”center”>’.$val[$i].’ (‘.number_format((($val[$i]/array_sum($val))*100),2,’.',”).’%)</td><td><img src=”krypto.jpg” height=”20″ width=”‘.($val[$i]/array_sum($val)*100).’%”</td></tr>’;}
//}
echo ‘</table><br>Jumlah huruf dalam teks di atas : ‘.array_sum($val);
}
else {
?>
</p>
<p><strong>Masukkan teks </strong></p>
<form name=”form1″ method=”post” action=”<?=$_SERVER['PHP_SELF']?>”>
<label>
<textarea name=”parag” cols=”50″ rows=”4″ wrap=”virtual”></textarea>
</label>
<br>
<br>
<label>
<input type=”submit” name=”Submit” value=”Submit”>
</label>
</form>
<?
}
?>
———————————————————————————————————————
Program dijalankan dengan browser Mozilla Firefox dibawah web server Xampp. Pada kolom input data ketikkan atau copy teks ke dalam kolom seperti gambar berikut.
Bila dijalankan, maka hasilnya adalah seperti gambar berikut :
Dari hasil diatas dapat disimpulkan bahwa huruf terbanyak yang terdpat dalam teks diatas adalah huruf “a”. Ini merupakan ciri khas bahasa Indonesia, karena dalam bahasa Indonesia huruf yang sering muncul adalah “a”.

