Analisis Proses Deskripsi Algoritma TEA Pemodelan Fungsional

3.4 Analisis Proses Deskripsi Algoritma TEA

Untuk proses deskripsi pada algoritma TEA sama halnya dengan proses enkripsinya. Hanya saja terjadi perbedaan pada penjadwalan kuncinya yaitu pada proses enkripsi untuk cipher R yang mengalami pergeseran bit ke kiri sebanyak 4 bit digunakan kunci k[0] pada proses deskripsi digunakan kunci k[1], untuk cipher R yang mengalami pergeseran ke kanan sebanyak 5 bit menggunakan kunci [1] pada proses deskripsi menggunakan kunci k[0]. Begitu juga halnya dengan cipher L, pada proses enkripsi untuk cipher L yang mengalami pergeseran ke kiri sebanyak 4 bit menggunakan kunci k[2] pada proses deskripsi digunakan kunci k[3]. Untuk cipher L yang mengalami pergeseran ke kanan sebanyak 5 bit digunkan kunci k[3] pada proses deskripsi digunkan kunci k[2].

3.5 Pemodelan Fungsional

Hasil yang diharapkan dari tahapan membangun suatu sistem adalah bagaimana caranya agar sistem yang dibangun memiliki fungsi yang berdayaguna maksimal. Oleh karena itu, maka fungsi – fungsi yang ada pada sistem tersebut perlu dianalisis. Adapun pada perangkat lunak algoritma TEA, secara garis besar terdiri atas 2 fungsi yaitu fungsi enkripsi dan fungsi deskripsi. Untuk melengkapi mekanisme dari kedua fungsi tersebut maka terdapat fungsi-fungsi pendukung, seperti fungsi untuk input data secara browsing file ataupun secara manual, serta fungsi untuk mendapatkan informasi dari panjang file, dan fungsi-fungsi lainnya.

3.5.1 Data Flow Diagram DFD

Data Flow Diagram DFD dapat digunakan untuk menggambarkan aliran informasi dan proses data yang bergerak dari pemasukan data hingga keluaran. Keuntungan penggunaan Data Flow Diagram DFD ini adalah memudahkan pemakai yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan atau dikembangkan. Berikut adalah Data Flow Diagram DFD dari perangkat lunak yang akan dirancang. Kendall Kendall, 2003. user P.0 Sistem keamanan data Menggunakan algoritma TEA Order_perintah, plaintext, ciphertext, kunci_enkripsi, kunci_deskripsi File_output ciphertextpesan rahasia, plaintextpesan asli Gambar 3.1 Diagram KonteksDFD Level 0 DFD level 0 di atas menggambarkan sistem secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dirancang. Tiny Encryption Algorithm kriptosistem akan menghasilkan keluaran berupa file output. Proses yang terjadi pada diagram konteks atau DFD Level 0 di atas dapat dijelaskan dengan menggunakan spesifikasi proses pada tabel 3.1 berikut : Tabel 3.1 Spesifikasi proses diagram konteksDFD Level 0 NoNama Input Keterangan Proses Output P.0 Sistem Keamanan data menggunakan Algoritma TEA Order Perintah, plaintext, ciphertext, kunci_enkripsi, kunci_deskripsi Sistem yang bertujuan mengamankan data file menggunakan algoritma kriptografi simetri Tiny Encryption Algorithm TEA File Output ciphertextpesan rahasia, plaintextpesan asli Pengembangan proses yang terjadi pada DFD level 0 di atas dapat di jabarkan pada DFD level 1 berikut : user P.1 Pilih proses yang akan dijalankan P.3 Proses deskripsi Algoritma TEA P.2 Proses enkripsi algoritma TEA + Order_perintah Order_enkripsi Order_deskripsi Plaintext, kunci_enkripsi Ciphertext, kunci_deskripsi File_output ciphertextpesan rahasia File_output plaintextpesan asli Gambar 3.2 Diagram Level 1 Pada gambar di atas dapat dilihat bahwa terdapat 2 pilihan proses yang dapat dilakukan pada kriptosistem ini yaitu : 1. Proses Enkripsi Proses Enkripsi adalah proses untuk mengubah Plaintext pesan asli menjadi Ciphertext pesan rahasia. Untuk melakukan proses enkripsi, user harus menginput plaintext serta menginput kunci password. 2. Proses Deskripsi Proses Deskripsi adalah proses untuk mengubah Ciphertext pesan tersandi menjadi Plaintext pesan asli kembali. Untuk melakukan proses deskripsi, user harus menginput ciphertext yang telah terenkripsi sebelumnya dan menggunakan kunci yang sama pada saat proses enkripsi. Spesifikasi proses dari DFD level 1 pada Gambar 3.2 akan dijelaskan pada tabel berikut : Tabel 3.2 Spesifikasi proses diagram level 1 Proses enkripsi dilakukan pada file. Setiap karakter yang ada pada file dikonversikan ke kode ASCII kemudian ke biner. Karakter-karakter tersebut dienkripsi menggunakan kunci rahasia. Berikut adalah gambar diagram alir untuk proses enkripsi : No Nama Input Keterangan Proses Output P.1 pilih proses yang akan dijalankan Order_Perintah Konfirmasi order perintah untuk melakukan proses Enkripsi atau proses Dekripsi Order Enkripsi atau Order Dekripsi P.2 proses enkripsi algoritma TEA Order_perintah Enkripsi, plaintext, kunci_enkripsi Enkripsi data File Output ciphertextpesan rahasia P.3 Proses deskripsi Algoritma TEA Order_perintah Dekripsi, ciphertext, kunci_deskripsi Dekripsi data File Output plaintextpesan asli P.3.1 Browsing file user P.3.6 Proses gabung keseluruhan blok 64 bit P.3.5 Proses deskripsi II P.3.4 Proses deskripsi I P.3.2 Proses potong ciphertext File_data P.3.8 Konversi dari ASCII P.3.7 Konversi biner Ke ASCII File_data ciphertext cipher2 P.3.3 Partisi kunci 128 bit menjadi k[0], k[1], k[2], k[3] masing – masing 32 bit subblok_cipher cipher1 Biner_plain ASCII_plain k[0], k[1], k[2], k[3] k[0], k[1], k[2], k[3] Kunci deskripsi 128 bit Order_deskripsi P.3.9 Proses gabung plaintext Kode ASCII Kode_ASCII D1 D2 Plaintext D3 Krk_plain File_output Gambar 3.3 Diagram level 2 Proses Enkripsi Berikut adalah tabel spesifikasi proses enkripsi : Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses 2 proses enkripsi No Nama Input Keterangan Proses Output P.2.1 Browsing File File Data, order_enkripsi Melakukan browsing file yang akan dienkripsi File data Plaintext P.2.2 Potong File Plaintext Memotong isi file menjadi blok- blok karakter krk_plain P.2.3 Konversi ke ASCII krk_plain, kode_ASCII Mengkonversikan karakter plainteks ke dalam kode ASCII ASCII_plain P.2.4 Konversi ke biner ASCII_plain Mengkonversikan kode ASCII plainteks ke biner Biner_plain P.2.5 proses partisi jadi 64 bit Biner_plain Mempartisi keseluruhan bit plaintext menjadi blok-blok 64-bit Blok_p lain P.2.6 Proses partisi 64 bit jadi 2 subblok bit 32 bit Blok_p lain Mempartisi setiap blok-blok plainteks 64-bit menjadi 2 subblok 32-bit Subblok_pla in P.2.7 Partisi kunci 128 bit menjadi k[0], k[1], k[2], k[3] masing – masing 32 bit Kunci enkripsi 128 bit Mempartisi masukan kunci 128 bit menjadi k[0, k[1], k[2], k[3] yang masing – masing 32 bit K[0], k[1], k[2], k[3] P.2.8 Proses Enkripsi I Subblok_plain Melakukan proses enkripsi tahap I Cipher1 P.2.9 Proses Enkripsi II Cipher1 Melakukan proses enkripsi tahap I I Cipher2 P.2.10 Proses gabung ciphertext Cipher2 Menggabungkan seluruh karakter cipherteks File_Output Ciphertext Untuk mengembalikan cipherteks menjadi plaintext kembali agar dapat dipahami, maka dilakukan proses dekripsi pada file tersebut. Untuk melakukan proses dekripsi digunakan kunci yang sama pada saat melakukan proses enkripsi. Proses dekripsi dapat dilihat pada gambar DFD level 2 proses dekripsi berikut : P.3.1 Browsing file user P.3.6 Proses gabung keseluruhan blok 64 bit P.3.5 Proses deskripsi II P.3.4 Proses deskripsi I P.3.2 Proses potong ciphertext File_data P.3.8 Konversi dari ASCII P.3.7 Konversi biner Ke ASCII File_data ciphertext cipher2 P.3.3 Partisi kunci 128 bit menjadi k[0], k[1], k[2], k[3] masing – masing 32 bit subblok_cipher cipher1 Biner_plain ASCII_plain k[0], k[1], k[2], k[3] k[0], k[1], k[2], k[3] Kunci deskripsi 128 bit Order_deskripsi P.3.9 Proses gabung plaintext Kode ASCII Kode_ASCII D1 D2 Plaintext D3 Krk_plain File_output Gambar 3.4 Diagram level 2 Proses Deskripsi Berikut adalah tabel spesifikasi proses deskripsi : Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses 3 Proses Deskripsi Spesifikasi proses dekripsi dapat dilihat pada tabel berikut : NoNama Input Keterangan Proses Output P.3.1Browsing file File Data, order_enkripsi Melakukan browsing file yang akan dideskripsi File data ciphertext P.3.2 Proses potong ciphertext Ciphertext Memotong pesan yang akan didekripsi menjadi blok-blok cipher 64-bit, lalu mempartisi ke dalam 2 subblok 32-bit untuk didekripsi pada tahap I Subblok_Ci pher P.3.3 Partisi kunci 128 bit menjadi k[0], k[1], k[2], k[3] masing – masing 32 bit Kunci deskripsi 128 bit Mempartisi masukan kunci 128 bit menjadi k[0], k[1], k[2], k[3] yang masing – masing 32 bit K[0], k[1], k[2], k[3] P.3.4 Proses deskripsi I Subblok_Cipher Melakukan proses dekripsi tahap I Cipher1 P.3.5proses deskripsi II Cipher1 Melakukan proses dekripsi tahap I I Cipher2 P.3.6 Proses gabung keseluruhan blok 64 bit Cipher2 Menggabungkan setiap 32-bit subblok ciphertext menjadi blok- blok 64 bit Biner_Plain P.3.7 Konversi biner ke ASCII Biner_Plain Mengkonversi setiap blok-blok plainteks menjadi kode ASCII nya ASCII_Plain P.3.8 Konversi dari ASCII ASCII_plain, kode_ASCII Mengkonversi setiap kode ASCII menjadi karakter-karkter nya Krk_plain P.3.9 Proses gabung plaintext Krk_plain Menggabungkan seluruh karakter- karakter plainteks File_Output Plaintext

3.5.2 Kamus Data

Kamus data merupakan suatu data yang disusun untuk memudahkan proses analisis dan desain. Selain suatu dokumen, kamus data mengumpulkan dan mengkoordinasi istilah-istilah data yang terdapat pada diagram alir. Penganalisis sistem harus hati-hati dalam mengkatalogkan istilah-istilah yang berbeda-beda yang menunjuk pada item yang sama. Kehati-hatian ini membantu dalam menghindari duplikasi, memungkinkan adanya komunikasi yang baik antara bagian-bagian yang saling berbagi basis data, dan membuat upaya pemeliharaan lebih bermanfaat. Kamus data juga bertindak sebagai standar tetap untuk elemen-elemen data. Kendall Kendall, 2003 Masukan-masukan kamus data bisa dibuat setelah diagram aliran data dilengkapi atau bisa juga disusun saat diagram aliran data sedang dikembangkan. Penganalisis sistem bisa saja membuat suatu diagram aliran data level 0 dan sekaligus membuat masukan-masukan data awal. Selanjutnya, sewaktu penganalisis sistem mengembangkan diagram level data menjadi diagram anak, penganalisis juga bisa memodifikasi masukan-masukan kamus data yang baru sesuai dengan aliran data pada diagram alir anak. Berikut ini merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses enkripsi dan dekripsi.

3.5.2.1 Kamus Data Proses Enkripsi

Tabel 3.5 Kamus Data Proses Enkripsi Nama Tipe data Deskripsi ASCII_plain Integer Karakter plainteks yang telah diubah ke dalam kode ASCII Biner_plain Integer Bentuk biner plainteks dari setiap kode ASCII karakter pesan Blok_plain Integer Blok-blok 64-bit plainteks hasil partisi plainteks Blok_cipher Integer Hasil penggabungan seluruh cipher yang diperoleh Cipher1 Integer Hasil proses enkripsi tahap I Cipher2 Integer Hasil proses enkripsi tahap II File_data Boolean Semua jenis file yang tersimpan di komputer File_Output Boolean File hasil enkripsi Krk_plain Char Karakter plainteks yang telah dipotong Kode_ASCII Integer Bentuk desimal kode ASCII Kunci_enkripsi string Kunci enkripsi yang diinput oleh user maksimal 16 karakter k[0], k[1], k[2], k[3] string 128 bit kunci yang dipartisi menjadi 4 blok yang masing – masing 32 bit untuk proses enkripsi Order_enkripsi String Perintah untuk melakukan browsing file. Plaintext boolean File yang akan dienkripsi

3.5.2.2 Kamus Data Proses Deskripsi

Tabel 3.6 Kamus Data Proses Deskripsi Nama Tipe data Deskripsi ASCII_plain Integer kode ASCII hasil konversi dari biner plainteks Blok_c ipher Integer blok ciphertext hasil deskripsi Cipherteks boolean File yang akan didekripsi Cipher2 Integer Karakter cipher yang telah dipotong Cipher1 Integer Hasil proses dekripsi tahap I File_data Boolean Semua jenis file yang tersimpan di komputer File_output Boolean File hasil dekripsi gabungan seluruh karakter plainteks Krk_plain Char Karakter plainteks yang telah dikonversi dari kode ASCII Kunci_deskripsi String Kunci dekripsi yang diinput user maksimal 16 k[0], k[1], k[2], k[3] string 128 bit kunci yang dipartisi menjadi 4 blok yang masing – masing 32 bit untuk proses deskripsi Order_deskripsi String Perintah untuk melakukan browsing file. Subblok_cipher Integer Hasil proses dekripsi tahap II BAB 4 PERANCANGAN DAN IMPLEMENTASI

4.1 Perancangan