• Tidak ada hasil yang ditemukan

Implementasi Algoritma Affine Cipher, RSA-CRT dan Alternate Unary Code Dalam Pengamanan dan Kompresi Teks Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Affine Cipher, RSA-CRT dan Alternate Unary Code Dalam Pengamanan dan Kompresi Teks Chapter III V"

Copied!
57
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem adalah penguraian suatu sistem utuh kedalam bagian-bagian komponennya. Dalam proses analisis sistem dilakukan identifikasi terhadap masalah-masalah didalam sistem sehingga sistem yang dirancang dapat berjalan dengan baik serta mampu memenuhi kebutuhan pengguna (user).

3.1.1.Analisis Masalah

Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem dengan menguraikan sistem utuh ke dalam komponen-komponen pembentuknya agar sistem yang akan dibangun dapat berjalan dan mampu memenuhi kebutuhan pengguna (user).

Identifikasi masalah-masalah tersebut dapat ditunjukkan dengan diagram Ishikawa. Diagram Ishikawa/diagram fishbone/diangram herringbone/diagram cause-and-effect

(2)

Sulit menjaga kerahasiaan dan

keamanan file teks Penggunaan algoritma pengamanan dan kompresi file yang belum tepat Ukuran file teks

yang besar

Belum ada aplikasi yang

mengkombinasikan algoritma affine cipher, RSA-CRT dan AUC untuk enkripsi dan kompresi teks

Tidak ada aplikasi yang paling tepat untuk enkripsi dan kompresi teks

Gambar 3.1. Diagram Ishikawa

3.1.2.Analisis Kebutuhan Sistem

Analisis kebutuhan sistem adalah sebuah proses memahami kebutuhan sistem baru yang akan dibuat. Dalam analisis kebutuhan sistem terdapat dua jenis kebutuhan yang harus dianalisis, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

a. Kebutuhan Fungsional

Kebutuhan fungsional merupakan kebutuhan yang berisi proses atau fungsi yang nantinya akan dilakukan sistem yang dirancang. Kebutuhan fungsional yang harus dipenuhi dalam merancang sistem pengamanan dan kompresi file teks antara lain :

1. Sistem mampu membaca string dalam file teks yang diinputkan oleh user

2. Sistem mampu melakukan enkripsi dan dekripsi file teks dengan menggunakan algoritma Affine Cipher

3. Sistem mampu melakukan enkripsi dan dekripsi kunci Affine Cipher dengan

menggunakan algoritma RSA-CRT

4. Sistem mampu melakukan kompresi dan dekompresi pesan tersandi (ciphertext)

dengan algoritma Alternate Unary Code

Orang Metode

Mengamankan dan meminimalkan ukuran file teks

(3)

5. Sistem mampu menyimpan file hasil dekripsi maupun kompresi dengan ekstensi yang berbeda dengan file asli

6. Sistem mampu menghitung parameter kompresi yaitu Compression Ratio (CR) dan

Space Saving (SS)

b. Kebutuhan Non-fungsional

Kebutuhan non-fungsional adalah kebutuhan yang harus dipenuhi agar sistem/aplikasi mendapat feedback (umpan balik) yang baik dari pengguna. Kebutuhan non-fungsional

yang harus dipenuhi oleh aplikasi yang akan dirancang, yaitu : 1. Kinerja

Sistem yang akan dibangun harus mampu melakukan proses enkripsi-dekripsi dan kompresi-dekompresi terhadap file teks (doc dan txt).

2. Mudah Digunakan

Sistem harus dibangun sesederhana mungkin sehingga dapat dengan mudah digunakan oleh pengguna.

3. Ekonomis

Sistem yang dibangun harus dapat bekerja/beroperasi tanpa perangkat tambahan yang memerlukan biaya yang besar.

4. Dokumentasi

Sistem yang akan dibangun harus mampu menyimpan file hasil enkripsi maupun kompresi.

5. Kontrol

Sistem yang akan dibangun harus menampilkan pesan error untuk setiap input maupun proses yang tidak sesuai

6. Pelayanan

(4)

3.1.3. Analisis Proses

Dalam penelitian ini, plainteks akan dienkripsi dengan algoritma Affine Cipher, lalu kunci

Affine Cipher tersebut akan di enkripsi oleh algoritma RSA-CRT. File teks yang telah di

enkripsi (ciphertext) akan di kompresi dengan algoritma Alternate Unary Code.

Untuk mengembalikan cipherteks menjadi teks awal (plainteks), pertama sistem akan mendekompresi file terkompresi sehingga diperoleh cipherteks. Setelah itu sistem mendekripsi cipherkey dengan kunci privat RSA-CRT untuk memperoleh kunci Affine

Cipher, kemudian dengan kunci Affine Cipher tersebut file terenkripsi (cipherteks) akan

didekripsi dan menghasilkan plainteks.

a. Analisis Proses Pembangkitan Kunci RSA-CRT

Proses pembangkitan kunci RSA-CRT dilakukan untuk memperoleh kunci publik

dan kunci privat RSA-CRT yang akan digunakan dalam proses enkripsi dan dekripsi kunci

Affine Cipher dengan algoritma RSA-CRT.

(5)

� ≡ 97 ��� (718)

Nilai d tidak dapat langsung ditentukan menggunakan CRT karena gcd(726,718) 1, oleh karena itu persamaan tersebut harus diubah dengan memanfaatkan hukum kanselasi, yaitu :

� −1≡59−1(��� 726)

Diperoleh gcd(363,359) = 1, maka persamaan tersebut dapat diselesaikan dengan

(6)

�′ = 99491

6. Maka diperoleh kunci publik dan kunci privat sebagai berikut

������� = (�,�), ������� = (�,�,��,��)

������� = (478151, 522713), ������� = (727,719,59,97)

b. Analisis Proses Enkripsi File Teks dengan Affine Cipher

Misalkan akan mengenkripsi file dengan isi teks "BAYATI 141421043" maka prosesnya adalah sebagai berikut :

1. Plainteks (m) = BAYATI 141421043

(7)

�1(�)≡191→ ¿

�2(�)≡13(65) + 101 (��� 256)

�2(�)≡946 (��� 256)

�2(�)≡178→ ²

�3(�)≡13(89) + 101 (��� 256)

�3(�)≡1258 (��� 256)

�3(�)≡234→ ê

�4(�)≡13(65) + 101 (��� 256)

�4(�)≡946 (��� 256)

�4(�)≡178→ ²

�5(�)≡13(84) + 101 (��� 256)

�5(�)≡1193 (��� 256)

�5(�)≡169→ ©

�6(�)≡13(73) + 101 (��� 256)

�6(�)≡1050 (��� 256)

�6(�)≡26→[���]

�7(��)≡13(32) + 101 (��� 256)

�7(��)≡517 (��� 256)

�7(��)≡5→[���]

�8(1)≡13(49) + 101 (��� 256)

�8(1)≡738 (��� 256)

�8(1)≡226→ â

�9(4)≡13(52) + 101 (��� 256)

�9(4)≡777 (��� 256)

�9(4)≡9→[���]

�10(1)≡13(49) + 101 (��� 256)

(8)

�10(1)≡226→ â

�11(4)≡13(52) + 101 (��� 256)

�11(4)≡777 (��� 256)

�11(4)≡9→[���]

�12(2)≡13(50) + 101 (��� 256)

�12(2)≡751 (��� 256)

�12(2)≡239→ ï

�13(1)≡13(49) + 101 (��� 256)

�13(1)≡738 (��� 256)

�13(1)≡226→ â

�14(0)≡13(48) + 101 (��� 256)

�14(0)≡725 (��� 256)

�14(0)≡213→ Õ

�15(4)≡13(52) + 101 (��� 256)

�15(4)≡777 (��� 256)

�15(4)≡9→[���]

�16(3)≡13(51) + 101 (��� 256)

�16(3)≡764 (��� 256)

�16(3)≡252→ü

Maka diperoleh cipherteks : ¿²ê²©[SUB][ENQ]â â ïâÕ ü

c. Analisis Proses Enkripsi Kunci Affine dengan RSA-CRT

Kunci Affine Cipher yang digunakan pada proses enkripsi sebelumnya akan dienkripsi

untuk menghasilkan cipherkey. Proses enkripsi kunci Affine Cipher dengan menggunakan algoritma RSA-CRT sebagai berikut :

Plainkey a = 13 dan b = 101

Plainkey akan dienkripsi menggunakan kunci publik RSA-CRT yang telah

(9)

� = 478151 � = 522713

Proses enkripsi kunci Affine Cipher dengan rumus : � = �� ����

�� = ��� ����

�� = 13478151 ��� 522713

�� = 485215

�� = ��� ����

�� = 101478151 ��� 522713

�� = 428983

Diperoleh nilai cipher a = 485215 dan cipher b = 428983

d. Analisis Proses Kompresi Cipherteks dengan AUC

Yang akan dikompresi pada tahap ini adalah cipherteks yang telah dihasilkan pada proses enkripsi sebelumnya yaitu : ¿²ê²©[SUB][ENQ]â â ïâÕ ü

Sehingga diperoleh :

String = ¿²ê²©[SUB][ENQ]â â ïâÕ ü

[SUB] = [SUBSTITUTE]

[ENQ]= [ENQIURY]

| String | = 16

(character set) = {¿, ², ê, ©, [SUB], [ENQ], â, [TAB] , ï, Õ, ü }

| ∑ | = 11

(10)

Tabel 3.1. Perhitungan ASCII Code

Hasil kompresi dengan algortima Alternate Unary Code (AUC) dapat dilihat pada

Tabel 3.2. Karakter disusun secara descending (diurutkan berdasarkan frekuensi terbesar).

Tabel 3.2. Perhitungan AUC Code

(11)

Pada tabel 3.2. dapat dilihat bahwa total bit setelah dikompresi dengan algoritma

AUC adalah 75 bit. Tahap selanjutnya adalah menyusun kode tiap karakter sesuai dengan posisi karakter pada string awal yaitu ¿²ê²©[SUB][ENQ]â â ïâÕ ü

Sehingga diperoleh string bit :

1110110111101101111101111110111111100100101111111100111111111010111111111 10 = 75 bit

Sebelum hasil kompresi dituliskan kedalam file, terlebih dahulu ditambahkan bit –

bit padding dan flagging. Penambahan bit-bit padding dilakukan agar jumlah bit dapat

dibagi menjadi per 8 bit. Bit-bit yang ditambahkan sebagai padding adalah bit 0. Jumlah

bit hasil kompresi yang telah dilakukan adalah 75 bit sehingga agar bisa dibagi menjadi per 8 bit harus ditambahkan bit-bit padding sebanyak 5 bit. Maka diperoleh padding

00000. Agar sistem mengetahui berapa banyak padding yang ditambahkan maka

dilakukan penambahan bit-bit flagging dengan menambahkan biner sesuai dengan

padding yang ditambahkan. Karena bit-bit padding yang ditambah sebanyak 5 maka

flagging yang ditambahkan adalah biner dari 5 (dalam 8 bit) yaitu 00000101. Sehingga

diperoleh string bit akhir sebagai berikut :

111011011110110111110111111011111110010010111111110011111111101 0111111111100000000000101

Jadi total akhir bit yang diperoleh adalah 75 bit + 5 bit padding + 8 bit flag = 88 bit

Compression Ratio ()

�� = ����������������������������

�� =

(12)

�� = 0,6875

Diperoleh nilai = 0,6875, berarti data yang terkompres besarnya adalah 68,75% dari data awal atau dapat pula dikatakan perbandingan antara data terkompresi dengan data awal adalah 0,6875 : 1

Diperoleh nilai = 31,25, berarti banyaknya data yang berhasil dihemat setelah proses kompresi sebesar 31,25% dari data awal.

e. Analisis Proses Dekompresi Cipherteks dengan AUC

Diketahui string bit file terkompres adalah sebagai berikut :

111011011110110111110111111011111110010010111111110011111111101 0111111111100000000000101

Untuk melakukan proses dekompresi, terlebih dahulu sistem harus mengurangkan jumlah bit data terkompres dengan panjang bit padding dan flaggingnya. Bit-bit flagging

pada string bit tersebut adalah 8 bit terakhirnya yaitu 00000101 jika kita ubah kedalam bentuk desimal nilainya adalah 5, yang menunjukkan jumlah padding yang ditambahkan.

Dengan demikian dapat ditentukan panjang string bit yang harus dibaca sistem untuk dilakukan proses dekompresi yaitu bit terkompres – padding – flagging = 88 – 5 – 8 = 75

bit pertama dari string bit terkompres.

Pembacaan dilakukan bit-per-bit lalu membandingkannya dengan tabel AUC. Bit

(13)

bit berikutnya menjadi 110 sesuai dengan karakter “²” dalam tabel, maka karakter “²” dimasukkan dalam string dekompres. Begitu seterusnya hingga diperoleh string hasil dekompresi yaitu : ¿²ê²©[SUB][ENQ]â â ïâÕ ü.

f. Analisis Proses Dekripsi Cipherkey dengan RSA-CRT

Untuk mengembalikan cipherkey seperti semula, maka dilakukan proses dekripsi

cipherkey dengan algoritma RSA-CRT sebagai berikut :

1. Proses dekripsi cipher a = 485215

�� = ��� ����

2. Proses dekripsi cipher b = 428983

�� = ��� ����

�� = 42898359��� 727

�� = 101

�� = ��� ����

(14)

�= 727 × 719 = 522713

Berdasarkan perhitungan dekripsi dengan kunci privat RSA-CRT diatas maka

diperoleh nilai plainkey a = 13 dan b = 101.

g. Analisis Proses Dekripsi Cipherteks dengan Affine Cipher

Setelah diperoleh plainkey a dan b, maka proses dekompresi cipherteks menggunakan

(15)

�3(ê)≡(197)(234−101) (��� 256)

�3(ê)≡26201 (��� 256)

�3(ê)≡89→ Y

�4(2)≡(197)(178−101)(��� 256)

�4(2)≡15169 (��� 256)

�4(²)≡65→ A

�5(©)≡(197)(169−101) (��� 256)

�5(©)≡13396 (��� 256)

�5(©)≡84→ T

�6([���])≡(197)(26−101) (��� 256)

�6(([���])≡35657 (��� 256)

�6(([���])≡73→ �

�7([���])≡(197)(5−101) (��� 256)

�7([���])≡31520 (��� 256)

�7([���])≡32→[��]

�8(â)≡(197)(226−101) (��� 256)

�8(â)≡24625 (��� 256)

�8(â)≡49→ 1

�9([���])≡(197)(9−101) (��� 256)

�9([���])≡32308 (��� 256)

�9([���])≡52→4

�10(â)≡(197)(226−101) (��� 256)

�10(â)≡24625 (��� 256)

�10(â)≡49→ 1

�11([���])≡(197)(9−101) (��� 256)

�11([���])≡32308 (��� 256)

(16)

�12(ï)≡(197)(239−101) (��� 256)

�12(ï)≡27186 (��� 256)

�12(ï)≡50→ 2

�13(â)≡(197)(226−101) (��� 256)

�13(â)≡24625 (��� 256)

�13(â)≡49→ 1

�14(Õ)≡(197)(213−101) (��� 256)

�14(Õ)≡22064 (��� 256)

�14(Õ)≡48→ 0

�15([���])≡(197)(9−101) (��� 256)

�15([���])≡32308 (��� 256)

�15([���])≡52→4

�16(ü)≡(197(252−101) (��� 256)

�16(ü)≡29747 (��� 256)

�16(ü)≡51→3

Maka diperoleh plainteks : BAYATI 141421043 3.2. Pemodelan Sistem

Pemodelan sistem bertujuan untuk memperoleh gambaran semua kondisi dan bagian-bagian yang berperan dalam sistem yang dirancang. Pada penelitian ini pemodelan sistem dilakukan dengan menggunakan use case diagram, activity diagram, dan sequence

diagram.

3.2.1.Use Case Diagram

Use case merupakan gambaran dari aktivitas atau tindakan yang dapat dilakukan user

terhadap sistem yang akan dibangun/dirancang. Use case digunakan untuk memodelkan

fungsi yang disediakan oleh sistem, sehingga user mengerti cara kerja dan kegunaan

sistem yang akan dibangun tersebut. Bentuk use case diagram pada sistem yang

(17)

pengirim

penerima Enkrips i File Teks

Dekripsi File Teks Enkrips i Key

Kompresi File Teren kripsi

Dekripsi Key Dekompresi File Terenk ripsi

input File Teks

input File Terkompresi (.auc)

<<include>> Simpan File

Lihat isi File teks input kunci privat, dan

cipherkey

<<extend>> <<include>>

bangkitkan kunci privat dan kunci publik

<<include>>

Gambar 3.2. Use case Diagram pada Sistem

3.2.2.Activity Diagram

Activitydiagram merupakan bagian dari pemodelan sistem yang mendeskripsikan proses

kerja dalam sebuah sistem. Activity diagram untuk proses pembangkitan kunci dapat

dilihat pada Gambar 3.3.

penerima sistem

Gambar 3.3. Activity Diagram pada Proses Pembangkitan Kunci

Activity diagram untuk proses enkripsi – kompresi file teks dapat dilihat pada

(18)

pengirim sistem

Tampil isi file teks, Kunci Affine

Input file Cek file .doc ata .txt

Enkripsi file teks

Proses enkripsi

Enkripsi kunci Affine

Tampil kunci publik

Kompresi cipherteks Menampilkan cipherkey

Simpan cipherkey, Kunci privat dan File terkompresi

Input kunci publik Tampil cipherteks

Proses kompresi

File harus doc / txt Ya

Tidak

Proses enkripsi

Tampil Rc, Ss, dan waktu proses

Gambar 3.4. ActivityDiagram pada Proses Enkripsi-Kompresi

Pada gambar 3.4, user menginputkan file teks yang akan dienkripsi, format file

harus yang berekstensi .doc atau .txt. Lalu sistem akan menampilkan isi file teks tersebut

dan kunci Affine. Untuk melakukan proses enkripsi user harus menekan tombol enkripsi

maka sistem akan mengenkripsi file teks tersebut dan menampilkan hasil enkripsi

(cipherteks) di layar. Untuk mengenkripsi kunci Affine terlebih dahulu input kunci publik

RSA-CRT lalu proses enkripsi kunci Affine maka sistem akan menampilkan cipherkey.

Setelah itu user dapat menyimpan file terenkripsi (cipherteks) dan cipherkey. Untuk

(19)

kompresi teks file, setelah proses kompresi selesai file terkompresi akan langsung tersimpan di memori dan akan tampil parameter kompresi di layar.

Activity diagram untuk proses dekompresi – dekripsi file teks dapat dilihat pada

Gambar 3.5.

penerima sistem

Input file terkompresi (.auc)

Menampilkan lokasi file terkompresi

Dekompresi file

Menampilkan cipherteks

Input cipherkey

Menampilkan kunci affine Input kunci privat RSA-CRT

Simpan plainteks

Dekripsi cipherteks Menampilkan plainteks

Dekripsi cipherkey

Gambar 3.5. ActivityDiagram pada Proses Dekompresi – Dekripsi

Pada gambar 3.5., user menginputkan file terkompresi (.auc) lalu sistem melakukan

proses dekompresi maka sistem akan menampilkan hasil dekompresi berupa cipherteks. Untuk mengembalikan cipherteks menjadi plainteks harus dilakukan dekripsi terhadap cipherteks tersebut. User terlebih dahulu harus menginputkan cipherkey dan kunci privat

(20)

3.2.3.Sequence diagram

Sequence diagram merupakan suatu diagram yang memperlihatkan interaksi antar objek

didalam sistem. Sequence diagram pada sistem yang dirancang dapat dilihat pada Gambar

3.6 dan Gambar 3.7.

pengirim Buka File dengan AffineEnkripsi Teks Buka Kunci Publik

tampil waktu proses, Cr, Ss

Gambar 3.6. SequenceDiagram pada Proses Enkripsi – Kompresi

penerima Buka File

tampil kunci privat dekripsi cipherkey tampil kunci Affine

(21)

3.3. Flowchart

Flowchart adalah gambaran prosedur kegiatan dari suatu program yang ditampilkan

dalam bentuk bagan atau diagram.

3.3.1.Flowchart Sistem

Flowchart sistem merupakan bagan yang menunjukkna alur kerja atau apa yang sedang

dikerjakan didalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada didalam sistem. Gambaran rancangan flowchart sistem yang akan

dibangun dapat dilihat pada Gambar 3.8. Mulai

Input plainteks (*.doc/*.txt)

Enkripsi Plainteks

cipherteks

Enkripsi Kunci

cipherkey

Kompresi cipherteks

File Teks terkompresi

Dekompresi file teks terkompresi

cipherteks

Dekripsi cipherkey

Plainteks

End Kunci enkripsi

(22)

Agar dapat lebih memahami alur proses sistem yang akan dibangun perhatikan ilustrasi sistem pada gambar 3.9.

(23)

Flowchart dari masing-masing algoritma tersebut akan dijelaskan pada subbab berikutnya.

3.3.2.Flowchart Algoritma Affine Cipher

Gambar 3.10. Flowchart Algoritma Affine Cipher

Gambar 3.9. Menggambarkan alur pada proses enkripsi-dekripsi algoritma Affine

Cipher. Pertama-tama user menginputkan file teks *.doc atau *.txt sebagai plainteks.

Sistem akan mengacak secara otomatis kunci dan kunci , dengan ketentuan

���(, 256) = 1 dan kunci bernilai 0 < � ≤256. Sistem akan membaca setiap karakter dalam plainteks dan mengenkripsinya menjadi karakter lain dalam ASCII menjadi cipherteks dengan menggunakan rumus enkripsi =��+(���). Untuk mengembalikan cipherteks menjadi plainteks digunakan rumus dekripsi D = −1(� −

�)(���).

(24)

Gambar 3.11. Flowchart Pembangkit Kunci Algoritma RSA-CRT

Gambar 3.11. menggambarkan alur pada proses pembangkitan kunci publik dan kunci privat algoritma RSA-CRT. Proses pembangkitan kunci ini akan dilakukan oleh

sistem. Kunci privat yang akan dibangkitkan adalah bilangan prima p dan q, serta nilai dP dan dQ. Sedangkan kunci publiknya adalah nilai e dan N. Bilangan prima p dan q dibangkitkan secara acak dengan ketentuan ���(� −1,� −1) = 2. Nilai dP dan dQ dipilih secara acak oleh sistem dengan memenuhi syarat ���(��,� −1) = 1,

(25)

3.3.4.Flowchart Algoritma RSA-CRT

Gambar 3.12. Flowchart Algoritma RSA-CRT

Gambar 3.12. menggambarkan alur pada proses enkripsi dan dekripsi algoritma RSA-CRT. Pada sistem ini algoritma RSA-CRT akan digunakan untuk mengenkripsi

kunci Affine Cipher yang digunakan untuk mengenkripsi plainteks. Affine Cipher

memiliki dua buah kunci, yaitu kunci dan yang akan digunakan sebagai plainkey.

Plainkey akan dienkripsi dengan kunci publik RSA-CRT dengan rumus C = �� ��� �

sehingga menghasilkan cipherkey. Cipherkey didekripsi dengan kunci privat RSA-CRT

untuk mengembalikannya menjadi plainkey� dan �.

3.3.5.Flowchart Algoritma Alternate Unary Code

Mulai

C = ����� �

Input Plainkey M

Selesai Cipherkey

��=������

��=������

� ≡ ������ � ≡ ������

(26)

Mulai

Code[0] = “0” i = 0

i < n

Code[i+1] = “1” + code[i]

i = i + 1

Output Code[0...n-1]

Selesai ya

tidak

Hitung charset (n)

Gambar 3.13. Flowchart Algoritma Alternate Unary Code

Gambar 3.13. menggambarkan alur proses pada algoritma Alternate Unary Code. Pada sistem ini yang akan dikompresi adalah cipherteks yang dihasilkan dari proses enkripsi dengan algoritma Affine Cipher. Dimana n adalah jumlah dari character set yang

digunakan dalam cipherteks tersebut. Karakter pertama dengan indeks 0 akan dibaca dengan bit “0”, karakter kedua (indeks ke 1) dibaca dengan menambahkan bit “1” disebelah kiri karakter sebelumnya menjadi “10”. Karakter ketiga akan menjadi bit “1”+”10” = “110”, dan begitu seterusnya.

3.4. Perancangan Antarmuka Sistem (Interface)

(27)

3.4.1.Perancangan Form Halaman Utama

Form Halaman Utama adalah form yang akan pertama muncul saat aplikasi pertama dijalankan. Pada halaman utama terdapat label nama aplikasi dan button seperti Gambar 3.14.

Gambar 3.14. Rancangan Form Menu Utama

Keterangan :

1. Label Judul → Nama aplikasi

2. Button GenKey → Menampilkan halaman Pembangkit Kunci

3. Button EnKomp → Menampilkan halaman Enkripsi – Kompresi

4. Button DeDekomp → Menampilkan halaman Dekripsi – Dekompresi

5. Button Bantuan → menampilkan halaman Bantuan

6. Button Tentang → Menampilkan halaman Tentang

(28)

3.4.2.Perancangan Form Bangkit Kunci RSA-CRT

Form bangkit kunci adalah form yang akan muncul setelah button Bangkit Kunci pada form halaman utama diklik. Form ini untuk membangkitkan kunci publik dan kunci privat algoritma RSA-CRT. Perancangan form bangkit kunci dapat dilihat pada Gambar 3.15.

Kunci private

Bangkit Kunci RSA-CRT

1

Gambar 3.15. Rancangan Form Bangkit Kunci

Keterangan :

1. Label Judul → Judul form

2. Button GenKey → Membangkitkan kunci privat dan kunci publik

3. TextField txtP → Menampilkan nilai kunci privat p

4. TextField txtQ → Menmapilkan nilai kunci privat q

5. TextField txtdP → Menampilkan nilai kunci privat dP

6. TextField txtdQ → Menampilkan nilai kunci privat dQ

7. TextField txtN → Menampilkan nilai kunci publik N

8. TextField txtE → Menampilkan nilai kunci publik e

9. Button btnSimpan → Menyimpan kunci privat dan kunci publik

(29)

3.4.3.Perancangan Form Enkripsi – Kompresi

Form Kompresi merupakan form yang akan tampil saat button Enkripsi-Kompresi pada halaman utama diklik. Form ini untuk mengenkripsikan isi file teks yang diinputkan menjadi cipherteks serta mengkompresi cipherteks tersebut. Perancangan form enkripsi-kompresi dapat dilihat pada Gambar 3.16.

Kunci a Kunci b

Enkripsi

Gambar 3.16. Rancangan Form Enkripsi - Kompresi

Keterangan :

1. Button btnOpen → mencari file teks (.doc / .txt) yang akan di enkripsi

2. textField txtDir → menampilkan lokasi file teks

3. textField keyA → menampilkan kunci acak a

4. textField keyB → menampilkan kunci acak b

5. textArea plain → menampilkan isi teks dari file yang diinputkan (plainteks)

6. button btnEnkrip → mengenkripsi plainteks

7. textArea cipher → menampilkan hasil enkripsi (cipherteks)

8. label lblWaktu → menmapilkan waktu proses enkripsi

9. button btnSimpan → menyimpan cipherteks

(30)

11. textField txtN → menampilkan kunci publik N

12. textField txtE → menampilkan kunci publik e

13. button btnEnkripKey → mengenkripsi kunci Affine Cipher

14. textArea cipherkey →menampilkan cipherkey

15. button btnSvCKey → menyimpan cipherkey

16. button btnKompres → mengkompresi cipherteks

17. label lblRc → menampilkan nilai Ratio Compression

18. label lblSs → menampilkan nilai Space Saving

19. label lblRT → menampilkan waktu proses kompresi

20. button btnBersih → mengosongkan semua teks

21. button btnHome → kembali ke halaman utama

3.4.4.Perancangan Form Dekompresi – Dekripsi

Form Dekripsi merupakan form yang akan tampil saat button Dekompresi-Dekripsi pada halaman utama diklik. Form ini untuk mendekripsikan file terenkripsi menjadi cipherteks lalu mendekripsi cipherteks tersebut menjadi plainteks kembali. Rancangan form Dekompresi-Dekripsi dapat dilihat pada Gambar 3.17.

D ek o mpr esi Fi l e En k r i psi Ku n c i

(31)

Keterangan :

1. Button btnOpen → mencari file terkompresi

2. textField txtDir → menampilkan lokasi file terkompresi

3. button btnDekom → mendekompresi file terkompresi

4. textArea cipher → menampilkan file hasil dekompresi (cipherteks)

5. button btnCiphK → mencari cipherkey

6. textField cA → menampilkan cipherkey a

7. textField cB → menampilkan cipherkey b

8. button btnDekrK → mendekripsi cipherkey

9. textField kA → menampilkan kunci a yang teklah didekripsi

10. textField kB → menampilkan kunci b yang telah didekripsi

11. button btnKpriv → mencari kunci privat RSA-CRT

12. textField txtP → menampilkan kunci privat P

13. textField txtQ → menampilkan kunci privat dP

14. textField txtdP → menampilkan kunci privat Q

15. textField txtdQ → menampilkan kunci privat dQ

16. button btnDekrC → mendekripsi cipherteks

17. textArea plain → menampilkan hasil dekripsi cipherteks

18. button btnSimpan → menyimpan plainteks

19. label lbl_TPDekomp → menampilkan waktu proses dekompresi file

20. label lbl_DekripKey → menampilkan waktu proses dekripsi cipherkey

21. label lbl_TPDekrip → menampilkan waktu proses dekripsi cipherteks

22. button btnBersih → membersihkan semua hasil inputan di halaman

23. button btnHome → kembali ke halaman utama

3.4.5.Perancangan Form Bantuan

(32)

Bantuan pada halaman utama diklik. Rancangan form bantuan dapat dilihat pada Gambar 3.18.

X

Kembali

BANTUAN

Enkripsi - Kompresi 2

4 3

Dekompresi - Dekripsi

1

Gambar 3.18. Rancangan Form Bantuan

Keterangan :

1. Label Judul → Judul form/halaman yang tampil

2. Label EnKomp → Bantuan pada form enkripsi - kompresi

3. Label DeDekomp → Bantuan pada form dekompresi - dekripsi

4. Button btnKembali → Kembali ke halaman utama

3.4.6.Perancangan Form Tentang

Form Tentang berisi tentang keterangan aplikasi dan pembuat aplikasi. Form ini akan tampil saat user mengklik button Tentang pada halaman utama. Rancangan form tentang

(33)

X

Kembali 4

Tent ang AKRIKOMP1

2

3

5

6

Gambar 3.19. Rancangan Form Tentang

Keterangan :

1. Label Judul → Judul form/halaman yang tampil

2. Label Tentang → Keterangan tentang aplikasi

3. Label Foto → Foto penulis

4. Label Profil → Profil penulis

5. Label Logo → Logo Fasilkom-TI USU

(34)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Sistem

Implementasi sistem merupakan tahap dimana hasil perancangan yang telah dibuat sebelumnya diimplementasikan dengan menggunakan suatu bahasa pemrograman tertentu sehingga menjadi suatu aplikasi yang dapat digunakan. Sistem yang dibuat menggunakan bahasa pemrograman java pada editor Netbeans IDE.

Pada sistem ini terdapat 6 form yang dibuat, yaitu form Halaman Utama, form Bangkit Kunci, form Enkripsi-Kompresi, form Dekompresi-Dekripsi, form Bantuan, dan form Tentang. Deskripsi mengenai tampilan tiap form akan dijelaskan pada sub bab berikutnya.

4.1.1.Form Menu Utama

(35)

Gambar 4.1. Form Menu Utama

4.1.2.Form Bangkit Kunci

Form bangkit kunci akan tampil setelah user menekan button bangkit kunci pada menu utama. Form ini berfungsi untuk membangkitkan kunci algoritma RSA-CRT yang akan digunakan dalam proses enkripsi dan dekripsi kunci enkripsi teks (kunci

Affine Cipher).

Pada form ini user akan menekan button bangkit kunci sehingga sistem akan memproses pembangkitan kunci RSA-CRT dan akan menampilkannya pada textfield

yang tersedia. Waktu proses pembangkitan kunci akan tampil di bagian bawah form. User dapat menyimpan kunci yang telah dibangkitkan dengan menekan button simpan. Kunci akan tersimpan dalam dua file dengan nama yang sama, namun ekstensi file berbeda. Kunci publik akan tersimpan dengan ekstensi .kpub dan kunci privat aka tersimpan dengan ekstensi .kpriv. Kunci publik digunakan untuk mengenkripsi kunci Affine dan kunci privat digunakan untuk dekripsi kunci Affine.

(36)

4.1.3.Form Enkripsi – Kompresi

Form enkripsi-kompresi akan tampil setelah user menekan button enkripsi-kompresi pada menu utama. Form ini digunakan dalam proses enkripsi teks dan kompresi teks

yang telah dienkripsi. Bentuk tampilan form enkripsi-kompresi dapat dilihat pada Gambar 4.3.

Gambar 4.3. Form Enkripsi - Kompresi

Dalam penggunaannya pertama-tama user akan menginputkan file teks (.doc atau .txt) dengan cara menekan button . Setelah file diinputkan maka secara otomatis kunci affine cipher a dan b akan tergenerate. Isi file teks yang diinputkan akan tampil pada textarea plainteks. Untuk mengenkripsi plainteks user harus menekan button enkripsi dan hasilnya akan tampil pada textarea cipherteks. Simpan

cipherteks dengan menekan button simpan dan cipherteks akan disimpan dengan ekstensi file .aff.

Untuk mengenkripsi kunci Affine cipher, user harus menginputkan kunci publik

terlebih dahulu dengan menekan button Buka Kunci Publik maka kunci kublik akan tampil pada textfield yang tersedia. Enkripsi kunci affine dengan menekan button

Enkripsi Kunci Teks. Hasil enkripsi kunci affine akan tampil pada textarea cipherkey.

Simpan cipherkey dengan menekan button simpan cipherkey dan cipherkey akan

(37)

Untuk proses kompresi, user akan menekan button kompresi maka cipherteks akan terkompresi, dan stelah proses kompresi selesai file akan lagnsung tersimpan dengan nama file yang telah ditentukan user dengan ekstensi file .auc. Parameter kompresi (waktu kompresi, Compression Ratio dan Space Saving)akan tampil pada

label yang tersedia.

4.1.4.Form Dekompresi – Dekripsi

Form Dekompresi-Dekripsi akan tampil setelah user menekan button

dekompresi-dekripsi pada menu utama. Form ini digunakan dalam proses dekompresi cipherteks

terkompresi menjadi cipherteks awal dan mendekripsi cipherteks tersebut menjadi plainteks. Bentuk tampilan form Dekompresi-Dekripsi dapat dilihat pada Gambar 4.4.

Gambar 4.4. Form Dekompresi - Dekripsi

Dalam penggunaannya, pertama-tama user menginputkan file terkompresi dengan menekan button , lokasi file akan tampil pada textfield disebelah kanan

button. Untuk mendekompresi file terkompresi user menekan button dekompresi maka

hasil dekompresi akan tampil dalam textarea cipherteks.

Untuk mendekripsi cipherteks, terlebih dahulu user harus mendekripsi

cipherkey. Buka cipherkey dengan menekan button “Buka Cipherkey” maka cipherkey

akan tampil pada textfield cipherkey. Buka kunci privat untuk dekripsi cipherkey

(38)

button “Dekripsi Cipherkey” maka kunci Affine Cipher akan tampil pada textfield

kunci affine.

Setelah kunci affine diperoleh maka proses dekripsi cipherteks dapat dilakukan dengan menekan button “Dekripsi Cipherteks” dan hasilnya akan tampil pada textarea

plainteks. Plainteks dapat disimpan dengan menekan button Simpan Plainteks. Pada bagian keterangan akan ditampilkan waktu proses dekompresi file dan juga waktu proses dekripsi cipherteks.

4.1.5.Form Bantuan

Form Bantuan adalah form yang akan tampil setelah user menekan button bantuan pada menu utama. Form ini berisi cara penggunaan aplikasi dalam proses enkripsi-kompresi dan deenkripsi-kompresi-dekripsi file teks. Bentuk tampilan form bantuan dapat dilihat pada Gambar 4.5.

Gambar 4.5. Form Bantuan

4.1.6.Form Tentang

Form tentang merupakan form yang akan tampil setelah user menekan button tentang

(39)

Gambar 4.6. Form Tentang 4.2. Pengujian Sistem

Pengujian sistem dilakukan untuk mengetahui apakah aplikasi yang dibuat dapat berjalan sesuai dengan yang telah dirancang sebelumnya. Pengujian akan dilakukan pada proses pembangkitan kunci algoritma RSA-CRT, proses enkripsi file teks, proses enkripsi kunci, proses kompresi cipherteks, proses dekompresi, proses dekripsi kunci dan proses dekripsi cipherteks.

4.2.1.Pengujian Bangkit Kunci

Untuk membangkitkan kunci publik dan kunci privat RSA-CRT user harus menekan button bangkit kunci, maka sistem akan memproses pembangkitan kunci dan hasilnya akan ditampilkan pada masing-masing textfield.Hasil pengujian bangkit kunci dapat

(40)

Unutk menyimpan kunci privat dan kunci publik tersebut user harus menekan button simpan. Pengujian simpan kunci privat dan kunci publik dapat dilihat pada Gambar 4.8.

Gambar 4.8. Pengujian Simpan Kunci

Gambar 4.9. MessageBox Kunci Berhasil Disimpan

4.2.2.Pengujian Enkripsi Isi File Teks

Pengujian enkripsi dilakukan terhadap file doc. Tampilan isi file doc yang akan diuji dapat dilihat pada gambar 4.10.

(41)

Untuk melakukan enkripsi teks, user terlebih dahulu menginputkan file teks yang akan dienkripsi dengan menekan button . Lalu user dapat memilih file yang ingin dienkripsi. File yang akan dienkripsi harus berekstensi doc atau txt. Input file teks dapat dilihat pada Gambar 4.11.

Gambar 4.11. Input File Teks

Isi dari file yang telah dipilih akan tampil dalam textArea dan lokasi file tersebut

akan tampil pada textbox disebelah button . Kunci enkripsi akan muncul otomatis

secara acak setelah user menginputkan file teks yang akan dienkripsi, seperti Gambar 4.12.

(42)

Enkripsi teks dengan menekan button enkripsi dan cipherteks akan ditampilkan pada textArea cipherteks, seperti Gambar 4.13.

Gambar 4.13. Enkripsi Teks File

User dapat menyimpan file hasil enkripsi dengan menekan button Simpan. Setelah proses sismpan selesai maka akan muncul message box seperti pada Gambar 4.14.

Gambar 4.14. MessageBox Simpan File

4.2.3.Pengujian Enkripsi Kunci

Untuk mengenkripsi kunci, yang pertama harus dilakukan user adalah menginputkan kunci publik dengan menekan button Buka Kunci Publik maka kunci publik akan tampil pada textfield yang tersedia. Lalu user dapat mengenkripsi kunci dengan

(43)

Gambar 4.15. Buka Kunci Publik

Gambar 4.16. Enkripsi Kunci Teks

(44)

Gambar 4.17. Save Dialog Cipherkey

4.2.4.Pengujian Kompresi Cipherteks

Pada pengujian kompresi, yang akan dikompres adalah cipherteks dari teks asal. Proses kompresi dilakukan sistem saat user telah menekan button Kompresi. Saat proses kompresi sedang berlangsung semua button yang ada akan menjadi disable. Setelah proses kompresi selesai akan muncul save dialog untuk menyimpan file hasil

kompresi. Tampilan save dialog dapat dilihat pada Gambar 4.18.

Gambar 4.18. Save Dialog Hasil Kompresi

Saat proses kompresi selesai, sistem juga akan menampilkan parameter kompresi Rc (Ratio of Compression) dan Ss (Space Saving) pada bagian keterangan di

(45)

Gambar 4.19. Parameter Kompresi

Gambar 4.20. Isi File Hasil Kompresi

Isi file hasil kompresi berupa bit-bit hasil kompresi yang telah diubah ke dalam bentuk array byte.

4.2.5.Pengujian Dekompresi Cipherteks

Untuk melakukan dekompresi file, pertama-tama user harus menginputkan file terkompresi terlebih dahulu dengan menekan button . Setelah file diinputkan, lokasi file akan ditampilkan dalam textfield disebelah button . Proses dekompresi

akan dilakukan setelah user menekan button Dekompresi dan hasilnya akan ditampilkan pada textarea cipherteks, karena hasil dekompresi tersebut merupakan

(46)

Gambar 4.21. Input File Terkompresi

Gambar 4.22. Hasil Dekompresi File

4.2.6.Pengujian Dekripsi Kunci

(47)

Cipherkey” dan untuk menginputkan kunci privat tekan button “Buka Private Key”. Perhatikan Gambar 4.23 dan 4.24.

Gambar 4.23. Dialog Open Cipherkey

Gambar 4.24. Dialog Open Private Key

Setelah cipherkey dan private key diinputkan, maka user dapat mendekripsi

(48)

Gambar 4.25. Hasil Dekripsi Kunci

4.2.7.Pengujian Dekripsi Cipherteks

Untuk mendekripsi cipherteks terlebih dahulu user mendekripsi kuncinya. Setelah kunci terdekripsi maka user dapat mendekripsi cipherteks kembali menjadi plainteks dengan menekan button “Dekripsi Cipherteks”. Hasil dekripsi dapat dilihat pada Gambar 4.26.

(49)

4.2.8.Pengujian Waktu Proses Enkripsi – Dekripsi

Proses enkripsi maupun kompresi dilakukan terhadap isi dari file teks. Pengujian dilakukan terhadap file teks dengan jumlah karakter (panjang string) yang berbeda-beda. Perhatikan Tabel 4.1.

Tabel 4.1. Pengujian Enkripsi – Dekripsi Teks Panjang String

(karakter) Waktu Enkripsi (ms) Waktu Dekripsi (ms)

16

Rata-rata 40,042 44,606

12000

Rata-rata 123,774 177,624

50000

(50)

Perbandingan waktu rata-rata enkripsi dan dekripsi dapat diilustrasikan pada grafik perbandingan seperti terlihat pada Gambar 4.27.

Gambar 4.27. Grafik Perbandingan Waktu Proses Enkripsi – Dekripsi Teks Berdasarkan grafik pada Gambar 4.27. dapat dilihat bahwa banyaknya karakter berbannding lurus dengan waktu proses enkripsi maupun dekripsi. Dengan demikian dapat disimpulkan bahwa semakin panjang data (semakin banyak karakter) yang akan diproses maka waktu enkripsi maupun dekripsinya juga akan semakin lama.

Pengujian enkripsi dan dekripsi kunci Affine Cipher dapat dilihat pada tabel 4.2.

Proses enkripsi dan dekripsi tersebut dilakukan dengan menggunakan algoritma RSA-CRT. Pengujian enkripsi dan dekripsi kunci dilakukan beberapa kali percobaan

dengan kunci Affine yang sama yaitu kunci a = 9 dan kunci b = 22.

Tabel 4.2. Pengujian Enkripsi – Dekripsi Kunci

Percobaan

16 1200 5600 12000 50000

(51)

Berdasarkan tabel 4.2. dapat diketahui bahwa waktu rata-rata yang dibutuhkan unutk enkripsi kunci Affine adalah 1,295 ms dan waktu rata-rata dekripsi adalah 0,765 ms.

Perbandingan waktu enkripsi dan dekripsi kunci Affine Cipher dapat dilihat pada

grafik 4.28.

Gambar 4.28. Grafik Perbandingan Waktu Enkripsi-Dekripsi Kunci

Berdasarkan grafik pada gambar 4.28 dapat dilihat bahwa waktu enkripsi dan dekripsi kunci cukup cepat karena tidak melebihi waktu 3 milidetik. Dapatpula dilihat bahwa waktu dekripsi lebih stabil daripada waktu untuk enkripsinya.

4.2.9.Pengujian Waktu Proses Kompresi - Dekompresi

(52)

Tabel 4.3. Pengujian Kompresi - Dekompresi

Pada tabel 4.3. dapat dilihat bahwa panjang data yang sama dapat memiliki nilai

�� dan �� yang berbeda, hal itu dikarenakan jumlah charset dan frekuensi kemunculan

(53)

1. Charset = 1

Data yang memiliki charset = 1 berarti semua karakter dalam data tersebut adalah sama. Pada percobaan yang dilakukan karakter yang digunakan adalah a yang memiliki kode AUC 0. Sehingga jika dituliskan dalam data terkompres menjadi 0000000000000000 = 16 bit. Padding = 0 karena 16 bit habis dibagi 8. Untuk mengetahui jumlah padding harus ditambahkan bit flag sepanjang 8 bit yang merupakan bit dari jumlah padding tersebut. Karena padding = 0, maka flagnya menjadi 00000000. Maka panjang data hasil kompresi adalah kode AUC + padding + bit flag = 16 bit + 0 bit + 8 bit = 24 bit.

2. Charset = 3

Data yang memiliki charset = 3 berarti mengandung 3 buah karakter berbeda didalamnya. Pada percobaan yang dilakukan karakter tersebut adalah a, b, dan c, yaitu “aaabbbbbbccccaaa” dengan frekuensi kemunculam masing masing karakter adalah 6, 6, dan 4. Sehingga diperoleh kode AUC a = 0, b = 10 dan c = 110. Sehingga jika dituliskan dalam data terkompres menjadi 000101010101010 110110110000 = 27 bit. Padding = 00000 = bit, sehingga jumlah bit dapat dibagi 8. Dengan demikian bit flag menjadi 00000101 = 8 bit. Maka panjang data hasil kompresi adalah 27 bit + 5 bit + 8 bit = 40 bit.

3. Hal yang sama juga berlaku terhadap data dengan panjang dan jumlah charset berbeda pada tabel 4.2.

(54)

Gambar 4.29. Grafik Perbandingan Cr Hasil Kompresi Karakter Homogen dan Heterogen

Gambar 4.30. Grafik Perbandingan Ss Hasil Kompresi Karakter Homogen dan Heterogen

Berdasarkan gambar 4.29. dan 4.30. dapat dilihat bahwa nilai Compression

Ratio (Cr) dan Space Saving (Ss) pada proses kompresi dengan isi konten karakter

homogen cenderung stabil dibandingkan dengan nilai Compression Ratio (Cr) dan 0

16 1200 5600 12000 50000

C

16 1200 5600 12000 50000

(55)

Space Saving (Ss) pada proses kompresi dengan isi konten karakter heterogen yang

cenderung berubah-ubah tergantung dari banyaknya character set dan frekuensi masing-masing character set tersebut.

Gambar 4.31. Grafik Perbandingan Waktu Kompresi dan Dekompresi

Berdasarkan Gambar 4.31. dapat dilihat bahwa waktu dekompresi relatif lebih lama dibandingkan waktu kompresi. Dapat dilihat pula bahwa grafik waktu kompresi dan dekompresi berbanding lurus dengan panjang data yang dikompresi, semakin besar data maka waktu yang dibutuhkan untuk melakukan kompresi dan dekompresi juga akan semakin lama.

(56)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil penelitian dan pengujian sistem yang telah dilakukan, maka dapat ditarik kesimpulan sebagai berikut :

1. Tidak terjadi perubahan atas panjang karakter plainteks setelah dilakukan proses enkripsi.

2. Waktu proses enkripsi dan dekripsi berbanding lurus dengan panjang karakter plainteks.

3. Pada proses kompresi, kompresi teks dengan karakter yang homogen akan menghasilkan nilai Compression Ratio (Cr) dan Space Saving (Ss) yang relatif

lebih stabil dibandingkan dengan teks yang memiliki karakter berbeda-beda (heterogen)

4. Jumlah character set dan frekuensi tiap character set yang berbeda-beda (heterogen) akan berpengaruh terhadap nilai Compression Ratio (Cr) dan Space

Saving (Ss) walaupun memiliki panjang data yang sama.

(57)

5.2. Saran

Adapun saran yang dapat diberikan penulis terhadap penelitian selanjutnya adalah sebagai berikut :

1. Diharapkan bagi penelitian selanjutnya tidak hanya mampu mengenkripsi dan mengkompresi karakter dalam file teks saja tetapi juga dapat dilakukan terhadap tabel, grafik maupun gambar dalam file teks.

2. Pada aplikasi yang dibuat hanya melakukan proses terhadap file teks berformat doc dan txt, diharapkan pengembangan berikutnya dapat digunakan file lainnya seperti pdf ataupun file rtf.

3. Bilangan prima yang dibangkitkan pada aplikasi ini hanya sampai batas 3 digit angka. Penulis berharap pada penelitian selanjutnya dapat dikembangkan hingga lebih dari 10 digit.

Gambar

Tabel 3.2. Perhitungan AUC Code
Gambar 3.7. Sequence Diagram Pada Proses Dekompresi - Dekripsi
Gambar 3.8. Flowchart Sistem
Gambar 3.10. Flowchart Algoritma Affine Cipher
+7

Referensi

Dokumen terkait

Ketua : Kepala Bagian Tata Usaha pada Perwakilan Badan Pengawasan Keuangan dan Pembangunan Provinsi Jawa Barat.. Anggota :

a) Koloni dari media TSIA yang menciri Salmonella sp. diinokulasikan 1 ose ke dalam media TB dan inkubasikan pada temperatur 35 °C selama 24±2 jam. b) Kemudian kedalam

Ibu-ibu rumah tangga di Kota Bandung yang diwakili oleh 103 responden penelitian mendapatkan informasi mengenai Kebijakan Kantong Plastik Tidak Gratis ini dari saluran

[r]

• Dalam suatu loop bisa terkandung loop yang lain, sehingga jika loop tersebut diulangi n kali dan loop yang didalamnya dijuga dilakukan m kali maka pernyataan yang berada

Pada penelitian ini peneliti melakukan penelitian tentang peran keluarga dalam pemberian diet pada penderita hipertensi di Desa Mamek, Propinsi Kalimantan Barat dengan

Selanjutnya apabila kita berbi- cara dengan berbahasa dengan tumpuan pada la- wan tutur misalnya agar orang yang kita ajak berbicara tidak tersinggung agar lawan bicara

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor