Upload
silvira-nurwidhiana
View
690
Download
0
Embed Size (px)
Citation preview
5
BAB II
DASAR TEORI
2.1 Aplikasi
Aplikasi merupakan suatu program yang dibuat oleh pemakai yang ditujukan untuk
melakukan tugas yang diinginkan. Aplikasi ini biasanya dikelompokkan menjadi dua, yaitu
program aplikasi serbaguna dan program aplikasi spesifik (Kadir, 2002).
a. Program aplikasi serbaguna adalah program aplikasi yang dapat digunakan oleh
pemakai untuk melaksanakan hal-hal yang bersifat umum (misalnya untuk membuat
dokumentasi untuk mengirim surat-surat secara elektronis) serta untuk
mengotomatiskan tugas-tugas individu yang bersifat berulang (misalnya untuk
melakukan perhitungan-perhitungan yang bersifat rutin). Termasuk dalam kategori ini
antara lain adalah DBMS (Database Management System), web browser, surat
elektronis, pengolahan kata (word processor), lembar kerja dan program presentasi.
Program aplikasi serbaguna seringkali disebut perangkat lunak pemakai akhir (end
user software).
b. Program aplikasi spesifik adalah program yang ditujukan untuk menangani hal-hal
yang bersifat spesifik, misalnya program pada sistem POS (Point Of Sale) dan ATM
(Anjungan Tunai Mandiri). Termasuk dalam kategori ini adalah program yang disebut
sebagai paket aplikasi atau perangkat lunak paket, contohnya DEA (Deac Easy
Accounting) yang dipakai untuk menangani masalah akuntansi.
2.2 Multimedia
Multimedia menjadi penting karena dapat dipakai sebagai alat persaingan
antarperusahaan. Disamping itu, pada abad ke-21 ini multimedia menjadi suatu
ketrampilan dasar yang sama pentingnya dengan ketrampilan membaca. Sesungguhnya
6
multimedia pun mengubah hakikat membaca itu sendiri. Multimedia menjadikan kegiatan
membaca itu dinamis dengan memberi dimensi baru pada kata-kata. Apalagi dalam hal
penyampaian makna, kata-kata dalam aplikasi multimedia bisa menjadi pemicu yang dapat
digunakan untuk memperluas cakupan teks ketika memeriksa suatu topik tertentu.
Multimedia melakukan ini bukan hanya dengan menyediakan lebih banyak teks, melainkan
juga dengan menghidupkan teks yang disertai bunyi, gambar, musik, animasi, dan video
(Suyanto, 2003).
Sistem multimedia mempunyai empat karakteristik dasar, yaitu merupakan sistem yang
dikontrol oleh komputer, merupakan sebuah sistem yang terintegrasi, informasi yang
ditangani direpresentasikan secara digital, dan antarmuka pada media tampilan akhir
biasanya bersifat interaktif (Marshall, 2001).
Multimedia merupakan kombinasi teks, seni, suara, gambar, animasi, dan video yang
disampaikan dengan komputer atau dimanipulasi secara digital dan dapat disampaikan
dan/atau dikontrol secara interaktif (Vaughan, 2004). Ada tiga jenis multimedia, yaitu :
1. Multimedia interaktif
Pengguna dapat mengontrol apa dan kapan elemen-elemen multimedia akan
dikirimkan atau ditampilkan.
2. Multimedia hiperaktif
Multimedia jenis ini mempunyai suatu struktur dari elemen-elemen terkait dengan
pengguna yang dapat mengarahkannya. Dapat dikatakan bahwa multimedia jenis ini
mempunyai banyak tautan (link) yang menghubungkan elemen-elemen multimedia
yang ada.
3. Multimedia linear
Pengguna hanya menjadi penonton dan menikmati produk multimedia yang disajikan
dari awal hingga akhir.
7
2.2.1 Objek Multimedia
Multimedia terdiri dari beberapa objek yaitu teks, audio, gambar, video dan animasi
(Sutopo, 2003) :
a. Teks
Teks merupakan dasar dari pengolahan data dan informasi berbasis multimedia.
Kebutuhan teks sangat bergantung pada kegunaan aplikasi multimedia. Film kartun
membutuhkan teks paling sedikit, sedangkan ensiklopedia membutuhkan teks yang
lebih banyak. Sistem multimedia cenderung pada penggunaan teks, sebab teks sangat
efektif untuk menyampaikan ide serta memberikan panduan kepada user.
b. Gambar
Gambar (image) adalah suatu objek dalam pandangan 2 dimensi atau 3 dimensi.
Gambar merupakan sarana yang sangat baik untuk menyajikan informasi. Alasan
untuk menggunakan gambar dalam presentasi atau publikasi adalah karena lebih
menarik perhatian dibandingkan dengan teks. Penggunaan gambar di dalam dapat
meringkas dan menyajikan data komplek dan lebih menarik.
c. Suara
Suara (audio) merupakan salah satu sarana multimedia yang berfungsi sebagai cara
lain untuk lebih memperjelas pengertian suatu informasi. Suara dapat lebih
memperjelas karakteristik suatu gambar, misalnya musik dan efek suara (sound effect).
d. Video
Video merupakan salah satu pendukung multimedia berupa file atau gambar bergerak.
Video menyediakan sumber daya yang kaya dan hidup bagi aplikasi multimedia.
Video dapat mengubah seperangkat komputer menjadi televisi dan memungkinkan
untuk menyaksikan film yang dapat diputar berulang kali.
8
e. Animasi
Animasi merupakan susunan gambar mati yang dibuat berurutan sehingga seolah-olah
terlihat bergerak. Dalam multimedia, animasi merupakan penggunaan komputer untuk
menciptakan gerak pada layar. Konsep dari animasi karena sulit untuk menyajikan
informasi dengan satu gambar saja atau dengan sekumpulan gambar.
2.3 Aliran Aplikasi Multimedia
Terdapat lima macam cara untuk mendesain aliran aplikasi multimedia yaitu
menggunakan struktur linier, struktur menu, struktur hierarki, struktur jaringan, dan
struktur hibrid (Suyanto, 2004).
2.3.1 Struktur Linier
Struktur sederhana dalam mendesain aliran aplikasi multimedia. Klik mouse untuk
menampilkan informasi atau isi aplikasi multimedia (Suyanto, 2004).
Gambar 2.1 Struktur Linier
2.3.2 Struktur Menu
Struktur kedua adalah struktur menu. Objek dalam menu dapat diwujudkan dalam
garis-garis hypertext, grafik, audio, video, dan animasi atau kombinasi dari kelima objek
tersebut. Ketika memilih sebuah objek pada menu, objek yang terhubung akan tampil pada
layar (Suyanto,2004).
Objek multimedia
Objek multimedia
Objek multimedia Objek multimedia
Objek multimedia
9
Gambar 2.2 Stuktur Menu
2.3.3 Struktur Hierarki
Struktur hierarki merupakan struktur seperti tangga atau pohon. Masing-masing objek
menyediakan sebuah menu pilihan yang menonjolkan lebih banyak menu dengan lebih
banyak pilihan. Struktur ini tidak ada batasan dalam ukuran atau jumlah menu (Suyanto,
2004).
Gambar 2.3 Struktur Hierarki
Objek multimedia
Objek multimedia Objek multimedia
Objek multimedia
Objek multimedia
Objek multimedia Objek multimedia Objek multimedia
Objek multimedia
Objek multimedia
Objek multimedia Objek multimedia
Objek
multimedia
Objek multimedia
Objek multimedia
Objek multimedia
Objek multimedia
Objek
multimedia
Objek
multimedia
Objek
multimedia
Objek
multimedia
Objek
multimedia
Objek
multimedia
Objek
multimedia
10
2.3.4 Struktur Jaringan
Bentuk struktur jaringan merupakan desain yang paling kompleks. Dengan objek dapat
terhubung dengan banyak objek dalam setiap arah pada setiap objek dalam aplikasi
(Suyanto, 2004).
Gambar 2.4 Struktur Jaringan
2.3.5 Struktur Kombinasi
Multimedia sering menggunakan lebih dari satu struktur dalam merancang aliran
aplikasi multimedia. Struktur kombinasi ini adalah gabungan dari struktur linier, menu,
hierarki dan jaringan (Suyanto, 2004).
2.4 Metodologi Pengembangan Multimedia
Menurut Luther (1994), metodologi pengembangan multimedia terdiri dari enam tahap,
yaitu concept (pengonsepan), design (pendesainan), material collecting (pengumpulan
materi), assembly (pembuatan), testing (pengujian), dan distribution (pendistribusian).
Keenam tahap ini tidak harus berurutan dalam praktiknya, tahap-tahap tersebut dapat
saling bertukar posisi. Meskipun begitu, tahap concept memang harus menjadi hal yang
pertama kali dikerjakan.
Sutopo (2003) mengadopsi metodologi Luther dengan modifikasi, seperti gambar berikut :
Objek multimedia
Objek multimedia
Objek multimedia Objek multimedia
Objek multimedia Objek multimedia
Objek multimedia Objek multimedia Objek multimedia
11
Gambar 2.5 Metodologi Pengembangan Multimedia
2.4.1 Concept
Tahap concept (pengonsepan) adalah tahap untuk menentukan tujuan dan siapa
pengguna program (identifikasi audiens). Tujuan dan pengguna akhir program berpengaruh
pada nuansa multimedia sebagai pencerminan dari identitas organisasi yang menginginkan
informasi sampai pada pengguna akhir. Karakteristik pengguna termasuk kemampuan
pengguna juga perlu dipertimbangkan karena dapat memengaruhi pembuatan desain.
Selain itu, tahap ini juga akan menentukan jenis aplikasi (presentasi, interaktif, dan
lain-lain) dan tujuan aplikasi (hiburan, pelatihan, pembelajaran, dan lain-lain). Dasar aturan
untuk perancangan juga ditentukan pada tahap ini, misalnya ukuran aplikasi, target, dan
lain-lain. Output dari tahap ini biasanya berupa dokumen yang bersifat naratif untuk
mengungkapkan tujuan projek yang ingin dicapai.
2.4.2 Design
Design (perancangan) adalah tahap pembuatan spesifikasi mengenai arsitektur
program, gaya, tampilan, dan kebutuhan material/bahan untuk program. Spesifikasi dibuat
serinci mungkin sehingga pada tahap berikutnya, yaitu material collecting dan assembly,
pengambilan keputusan baru tidak dipergunakan lagi, cukup menggunakan keputusan yang
sudah ditentukan pada tahap ini. Meskipun demikian, pada praktiknya, pengerjaan proyek
pada tahap awal masih akan sering mengalami penambahan bahan atau pengurangan
bagian aplikasi, atau perubahan-perubahan lain.
12
Tahap ini biasanya menggunakan storyboard untuk menggambarkan deskripsi tiap
scene, dengan mencantumkan semua objek multimedia dan tautan ke scene lain dan bagan
alir (flowchart) untuk menggambarkan aliran dari satu scene ke scene lain. Pada bagan alir
dapat dilihat komponen yang terdapat dalam suatu scene dengan penjelasan yang
diperlukan.
2.4.3 Material collecting
Material collecting adalah tahap pengumpulan bahan yang sesuai dengan kebutuhan
yang dikerjakan. Bahan-bahan tersebut, antara lain gambar clip art, foto, animasi, video,
audio, dan lain-lain yang dapat diperoleh secara gratis atau dengan pemesanan kepada
pihak lain sesuai dengan rancangannya. Tahap ini dapat dikerjakan secara paralel dengan
tahap assembly. Namun, pada beberapa kasus, tahap material collecting dan tahap
assembly akan dikerjakan secara linear dan tidak paralel.
2.4.4 Assembly
Tahap assembly adalah tahap pembuatan semua objek atau bahan multimedia.
Pembuatan aplikasi didasarkan pada tahap design, seperti storyboard, bagan alir, dan/atau
struktur navigasi.
Tahap ini biasanya menggunakan perangkat lunak authoring, seperti Macromedia
Director. Selain itu, Macromedia Flash atau produk open source yang gratis, yaitu Sophie
yang dapat berjalan di Linux maupun di Mac OS X juga dapat digunakan.
2.4.5 Testing
Tahap testing (pengujian) dilakukan setelah menyelesaikan tahap pembuatan
(assembly) dengan menjalankan aplikasi/program dan melihatnya apakah ada kesalahan
atau tidak. Tahap pertama pada tahap ini disebut tahap pengujian alpha (alpha test) yang
pengujiannya dilakukan oleh pembuat atau lingkungan pembuatnya sendiri. Setelah lolos
dari pengujian alpha, pengujian beta yang melibatkan pengguna akhir akan dilakukan.
13
2.4.6 Distribution
Pada tahap ini, aplikasi akan disimpan dalam suatu media penyimpanan. Jika media
penyimpanan tidak cukup untuk menampung aplikasinya, kompresi terhadap aplikasi
tersebut akan dilakukan.
Tahap ini juga dapat disebut tahap evaluasi untuk pengembangan produk yang sudah
jadi supaya menjadi lebih baik. Hasil evaluasi ini dapat digunakan sebagai masukan untuk
tahap concept pada produk selanjutnya.
2.5 Storyboard
Storyboard mempunyai peranan yang sangat penting dalam pengembangan
multimedia. Storyboard digunakan sebagai alat bantu pada tahapan perancangan
multimedia.
Storyboard merupakan pengorganisasian grafik, contohnya adalah sederetan ilustrasi
atau gambar yang ditampilkan berurutan untuk keperluan visualisasi awal dari suatu file,
animasi, atau urutan media interaktif, termasuk interaktivitas di web. Storyboard biasanya
digunakan untuk kegiatan film, teater, animasi, photomatic, buku komik, bisnis, dan media
interaktif. Proses storyboarding yang dikenal saat ini dulunya dikembangkan oleh Walt
Disney Studio sekitar awal tahun 1930.
Keuntungan menggunakan storyboard adalah pengguna mempunyai pengalaman untuk
dapat mengubah jalan cerita sehingga mendapatkan efek atau ketertarikan yang lebih kuat.
Misalnya, flashback sering digunakan untuk mengurutkan storyboard di luar urutan
kronologis untuk membantu membangun ketegangan dan ketertarikan tersendiri.
Storyboard yang digunakan untuk film, video, animasi, atau gambar bergerak lainnya
agak berbeda dengan storyboard yang digunakan pada pengembangan multimedia.
Storyboard yang digunakan untuk pengembangan multimedia hanya menggunakan teks
saja.
14
2.6 Pembelajaran dalam Dunia Pendidikan
Pembelajaran adalah proses interaksi peserta didik dengan pendidik dan sumber belajar
pada suatu lingkungan belajar. Pembelajaran merupakan bantuan yang diberikan pendidik
agar dapat terjadi proses perolehan ilmu dan pengetahuan, penguasaan kemahiran dan
tabiat, serta pembentukan sikap dan kepercayaan pada peserta didik. Dengan kata lain,
pembelajaran adalah proses untuk membantu peserta didik agar dapat belajar dengan baik.
Di sisi lain pembelajaran mempunyai pengertian yang mirip dengan pengajaran, tetapi
sebenarnya mempunyai konotasi yang berbeda. Dalam konteks pendidikan, guru mengajar
agar peserta didik dapat belajar dan menguasai isi pelajaran hingga mencapai sesuatu
objektif yang ditentukan (aspek kognitif), juga dapat memengaruhi perubahan sikap (aspek
afektif), serta keterampilan (aspek psikomotor) seorang peserta didik, namun proses
pengajaran ini memberi kesan hanya sebagai pekerjaan satu pihak, yaitu pekerjaan
pengajar saja. Sedangkan pembelajaran menyiratkan adanya interaksi antara pengajar
dengan peserta didik.
Pembelajaran yang berkualitas sangat tergantung dari motivasi pelajar dan kreatifitas
pengajar. Pembelajar yang memiliki motivasi tinggi ditunjang dengan pengajar yang
mampu memfasilitasi motivasi tersebut akan membawa pada keberhasilan pencapaian
target belajar. Target belajar dapat diukur melalui perubahan sikap dan kemampuan siswa
melalui proses belajar. Desain pembelajaran yang baik, ditunjang fasilitas yang memandai,
ditambah dengan kreatifitas guru akan membuat peserta didik lebih mudah mencapai target
belajar.
2.7 ActionScript
ActionScript adalah bahasa pemrograman di Flash. ActionScript dapat digunakan untuk
mengontrol objek di flash untuk membuat navigasi, tombol dan elemen interaktif lainnya
serta membuat movie flash yaitu movie yang mampu merespon perintah dari pengguna
15
yang baik menggunakan keyboard atau mouse, misalnya perintah untuk melompat ke
bagian lain dari suatu movie dan memindahkan objek. ActionScript 2.0 dirancang untuk
memudahkan programmer untuk membuat aplikasi berbasis flash. Keuntungannya antara
lain adalah untuk sistem navigasi pada suatu website atau presentasi, menghemat ukuran
file, dan membuat hal-hal yang bersifat interaktif (Wijaya dan Hutasoit, 2003).
Flash menggunakan struktur bahasa Dot Syntax yang digunakan untuk menunjukkan
properti atau metode yang terkait dengan objek. Action yang paling banyak digunakan
adalah on, stop, play, dan goto. Contoh seperti pada Modul Program 2.1
on (release){
gotoAndPlay (“Scene 2”,1);
}
Modul Program 2.1 Contoh script
On (release) adalah handler atau prosedur khusus untuk button script. Dalam contoh di
atas, button memerintahkan untuk memainkan movie pada scene 2 mulai frame 1.
ActionScript dituliskan di dalam Action Panel yang berada di bawah layer. Kelebihan
Action Panel adalah dapat mengotomatisasi sebagian dari proses penulisan script, misalnya
menghasilkan curly braces dan semicolon secara otomatis (Wijaya dan Hutasoit, 2003).
Pada prinsipnya ActionScript hanya merupakan sebuah alat bantu yang mempermudah
dalam merancang atau membuat movie atau situs Flash. Selanjutnya bergantung pada
kreativitas dalam menggunakan dan memadukan aplikasi ActionScript dengan desain atau
konsep desain situs (Wijaya dan Hutasoit, 2003).
2.8 Adobe Flash CS3
Adobe Flash adalah program aplikasi berbasis vektor yang dapat digunakan sebagai
aplikasi multimedia dan pembuatan animasi yang banyak digunakan saat ini. Kumpulan
berbagai animasi ini akan membentuk sebuah movie yang memiliki alur cerita (Dhanta,
2007).
16
Flash merupakan salah satu program aplikasi yang diproduksi oleh Macromedia Corp.
Flash pertama kali diproduksi pada tahun 1996. Pada awal produksi, Macromedia Flash
merupakan software untuk membuat animasi sederhana dengan format GIF. Seiring
dengan perkembangannya, flash mulai digunakan dalam pembuatan desain situs web.
Setelah sukses dengan Macromedia Flash MX 2004 atau Macromedia Flash versi 8, saat
ini Flash kembali muncul dengan kemasan dan label baru, yaitu Adobe Flash CS.
Flash banyak dimanfaatkan dalam pembuatan proyek animasi. Animasi yang
dihasilkan Flash adalah animasi berupa file movie. Movie yang dihasilkan berupa teks atau
grafik yang berbasis vektor. Berbagai fitur dan kemudahan dimilikinya mengakibatkan
Adobe Flash menjadi program animasi favorit dan cukup populer. Tampilan interface,
fungsi, dan pilihan palet yang beragam, serta kumpulan tool yang lengkap, sangat
membantu dalam pembuatan karya animasi yang menarik (Dhanta, 2007).
Fitur-fitur Baru Adobe Flash CS3
Pada Adobe Flash CS ini terdapat beberapa fasilitas tambahan yaitu :
a. Untuk mengatur setting gradasi antara lain : Focal point, Center point, Width, Size,
Rotation. Fasilitas ini berupa kontrol untuk mengatur Gradient. Penggunaan kontrol
pengaturan gradient tersebut memungkinkan untuk mengatur posisi titik pusat gradasi
dengan mudah dan dapat menggunakan lebih dari 16 warna gradasi.
b. Object Drawing Model
Pada versi Flash sebelumnya, dalam pembuatan objek maka objek itu akan
mempunyai garis luar stroke dan isi fill sebagai komponen yang terpisah. Dalam
penggunaan objek drawing model ini memungkinkan objek yang dibuat secara
otomatis akan terbentuk sebagai satu kesatuan sehingga dapat mempermudah untuk
memindahkan kedua objek tersebut.
17
c. Script Assist Mode
Fasilitas ini memberi kemudahan dalam penulisan ActionScript tanpa harus memiliki
pengetahuan lebih mengenai bahasa pemrograman. Script panel ini memudahkan
untuk menambahkan, menghapus, dan mengubah pernyataan dalam ActionScript yang
telah dibuat.
d. Expanded Stage Work Area
Fasilitas ini memungkinkan untuk menempatkan objek diluar stage, karena
mempunyai area kerja stage yang lebih luas.
e. Macintosh Document tabs
Fasilitas ini untuk menampilkan dokumen yang aktif dibagian atas lembar kerja flash
sehingga memudahkan untuk berpindah antardokumen flash.
f. Preferences dialog box
Dalam fasilitas ini terdapat pengaturan setting dokumen, penulisan ActionScript,
pengaturan kotak peringatan, dan pengaturan drawing mode. Untuk menampilkan
fasilitas ini, klik menu “Edit > Preferences”.
g. Single Library Panel
Fasilitas ini untuk menampilkan panel library dokumen aktif apabila sedang bekerja
menggunakan beberapa dokumen Flash.
h. Pengaturan publish file yang lebih bervariasi
Penggunaan kotak dialog Publish Setting ini digunakan untuk mengatur setting publish
file format .swf dengan lebih mudah. Pada jendela publish juga akan ditampilkan
beberapa pilihan format file movie serta beberapa versi flash player. Untuk
mengaktifkan jendela publish setting, klik menu “File > Publish Setting”. Untuk
memilih versi flash player, klik pada tab menu Flash.
18
i. Objek – level Undo Mode
Dengan fasilitas ini, dapat mengatur level pembatalan kesalahan perintah. Untuk
mengatur object level undo mode, klik “Menu > Preferences”. Kemudian pada bagian
undo, pilih object “Undo – level”.
Mengenal Area Kerja Macromedia Flash yang terdiri dari beberapa bagian, antara lain :
a. Menu Bar adalah barisan menu berisi kumpulan perintah yang digunakan pada Adobe
Flash CS. Menu bar terdiri dari beberapa submenu yang dilengkapi dengan shortcut
(jalan pintas) menggunakan kombinasi tombol keyboard.
b. Toolbar merupakan baris menu yang ditandai dengan beraneka icon. Toolbar
merupakan jalan pintas untuk menjalankan menu.
c. Stage merupakan bagian Adobe Flash yang digunakan untuk membuat atau
meletakkan objek.
d. Timeline berisi berbagai frame yang berfungsi mengontrol objek yang dianimasikan.
Selain itu, timeline juga dapat digunakan untuk menentukan kapan suatu objek
ditampilkan.
e. Layer merupakan susunan atau lapisan yang terdiri dari kumpulan objek atau
komponen gambar, teks, atau animasi. Urutan posisi layer akan mempengaruhi urutan
tampilan objek yang dianimasikan.
f. Frame merupakan bagian dari Adobe Flash CS yang terdiri dari segmen-segmen yang
akan dijalankan secara bergantian dari kiri ke kanan.
g. Playhead merupakan penunjuk posisi frame pada saat dijalankan. Playhead ditandai
dengan garis vertikal berwarna merah.
h. Toolbox merupakan bagian dari Adobe Flash CS yang terdiri dari berbagai tool yang
berfungsi membuat gambar, memilih objek, dan memanipulasi objek yang merupakan
komponen dari stage. Toolbox terbagi menjadi empat bagian, antara lain :
19
1. Tools
Merupakan bagian dari toolbox yang berfungsi membuat objek gambar, memberi
warna objek, memilih dan memodifikasi objek.
2. View
Bagian dari toolbox yang digunakan untuk mengatur tampilan stage.
3. Colors
Digunakan untuk mengatur atau memanipulasi pewarnaan objek.
4. Options
Merupakan bagian dari toolbox, yang akan tampil saat mengaktifkan salah satu icon
dari toolbox. Setiap icon toolbox memiliki option yang berbeda dengan icon yang
lain.
i. Panels merupakan bagian dari Adobe Flash CS berupa jendela dan berfungsi
mengontrol atau memodifikasi berbagai atribut pada objek atau animasi secara cepat.
Secara default, panel memiliki empat bagian, antara lain :
1. Properties : panel yang berfungsi mengatur properti objek yang aktif.
2. Action : panel yang berfungsi memberikan aksi atau kerja terhadap suatu objek
pada stage, frame, atau layer.
3. Color : panel yang berfungsi mengatur pewarnaan terhadap suatu objek secara
lebih detail.
4. Library : panel yang digunakan sebagai tempat penyimpanan objek yang telah
dibuat dan disimpan pada stage.
2.9 Algoritma Kriptografi Klasik
Kriptografi berasal dari bahasa Yunani yaitu cryptos yang artinya secret (yang
tersembunyi) dan graphein yang artinya writing (tulisan). Jadi kriptografi berarti secret
writing (tulisan rahasia). Definisi yang dipakai di dalam buku-buku yang lama (sebelum
20
tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga
kerahasiaan pesan dengan cara menyandikan ke dalam bentuk yang tidak dapat dimengerti
lagi maknanya. Definisi yang dikemukakan oleh Bruce Schneier (1996), kriptografi adalah
ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of
keeping message secure).
Kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa
awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk
merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku
kriptografi sehingga setiap cara menulis pesan, rahasia pesan mempunyai nilai estetika
tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata
graphy di dalam cryptography itu sendiri sudah menyiratkan sebuah seni). Pada
perkembangan selanjutnya, kriptografi berkembang menjadi sebuah disiplin ilmu sendiri
karena teknik-teknik kriptografi dapat diformulasikan secara matematik sehingga menjadi
sebuah metode yang formal (Munir, 2006).
Ditinjau dari asal-usulnya, kata algoritma mempunyai sejarah yang menarik. Kata ini
muncul di dalam kamus Webster sampai akhir tahun 1957. Kata algorishm mempunyai arti
proses perhitungan dalam bahasa Arab. Algoritma berasal dari nama penulis buku Arab
yang terkenal, yaitu Abu Ja’far Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi
dibaca oleh orang barat sebagai algorism). Kata algorism lambat laun berubah menjadi
algorithm.
Definisi terminologi algoritma adalah urutan langkah-langkah logis untuk
menyelesaikan masalah yang disusun secara sistematis. Algoritma kriptografi merupakan
langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak
berhak atas pesan tersebut.
Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu :
21
1. Enkripsi : merupakan hal yang sangat penting dalam kriptografi, merupakan
pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut
plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa
diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan
sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda
halnya dengan enkripsi, untuk mengubah teks asli ke bentuk teks kode kita
menggunakan algoritma yang dapat mengkodekan data yang kita ingini.
2. Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi
dikembalikan ke bentuk asalnya (teks asli), disebut dengan dekripsi pesan. Algoritma
yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk
enkripsi.
3. Kunci : yang dimaksud disini adalah kunci yang dipakai untuk melakukan enkripsi dan
dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci
umum (public key).
Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk
mengamankan data. Teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik dasar
yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut :
1. Teknik substitusi : penggantian setiap karakter teks asli dengan karakter lain.
2. Teknik transposisi (permutasi) : dilakukan dengan menggunakan permutasi karakter.
Kriptografi Klasik memiliki beberapa ciri :
1. Berbasis karakter
2. Menggunakan pena dan kertas saja, belum ada komputer
3. Termasuk ke dalam kriptografi kunci simetri
Tiga alasan mempelajari algoritma kriptografi klasik, yaitu : memahami konsep dasar
kriptografi, dasar algoritma kriptografi modern, memahami kelemahan sistem kode.
22
2.9.1 Substitusi
Di dalam cipher substitusi setiap unit plainteks diganti dengan satu unit cipherteks. Satu
“unit” disini bisa berarti satu huruf, pasangan huruf, atau kelompok lebih dari dua huruf.
Algoritma substitusi tertua yang diketahui adalah Caesar cipher yang digunakan oleh
kaisar Romawi, Julius Caesar (sehingga dinamakan juga Caesar cipher), untuk
menyandikan pesan yang ia kirim kepada para gubernurnya.
Terdapat empat istilah substitusi kode, antara lain :
1. Monoalphabet : setiap karakter teks kode menggantikan salah satu karakter teks asli.
2. Polyalphabet : setiap karakter teks kode dapat menggantikan lebih dari satu macam
karakter teks asli.
3. Monograf : satu enkripsi dilakukan terhadap satu karakter teks asli.
4. Polygraph : satu enkripsi dilakukan terhadap lebih dari satu karakter teks asli.
2.9.1.1 Caesar Cipher
Pada Caesar cipher, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari
susunan alfabet yang sama. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu
3). Susunan alfabet setelah digeser sejauh 3 huruf membentuk sebuah tabel substitusi
sebagai berikut :
Tabel 2.1 Tabel Substitusi
Plainteks A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipherteks D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Jadi, huruf A pada plainteks disubstitusikan dengan D, huruf B disubstitusikan dengan
E, demikian seterusnya. Gambar 2.6 memperlihatkan Caesar wheel yang berfungsi sebagai
tabel substitusi. Caesar wheel terdiri dua buah lempeng lingkaran besi. Lingkaran besi
paling luar menyatakan huruf-huruf plainteks sedangkan lingkaran besi terdalam
menyatakan huruf-huruf cipherteks. Lingkaran besi terdalam dapat diputar sejauh
23
pergeseran yang diinginkan. Misalnya jika lingkaran besi terdalam digeser sejauh 3 huruf,
maka susunan huruf-huruf didalam kedua lingkaran besi mempresentasikan tabel substitusi
diatas.
Gambar 2.6 Caesar Wheel
Secara umum, untuk pergeseran huruf sejauh k ( dalam hal ini k adalah kunci enkripsi dan
dekripsi), fungsi enkripsi adalah
C = E ( P ) = ( P + k ) mod 26 ................................................................................. (2.1)
Dan fungsi dekripsi adalah
P = D ( C ) = ( C - k ) mod 26.................................................................................. (2.2)
Catatan :
1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah).
2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen
dengan bilangan bulat dalam modulo 26. Misal k = 37 kongruen dengan 11 dalam
modulo 26, atau 37 ≡ 11 ( mod 26 ).
3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka Caesar cipher
kadang-kadang dinamakan juga additive cipher.
Dengan menggunakan Caesar cipher, maka pesan
AWASI ASTERIX DAN TEMANNYA OBELIX
Disandikan dengan Caesar cipher menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
24
Dengan mengkodekan setiap huruf alfabet dengan integer : ‘A’= 0, ‘B’= 1, …, ‘Z’= 25,
maka secara matematis pergeseran 3 huruf alfabet ekivalen dengan melakukan operasi
modulo terhadap plainteks P menjadi cipherteks C dengan persamaan
C = E ( P ) = ( P + 3 ) mod 26
karena ada 26 huruf di dalam alfabet. Penerima pesan mengembalikan lagi cipherteks
dengan operasi kebalikan, yang secara matematis dapat dinyatakan dengan persamaan
P = D ( C ) = ( C - 3 ) mod 26
Perhatikan bahwa fungsi D adalah balikan (inverse) dari fungsi E, yaitu D ( C ) = E-1
( P ).
Cipherteks pada contoh diatas dapat juga dihitung dengan persamaan sebagai berikut :
p1 = ‘A’ = 0 c1 = E ( 0 ) = ( 0 + 3 ) mod 26 = 3 = ‘D’
p2 = ‘W’ = 22 c1 = E ( 22 ) = ( 22 + 3 ) mod 26 = 25 = ‘Z’
dan seterusnya…
Bila keseluruhan perhitungan diselesaikan, maka diperoleh cipherteksnya adalah
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Cipherteks tersebut dapat dikembalikan menjadi plainteks asal dengan persamaan 2.2
menjadi
AWASI ASTERIX DAN TEMANNYA OBELIX
2.9.1.2 Vigenere Cipher
Kode Vigenere termasuk kode abjad majemuk (polyalphabetic substitution cipher).
Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigenere
pada abad 16, tahun 1586. Sebenarnya Giovan Batista Belaso telah menggambarkannya
untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig.
Algoritma ini baru dikenal luas 200 tahun kemudian dan dinamakan kode Vigenere.
Vigenere merupakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh
25
Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War).
Kode Vigenere berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19.
Bila pada teknik di atas setiap teks kode selalu mengganti nilai setiap teks asli tertentu
(tidak peduli apakah jumlah teks kodenya ekuivalen dengan teks asli tertentu satu atau
lebih), pada teknik substitusi Vigenere setiap teks kode bisa memiliki banyak kemungkinan
teks asli.
Ide dasarnya adalah dengan menggunakan kode Kaisar, tetapi jumlah pergeseran
hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu. Untuk mengenkripsi
pesan dengan kode Vigenere digunakan tabula recta (disebut juga bujursangkar Vigenere)
seperti gambar dibawah ini :
Gambar 2.7 Tabula Recta
Tabula recta digunakan untuk memperoleh teks kode dengan menggunakan kunci yang
sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang teks asli maka
penggunaan kunci diulang. Secara matematis enkripsi dengan kode Vigenere bisa
dinyatakan sebagai :
E( pi ) = V( pi, k ( i mod m ))
Dengan :
26
pi = huruf ke-i dalam teks asli
k = huruf ke-n dalam kunci
m = panjang kunci
V(x,y) = huruf yang tersimpan pada baris x dan kolom y pada tabula recta
Contoh kode Vigenere adalah sebagai berikut :
Teks asli : THIS PLAINTEXT
Kunci : sony
Dengan menggunakan algoritma kode Vigenere maka akan didapat teks kode sebagai
berikut :
LVVQ HZNGFHRVL
Cara menentukan teks kode pada sistem ini, pada tabula recta bisa dilihat bahwa posisi
horizontal merupakan teks asli dan pada posisi vertikal adalah kunci. Jika teks asli huruf
“T” maka lihat posisi huruf T pada teks asli tabula recta dan posisi huruf s pada posisi
kunci. Jika sudah menemukan, tarik garis lurus ke bawah dari teks asli dan garis lurus ke
samping dari posisi kunci maka akan ditemukan huruf “L”. Huruf L inilah yang akan
menjadi teks kode.
Untuk mendekripsi pesan, penerima pesan harus mengetahui kunci yang digunakan lalu
mencari baris huruf manakah yang menghasilkan huruf pada teks kode jika kolomnya
adalah huruf yang bersesuaian pada kunci. Misalnya, pada huruf pertama teks kode (D),
huruf yang bersesuaian pada kunci yang digunakan adalah D. Dengan melihat tabula recta,
huruf D pada tabel untuk baris huruf D ada pada kolom huruf A. Karena itu huruf pertama
teks asli adalah A.
Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan
metode analisis frekuensi karena dua huruf yang sama dalam teks kode belum tentu bisa
didekripsikan menjadi dua huruf yang sama dalam teks asli.
27
Kelemahan utama kode Vigenere adalah kuncinya yang pendek dan penggunaannya yang
berulang-ulang. Jika kriptanalis dapat menentukan panjang kunci saja maka teks kode
dapat diperlakukan seperti rangkaian beberapa kode Kaisar.
2.9.1.3 Playfair Cipher
Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada
tahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang
Dunia I) pada awal abad 20, untuk mengirim pesan antarmarkas yang ada di Inggris.
Kunci dari cipher Playfair adalah penggunaan matriks 5x5 (dengan masukan terdiri
dari 25 karakter dan membuang J yang ada di dalam alfabet). Dengan begitu kunci yang
digunakan ada 25 alfabet. Jumlah kemungkinan kunci pada kode Playfair :
25! = 15.511.210.043.330.985.984.000.000
S T A N D
E R C H B
K F G I L
M O P Q U
V W X Y Z
Untuk melakukan enkripsi, bujursangkar Playfair diperluas dengan menambahkan kolom
keenam dan baris keenam.
S T A N D S
E R C H B E
K F G I L E
M O P Q U K
V W X Y Z V
S T A N D
Pesan yang akan dienkripsi diatur terlebih dahulu sebagai berikut :
1. Ganti huruf J (bila ada) dengan huruf I
2. Tulis pesan dalam pasangan huruf (bigram)
3. Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z ditengahnya
4. Jika jumlah huruf ganjil, tambahkan huruf Z di akhir
28
Misalkan plainteks GOOD BROOMS SWEEP CLEAN tidak ada huruf J, maka pesan
langsung ditulis dalam pasangan huruf (bigram) :
GO OD BR OZ OM SZ SW EZ EP CL EA NZ
Algoritma enkripsi sebagai berikut :
1. Jika dua huruf terdapat pada baris bujursangkar yang sama maka tiap huruf diganti
dengan huruf dikanannya.
2. Jika dua huruf terdapat pada kolom bujursangkar yang sama maka tiap huruf
diganti dengan huruf dibawahnya.
3. Jika dua huruf tidak pada baris yang sama dan kolom yang sama, maka huruf
pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom
huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari
persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh ini.
Cipherteks yang dihasilkan adalah :
FP UT EC UW PO DV TV BV CM BG CS DY
Algoritma dekripsi kebalikan dari algoritma enkripsi. Caranya, untuk setiap pasangan
huruf cipherteks, tentukan titik sudut empat persegi panjang yang terbentuk dari pasangan
huruf tersebut. Dua huruf titik sudut menyatakan pasangan huruf cipherteks, sedangkan
dua huruf pada titik sudut yang lain menyatakan pasangan huruf plainteksnya. Urutan
huruf pada pasangan plainteks tersebut mengikuti arah empat persegipanjang yang
dibentuk oleh pasangan huruf cipherteks.
2.9.2 Transposisi
Pada cipher transposisi, huruf-huruf di dalam plainteks tetap sama, hanya saja
urutannya diubah. Dengan kata lain algoritma ini melakukan transpose terhadap rangkaian
karakter di dalam teks. Nama lain untuk metode ini adalah permutasi atau pengacakan
29
(scrambling) karena transpose setiap karakter di dalam teks sama dengan
mempermutasikan karakter-karakter tersebut.
Beberapa contoh variasi cipher transposisi :
2.9.2.1 Transposisi Kolom
Misalkan plainteks adalah
DEPARTEMEN TEKNIK INFORMATIKA ITB
Untuk meng-enkripsi pesan, plainteks ditulis secara horizontal dengan lebar kolom tetap,
misal selebar 6 karakter ( kunci k = 6 ) :
DEPART
EMENTE
KNIKIN
FORMAT
IKAITB
Maka cipheerteksnya dibaca secara vertikal menjadi
DEKFIEMNOKPEIRAANKMIRTIATTENTB
Untuk mendekripsi pesan, kita membagi panjang cipherteks dengan kunci. Pada contoh di
atas, kita membagi 30 dengan 6 untuk mendapatkan 5 ( jika cipherteks ditulis dalam
kelompok-kelompok huruf, buang semua spasi yang ada sehingga menjadi string yang
panjang). Algoritma dekripsi identik dengan algoritma enkripsi. Jadi, cipherteks ditulis
dalam baris-baris selebar 5 karakter menjadi :
DEKFI
EMNOK
PEIRA
ANKMI
RTIAT
TENTB
Dengan membaca setiap kolom maka diperoleh pesan semula :
DEPARTEMEN TEKNIK INFORMATIKA ITB
30
2.9.2.2 Transposisi Blok 8 Huruf
Misalkan plainteks adalah
ITB GANESHA SEPULUH
Plainteks diblok atas delapan karakter (jika kurang dari delapan karakter maka
ditambahkan huruf-huruf semu, misalnya ABCDEFG). Kemudian, pada tiap blok, karakter
pertama dan karakter terakhir dipertukarkan, demikian juga karakter pertengahan,
sedangkan karakter pada posisi lainnya tetap.
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
I T B G A N E S H A S E P U L U H A B C D E F G
S T B A G N E I U A S P E U L H G A B D C E F H
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Maka cipherteksnya adalah
STBAGNEIUASPEULHGABDCEFH
Dekripsi dilakukan dengan cara yang sama, yaitu cipherteks diblok atas delapan karakter.
Kemudian, pada tiap blok, karakter pertama dan karakter terakhir dipertukarkan, demikian
juga karakter pertengahan.
2.9.2.3 Transposisi Baris
Misalkan plainteks adalah
CRYPTOGRAPHY AND DATA SECURITY
Plainteks disusun menjadi 3 baris ( k = 3 ) seperti dibawah ini :
C T A A A E I
R P O R P Y N D T S C R T
Y G H D A U Y
Maka cipherteksnya adalah
CTAAAEIRPORPYNDTSCRTYGHDAUY
31
2.9.3 Super Enkripsi
Cipher substitusi dan cipher transposisi dapat dikombinasikan untuk memperoleh
cipher yang lebih kuat (super) daripada hanya satu cipher saja. Mula-mula plainteks
dienkripsi dengan cipher substitusi sederhana (misalnya cipher alfabet-tunggal), lalu
hasilnya dienkripsi lagi dengan cipher transposisi (atau bisa juga sebaliknya).
Misalkan plainteks adalah
HELLO WORLD
Dienkripsi dengan Caesar cipher menjadi
KHOOR ZRUOG
Kemudian hasil enkripsi ini dienkripsi lagi dengan cipher transposisi ( k = 4 ) :
KHOO
RZRU
OGZZ
Cipherteks akhir adalah KROHZGORZOUZ
2.9.4 Affine Cipher
Affine cipher adalah perluasan dari Caesar cipher, yang mengalikan plainteks dengan
sebuah nilai dan menambahkannya dengan sebuah pergeseran. Secara matematis enkripsi
plainteks P menghasilkan cipherteks C dinyatakan dengan fungsi kongruen
C ≡ mP + b (mod n) ............................................................................................ (2.3)
yang dalam hal ini n adalah ukuran alfabet, m adalah bilangan bulat yang harus relative
prima dengan n (jika tidak relatif prima, maka dekripsi tidak bisa dilakukan) dan b adalah
jumlah pergeseran (Caesar cipher adalah khusus dari affine cipher dengan m = 1). Untuk
melakukan dekripsi, persamaan (2.1) harus dipecahkan untuk memperoleh P. Solusi
kekongruenan tersebut hanya ada jika inversi m (mod n), dinyatakan dengan m-1, ada. Jika
m-1
ada maka dekripsi dilakukan dengan persamaan
P ≡ m-1
(C-b) (mod n) ......................................................................................... (2.4)
32
Contoh :
Misalkan plainteks : KRIPTO
(yang ekivalen dengan 10 17 8 15 19 14, dengan memisalkan ‘A’= 0, ‘B’= 1, …, ‘Z’= 25)
dienkripsi dengan affine cipher dengan mengambil m = 7 (karena 7 relatif prima dengan
26) dan b = 10. Karena alfabet yang digunakan 26 huruf, maka = 26. Enkripsi plainteks
dihitung dengan kekongruenan :
C ≡ 7P + 10 (mod 26)
Perhitungannya adalah sebagai berikut :
p1 = 10 → c1 ≡ 7 ∙ 10 + 10 ≡ 80 ≡ 2 (mod 26) (huruf ‘C’)
p2 = 10 → c2 ≡ 7 ∙ 17 + 10 ≡ 129 ≡ 25 (mod 26) (huruf ‘Z’)
p3 = 10 → c3 ≡ 7 ∙ 8 + 10 ≡ 66 ≡ 14 (mod 26) (huruf ‘O’)
p4 = 10 → c4 ≡ 7 ∙ 15 + 10 ≡ 115 ≡ 11 (mod 26) (huruf ‘L’)
p5 = 10 → c5 ≡ 7 ∙ 19 + 10 ≡ 143 ≡ 13 (mod 26) (huruf ‘N’)
p6 = 10 → c6 ≡ 7 ∙ 14 + 10 ≡ 108 ≡ 4 (mod 26) (huruf ‘E’)
cipherteks yang dihasilkan adalah : CZOLNE
untuk melakukan dekripsi, pertama-tama dihitung 7-1
(mod 26), yang dapat dihitung
dengan memecahkan kekongruenan lanjar 7x ≡ 1 (mod 26)
Solusinya adalah x ≡ 15 (mod 26) sebab 7 ∙ 15 = 105 ≡ 1 (mod 26). Jadi, untuk dekripsi
digunakan kekongruenan P ≡ 15 (C-10) (mod 26)
Perhitungannya adalah sebagai berikut :
c1 = 2 → p1 ≡ 15 ∙ (2 – 10) = -120 ≡ 10 (mod 26) (huruf ‘K’)
c2 = 25 → p2 ≡ 15 ∙ (25 – 10) = 225 ≡ 17 (mod 26) (huruf ‘R’)
c3 = 14 → p3 ≡ 15 ∙ (14 – 10) = 60 ≡ 8 (mod 26) (huruf ‘I’)
c4 = 11 → p4 ≡ 15 ∙ (11 – 10) =15 ≡ 15 (mod 26) (huruf ‘P’)
c5 = 13 → p5 ≡ 15 ∙ (13 – 10) = 45 ≡ 19 (mod 26) (huruf ‘T’)
33
c6 = 4 → p6 ≡ 15 ∙ (4 – 10) = -90 ≡ 14 (mod 26) (huruf ‘O’)
plainteks yang diungkap kembali adalah KRIPTO
Affine cipher bukanlah cipher yang aman sebab kuncinya (m dan b) dapat ditemukan
dengan exhaustive key search. Karena kita menggunakan alfabet yang hanya 26 huruf,
maka hanya ada 25 pilihan untuk nilai b dan hanya ada 12 buah nilai m yang relatif prima
dengan 26 (yaitu 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25). Dengan mencoba semua
kombinasi m dan b yang mungkin, maka nilai m dan b yang cocok dapat ditentukan
dengan mudah.
Salah satu cara memperbesar faktor kerja untuk exhaustive key search, enkripsi
sebaiknya tidak dilakukan terhadap huruf individual, tetapi dalam blok-blok huruf.
Misalnya pesan KRIPTOGRAFI dipecah menjadi kelompok 4-huruf :
KRIP TOGR AFI
(yang ekivalen dengan 10170815 19140617 000508, dengan memisalkan ‘A’ = 0, ‘B’ = 1,
…, ‘Z’= 25)
Karena nilai terbesar yang dapat muncul untuk merepresentasikan blok adalah 25252525
(merepresentasikan ZZZZ), maka 25252525 dapat digunakan sebagai modulus n. Kita
dapat memilih m yang relatif prima dengan 25252525, misalnya 21035433 dan b antara 1
dan 25252525, misalnya 23210025. Fungsi enkripsi menjadi :
C ≡ 21035433P + 23210025 (mod 25252525)
Dan fungsi dekripsi, setelah dihitung, menjadi
P ≡ 5174971 (C-23210025) (mod 25252525) [BIS03]
Affine Cipher juga mudah diserang dengan known-plaintext attack. Jika kriptanalis
dapat menemukan plainteks dari dua buah cipherteks berbeda (mungkin dengan cara
menerka atau analisis frekuensi), maka kunci dapat diperoleh dengan memecahkan sistem
kekongruenan lanjar. Misalkan kriptanalis mempunyai dua buah plainteks, P1 dan P2, yang
34
berkoresponden dengan ciphertext C1 dan C2, maka m dan b mudah dihitung dari buah
kekongruenan simultan berikut ini :
C1 ≡ mP1 + b (mod n)
C2 ≡ mP2 + b (mod n)
Contoh : Misalkan kriptanalis menemukan cipherteks C dan E berkoresponden dengan
plainteks K dan O. Kriptanalis kemudian menghitung m dan n dari dua buah kekongruenan
berikut :
2 ≡ 10m + b (mod 26) (i)
4 ≡ 14m + b (mod 26) (ii)
Kriptanalis mengurangi (ii) dengan (i), menghasilkan
2 ≡ 4m + b (mod 26) (iii)
Dengan mudah kriptanalis dapat menghitung m dari (iii), yaitu m = 7, kemudian dengan
mensubstitusikan m = 7 ke dalam (i),
2 ≡ 70 + b (mod 26) (iv)
Kriptanalis memperoleh b = 10.
2.9.5 Hill Cipher
Kode Hill termasuk salah satu sistem kripto polialfabetik, yang berarti setiap karakter
alfabet bisa dipetakan ke lebih dari satu macam karakter. Kode ini ditemukan pada tahun
1929 oleh Lester S.Hill. Misalkan m adalah bilangan bulat positif, dan P = C = (Z26)m
. Ide
dari kode Hill adalah dengan mengambil m kombinasi linear dari m karakter alfabet dalam
satu elemen teks asli sehingga dihasilkan m alfabet karakter dalam satu elemen teks asli.
Untuk m = 2 (enkripsi setiap 2 huruf),
C1 = (k11 p1 + k12p2) mod 26
C2 = (k21 p1 + k22p2) mod 26
35
( ) (
) ( ) atau C = KP ........................................................................ (2.5)
Dekripsi perlu menghitung K-1
sedemikian sehingga KK-1
= I (I matriks identitas).
Contoh: K = (
)
Plainteks: JULY
Enkripsi dua huruf pertama: JU = (9, 20)
Cipherteks : C = ( 9, 20 ) (
) = ( 99 + 60, 72 + 140 ) = ( 3, 4 ) DE
Enkripsi dua huruf kedua: LY = ( 11, 24 )
Cipherteks : C = ( 11, 24 ) (
) = ( 121 + 72, 88 + 168 ) = ( 11, 22 ) LW
Cipherteks selengkapnya: DELW
Dekripsi,
K-1
= (
)
Sebab (
) (
) = (
)
= (
)
= (
)
Dekripsi:
P = K-1
C ............................................................................................................ (2.6)
Cipherteks: DE atau C = ( 3, 4 )
Plainteks: (
) ( ) = (
) = (
)
= (
) mod 26 = ( 9 , 20 ) JU
P = (9, 20) = ( J, U )
2.10 Studi Pustaka
Studi pustaka untuk penulisan tugas akhir ini yaitu tugas akhir yang telah ditulis oleh
Abd. Hallim mahasiswa jurusan Teknologi Informasi Politeknik Elektronika Negeri
36
Surabaya ITS pada tahun 2010 dengan judul “Pembuatan Perangkat Lunak Media
Pembelajaran Kriptografi Klasik”. Algoritma kriptografi klasik yang digunakan antara lain
Caesar Cipher, Vigenere Cipher, Autokey Cipher, Reverse Cipher, Column Cipher, Zig-
zag Cipher, Segitiga Cipher, Super Enkripsi dan Enigma Cipher. Pada aplikasi tersebut
belum berbasis multimedia.
Pada tugas akhir ini yang berjudul “Aplikasi Multimedia Pembelajaran Algoritma
Kriptografi Klasik” merupakan media pembelajaran untuk algoritma kriptografi klasik,
antara lain Substitusi, Transposisi, Super Enkripsi, Affine Cipher, dan Hill Cipher. Tugas
akhir ini menggunakan metode pengembangan multimedia. Perangkat lunak yang
digunakan yaitu Adobe Flash CS3 Professional. Bahasa pemrograman yang digunakan
yaitu ActionScript 2.0. Terdapat sisi interaksi dengan user berupa enkripsi dan dekripsi
data berbentuk teks.