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!!!!

Recent Comments