Anda di halaman 1dari 9

Kumpulan Artikel IT dan Islam

Lihat dan Bacalah Artikel dalam Blog ini, dan janganlah melihat siapa yang membuat Blog ini.. RSS Hubungi Kami Beranda Download

Algoritma
Kata Algoritma berasal dari nama Abu Jafar Mohammed Ibnu Ms al-Khowrzm seoang ilmuwan Persia yang menulis buku berjudul al-jabr wal-muqabala (Rules of Restoration dan Reduction) sekitar tahun 825. Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem. Menurut Donald E.Knuth sebuah algoritma harus memenuhi persyaratan : 1. Finiteness Algoritma harus berakhir (terminate) setelah melakukan sejumlah langkah proses. 2. Definiteness Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda (ambiguous). Karena itu maka sebenarnya cara yang paling tepat untuk menuliskan algoritma dengan menggunakan formal language 3. Input Setiap algoritma memerlukan data sebagai masukan untuk diolah 4. Output Setiap algoritma memberikan satu atau beberapa hasil keluaran 5. Effectiveness Langkah-langkah algoritma dikerjakan dalam waktu yang wajar Dalam perancangan system penulis menggunakan beberapa algoritma yang digunakan sebagai metode untuk proses pengimplementasian system yang akan dibahas pada bab selanjutnya. Sifat-sifat dari algoritma adalah :

a.

Banyaknya langkah instruksi yang terbatas.

Antara lain dijelaskan sebagai berikut : Jumlah langkah yang sesungguhnya dibutuhkan sebenarnya tergantung dari perincian isi (detil) dari algoritma yang bersangkutan. Jumlah langkah yang terdapat di dalam algoritma (jumlah instruksi dalam program) biasanya jarang sesuai dengan jumlah angka operasional yang dilaksanakan. Jumlah langkah yang benar-benar dilaksanakan sesuai program tergantung dari data masukan (input) dan tidak selalu dapat dipastikan sebelumnya. Diperlukan suatu algoritma yang menuju kepada suatu program dan dapat terpakai dalam waktu yang cukup lama. Hal pokok dari metode algoritma adalah terdiri dari ulangan langkah-langkah yang sama, mungkin dengan beberapa modifikasi, seringkali dilaksanakan selama waktu tertentu. b. Jelas

Penulisan dari setiap langkah yang terdapat dalam sebuah algoritma harus memiliki arti yang khusus dan spesifik. Penulisan langkah bagi computer dapat berbeda dengan penulisan bagi manusia. Manusia akan mudah mengerjakan algoritma yang terdiri dari symbol, sedang computer membutuhkan algoritma dengan kode yang dituangkan dalam program. Hal ini berarti bahwa setiap kali suatu algoritma dilaksanakan dengan data masukan yang sama maka akan diperoleh hasil yang sama pula. c. Batasan dari rangkaian proses harus pasti

Rangkaian proses yang berisi langkah-langkah dari suatu algoritma yang akan dilaksanakan, harus ditetapkan dengan pasti. Sebuah algoritma harus memiliki instruksi dasar tertentu (yang spesifik) dan setiap instruksi harus memiliki unsure pelaksanaan yang memproses data masukan. Di dalam spesifikasi secara algoritmik, termasuk spesifikasi program, instruksi dilaksanakan dari atas ke bawah kecuali bila ada ketentuan lain, seperti alih kendali bersyarat atau tidak bersyarat. d. Efektif

Instruksi dalam sebuah algoritma dapat memerintah computer agar hanya melaksanakan penugasan yang mampu dilaksanakannya saja. Computer tidak dapat melaksanakan instruksi, jika informasinya tidak lengkap atau jika hasil dari pelaksanaan perintah tidak diberi batasan yang jelas. 1. Algoritma Caesar Cipher Algoritma ini digunakan oleh Yulius Caesar untuk mengirim pesan kepada Cleopatra. Algoritma ini menggunakan metode dengan cara menggeser setiap karakter yang terdapat pada surat sebanyak 3 karakter ke kanan, misalnya : AD BE CF

Berikut adalah langkah-langkah yang digunakan untuk mengenkripsi dan mendekripsi pesan. Langkah Enkripsi : 1. Ubah plaintext kedalam urutan bilangan integer dengan memperhatikan table ASCII 2. Tambahkan nilai K (kunci yang berisi besar pergeseran) pada masing-masing urutan bilangan yang merupakan plaintext dan mereduksikan sebagai penjumlahan modulo 95 karena disini penulis menggunakan range dari bilangan ASCII yakni antara karakter space dengan nilai ASCII 32 dan karakter dengan nilai ASCII 126. Maka jumlah karakter yang digunakan dalam system ini ada 95 buah. 3. Konversikan kembali urutan bilangan kedalam karakter dengan kembali mengacu pada table konversi ASCII seperti terlihat pada tabel berikut. Tabel Konversi dengan Standarisasi ASCII

Langkah Dekripsi : 1. Ubah Ciphertext kedalam urutan bilangan integer dengan memperhatikan table konversi ASCII 2. Pada masing-masing urutan bilangan yang merupakan ciphertext kurangkan dengan nilai K (kunci yang berisi besarnya pergeseran) dan mereduksikan sebagai penjumlahan modulo 95. 3. Konversikan kembali urutan bilangan kedalam karakter dengan kembali mengacu pada tabel diatas. 2. Algoritma Vigenere Cipher Pada Vigenere Cipher kunci K adalah urutan huruf-huruf K = kkd dimana ki didapat dari banyak penggeseran pada alphabet ke-i. Berikut adalah formula vigenere cipher :

Misalnya m menentukan beberapa nilai integer positif diberikan P = C = K = (Z95)m. untuk sebuah kunci K= (k1,k2,,km), didefinisikan : eK(x 1 ,x 2 ,.,x m)=( x 1 +k 1 , x 2 +k 2 ,., x m+ k m) dan dK(y1 ,y2 ,.,ym)=(y1 -k 1 ,y2 -k 2 ,., ym- k m) dimana semua operasi adalah berbasiskan pada Z95 Berikut adalah langkah-langkah yang digunakan untuk mengenkripsi dan mendekripsi pesan. Langkah Enkripsi : 1. Ubah kunci dan plaintext kedalam urutan bilangan integer dengan memperhatikan table konversi. 2. Tambahkan nilai K dan plaintext dengan mereduksikan sebagai penjumlahan modulo 95. Dan apabila ukuran plaintext lebih panjang dari pada kunci maka penjumlahan dengan K dilakukan secara periodic dalam arti bila K sudah mencapai nilai terakhir maka akan diulang kembali pada K untuk nilai dengan urutan pertama. 3. Konversi kembali urutan bilangan hasil penjumlahan K dan plaintext kedalam karakter dengan mengacu kembali pada tabel 2.1 konversi. Langkah Dekripsi : 1. Ubah ciphertext dan kunci kedalam urutan bilangan integer dengan memperhatikan table konversi. 2. Pada masing-masing urutan bilangan yang merupakan ciphertext kurangkan dengan nilai K dan mereduksikan sebagai penjumlahan modulo 95. 3. Konversikan kembali urutan bilangan kedalam karakter dengan kembali mengacu pada tabel 2.1 konversi. Algoritma dengan Pseudocode Dalam perancangan system ini penulis telah merancang algoritma program dengan menggunakan pseudocode. Pseudocode adalah metode penulisan algoritma dengan menggunakan standar bahasa pemrograman. Agar dalam proses penjabaran pseudocode nantinya menjadi mudah maka penulis mendefinisikan penulisan pseudocode sebagai berikut : Untuk mendapatkan data masukan : input, read, get, key-in. Untuk menampilkan keluaran hasil proses : print, write, display. Untuk menyatakan proses pemilihan : if.else.elseif Untuk menyatakan proses pengulangan : repeat..until, while do.endwhile, for do..endfor. 1. Pseudocode Enkripsi Caesar Cipher Deklarasi key : integer;

ciphertext : string; Dekripsi input key; input plaintext; karakter [i] plaintext; for (int i 0; i < karakter.length)do ciphertext(char)((95+((karakter[i]-)+key)) mod 95+); end for; write (ciphertext); 2. Pseudocode Dekripsi Caesar Cipher Deklarasi key : integer; ciphertext : string; karakter:array[1 .. karakter.length]of string; Dekripsi input (key); input (ciphertext); karakter [i] ciphertext; for (int i 0; i < karakter.length)do plaintext(char)((95+((karakter[i]-)+key)) mod 95+ ); end for write (plaintext); 3. Pseudocode Enkripsi Vigenere Cipher Deklarasi Key, newKey, plaintext : string;

karakter:array[1 .. karakter.length]of string; i, j : integer; Dekripsi input (key); input (plaintext); for (int i 0; i < plaintext.length)do j i mod key.length(); newKey key(j); end for; write(newKey); karakter [i] plaintext; key get(key.plaintext); for (int i 0; i < karakter.length)do ciphertext(char) (((95+((karakter[i]- )+key(i)- )) mod 95+ ); end for write (ciphertext); 4. Pseudocode Dekripsi Vigenere Cipher Deklarasi Key, newKey, ciphertext : string; karakter:array[1 .. karakter.length]of string; i, j : integer; Dekripsi input (key); input (ciphertext); for (int i 0; i < ciphertext.length)do

j i mod key.length(); newKey key.charAt(j); end for; write(newKey); karakter [i] ciphertext; key get(key. ciphertext); for (int i 0; i < karakter.length)do plaintext (char) (((95+((karakter[i] )-key.charAt(i) )) mod 95)+ ); end for write (plaintext);
Share this: Like this: Share Suka Be the first to like this post.

Desember 31, 2010 cybernur Kategori: Umum Kaitkata: Algoritma, Algoritma Caesar cipher, Algoritma vigenere cipher, tabel ascii, pseudocode enkripsi dan dekripsi caesar cipher, pseudocode enkripsi dan dekripsi vigenere cipher

Tinggalkan Balasan
Enter your comment here...

Fill in your details below or click an icon to log in: Email (w ajib)
(w ajib) Email Nama (w ajib) (w ajib) Nama Situs web

(Belum diterbitkan) (Belum diterbitkan)

Situs web

Beritahu saya balasan komentar lewat surat elektronik.

Kirim Komentar

Java 2 Micro Edition Hikmah dan Rahasia Pengulangan Beberapa Ayat dan Surah sebagai Wirid

Pencarian
Search

Artikel
Islam Umum

Artikel Teratas
Metode Pensahihan dan Pendhaifan Hadist Hikmah dan Rahasia Pengulangan Beberapa Ayat dan Surah sebagai Wirid Algoritma Java 2 Micro Edition HIPO (Hierarchy plus Input-Proses-Output)

Komentar Terakhir Menu Utama


Beranda Download Hubungi Kami

Kalender
Desember 2010 S S R K J S M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Apr

Statistik
873 hits Blog pada WordPress.com. | Theme: Dark Wood by Nischal Maniar. Fonts on this blog.

Anda mungkin juga menyukai