• Tidak ada hasil yang ditemukan

APLIKASI CONCOCTION GENERATOR PADA GAME DROP7

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI CONCOCTION GENERATOR PADA GAME DROP7"

Copied!
84
0
0

Teks penuh

(1)

SKRIPSI

Oleh:

HENDRA NIM.1144044

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK TIME

MEDAN 2015

(2)

i

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.

(3)

ii

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.

(4)

iii

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

(5)

iv

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

(6)

v

ABSTRAK ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR LAMPIRAN ... xi

BAB I PENDAHULUAN ... 01 1.1. Latar Belakang Masalah ... 01 1.2. Identifikasi Masalah ... 02 1.3. Batasan Masalah ... 03 1.4. Tujuan dan Manfaat Penelitian ... 03 1.5. Sistematika Penulisan ... 04 BAB II LANDASAN TEORI ... 06 2.1. Randomness (Pengacakan) ... 06 2.1.1. Randomness dalam Filosofi ... 6

2.1.2. Randomness dalam Ilmu Alam ... 7

2.1.3. Randomness dalam Matematika ... 7

2.1.4. Randomness dalam Kriptografi ... 7

2.1.5. Randomness dalam Permainan ... 8

2.2. Bilangan Acak ... 9

2.2.1. Pembangkit Bilangan Acak ... 9

2.2.2. Pembangkit Bilangan Acak Semu ... 9

2.2.3. Algoritma Pembangkit Bilangan Acak Semu ... 10

2.3. Non-Linear Feedback Shift Register (NLFSR) ... 16

2.4. Linear Feedback Shift Register (LFSR) ... 17

2.4.1. Implementasi LFSR ... 19

(7)

vi

2.7. Landasan Matematis Kriptografi ... 25

2.7.1. Operasi XOR ... 25

2.7.2. Penjumlahan dengan Carry ... 27

2.7.3. Pergeseran Bit (Shift) ... 28

2.7.4. Rotasi Bit (Rotate) ... 28

2.8. Game Drop7 ... 29

BAB III METODE PENELITIAN ... 31

3.1. Tempat dan Jadwal Penelitian ... 31

3.2. Kerangka Kerja ... 32

3.2.1. Metode Pengumpulan Data ... 32

3.2.2. Analisa Sistem ... 33

3.2.3. Perancangan Sistem ... 34

3.2.4. Pembangunan Sistem ... 36

3.2.5. Uji Coba Sistem ... 36

BAB IV ANALISA DAN PERANCANGAN ... 37

4.1. Analisa ... 37

4.1.1. Analisa Proses Concoction Generator ... 37

4.1.2. Analisa Persyaratan ... 43

4.2. Perancangan ... 44

4.2.1. Perancangan Tampilan ... 45

(8)

vii

5.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 54

5.1.2. Hasil ... 55

5.2. Pembahasan ... 60

5.2.1. Algoritma Proses LFSR ... 60

5.2.2. Algoritma Proses FCSR ... 62

5.2.3. Algoritma Proses Concoction Generator ... 63

BAB V1 KESIMPULAN DAN SARAN ... 69

6.1. Kesimpulan ... 69

6.2. Saran ... 69 DAFTAR PUSTAKA

(9)

viii

Gambar 2.1. Non-Linear Feedback Shift Register ... 17

Gambar 2.2. Linear Feedback Shift Register (LFSR) ... 18

Gambar 2.3. Feedback with Carry Shift Register ... 21

Gambar 2.4. Sketsa Gambar Concoction Generator ... 25

Gambar 2.5. Gerbang Logika Operasi XOR ... 26

Gambar 2.6. Gerbang Logika Operasi XOR yang Dibentuk dari Penggabungan Gerbang Logika Dasar NOT, AND dan OR ... 26

Gambar 3.1. Metode Perancangan ... 32

Gambar 3.2. Flowchart Sistem ... 35

Gambar 4.1. LFSR 16 bit dengan Keadaan Awal 1001110010101111 dan Posisi Bit yang akan Diproses Adalah 0,1,4,7,12,15 ... 38

Gambar 4.2. FCSR 16 bit dengan Keadaan Awal 1011010101011001 dan Posisi Bit yang akan Diproses Adalah 0,2,4,7,8,12,13,15 ... 39

Gambar 4.3. Concoction Generator dengan n = 3 dan m = 2 ... 41

Gambar 4.4. Rancangan Form ‘Awal’ ... 45

Gambar 4.5. Rancangan Form ‘Nama User’ ... 46

Gambar 4.6. Rancangan Form ‘Drop7’ ... 47

Gambar 4.7. Rancangan Form ‘Pengaturan’ ... 48

Gambar 4.8. Rancangan Form ‘Daftar Nilai Tertinggi’ ... 49

Gambar 4.9. Rancangan Form ‘Bantuan’ ... 50

Gambar 4.10. Rancangan Form ‘Mengenai Pembuat’ ... 51

Gambar 4.11. Relationship Tabel Pada Database ... 53

Gambar 5.1. Tampilan Awal ... 55

Gambar 5.2. Tampilan Pilih User ... 55

Gambar 5.3. Tampilan Tambah User ... 56

Gambar 5.4. Tampilan Pengaturan ... 56

Gambar 5.5. Tampilan Permainan Level Mudah pada Saat Memulai Permainan .. 57 Gambar 5.6. Tampilan Permainan Level Mudah pada Saat Peletakkan Piring

(10)

ix

(11)

x

Tabel 2.1. Tabel Kebenaran Operasi XOR ... 26

Tabel 3.1. Daftar Waktu dan Kegiatan Penelitian ... 30

Tabel 4.1. Tabel HighScore ... 52

(12)

xi 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

(13)

1

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

(14)

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 Drop7”.

1.2. 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 MicrosoftVisual Basic.NET 2010.

(15)

1.3. 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 2010.

3. Perangkat lunak akan menyediakan daftar 10 nilai tertinggi.

4. Database yang digunakan untuk menyimpan data adalah Microsoft Access 2007.

5. Permainan tidak dapat dimainkan pada jaringan komputer ataupun internet. 6. Permainan belum menyediakan fasilitas Chatting.

1.4. 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)

3. Bagi STMIK-TIME

Laporan skripsi dapat dijadikan sebagai bahan referensi bagi mahasiswa lainnya yang ingin mengangkat topik mengenai permainan.

1.5. Sistematika Penulisan

Agar pembahasan lebih sistematika, maka tulisan ini dibuat dalam enam bab yaitu :

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

(17)

BAB VI KESIMPULAN DAN SARAN Berisi tentang kesimpulan dan saran.

(18)

6 2.1. Randomness (Pengacakan)

Menurut (http://www.en.wikipedia.org/wiki/Randomness) 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.

2.1.1. 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.

(19)

2.1.2. 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.

2.1.3. 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.

2.1.4. 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)

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.

2.1.5. 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.

2.2. Bilangan Acak

“Bilangan acak murni atau true random number adalah bilangan dimana secara keseluruhan acak dan tidak dapat diprediksi” (Schneier, 2011: 369). Untuk

(21)

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).

2.2.1. 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.

2.2.2. 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)

putaran proses. Kebanyakan algoritma dari PRNG ditujukan untuk menghasilkan suatu sampel yang terdistribusi secara seragam.

2.2.3. 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 :

Xn = (aXn-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)

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 : Fn = Fn-1 + Fn-2

Jadi suatu rumusan baru adalah penjumlahan dari dua term dalam deret. Ini dapat digenerasi dengan rumusan ini :

Sn = Sn-j * Sn-k mod m ; di mana 0 < j < k.

LFG mempunyai periode maksimum (2k – 1) * 2m-1 jika operasi penambahan atau XOR digunakan untuk mengkombinasikan nilai sebelumnya. Jika operasi perkalian yang digunakan, maka maksimum periode adalah (2k – 1) * 2m-3. Untuk memperoleh nilai periode maksimum dapat digunakan persamaan polinomial berikut :

y = xk + xj + 1

Inisialisasi dari LFG merupakan masalah yang sangat kompleks, setiap periode maksimum dari LFG mempunyai kemungkinan siklus yang sangat besar,

(24)

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 teknik-teknik 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.

Ai = (Ai-55 + Ai-24) mod 232 Bi = (Bi-52 + Ai-19) mod 232

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. Cj adalah sekuens dari word yang dipakai dari Aj dan Dj adalah sekuens dari word yang dipakai dari Bi. Word ini digunakan dalam pasangan C2j, C2j+1, D2j dan D2j+1 untuk menghasilkan 32 bitoutput word yaitu K2j dan K2j+1.

(25)

F2j = D2j+1∧ (E2j∧ C2j+1) K2j = E2j⊕ F2j

K2j+1 = C2j+1⊕ F2j

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 :

Ai = (Ai-55 + Ai-24) mod 232 Bi = (Bi-57 + Ai-7) mod 232 Ci = (Ci-58 + Ci-19) mod 232

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)

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 :

Ai = (Ai-55 + Ai-24) mod 232 Bi = (Bi-52 + Ai-19) mod 232

3. Fortuna merupakan salah satu jenis crytographically secure pseudo random number generator yang didesain oleh Niels Ferguson dan Bruce Schenier. Bentuk persamaan algoritma ini adalah :

Xn = Xn-13 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 :

Xn+1 = Xn2 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)

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 19937. Algoritma ini mempunyai properti sebagai berikut :

a. Dirancang untuk mempunyai suatu periode kolosal 129937–1. 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)

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.

2.3. 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-XOR-kan 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)

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:

= (S5⊕ S6) ∨ (S2 . S3) b. Hasil output : S0

2.4. 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

(30)

Adapun contoh sederhana dari LFSR dapat dilihat pada gambar 2.2 berikut ini :

Gambar 2.2 Linear Feedback Shift Register (LFSR) Sumber: Munir, 2010

Keterangan gambar 2.2 :

a. Nilai feedback dari LFSR : S1⊕ S3 b. Hasil output : S0

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.

2.4.1. Implementasi LFSR

LFSR dapat digunakan sebagai pengaman pada komunikasi CDMA dan GSM. Mayoritas sistem enkripsi militer menggunakan sistem LFSR dengan

(31)

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 berturut-turut 219 – 1, 222 – 1 dan 223 – 1.

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 (19 + 22 + 23). 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

(32)

2.4.2. 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)

2.5. 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 = (b0 + b1) + nilai carry register. 2. Nilai feedback dari FCSR : Sum mod 2. 3. Nilai carry register : Sum div 2.

Beberapa hal yang perlu diperhatikan dalam FCSR(Feedback with Carry Shift Register), antara lain :

(34)

2. Ukuran dari carry register minimal harus sebesar log2t, 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 = 2q1 + 22q2 + 24q4 + … + 2nqn – 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 0. 4. 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)

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)

menggunakan Gollmann Cascade. Teori mengenai generator ini akan dibahas pada pembahasan berikutnya.

2.6. 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)

Sketsa satu stage dari generator ini dapat dilihat pada gambar 2.4 berikut ini:

Gambar 2.4 Sketsa Gambar Concoction Generator Sumber: Schneier, 2011

2.7. Landasan Matematis Kriptografi

Landasan matematis kriptografi yang digunakan adalah Operasi XOR, Penjumlahan dengan carry, Pergeseran bit (shift), dan Rotasi bit (Rotate).

2.7.1. 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-XOR-kan dua buah bit yang masing – masing nilai bitnya berbeda. Tabel kebenaran dari operasi XOR dapat dilihat pada Tabel 2.1 berikut ini :

(38)

Tabel 2.1 Tabel Kebenaran Operasi XOR A B A ⊕⊕⊕⊕ B 0 0 0 0 1 1 1 0 1 1 1 0

Gambar gerbang logika dari operasi XOR adalah seperti gambar 2.5 berikut :

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 :

Gambar 2.6 Gerbang Logika Operasi XOR yang Dibentuk dari Penggabungan Gerbang Logika Dasar NOT, AND dan OR Sumber: Munir, 2011 B A B Y Y A

(39)

Berikut diberikan sebuah contoh sederhana dari operasi XOR, dengan jumlah input sebanyak 16 bit:

1101 0110 0001 0100 1000 0001 1110 0000 ⊕

0101 0111 1111 0100

2.7.2. 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 :

10100101 + 10010101 + 01100011 10100101 10010101 + 100111010 Carry = 1 00111010 01100011 1 + Carry 10011110

(40)

2.7.3. 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 :

11000110 << 1 : 10001100 11000110 << 2 : 00011000

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 :

11000110 >> 1 : 01100011 11000110 >> 2 : 00110001

2.7.4. 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

(41)

11000110 <<< 1 : 10001101 11000110 <<< 2 : 00011011

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 :

11000110 >>> 1 : 01100011 11000110 >>> 2 : 10110001

2.8. Game Drop7

Menurut (http://www.en.wikipedia.org/wiki/Game) 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)

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)

31

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 2015. 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 Waktu Kegiatan Nopember 2014 Desember 2014 Januari 2015 Februari 2015 Maret 2015 April 2015 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Identifikasi Masalah Pengumpulan Data Analisis Sistem Perancangan Sistem Pembangunan Sistem Uji Coba Sistem Penulisan

(44)

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.

Pengumpulan data

Analisa Sistem

Perancangan Sistem

Pembangunan Sistem

Uji Coba Sistem Identifikasi Masalah

Gambar 3.1 Metode Perancangan

3.2.1. Metode Pengumpulan Data Skripsi

(45)

Di tahap pertama, akan dikumpulkan bahan-bahan yang diperlukan dalam penyusunan skripsi. Bahan tersebut dikumpulkan dari buku dan sumber-sumber lainnya di internet.

3.2.2. 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)

kursor. Selain itu, juga terdapat fasilitas high score yang mampu menampilkan daftar 10 nilai tertinggi yang diperoleh pemain.

3.2.3. 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)

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)
(49)

3.2.4. Pembangunan Sistem

Perangkat lunak permainan ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 2010. Komponen- komponen yang digunakan dalam pembuatan perangkat lunak ini mencakup Form, Label, Text Box, Button, Check Box dan Combo Box.

3.2.5. 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)

37 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.

4.1.1. 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 1001110010101111 dan posisi bit yang akan diproses adalah 0,1,4,7,12,15. LFSR tersebut dapat digambarkan seperti berikut :

(51)

Gambar 4.1 LFSR posisi b

Bit feedback dari LFS berikut :

Bit feedback = S0 ⊕ Proses kerja dari LFSR

a. Clock-1 : Keadaan awal Bit feedback Bit output = 1. Keadaan akhir b. Clock-2 : Keadaan awal Bit feedback Bit output = 1. Keadaan akhir c. Dan seterusnya

FSR 16 bit dengan keadaan awal 10011100101011 osisi bit yang akan diproses adalah 0,1,4,7,12,15

ri LFSR diatas dapat dihitung dengan menggunakan

S1 ⊕ S4 ⊕ S7 ⊕ S12 ⊕ S15 i LFSR diatas adalah sebagai berikut :

awal LFSR = 1001110010101111. = 1 ⊕ 1 0 1 1 1 = 1. ut = 1. akhir LFSR = 1100111001010111. awal LFSR = 1100111001010111. = 1 ⊕ 1 1 0 0 1 = 0. ut = 1. akhir LFSR = 0110011100101011. rusnya. 0101111 dan nakan rumusan

(52)

Namun, LFSR han Clock LFSR = 1. LFSR tidak akan m 2. Misalkan diketahui 1011010101011001 0,2,4,7,8,12,13,15. FC Gambar 4.2 FCSR posisi b

Nilai-nilai yang dip menggunakan rumusa SUM = S0 + S2 + S4 Bit feedback = SUM M CARRY = SUM Div 2 Proses kerja dari FCSR

a. Clock-1 : Keadaan awal

R hanya akan melakukan proses apabila LFSR = 1. Jika LFSR tidak di-clock atau Clock LFSR = akan melakukan proses.

tahui sebuah FCSR 16 bit dengan keadaa dan posisi bit yang akan diproses . FCSR tersebut dapat digambarkan seperti berikut :

CSR 16 bit dengan keadaan awal 10110101010110 osisi bit yang akan diproses adalah 0,2,4,7,8,12,13,

g diperlukan oleh FCSR diatas dapat dihitung musan berikut :

+ S4 + S7 + S8 + S12 + S13 + S15 + CARRY UM Mod 2.

Div 2.

i FCSR diatas adalah sebagai berikut :

awal FCSR = 1011010101011001. -clock atau SR = 0, maka keadaan awal roses adalah rikut : 1011001 dan 12,13,15 tung dengan

(53)

SUM = 1 + 0 + 1 + 0 + 1 + 1 + 1 + 1 = 6 Bit feedback = SUM Mod 2 = 6 Mod 2 = 0. CARRY = SUM Div 2 = 6 Div 2 = 3. Bit output = 1.

Keadaan akhir FCSR = 0101101010101100. b. Clock-2 :

Keadaan awal FCSR = 0101101010101100.

Bit feedback = 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 3 = 6. Bit feedback = SUM Mod 2 = 6 Mod 2 = 0.

CARRY = SUM Div 2 = 6 Div 2 = 3. Bit output = 0.

Keadaan akhir FCSR = 0010110101010110. 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

(54)

Gambar 4.3 Co Secara garis besa dirincikan sebagai berikut 1. Proses penginputanda a. Jumlah stage

b. Jumlah registe

c. Panjang bit reg

bit.

d. Jumlah bilanga e. Panjang bit bil

atau 32 bit. 2. Proses penentuan kea

proses kerja seperti be a. Set jumlah dig b. Ambil sebuah dengan nilai be

4.3 Concoction Generator dengan n = 3 dan m = 2 s besar, proses kerja dari Concoction Generator

ikut :

data yang mencakup :

ge dengan nilai antara 2 sampai 5 buah.

ister dengan nilai antara 3 sampai 5 buah.

register, dengan 3 buah alternatif yaitu 8 bit, 16 bi

ilangan output, dengan nilai antara 1 sampai 100 buah bit bilangan output, dengan 3 buah alternatif yaitu 8 b

an keadaan awal (initial state) untuk setiap registe

erti berikut :

ah digit nol = 0 dan jumlah digit 1 = 0.

ebuah batasan maksimal bilangan yang akan di ilai berada di antara 100 sampai 100.000.

= 2

ini dapat

, 16 bit atau 32

0 buah.

itu 8 bit, 16 bit

ister dengan

(55)

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)

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.

4.1.2. 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

(57)

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.

4.2. Perancangan

Pembahasan mengenai proses perancangan perangkat lunak terdiri dari perancangan tampilan dan perancangan database yang mencakup perancangan tabel dan hubungan antartabel.

(58)

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.

4.2.1. 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:

(59)

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:

(60)

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:

(61)

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:

(62)

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

Hapus Keluar a

b c

(63)

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 d > < c b x

Gambar 4.9 Rancangan Form ‘ Bantuan’ Keterangan:

(64)

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

OK a

c b

Gambar 4.10 Rancangan Form ‘Mengenai Pembuat’ Keterangan:

a. Daerah tampilan judul perangkat lunak.

(65)

c. Tombol ‘OK’ yang berfungsi untuk menutup form dan kembali ke form

‘Awal’.

4.2.2. Perancangan Database

Perancangan database dilakukan dengan menggunakan Microsoft Access 2007. 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

(66)

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:

(67)

54

HASIL DAN PEMBAHASAN

5.1. Hasil

Berikut dijabarkan spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk menjalankan aplikasi dan tampilan output dari sistem.

5.1.1. 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 1366 × 768 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 3.5.

(68)

5.1.2. 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.

(69)

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

Gambar 2.1 Non-Linear Feedback Shift Register  Sumber: Munir, 2010
Gambar 2.2 Linear Feedback Shift Register (LFSR)  Sumber: Munir, 2010
Gambar 2.3 Feedback with Carry Shift Register  Sumber: Schneier, 2011
Gambar 2.4 Sketsa Gambar Concoction Generator  Sumber: Schneier, 2011
+7

Referensi

Dokumen terkait

Secara teoritis penelitian ini diharapkan dapat memberi manfaat secara teori dan aplikasi terhadap pengembangan perilaku konsumen dan dapat dijadikan sebagai sumber

casei hasil isolasi dari susu kerbau yang telah terfermentasi untuk tumbuh pada garam empedu dengan konsentrasi yang dikondisikan seperti pada saluran pencernaan

Dari hasil running LINGO, tidak ada beras yang masuk ke gudang BULOG I, jumlah supply beras yang masuk ke gudang BULOG II sebesar 9.678,61 ton dari beras petani Surabaya, 10.000

Dari penelitian yang telah dilakukan disimpulkan bahwa durasi aplikasi bahan adhesif self-etch berpengaruh terhadap kebocoran mikro pada tumpatan resin komposit kelas

Robbins, (1996) Kepemimpinan transformasional pada prinsipnya memotivasi bawahan untuk berbuat lebih baik dari apa yang biasa dilakukan, dengan kata lain dapat

Citra kemasan baru di mata konsumen dapat disimpulkan bahwa konsumen memberikan tanggapan positif dari semua segi elemen desain, menurut mereka kemasan baru yang ada

Nurul Arfah, (2019) : Desain dan Uji Coba Video Stop Motion Sebagai Media Pembelajaran Perkembangan Teori Model Atom Penelitian ini dilatarbelakangi dari kesulitan siswa

Dengan memanjatkan Puji syukur kehadapan Tuhan Yang Maha Esa yang telah melimpahkan segala rahmat-Nya sehingga penulis dapat menyusun dan menyelesikan Tugas Akhir yang