Pengertian Aplikasi HTML LANDASAN TEORI

BAB II LANDASAN TEORI

2.1 Pengertian Aplikasi

Menurut Roger S. Pressman perangkat lunak adalah perintah program komputer yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan, struktur data yang memungkinkan program memanipulasi informasi secara proporsional, dokumen yang menggambarkan operasi dan kegunaan program.Pressman, 2002. Aplikasi adalah sebuah program komputer yang dibuat khusus untuk menjalankan fungsi-fungsi tertentu sesuai dengan kebutuhan pengguna yang di gunakan untuk mempercepat suatu kegiatan. http:unduhan.sytes.netDokumen. Aplikasi adalah penggunaan atau penerapan.http:pusatbahasa.diknas.go.id.

2.2 Pengertian Komunikasi data

Komunikasi data adalah merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer dan piranti-piranti yang lain dalam bentuk digital yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital. Komunikasi data merupakan bangunan vital dari suatu masyarakat informasi karena sistem ini menyediakan infrastruktur yang memungkinkan komputer-komputer dapat berkomunikasi satu sama lain.

2.2.1 Komponen Komunikasi Data

1. Pengirim, adalah piranti yang mengirimkan data 2. Penerima, adalah piranti yang menerima data

3. Data, adalah informasi yang akan dipindahkan 4. Media pengiriman, adalah media atau saluran yang digunakan untuk mengirimkan data

5. Protokol, adalah aturan-aturan yang berfungsi untuk menyelaraskan

hubungan. Gambar 2.1. Komunikasi data http:www.scribd.comdoc21958583Komunikasi-Data.

2.3 Pengertian Kriptografi

2.3.1 Konsep Dasar Kriptografi

Kriptografi berasal dari bahasa yunani crypto yang berarti tersembunyi atau rahasia dan graphia yang berarti tulisan. Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain Ariyus, 2008. Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan dapat berupa data atau informasi yang dikirim melalui kurir, saluran telekomunikasi,dsb atau yang disimpan didalam media perekaman kertas, storage, dsb. Munir, 2006. Ada beberapa pengertian menurut istilah, diantaranya yaitu : 1. Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya Munir, 2006. 2. Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen kita aman, tidak bisa dibaca oleh pihak yang tidak berhak Kurniawan, 2004. 3. Kriptografi adalah ilmu yang mempelajari bagaimana melakukan enkripsi dan dekripsi, dengan memanfaatkan model matematika Kurniawan, 2008.

2.3.2 Sistem kriptografi Cryptosystem

Cryptosystem adalah prosedur secara matematika, bagaimana suatu plaintext diubah menjadi ciphertext. Secara umum cyptosystem dibagi menjadi dua tipe prosedur, yaitu: 1. Hashing functions, prosedur one-way satu arah untuk menghasilkan ciphertext dari plaintext. Maksud one-way disini artinya, apabila suatu plaintext telah diubah menjadi ciphertext, maka ciphertext ini tidak diubah kembali menjadi plaintext. 2. Encryption algorithms, prosedur two-way yang memungkinkan suatu plaintext diubah menjadi ciphertext ataupun sebaliknya. Pada encryption algorithms ini sendiri dapat diklasifikasi menjadi dua, antara lain : a. Symmetric algorithm, memakai share key untuk melakukan enkripsi dan dekripsi. b. Asymmetric algorithm, memakai dua key, yaitu public key untuk enkripsi dan private key untuk dekripsi Kurniawan, 2008.

2.3.3 Algoritma kriptografi

Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis. Algoritma kriptografi merupakan merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut Ariyus, 2008. Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi : merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang di ubah menjadi kode- kode yang tidak di mengerti. Enkripsi bisa diartikan dengan cipher atau kode. Beda halnya dengan enkripsi, untuk mengubah teks-asli ke bentuk teks kode kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini. Sebagai contoh : kita mengubah beberapa kata menjadi angka, seperti pada tabel di bawah ini: Tabel 2.1 Contoh Enkripsi Huruf Asal Huruf diganti A 4 U 2 I 1 E 3 O 8 PHY 7 Dari tabel diatas, misalkan kita mempunyai kata CRYPTOGRAPHY, maka akan menjadi CR7PT8GR47. 2. Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi dikembalikan ke bentuk asalnya teks-asli, disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi. Sebagai contoh: kata CR7PT8GR47 dengan menggunakan algoritma dekripsi tertentu, akan menjadi kata CRYPTOGRAPHY 3. Kunci : yang dimaksud disini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, yaitu: kunci rahasia private dan kunci umum public. Berikut ilustrasi proses enkripsi dan dekripsi : Ciphertext Plaintext Kunci Kunci Plaintext Enkripsi Dekripsi Gambar 2.2. Ilustrasi Proses Enkripsi dan Dekripsi Secara matematis proses enkripsi dan dekripsi dapat digambarkan sebagai: C = EP dan P = DC, sehingga P = DEP Dimana P = plaintext C = ciphertext E = fungsi enkripsi yang memetakan plaintext ke ciphertext D = fungsi dekripsi yang memetakan ciphertext ke plaintext Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu Munir, 2006: 1. Kerahasiaan confidentiality, adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. 2. Integritas data data integrity, adalah layanan yang menjamin bahwa pesan masih asliutuh atau belum pernah dimanipulasi selama pengiriman. 3. Otentikasi authentication, adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi user authentication atau entity authentication maupun mengidentifikasi kebenaran sumber pesan data origin authentication. 4. Nirpenyangkalan non-repudiation, adalah layanan untuk mencegah suatu entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah melakukan pengiriman. Kriptosistem membutuhkan suatu kunci, berdasarkan kunci yang digunakan kriptosistem dibagi menjadi dua yaitu :

2.3.3.1 Kriptosistem Simetrik

Enkripsi dan dekripsi menggunakan kunci yang sama. Contoh: DES, RC4, Blowfish, AES, IDEA, A5.

2.3.3.2 Kriptosistem Asimetrik

Enkripsi dan dekripsi menggunakan kunci yang berbeda tetapi merupakan pasangan. Pasangan tersebut terdiri dari : 1. Kunci publik public Kunci ini dapat disebarkan kesiapa saja. Setiap yang mengetahui kunci ini dapat melakukan enkripsi namun cipherteks yang dihasilkan hanya dapat didekripsi menggunakan kunci pasangannya. 2. Kunci pribadi private Kunci ini adalah pasangan dari kunci publik, hanya boleh diketahui oleh pihak yang membangkitkan kunci. Kriptosistem asimetrik bisa disebut juga kriptosistem kunci publik. Contoh: RSA, El Gamal, Rabin.

2.3.4 Kriptosistem DES

Data Encryption Standard DES adalah salah satu kriptosistem simetrik. Dipublikasikan sejak tahun 1977 dan telah dipakai sebagai standar selama 18 tahun. Berdasarkan data inputan yang diproses, DES termasuk dalam kriptosistem blok dimana enkripsi dilakukan terhadap 1 blok data plaintext sebanyak 64-bit dan kunci 56-bit. Plaintext tersebut dilewatkan kepada 16 tahap enkripsi yang disebut iterasi atau round. Round dapat digambarkan sebagai berikut: L i-1 L i-1 Key Shift Shift Gambar 2.3. Round pada DES S-Box Permutation P-Box P t ti Expansion Compression L i R i Key Nilai keluaran setiap round ditukar posisinya sebelum memasuki round berikutnya. Pada tiap round digunakan nilai kunci yang dibangkitkan dari kunci input melalui proses schedule. Proses tersebut dapat digambarkan sebagai berikut: KEY PERMUTED CHOICE 1 C Gambar 2.4. Schedule pada DES Bagian yang terpenting dari kriptosistem DES adalah S-box. S-box ini merupakan fungsi yang memetakan suatu nilai biner 6-bit menjadi nilai biner LEFT SHIFTS D LEFT SHIFTS C 1 D 1 PERMUTED CHOICE 2 LEFT SHIFTS LEFT SHIFTS D 15 C 15 LEFT SHIFTS LEFT SHIFTS D 16 C 16 PERMUTED CHOICE 2 PERMUTED K 1 K 15 CHOICE 2 K 16 4-bit. DES memiliki 8 buah S-box yang merupakan fungsi non linear, dimana nilai keluarannya tidak dapat dikembalikan atau digunakan untuk mencari nilai inputan S-box tersebut. S-box dapat digambarkan sebagai berikut : 48-Bit Input S-Box 1 S-Box 2 S-Box 3 S-Box 4 S-Box 5 S-Box 6 S-Box 7 S-Box 8 32-Bit Output Gambar 2.5. Hubungan Antar S-box Sebelum memasuki round pertama plainteks mengalami perubahan posisi bit melalui proses initial permutasi. Dan setelah melewati round terakhir terjadi perubahan posisi bit melalui proses invers initial permutasi yang merupakan kebalikan dari initial permutasi. Output dari invers initial permutasi inilah yang kemudian menjadi blok ciphertext. Enkripsi 1 blok data pada DES dapat digambarkan sebagai berikut : Plainteks Cipherteks R R 1 =L ⊕ fR ,K 1 R 2 =L 1 ⊕ fR 1 ,K 2 R 15 =L 14 ⊕ fR 14 ,K 15 L 16 = R 15 L L 2 = R 1 R 16 =L 15 ⊕ fR 15 ,K 16 L 15 = R 14 L 1 = R IP IP -1 f f f K 1 K 16 K 2 Gambar 2.6. Skema Enkripsi DES Dalam implementasinya DES banyak digunakan untuk mengamankan data yang bersifat terbatas, dimana klasifikasinya penting tetapi tidak terlalu rahasia. Kriptosistem ini digunakan karena dianggap cukup kuat dan mudah diimplementasikan pada perangkat keras maupun perangkat lunak. Diantara aplikasi penggunaannya adalah pada bidang perbankan yaitu untuk mengenkripsi nomor Personal Identification Number PIN dan penarikan rekening dengan melalui Automated Teller Machine ATM.

2.3.4.1 Kelebihan DES

1. Proses enkripsinya lebih cepat. 2. kekuatanya terletak pada panjang kuncinya.

2.3.4.2 Kelemahan DES

1. Enkripsi dan dekripsi menggunakan kunci yang sama 2. Panjang kunci DES yang hanya 56 bit, sehingga dengan muda bagi kriptoanalis untuk dapat membobolnya.

2.3.5 Triple Data Encryption Standard Triple DES

3DES Triple Data Encryption Standard merupakan suatu algoritma pengembangan dari algoritma DES Data Encryption Standard. Pada dasarnya algoritma yang digunakan sama, hanya pada 3DES dikembangkan dengan melakukan enkripsi dengan implementasi algoritma DES sebanyak tiga kali. 3DES memiliki tiga buah kunci yang berukuran 168-bit tiga kali kunci 56-bit dari DES. Coba perhatikan gambar dibawah ini: Enkripsi DES Kunci 1 Enkripsi DES Kunci 2 Enkripsi DES Kunci 3 ciphertext Enkripsi DES Kunci 1 Enkripsi DES Kunci 2 Enkripsi DES Kunci 3 Plaintext Plaintext Gambar 2.7. Proses Triple DES dengan tiga kunci Pada gambar diatas terdapat tiga kunci, yaitu K1, K2, K3. Proses kerja dari 3DES, K1 berfungsi untuk enkripsi, K2 untuk dekripsi, dan K3 untuk enkripsi, atau juga dikenal dengan mode Encrypt Descrypt Encript EDE. Contoh: Diberikan tiga kunci: K1 = 0x260b152f31b51c68 K2 = 0x321f0d61a773b558 K3 = 0x519b7331bf104ce3 Dan teks-asli P = 0x403da8a295d3fed9 16 Putaran kunci yang cocok diberikan K1, K2, dan K3. Untuk melakukan perhitungan, yaitu pada tabel: Tabel 2.2 : 16 Putaran tiga Kunci Putaran K1 K2 K3 1 000ced9158c9 5a1ec4b60e98 03e4ee7c63c8 2 588490792e94 710c318334c6 8486dd46ac65 3 54882eb9409b c5a8b4ec83a5 575a226a8ddc 4 a2a006077207 96a696124ecf aab9e009d59b 5 280e26b621e4 7e16225e9191 98664f4f5421 6 e03038a08bc7 Ea906c836569 615718ca496c 7 84867056a693 88c25e6abb00 4499e580db9c 8 c65a127f0549 245b3af0453a 93e853d116b1 9 2443236696a6 76d38087dd44 cc4a1fa9f254 10 A311155c0deb 1a915708a7f0 27b30c31c6a6 11 0d02d10ed859 2d405ff9cc05 0a1ce39c0c87 12 1750b843f570 2741ac4a469a f968788e62d5 13 9e01c0a98d28 9a09b19d710d 84e78833e3c1 14 1a4a0dc85e16 9d2a39a252e0 521f17b28503 15 09310c5d42bc 87368cd0ab27 6db841ce2706 16 53248c80ee34 30258f25c11d C9313c0591e3 Enkripsi: Tahap Pertama : EK1 = 0x7a39786f7ba32349 Tahap Kedua : DK2 = 0x9c60f85369113aea Tahap Ketiga : EK3 = 0xe22ae33494beb930 = C Teks Kode Dekripsi: Tahap Pertama : DK3 = 0x9c60f85369113aea Tahap Kedua : EK2 = 0x7a39786f7ba32349 Tahap Ketiga : DK1 = 0x403da8a295d3fed9 = P Teks asli Ariyus, 2008.

2.3.5.1 Kelebihan Triple DES

1. Proses enkripsi dekripsi 3 kali dari DES jadi lebih aman dibandingkan dengan DES.

2.3.5.2 Kelemahan Triple DES

1. Proses enkripsi dan dekripsinya menggunakan kunci yang sama. 2. Dapat dianalisis dengan metode linier cryptoanalysis atau davies attack.

2.4 Kompresi Data

Kompresi data menurut David Solomon 2004 adalah suatu metode mengurangi munculnya kata berulang-ulang dengan mengecilkan atau menggabungkan bit-bit data yang sama sehingga data lebih kecil dan dapat diandalkan dalam penyimpanannya atau kompresi data menurut Ida Mangyi Pu 2006 adalah ilmu atau seni untuk menampilkan informasi yang tersusun rapi dan padat. Sedangkan pemampatan decomperssion adalah kegiatan mengembalikan data yang telah dimampatkan ke dalam bentuk dan ukuran semula tanpa menghilangkan atau mengurangi informasi yang ada sebelumnya dalam data tersebut.

2.4.1 Lempel Ziv Storer and szymanski LZSS

LZSS Lempel Ziv Storer and Szymanski merupakan skema yang diinisialisasikan oleh Lempel dan Ziv dan dikembangkan oleh Storer dan Szymanski. http:oldwww.rasip.fer.hrresearchcompressalgorithmsfundlzlzss.html. LZSS berasal dari turunan LZ77 dan bagian dari kompresi data loseless yang mana data yang terkompresi akan tetap asli setelah dikompresi. Berikut gambar yang menerangkan bahwa LZSS adalah turunan dari LZ77 : Gambar 2.8. Lempel-Ziv Family http:www.mahastama.comkompresi. Dan berikut istilah-istilah yang dipakai dalam algoritma LZSS : 1. Input Stream : urutan karakter yang akan di kompres. 2. Coding Position : posisi karakter dalam input stream yang akan dikodekan awal lookahead buffer . 3. lookahead buffer : urutan karakter dari coding position sampai akhir input stream. 4. window Ukuran W yang berisi W karakter dari coding position kebelakang, yaitu karakter W yang terakhir di proses. 5. Pointer menunjuk ke cocok di window dan juga menetapkan panjangnya.

2.4.2 Algoritma kompresi LZSS

Berikut langkah-langkah proses kompresi LZSS : 1. Menempatkan coding position pada awal input stream. 2. Mencari deretan karakter terpanjang pada lookahead buffer. P : = pointer yang cocok L : = pointer yang cocok 3. Apakah L = MIN_LENGTH ? YA : Output P dan pindahkan coding position L karakter ke depan TIDAK : Output karakter pertama dari lookahead buffer and pindahkan coding position satu karakter kedepan 4. jika masih ada karakter pada input stream, maka kembali ke langkah 2, jika tidak ada karakter lagi pada input stream, berarti proses kompresi selesai. Untuk lebih jelasnya dapat dilihat contoh proses kompresi pada algoritma LZSS. Contoh ini memakai panjang minimum penyalinan string dengan dua, yang dapat dilihat pada Tabel 2.3 dan 2.4. Tabel 2.3 Input stream untuk kompresi Posisi 1 2 3 4 5 6 7 8 9 10 11 Karakter A A B B C B B A A B C Tabel 2.4 Proses kompresi algoritma LZSS MIN_LENGTH = 2 Langkah Posisi Cocok Output 1 1 -- A 2 2 A A 3 3 -- B 4 4 B B 5 5 -- C 6 6 BB 3,2 7 8 AAB 7,3 8 11 C C Pada Tabel 2.2 ada empat kolom, berikut penjalasan singkatnya : 1. Kolom Langkah menunjukkan langkah proses kompresi . 2. Kolom Posisi menunjukkan coding position. 3. Kolom Cocok menampilkan deretan karakter pada Window 4. Kolom Output penulisan ke Output stream, format pengkodeannya B,L. Berarti ”Kembali B karakter pada window dan copy L karakter ke output ”.

2.4.3 Algoritma dekompresi LZSS

Proses dekompresi merupakan kebalikan dari proses kompresi. Untuk lebih jelasnya dapat dilihat pada tabel 2.5 dan tabel 2.6. Tabel 2.5 Input stream untuk dekompresi Posisi 1 2 3 4 5 6 7 8 Karakter A A B B C 3,2 7,3 C Tabel 2.6 Proses dekompresi algoritma LZSS Langkah Input Output 1 A A 2 A A 3 B B 4 B B 5 C C 6 3,2 BB 7 7,3 AAB 8 C C

2.5 HTML

HTML adalah singkatan dari HyperText Markup Language adalah salah satu bahasa pemprograman web desaign dan juga biasa di sebut script untuk menyusun dokumen-dokumen Web. Dokumen HTML disimpan dalam format teks reguler dan mengandung tag-tag yang memerintahkan web browser untuk mengeksekusi perintah-perintah yang dispesifikasikan. http:ilmukomputer.org. Struktur dasar HTML adalah sebagai berikut: html head titleJudul Dokumen HTMLtitle head body penulisan informasi Web body html Dari struktur dasar HTML di atas dapat dijelaskan sebagai berikut: 1. Tag Adalah teks khusus markup berupa dua karakter dan , sebagai contoh body adalah tag dengan nama body. Tag harus ditulis secara berpasangan, yang terdiri atas tag pembuka dan tag penutup ditambahkan karakter setelah karakter , sebagai contoh body ini adalah tag pembuka isi dokumen HTML, dan body ini adalah tag penutup isi dokumen HTML. 2. Element Element terdiri atas tiga bagian, yaitu tag pembuka, isi, dan tag penutup. Sebagai contoh untuk menampilkan judul dokumen HTML pada web browser digunakan element title, dimana: title ini adalah tag pembuka judul dokumen HTMLJudul Dokumen HTML ini adalah isi judul dari dokumen HTMLtitle ini adalah tag penutup judul dokumen HTMLTag-tag yang ditulis secara berpasangan pada suatu element HTML, tidakboleh saling tumpang tindih dengan pasangan tag-tag lainnya. Contoh penulisan tag-tag yang benar : p b b p Catatan : Jika penulisan script salah, maka script tidak terbaca sempurna Error sehingga dapat mengganggu penampilan dan dinamika web itu sendiri. 3. Attribute Attribute mendefinisikan property dari suatu element HTML, yang terdiri atasn nama dan nilai. Penulisannya adalah sebagai berikut: TAG nama-attr=nilai-attr nama-attr=nilai-attr TAG Secara umum nilai attribute harus berada dalam tanda petik satu atau dua. Sebagai contoh, untuk membuat warna teks menjadi kuning dan latarbelakang halaman web menjadi hitam, penulisannya adalah : body bgcolor=black text=yellow 4. Element HTML Menyatakan pada browser bahwa dokumen Web yang digunakan adalah HTML. Sintaks: html html 5. Element HEAD Merupakan kepala dari dokumen HTML. Tag head dan tag head terletak di antara tag html dan tag html. Sintaks: head head 6. Element TITLE Merupakan judul dari dokumen HTML yang ditampilkan pada judul jendela browser. Tag title dan tag title terletak di antara tag head dan tag head. Sintaks: title title 7. Element BODY Element ini untuk menampilkan isi dokumen HTML. Tag body dan tag body terletak di bawah tag head dan tag head. Element BODY mempunyai attribute-attribute yang menspesifikasikan khususnya warna dan latarbelakang dokumen yang akan ditampilkan pada browser.

2.6 PHP