APLIKASI CONCOCTION GENERATOR PADA GAME DROP7

Ukuran: px
Mulai penontonan dengan halaman:

Download "APLIKASI CONCOCTION GENERATOR PADA GAME DROP7"

Transkripsi

1 APLIKASI CONCOCTION GENERATOR PADA GAME DROP7 SKRIPSI Oleh: HENDRA NIM PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK TIME MEDAN 2015

2 ABSTRAK Game Drop7 adalah salah satu jenis permainan yang dimainkan pada kotak berukuran 7 x 7. Permainan ini memerlukan bilangan acak yang akan digunakan sebagai angka pada piring yang muncul. Permainan ini akan menggunakan Concoction Generator untuk menghasilkan bilangan acak yang akan digunakan sebagai nilai piring. Perangkat lunak yang dirancang ini melakukan beberapa tahapan proses yaitu dimulai dari proses pengacakan piring, proses memeriksa struktur piring dan proses pengecekan susunan piring. Perangkat lunak ini menampilkan nilai yang diperoleh pemain. Perangkat lunak juga menampilkan high score yang diperoleh pemain. Kata kunci: permainan, Drop7 i

3 ABSTRACT Game Drop7 is a kind of games that is played in a box with size 7 x 7. This game needs random number which is used while generating new plate. This game uses Concoction Generator to generate random number as the plate value. The software consists of several process, i.e. starting from randomize the plate process, checking the structure of plate and checking plate structure process. The software will show the score that is achieved by player. The software also shows the high score that is achieved by player. Keyword : game, Drop7 ii

4 KATA PENGANTAR Puji syukur kepada Tuhan Yang Maha Esa yang telah memberikan kesehatan kepada saya penulis dan berkat kebajikan yang telah diperbuat selama ini sehingga saya dapat menjelaskan skripsi yang merupakan salah satu pemenuhan kurikulum program studi Teknik Informatika pada STMIK TIME Medan. Adapun judul dari skripsi ini adalah Aplikasi Concoction Generator pada Game Drop7. Dalam penyusunan skripsi ini, penulis banyak menerima bantuan baik bimbingan maupun petunjuk serta saran nasehat dari berbagai pihak. Melalui kesempatan ini penulis ingin menyampaikan rasa terima kasih yang sebesar besarnya kepada : 1. Bapak Fadlin, M.Kom, selaku Dosen Pembimbing I yang telah membantu dan membimbing penulis dalam menyelesaikan skripsi ini. 2. Bapak Tony Ria, S.Pd, M.Kom, selaku Dosen Pembimbing II yang telah membantu dan membimbing penulis dalam menyelesaikan skripsi ini. 3. Bapak Simon Kanggali, selaku Ketua Yayasan STMIK TIME Medan. 4. Bapak Prof. Chainur Arrasyid, selaku Ketua BPH STMIK TIME Medan. 5. Bapak Prof. Harlem Marpaung, Ph.D, selaku Ketua STMIK TIME Medan. 6. Bapak Jackri Hendrik, ST, M.Kom, selaku Puket I STMIK TIME Medan. 7. Bapak Hendri, M.Kom, selaku Ketua Program Studi Teknik Informatika STMIK TIME Medan. iii

5 8. Seluruh Dosen STMIK TIME Medan, yang telah banyak memberikan ilmu pengetahuan kepada penulis selama perkuliahan. 9. Kedua orang tua tercinta dan teman-teman yang telah membantu baik dari segi moril maupun material hingga selesainya penyusunan skripsi ini. Meskipun telah disusun, penulis menyadari bahwa isi dan teknik penulisan skripsi ini masih memerlukan perbaikan untuk menyempurnakannya baik dari segi tata bahasa manapun materi yang terkandung didalamnya. Oleh karena itu setiap kritik dan saran akan diterima dengan senang hati agar dapat dijadikan bahan perbaikan untuk penulisan selanjutnya. Akhir puji dan syukur daya ucapkan kepada Tuhan Yang Maha Esa, semoga kita selalu dalam lindungan dan karunianya. Medan, Mei 2015 Penulis (Hendra) iv

6 DAFTAR ISI ABSTRAK... i ABSTRACT... ii KATA PENGANTAR... iii DAFTAR ISI... v DAFTAR GAMBAR... viii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi BAB I PENDAHULUAN Latar Belakang Masalah Identifikasi Masalah Batasan Masalah Tujuan dan Manfaat Penelitian Sistematika Penulisan BAB II LANDASAN TEORI Randomness (Pengacakan) Randomness dalam Filosofi Randomness dalam Ilmu Alam Randomness dalam Matematika Randomness dalam Kriptografi Randomness dalam Permainan Bilangan Acak Pembangkit Bilangan Acak Pembangkit Bilangan Acak Semu Algoritma Pembangkit Bilangan Acak Semu Non-Linear Feedback Shift Register (NLFSR) Linear Feedback Shift Register (LFSR) Implementasi LFSR Serangan Terhadap LFSR v

7 2.5. Feedback with Carry Shift Register (FCSR) Concoction Generator Landasan Matematis Kriptografi Operasi XOR Penjumlahan dengan Carry Pergeseran Bit (Shift) Rotasi Bit (Rotate) Game Drop BAB III METODE PENELITIAN Tempat dan Jadwal Penelitian Kerangka Kerja Metode Pengumpulan Data Analisa Sistem Perancangan Sistem Pembangunan Sistem Uji Coba Sistem BAB IV ANALISA DAN PERANCANGAN Analisa Analisa Proses Concoction Generator Analisa Persyaratan Perancangan Perancangan Tampilan Perancangan Database vi

8 BAB V HASIL DAN PEMBAHASAN Hasil Spesifikasi Perangkat Keras dan Perangkat Lunak Hasil Pembahasan Algoritma Proses LFSR Algoritma Proses FCSR Algoritma Proses Concoction Generator BAB V1 KESIMPULAN DAN SARAN Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN vii

9 DAFTAR GAMBAR Gambar 2.1. Non-Linear Feedback Shift Register Gambar 2.2. Linear Feedback Shift Register (LFSR) Gambar 2.3. Feedback with Carry Shift Register Gambar 2.4. Sketsa Gambar Concoction Generator Gambar 2.5. Gerbang Logika Operasi XOR Gambar 2.6. Gerbang Logika Operasi XOR yang Dibentuk dari Penggabungan Gerbang Logika Dasar NOT, AND dan OR Gambar 3.1. Metode Perancangan Gambar 3.2. Flowchart Sistem Gambar 4.1. LFSR 16 bit dengan Keadaan Awal dan Posisi Bit yang akan Diproses Adalah 0,1,4,7,12, Gambar 4.2. FCSR 16 bit dengan Keadaan Awal dan Posisi Bit yang akan Diproses Adalah 0,2,4,7,8,12,13, Gambar 4.3. Concoction Generator dengan n = 3 dan m = Gambar 4.4. Rancangan Form Awal Gambar 4.5. Rancangan Form Nama User Gambar 4.6. Rancangan Form Drop Gambar 4.7. Rancangan Form Pengaturan Gambar 4.8. Rancangan Form Daftar Nilai Tertinggi Gambar 4.9. Rancangan Form Bantuan Gambar Rancangan Form Mengenai Pembuat Gambar Relationship Tabel Pada Database Gambar 5.1. Tampilan Awal Gambar 5.2. Tampilan Pilih User Gambar 5.3. Tampilan Tambah User Gambar 5.4. Tampilan Pengaturan Gambar 5.5. Tampilan Permainan Level Mudah pada Saat Memulai Permainan.. 57 Gambar 5.6. Tampilan Permainan Level Mudah pada Saat Peletakkan Piring viii

10 Baru Gambar 5.7. Tampilan Permainan Level Susah pada Saat Memulai Permainan Gambar 5.8. Tampilan High Score ix

11 DAFTAR TABEL Tabel 2.1. Tabel Kebenaran Operasi XOR Tabel 3.1. Daftar Waktu dan Kegiatan Penelitian Tabel 4.1. Tabel HighScore Tabel 4.2. Tabel UserList x

12 DAFTAR LAMPIRAN Lampiran 1. Listing Program CD Lampiran 2. Surat Keputusan Dosen Pembimbing Skripsi Lampiran 3. Daftar Riwayat Hidup Mahasiswa Lampiran 4. Lampiran Proses Perhitungan Lampiran 5. Listing Program Lampiran 6. Kartu Bimbingan xi

13 BAB I PENDAHULUAN 1.1.Latar Belakang Masalah Game Drop7 adalah salah satu jenis permainan yang dimainkan pada kotak berukuran 7 x 7. Pada setiap putaran, pemain meletakkan sebuah piring yang akan jatuh dari atas ke bawah grid. Setiap piring memiliki sebuah angka antara 1 sampai 7 ataupun kosong. Ketika angka dari sembarang piring cocok dengan angka pada piring secara baris ataupun kolom, maka semua piring tersebut akan hilang dan juga akan memukul sembarang piring kosong yang disentuhnya. Apabila sebuah piring kosong dipukul dua kali, maka piring tersebut akan berubah menjadi piring berisi angka. Setelah sejumlah putaran tertentu, maka baris bawah dari kotak akan terisi dengan semua piring kosong. Permainan akan berakhir jika tidak ada tempat lagi untuk piring berangka ataupun piring kosong. Sasaran dari permainan adalah mengumpulkan angka sebanyak mungkin. Bilangan acak sering diterapkan dalam berbagai permainan. Salah satu pembangkit acak semu atau Pseudo Random Number Generator (PRNG) adalah Linier Congruential Generator (LCG). Metode LCG dapat digunakan untuk membangkitkan bilangan acak akan tetapi bilangan acak yang dihasilkan kurang teracak dan bilangan acak yang dihasilkan mudah diprediksi. Oleh karena itu, dapat diterapkan metode lain yang dapat menghasilkan bilangan acak yaitu Concoction Generator. 1

14 2 Proses pembangkitan bilangan acak selain menggunakan LFSR, juga dapat digunakan FCSR. FCSR hampir sama dengan LFSR, yaitu sama-sama memiliki sebuah register geser dan sebuah fungsi feedback. Perbedaannya adalah FCSR memiliki sebuah carry register. Salah satu generator yang menggabungkan penerapan LFSR dan FCSR sekaligus adalah LFSR/FCSR Summation/Parity Cascade yang disebut juga Concoction Generator. Berdasarkan uraian di atas, penulis bermaksud untuk merancang suatu perangkat lunak yang mampu untuk menerapkan concoction generator pada permainan dengan mengambil skripsi yang berjudul Aplikasi Concoction Generator pada Game Drop Identifikasi Masalah Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah bahwa aplikasi permainan yang telah ada belum menerapkan generator untuk membangkitkan bilangan acak yang akan digunakan dalam permainan dan juga belum tersedia aplikasi permainan yang bersifat gratis yang dapat digunakan untuk bermain Drop7. Berdasarkan permasalahan di atas, maka rumusan masalah dari penelitian ini adalah: 1. Bagaimana merancang interface untuk bermain Drop7. 2. Bagaimana menerapkan concoction generator untuk menghasilkan angka acak yang akan digunakan dalam permainan Drop7. 3. Bagaimana membuat suatu perangkat lunak permainan Drop7 dengan menggunakan bahasa pemrograman Microsoft Visual Basic.NET 2010.

15 Batasan Masalah Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini antara lain : 1. Permainan menyediakan dua tingkat kesulitan, yaitu mudah dan susah. 2. Perangkat lunak akan dibuat dengan menggunakan bahasa pemrograman Microsoft Visual Basic.NET Perangkat lunak akan menyediakan daftar 10 nilai tertinggi. 4. Database yang digunakan untuk menyimpan data adalah Microsoft Access Permainan tidak dapat dimainkan pada jaringan komputer ataupun internet. 6. Permainan belum menyediakan fasilitas Chatting Tujuan dan Manfaat Penelitian Tujuan penyusunan skripsi ini adalah untuk merancang suatu perangkat lunak game Drop7 yang menerapkan concoction generator untuk menghasilkan angka acak yang akan digunakan. Manfaat dari penyusunan skripsi Aplikasi Concoction Generator pada Game Drop7 yaitu : 1. Bagi pembaca Sebagai sarana hiburan yang cukup menarik. 2. Bagi penulis Meningkatkan kemampuan penulis dalam membuat aplikasi permainan dengan menggunakan bahasa pemrograman Microsoft Visual Basic.NET 2010.

16 4 3. Bagi STMIK-TIME Laporan skripsi dapat dijadikan sebagai bahan referensi bagi mahasiswa lainnya yang ingin mengangkat topik mengenai permainan Sistematika Penulisan bab yaitu : Agar pembahasan lebih sistematika, maka tulisan ini dibuat dalam enam BAB I PENDAHULUAN Berisi tentang latar belakang masalah, identifikasi masalah, batasan masalah, tujuan dan manfaat penulisan, dan sistematika penulisan. BAB II LANDASAN TEORI Berisi tentang Randomness (Pengacakan), bilangan acak, Non- Linear Feedback Shift Register (NLFSR), Linear Feedback Shift Register (LFSR), Feedback with Carry Shift Register (FCSR), Concoction Generator, dan landasan matematis kriptografi. BAB III METODE PENELITIAN Berisi tentang tempat dan jadwal penelitian, kerangka kerja, metode pengumpulan data, analisa sistem, perancangan sistem, pembangunan sistem dan uji coba sistem. BAB IV ANALISA DAN PERANCANGAN Berisi tentang pembahasan mengenai analisa sistem dan perancangan sistem. BAB V HASIL DAN PEMBAHASAN Berisi tentang hasil, pembahasan dan algoritma.

17 5 BAB VI KESIMPULAN DAN SARAN Berisi tentang kesimpulan dan saran.

18 BAB II LANDASAN TEORI 2.1. Randomness (Pengacakan) Menurut ( Kata random digunakan untuk menyatakan sejumlah ukuran penglihatan yang serba kurang tujuan dan sebab. Sebagai contoh, lokasi tempat jatuhnya setetes air dari suatu air terjun akan bersifat acak pada kejadian umum dan sangatlah tidak mungkin untuk memeriksa gaya apa yang menyebabkan tetesan air tersebut akan jatuh di mana. Keadaan acak merupakan suatu keadaan dimana segala sesuatu yang terjadi tidak teratur, sehingga yang terjadi hampir tidak dapat diprediksi sebelumnya. Kemungkinan hasil prediksi benar sangat kecil dan hanya berupa faktor keberuntungan saja, karena tidak dapat dihitung dengan rumus ataupun fungsi matematika yang sistematis Randomness dalam Filosofi Manusia selalu mencari pola dalam pengalaman mereka, dan kebanyakan pola dasar kelihatannya merupakan sebab akibat. Ini muncul dan secara mendalam ditanamkan dalam otak manusia, dan mungkin juga hewan yang lain. Sebagai contoh, dari suatu laporan bahwa seekor anjing setelah suatu kunjungan pada seorang dokter hewan yang kliniknya mempunyai lantai keramik dengan jenis tertentu, anjing tersebut menolak pergi ke tempat yang mempunyai lantai keramik, meskipun tempat tersebut bukan klinik dokter hewan. 6

19 Randomness dalam Ilmu Alam Secara mendasar, randomness mempunyai suatu arti operasional dalam ilmu alam yaitu sesuatu yang disebut random tidak dapat diketahui penyebabnya dan diperiksa atau dikontrol. Ketika suatu eksperimen dilakukan dan semua variabel kontrol ditetapkan, variasi sisa akan mengalami hal yang tidak dapat dikontrol. Sekalipun jika kemungkinan ini dapat dikontrol secara sempurna, hasil pengujian juga akan menunjukkan hal yang sama. Oleh karena itu, pada kebanyakan sejarah dari ilmu alam, randomness telah diinterpretasi dalam satu cara atau diabaikan pada bagian yang diamati Randomness dalam Matematika Teori probabilitas matematika yang muncul dengan maksud menjelaskan formula matematika dari perubahan peluang, aslinya dipakai dalam konteks perjudian tetapi juga berhubungan dengan situasi dalam area fisika. Statistik dipakai untuk menduga distribusi probabilitas dari suatu kumpulan dari observasi empiris. Nilai random juga memegang peranan penting dalam simulasi karena pada dasarnya keadaan yang disimulasikan memang bersifat tidak pasti Randomness dalam Kriptografi Keberhasilan komunikasi dalam dunia nyata tergantung pada batasan dan pemahaman serta keberhasilan memperkecil efek deleterious dari sumber-sumber gangguan yang beraneka ragam, kebanyakan dari ini merupakan apparent random.

20 8 Akses pada suatu sumber randomness dengan kualitas tinggi secara absolut bersifat kritikal dalam banyak aplikasi kriptografi. Sebagai contoh, suatu pilihan non-random mungkin menghasilkan suatu penyusupan dalam kanal komunikasi yang dipercayai telah diamankan. Misalnya pada mesin Enigma dan artikel mengenai one-time pad merupakan konsekuensi dari perhitungan yang gagal. Kunci yang digunakan pada Enigma tidak secara acak dalam banyak kasus di mana memungkinkan kriptanalis sekutu untuk memecahkan lalu lintas komunikasi tersebut. Terdapat suatu teknik untuk mengkombinasikan data bias random untuk menghasilkan kualitas randomness yang baik. Randomness diturunkan oleh beberapa komponen input output (seperti contoh disk drive) mempunyai cukup entropy untuk diekstraksi untuk tujuan kriptografi. Suatu perhatian lebih untuk memastikan praktek terbaik yang diikuti oleh sistem aktual dan suatu generasi nilai acak untuk dipecahkan oleh penyerang Randomness dalam Permainan Randomness merupakan pusat dari games of chance dan penting dalam industri perjudian. Penggambaran random sering digunakan untuk membuat keputusan dimana tidak ada rasional atau basis yang adil untuk membuat suatu pilihan deterministik Bilangan Acak Bilangan acak murni atau true random number adalah bilangan dimana secara keseluruhan acak dan tidak dapat diprediksi (Schneier, 2011: 369). Untuk

21 9 menghasilkan true random number merupakan hal yang sulit. Kebanyakan bilangan acak yang digunakan merupakan hasil yang dibangkitkan dari sebuah pembangkit bilangan acak yang mempunyai sejumlah bagian yang dapat diprediksi dan berhubungan. Pembangkit bilangan acak ini sering disebut dengan pembangkit bilangan acak semu (pseudo random number generator / PRNG) Pembangkit Bilangan Acak Menurut Schneier (2011: 369), suatu pembangkit bilangan acak (random number generator) dapat didefinisikan sebagai berikut: Suatu pembangkit bilangan acak (random number generator / RNG) adalah suatu peralatan komputasional yang dirancang untuk menghasilkan suatu urutan nilai dimana polanya tidak mudah ditebak, jadi urutan tersebut dapat dianggap sebagai suatu keadaan acak Pembangkit Bilangan Acak Semu Suatu pembangkit bilangan acak semu menghasilkan suatu urutan nilai dimana elemen-elemennya bergantung pada setiap nilai yang dihasilkan (Schneier, 2011: 369). Banyak PRNG mengulang string yang sama setelah melakukan n iterasi. Yang lain menghasilkan nilai acak dengan kecenderungan berfokus pada suatu area tertentu selain mendistribusikannya secara seragam. Juga, ketika menggunakan nilai acak, harus ditentukan suatu nilai include atau exclude dari upper dan lower bounds. Output dari pembangkit bilangan acak semu (pseudo random number generator / PRNG) tidak betul-betul acak, tetapi hanya mirip dengan sifat-sifat dari bilangan acak. PRNG ini mengulang string yang sama setelah melakukan n

22 10 putaran proses. Kebanyakan algoritma dari PRNG ditujukan untuk menghasilkan suatu sampel yang terdistribusi secara seragam Algoritma Pembangkit Bilangan Acak Semu Perlu diingat, semua deretan bilangan acak yang dibangkitkan dari rumus matematika, serumit apapun, dianggap sebagai deret acak semu, karena dapat diulang pembangkitannya. Sementara itu, banyak produk software yang dinyatakan aman karena menggunakan pseudo random number. Namun karena bilangan acak yang dibangkitkan bersifat semu, maka keamanan yang diperoleh juga tidak terjamin. Beberapa algoritma yang dapat digunakan untuk membangkitkan deretan bilangan acak semu adalah sebagai berikut : 1. Linear Congruential Generator (LCG). LCG mewakili salah satu algoritma pseudo random number yang tertua dan paling popular (Kamau, et. al., 2012: 4). Teori dari algoritma ini mudah dipahami dan dapat diimplementasikan secara cepat. Keuntungan dari LCG adalah operasinya yang sangat cepat. LCG dapat didefinisikan dengan rumusan berikut : X n = (ax n-1 + b) mod m Periode dari LCG umumnya adalah sebesar nilai m. Masalah pada LCG adalah lower-order bit yang digenerasi mempunyai periode yang lebih pendek dari deretan secara keseluruhan jika m di-set menjadi pangkat 2. Tanpa desain yang benar, dengan m yang sangat besar, bisa jadi periode bilangan acak yang dihasilkan tidak akan maksimal, bahkan mungkin

23 11 jauh lebih pendek daripada periode maksimalnya. Menurut para ahli kriptografi, LCG tidak dapat digunakan pada kriptografi karena urutan keluarannya dapat diprediksi. Bahkan mereka juga dapat membongkar urutan bilangan acak yang dibangkitkan oleh pembangkit kuadratik. Walaupun LCG tidak bermanfaat untuk kriptografi, namun LCG bermanfaat untuk keperluan lainnya seperti simulasi. 2. Lagged Fibonacci Generator (LFG). LFG merupakan suatu contoh pseudo random number generator. LFG sering disebut juga sebagai Additive Generators. Jenis ini ditujukan pada peningkatan standar dari LCG. Algoritma ini berdasarkan pada generasi urutan atau deret Fibonacci. Deret Fibonacci dapat didefinisikan sebagai berikut : F n = F n-1 + F n-2 Jadi suatu rumusan baru adalah penjumlahan dari dua term dalam deret. Ini dapat digenerasi dengan rumusan ini : S n = S n-j * S n-k mod m ; di mana 0 < j < k. LFG mempunyai periode maksimum (2 k 1) * 2 m-1 jika operasi penambahan atau XOR digunakan untuk mengkombinasikan nilai sebelumnya. Jika operasi perkalian yang digunakan, maka maksimum periode adalah (2 k 1) * 2 m-3. Untuk memperoleh nilai periode maksimum dapat digunakan persamaan polinomial berikut : y = x k + x j + 1 Inisialisasi dari LFG merupakan masalah yang sangat kompleks, setiap periode maksimum dari LFG mempunyai kemungkinan siklus yang sangat besar,

24 12 semuanya berbeda. Memilih suatu siklus adalah mungkin, tetapi metode untuk melakukan ini mungkin membahayakan output subsekuen randomness. Selain itu, output dari LFG sangat sensitif pada kondisi awal, dan efek statistikal mungkin muncul secara inisial ataupun secara periodikal dalam urutan ouput kecuali jika tindakan ekstra hati-hati diambil. Beberapa jenis generator yang menggunakan konsep LFG (Lagged Fibonacci Generator) adalah : a. Fish. Fish adalah sebuah additive generator yang berdasarkan pada teknikteknik yang digunakan pada shrinking generator. Fish menghasilkan sebuah stream dengan panjang 32 bit di mana dapat di-xor dengan sebuah plaintext stream untk menghasilkan ciphertext. Fish sebenarnya merupakan singkatan dari Fibonacci shrinking generator. Pertama-tama, gunakan dua additive generator di bawah ini. Kunci merupakan nilai awal (initial value) dari generator ini. A i = (A i-55 + A i-24 ) mod 2 32 B i = (B i-52 + A i-19 ) mod 2 32 Langkah-langkah ini akan disusutkan menjadi sepasang, tergantung pada least significant bit dari B. Jika berupa bit 1 maka gabungkan keduanya, jika berupa bit 0 maka abaikan B. C j adalah sekuens dari word yang dipakai dari A j dan D j adalah sekuens dari word yang dipakai dari B i. Word ini digunakan dalam pasangan C 2j, C 2j+1, D 2j dan D 2j+1 untuk menghasilkan 32 bit output word yaitu K 2j dan K 2j+1. E 2j = C 2j (D 2j D 2j+1 )

25 13 F 2j = D 2j+1 (E 2j C 2j+1 ) K 2j = E 2j F 2j K 2j+1 = C 2j+1 F 2j Algoritma ini cepat namun tidak aman. b. Pike. Pike adalah sebuah versi yang lebih hebat dari Fish, yang diperkenalkan oleh Ross Anderson, orang yang memecahkan Fish. Algoritma ini menggunakan tiga additive generator. Sebagai contoh : A i = (A i-55 + A i-24 ) mod 2 32 B i = (B i-57 + A i-7 ) mod 2 32 C i = (C i-58 + C i-19 ) mod 2 32 Untuk menghasilkan keystream word, lihat pada carry bit penjumlahannya. Jika semua ketiganya setuju (semua bernilai 0 atau bernilai 1 ), maka clock semua ketiga generator. Jika tidak, maka hanya clock dua generator yang setuju. Simpan carry bit untuk langkah selanjutnya. Output terakhir adalah hasil XOR dari ketiga generator. Pike lebih cepat daripada Fish, namun terlalu baru untuk dipercaya, tetapi sejauh ini kelihatan bagus. c. Mush. Mush merupakan singkatan dari mutual shrinking generator. Algoritmanya mudah untuk dijelaskan. Ambil dua buah additive generator A dan B. Jika carry bit dari A di-set, maka clock B. Jika carry bit dari B di-set, maka clock A. Clock A dan set carry bit jika ada carry. Clock B dan

26 14 set carry bit jika ada carry. Output terakhir adalah hasil XOR dari output A dan B. Generator termudah untuk digunakan adalah dengan menggunakan generator dari Fish : A i = (A i-55 + A i-24 ) mod 2 32 B i = (B i-52 + A i-19 ) mod Fortuna merupakan salah satu jenis crytographically secure pseudo random number generator yang didesain oleh Niels Ferguson dan Bruce Schenier. Bentuk persamaan algoritma ini adalah : X n = X 3 n-1 mod c 4. Blum-Blum Shub (BBS) merupakan suatu pseudo random number generator yang diajukan pada tahun 1986 oleh Lenore Blum, Manuel Blum dan Michael Shub. BBS mempunyai bentuk : X n+1 = X 2 n mod m 5. ISAAC merupakan pseudo random number generator yang didesain oleh Bob Jenkins pada tahun 1996 untuk tujuan keamanan kriptografi. Nama ISAAC merupakan singkatan dari Indirection, Shift, Accumulate, Add and Count. Algoritma ini diinspirasi oleh RC4. ISAAC menggunakan sebuah array dari 256 yang berisi nilai 4 byte integer sebagai internal state, menulis hasilnya ke 256 integer array yang lain, di mana array tersebut hanya dibaca sekali pada suatu waktu hingga menjadi kosong, pada point di mana mereka dikomputasi ulang lagi. 6. Mersenne Twister merupakan suatu pseudo random number generator yang dikembangkan pada tahun 1997 oleh Makoto Matsumoto dan Takuji

27 15 Nishimura. Algoritma ini menawarkan generasi yang cepat dari bilangan acak kualitas tinggi, telah dirancang secara khusus untuk mengatasi setiap cacat yang ditemukan pada algoritma terdahulu. Terdapat dua varian dari algoritma, yang paling baru dan lebih umum dipakai adalah Mersenne Twister MT Algoritma ini mempunyai properti sebagai berikut : a. Dirancang untuk mempunyai suatu periode kolosal Periode ini menjelaskan sesuai dengan namanya, suatu Mersenne prime, dan beberapa jaminan atas algoritma bergantung pada penggunaan internal dari Mersenne prime. b. Mersenne Twister mempunyai suatu equidistribution dimensional high order. Ini berarti secara default, terdapat korelasi serial yang dapat diabaikan antara nilai suksesif dalam deret output. c. Algroritma lebih cepat daripada algoritma yang ada tetapi menggunakan generator yang lebih statistikal. Algoritma ini bersifat statistikal secara acak dalam semua bit outputnya. Algoritma ini sendiri merupakan suatu twisted generalised shift feedback register atau TGSFR. Kata twist merupakan suatu transformasi di mana menjamin equidistribution dari nilai yang digenerasi dalam 623 dimensi. Tidak seperti Blum-Blum Shub, algoritma ini mempunyai bentuk bersifat native dan tidak cocok untuk kriptografi. Pada banyak aplikasi, bagaimana pun juga algoritma ini cepat dan telah menjadi algoritma pseudo random generator pilihan.

28 16 7. Feedback Shift Register, terdiri dari beberapa jenis, yaitu Linear Feedback Shift Register (LFSR), Non Linear Feedback Shift Register (NLFSR) dan Feedback with Carry Shift Register (FCSR). Setiap algoritma ini akan dibahas secara terperinci pada pembahasan berikutnya Non-Linear Feedback Shift Register (NLFSR) Mudah untuk membayangkan suatu rangkaian umpan balik (feedback) yang lebih rumit daripada yang digunakan LFSR atau FCSR. Masalahnya adalah tidak terdapat suatu teori matematika untuk menganalisanya. Secara khusus, beberapa masalah dengan rangkaian umpan balik shift register nonlinear adalah : a. Mungkin terdapat prasangka (bias), seperti terdapat lebih banyak 1 daripada 0 atau lebih sedikit langkah daripada yang diharapkan pada keluaran. b. Periode maksimum dari rangkaian mungkin jauh lebih rendah daripada yang diharapkan. c. Periode rangkaian dapat berbeda untuk nilai awal yang berbeda. d. Rangkaian dapat muncul secara acak untuk sesaat, tetapi kemudian terjadi dead end pada suatu nilai tunggal. Ini dapat diselesaikan dengan meng-xorkan fungsi nonlinear dengan bit paling kanan. Karena tidak ada teori untuk menganalisis sisi keamanan umpan balik nonlinear shift register, maka terdapat sedikit perangkat (tool) kriptanalis stream cipher yang didasarkan padanya. Oleh karena itu, dapat digunakan umpan balik nonlinear shift register pada rancangan stream cipher, tetapi harus berhati-hati dalam menggunakannya.

29 17 Dalam sebuah umpan balik nonlinear shift register, fungsi umpan balik dapat berupa apa saja yang diinginkan seperti terlihat pada contoh sederhana dalam Gambar 2.1 berikut ini. Gambar 2.1 Non-Linear Feedback Shift Register Sumber: Munir, 2010 Keterangan gambar 2.1 : a. Nilai feedback dari NLFSR diatas dapat dihasilkan dari perhitungan berikut ini: = (S 5 S 6 ) (S 2. S 3 ) b. Hasil output : S Linear Feedback Shift Register (LFSR) Suatu Linear Feedback Shift Register (LFSR) adalah suatu mekanisme untuk menghasilkan bit (Kurniawan, 2011: 71). Register memiliki sebarisan sel yang ditentukan oleh vektor inisialisasi yang biasanya menjadi kunci rahasia. Tingkah laku register diatur oleh sebuah counter (clock). Pada setiap saat isi sel dari register digeser (shift) ke kanan sejauh satu posisi, dan hasil operasi XOR terhadap subset dari isi sel ditempatkan pada sel paling kiri. Satu bit dari output biasanya diturunkan selama prosedur update ini.

30 18 Adapun contoh sederhana dari LFSR dapat dilihat pada gambar 2.2 berikut ini : Keterangan gambar 2.2 : Gambar 2.2 Linear Feedback Shift Register (LFSR) Sumber: Munir, 2010 a. Nilai feedback dari LFSR : S 1 S 3 b. Hasil output : S 0 LFSR cepat dan mudah untuk diimplementasikan baik secara hardware maupun secara software. Akan tetapi, ukuran bilangan yang dihasilkan oleh LFSR tunggal tidak cukup aman karena memungkinkan analisis yang mudah terhadap hasil tersebut. Namun demikian, LFSR sangat berguna sebagai blok bangunan dalam sistem yang lebih aman. Suatu shift register cascade merupakan sebuah set dari LFSR-LFSR yang dihubungkan bersama-sama dengan cara tertentu sedemikian hingga keadaan dari LFSR sebelumnya dalam bentuk aliran. Sifat dan tingkah laku yang saling tergantung ini biasanya ditempuh dengan menggunakan satu LFSR untuk mengontrol LFSR berikutnya Implementasi LFSR LFSR dapat digunakan sebagai pengaman pada komunikasi CDMA dan GSM. Mayoritas sistem enkripsi militer menggunakan sistem LFSR dengan

31 19 desain yang dirahasiakan, karena mudah diimplementasikan pada perangkat keras namun sangat tidak efisien untuk diimplementasikan pada perangkat lunak. Bayangkan untuk mengenkrip 8 karakter (64 bit) diperlukan waktu 64 langkah untuk menghasilkan 64 bit kunci sebelum enkripsi XOR dapat dilakukan. Tentu ini perbandingan relatif antara implementasi pada perangkat keras dan perangkat lunak. Sebab, dengan kecepatan prosesor yang ada sekarang ini, LFSR tentu akan sangat cepat dijalankan. Di antara implementasi LFSR, yang menarik untuk dipelajari adalah Algoritma A5. A5 merupakan stream cipher yang digunakan untuk mengamankan percakapan telepon selular GSM. A5 merupakan cipher buatan Perancis, demikian pula GSM merupakan telepon selular standar Eropa. A5 merupakan stream cipher yang terdiri dari 3 buah LFSR yang dikontrol oleh klok dengan derajat 19, 22 dan 23. Atau dengan kata lain, memiliki LFSR 19 bit, 22 bit dan 23 bit. Masing-masing LFSR memiliki periode berturutturut , dan Stream cipher A5 memiliki beberapa sifat yang dapat dirincikan sebagai berikut: 1. Pengontrol klok merupakan fungsi dari bit tengah dari setiap register geser. 2. Jumlah derajat dari ketiga register geser adalah 64 ( ). Kunci sesi 64 bit digunakan untuk melakukan inisialisasi isi register geser. 3. Dua aliran bit (114 bit) dihasilkan untuk setiap frame yang di-xorkan dengan kanal trafik uplink (dari HP ke sentral) dan downlink (dari sentral ke HP). 4. Dirumorkan bahwa algoritma A5 hanya mempunyai panjang kunci efektif 40 bit.

32 Serangan Terhadap LFSR Analisis stream cipher lebih mudah daripada analisis block cipher. Sebagai contoh, parameter untuk melakukan analisis generator berbasis LFSR adalah linear complexity (kompleksitas linier). Parameter ini didefinisikan sebagai panjang n yang merupakan panjang register LFSR terpendek, yang dapat menirukan keluaran generator aslinya. Semua deretan selalu dibangkitkan oleh mesin keadaan terbatas dengan kompleksitas linier yang terbatas pula. Kompleksitas linier ini digunakan untuk membangkitkan LFSR tiruan setelah memeriksa 2n bit keluaran LFSR aslinya. Bila dapat membangkitkan LFSR ini, maka berarti telah dapat memecahkan sandi rahasia stream cipher. Tentu saja sebelum dapat menerka isi generatornya, terlebih dahulu harus mendapatkan urutan keluaran generator tersebut. Dan untuk mengetahui urutan keluaran generator tersebut dapat digunakan analisis kode rahasia yang telah diuraikan sebelumnya. Untuk meningkatkan keamanan LFSR dilakukan peningkatan kompleksitas linier, yang dapat dilakukan dengan beberapa variasi. Diantaranya dengan menggunakan beberapa LFSR dan mengkombinasikan keluarannya, atau memberi klok tidak pada saat yang bersamaan di antara LFSR tersebut. Sejumlah besar LFSR yang sangat kompleks telah dapat dipecahkan susunan register dan umpan baliknya, sehingga tidak aman untuk kriptografi. Tentu saja institusi militer semacam NSA (National Security Agency) dapat memecahkan lebih banyak lagi.

33 Feedback with Carry Shift Register (FCSR) FCSR hampir sama dengan LFSR, yaitu sama-sama memiliki sebuah register geser dan sebuah fungsi feedback. Perbedaannya adalah FCSR memiliki sebuah carry register. FCSR menjumlahkan beberapa bit bersama-sama dan hasilnya disimpan dalam carry register. Bit baru dihasilkan dari hasil modulo 2 dari bit dalam carry register. Hasil penjumlahan dalam carry register dibagi 2 merupakan nilai bit baru dari carry register. Agar lebih jelas, simaklah contoh sederhana dari FCSR pada gambar 2.3 berikut ini : Gambar 2.3 Feedback with Carry Shift Register Sumber: Schneier, 2011 Keterangan gambar 2.3: 1. Sum = (b 0 + b 1 ) + nilai carry register. 2. Nilai feedback dari FCSR : Sum mod Nilai carry register : Sum div 2. Beberapa hal yang perlu diperhatikan dalam FCSR(Feedback with Carry Shift Register), antara lain : 1. Carry register bukan sebuah single bit, tetapi merupakan sebuah angka.

34 22 2. Ukuran dari carry register minimal harus sebesar log 2 t, di mana t adalah banyak bit yang dilakukan operasi penjumlahan. 3. Dalam FCSR, terdapat sebuah transisi awal sebelum FCSR tersebut memasuki sebuah periode perulangan. 4. Periode maksimum dari FCSR adalah q 1, dimana q adalah connection integer. Nilai ini dapat didefinisikan sebagai berikut : q = 2q q q n q n 1 Namun, tidak semua keadaan awal dapat menghasilkan periode maksimum. Sebuah keadaan awal akan menghasilkan satu dari empat hal berikut ini : 1. Keadaan tersebut merupakan bagian dari periode maksimum. 2. Setelah sebuah transisi awal, akan menghasilkan periode maksimum. 3. Setelah sebuah transisi awal, akan menghasilkan sebuah sekuens dari Setelah sebuah transisi awal, akan menghasilkan sebuah sekuens dari 1. Sampai saat ini, belum banyak ditemukan FCSR stream cipher dalam literatur, teori ini masih terlalu baru. Namun, karena ketertarikannya dan untuk menjaga agar perkembangan terus berlanjut, Bruce Schneier mengemukakan beberapa generator di dalam bukunya yang berjudul Applied Cryptography. Bruce Schneier membagi FCSR stream cipher ke dalam 2 bagian besar, yaitu : 1. FCSR stream cipher yang menggunakan struktur generator yang sama dengan generator LFSR. Teori mengenai generator LFSR ini telah dibahas dalam sub bagian LFSR sebelumnya.

35 23 2. Stream cipher yang menggunakan FCSR dan LFSR. Generator ini memiliki beberapa jenis kombinasi, antara lain : a. LFSR/FCSR Parity Generator. Registernya merupakan sebuah campuran dari LFSR dan FCSR dan fungsi kombinasinya adalah XOR. b. LFSR/FCSR Threshold Generator. Registernya merupakan sebuah campuran dari LFSR dan FCSR dan fungsi kombinasinya adalah fungsi mayoritas. c. LFSR/FCSR Summation Generator. Registernya merupakan sebuah campuran dari LFSR dan FCSR dan fungsi kombinasinya adalah penjumlahan dengan carry. d. FCSR/LFSR Stop-and-Go Generator. Register-1 adalah sebuah FCSR, dan Register-2 dan -3 adalah LFSR. Operasi kombinasinya adalah penjumlahan dengan carry. e. LFSR/FCSR Stop-and-Go Generator. Register-1 adalah sebuah LFSR, dan Register-2 dan -3 adalah FCSR. Operasi kombinasinya adalah penjumlahan dengan carry. f. FCSR/LFSR Shrinking Generator. Sebuah shrinking generator dengan sebuah LFSR menyusutkan (shrinking) sebuah FCSR. g. LFSR/FCSR Shrinking Generator. Sebuah shrinking generator dengan sebuah FCSR menyusutkan (shrinking) sebuah LFSR. h. LFSR/FCSR Summation/Parity Cascade atau disebut juga Concoction Generator. Generator ini merupakan hasil kombinasi antara LFSR/FCSR Summation Generator dan LFSR/FCSR Parity Generator dengan

36 24 menggunakan Gollmann Cascade. Teori mengenai generator ini akan dibahas pada pembahasan berikutnya Concoction Generator Teori yang menyatakan bahwa penambahan dengan carry menghancurkan properti aljabar dari LFSR dan XOR menghancurkan properti aljabar dari FCSR diterapkan oleh generator ini. Generator ini menggabungkan LFSR/FCSR Summation Generator dan LFSR/FCSR Parity Generator dengan menggunakan Gollmann Cascade. Generator ini merupakan sebuah gabungan dari array register, dengan clock dari setiap array dikontrol oleh output dari array sebelumnya. Array pertama dari LFSR di-clock dan hasilnya dikombinasikan dengan menggunakan penambahan dengan carry. Jika output dari hasil fungsi kombinasi ini adalah 1, maka array selanjutnya dari FCSR di-clock dan output dari FCSR tersebut dikombinasikan dengan output dari hasil fungsi kombinasi sebelumnya dengan menggunakan XOR. Jika output dari fungsi kombinasi pertama adalah 0, maka array dari FCSR tidak di-clock dan outputnya adalah hasil penambahan dari proses sebelumnya. Demikian proses tersebut akan berlanjut hingga selesai. Generator ini menggunakan sejumlah register yaitu sebanyak n * m, dimana n adalah jumlah stage dan m adalah jumlah register per stage. Bruce Schneier merekomendasikan n = 10 dan m = 5.

37 25 Sketsa satu stage dari generator ini dapat dilihat pada gambar 2.4 berikut ini: Gambar 2.4 Sketsa Gambar Concoction Generator Sumber: Schneier, Landasan Matematis Kriptografi Landasan matematis kriptografi yang digunakan adalah Operasi XOR, Penjumlahan dengan carry, Pergeseran bit (shift), dan Rotasi bit (Rotate) Operasi XOR XOR adalah operasi Exclusive-OR yang dilambangkan dengan tanda. Operasi XOR akan menghasilkan nilai bit 0 (nol) jika meng-xor-kan dua buah bit yang sama nilainya dan akan menghasilkan nilai bit 1 (satu) jika meng-xorkan dua buah bit yang masing masing nilai bitnya berbeda. Tabel kebenaran dari operasi XOR dapat dilihat pada Tabel 2.1 berikut ini :

38 26 Tabel 2.1 Tabel Kebenaran Operasi XOR A B A B Gambar gerbang logika dari operasi XOR adalah seperti gambar 2.5 berikut : A B Y Gambar 2.5 Gerbang Logika Operasi XOR Sumber: Munir, 2011 Operasi XOR merupakan penggabungan dari NOT, AND dan OR dengan menggunakan rumusan berikut: A B = AB + AB Sehingga gambar gerbang logika dari operasi XOR dapat digambarkan dalam gerbang logika dasar NOT, AND dan OR seperti gambar 2.6 berikut : A Y B Gambar 2.6 Gerbang Logika Operasi XOR yang Dibentuk dari Penggabungan Gerbang Logika Dasar NOT, AND dan OR Sumber: Munir, 2011

39 27 Berikut diberikan sebuah contoh sederhana dari operasi XOR, dengan jumlah input sebanyak 16 bit: Penjumlahan dengan Carry Dalam operasi penjumlahan dengan carry (Addition with Carry) terdapat sebuah carry tambahan sehingga operand yang terdapat dalam operasi penjumlahan dengan carry ada 3 buah yaitu 2 buah bilangan yang akan dijumlahkan ditambah dengan carry. Pada keadaan awal, carry bernilai 0. Carry merupakan tempat penyimpanan sementara nilai bit yang berlebihan pada operasi penjumlahan antara 2 buah bilangan. Cara kerja dari operasi penjumlahan dengan carry dapat dilihat pada contoh berikut ini : Carry = Carry

40 Pergeseran Bit (Shift) Pergeseran bit (Shift) adalah operasi pergeseran terhadap suatu barisan bit sebanyak yang diinginkan. Bit kosong yang telah tergeser akan diberikan nilai bit 0 (nol). Operasi pergeseran terbagi menjadi dua macam yaitu : 1. Operasi Geser Kiri (Shift Left) yaitu operasi yang menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit 0 (nol). Operasi shift left dilambangkan dengan <<. Contoh operasi shift left : << 1 : << 2 : Operasi Geser Kanan (Shift Right) yaitu operasi yang menggeser (shift) sejumlah bit ke kanan (right) dengan nilai bit 0 (nol). Operasi shift right dilambangkan dengan >>. Contoh operasi shift right : >> 1 : >> 2 : Rotasi Bit (Rotate) Rotasi bit (Rotate) adalah operasi perputaran terhadap suatu barisan bit sebanyak yang diinginkan (Munir, 2010: 187). Bit yang tergeser akan dipindahkan ke sisi barisan bit yang berlawanan dengan arah putaran bit. Operasi rotasi terbagi atas dua macam yaitu : 1. Operasi Rotasi Kiri (Rotate Left) yaitu operasi memutar barisan bit ke kiri sebanyak nilai yang diberikan secara per bit, bit kosong yang telah tergeser di sebelah kanan akan digantikan dengan bit yang telah tergeser di sebelah kirinya. Operasi rotate left dilambangkan dengan <<<. Contoh operasi rotate left :

41 <<< 1 : <<< 2 : Operasi Rotasi Kanan (Rotate Right) yaitu operasi memutar barisan bit ke kanan sebanyak nilai yang diberikan secara per bit, bit kosong yang telah tergeser di sebelah kiri akan digantikan dengan bit yang telah tergeser di sebelah kanannya. Operasi rotate right dilambangkan dengan >>>.Contoh operasi rotate right : >>> 1 : >>> 2 : Game Drop7 Menurut ( Game adalah aktifitas yang melibatkan satu atau lebih pemain. Game dapat pula diartikan sebagai tujuan yang ingin dicapai pemain atau sekumpulan aturan yang menandakan apa yang dilakukan pemain dan yang tidak dapat dilakukan. Game dimainkan terutama untuk hiburan, kesenangan, tetapi dapat juga berfungsi sebagai sarana latihan, pendidikan dan simulasi. Game Drop7 adalah salah satu jenis permainan yang dimainkan pada kotak berukuran 7 x 7. Pada setiap putaran, pemain meletakkan sebuah piring yang akan jatuh dari atas ke bawah grid. Setiap piring memiliki sebuah angka antara 1 sampai 7 ataupun kosong. Ketika angka dari sembarang piring cocok dengan angka pada piring secara baris ataupun kolom, maka semua piring tersebut akan hilang dan juga akan memukul sembarang piring kosong yang disentuhnya. Apabila sebuah piring kosong dipukul dua kali, maka piring tersebut akan berubah menjadi piring berisi angka. Setelah sejumlah putaran tertentu, maka baris bawah

42 30 dari kotak akan terisi dengan semua piring kosong. Permainan akan berakhir jika tidak akan piring kosong yang dapat ditempatkan lagi. Sasaran dari permainan adalah mengumpulkan angka sebanyak mungkin.

43 BAB III METODE PENELITIAN 3.1.Tempat dan Jadwal Penelitian Penelitian ini dimulai dari Nopember 2014 yang akan berlangsung sekitar 6 bulan dan berakhir pada bulan April Penelitian ini dilakukan di Jl. Merbabu No.32 AA BB. Penelitian ditujukan untuk mengumpulkan data yang diperlukan dalam proses perancangan dan pembuatan sistem. Berikut ini dijabarkan jadwal penelitian yang dapat dilihat pada Tabel 3.1. Tabel 3.1 Daftar Waktu dan Kegiatan Penelitian Nopember Desember Januari Februari Maret April Waktu Kegiatan Identifikasi Masalah Pengumpulan Data Analisis Sistem Perancangan Sistem Pembangunan Sistem Uji Coba Sistem Penulisan 31

44 32 Skripsi 3.2.Kerangka Kerja Adapun tahapan dan langkah-langkah pengembangan perangkat lunak ini dapat digambarkan dalam bentuk diagram alir seperti diperlihatkan pada gambar 3.1. Identifikasi Masalah Pengumpulan data Analisa Sistem Perancangan Sistem Pembangunan Sistem Uji Coba Sistem Gambar 3.1 Metode Perancangan Metode Pengumpulan Data

45 33 Di tahap pertama, akan dikumpulkan bahan-bahan yang diperlukan dalam penyusunan skripsi. Bahan tersebut dikumpulkan dari buku dan sumber-sumber lainnya di internet Analisa Sistem Tahap berikutnya ialah menganalisis kebutuhan-kebutuhan sistem. Sekali lagi, perangkat dan teknik-teknik tertentu akan membantu penganalisis menentukan kebutuhan. Perangkat yang dimaksud ialah penggunaan diagram alir data untuk menyusun daftar input, proses, dan output fungsi bisnis dalam bentuk grafik terstruktur. Saat ini, belum tersedia aplikasi permainan Drop7 yang dapat digunakan untuk bermain Drop7, sehingga perlu dirancang sebuah aplikasi permainan. Aplikasi permainan Drop7 yang dirancang ini memiliki fasilitas pemilihan dan pengaturan nama pemakai yang digunakan dalam permainan. Pemakai harus melakukan pemilihan nama pemain terlebih dahulu sebelum dapat bermain Drop7. Hal ini dikarenakan data nama pemain ini akan diperlukan pada saat penyimpanan nilai yang diperoleh pemain. Permainan Drop7 ini dapat dimainkan dengan dua jenis tingkat kesulitan, yaitu Mudah dan Susah. Pada tingkat Mudah, permainan Drop7 ini dapat dimainkan dengan tanpa adanya batasan waktu. Pada tingkat Susah, permainan Drop7 ini akan dimainkan dengan adanya batasan waktu untuk setiap peletakan piring baru, dimana pemain akan diberikan waktu 5 detik meletakkan piring baru. Apabila pemain belum meletakkan piring dalam waktu 5 detik, maka piring akan terjatuh setelah otomatis pada posisi terakhir dari

46 34 kursor. Selain itu, juga terdapat fasilitas high score yang mampu menampilkan daftar 10 nilai tertinggi yang diperoleh pemain Perancangan Sistem Dalam tahap desain dari siklus hidup pengembangan sistem, penganalisis sistem menggunakan informasi-informasi yang terkumpul sebelumnya untuk mencapai desain sistem informasi yang logic. Penganalisis merancang prosedur data-entry sedemikian rupa sehingga data yang dimasukkan ke dalam sistem informasi benar-benar akurat. Selain itu, penganalisis menggunakan teknik-teknik bentuk dan perancangan layar tertentu untuk menjamin keefektifan input sistem informasi. Setelah itu, penganalisis bekerja bersama-sama dengan pemrogram untuk mengembangkan suatu perangkat lunak awal yang diperlukan. Teknik terstruktur yang digunakan untuk merancang dan mendokumentasikan perangkat lunak adalah flowchart diagram. Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

47 35 Untuk bermain game Drop7 ini, maka pertama kali harus melakukan pengaturan tingkat kesulitan dan pemilihan user yang akan digunakan untuk menyimpan daftar nilai tertinggi yang diperoleh pemain. Setelah itu, pemakai dapat bermain game Drop7 sesuai dengan hasil pengaturan yang dilakukannya. Rancangan prosedur kerja dari sistem yang akan dirancang dapat digambarkan seperti terlihat pada gambar 3.2 berikut.

48 Gambar 3.2 Flowchart Sistem 36

49 Pembangunan Sistem Perangkat lunak permainan ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic Komponen- komponen yang digunakan dalam pembuatan perangkat lunak ini mencakup Form, Label, Text Box, Button, Check Box dan Combo Box Uji Coba Sistem Sebelum sistem dapat digunakan, maka harus dilakukan pengujian terlebih dulu. Untuk dapat menghemat biaya maka perlu untuk menangkap adanya masalah sebelum sistem tersebut ditetapkan. Sebagian pengujian dilakukan oleh pemrogram sendiri, dan lainnya dilakukan oleh penganalisis sistem. Setiap aplikasi perangkat lunak yang telah dibangun harus dilakukan uji coba terlebih dahulu sebelum digunakan, yaitu dengan melakukan beta testing untuk mengetahui apakah aplikasi perangkat lunak yang dibangun sudah sesuai dengan yang diharapkan dan bekerja dengan baik atau masih terdapat kesalahan (error). Setiap kesalahan (error) yang terjadi akan diperbaiki kembali. Setelah itu, aplikasi akan diuji dengan metode white box yaitu dengan menggunakan beberapa data contoh yang telah disediakan sebelumnya.

50 BAB IV ANALISA DAN PERANCANGAN 4.1. Analisa Sebelum memulai perancangan sistem, terlebih dahulu dilakukan analisa terhadap sistem yang akan dikembangkan. Pembahasan mengenai analisa sistem mencakup analisa proses dan analisa persyaratan Analisa Proses Concoction Generator Concoction Generator merupakan sebuah generator pembangkit bilangan acak (pseudo random number generator / PRNG) yang menggunakan kombinasi antara LFSR dan FCSR sebagai register-nya. Oleh karena itu, agar dapat lebih memahami proses kerja dari Concoction Generator, maka pertama-tama harus dipahami terlebih dahulu proses kerja dari LFSR dan FCSR. LFSR dan FCSR merupakan register yang dapat bekerja sendiri tanpa memerlukan input dari luar. LFSR akan memproses keadaan awal (initial state) dengan melakukan operasi logika XOR, sedangkan FCSR akan melakukan operasi penjumlahan (SUM). Agar dapat membantu pemahaman mengenai proses kerja dari LFSR dan FCSR, diberikan contoh berikut ini : 1. Misalkan diketahui sebuah LFSR 16 bit dengan keadaan awal dan posisi bit yang akan diproses adalah 0,1,4,7,12,15. LFSR tersebut dapat digambarkan seperti berikut : 37

51 38 Gambar 4.1 LFSR 16 bit dengan keadaan awal dan posisii bit yang akan diproses adalah 0,1,4,7,12,15 Bit feedback dari LFSR diatas dapat dihitung dengan menggunakan rumusan berikut : Bit feedback = S0 S1 S4 S7 S12 S15 Proses kerja dari LFSR diatas adalah sebagai berikut : a. Clock-1 : Keadaan awal LFSR = Bit feedback = = 1. Bit output = 1. Keadaan akhir LFSR = b. Clock-2 : Keadaan awal LFSR = Bit feedback = = 0. Bit output = 1. Keadaan akhir LFSR = c. Dan seterusnya.

52 39 Namun, LFSR hanya akan melakukan proses apabila LFSR di-clock atau Clock LFSR = 1. Jika LFSR tidak di-clock atau Clock LFSR = 0, maka LFSR tidak akan melakukan proses. 2. Misalkan diketahui sebuah FCSR 16 bit dengan keadaan awal dan posisi bit yang akan diproses adalah 0,2,4,7,8,12,13,15. FCSR tersebut dapat digambarkan seperti berikut : Gambar 4.2 FCSR 16 bit dengan keadaan awal dan posisii bit yang akan diproses adalah 0,2,4,7,8,12,13,15 Nilai-nilai yang diperlukan oleh FCSR diatas dapat dihitung dengan menggunakan rumusan berikut : SUM = S0 + S2 + S4 + S7 + S8 + S12 + S13 + S15 + CARRY Bit feedback = SUM Mod 2. CARRY = SUM Div 2. Proses kerja dari FCSR diatas adalah sebagai berikut : a. Clock-1 : Keadaan awal FCSR =

53 40 SUM = = 6 Bit feedback = SUM Mod 2 = 6 Mod 2 = 0. CARRY = SUM Div 2 = 6 Div 2 = 3. Bit output = 1. Keadaan akhir FCSR = b. Clock-2 : Keadaan awal FCSR = Bit feedback = = 6. Bit feedback = SUM Mod 2 = 6 Mod 2 = 0. CARRY = SUM Div 2 = 6 Div 2 = 3. Bit output = 0. Keadaan akhir FCSR = c. Dan seterusnya. Sama seperti LFSR, FCSR hanya akan melakukan proses apabila FCSR di-clock atau Clock FCSR = 1. Jika FCSR tidak di-clock atau Clock FCSR = 0, maka FCSR tidak akan melakukan proses. Concoction Generator memerlukan n * m buah LFSR/FCSR dalam proses pembangkit bilangan acaknya dimana n adalah jumlah LFSR/FCSR dalam sebuah stage dan m adalah jumlah stage. Misalkan, ditentukan n = 3 buah dan m = 2 stage, maka Concoction Generator tersebut dapat digambarkan seperti berikut :

54 41 Gambar 4.3 Concoction Generator dengan n = 3 dan m = 2 Secara garis besar, proses kerja dari Concoction Generator ini dapat dirincikan sebagai berikut : 1. Proses penginputan data yang mencakup : a. Jumlah stage dengan nilai antara 2 sampai 5 buah. b. Jumlah register dengan nilai antara 3 sampai 5 buah. c. Panjang bit register, dengan 3 buah alternatif yaitu 8 bit, 16 bit atau 32 bit. d. Jumlah bilangan output, dengan nilai antara 1 sampai 100 buah. e. Panjang bit bilangan output, dengan 3 buah alternatif yaitu 8 bit, 16 bit atau 32 bit. 2. Proses penentuan keadaan awal (initial state) untuk setiap register dengan proses kerja seperti berikut : a. Set jumlah digit nol = 0 dan jumlah digit 1 = 0. b. Ambil sebuah batasan maksimal bilangan yang akan di-generate dengan nilai berada di antara 100 sampai

55 42 c. Ambil sebuah bilangan bulat positif yang berada di dalam batasan maksimal tersebut. d. Bilangan bulat positif tersebut dilakukan operasi modulo 2 dan hasilnya merupakan bit biner dari keadaan awal register. e. Jika bit biner yang dihasilkan berupa bit 0 maka inkremen jumlah digit nol. Jika tidak, maka inkremen jumlah digit 1. f. Ulangi langkah (b) sampai (e) di atas hingga semua bit biner dari keadaan awal register dihasilkan. g. Jika keadaan awal register bernilai 0 atau jumlah digit 0 lebih besar atau sama dengan jumlah digit 1 maka kembali ke langkah (a). 3. Proses penentuan posisi bit yang digunakan untuk memproses nilai feedback dengan proses kerja seperti berikut : a. Set posisi bit biner = 0. b. Ambil sebuah bilangan bulat positif yang berada di antara 1 sampai 100. c. Lakukan operasi modulo terhadap bilangan bulat positif tersebut. d. Jika hasil operasi bernilai 0 maka posisi bit biner tersebut merupakan posisi bit yang akan diproses untuk menghasilkan bit feedback dan inkremen jumlah bit yang akan diproses untuk menghasilkan bit feedback. e. Inkremen posisi bit biner. f. Jika posisi bit biner lebih kecil daripada panjang bit register maka kembali ke langkah (b).

56 43 g. Jika jumlah bit yang akan diproses untuk menghasilkan bit feedback lebih kecil daripada 3 maka kembali ke langkah (a). 4. Proses pembangkit bilangan acak yang merupakan proses inti dari perangkat lunak Analisa Persyaratan Analisa persyaratan yang dilakukan terhadap permainan Drop7 ini dibagi menjadi 2 bagian, yaitu analisa persyaratan fungsional dan analisa persyaratan non-fungsional. Adapun beberapa persyaratan fungsional yang harus dipenuhi adalah sebagai berikut: 1. User dapat memilih tingkat kesulitan dari permainan yang dimainkan. 2. User dapat menampilkan sepuluh nilai tertinggi dari permainan. 3. User dapat melakukan pengaturan kondisi apakah permainan ingin dimainkan dengan menggunakan batasan waktu atau tidak. Proses setting kondisi ini dapat dilakukan oleh user pada awal (sebelum) permainan dimainkan. 4. Pada tingkat kesulitan Susah, pemain harus menentukan letak piring dalam waktu 5 detik. Jika tidak, maka komputer akan meletakkan piring pada posisi kursor terakhir. Kerangka PIECES berikut digunakan untuk mengidentifikasikan berbagai persyaratan nonfungsional yang terkait dengan kualitas sistem. 1. Performance a. Sistem harus dapat menyimpan dan menampilkan high score.

57 44 b. Permainan harus didukung oleh gambar animasi yang interaktif dan menarik sehingga permainan tidak terkesan monoton dan membosankan. 2. Information Semua data dan informasi yang ditampilkan harus tepat dan akurat. 3. Economics User dapat meng-install perangkat lunak dengan hanya menggunakan package software yang telah disediakan dan tidak memerlukan perangkat bantu tambahan lainnya. 4. Control a. Sistem dapat mengecek apakah input yang diberikan oleh user adalah benar atau salah. b. Sistem dapat menghitung total nilai yang diperoleh user. 5. Efficiency Sistem harus mampu memberikan informasi secara langsung kepada user setelah adanya permintaan atau respons dari user. 6. Service Sistem harus menyediakan animasi gambar yang menarik agar perangkat lunak mampu menarik perhatian pemakai Perancangan Pembahasan mengenai proses perancangan perangkat lunak terdiri dari perancangan tampilan dan perancangan database yang mencakup perancangan tabel dan hubungan antartabel.

58 45 Proses perancangan sistem akan dimulai dari perancangan gambar yang akan digunakan dalam perangkat lunak. Gambar yang diperlukan tersebut akan diubah dan disimpan dengan menggunakan aplikasi Adobe Photoshop CS. Kemudian, proses dilanjutkan dengan merancang tampilan antarmuka yang terdapat pada perangkat lunak. Setelah itu, proses akan dilanjutkan dengan merancang database yang akan digunakan untuk menyimpan data user dan nilai yang diperoleh pemain. Terakhir, proses dilanjutkan dengan merancang hubungan antar tabel yang terdapat pada database Perancangan Tampilan Rancangan tampilan (form) input yang terdapat dalam program dapat dirincikan sebagai berikut: 1. Form Awal, yang berfungsi sebagai tempat pemilihan menu / link yang ingin dimainkan. Form ini merupakan form awal (pertama) yang akan ditampilkan pada saat perangkat lunak dijalankan. Rancangan tampilan dari form Awal ini dapat dilihat pada gambar 4.4 berikut ini: Gambar 4.4 Rancangan Form Awal

59 46 Keterangan: a. Link Nama User, berfungsi untuk menampilkan daftar user yang akan dipilih. b. Link x, berfungsi untuk menutup aplikasi. c. Link Bermain Drop7, berfungsi untuk bermain Drop7. d. Link Pengaturan, berfungsi untuk melakukan pengaturan permainan. e. Link Daftar 10 Nilai Tertinggi, berfungsi untuk menampilkan daftar 10 nilai tertinggi. f. Link Mengenai Pembuat, berfungsi untuk menampilkan pembuat perangkat lunak. g. Link Bantuan, berfungsi untuk menampilkan cara bermain Drop7. 2. Form Nama User, yang berfungsi sebagai tempat untuk melakukan penambahan dan pemilihan user yang akan digunakan dalam permainan. Rancangan tampilan dari form Nama User ini dapat dilihat pada gambar 4.5 berikut ini: Gambar 4.5 Rancangan Form Nama User

60 47 Keterangan : a. listbox Nama Pemain berfungsi untuk menampilkan daftar nama pemain yang tersimpan dalam database. b. tombol Tambah yang berfungsi untuk menambah nama pemain baru. c. tombol Pilih yang berfungsi untuk menyimpan nama pemain yang dipilih ke dalam memori sementara, sehingga dapat digunakan pada form Kuis. d. tombol Hapus yang berfungsi untuk menghapus nama pemain yang dipilih. e. tombol Batal yang berfungsi untuk menutup form dan kembali ke form Main. 3. Form Permainan, yang berfungsi sebagai tempat untuk menampilkan permainan Drop7. Form Permainan ini dapat ditampilkan dengan cara mengakses link Bermain Drop7. Rancangan tampilan dari form Permainan ini dapat dilihat pada gambar 4.6 berikut ini: Gambar 4.6 Rancangan Form Permainan

61 48 Keterangan: a. Daerah tampilan piring yang akan diletakkan. b. Tombol x yang berfungsi untuk menutup form dan kembali ke form Main. c. Daerah tampilan nilai yang diperoleh pemain. d. Daerah tampilan level permainan yang dimainkan sekarang. e. Daerah tampilan kesulitan permainan. f. Daerah permainan. 4. Form Pengaturan, yang berfungsi sebagai tempat untuk melakukan pengaturan permainan. Form Pengaturan ini dapat ditampilkan dengan cara mengakses menu Pengaturan. Rancangan tampilan dari form Pengaturan ini dapat dilihat pada gambar 4.7 berikut ini: Gambar 4.7 Rancangan Form Pengaturan

62 49 Keterangan : a. radiobutton Mudah diklik apabila ingin memainkan permainan Drop7 dengan tingkat kesulitan Mudah. b. radiobutton Susah diklik apabila ingin memainkan permainan Drop7 dengan tingkat kesulitan Susah. c. tombol Set yang berfungsi untuk menyimpan data pengaturan yang dilakukan oleh pemakai dan menutup form serta kembali ke form Awal. d. tombol Batal yang berfungsi untuk menutup form dan kembali ke form Awal. Data pengaturan yang dilakukan pemakai tidak akan disimpan. 5. Form Daftar Nilai Tertinggi, yang berfungsi untuk menampilkan sepuluh nilai tertinggi yang diperoleh pemain. Rancangan tampilan dari form Daftar Nilai Tertinggi ini dapat dilihat pada gambar 4.8 berikut ini: Nama Score a Hapus Keluar b c Gambar 4.8 Rancangan Form Daftar Nilai Tertinggi

63 50 Keterangan: a. Listbox yang berfungsi untuk menampilkan daftar sepuluh nilai tertinggi yang diperoleh pemain. b. Tombol Hapus yang berfungsi untuk menghapus daftar nilai tertinggi. c. Tombol Keluar yang berfungsi untuk menutup form dan kembali ke form Awal. 6. Form Bantuan, yang berfungsi untuk menampilkan cara bermain game drop 7. Rancangan tampilan dari form Bantuan ini dapat dilihat pada gambar 4.9 berikut ini : a < > x b c d Gambar 4.9 Rancangan Form Bantuan Keterangan: a. Daerah tampilan keterangan mengenai aturan permainan.

64 51 b. Link label Prev Page, berfungsi untuk menampilkan informasi keterangan Game Rules sebelumnya. c. Link label Next Page, berfungsi untuk menampilkan informasi keterangan Game Rules berikutnya. d. Link label Exit, berfungsi untuk menutup form dan kembali ke form Awal. 7. Form Mengenai Pembuat, yang berfungsi untuk menampilkan data pribadi dari pembuat perangkat lunak. Rancangan tampilan dari form Mengenai Pembuat ini dapat dilihat pada gambar 4.10 berikut ini: Mengenai Pembuat a b OK c Gambar 4.10 Rancangan Form Mengenai Pembuat Keterangan: a. Daerah tampilan judul perangkat lunak. b. Daerah tampilan data pribadi dari pembuat perangkat lunak.

65 52 c. Tombol OK yang berfungsi untuk menutup form dan kembali ke form Awal Perancangan Database Perancangan database dilakukan dengan menggunakan Microsoft Access Desain database dimaksudkan untuk mendefinisikan isi atau struktur tabel. Adapun entitas yang digunakan dalam perancangan database adalah sebagai berikut. a. HighScore, berisi tentang daftar sepuluh nilai tertinggi. Rancangan tabel HighScore dapat dilihat pada tabel 4.1 berikut: Tabel 4.1 Tabel HighScore Nama Input Tipe Data Panjang Maksimum NamaUser Text 30 Nilai Number Integer Level Number Integer Kesulitan Text String b. UserList, berisi tentang daftar nama user. Rancangan tabel UserList dapat dilihat pada tabel 4.2 berikut: Tabel 4.2 Tabel UserList Nama Input Tipe Data Panjang Maksimum NamaUser Text 20

66 53 Berdasarkan entitas yang diperoleh di atas, maka dapat dibuat hubungan antar entitas yang terdapat dalam database yang digunakan. Entitas UserList ini memiliki hubungan entitas HighScore yaitu hubungan satu ke banyak antara field NamaUser pada UserList dengan field NamaUser pada HighScore. Gambaran hubungan antar tabel seperti ditunjukkan pada gambar 4.11 berikut ini: Gambar 4.11 Relationship Tabel Pada Database

67 BAB V HASIL DAN PEMBAHASAN 5.1. Hasil Berikut dijabarkan spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk menjalankan aplikasi dan tampilan output dari sistem Spesifikasi Perangkat Keras dan Perangkat Lunak Perangkat keras dan perangkat lunak yang digunakan untuk menjalankan aplikasi Concoction Generator pada game Drop7 ini memiliki spesifikasi sebagai berikut : 1. Prosesor Intel(R) Core(TM) i3. 2. Memory 2048 MB. 3. Monitor dengan resolusi pixel. 4. Keyboard dan Mouse. 5. Harddisk 256GB 6. Speaker Perangkat lunak ini direkomendasikan untuk dijalankan di sistem operasi Microsoft Windows 7. Software pendukung yang digunakan yaitu Microsoft.NET Framework

68 Hasil Untuk menjalankan aplikasi Concoction Generator pada game Drop7, maka dapat mengklik file Drop7.exe sehingga sistem akan menampilkan tampilan awal berikut: Gambar 5.1 Tampilan Awal Untuk bermain game Drop7, maka pertama kali harus memilih nama user terlebih dahulu dengan mengklik link Nama User, sehingga sistem akan menampilkan form Nama User berikut. Gambar 5.2 Tampilan Pilih User

69 56 Untuk menambah user baru, maka pemakai dapat mengklik tombol Tambah sehingga sistem akan menampilkan input box Tambah User seperti terlihat pada gambar berikut. Gambar 5.3 Tampilan Tambah User Pemakai dapat mengisi nama user baru dan mengklik tombol OK untuk menyimpan data nama user ke dalam database. Untuk memilih nama user, maka pemakai dapat memilih pada daftar nama dan mengklik tombol Pilih sehingga sistem akan menyimpan nama user yang dipilih ke dalam memori sementara dan menutup form Pilih User serta kembali ke tampilan awal. Setelah itu, pemain dapat memilih tingkat kesulitan dari permainan, yaitu dengan mengklik link Pengaturan, sehingga sistem akan menampilkan form Pengaturan berikut: Gambar 5.4 Tampilan Pengaturan

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Pengertian Simulasi Simulasi adalah suatu cara untuk menduplikasi atau menggambarkan ciri, tampilan, dan karakteristik dari suatu sistem yang nyata secara matematis. Simulasi

Lebih terperinci

Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu

Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu Ferdian Thung 13507127 Program Studi Teknik Informatika ITB, Jalan Ganesha 10 Bandung, Jawa Barat, email: if17127@students.if.itb.ac.id

Lebih terperinci

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya Athia Saelan (13508029) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER Arga Dhahana Pramudianto 1, Rino 2 1,2 Sekolah Tinggi Sandi Negara arga.daywalker@gmail.com,

Lebih terperinci

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Universitas Sumatera Utara BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Algoritma RC4 RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Dengan cara ini enkripsi maupun dekripsi dapat dilaksanakan pada

Lebih terperinci

PENGEMBANGAN ALGORITMA ENKRIPSI DEKRIPSI BERBASIS LFSR MENGGUNAKAN POLINOMIAL PRIMITIF

PENGEMBANGAN ALGORITMA ENKRIPSI DEKRIPSI BERBASIS LFSR MENGGUNAKAN POLINOMIAL PRIMITIF PENGEMBANGAN ALGORITMA ENKRIPSI DEKRIPSI BERBASIS LFSR MENGGUNAKAN POLINOMIAL PRIMITIF PUBLIKASI HASIL PENELITIAN SKRIPSI Diajukan Untuk Memenuhi Sebagian Persyaratan Memperoleh Gelar Sarjana Teknik DISUSUN

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Kriptografi Kriptografi berasal dari gabungan dua suku kata yang berasal dari bahasa Yunani, yaitu Kryptos dan Graphein. Kryptos memiliki makna tersembunyi, misterius, atau rahasia.

Lebih terperinci

BAB Kriptografi

BAB Kriptografi BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yakni kata kriptos dan graphia. Kriptos berarti secret (rahasia) dan graphia berarti writing (tulisan). Kriptografi merupakan

Lebih terperinci

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java SEMINAR NASIONAL MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 16 Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java T - 8 Faizal Achmad Lembaga

Lebih terperinci

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard Kevin Chandra Irwanto 13508063 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Pada bab tiga ini akan dilakukan analisis terhadap landasan teori yang telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan

Lebih terperinci

Studi Perbandingan SEAL (Software-Optimized Encryption Algorithm) dengan Stream Cipher Biasa

Studi Perbandingan SEAL (Software-Optimized Encryption Algorithm) dengan Stream Cipher Biasa Studi Perbandingan SEAL (Software-Optimized Encryption Algorithm) dengan Stream Cipher Biasa Franciscus Borgias Dian Paskalis - 13507048 Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132 Endang, Vantonny, dan Reza Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132 E-mail : if10010@students.if.itb.ac.id if10073@students.if.itb.ac.id if11059@students.if.itb.ac.id

Lebih terperinci

Disusun oleh: Ir. Rinaldi Munir, M.T.

Disusun oleh: Ir. Rinaldi Munir, M.T. Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 9. Tipe dan Mode Algoritma Simetri 9.1 Pendahuluan Algoritma kriptografi (cipher) yang beroperasi dalam

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN BAB 3 METODOLOGI PENELITIAN 3.1 Pengantar Pada penelitian ini membahas modifikasi algoritma RC4 dengan BBS (Blum Blum Shub) untuk menghasilkan key yang baik dan tidak mudah dipredikasi oleh kriptanalis.

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN 3.1 Jenis Penelitian Jenis penelitian yang dilakukan merupakan penelitian eksperimental, yaitu penelitian yang pengumpulan datanya melalui pencatatan secara langsung dari hasil

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Sistem Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan pada sistem yang beroperasi pada perangkat komputer, game yang dikembangkan adalah

Lebih terperinci

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya Pada penelitian sebelumnya, yang berjudul Pembelajaran Berbantu komputer Algoritma Word Auto Key Encryption (WAKE). Didalamnya memuat mengenai langkah-langkah

Lebih terperinci

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES INFOKAM Nomor I / Th. VII/ Maret / 11 39.. ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES Muhamad Danuri Dosen Jurusan Manajemen Informatika, AMIK JTC Semarang ABSTRAKSI Makalah ini membahas tentang

Lebih terperinci

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE Tomoyud Sintosaro Waruwu Program Studi Sistem Informasi STMIK Methodis Binjai tomoyud@gmail.com Abstrak Kriptografi

Lebih terperinci

Blok Cipher JUMT I. PENDAHULUAN

Blok Cipher JUMT I. PENDAHULUAN Blok Cipher JUMT Mario Tressa Juzar (13512016) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia mariotj.tj@gmail.com

Lebih terperinci

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012 Add your company slogan STREAM CIPHER Kriptografi - Week 7 Aisyatul Karima, 2012 LOGO Standar Kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian, & pemahaman tentang teknik-teknik

Lebih terperinci

Perancangan Sistem Media Pembelajaran Balita (Game Akez) dengan Metode Linear Congruentials Generator (LCG)

Perancangan Sistem Media Pembelajaran Balita (Game Akez) dengan Metode Linear Congruentials Generator (LCG) Perancangan Sistem Media Pembelajaran Balita (Game Akez) dengan Metode Linear Congruentials Generator (LCG) Devri Suherdi Eresha School IT devrisuherdi10@gmail.com Deliansyah Universitas Islam Sumatera

Lebih terperinci

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER Kristian Telaumbanua 1, Susanto 2 Program Studi Teknik Informatika, STMIK Mikroskil Jl. Thamrin No. 122, 124, 140 Medan

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikas dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM III.1. Analisa Masalah Perkembangan game dari skala kecil maupun besar sangat bervariasi yang dapat dimainkan oleh siapa saja tanpa memandang umur, dari anak

Lebih terperinci

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) JURNAL ILMIAH CORE IT ISSN 2339-1766 Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) Yudi 1), Albert 2) STMIK IBBI Jl. Sei

Lebih terperinci

ANALISA IMPLEMENTASI ALGORITMA STREAM CIPHER SOSEMANUK DAN DICING DALAM PROSES ENKRIPSI DATA

ANALISA IMPLEMENTASI ALGORITMA STREAM CIPHER SOSEMANUK DAN DICING DALAM PROSES ENKRIPSI DATA ANALISA IMPLEMENTASI ALGORITMA STREAM CIPHER SOSEMANUK DAN DICING DALAM PROSES ENKRIPSI DATA Endro Ariyanto 1, Trisya Indah Pravitasari 2, Setyorini 3 1,2,3 Departemen Teknik Informatika Institut Teknologi

Lebih terperinci

Data Encryption Standard (DES)

Data Encryption Standard (DES) Bahan Kuliah ke-12 IF5054 Kriptografi Data Encryption Standard (DES) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 12. Data Encryption Standard (DES)

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan: BAB III ANALISA DAN PERANCANGAN 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan: Gambar 3.1 Tahap awal pengerjaan Gambar di atas adalah tahapan awal dalam pengerjaan pembuatan aplikasi SMS Kriptografi

Lebih terperinci

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256)

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256) Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256) Sila Wiyanti Putri 1) 1) Program Studi Teknik Informatika ITB, Bandung 40132, email: silawp@gmail.com Abstract

Lebih terperinci

STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER

STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER Stevie Giovanni NIM : 13506054 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

ANALISIS UJI STATISTIK BERBASIS KORELASI PADA ALGORITMA SNOW 2.0

ANALISIS UJI STATISTIK BERBASIS KORELASI PADA ALGORITMA SNOW 2.0 ANALISIS UJI STATISTIK BERBASIS KORELASI PADA ALGORITMA SNOW 2.0 A mas Lembaga Sandi Negara Jl. Harsono RM. 70, Ragunan, Jakarta Selatan a.masgan87@gmail.com Abstract Algoritma Snow 2.0 merupakan salah

Lebih terperinci

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION Yudha Adiprabowo NIM : 13506050 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16050@students.if.itb.ac.id Abstrak

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata "kriptografi" dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

Perancangan Aplikasi Quiz Menggunakan Metode Pengacakan Linear Congruential Generator (LCG) Berbasis Android

Perancangan Aplikasi Quiz Menggunakan Metode Pengacakan Linear Congruential Generator (LCG) Berbasis Android Riau Journal Of Computer Science Vol.1/No.1/2015 : 17-26 17 Perancangan Aplikasi Quiz Menggunakan Metode Pengacakan Linear Congruential Generator (LCG) Berbasis Android Riki Wahyudi, Hendra Handoko Syahputra

Lebih terperinci

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB) 1 Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB) 2 Setiap blok plainteks P i dienkripsi secara individual

Lebih terperinci

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD Mohammad Riftadi NIM : 13505029 Program Studi Informatika, Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung E-mail :

Lebih terperinci

Fast Correlation Attack pada LILI-128

Fast Correlation Attack pada LILI-128 Fast Correlation Attack pada LILI-128 Agung Nursilo, Daniel Melando Jupri Rahman, R. Ahmad Imanullah Z. Tingkat III Teknik Kripto 2009/2010 Abstrak Pada tulisan ini, akan ditunjukkan fast correlation attack

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo Abstrak Metode enkripsi dapat digunakan untuk

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1 Analisa Masalah Dalam melakukan pengamanan data SMS kita harus mengerti tentang masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu

Lebih terperinci

PEMODELAN BILANGAN ACAK DAN PEMBANGKITANNYA. Pemodelan & Simulasi

PEMODELAN BILANGAN ACAK DAN PEMBANGKITANNYA. Pemodelan & Simulasi PEMODELAN BILANGAN ACAK DAN PEMBANGKITANNYA Pemodelan & Simulasi Bilangan Acak Bilangan acak adalah bilangan yang kemunculannya terjadi secara acak. Bilangan acak ini penting untuk keperluan simulasi.

Lebih terperinci

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN BAB IV HASIL DAN PEMBAHASAN IV.1. Hasil Dalam bab ini akan dijelaskan dan ditampilkan bagaimana hasil dari rancangan program beserta pembahasan tentang program. Dimana di dalam program ini terdapat tampilan

Lebih terperinci

PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE

PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE Srita Tania Bonita 1), Rini Marwati 2), Sumanang Muhtar Gozali 3) 1), 2), 3)

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo ABSTRAK Metode enkripsi dapat digunakan untuk

Lebih terperinci

Algoritma SAFER K-64 dan Keamanannya

Algoritma SAFER K-64 dan Keamanannya Algoritma SAFER K-64 dan Keamanannya Andi Setiawan NIM : 13506080 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16080@students.if.itb.ac.id Abstrak Makalah

Lebih terperinci

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA Andi Hendra Jurusan Matematika MIPA Universitas Tadulako Abstrak Selain dokumen yang berupa teks, komunikasi

Lebih terperinci

PERANCANGAN DAN ANALISIS MODIFIKASI KUNCI KRIPTOGRAFI ALGORITMA TWOFISH PADA DATA TEKS

PERANCANGAN DAN ANALISIS MODIFIKASI KUNCI KRIPTOGRAFI ALGORITMA TWOFISH PADA DATA TEKS PERANCANGAN DAN ANALISIS MODIFIKASI KUNCI KRIPTOGRAFI ALGORITMA TWOFISH PADA DATA TEKS (DESIGN AND ANALYSIS OF TWOFISH ALGORITHM CRYPTOGRAPHY KEY MODIFICATION ON TEXT DATA) Dwi Anggreni Novitasari ¹, R.

Lebih terperinci

BAB 3 PERANCANGAN SISTEM. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai

BAB 3 PERANCANGAN SISTEM. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai BAB 3 PERANCANGAN SISTEM 3.1. Perancangan Sistem Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai gambaran yang jelas tentang perancangan sistem yang akan dibuat serta diimplementasikan.

Lebih terperinci

Message Authentication Code (MAC) Pembangkit Bilangan Acak Semu

Message Authentication Code (MAC) Pembangkit Bilangan Acak Semu Bahan Kuliah ke-21 IF5054 Kriptografi Message Authentication Code (MAC) Pemangkit Bilangan Acak Semu Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam bentuknya yang konvensional di atas kertas. Dokumen-dokumen kini sudah disimpan sebagai

Lebih terperinci

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM: STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA Arief Latu Suseno NIM: 13505019 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Analisa Kebutuhan Perangkat Lunak Analisa kebutuhan merupakan langkah awal untuk menentukan perangkat lunak yang dihasilkan. Perangkat lunak yang baik dan sesuai dengan kebutuhan

Lebih terperinci

PEMBANGKIT BILANGAN ACAK (Random Number Generator)

PEMBANGKIT BILANGAN ACAK (Random Number Generator) PEMBANGKIT BILANGAN ACAK (Random Number Generator) Mata Kuliah Pemodelan & Simulasi Jurusan Teknik Informatika Universitas Komputer Indonesia 1 2 Random Number Generator (1) Cara memperoleh : ZAMAN DAHULU,

Lebih terperinci

BAB III. ANALISIS MASALAH

BAB III. ANALISIS MASALAH BAB III. ANALISIS MASALAH Pada bab ini, akan dijelaskan analisis permasalahan dan solusi untuk mengatasi masalah dalam tugas akhir ini. Solusi yang dipaparkan bisa berupa adaptasi algoritma pada implementasi

Lebih terperinci

Tipe dan Mode Algoritma Simetri (Bagian 2)

Tipe dan Mode Algoritma Simetri (Bagian 2) Bahan Kuliah ke-10 IF5054 Kriptografi Tipe dan Mode Algoritma Simetri (Bagian 2) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 Rinaldi Munir IF5054

Lebih terperinci

tanggal/waktu yang berukuran 64 bit 2. Untuk i dari 1 sampai m melakukan :

tanggal/waktu yang berukuran 64 bit 2. Untuk i dari 1 sampai m melakukan : LAMPIRAN Lampiran 1. Algoritma PBAS A. Kelas Kesatu PBAS ANSI X.917 Input : seed acak s berukuran 64 bit, bilangan bulat m dan kunci enkripsi DES E-D-E Output : m buah barisan semuacak yang masing-masing

Lebih terperinci

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN BAB III ANALISA MASALAH DAN PERANCANGAN III.1. Analisa Sub bab ini berisikan tentang analisa sistem yang akan dibangun. Sub bab ini membahas teknik pemecahan masalah yang menguraikan sebuah sistem menjadi

Lebih terperinci

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN Ibrahim Arief NIM : 13503038 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

Uji SAC Terhadap Algoritma Speck

Uji SAC Terhadap Algoritma Speck SEMINAR NASIONAL MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 2016 Uji SAC Terhadap Algoritma Speck T - 15 Is Esti Firmanesa 1, Wildan 2 Lembaga Sandi Negara isestifirmanesa@yahoo.com Abstrak Algoritma Speck

Lebih terperinci

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya Algoritma Kriptografi Kunci Publik Dengan Menggunakan Prinsip Binary tree Dan Implementasinya Hengky Budiman NIM : 13505122 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah

Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah Perancangan dan Implementasi Kriptografi Menggunakan Algoritma CryptMT Pada Data Citra Artikel Ilmiah Peneliti: Erik Wijaya(672011140) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika

Lebih terperinci

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM III.1 Analisis Permasalahan Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Adapun tujuan yang dilakukannmya analisis

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari sistem administrasi negara, yang mempunyai peranan penting dalam pemerintahan dan pembangunan

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Objek tiga dimensi merupakan salah satu komponen multimedia yang memegang peranan sangat penting sebagai bentuk informasi visual. Objek tiga dimensi dibentuk oleh sekumpulan

Lebih terperinci

BAB IV PERANCANGAN Perancangan Proses Kriptanalisis

BAB IV PERANCANGAN Perancangan Proses Kriptanalisis BAB IV PERANCANGAN 4.1. Perancangan Proses Kriptanalisis Proses kriptanalisis adalah proses untuk memecahkan cipher. Pada kasus sistem kriptografi monoalphabetik tentang username dan password akan dijelaskan

Lebih terperinci

Algoritma Kriptografi Modern (Bagian 2)

Algoritma Kriptografi Modern (Bagian 2) Algoritma Kriptografi Modern (Bagian 2) Bahan Kuliah Kriptografi Sumber : Rinaldi Munir FTSI Unipdu / Kriptografi 1 Kategori Algoritma (cipher) Berbasis Bit 1. Cipher Aliran (Stream Cipher) - beroperasi

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

PEMBANGKIT BILANGAN ACAK

PEMBANGKIT BILANGAN ACAK PEMBANGKIT BILANGAN ACAK Mata Kuliah Pemodelan & Simulasi Pertemuan Ke- 7 Riani L. JurusanTeknik Informatika Universitas Komputer Indonesia 1 CARA MEMPEROLEH : Pembangkit Bilangan Acak (Random Number Generator)

Lebih terperinci

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL INFORMATIKA Mulawarman Februari 2014 Vol. 9 No. 1 ISSN 1858-4853 KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL Hendrawati 1), Hamdani 2), Awang Harsa

Lebih terperinci

STUDI ALGORITMA SOLITAIRE CIPHER

STUDI ALGORITMA SOLITAIRE CIPHER STUDI ALGORITMA SOLITAIRE CIPHER Puthut Prabancono NIM : 13506068 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16068@students.if.itb.ac.id Abstrak Penggunaan

Lebih terperinci

Pembangkitan Bilangan Acak Dengan Metode Lantai Dan Modulus Bertingkat

Pembangkitan Bilangan Acak Dengan Metode Lantai Dan Modulus Bertingkat Pembangkitan Bilangan Acak Dengan Metode Lantai Dan Modulus Bertingkat Kenji Prahyudi 13508058 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

ANALISIS TEORITIS DAN PENERAPAN UJI AUTOKORELASI DARI FIVE BASIC TEST UNTUK MENGUJI KEACAKAN BARISAN BIT

ANALISIS TEORITIS DAN PENERAPAN UJI AUTOKORELASI DARI FIVE BASIC TEST UNTUK MENGUJI KEACAKAN BARISAN BIT ANALISIS TEORITIS DAN PENERAPAN UJI AUTOKORELASI DARI FIVE BASIC TEST UNTUK MENGUJI KEACAKAN BARISAN BIT Sari Agustini Hafman dan Arif Fachru Rozi Lembaga Sandi Negara E-mail: sari.hafman@lemsaneg.go.id,

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Kecerdasan buatan merupakan sub-bidang ilmu komputer yang khusus ditujukan untuk membuat software dan hardware yang sepenuhnya bisa menirukan beberapa fungsi

Lebih terperinci

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE Muhammad Fikry Teknik Informatika, Universitas Malikussaleh e-mail: muh.fikry@unimal.ac.id Abstract Data merupakan aset yang paling berharga untuk

Lebih terperinci

IMPLEMENTASI UJI KORELASI UNTUK PENGUJIAN SUB KUNCI PADA ALGORITMA KRIPTOGRAFI BLOCK CIPHER PRESENT MENGGUNAKAN BAHASA PEMROGRAMAN C++

IMPLEMENTASI UJI KORELASI UNTUK PENGUJIAN SUB KUNCI PADA ALGORITMA KRIPTOGRAFI BLOCK CIPHER PRESENT MENGGUNAKAN BAHASA PEMROGRAMAN C++ Seminar Nasional Informatika 015 (semnasif 015) ISSN: 1979-38 UPN Veteran Yogyakarta, 14 November 015 IMPLEMENTASI UJI KORELASI UNTUK PENGUJIAN SUB KUNCI PADA ALGORITMA KRIPTOGRAFI BLOCK CIPHER PRESENT

Lebih terperinci

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

Algoritma MAC Berbasis Jaringan Syaraf Tiruan Algoritma MAC Berbasis Jaringan Syaraf Tiruan Paramita 1) 1) Program Studi Teknik Informatika STEI ITB, Bandung, email: if14040@studentsifitbacid Abstract MAC adalah fungsi hash satu arah yang menggunakan

Lebih terperinci

Algoritma Rubik Cipher

Algoritma Rubik Cipher Algoritma Rubik Cipher Khoirunnisa Afifah Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia k.afis3@rocketmail.com

Lebih terperinci

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT (S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT Taufiqulhadi Jurusan Matematika FMIPA Universitas Padjadjaran taufiq_nad@yahoo.co.id Erick Paulus, S.Si., M.Kom. Jurusan

Lebih terperinci

Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography

Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography Yessica Nataliani, Hendro Steven Tampake, Arief Widodo Fakultas Teknologi

Lebih terperinci

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI E-MAIL Satya Fajar Pratama NIM : 13506021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16021@students.if.itb.ac.id

Lebih terperinci

Pendiskritan Pembangkit Bilangan Acak Peta Logistik Menggunakan Fungsi Trigonometri Osilasi Tinggi

Pendiskritan Pembangkit Bilangan Acak Peta Logistik Menggunakan Fungsi Trigonometri Osilasi Tinggi Pendiskritan Pembangkit Bilangan Acak Peta Logistik Menggunakan Fungsi Trigonometri Osilasi Tinggi Achmad Dimas Noorcahyo - 13508076 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Landasan teori merupakan panduan untuk melaksanakan dan menyelesaikan sesuatu hasil studi. Dalam hal ini dikemukakan beberapa teori yang berkaitan dengan masalah yang akan dibahas

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis III.1.1 Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Email sudah digunakan orang sejak awal terbentuknya internet dan merupakan salah satu fasilitas yang ada pada saat itu. Tak jarang orang menyimpan

Lebih terperinci

STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK

STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK M Gilang Kautzar H Wiraatmadja NIM : 13505101 Program Studi Teknik Informatika, Institut Teknologi Bandung

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Proses Analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi yang didapat

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Dewasa ini keamanan data dirasakan semakin penting, Keamanan pengiriman informasi melalui komputer menjadi bagian yang tidak terpisahkan dalam kehidupan sehari-hari.

Lebih terperinci

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Anggi Purwanto Program Studi Teknik Telekomunikasi, Fakultas Teknik Elektro dan Komunikasi Institut Teknologi Telkom Jl.

Lebih terperinci

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer (computer) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa Inggris komputer berasal dari kata to compute yang artinya

Lebih terperinci

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Andreas Dwi Nugroho (13511051) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Algoritma Kriptografi Modern (Bagian 2)

Algoritma Kriptografi Modern (Bagian 2) Algoritma Kriptografi Modern (Bagian 2) 1 Mode Operasi Cipher Blok Mode operasi: berkaitan dengan cara blok dioperasikan Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining

Lebih terperinci

PERANCANGAN SIMULASI PENGACAKAN SOAL TRYOUT UNTUK MEMBENTUK PAKET SOAL UJIAN NASIONAL MENGGUNAKAN LINEAR CONGRUENT METHOD (LCM)

PERANCANGAN SIMULASI PENGACAKAN SOAL TRYOUT UNTUK MEMBENTUK PAKET SOAL UJIAN NASIONAL MENGGUNAKAN LINEAR CONGRUENT METHOD (LCM) PERANCANGAN SIMULASI PENGACAKAN SOAL TRYOUT UNTUK MEMBENTUK PAKET SOAL UJIAN NASIONAL MENGGUNAKAN LINEAR CONGRUENT METHOD (LCM) Darma Perwira Hasibuan (0911467) Mahasiswa Jurusan Teknik Informatika, STMIK

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat 41 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Analisis masalah bertujuan untuk mengidentifikasi permasalahanpermasalahan yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat keras

Lebih terperinci

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA Jonathan Marcel T (13507072) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganeca 10 Bandung E-mail: cel_tum@yahoo.co.id

Lebih terperinci

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH Achmad Shoim 1), Ahmad Ali Irfan 2), Debby Virgiawan Eko Pranoto 3) FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS PGRI RONGGOLAWE

Lebih terperinci

BAB I PENDAHULUAN. belajar untuk mengenal dirinya dan juga lingkungannya. Manusia berbeda

BAB I PENDAHULUAN. belajar untuk mengenal dirinya dan juga lingkungannya. Manusia berbeda BAB I PENDAHULUAN I.1 Latar Belakang Belajar adalah merupakan kegiatan yang tidak akan pernah berhenti dari detik demi detik sejak manusia lahir sampai mati. Manusia sejak lahir belajar untuk mengenal

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN BAB III ANALISA DAN PERANCANGAN 1.1 Analisa Masalah Masalah yang ingin diselesaikan pada Tahap Akhir ini antara lain adalah menerapkan algoritma Message Digest 5 (MD5) agar bisa digunakan untuk enkripsi

Lebih terperinci

KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga

KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga KATA PENGANTAR Pertama-tama penulis mengucapkan puji syukur ke hadirat Tuhan Yang Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga penulis dapat menyelesaikan pengerjaan dan penyusunan

Lebih terperinci