Soal Pemograman Pascal : Kriptografi

Untuk yang pertama, mungkin ada baiknya gs mengupload soal pemograman, berhubung gw bisanya di bidang ini.

Soal ini pernah gw posting ke http://osn08kom.blogspot.com

Ada yang tau kriptografi? Bagi yang belum tau, Kriptografi adalah suatu cara untuk menyandikan pesan yang bersifat rahasia.

Suatu pesan asli (plain text) menggunakan suatu cara disandikan (encrypt) menjadi pesan yang sulit dibaca (chiper text).

chiper text hanya bisa dibaca setelah dikembalikan ke bentuk plain text (decrypt).

Ada banyak teknik kriptografi yang dipakai, seperti ROT13, RC40, dll. Sekedar informasi, RC40 sering dipakai sebuah program

untuk mengenkripsi file-file di komputer. Sekarang, kita belum akan membahas RC40 (yang cukup sulit), tapi tentang teknik

kriptografi lain yang mirip dengan itu.

Logika enkripsi ini (Gw lupa nama tekniknya) menggunakan kata kunci dan sebuah tabel seperti berikut:

dan kemudian sebuah kata kunci.

Setiap huruf dari plain text di enkripsi sesuai tabel berdasarkan katakunci. Misalkan huruf pertama plain text adalah ‘C’,

dan huruf pertama sandi adalah ‘S’. Berdasarkan tabel didapat bahwa huruf C jika disandikan dengan S menjadi huruf ‘U’.

Misal diberikan sebuah plain text dan sandi:
text : agung
sandi: keren
bila disandikan
a[k]=K
g[e]=K
u[r]=L
n[e]=R
g[n]=T
menjadi KKLRT.

Bagaimana kalau jumlah huruf sandi lebih sedikit? begini…
text : agung
sandi: cool
a[c]=c
g[o]=U
u[o]=I
n[l]=Y
huruf berikutnya kembali lagi ke huruf sandi pertama
g[c]=I
menjadi CUIYI

Untuk yang lebih dari 2 kata begini caranya:
teks :agung utama
sandi:ganteng
a[g]=G
g[a]=A
u[n]=A
n[t]=G
g[e]=K
Kata berikutnya kembali lagi dari huruf sandi pertama
u[g]=H
t[a]=T
a[n]=N
m[t]=F
a[e]=E
jadi GAAGK HTNFE (spasi tidak dienkripsi).

PERHATIAN!!! Kata sandi selalu satu kata dan tidak selalu berupa kata yang memiliki arti.

Semua udah ngerti???? Bagus kalau tidak (loh?).

Jadi, untuk tugas pertama dan kedua, coba buat program yang bisa (1) mengenkripsi dan (2) mendeskripsi dengan kriptografi

ini.

Format Input:
Dalam satu baris, tulis sebuah plain dan sandinya (untuk enkripsi) dan sebuah chiper dengan sandinya (untuk deskripsi). Input

lebih dari satu baris.

Format Output:
Tulis hasilnya dalam satu baris untuk setiap pasang.

Contoh Input Enkripsi:
agung keren
agung cool
agung utama ganteng

Contoh Output Enkripsi:
KKLRT
CUIYI
GAAGK HTNFE

Contoh input Deskripsi:
KKLRT keren
CUIYI cool
GAAGK HTNFE ganteng

Contoh Output Deskripsi:
agung
agung
agung utama

PERHATIAN LAGI!!! Plain texr dan sandi ditulis dalam huruf kecil dan chiper ditulis huruf besar.

Ini cuma tantangan kecil, pasti banyak yg bisa. Tapi, harap tunggu hingga gw selesaikan soal ketiga yang lebih rumit dari

ini.

Jangan lupa, posting pembahasan anda kesini.

Pertanyaan, kritik, saran, kue, minuman, kirim ke grup google.

Semoga berhasil dan tunggu soal berikutnya!!!!

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>