• Tidak ada hasil yang ditemukan

Analisis Kombinasi Algoritma Knapsack Dan Rle Pada File Teks

N/A
N/A
Protected

Academic year: 2016

Membagikan "Analisis Kombinasi Algoritma Knapsack Dan Rle Pada File Teks"

Copied!
85
0
0

Teks penuh

(1)

ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE

PADA FILE TEKS

SKRIPSI

NAMIRA LISTYA UTAMI TANJUNG

081401093

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE

PADA FILE TEKS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

NAMIRA LISTYA UTAMI TANJUNG 081401093

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : ANALISIS KOMBINASI ALGORITMA KNAPSACK

DAN RLE PADA FILE TEKS

Kategori : SKRIPSI

Nama : NAMIRA LISTYA UTAMI TANJUNG

Nomor Induk Mahasiswa : 081401093

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS

SUMATERA UTARA

Diluluskan di

Medan, 22 Agustus 2013

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Syahril Efendi, S.Si, MIT M. Andri Budiman S.T., M.Comp.Sc., M.E.M. NIP. 196711101996021001 NIP. 197510082008011001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE

PADA FILE TEKS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Agustus 2013

(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kehadirat Allah SWT atas segala rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul ” Analisis Kombinasi Algoritma Knapsack Dan Rle Pada File Teks”. Skripsi ini merupakan salah satu syarat yang ditetapkan untuk memperoleh gelar sarjana komputer di Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.

Pada kesempatan kali ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada :

1. Rektor USU Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp.A(K).

2. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara dan sebagai dosen penguji dan pembanding I.

4. Ibu Maya Silvi Lydia, BSc,.MSc selaku sekretaris Departemen Ilmu Komputer Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara.

5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM dan bapak Syahril Efendi, S.Si, MIT selaku dosen pembimbing.

6. Bapak Ade Chandra, ST, M.Kom selaku dosen pembanding.

7. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

8. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.

9. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

10. Kedua orang tua tercinta, Ayahanda H.M. Bustami Tanjung dan ibunda H. Ummi Salamah Lubis atas kasih sayang, do’a, dukungan dan motivasi yang tak ternilai harganya.

(6)

12. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberi dukungan, masukan, dan kerjasama yang baik.

13. Dira Fahrendy Sembiring yang telah memberi semangat, bimbingan dan serta doanya.

14. Terkhusus ParkirRanger Saria Mahdi Ginting, S.kom, Nurul Faradhilla, S.Kom , Khairunisa Lubis, Skom, Octi Fadhilla Khair, S.Kom. Gustaf Prameswara, S.Kom. Setyo M. Syamsudin Noor, S.Kom, Nanang Tri Bhuana, S.Kom, Nasan Siregar, S.Kom, Marthin F.P, serta teman-teman dilingkungan kampus yang tidak bisa disebutkan satu-persatu yang telah memberikan dukungan yang begitu membekas dihati.

15. Guru-guru dari SD Kemala Bhayangkari 1 Medan, SMPN 15 Medan dan SMAN 14 Medan untuk ilmu yang telah diberikan.

16. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu penyelesaian skripsi ini dan tidak dapat penulis ucapkan satu persatu.

Tak ada gading yang tidak retak, demikian juga halnya dengan skripsi ini. Kritik dan saran yang membangun sangat penulis harapkan. Semoga skripsi ini bisa memberikan manfaat bagi pembaca penulis sendiri, amin.

Medan, Agustus 2013

(7)

ABSTRAK

Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Di samping masalah keamanan file teks, masalah ukuran dari sebuah file teks juga menjadi pertimbangan. File teks yang berukuran besar dapat dimampatkan dengan melakukan proses kompresi. Algoritma

Run Length Encoding (RLE) merupakan algoritma yang mengecilkan ukuran file teks,

apabila teks tersebut mengalami banyak perulangan karakter. Kombinasi algoritma Knapsack dan RLE dapat menjamin file Teks tidak dapat dilihat oleh pengguna yang tidak berhak dan dapat menjamin file teks dapat disimpan dalam media file yang berkapasitas rendah. Pada penelitian ini, penulis membuat program kombinasi algortitma knapsack dan RLE pada file teks. Pada algoritma Knapsack akan terjadi penambahan ukuran file teks, hal ini dapat dilihat pada contoh kasus yang mana ukuran plainteks (pesan asli) adalah 9 bytes, kemudian setelah dilakukan proses enkripsi ukuran file teks menjadi 37 bytes. Pada algoritma kompresi RLE terjadi pengurangan ukuran sebagai contoh kasus cipherteks (pesan yang disamarkan) yang awalnya berukuran 37 bytes setelah dilakukan proses kompresi ukurannya menjadi 7 bytes. Proses kombinasi dapat dilakukan sebaliknya, yaitu kompresi teks terlebih dahulu kemudian enkripsi teks tersebut, masih dengan plainteks yang sama beukuran 9 bytes, setelah dilakukan kompresi ukuran file menjadi 2 bytes. Kemudian dilakukan enkripsi ukuran file menjadi 9 bytes. Karena itu pengunaan kombinasi enkripsi dan kompresi data lebih baik karena file menjadi lebih kecil dibandingkan kombinasi kompresi dan enkripsi data. Plainteks yang memiliki banyak perulangan karakter akan terkompresi dengan baik.

(8)

ANALYSIS COMBINATION KNAPSACK ALGORITHM AND RLE FOR TEXT FILE

ABSTRACT

Knapsack algorithm is part of the asymmetric cryptography which the encryption key is different from the decryption key. Apart from safety, the size of the file is also measure and the file may be compressed further. Run Length Encoding (RLE) algorithm is an algorithm that shrink the size of the text file, if and only if the text has a lot of looping of character. Combination of Knapsack and RLE algorithm can guarantee that text files may not be seen by unauthorized users and to ensure the text file may be stored in a low-capacity media file. In this paper, writer makes a combination program of Knapsack and RLE for text files. Sometimes Knapsack algorithm may add the size of the text file, it can be seen in the case where the size of the plaintext is only 9 bytes, then after the encryption process the text file size becoming 37 bytes. In the RLE compression algorithm happen size reduction as an example the case of the ciphertext which initially measuring 37 bytes after compression process the size becoming 7 bytes. Combination process can be done otherwise, the text compression first and then the encrypting text, still with the same plaintext measuring 9 bytes, after the compressed file size to 2 bytes. Then do the encryption of the file size to 9 bytes. There for using a combination of encryption and file compression are better because it is smaller than a combination of compression and file encryption. The plaintext who has a lot of looping of character will be compressed correctly.

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

Bab 2 Landasan Teori 6

2.1. Kriptografi 6

2.1.1 Pengertian Kriptografi 6

2.1.2 Enkripsi dan Dekripsi 7

2.1.3 Jenis Kriptografi 8

2.2. Algoritma Knapsack 10

2.3. Teori Dasar Kompresi 14

2.3.1 Kompresi data 14

2.3.2 Dekompresi data 16

2.4. Run Length Encoding 17

Bab 3 Analisis dan Perancangan Sistem 19

3.1. Analisis Sistem 19

3.1.1 Analisis Masalah 19

3.2 Analisis Persyaratan 20

3.2.1 Analisis Persyaratan Fungsional 21 3.2.2 Analisis Persyaratan Non-Fungsional 21

(10)

3.3.1 Pemodelan Persyaratan Sistem Use Case 22

3.3.2 Activity Diagram 26

3.3.3 Sequence Diagram 31

3.3.4 Perancangan Flowchart Sistem 34 3.3.4.1 Flowchart Proses Algoritma Knapsack 34 3.3.4.2 Flowchart Proses Algoritma RLE 36 3.3.4.3 Flowchart Proses Algoritma Kombinasi 37

3.4 Perancangan Antar Muka 40

3.4.1 Perancangan Form Beranda 41 3.4.2 Perancangan Form Menu 41

Bab 4 Implementasi dan Pengujian 45

4.1. Implementasi Sistem 45

4.1.1. Proses Tahapan Algoritma Knapsack dan RLE 45 4.1.1.1 Proses Bangkit Kunci 45 4.1.1.2 Proses Kompresi dan Enkripsi 47 4.1.1.3 Proses Enkripsi dan Kompresi 50

4.1.2. Tampilan Antarmuka Sistem 51

4.1.1.1.Tampilan Form Beranda 51

Bab V Kesimpulan dan Saran 66

5.1. Kesimpulan 66

5.2. Saran 67

Daftar Pustaka 68

(11)

DAFTAR TABEL

Spesifikasi Use Case Kompresi Spesifikasi Use Case Dekompresi Spesifikasi Use Case Bangkit Kunci Spesifikasi Use Case Enkripsi Spesifikasi Use Case Dekripsi Spesifikasi Use Case Kombinasi

Tabel Hasil Pengujian Kombinasi untuk TEKS1.txt Tabel Hasil Pengujian Kombinasi untuk TEKS2.txt

(12)

DAFTAR GAMBAR

Proses Enchipering dan Deciphering

Kriptografi Simetris Kriptografi Kunci Publik

Compresion dan Decompresion

Coder dan Decoder

Diagram Ishikawa untuk Analisis Permasalahan Sistem

Use case diagram

Activity Diagram Kompresi

Activity Diagram Dekompresi

Activity Diagram Bangkit Kunci

Activity Diagram Enkripsi

Activity Diagram Dekripsi

Activity Diagram Kombinasi

Sequence diagram Kombinasi Algoritma Kompresi dan Enkripsi

Sequence diagram Kombinasi Algoritma Enkripsi dan Kompresi

Sequence diagram Bangkit Kunci

Flowchart Enkripsi

Flowchart Dekripsi

Flowchart Kompresi

Flowchart Dekompresi

Flowchart Kompresi dan Enkripsi

Flowchart Enkripsi dan Kompresi

Flowchart Dekompresidan Dekripsi

Flowchart Dekripsi dan Dekompresi

Form Beranda

Form Bangkit Kunci

Form Kombinasi

Form Dekripsi dan Dekompresi

Form Dekompresi dan Dekripsi

Source Code proses Bangkit Kunci Rahasia

Source Code proses Bangkit Kunci Publik

Source Code proses Kompresi

Source Code proses Enkripsi

Source Code proses Dekripsi

Source Code proses Dekompresi

Tampilan Form Beranda Tampilan Form Tentang Tampilan Form Bantuan

Tampilan Pop-up Windows Pilih Teks TampilanPengujianKompresi

TampilanPengujianDekompresi Tampilan Pengujian Bangkit Kunci

(13)

4.14

Tampilan Pengujian Enkripsi

Informasi Penyimpanan File Enkripsi TampilanPengujian Dekripsi

TampilanPengujianKombinasi untuk TEKS1 TampilanPengujianKombinasi untuk TEKS2

TampilanPengujianDekripsi dan Dekompresi untuk TEKS1 TampilanPengujianDekripsi dan Dekompresi untuk TEKS2 TampilanPengujianDekompresi dan Dekripsi untuk TEKS1 TampilanPengujianDekompresi dan Dekripsi untuk TEKS2

(14)

ABSTRAK

Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Di samping masalah keamanan file teks, masalah ukuran dari sebuah file teks juga menjadi pertimbangan. File teks yang berukuran besar dapat dimampatkan dengan melakukan proses kompresi. Algoritma

Run Length Encoding (RLE) merupakan algoritma yang mengecilkan ukuran file teks,

apabila teks tersebut mengalami banyak perulangan karakter. Kombinasi algoritma Knapsack dan RLE dapat menjamin file Teks tidak dapat dilihat oleh pengguna yang tidak berhak dan dapat menjamin file teks dapat disimpan dalam media file yang berkapasitas rendah. Pada penelitian ini, penulis membuat program kombinasi algortitma knapsack dan RLE pada file teks. Pada algoritma Knapsack akan terjadi penambahan ukuran file teks, hal ini dapat dilihat pada contoh kasus yang mana ukuran plainteks (pesan asli) adalah 9 bytes, kemudian setelah dilakukan proses enkripsi ukuran file teks menjadi 37 bytes. Pada algoritma kompresi RLE terjadi pengurangan ukuran sebagai contoh kasus cipherteks (pesan yang disamarkan) yang awalnya berukuran 37 bytes setelah dilakukan proses kompresi ukurannya menjadi 7 bytes. Proses kombinasi dapat dilakukan sebaliknya, yaitu kompresi teks terlebih dahulu kemudian enkripsi teks tersebut, masih dengan plainteks yang sama beukuran 9 bytes, setelah dilakukan kompresi ukuran file menjadi 2 bytes. Kemudian dilakukan enkripsi ukuran file menjadi 9 bytes. Karena itu pengunaan kombinasi enkripsi dan kompresi data lebih baik karena file menjadi lebih kecil dibandingkan kombinasi kompresi dan enkripsi data. Plainteks yang memiliki banyak perulangan karakter akan terkompresi dengan baik.

(15)

ANALYSIS COMBINATION KNAPSACK ALGORITHM AND RLE FOR TEXT FILE

ABSTRACT

Knapsack algorithm is part of the asymmetric cryptography which the encryption key is different from the decryption key. Apart from safety, the size of the file is also measure and the file may be compressed further. Run Length Encoding (RLE) algorithm is an algorithm that shrink the size of the text file, if and only if the text has a lot of looping of character. Combination of Knapsack and RLE algorithm can guarantee that text files may not be seen by unauthorized users and to ensure the text file may be stored in a low-capacity media file. In this paper, writer makes a combination program of Knapsack and RLE for text files. Sometimes Knapsack algorithm may add the size of the text file, it can be seen in the case where the size of the plaintext is only 9 bytes, then after the encryption process the text file size becoming 37 bytes. In the RLE compression algorithm happen size reduction as an example the case of the ciphertext which initially measuring 37 bytes after compression process the size becoming 7 bytes. Combination process can be done otherwise, the text compression first and then the encrypting text, still with the same plaintext measuring 9 bytes, after the compressed file size to 2 bytes. Then do the encryption of the file size to 9 bytes. There for using a combination of encryption and file compression are better because it is smaller than a combination of compression and file encryption. The plaintext who has a lot of looping of character will be compressed correctly.

(16)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Kemajuan teknologi dewasa ini menyebabkan saling ketergantungan antara komputer

dan telekomunikasi semakin besar. Jaringan-jaringan komputer mempunyai andil

besar untuk pengadaan sumber-sumber informasi. Dengan adanya jaringan-jaringan

tersebut memudahkan orang memperoleh data serta informasi dimanapun secara

terbuka. Hal ini membuka peluang bagi orang-orang yang tidak bertanggung jawab

melakukan kecurangan-kecurangan. Seperti memanipulasi data, menyadap data, dan

lain sebagainya pada data yang dianggap penting dan sangat pribadi.

Keamanan data diperlukan untuk mengatasi kecurangan tersebut, salah satu

penelitian yang membahas tentang pengamanan data adalah Aplikasi Enkripsi Dan

Dekripsi Dengan Algoritma Knapsack Public Block Menggunakan Vb.Net. oleh Tri

Wahyu Widyaningsih. Pada penelitian ini membahas tentang pemanfaatan VB.Net

sebagai salah satu bahasa pemrograman berorientasi objek untuk memperoleh

rancangan yang lebih menarik, dan mendukung pembuatan aplikasi keamanan data

untuk meningkatkan keotentikan data. Aplikasi enkripsi dekripsi dengan algoritma

knapsack public block diharapkan dapat membantu siapapun yang ingin mengamankan

(17)

Selain keamanan data yang perlu diperhatikan juga adalah kecepatan dalam pengiriman data tersebut. Kecepatan pengiriman ini tergantung dari ukuran informasi tersebut. Salah satu solusi masalah tersebut adalah dengan melakukan pemampatan (kompresi) data sebelum melakukan pengiriman dan kemudian penerima akan merekonstruksinya kembali menjadi data aslinya (dekompresi).

Kompresi data adalah istilah umum untuk berbagai algoritma dan program

yang dikembangkan untuk mengatasi masalah pemampatan data. Tujuan dari data

yang kompresi untuk mengurangi redundansi dalam data yang tersimpan atau data

ditransmisikan, sehingga meningkatkan efektif data kepadatan [3]. Salah satu

penelitian yang membahas tentang masalah kompresi data yaitu Analisis

Perbandingan Algoritma Kompresi Lempel Ziv Welch, Arithmetic Coding, Dan

Run-Length Encoding Pada File Teks oleh Telaumbanua ,Plipus . Dalam penelitian ini,

dibandingkan tiga algoritma kompresi data yaitu Lempel Ziv Welch (LZW),

Arithmetic Coding, dan Run-Length Encoding(RLE), dimana algoritma RLE dibantu

oleh algoritma BurrowsWheeler Transform (BWT) untuk memaksimalkan kinerjanya.

Algoritma-algoritma tersebut dipilih karena semuanya dalam kategori algoritma

lossless, dan mewakili masing-masing teknik pengkodean. Algoritma yang memiliki

perfomansi terbaik berdasarkan rata-rata rasio dan waktu proses kompresi/dekompresi

adalah algoritma LZW. Algortima RLE+BWT sangat efektif untuk file yang memilki

banyak deretan karakter yang sama, namun buruk untuk file yang isinya tidak

beraturan (acak). Sama halnya seperti algoritma RLE+BWT, algoritma LZW juga

buruk untuk file yang isinya acak, namun efektif untuk file teks biasa, sedangkan

algoritma Arithmetic Coding efektif untuk semua file uji baik dalam keadaan acak

maupun tidak [12]

Menimbang begitu pentingnya arti keamanan dalam komunikasi pertukaran

data, maka penulis mengusulkan suatu penelitian yang berjudul“Analisis Kombinasi

Algoritma Knapsack dan RLE pada File Teks”. Dimana dalam penelitian ini akan

dibahas mengenai teknik enkripsi dan dekripsi data menggunakan algoritma Knapsack

dan algoritma RLE (Run Length Encoding) sebagai kompresi data pada file teks

ataupun sebaliknya.

(18)

Berdasarkan hal-hal yang telah diungkapkan pada latar belakang, maka yang menjadi

rumusan masalah dalam penelitan ini adalah bagaimana mengimplementasikan

kriptografi dan kompresi teks dengan algoritma Knapsack dan RLE untuk

mengamankan file teks.

1.3 Batasan Masalah

Beberapa batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah

sebagai berikut:

1. Penelitian ini hanya membahas tentang teknik pengamanan file teks menggunakan

algoritma Knapsack dan kompresi menggunakan algoritma RLE.

2. Teks yang digunakan dalam penelitian ini adalah code ASCII (American Standard

Code for Information Interchange) dan tiap-tiap karakter direpresentasikan oleh 7

binary digit.

3. Format file teks yang digunakan adalah *.txt

4. Untuk mengimplementasikan algoritma tersebut maka akan dibuat aplikasi dengan

menggunakan Bahasa pemograman MATLAB 2009

1.4 Tujuan Penelitian

1. Membangun aplikasi yang dapat menerapkan sistem pengamanan file teks dengan

menggunakan algoritma Knapsack serta pemampatan (kompresi) data pada file

teks yang telah di enkripsi tersebut dengan menggunakan algoritma RLE.

2. Mengatasi masalah keamanan data dan pemampatan data dalam pengiriman

informasi melalui jaringan komunikasi.

3. Membuktikan tepat atau tidaknya metode enkripsi menggunakan algortima

Knapsack dikombinasikan dengan metode kompresi menggunakan algoritma RLE

ataupun sebaliknya.

1.5 Manfaat Penelitian

1. Bagi penulis, penelitian ini dilakukan untuk memenuhi syarat kelulusan program

Strata-1 (S1) program studi Ilmu Komputer Fakultas Ilmu Komputer dan

(19)

2. Diharapkan penilitian ini akan menambah literatur dan rujukan dalam bidang ilmu

Kriptografi mengenai pengamanan data menggunakan algoritma Knapsack serta

kompresi data menggunakan algoritma RLE khususnya pada file teks.

3. Bagi masyarakat diharapkan aplikasi ini dapat berguna untuk memberikan rasa

aman dan nyaman bagi pengguna untuk melakukan pertukaran informasi melalui

jaringan komunikasi.

1.6 Metodologi Penelitian

Dalam penelitian ini, ada beberapa tahapan yang akan dilakukan sebagai berikut:

1. Studi Literatur

Algoritma ini dilaksanakan dengan melakukan studi kepustakaan yang relevan

serta buku-buku maupun artikel-artikel atau e-book dan juga journal international

yang didapatkan melalui internet.

2. Analisis Data

Pada tahap ini dilakukan pengolahan data yang didapat yaitu dilakukan

pemrosesan awal sehingga data masukan relatif lebih kecil dan kemudian

dilakukan analisis terhadap hasil studi literatur yang diperoleh sehingga menjadi

suatu informasi.

3. Perancangan Sistem

Pada tahap ini akan dilakukan perancangan desain antarmuka sistem dan struktur

proses kerja sistem.

4. Pengimplementasian Sistem

Pada tahap ini akan dilakukan implementasi dari hasil perancangan sistem dalam

bentuk perangkat lunak.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian sistem yang bertujuan untuk mengetahui

kesalahan-kesalahan yang terjadi pada sistem, sehingga dapat dilakukan

perbaikan. Kemudian dilakukan analisis pada sistem untuk mengetahui apakah

sistem sesuai dengan permasalahan dari penelitian.

6. Penyusunan Laporan

Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan

(20)

1.7 Sistematika Penulisan

BAB 1: PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul, rumusan masalah,

batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan

sistematika penulisan.

BAB 2:LANDASAN TEORI

Membahas teori-teori yang berhubungan dengan kriptografi, algoritma knapsack dan

kompresi data yaitu algoritma RLE .

BAB 3:ANALISIS DAN PERANCANGAN SISTEM

Membahas bagian-bagian yang berkaitan dengan sistem, antarmuka sistem, serta

menjelaskan mengenai cara kerja sistem pada proses pengamanan data menggunakan

algoritma knapsack dan kompresi data menggunakan algoritma RLE.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Membahas tentang implementasi dan pengujian sistem.

BAB 5: KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab

sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat

(21)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Pengertian kriptografi

Kriptografi merupakan metode untuk mengirimkan pesan rahasia sehingga hanya

penerima pesan yang dimaksud dapat menghapus, menyamarkan atau membaca pesan

tersebut. Kriptografi berasal dari kata bahasa Yunani yaitu kryptos yang berarti

tersembunyi dan grapein yang berarti menulis. Pesan asli disebut plainteks dan pesan

yang telah disandikan disebut cipherteks. Pesan yang telah dienkapsulasi dan dikirim

disebut kriptogram. Proses mengubah plainteks menjadi cipherteks disebut enkripsi.

Membalikkan proses cipherteks menjadi plainteks disebut dekripsi. Siapapun yang

terlibat dalam kriptografi disebut kriptografer. Pada sisi lain, studi tentang teknik

matematika karena berusaha untuk mengalahkan metode kriptografi disebut

pembacaan sandi. Cryptanalysts adalah orang-orang berlatih pembacaan sandi [7]

Gambar 2.1. Proses Enchiphering dan Deciphering [5]

Enciphering Plainteks

Cipherteks

Key Key Deciphering

(22)

2.1.2 Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi

(encryption) atau disebut juga enciphering. Sedangkan proses mengembalikan

cipherteks menjadi plainteks disebut dekripsi (decryption) atau dechipering. Enkripsi

dan dekripsi dapat diterapkan pada pesan yang dikirim ataupun pesan yang disimpan.

Istilah encryption of data in motion mengacu pada enkripsi data yang ditransmisikan

melalui saluran komunikasi, sedangkan istilah decryption of data at rest mengacu pada

enkripsi data yang ada didalam storage. [8]

Enkripsi data yang sering digunakan adalah Fast Block dan Strem Cipher.

Kedua teknik ini adalah contoh dari algoritma simetris. Kekurangan dari algoritma

simetris adalah tingkat kesulitan dalam menentukan kunci rahasia (private key) untuk

didistribusikan . Oleh karena itu kita harus mengetahui teknik dari algoritma

kriptografi yang kita gunakan untuk membuat sebuah data enkripsi.

Untuk mengembalikan plainteks yang telah dienkripsi, membutuhkan teknik

dekripsi. Dekripsi adalah teknik yang digunakan untuk menguraikan data rahasia atau

pesan yang telah dienkripsi kembali kebentuk semula atau bentuk aslinya dan menjadi

pesan yang dapt dibaca dan dimengerti maksudnya. Adapun rumus untuk proses

enkripsi dan dekripsi adalah sebagai berikut:

c = ek(m)………2.1[11]

dimana:

- m adalah plainteks

- e adalah fungsi penyamaran

- k adalah kunci rahasia

- c adalah cipherteks

dan untuk proses dekripsi dapat digunakan persamaan sebagai berikut:

m = dk(c)………2.2[11]

dimana :

(23)

- d adalah fungsi dekripsi

- k adalah kunci

- c adalah cipherteks

kedua persamaan ini adalah teknik enkripsi dan dekripsi yang menggunakan

kuncipada proses permutasinya. [11]

2.1.3 Jenis kriptografi

2.1.2.1Algoritma simetris

Adalah algoritma dimana kunci untuk enkripsi bisa dihitung dari kunci dekripsi, dan

sebaliknya. Algoritma simetris kadang disebut juga algoritma konvensional. Sebagian

besar algoritma simetris menggunakan kunci enkripsi dan kunci dekripsi yang sama.

Algoritma simetris sering juga disebut sebagai algoritma kunci rahasia, algoritma

kunci tunggal atau algoritma satu kunci. Pengirim dan penerima harus menyetujui

suatu kunci tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan

algoritma simetris tergantung pada kunci, membocorkan kunci berarti bahwa orang

lain dapat mengenkripsi dan mendekripsi pesan. Agar komunikasi tetap aman, kunci

harus tetap dirahasiakan. Yang termasuk algoritma kunci simetris adalah OTP, DES,

RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael

(AES), Blowfish, GOST, A5, Kasumi dan lain-lainnya [9].

Gambar 2.2 Kriptografi Simetris

Keterangan :

- m adalah plainteks

(24)

- e adalah fungsi enkripsi

- d adalah fungsi dekripsi

- k adalah kunci

- c adalah cipherteks

2.1.2.2Algoritma Kunci Publik

Sering juga disebut sebagai algoritma asimetris. Merupakan algoritma dimana

kunci untuk mengenkripsi pesan berbeda dengan kunci yang digunakan untuk

mendekripsi. Bahkan kunci untuk mendekripsi tidak bisa dihitung dari kunci untuk

mengekripsi.

Dinamakan kunci publik, sebab kunci untuk enkripsi tidak rahasia dan dapat

diketahui oleh siapapun (diumumkan ke publik), sementara kunci untuk dekripsi

hanya diketahui oleh penerima pesan. Pada kriptografi jenis ini, setiap orang yang

berkomunikasi mempunyai sepasang kunci, yaitu kunci privat dan kunci publik.

Pengirim mengenkripsi pesan dengan menggunakan kunci publik si penerima

pesan. Hanya penerima pesan yang dapat mendekripsikan pesan karena hanya dia

yang mengetahui kunci privatnya sendiri [9].

Gambar 2.3 Kriptografi Kunci Publik

Keterangan :

- m adalah plainteks

- e adalah fungsi enkripsi

- E adalah kunci publik

- d adalah fungsi dekripsi

(25)

- D adalah kunci rahasia

- c adalah cipherteks

2.1.4 Algoritma Knapsack

Algoritma Knapsack juga adalah algoritma kriptografi kunci-publik. Keamanan

algoritma ini terletak pada sulitnya memecahkan persoalan knapsack (Knapsack

Problem). Knapsack artinya karung/kantung. Karung mempunyai kapasitas muat

terbatas. Barang-barang dimasukkan ke dalam karung hanya sampai batas kapasitas

maksimum karung saja [8].

Jenis-jenis Knapsack adalah:

1. 0/1 Knapsack Problem

Setiap barang hanya terdiri satu unit dan boleh diambil atau tidak sama sekali

[4]

2. 0/n Knapsack Problem

Setiap barang terdiri dari n buat unit dan boleh diambil atau tidak sama sekali

3. Bounded Knapsack Problem

Setiap barang tersedia n buah unit dan jumlahnya terbatas

4. Unbounded Knapsack Problem

Setiap barang tersediah lebih dari satu unit dan jumlahnya tidak terbatas

5. Fractional Knapsack Problem

Barang boleh diambil dalam bentuk pecahan atau sebahagian. Contohnya

gula,garam,tepung dan lain-lain [2].

Knapsack Problem:

Diberikan bobot knapsack adalah M. Diketahui n buah objek yang masing-masing

bobotnya adalah w1, w2, …, wn. Tentukan nilai bi sedemikian sehingga

M = b1w1 + b2w2 + … + bnwn (2.1)[8]

yang dalam hal ini, bi bernilai 0 atau 1. Jika bi = 1, berarti objek i dimasukkan

(26)

Dalam teori algoritma, persoalan knapsack termasuk ke dalam kelompok

NP-complete. Persoalan yang termasuk NP-complete tidak dapat dipecahkan dalam orde

waktu polynomial [8].

Algoritma Knapsack Sederhana

Ide dasar dari algoritma kriptografi knapsack adalah mengkodekan pesan

sebagai rangkaian solusi dari dari persoalan knapsack. Setiap bobot wi di dalam

persoalan knapsack merupakan kunci privat, sedangkan bit-bit plainteks menyatakan

bi. Sayangnya, algoritma knapsack sederhana ini hanya dapat digunakan untuk

enkripsi, tetapi tidak dirancang untuk dekripsi.

Algoritma superincreasing Knapsack adalah algoritma yang lemah, karena

cipherteks dapat didekripsi menjadi plainteksnya secara mudah dalam waktu lanjar.

Algoritma non-superincreasing Knapsack atau normal Knapsack adalah kelompok

algoritma Knapsack yang sulit (dari segi komputasi) karena membutuhkan waktu

dalam orde eksponensial untuk memecahkannya.Namun, superincreasing Knapsack

dapat dimodifikasi menjadi non-superincreasing Knapsack dengan menggunakan

kunci publik (untuk enkripsi) dan kunci rahasia (untuk dekripsi). Kunci publik

merupakan barisan non-superincreasing sedangkan kunci rahasia tetap merupakan

barisan superincreasing. Modifikasi ini ditemukan oleh Martin Hellman dan Ralph

Merkle [8].

Cara membuat kunci publik dan kunci rahasia:

1. Tentukan barisan superincreasing.

2. Kalikan setiap elemen di dalam barisan tersebut dengan n modulo m. Modulus

m seharusnya angka yang lebih besar daripada jumlah semua elemen di dalam

barisan, sedangkan pengali n seharusnya tidak mempunyai faktor persekutuan

dengan m.

3. Hasil perkalian akan menjadi kunci publik sedangkan barisan superincreasing

semula menjadi kunci rahasia.

Contoh :

(27)

Barisan non-superincreasing (atau normal) Knapsack dihitung sbb:

Jadi, kunci publik adalah {62, 52, 73, 12, 54, 5}, sedangkan kunci rahasia adalah {2,

5, 9, 17, 25, 50}.

Enkripsi dilakukan dengan cara yang sama seperti algoritma Knapsack

sebelumnya. Mula-mula plainteks dipecah menjadi blok bit yang panjangnya sama

dengan kardinalitas barisan kunci publik. Kemudian kalikan setiap bit di dalam blok

dengan elemen yang berkoresponden di dalam kunci publik.

Contoh :

Misalkan Plainteks: 011001100000110110 dan kunci publik yang digunakan seperti

pada Contoh sebelumnya.

Plainteks dibagi menjadi blok yang panjangnya 6, kemudian setiap bit di

dalam blok dikalikan dengan elemen yang berkorepsonden di dalam kunci publik:

Blok plainteks ke-1 : 011001

Kunci publik : 62, 52, 73, 12, 54, 5

Kriptogram : (1 × 52) + (1 × 73)+ (1 × 5) = 130

Blok plainteks ke-2 : 100000

Kunci publik : 62, 52, 73, 12, 54, 5

Kriptogram : (1 × 62) = 62

Blok plainteks ke-3 : 110110

(28)

Kriptogram : (1 × 62) + (1 × 52) + (1 × 54) +

(1 × 5) = 173

Jadi, cipherteks yang dihasilkan : 130, 62, 173

Dekripsi dilakukan dengan menggunakan kunci rahasia. Mula-mula penerima

pesan menghitung n–1 , yaitu balikan n modulo m, sedemikian sehingga n ⋅ n–1 ≡ 1

(mod m). Kekongruenan ini dapat dihitung dengan cara yang sederhana sebagai

berikut (disamping dengan cara yang sudah pernah diberikan pada Teori Bilangan

Bulat):

n ⋅ n–1 ≡ 1 (mod m)

n ⋅ n–1 = 1 + km

n–1 = (1 + km)/n , k sembarang bilangan bulat

Kalikan setiap kriptogram dengan n–1 mod m, lalu nyatakan hasil kalinya

sebagai penjumlahan elemen-elemen kunci rahasia untuk memperoleh plainteks

dengan menggunakan algoritma pencarian solusi superincreasing Knapsack.

Contoh :

Cipherteks dari 130, 62, 173 akan dideskripsikan dengan menggunakan kunci rahasia

{2, 5, 9, 17, 25, 50}. Di sini, n = 31 dan m = 103. Nilai n–1 diperoleh sbb:

n–1 = (1 + 103k)/31

Dengan mencoba k = 0, 1, 2, …, maka untuk k = 3 diperoleh n–1 bilangan bulat, yaitu

n–1 = (1 + 103 ⋅ 3)/31 = 10

Cipherteks dari Contoh sebelumnya adalah 130, 62, 173 . Plainteks yang

berkoresponden diperoleh kembali sebagai berikut:

(29)

62 ⋅ 10 mod 103 = 2 = 2 berkoresponden dengan 100000

173 ⋅ 10 mod 103 = 82 = 2 + 5 + 25 + 50 , berkoresponden dengan 110110

Jadi, plainteks yang dihasilkan kembali adalah:

011001 100000 110110

2.2 Teori Dasar Kompresi

2.2.1 Kompresi data

Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk

menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data . Saat ini

terdapat berbagai tipe algoritma kompresi , antara lain: Huffman, IFO, LZHUF, LZ77

dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC),

Block-Sorting Lossless, Run-Length, Shannon-Fano, Arithmetic, PPM (Prediction by Partial

Matching), Burrows-Wheeler Block Sorting, dan Half Byte.

Berdasarkan tipe peta kode yang digunakan untuk mengubah pesan awal (isi

file input) menjadi sekumpulan codeword, metode kompresi terbagi menjadi dua

kelompok, yaitu :

1. Metode statik : menggunakan peta kode yang selalu sama. Metode ini

membutuhkan dua fase (two-pass): fase pertama untuk menghitung probabilitas

kemunculan tiap simbol/karakter dan menentukan peta kodenya, dan fase kedua

untuk mengubah pesan menjadi kumpulan kode yang akan ditransmisikan.

Contoh: algoritma Huffman statik.

2. Metode dinamik (adaptif) : menggunakan peta kode yang dapat berubah dari

waktu ke waktu. Metode ini disebut adaptif karena peta kode mampu beradaptasi

terhadap perubahan karakteristik isi file selama proses kompresi berlangsung.

Metode ini bersifat onepass, karena hanya diperlukan satu kali pembacaan

(30)

Berdasarkan teknik pengkodean/pengubahan simbol yang digunakan, metode

kompresi dapat dibagi ke dalam tiga kategori, yaitu :

1. Metode symbolwise : menghitung peluang kemunculan dari tiap symbol dalam

file input, lalu mengkodekan satu simbol dalam satu waktu, dimana simbol yang

lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang lebih

jarang muncul, contoh: algoritma Huffman.

2. Metode dictionary : menggantikan karakter/fragmen dalam file input dengan

indeks lokasi dari karakter/fragmen tersebut dalam sebuah kamus (dictionary),

contoh:algoritma LZW.

3. Metode predictive : menggunakan model finite-context atau finite-state untuk

memprediksi distribusi probabilitas dari simbol-simbol selanjutnya; contoh:

algoritma DMC.

Ada beberapa faktor yang sering menjadi pertimbangan dalam memilih suatu

metode kompresi yang tepat, yaitu kecepatan kompresi, sumber daya yang dibutuhkan

(memori, kecepatan PC), ukuran file hasil kompresi, besarnya redundansi, dan

kompleksitas algoritma.

Tidak ada metode kompresi yang paling efektif untuk semua jenis file. Dalam

penelitian ini algoritma yang digunakan hanya Run-Length Encoding. Karena

Algoritma tersebut cepat dan mudah untuk mengeksekusi [6].

2.2.2 Dekompresi data

Dekompresi adalah kebalikan dari proses kompresi. Setiap proses kompresi data tentu

saja membutuhkan proses dekompresi kembali untuk mendapatkan data yang

(31)

Pada praktek kasusnta, dekompresi yang baik atau dapat dikatakan efisien jika

algoritma dekompresinya sesuai dengan algoritma kompresi pasa kasus itu sendiri.

Audio, Video, dan Foto adalah contoh data yang sangat sering dilakukan proses

kompresi dan dekompresi tentu saja menggunakan dengan algoritma yang sama.

Adapun hubungan antara kompresi dan dekompresi dapat dilihat pada gambar

dibawah ini:

Gambar 2.4 Compression dan Decompression [10]

Aplikasi dekompresi data sering juga disebut dengan dekompresor

(decompresor). Bagaimanapun dekompresi adalah salah satu solusi terbaik untuk

mengembalikan data yang telah mengalami proses kompresi (compressed Files).

Kompresor dan dekompresor dapat dikatakan sebagai dua proses yang saling

berkaitan baik pada sumber dan tujuan masing-masing proses. Pada kasusnya, source

disebut dengan coder dan destinasi pesan disebut dengan decoder. [10]

Proses transmisi antara sebuah coder dan decoder dapat kita lihat pada gambar

(32)

Coder

Decoder Transmission Chanel Source

(Original Message) Coded Message

Destination (Decoded Message)

Gambar 2.5 Coder dan Decoder [10]

2.2.3 Run Length Encoding (RLE)

Mengurangi ukuran karakter string yang berulang [1]. Berulang ini biasa disebut Run.

Biasanya RLE mengkodekan run dari simbol menjadi dua byte, jumlah dan simbol.

RLE dapat memampatkan semua jenis data terlepas dari isi informasi, tetapi isi dari(

data yang akan dikompresi mempengaruhi rasio kompresi. RLE tidak dapat mencapai

rasio kompresi yang tinggi dibandingkan dengan metode kompresi lainnya, tapi.

mudah untuk menerapkan dan cepat untuk mengeksekusi. RLE didukung oleh

sebagian besar format file bitmap seperti tiff, BMP, PCX.

Contoh:

S= 11111111111111100000000000000000001111

Ini dapat direpresentasikan sebagai 1 sebanyak Lima Belas, 0 sebanyak

sembilan belas, dan empat buat 1, yaitu (15,1), (19,0), (4,1). karena pengulangan

jumlah maksimum adalah 19, yang dapat direpresentasikan dengan 5 bit, dapat

dikodekan sebagai bit stream (01111,1), (10011,0), (00100,1) [1].

Contoh dari lain algoritma RLE:

1. KKKKKKK

Adalah perulangan karakter “K” sebanyak 7 kali, ini dapat dikatakan sebagai run

length karena mengulangi karakter yang sebanyak 7 kali.

(33)

Adalah contoh yang tidak akurat, karena tidak mengalami perulangan pada setiap

karakternya. Ketujuh karakter diatas merupakan tujuh karakter yang berbeda-beda.

Karakter ini tidak dapat dikatakan sebagai Run Length.

3. ABABBBC

Dari karakter contoh tiga, terdapat perulangan karakter “B” sebanyak 3 kali,

karakter ini sudah dpat dikatakan run length

Teknik dari algoritma run length encoding adalah untuk mempersingkat

penulisan dari sebuah code, untuk penyelesaian dari contoh 1 adalah kita dapat

menuliskan “KKKKKKK” menjadi (‘r’,’7’,’K’) untuk lebih singkat ditulis dengan

“r7k” dengan ketentuan bahwa angka 7 didapatkan karena symbol karaker “k”

mengalami perlangan sebanyak 7 kali.

Penyelesaian untuk contoh dua yaitu ABCDEFG, pada simbol ini tidak dapat

perulangan karakter sehingga penulisannya dapat kita ubah menjadi

(34)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem

yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif

mendeskripsikan fase-fase awal pengembangan sistem. Analisis sistem pada dasarnya

merupakan tahapan yang ditujukan untuk menciptakan pemahaman yang menyeluruh

terhadap sistem sehingga diperoleh gambaran tentang kebutuhan, cara kerja, dan alur

data yang akan dikerjakan sistem. Hal ini akan membantu mempermudah dalam

proses implementasi sistem.

3.1.1 Analisis masalah

Sistem ini diharapkan dapat membantu menyelesaikan masalah dalam keamanan data,

agar data tersebut tetap tidak dimodifikasi atau dibaca oleh orang yang tidak memiliki

hak akses. Dalam sistem ini file teks akan dienkripsi menggunakan algoritma

Knapsack. Selanjutnya untuk kompresi data teks, dilakukan dengan menggunakan

algoritma RLE. Sehingga diharapkan file teks ini terjaga kemanannya serta ukuran file

dapat lebih kecil dari sebelumnya.

Yang menjadi masalah utama penelitian ini adalah bagaimana mengkombinasikan

(35)

keamanannya serta ukuran file dapat lebih kecil dari sebelumnya. Setelah dipilah dan

dibagi dalam beberapa kategori, dapat diuraikan sebagai berikut:

1. User adalah seorang yang melakukan proses bangkit kunci, enkripsi, kompresi,

kombinasi kedua serta dekripsi dan dekompresi.

2. Proses : Sistem ini akan berjalan mengkombinasikan kedua algoritma Knapsack

dan RLE pada file teks yaitu proses Enkripsi kemudian kompresi atau Kompresi

kemudian Enkripsi, dapat juga dilakukan secara terpisah.

3. Sistem : Sistem ini menunjukan kombinasi mana yang lebih tepat digunakan

antara Kompresi dan Enkripsi atau Enkripsi dan Kompresi

Selanjutnya masalah diuraikan kedalam bentuk diagram tulang ikan (ishikawa

Diagram) dibawah ini:

Analisis Kombinasi algoritma Knapsack dan

RLE pada File Teks

Data Kebijakan

Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalan Sistem

3.2 Analisis Persyaratan

Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja

yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan.

Analisis persyaratan dibagi menjadi dua bagian yaitu persyaratan fungsional

(functional requirement) dan persyaratan nonfungsional (nonfunctional requirement).

Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan /

disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan dengan fitur,

(36)

tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang menjadi

perhatian stakeholder sebuah sistem.

3.2.1 Persyaratan fungsional

Persyaratan fungsional yang harus dipenuhi oleh sistem yang akan dibangun ini

adalah :

1. File teks yang akan dienkripsi memiliki format *.txt.

2. Bilangan yang akan dibangkitkan untuk pembuatan kunci algoritma Knapsack

adalah bilangan bulat positif.

3. File teks yang telah dikompresi, dienkripsi, serta keduanya disimpan dalam

format *.txt

4. Kunci kriptografi disimpan dalam bentuk *.txt.

3.2.2 Persyaratan nonfungsional

Persyaratan nonfungsional dari sistem ini adalah :

1. Performa

Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari

proses kompresi dan dekompresi, enkripsi dan dekripsi serta keduanya.

2. Mudah dipelajari dan digunakan

Sistem yang akan dibangun harus sederhana agar mudah dipelajari dan

digunakan oleh pengguna (user).

3. Hemat biaya

Sistem ini tidak memerlukan perangkat tambahan maupun sistem pendukung

dalam penggunaannya.

4. Dokumentasi

Sistem dapat menyimpan file teks yang dikompresi ,dienkripsi, keduanya dan

kunci yang dibangkitkan.

5. Manajemen kualitas

Sistem memiliki kualitas yang baik yaitu proses kompresi dan

dekompresi,enkripsi dan dekripsi file teks dan membangkitkan kunci relatif

(37)

3.3 Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang

objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus

dilakukan oleh sebuah sistem. Aktor yang nantinya akan berinteraksi dengan sistem

adalah user yang akan menggunakan sistem yang dibangun.

Berikut ini adalah diagram use case yang dirancang sebagai pemodelan

persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan

didalamnya.

Gamabar 3.2 Use case diagram

3.3.1 Pemodelan persyaratan sistem dengan use case

Dari diagram use case diatas terlihat interaksi user pada sistem beserta proses-proses

yang dilakukan. Diharapkan user mengetahui secara garis besar proses-proses yang

terjadi pada setiap tahapan. Agar tidak terjadi kesalahan dalam urutan tahapan, maka

sistem akan mengevaluasi pilihan-pilihan yang diambil oleh user. Proses enkripsi

menggunakan algoritma Knapsack hanya bisa dilakukan oleh user apabila telah

dilakukan proses pembangkitan kunci berdasarkan inputan yang dimasukkan.

Selanjutnya setelah proses enkripsi selesai, dilakukan proses kompresi dengan

(38)

Berikut adalah tabel dari setiap proses.

Tabel 3.1 Spesifikasi Use Case Kompresi (RLE)

Name Kompresi Teks

Actors User

Trigger User telah menginputkan Teks

Preconditions User mengakses tombol Kompresi

Post Conditions User dapat melihat hasil proses kompresi

Success Scenario 1. User telah menginputkan Teks

2. User mengakses tombol Kompresi

3. Sistem akan melakukan proses kompresi terhadap teks

yang diinputkan dan menampilkan hasil kompresi

4. User dapat melihat hasil kompresi

Tabel 3.2 Spesifikasi Use Case Dekompresi (RLE)

Name Dekompresi

Actors User

Trigger User telah menginputkan hasil teks yang telah dikompresi

Preconditions User mengakses tombol Dekompresi

Post Conditions User dapat melihat hasil proses dekompresi

Success Scenario 1. User telah menginputkan hasil teks yang telah dikompresi

2. User mengakses tombol Dekompresi

3. Sistem akan melakukan proses dekompresi terhadap teks

yang diinputkan dan menampilkan hasil dekompresi berupa

bentuk teks asli

(39)

Tabel 3.3 Spesifikasi Use Case Bangkit Kunci

Name Generate key

Actors User

Trigger User telah menginputkan parameter kunci

Preconditions User mengakses tombol generate key

Post Conditions User dapat melihat publickey dan privatekey hasil generatekey

Success Scenario 1. User telah menginputkan parameter kunci

2. User mengakses tombol generate key.

3. Sistem membangkitkan key berdasarkan parameter yang

dimasukkan user.

4. User dapat melihat publickey dan privatekey hasil

generatekey.

Alternative Flows -

Tabel 3.4 Spesifikasi Use Case Enkripsi Plainteks (Knapsack)

Name Enkripsi Plainteks

Actors User

Trigger 1. User telah menginputkan plainteks yang akan dienkripsi

2. User telah mendapatkan kunci untuk enkripsi

Preconditions User mengakses tombol enkripsi

Post Conditions User dapat melihat cipherteks hasil proses enkripsi

Success Scenario 5. User telah menginputkan plainteks yang akan dienkripsi.

6. User mengakses tombol load kunci dan tombol enkripsi.

7. Sistem membangkitkan key berdasarkan parameter yang

dimasukkan user.

8. Sistem akan melakukan proses enkripsi terhadap plainteks

yang diinputkan dan menampilkan cipherteksnya.

9. User dapat melihat cipherteks hasil proses enkripsi.

(40)

Tabel 3.5 Spesifikasi Use Case Dekripsi Cipherteks (Knapsack)

Name Dekripsi cipherteks

Actors User

Trigger 1. User telah menginputkan cipherteks yang akan didekripsi

2. User telah memasukkan kunci dekripsi (privatekey)

Preconditions User mengakses button decrypt

Post Conditions User dapat melihat plainteks hasil proses dekripsi

Success Scenario 1. User telah menginputkan cipherteks yang akan didekripsi.

2. User telah memasukkan kunci

3. User mengakses tombol dekripsi.

4. Sistem akan melakukan proses dekripsi terhadap ciphertkes

yang diinputkan dan menampilkan plainteksnya.

5. User dapat melihat plainteks hasil proses dekripsi.

Alternative Flows -

Tabel 3.6 Spesifikasi Use Case Kombinasi (Knapsack dan RLE)

Name Kombinasi

Actors User

Trigger User telah menginputkan plainteks

Preconditions User mengakses tombol Kombinasi (Enkripsi dan Kompresi

atau Kompresi dan Enkripsi)

Post Conditions User dapat melihat hasil proses kombinasi

Success Scenario 1. User telah menginputkan plainteks

2. User mengakses tombol Kompresi dan Enkripsi atau

Enkripsi dan Kompresi

3. Sistem akan melakukan proses kombinasi terhadap teks

yang diinputkan dan menampilkan hasil hasil berupa

bentuk chiperteks

4. User dapat melihat hasil kombinas pada kolom yang

(41)

3.3.2 Activity diagram

Selain tabel-tabel spesfikasi pada subbab sebelumnya, activity diagram juga bagian dari pemodelan sistem. Berikut adalah activity diagram untuk setiap tabel proses pada subbab sebelumnya.

Dibawah ini Activity Diagram untuk Use Case Kompresi:

User memasukkan file teks

User menekan tombol Kompresi

Sistem mengecek proses yang akan dilakukan

Sistem melakukan Kompresi

Sistem memperlihatkan output Benar

salah

(42)

User memasukkan file Kompresi

User menekan tombol Dekompresi

Sistem mengecek proses yang akan dilakukan

Konfirmasi apa yang harus dilakukan user

Sistem melakukan Dekompresi

Sistem memperlihatkan output Benar

salah

Gambar 3.4 Acitvity diagram Dekompresi

(43)

User Memasukkan parameter Kunci

User menekan tombol Barisan Kunci Rahasia

Sistem mengecek proses yang dilakukan

Sistem melakukan proses bangkit kunci Rahasia

Sistem menampilkan Kunci rahasia

User menekan tombol Generate

Sistem menampilkan nilai m secara acak dan nilai n secara list

User memasukkan nilai n

Sistem melakukan proses bangkit kunci Rahasia

Sistem melakukan proses bangkit kunci Rahasia

Sistem menampilkan Kunci rahasia User menekan tombol Barisan Kunci Rahasia

Salah

Benar Salah

Benar

(44)

Dibawah ini Activity Diagram untuk Use Case Enkripsi:

User memasukkan file Teks

User menekan tombol Enkripsi

Sistem mengecek proses yang akan dilakukan

Sistem melakukan Enkripsi Teks

Sistem memperlihatkan output Benar

salah

(45)

Dibawah ini Activity Diagram untuk Use Case Dekripsi:

User memasukkan file Enkripsi

User menekan tombol Dekripsi

Sistem mengecek proses yang akan dilakukan

Sistem melakukan Dekripsi cipherteksi

Sistem memperlihatkan output Benar

salah

(46)

Dibawah ini Activity Diagram untuk Use Case Kombinasi:

User memasukkan file Teks

User menekan tombol Kombinasi

Sistem mengecek proses yang akan dilakukan

Sistem melakukan proses kombinasi

Sistem memperlihatkan output Benar

salah

Gamabar 3.8 Activity Diagram Kombinasi

3.3.3 Sequence diagram

Proses enkripsi plainteks menggunakan algoritma Knapsack yang dilakukan oleh

sistem membangkitkan kunci terlebih dahulu kemudian dapat mengenkripsi plainteks.

Kemudian sistem akan mengecek kebutuhan data dan proses yang akan dilakukan

selanjutnya. Sequence Diagram untuk proses kombinasi Kompresi dan Enkripsi

(47)

User

:PilihTeks :LoadKunci :Kom_Enk

BrowseTeks

menampilkanTeks

loadKunci Menampilkan Kunci

Kompresi dan Enkripsi

Hasil Kompresi dan Enkripsi (cipherteks)

Kompresi dahulu kemudian enkripsi

Gambar 3.9 Sequence Diagram Kombinasi Kompresi dan Enkripsi

Untuk proses kombinasi Enkripsi dan Kompresi proses sistem sama dengan

gambar 3.9, hanya saja proses enkripsi terlebih dahulu dan kemudian proses

kompresi.

Setelah proses kombinasi dengan kedua algoritma berhasil, kita bisa

melakukan proses kombinasi Dekripsi dan Dekompresi untuk hasil dari Kompresi dan

Enkripsi. Untuk mendapatkan kembali plainteks semula. Sequence diagram untuk

(48)

User

:PilihTeks :LoadKunci :DekripsiDekompresi

Browse cipherTeks

menampilkan cipherTeks

loadKunci Menampilkan Kunci

Dekripsi dan Dekompresi

Hasil Dekripsi dan Dekompresi (plainteks)

Dekripsi dahulu kemudian Dekompresi

Gambar 3.10 Sequence Diagram Kombinasi Dekripsi dan Dekompresi

Untuk mengembalikan plainteks pada proses kombinasi Enkripsi dan

Kompresi, proses yang dilakukan adalah kombinasi Dekompresi dan Dekripsi. Proses

sistem tersebut sama dengan gambar 3.10, hanya saja proses Dekompresi terlebih

dahulu dilakukan dan kemudian proses Dekripsi.

Untuk membangkitkan kunci yang digunakan pada algoritma Knapsack

diperlukan parameter yang dimasukkan oleh user. Kemudian sistem akan melakukan

pembangkitan kunci berdasarkan parameter tersebut. Dibawah ini adalah sequence

(49)

User

:LoadKunci

input parameter kunci

Bangkit Kunci

Menampilkan Kunci

Gambar 3.11 Sequence Diagram Bangkit Kunci

3.3.4 Perancangan Flowchart Sistem

Perancangan flowchart sistem terdiri dari :

1. Flowchart Proses Algoritma Knapsack

2. Flowchart Proses Algoritma RLE

3. Flowchart Proses Kombinasi

3.3.4.1 Flowchart Proses Algoritma Knapsack

Flowchart proses Enkripsi dengan menggunakan metode Algoritma Knapsack dapat

(50)

Mulai

Masukkan Plainteks

Load Kunci Publik

Enkripsi Perkalian setiap plainteks

dengan Kunci Publik

Ciperteks

Akhir

Gambar 3.12 Flowchart Enkripsi

Flowchart proses Dekripsi dengan menggunakan metode Algoritma Knapsack

dapat dilihat pada gambar 3.13.

Mulai

Masukkan cipherteks

Dekripsi Perkalian setiap cipherteks dengan

kunci rahasia

Plainteks

Akhir

(51)

3.3.4.2 Flowchart proses algoritma rle

Flowchart proses Kompresi dengan menggunakan metode algoritma RLE

dapat dilihat pada gambar 3.14.

Mulai

Masukkan Plainteks

Kompresi

Hasil Kompresi

Akhir

Gambar 3.14 Flowchart Kompresi

Flowchart proses Dekompresi dengan menggunakan metode algoritma RLE

dapat dilihat pada gambar 3.15.

Mulai

Masukkan hasil Kompresi

Dekompresi

Plainteks

Akhir

(52)

3.3.4.3 Flowchart proses kombinasi

Flowchart proses kombinasi Kompresi dan Enkripsi dengan dua metode

algoritma RLE dan Algoritma Knapsack dapat dilihat pada gambar 3.16.

Mulai

Masukkan Plainteks

Kompresi

Enkripsi

Ciperteks

Akhir

Gambar 3.16 Flowchart Kompresi dan Enkripsi

Flowchart proses Enkripsi dan Kompresi dengan dua metode algoritma

(53)

Mulai

Masukkan Plainteks

Enkripsi

Kompresi

Hasil Kompresi

Akhir

Gambar 3.17 Flowchart Enkripsi dan Kompresi

Flowchart proses Dekompresi dan Dekripsi dengan dua metode algoritma

(54)

Mulai

Masukkan hasil dari

Enkripsi dan kompresi

Dekompresi

Dekripsi

Plainteks

Akhir

Gambar 3.18 Flowchart Dekompresi dan Dekripsi

Flowchart proses Dekripsi dan Dekompresi dengan dua metode algoritma

(55)

Mulai

Masukkan hasil dari kompresi

dan Enkripsi

Dekripsi

Dekompresi

Plainteks

Akhir

Gambar 3.19 Flowchart Dekripsi dan Dekompresi

3.4 Perancangan Antar Muka

Perancangan antarmuka adalah rancangan tampilan yang menghubungkan pengguna

(user) dan komputer dengan bantuan program. Salah satu syarat pembuatan antarmuka

adalah berorientasi pada kemudahan dalam penggunaannya (user friendly) serta

informatif.

Rancangan antarmuka aplikasi Kombinasi Algoritma Knapsack dan RLE pada

file Teks dilakukan dengan tools bahasa Matlab 2009. Untuk memudahkan User

dalam mengoperasikan perangkat lunak ini, maka dirancang sebuah User Interface

yaitu sebuah antarmuka menggunakan beberapa rancangan halaman, antara lain:

1. RancanganAntarmuka Form Beranda

(56)

3.4.1. Perancangan Form Beranda

Rancangan Form Beranda merupakan tampilan yang pertama kali muncul saat

program dijalankan. Rancangan tab Beranda terlihat seperti pada Gambar 3.18 di

bawah ini.

Beranda

Beranda Menu Bantuan Tentang Keluar

ANALISIS KOMBINASI ALGORITMA KNAPSSACK DAN RLE PADA FILE TEKS

Logo Universitas Sumatera Utara

NAMIRA LISTYA UTAMI TANJUNG 081401093

Gambar 3.20 Form Beranda

3.4.2. Perancangan Form Menu

Pada rancangan Form Menu berfungsi untuk menampilkan beberapa form lainnya

seperti form Bangkit kunci, form Kompresi, form Dekompresi, form Enkripsi, form

Dekripsi, form Kombinasi Algoritma Knapsack dan RLE, form Dekripsi dan

Dekompresi, dan form Dekompresi dan Dekripsi. Form yang dipaparkan hanya

(57)

Dekripsi dan Dekompresi, dan form Dekompresi dan Dekripsi pada gambar 3.23

dan 3.24.

a. Perancangan Form Bangkit Kunci

W0 :

W1 :

Distance :

m:

n:

n:

Proses

Simpan

Bersih

Kembali Bangkit Kunci

Beranda Menu Bantuan Tentang Keluar

Bangkit Kunci

Barisan SuperIncreasing

Generate

Gambar 3.21 Form Bangkit Kunci

Keterangan:

1. Button Barisan superincreasing, berfungsi menampilkan kunci rahasia

2. Button Generate, berfungsi menampilkan bilangan acak pada nilai M

(58)

b.Perancangan Form Kombinasi

Beranda Menu Bantuan Tentang Keluar

Kombinasi Algoritma Knapsack dan RLE pada File Teks

Gambar 3.22 Form Kombinasi

Keterangan:

1. Button Pilih Teks, berfungsi menampilkan teks yang akan dieksekusi

pada Edit 1

2. Button Load Kunci, berfungsi menampilkan kunci publik

3. Button Kompresi dan Enkripsi, berfungsi menampilkan hasil dari teks

yang telah dikompresi dan dienkripsi pada Edit 2.

4. Button Enkripsi dan Kompresi, berfungsi menampilkan hasil dari teks

yang telah dienkripsi dan dikompresi pada Edit 3.

5. Button Bersih, berfungsi membersihkan/menghapus semuanya

6. Button Kembali, berfungsi keluar dari form tersebut

7. Button Simpan1, berfungsi menyimpan hasil teks yang telah dikompresi

dan dienkripsi

8. Button Simpan2, berfungsi menyimpan hasil teks yang telah dienkripsi

(59)

c.Perancangan Form Dekripsi dan Dekompresi

Beranda Menu Bantuan Tentang Keluar

Dekripsi dan Dekompresi

1. Button Pilih Teks, berfungsi menampilkan teks hasil kombinasi

Kompresi dan Enkripsi pada

2. Button Dekripsi dan Dekompresi, berfungsi menampilkan teks yang

telah didekripsi dan dekompresi (teks asli) pada

3. Button Simpan, berfungsi menyimpan hasil dekripsi dan dekompresi.

4.Button Bersih, berfungsi membersihkan/menghapus semuanya

5. Button Kembali, berfungsi keluar dari form tersebut.

(60)

Edit 1

Beranda Menu Bantuan Tentang Keluar

Dekompresi dan Dekripsi

1. Button Pilih Teks, berfungsi menampilkan teks hasil kombinasi

Enkripsi dan KOmpresi pada

2. Button Dekompresi dan Dekripsi, berfungsi menampilkan teks yang

telah didekompresi dan dekripsi (teks asli) pada

3. Button Simpan, berfungsi menyimpan hasil dekompresi dan dekripsi

4. Button Bersih, berfungsi membersihkan/menghapus semuanya

(61)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi sistem dilakukan setelah tahap analisis dan perancangan sistem

selesai dilakukan. Tahap ini merupakan tahapan penerjemahan sistem kedalam bahasa

pemrograman atau yang lebih sering disebut sebagai pengkodean. Sistem ini akan

diimplementasikan pada bahasa matlab dengan menggunakan Matlab 2009. Sistem ini

memiliki 4 Form Utama, yaitu Form Beranda, Form Menu, Form Tentang, dan Form

Bantuan. Form Menu memiliki 8 Form turunan, yaitu Form Kompresi, Form

Dekompresi, Form Bangkit Kunci, Form Enkripsi, Form Dekripsi, Form Kombinasi

Algoritma Knapsack dan RLE, Form Dekripsi dan Dekompresi, dan Form

Dekompresi dan Dekripsi.

4.1.1 Proses tahapan algoritma Knapsack dan RLE

4.1.1.1Proses Bangkit Kunci

Untuk menentukan barisan Kunci rahasia, harus memasukkan parameter sebagai

contoh:

w(1) = 2

w(2) = 3

(62)

Parameter tersebut kemudian dimasukkan dalam rumus berikut :

dimana nilai awal itu adalah w(1) = 2. Sehingga didapatkan :

w(3)= 4 + 2 +3 =9

w(4)= (4 + 1)+2 +3 +9 = 19

w(5)= (4 + 2) + 2 +3 +9 + 19 = 39

w(6)= (4 + 3) + 2 +3 +9 + 19 + 39 = 79

w(7)= 4 + 2 +3 +9 + 19 + 39 + 79 = 155

maka dari perhitungan tersebut didapatkan bahwa kunci rahasia adalah

2,3,9,19,39,79,155

Dibawah ini adalah tampilan source code dari proses Bangkit Kunci rahasia:

Gambar 4.1 Source code proses Bangkit Kunci Rahasia

Untuk menentukan barisan Kunci publik , tentukan nilai Modulus m yaitu angka yang

lebih besar dari jumlah semua elemen didalam barisan dan nilai n yaitu nilai yang

tidak mempunyai persekutan terhadap m. Pada sistem ini nilai m dibangkitkan secara

acak :

m = 352

n = 5

dihitung menggunakan rumus:

(63)

Keterangan:

Kp = barisan Kunci Publik

w(Kr) = nilai setiap barisan kunci rahasia

Sehingga didapat:

(2.5)mod 352 = 10

(3.5)mod 352 = 15

(9.5)mod 352 = 45

(19.5)mod 352 = 95

(39.5)mod 352 = 195

(79.5)mod 352 = 43

(155.5)mod 352 = 71

Barisan Kunci Publik adalah 10,15, 45, 95, 195, 43, 71.

Dibawah ini adalah tampilan source code dari Bangkit Kunci Publik:

Gambar 4.2 Source Code Proses Bangkit Kunci Publik

4.1.1.2Proses Kompresi dan Enkripsi

Sebagai contoh implementasi dalam kasus ini, misalnya untuk mengenkripsi plainteks

‘AAAAAA’. Maka kita akan mendapatkan :

Kompresi menggunakaan RLE , plainteks “A” mengalami perulangan sebanyak 7

kali maka kompresi dari plainteks “AAAAAAA” adalah A7.

(64)

Gambar 4.3 Source Code Kompresi

Untuk mengenkripsi plainteks yang telah dikompresi yaitu A7:

Karakter ‘A’ dalam ASCII mempunyai nilai biner 1000001

Karakter ‘7’ dalam ASCII mempunyai nilai biner 0110111

Blok plainteks ke-1 : 1000001

Kunci publik : 10 15 45 95 195 43 71

Kriptogram : (1x10)+(0x15)+(0x45)+(0x95)+(0x195)+(0x43)+(1x71) = 81

Blok plainteks ke-2 : 0110111

Kunci publik : 10 15 45 95 195 43 71

Kriptogram :(0x10)+(1x15)+(1x45)+(0x95)+(1x195)+(1x43)+(1x71) = 369

Maka cipherteks dari plainteks A7 adalah 81, 369

Berikut adalah tampilan source code dari proses Enkripsi:

Gambar 4.4 Source Code Proses Enkripsi

Jika ingin mengembalikan ke teks semula maka harus dilakukan dekripsi terlebih

dahulu kemudian dekompresi.

Cipherteks dari 81, 369 akan dideskripsikan dengan menggunakan kunci rahasia {2,

(65)

n–1 = (1 + 352k)/5

Dengan mencoba k = 0, 1, 2, …, maka untuk k = 2 diperoleh n–1 bilangan bulat, yaitu

n–1 = (1 + 352 ⋅ 2)/5 = 141

Cipherteks dari Contoh sebelumnya adalah 81, 369 . Plainteks yang berkoresponden

diperoleh kembali sebagai berikut:

81 ⋅ 141 mod 352 = 157 = 2 + 155 , berkoresponden dengan 1000001 yaitu A

369⋅ 141 mod 352 = 285 = 3 + 9 + 39 +79 + 155 , berkoresponden dengan 0110111

yaitu 7

Maka diperoleh plainteks A7.

Berikut adalah source code dari proses Dekripsi:

Gambar 4.5 Source Code Proses Dekripsi

A7 bukan merupakan plainteks awal, untuk menentukannya diperlukan dekompresi

yaitu membalikkan perulangannya A adalah objek yang berulang dan 7 adalah nilai

perulangannya, maka diperoleh A sebanyak tujuh kali. Sehingga plainteks awal adalah

AAAAAAA”.

(66)

Gambar 4.6 Source Code Proses Dekompresi

4.1.1.3 Proses Enkripsi dan Kompresi

Proses awal dalam tahap ini adalah enkripsi data terlebih dahulu kemudian kompresi

data. Kunci Publik, Kunci rahasia dan contoh plainteks sam dengan data diatas.

Plainteks = AAAAAA

Kunci Publik = 10 15 45 95 195 43 71

Kunci Rahasia = 2 3 9 19 39 79 155

Nilai m = 352

Nilai n = 5

Nilai n–1 = 141

Enkripsi plainteks :

Blok plainteks A : 1000001

Kunci publik : 10 15 45 95 195 43 71

Kriptogram : (1x10)+(0x15)+(0x45)+(0x95)+(0x195)+(0x43)+(1x71) = 81

Maka cipherteks adalah 81, 81, 81, 81, 81, 81, 81

Kompresi plainteks :

81 mengalami perulangan sebanyak tujuh kali maka kompresiny adalah

81

7

Untuk mengembalikan plainteks awal dilakukan dekompresi data terlebih dahulu

kemudian dekripsi data.

Gambar

Tabel 3.2 Spesifikasi Use Case Dekompresi (RLE)
Tabel 3.4 Spesifikasi Use Case Enkripsi Plainteks (Knapsack)
Gambar 3.3 Activity Diagram Kompresi
Gambar 3.4 Acitvity diagram Dekompresi
+7

Referensi

Dokumen terkait

Verbal interruption particularly appear in the classroom are : It is considers being misbehavior if the students are singing or humming while doing exercises and

Dalam penelitian dengan judul “Sistem Informasi Akademik pada MA Islamiyah Attanwir Bojonegoro Berbasis Web dengan menggunakan CodeIgniter ” dijelaskan

Dukungan dalam pelaksanaan program Desa Siaga juga didapatkan dari semua lapisan masyarakat, baik dari instansi terkait seperti kepala desa, puskesmas dan juga dari tokoh masya-

Penelitian dilakukan dengan mengumpulkan data sekunder, dan juga dilakukan wawancara dengan pihak Nissan untuk mengetahui strategi yang dilakukan oleh Nissan Indonesia dari tahun

Sifat individu baru yang dihasilkan akan berbeda dengan kedua induknya, tetapi peleburan sifat keduanya.. Sifat individu baru yang dihasilkan sama

Membantu Direksi dalam memenuhi tanggungjawab pengelolaan perusahaan, dengan cara audit atas ketaatan, operasional dan kinerja seluruh kegiatan unit kerja perusahaan secara

Para pelanggan dikelompokkan ke dalam industri-industri yang berbeda dan perusahaan-perusahaan dalam industri yang sama dianggap mempunyai kebutuhan jasa logistik yang sama,

A. Dalam masyrakat terkadang terjadi konflik. Hal ini terjadi karena perbedaan kepentingan. Pada masyarakat industri juga acapkali terjadi konflik antara buruh pabrik