• Tidak ada hasil yang ditemukan

Pembentukan Kunci

Dalam dokumen BAB II LANDASAN TEORI (Halaman 25-39)

2.5 Metode MMB

2.5.1 Pembentukan Kunci

M etode MM B menggunakan kunci sepanjang 128 bit. Proses pembentukan kunci pada metode MM B ini sangat sederhana. Kunci yang di-input hanya dibagi menjadi 4 buah subblock kunci dengan panjang masing-masing 32 bit.

Proses pembentukan kunci pada metode MMB ini dapat dilihat pada bagan berikut ini :

Gambar 2.3 Proses Pembentukan Kunci pada Metode MMB

2.5.2 Enkripsi

M etode MMB menggunakan plaintext dan kunci dengan panjang 128 bit. Inti proses enkripsi dari metode MMB adalah sebagai berikut :

1. Plaintext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3). 2. Lakukan proses berikut ini sebanyak 2 kali : (Index dilakukan operasi

modulo 4) for i = 0 to 3 xi = xi XOR ki

f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+1 next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+2 next i f(x0,x1,x2,x3)

Proses enkripsi tersebut dapat ditunjukkan dalam bentuk bagan seperti berikut ini :

Gambar 2.4 Proses Enkripsi pada Metode MMB

Fungsi f yang digunakan memiliki 3 langkah yaitu : - for i = 0 to 3

next i

- Jika LSB (Least Significant Bit) dari x0 = 1, maka x0 = x0 XOR C. Jika LSB dari x3 = 0, maka x3 = x3 XOR C.

- for i = 0 to 3

xi = xi-1 XOR xi XOR xi+1 next i

Fungsi f diatas dapat digambarkan dalam bentuk bagan seperti berikut ini :

Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Sedangkan konstanta yang digunakan dapat dirincikan sebagai berikut :

– C = (2AAAAAAA)16 – c0 = (025F1CDB)16 – c1 = 2 * c0 – c2 = 23 * c0 – c3 = 27 * c0 2.5.3 Dekripsi

Algoritma yang digunakan pada proses dekripsi agak sedikit berbeda dengan proses enkripsi. Inti proses dekripsi dari metode MM B dapat dijabarkan seperti berikut :

1. Ciphertext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3). 2. Lakukan proses berikut ini sebanyak 2 kali : (Index dilakukan operasi

modulo 4) f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki+2 next i f(x0,x1,x2,x3) for i = 0 to 3

xi = xi XOR ki+1 next i f(x0,x1,x2,x3) for i = 0 to 3 xi = xi XOR ki next i

Proses dekripsi tersebut dapat ditunjukkan dalam bentuk bagan seperti berikut ini :

Gambar 2.6 Proses Dekripsi pada Metode MMB

Fungsi f yang digunakan juga berbeda dan dapat dijabarkan seperti berikut :

xi = xi-1 XOR xi XOR xi+1 next i

- Jika LSB (Least Significant Bit) dari x0 = 1, maka x0 = x0 XOR C. Jika LSB dari x3 = 0, maka x3 = x3 XOR C.

- for i = 0 to 3 xi = ci * xi next i

Fungsi f diatas dapat digambarkan dalam bentuk bagan seperti berikut ini :

Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Sedangkan konstanta yang digunakan dapat dirincikan sebagai berikut :

– C = (2AAAAAAA)16 – c0-1 = (0DAD4694)16 – c1-1 = 2-1 * c0-1 – c2-1 = 2-3 * c0-1 – c3-1 = 2-7 * c0-1

2.6 System Development Life Cycle (SDLC)

M enurut Turban, et. Al. (2001, p477-486), Software Development Life Cycle (SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan yang diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall digunakan untuk menggambarkan SDLC.

SDLC dirancang dengan tujuan untuk membangun alur pemrograman yang terstruktur dan untuk membantu manajemen proyek dalam perhitungan estimasi waktu dan sumber yang dibutuhkan suatu proyek.

Gambar 2.8 Eight Stage SDLC

Sumber: Turban, et. Al. (2001, p.477)

Tahap-tahap SDLC adalah sebagai berikut: 1. System Investigation

System Investigation adalah tahap yang mengutamakan pembelajaran terhadap segala kemungkinan yang dapat terjadi. Dengan pembelajaran maka suatu sistem dapat terhindar dari kesalahan yang dapat mengakibatkan peningkatan usaha, waktu dan jumlah pengeluaran.

2. System Analysis

System Analysis adalah tahap yang menganalisis masalah yang perlu diselesaikan. Tahap ini mendefinisikan permasalahan, mengidentifikasikan penyebab, menspesifikasikan solusi, serta mengidentifikasikan informasi-informasi yang diperlukan.

3. System Design

System Design adalah tahap yang menjelaskan bagaimana suatu sistem akan bekerja. Hasil dari tahap ini adalah output, input, dan user interface dari sistem serta hardware, software, database dan prosedur.

4. Programming

Programming adalah tahap yang menerjemahkan spesifikasi desain sistem menjadi bahasa pemrograman yang dapat dimengerti oleh komputer.

5. Testing

Testing adalah tahap yang digunakan untuk memeriksa apakah pemrograman telah menghasilkan hasil yang diinginkan dan diharapkan atas situasi tertentu. Testing dirancang untuk mendeteksi adanya kesalahan coding.

6. Implementation

Implementation adalah proses perubahan dari penggunaan sistem lama menjadi sistem yang baru.

7. Operation and Maintenance

Operation and Maintenance adalah tahap untuk memelihara sistem baru yang akan dioperasikan dalam suatu periode waktu.

2.7 Flowchart

Flowchart adalah representasi skematik dari sebuah algoritma atau sebuah proses yang teratur, menunjukkan langkah-langkah dalam kotak-kotak yang bervariasi dan urutannya dengan menghubungkan kotak-kotak tersebut dengan panah. Flowchart digunakan dalam mendesain atau mendokumentasikan sebuah proses atau program (Wikipedia 2008). Flowchart pertama kali diperkenalkan oleh Frank Gilbreth kepada anggota ASME (American Society of Mechanical Engineers) pada tahun 1921 sebagai representasi “Process Charts – First Steps in Finding the One Best Way” dan saat ini menjadi alat yang sering digunakan untuk menunjukkan aliran proses dalam suatu algoritma.

Sebuah Flowchart pada umumnya memiliki simbol-simbol sebagai berikut: 1. Start and end symbols

Direpresentasikan dalam bentuk oval, atau persegi panjang dengan ujung yang membulat, biasanya mengandung kata “Start” atau “End” atau frase lainnya yang menujukkan awal proses atau akhir dari proses, seperti “submit enquiry” atau “receive product”.

2. Arrows

M enunjukkan apa yang disebut sebagai “flow of control” dalam ilmu computer. Sebuah arrow datang dari sebuah simbol dan berakhir pada simbol lainnya merepresentasikan bahwa kontrol berpindah pada simbol yang ditunjukkan oleh arrow.

3. Processing steps

Direpresentasikan sebagai sebuah persegi panjang. Contoh: “tambahkan 1 pada X”; “ganti bagian yang diidentifikasi”; “simpan data”.

4. Input / Output

Direpresentasikan sebagai sebuah jajaran genjang. Contoh: “ambil X dari user”; ”tampilkan X”.

5. Conditional or decision

Direpresentasikan sebagai sebuah belah ketupat / bentuk berlian. Biasanya berisi pertanyaan yang mempunyai jawaban “yes” atau “no”, ataupun “true” atau “false”. Simbol ini unik karena ada dua arrows yang keluar dari simbol ini. Biasanya terdapat pada bagian bawah dan kanan, dan berkorespondensi pada jawaban “yes” atau “no”, ataupun “true” atau “false”. Tiap arrow harus diberi label di dalamnya. Lebih dari dua arrows dapat digunakan, tetapi secara normal berarti bagian tersebut dapat dipecah lagi secara lebih mendalam.

Gambar 2.9 Flowchart

Sumber: http://www.novagraph.com/images/HowToFlowchart.png

2.8 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah bahasa grafis yang standar untuk memodelkan software object oriented (Lethbridge, 2001, p.151). UM L mengandung tipe diagram yang bervariasi, termasuk:

1. Use Case Diagram 2. Class Diagram 3. Sequence Diagram

Dalam dokumen BAB II LANDASAN TEORI (Halaman 25-39)

Dokumen terkait