IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN KECEPATAN WAKTU PROSES PADA ENKRIPSI GAMBAR DENGAN ALGORITMA AFFINE CIPHER SKRIPSI ILHAM AKBAR 081402039

  

IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN

KECEPATAN WAKTU PROSES PADA ENKRIPSI GAMBAR

DENGAN ALGORITMA AFFINE CIPHER

SKRIPSI

  

ILHAM AKBAR

081402039

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

  

2014 IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN KECEPATAN WAKTU PROSES PADA ENKRIPSI GAMBAR DENGAN ALGORITMA AFFINE CIPHER SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

  Sarjana Teknologi Informasi

  ILHAM AKBAR 081402039

  PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014

  

PERSETUJUAN

Judul :

  IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN KECEPATAN WAKTU PROSES PADA ENKRIPSI GAMBAR DENGAN ALGORITMA AFFINE CIPHER Kategori : SKRIPSI Nama :

  ILHAM AKBAR

  Nomor Induk Mahasiswa :

  081402039

  Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas :

  INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

  Diluluskan di Medan, Agustus 2014

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dedy Arisandi, ST, M.Kom Muhammad Anggia Muchtar, ST.MM.IT NIP 19790831 200912 1 002 NIP 19800110 200801 1 010 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Muhammad Anggia Muchtar, ST. MM.IT NIP 19800110 200801 1 010

  

PERNYATAAN

  IMPLEMENTASI MULTITHREADING UNTUK MENINGKATKAN KECEPATAN WAKTU PROSES PADA ENKRIPSI GAMBAR DENGAN ALGORITMA AFFINE CIPHER SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

  Medan, Agustus 2014 Ilham Akbar 081402039

  Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

  Ucapan terima kasih penulis sampaikan kepada Bapak Dr. Syahril Efendi, S.Si, M.IT selaku pembimbing satu dan Dedy Arisandi, ST, M.Kom selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. dan Ibu Sarah Purnamawati, ST, M.Sc yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Muhammad Anggia Muchtar, ST. MM.IT dan Mohammad Fadly Syahputra, B.Sc, M.Sc.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

  Skripsi ini terutama penulis persembahkan kepada kedua orang tua penulis yang dengan kesabaran luar biasa telah menunggu dan terus menunggu untuk waktu selesainya studi S1 penulis. Ayahanda Erwin yang selalu memberikan nasehat dan jalan keluar dengan cara dan senyum khas nya, mampu membuat kemalasan yang mengenkang penulis berubah menjadi motivasi yang luar biasa, serta ibunda Nila Eva Nita yang dengan suara lembutnya mampu mengembalikan kepingan-kepingan jiwa saya yang telah terserak sehingga saya kembali mengingat tujuan saya diciptakan kedunia ini yaitu beribadah kepada Allah sehingga dimudahkannya lah segala urusan dan rencana yang selama ini terhambat akibat telah jauh melupakannya. Kepada kedua adik saya Ryan Fachri dan Fathur Rahman yang selalu memberikan kedamaian dirumah saat penulis mengerjakan penelitian sehingga mampu menyelesaikannya dengan baik serta mampu menjadi teman bermain dan membuat penulis tidak pernah bosan untuk berada dirumah. Serta kepada teman terdekat saya Indry Ervianti yang tidak pernah bosan untuk memberikan motivasi dan bantuan-bantuan yang saya perlukan untuk terselesaikannya tugas akhir ini. Kemudian penulis juga mengucapkan terima kasih atas saran dan dukungannya kepada teman-teman saya mulai dari program studi Teknologi Informasi hingga yang berada pada kampus lain yang tidak bisa penulis sebutkan satu per satu. Terakhir penulis tidak lupa dan selalu mengucapkan syukur Alhamdulillah kepada Allah SWT, karena atas berkat rahmat dan kasih sayang beliau penulis dapat menyelesaikan tugas akhir ini dan shalawat kepada junjungan kita Baginda Syaidina Muhammad SAW, karena berkat ajaran beliau jugalah penulis paham makna dari belajar dan ilmu pengetahuan yang harus dimiliki sebagai bekal hidup.

  

ABSTRAK

  Waktu pemrosesan sebuah tugas didalam sebuah perangkat lunak merupakan satu hal yang cukup menjadi sorotan oleh pengguna, karena semakin cepat waktu pemrosesan maka semakin cepat kegiatan yang dilakukan didalam perangkat lunak tersebut selesai. Para pengembang perangkat lunak sudah seharusnya mempertimbangkan hal ini pada saat mengembangkan sebuah perangkat lunak. Mulai dari pemilihan algoritma yang tepat, meningkatkan spesifikasi hardware, hingga menambah bandwith pada sebuah jaringan komputer (jika perangkat lunak berbasi client server) akan dilakukan oleh pengembang perangkat lunak agar mendapatkan kecepatan waktu proses yang diinginkan pada perangkat lunak yang dikembangkan. Tetapi ada satu teknik yang dapat digunakan untuk meningkatkan kecepatan waktu proses tersebut, yaitu dengan membagi tugas yang akan diproses kedalam beberapa bagian, kemudian menjalankannya secara bersamaan, teknik ini disebut multithreading. Tetapi pada penggunaan yang berlebihan, multithreading justru akan semakin memperlambat proses bahkan akan memperlambat kegiatan yang sedang dilakukan oleh komputer karena objek thread yang terbentuk didalam memori terlalu banyak. Maka dalam penelitian kali ini, penulis mencoba membuktikan bahwa dengan mengalokasikan jumlah thread yang tepat kecepatan waktu proses yang cukup signifikan akan didapat. Untuk bahan pembuktian, penulis mencoba menerapkan multithreading tersebut pada enkripsi gambar dengan ukuran resolusi gambar yang besar.

  Kata kunci : multithreading, parallel processing, thread, task, multitasking, affine cipher , enkripsi, kriptografi.

  

MULTITHREADING IMPLEMENTATION TO INCREASE RUNTIME

PROCESS AT IMAGE ENCRYPTION USING

AFFINE CIPHER ALGORITHM

ABSTRACT

  Runtime process is a task inside a software which is becoming the user's judge, because faster this faster the process to finish as well. Software developer must consider this when developing software. Choose the fittest algorithm, increase the hardware spesification, and allocate higher bandwith at workstation (if the software is client server based) are something that software developer must done to get the best runtime. but there is a technique can be used to increase runtime with seperate all of tasks into some small tasks and run it asynchronously (together at the same time). This technique is called multithreading. But at an overflow use, instead of increasing runtime, multithreading just slow it even the computer's perform because of the threads have built inside the computer's memmory are too much. Therefore in this research, writer try to establish that with allocating the right number of threads, the best runtime can be reach. For the object to verify the result, writer try to implement multithreading at the encryption of an image with huge resolution.

  

Keyword : multithreading, parallel processing, thread, task, multitasking, affine

cipher , enkripsi, kriptografi.

  

DAFTAR ISI

Hal.

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  DAFTAR GAMBAR x

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

DAFTAR TABEL

Hal.

Tabel 3.2.1 : Data yang akan diolah

  16 Tabel 3.4.1 : Use case spesification pengaturan jumlah pol thread

  25 Tabel 3.4.2 : Proses Enkripsi Gambar

  25 Tabel 3.4.3 : Tutorial aplikasi

  26 Tabel 4.2.1 : Rencana Pengujian

  39 Tabel 4.2.2 : Hasil pengujian

  39 Tabel 4.2.3 : Daftar gambar yang akan diproses

  43 Tabel 4.2.4 : Hasil pengujian berdasarkan waktu proses

  43

  

DAFTAR GAMBAR

Hal.

  24 Gambar 3.4.2 : Diagram aktifitas untuk Pengaturan Jumlah Pol Thread

  38 Gambar 4.2.1 : Grafik perbandingan waktu proses

  38 Gambar 4.1.2 : Rancangan halaman setting aplikasi

  34 Gambar 4.1.1 : Rancangan halaman utama

  32 Gambar 3.4.9 : Tampilan Halaman Setting Aplikasi

  31 Gambar 3.4.8 : Tampilan Halaman Utama Aplikasi

  30 Gambar 3.4.6 : DFD level 1 Aplikasi enkripsi gambar dengan proses sequencial dan multithreading

  29 Gambar 3.4.5 : DFD Level 0 Aplikasi enkripsi gambar dengan proses sequencial dan multithreading

  28 Gambar 3.4.4 : Diagram aktifitas dari tutorial aplikasi

  27 Gambar 3.4.3 : Diagram aktifitas dari proses enkripsi

  20 Gambar 3.4.1 : Use case diagram aplikasi

Gambar 2.1.1 : Penjabaran multithreading

  19 Gambar 3.3.5 : Algoritma enkripsi secara multithreading. Bagian yang didalam kotak adalah thread

  18 Gambar 3.3.4 : Algoritma enkripsi secara sequencial

  17 Gambar 3.3.3 : Algoritma umum dari aplikasi

  17 Gambar 3.3.2 : Arsitektur Umum Proses Multithreading

  12 Gambar 3.3.1 : Arsitektur Umum Proses Sequencial

  11 Gambar 2.2.1 : Arsitektur umum kriptografi

  11 Gambar 2.1.5 : Anggota tunggal dan multiple dari core

  11 Gambar 2.1.4 : Class diagram dari sebuah core

  10 Gambar 2.1.3 : Stereotype dari execution core

  8 Gambar 2.1.2 : Representasi UML untuk proses dan thread

  44