• Tidak ada hasil yang ditemukan

BAB 3 ANALISA DAN PERANCANGAN PROGRAM APLIKASI. 3.1 Sejarah Perusahaan dan Struktur Organisasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISA DAN PERANCANGAN PROGRAM APLIKASI. 3.1 Sejarah Perusahaan dan Struktur Organisasi"

Copied!
33
0
0

Teks penuh

(1)

BAB 3

ANALISA DAN PERANCANGAN PROGRAM APLIKASI

3.1 Sejarah Perusahaan dan Struktur Organisasi

Dalam pembuatan skripsi ini, dilakukan penerapan aplikasi pada PT Advance Innovations, sebuah perusahaan yang bergerak di bidang internet solution dan beralamatkan di Jalan Panjang No.28, Kebun Jeruk, Jakarta 11530.

3.1.1. Sejarah Perusahaan

Advance Innovations adalah perusahaan yang bertujuan untuk memberikan solusi e-business melalui integrasi teknologi yang inovatif dengan kreatifitas. Tujuan perusahaan ini yaitu menjadi pemimpin dalam solusi

e-business dengan menggunakan internet sebagai backbone.

Para personil perusahaan merupakan ahli di bidangnya, memiliki motivasi tinggi, dan professional, mereka juga sangat peka terhadap perubahan teknologi informasi yang dibutuhkan oleh client dan menggunakan teknologi terbaru untuk memenuhi kebutuhan bisnis client.

PT. Advance Innovations berdiri bulan April 2000 dengan beranggotakan hanya empat orang. Namun, sekarang perusahaan tersebut telah memiliki sekitar 100 personil yang muda dan enerjik, termasuk 50 di antaranya menangani komunikasi via wireless dengan menggunakan Wi-Fi.

Banyak perusahaan besar telah menjadi client dari PT. Advance Innovations yaitu PT. GE Finance Indonesia, PT. Bank BCA, Direktorat Jenderal Pajak, PT. Indosat, PT. Sumallindo Lestari Jaya, McDonald Indonesia, PT. BFI

(2)

Finance Indonesia, PT. Tunas Finansindo Sarana, PT. ANJ Finance, PT. Clipan Finance, PT. Bina Danatama Finance, Nokia Indonesia, dan Cinnervo Picture.

Aplikasi yang dikembangkan Advance Innovations meliputi pengembangan aplikasi berbasis web, infrastruktur internet dan intranet, dan aplikasi mobile.

a. Pengembangan Aplikasi berbasis Web

Pengembangan dilakukan dengan melihat sistem secara keseluruhan dalam membuat atau mengembangkan suatu lingkungan sistem komputasi. Pelayanan meliputi system study, application development, kreasi dan modifikasi sistem, serta supporting components. Pengembangan dilakukan berbasiskan teknologi web yang bersifat open standard sehingga menghasilkan aplikasi yang bersifat cost effective bagi pelanggan dan mengurangi biaya jangka panjang di kemudian hari.

b. Infrastruktur Internet dan Intranet

Pengembangan infrastruktur internet dilakukan perencanaan investasi yang matang. Konsultan perusahaan akan membantu memecahkan masalah pelanggan dengan memahami permasalahan dan kemudian mengusulkan strategi infrastruktur yang dapat memenuhi kebutuhan organisasi.

Pemecahan masalah yang dihadapi oleh pelanggan meliputi diagram jaringan secara keseluruhan, desain cabling/wiring, instalasi

(3)

c. Aplikasi Mobile

Perkembangan mobile device telah mendorong Advance Innovations untuk ikut mengembangkan aplikasi ini. Aplikasi ini tidak hanya berupa aplikasi untuk keperluan bisnis, tetapi juga dapat berupa aplikasi permainan (game). Mobile Application Xpert (MAX) merupakan divisi baru yang bergerak di bidang mobile berbasiskan pocket PC, Symbian, dan Java platform.

3.1.2. Struktur Organisasi

PT Advance Innovations memiliki struktur organisasi yang terdiri dari Presiden Direktur, Direktur Marketing, Marketing Manager, Marketing Officer, Direktur Operational, Human Resource Development (HRD), General Affair (GA), Quality Assurance (QA), Software Developer, Finance, dan Accounting.

Gambar 3.1 Struktur Organisasi Presiden Direktur Direktur Marketing Direktur Operasional Marketing Manager Marketing Officer HRD GA QA Software Developer

(4)

a. Presiden Direktur

Presiden direktur memiliki wewenang penuh terhadap keputusan yang diambil oleh perusahaan. Keputusan yang diambil bersifat

high-level decision dan berpengaruh terhadap keseluruhan organisasi. Presiden

direktur akan dibantu oleh direktur marketing dan direktur operasional dalam memanajemen posisi-posisi yang lebih rendah pada divisi marketing dan operasional.

b. Direktur Marketing

Direktur marketing bertugas membantu presiden direktur dalam mengelola divisi marketing. Posisi ini bertanggungjawab terhadap pengambilan keputusan yang dilakukan oleh marketing manager. Marketing merupakan ujung tombak perusahaan dalam memasarkan produk sehingga keputusan yang diambil menentukan keberhasilan produk di pasaran.

c. Marketing Manager

Marketing manager bertugas mengelola dan mengambil keputusan untuk tugas yang dilakukan oleh marketing officer, segala tugas yang dilakukan oleh marketing officer dilaporkan kepada marketing manager. d. Marketing Officer

Marketing officer merupakan pelaksana tugas marketing yang paling bawah. Posisi ini berhubungan langsung dengan para pelanggan, tugas-tugas dan laporan pelaksanaannya dilakukan kepada posisi yang lebih tinggi yaitu kepada marketing manager.

(5)

e. Direktur Operasional

Direktur operasional bertanggungjawab terhadap segala kegiatan operasional perusahaan, posisi ini mengepalai posisi operasional secara luas, seperti Human Resource Development (HRD), General Affair (GA),

Quality Assurance (QA), software developer, infrastruktur, finance, dan accounting.

f. Human Resource Development (HRD)

Human Resource Development (HRD) berwenang atas segala

kegiatan yang berhubungan dengan pengelolaan sumber daya manusia dalam perusahaan, misalnya perekrutan karyawan baru ataupun permasalahan yang menyangkut karyawan lainnya. HRD harus menjamin bahwa sumber daya manusia yang dibutuhkan memang benar-benar tersedia bagi perusahaan, terlebih pada saat-saat diperlukan.

g. General Affair (GA)

General Affair (GA) bertugas sebagai pembantu umum pada divisi

operasional. Segala tugas operasional seperti infrastruktur, HRD, dan sebagainya dapat dibantu oleh GA. Jadi, tanggungjawab posisi ini lebih merata dan tidak memiliki tanggung jawab yang spesifik bila dibandingkan dengan posisi lain dalam perusahaan.

h. Quality Assurance (QA)

Quality Assurance (QA) bertugas untuk melakukan pengontrolan

terhadap kualitas produk yang dihasilkan. Hal ini dimaksudkan agar produk-produk atau aplikasi-aplikasi yang dihasilkan memiliki kualitas yang memang diinginkan oleh para pelanggan perusahaan.

(6)

i. Software Developer

Software developer bertugas untuk mengembangkan aplikasi perangkat lunak sebagai proyek yang dikerjakan oleh perusahaan untuk pelanggan. Personel yang menduduki posisi ini diharapkan memiliki keterampilan teknis yang baik dalam perangkat lunak dan pemrogramannya. Kualitas aplikasi yang dihasilkan akan mempengaruhi kepuasan pelanggan.

j. Infrastruktur

Infrastruktur bertanggungjawab atas segala hal yang berkaitan dengan jaringan dan sistem operasi yang digunakan oleh perusahaan. Secara umum, infratruktur bertugas menangani sistem komputer pada perusahaan secara menyeluruh, bila terdapat gangguan jaringan ataupun sistem operasi, maka infrastruktur lah yang bertanggungjawab.

k. Finance

Finance menangani keuangan perusahaan, segala sesuatu yang

berhubungan dengan pemasukkan dan pengeluaran uang menjadi tanggungjawab posisi ini. Finance juga membuat aliran kas (cash flow) yang pencatatan keuangannya nanti akan dilakukan oleh bagian

accounting. Peran posisi ini sangat vital setelah bagian marketing,

kesalahan menentukan pengeluaran akan berakibat fatal bagi perekonomian perusahaan yang akan berakibat pada kelangsungan hidup perusahaan.

(7)

l. Accounting

Accounting bertugas melakukan pencatatan terhadap aliran

keuangan, termasuk pemasukan dan pengeluaran yang dibuat oleh

finance. Pencatatan yang dilakukan antara lain meliputi buku besar dan

AJP (Ayat Jurnal Penyesuaian). Jadi, antara finance dan accounting saling berhubungan erat.

Demikianlah keterangan tentang Perusahaan dalam pembuatan skripsi ini. Dalam pembuatan Skripsi Perancangan Aplikasi Program Game Matematika Sudoku menggunakan Algoritma Bipartite Matching, Perusahaan mendukung dalam hal software yang dibutuhkan dalam pembuatan aplikasi, dan pemahaman penulis tentang aplikasi mobile phone. Selanjutnya akan dijelaskan tentang pembuatan aplikasi program Sudoku secara spesifik tentang Gambaran Umum, Ruang Lingkup, Pemecahan Masalah, Representasi Data, Perancangan Sistem, Perancangan Layar, Perancangan STD, Perancangan Flowchart, dan Perancangan Modul Spesifikasi.

(8)

3.2 Gambaran Umum Masalah

Dalam perancangan program aplikasi ini, algoritma bipartite matching merupakan inti dari program tersebut. Dalam program inilah algoritma bipartite matching diterapkan.

Masalah yang akan dikemukakan adalah bagaimana menghasilkan solusi yang tepat dan benar untuk mengatasi permasalahan dalam permainan Sudoku ini. Hal yang menjadi gambaran umum dari permasalahan ini, adalah banyaknya clue yang diberikan ketika permainan dimulai.

Dalam perancangan skripsi ini, diimplementasikan sebuah program yang dapat menghasilkan solusi jawaban dengan diberikan soal permasalahan, aturan permainan, banyaknya clue yang diberikan, dan algoritma bipartite matching.

3.2.1 Mengapa Sudoku

Beberapa hal yang menjadi pertimbangan mengapa permainan ini dijadikan sebagai objek perancangan :

o Permainan ini merupakan permainan baru di Indonesia, dan sudah umum di dunia.

o Permainan ini mempunyai aturan permaainan yang tidak rumit sehingga mudah untuk mengimplementasikannya.

o Permainan ini dapat melatih logika dan kemampuan pemain. 3.2.2 Mengapa Algoritma Bipartite Matching

Penggunaan algoritma bipartite matching dalam program Sudoku ini adalah untuk merancang suatu program yang dapat menghasilkan solusi soal.

(9)

Kelebihan dari menggunakan algoritma ini dibandingkan algoritma lainnya adalah

a. Algoritma dapat menyelesaikan permasalahan pada flow network dengan kompleksitas O

(

EV1/2

)

.

b. Algoritma merupakan implementasi teori graf dan dapat mewakili model permasalahan matching (pemasangan) pada graf bipartite.

c. Augmenting path pada Algoritma Bipartite Matching merupakan kelebihan pada teori flow network yang dapat mempersingkat kompleksitas dari O

( )

EV menjadi O

(

EV1/2

)

.

3.3 Pemecahan Masalah

Pemecahan Masalah dibagi menjadi 3, yaitu Scanning, Marking Up, dan Analisis. Selanjutnya, tahap-tahap akan dijelaskan lebih terperinci.

3.3.1 Scanning

Pemeriksaan digit 1-9 yang belum tersedia di setiap kotak pada saat mulai permainan baik dalam kolom, baris, maupun region.

(10)

Gambar 3.2. Proses Scanning

Misal di dalam ada 81 verteks dalam Sudoku. Dimulai dari baris 1 dari kiri ke kanan verteks 1-9, baris 2 verteks 10-18, baris 3 verteks 19-27, baris 4 verteks 28-36, baris 5 verteks 37-45, baris 6 verteks 46-54 baris 7 verteks 55-64, baris 8 verteks 65-72. baris 9 verteks 72-81. Dari semua vertek yang ada, dapat diketahui bahwa vertek-vertek yang kosong tidak mungkin mempunyai jawaban seperti pada kotak yang terisi. Untuk lebih jelas, lihat pada lampiran bagaimana proses berjalannya scanning.

3.3.2 Marking Up

Menandakan beberapa alternatif isi kotak pada masing-masing vertek, dan mengeliminir kemungkinan ketika 1 kotak terisi. Untuk lebih jelas lihat pada lampiran bagaimana proses berjalannya scanning.

(11)

Gambar3.3. Proses Marking Up

3.3.3 Algoritma Bipartite Matching

Algoritma bipartite matching digunakan dalam pemrosesan mencari solusi dari persoalan sudoku. Algoritma bipartite matching dijalankan dalam program ini sebelum menghilangkan rantai-rantai, dan set.

Misalkan dalam soal Sudoku memiliki Permutasi graf bipartite :

({1,2,3,5},{3,6},{3,4},{5,6},{1,7,8,9},{5,7,8,9},{4,6},{6,7,8,9},{1,4}), n = 9

Dan untuk setiap permasalahan Sudoku selalu memiliki solusi seperti berikut : ({1},{2},{3},{4},{5},{6},{7},{8},{9}), n = 9

(12)

Gambar 3.4 Algoritma Bipartite Matching

Algoritma akan bergerak dari node sebelah kiri, menuju sebelah kanan, dan kembali ke sebelah kiri. Algoritma akan berjalan seperti terus sampai mendapatkan jawaban yang tepat.

3.3.4 Penghilangan Set dan Rantai a. Penghilangan Set

Jika diketahui Permutasi Graf Bipartite

({1,2,3,5},{3,6},{3,4},{5,6},{1,7,8,9},{5,7,8,9},{4,6},{6,7,8,9},{1,4})

Angka 7,8,9 muncul pada 3 vertek seperti berikut.

({1,7,8,9},{5,7,8,9},{6,7,8,9}). Dari ketiga vertek tersebut jika diperhatikan setiap vertek memiliki hanya satu kemungkinan dalam permutasi graf

bipartite, kemungkinannya untuk ketiga vertek tersebut adalah angka 7,

(13)

dihapus, yaitu 1,5,6. Angka-angka tersebut dihapus dari ketiga verteks tersebut menjadi:

{1,7,8,9} Æ {7,8,9}

{5,7,8,9} Æ {7,8,9}

{6,7,8,9} Æ {7,8,9}

Dan sehingga keseluruhan permutasi graf bipartite menjadi :

({1,2,3,5},{3,6},{3,4},{5,6},{7,8,9},{4,6},{7,8,9},{1,4}),n=9

b. Penghilangan Rantai

Jika diketahui permutasi graf bipartite adalah :

({1,2,3,7},{3,6},{3,4},{1,4},{5,6,7},{4,6},{2,7},{8,9},{8,9}),n=9

Jika diperhatikan pada posisi ke dua, ketiga dan ke enam didapatkan vertek {3,6},{3,4},{4,6}. Dari ketiga vertek tersebut kesemuanya hanya akan memiliki kemungkinan antara 3,4,6 yang dapat diisi pada verteks tersebut. Dari kejadian tersebut, dapat diketahui bahwa tidak mungkin bahwa angka 3,4,6 muncul pada enam verteks lainnya. Sehingga didapatkan permutasi graf bipartite yang baru menjadi

({1,2,7},{3,6},{3,4},{1},{5,7},{4,6},{8,9},{8,9}), n = 9

Karena sudah ada vertek yang memiliki solusi pasti, pada vertek ke empat dengan nilai 1. Maka angka 1 dapat dihilangkan dari vertek lainnya menjadi

(14)

3.4 Representasi Data Input dan Output 3.4.1 Representasi Data Input

a. Generate Soal

Input berupa angka yang diacak dan ditampilkan pada board sesuai level kesulitan. Yang mempengaruhi level kesulitan adalah jumlah

banyaknya clue dan posisi peletakan angka sebagai clue di dalam board. Berikut Tabel 1, yang menunjukkan perbedaan jumlah clue.

Tabel 3.1. Tabel Clue untuk Level Kesulitan

Berikut posisi clue pada board untuk masing-masing level kesulitan :

Tabel 3.2. Tabel Posisi Clue untuk

Level Kesulitan Easy

Tabel 3.3 Tabel Posisi Clue untuk Level Kesulitan Medium

(15)

Tabel 3.4. Tabel Posisi Clue untuk Level Kesulitan Hard

b. Generate Solusi

Input berupa nilai yang diacak dan ditampilkan pada board. c. Generate Score

Perhitungan Score ditentukan jika jawaban pemain benar dan semua kotak telah terisi. Waktu permainan disimpan dari permainan dimulai, sampai waktu mengisi kotak terakhir dan benar. Kemudian score didapatkan dari :

Score Easy = 1_____ x 10.000.000 - ( 10 * jumlah pemakaian Hint ) Waktu (detik)

Score Medium = 1_____ x 15.000.000 - ( 10 * jumlah pemakaian Hint ) Waktu (detik)

Score Hard = 1_____ x 20.000.000 - ( 10 * jumlah pemakaian Hint ) Waktu (detik)

Untuk lebih jelasnya dapat dilihat pada tabel 5 sebagai berikut. Tabel 5. Tabel Perhitungan Score

Nilai Jika menggunakan Hint

Easy 10000000 / waktu ( - )10 * banyak hint Medium 15000000 / waktu ( - )10 * banyak hint Hard 20000000 / waktu ( - )10 * banyak hint

(16)

3.4.2 Representasi Data Output a. Tampilan Soal

Menampikan variasi soal sesuai level kesulitan pada board di layar New

Game.

b. Tampilan Solusi

Menampilkan solusi jawaban secara lengkap di layar. c. Tampilan Score

Menampilkan hanya satu nilai tertinggi dari semua permainan. 3.5 Perancangan Sistem

3.5.1 Perancangan Struktur Menu Utama

Struktur Menu Utama pada Program Sudoku (Gambar 3.5) terdiri dari menu New Game, Options, Score, Instructions, About, Exit. Menu New Game memiliki sub menu Hint dan Solve. Menu Options memiliki sub menu terdiri dari

Easy, Medium, Hard.

(17)

3.5.2 Perancangan Layar

Berikut ini adalah rancangan layar yang akan dibuat dalam program aplikasi Bipartite Matching pada Sudoku.

a. Perancangan Layar Menu Utama

Pada perancangan Layar menu utama (Gambar 3.6) terdapat menu-menu sebagai berikut :

1. Menu New Game

Di dalam menu New Game terdapat submenu baru yaitu : a. Menu Hint

b. Menu Solve

2. Menu Options : terdiri dari sub menu Easy, Medium, Hard 3. Menu Score

4. Menu Instruction 5. Menu About 6. Menu Exit

(18)

b. Perancangan Layar Menu New Game

Perancangan layar menu New Game akan menghasilkan tampilan yang baru berupa layar papan permainan Sudoku. Di dalam ini terdapat menu baru dalam options jika dalam permainan dibutuhkan Hint (bantuan

clue) untuk pemain, dan Solve untuk membantu pemain mengetahui

penyelesaian permainan.

Gambar 3.7 Layar NewGame Gambar 3.8 Menu Options

c. Perancangan Layar Menu Options

Perancangan layar menu Options akan menunjukkan submenu terdiri dari Easy, Medium, Hard. Easy menunjukkan level kesulitan permainan mudah, Medium menunjukkan level kesulitan cukup. Dan Hard menunjukkan level kesulitan yang cukup sulit untuk diselesaikan.

(19)

Gambar 3.9 Menu Level Kesulitan d. Perancangan Layar Menu Instructions

Pada perancangan layar menu Instructions (Gambar 3.10), terdapat informasi mengenai cara permainan Sudoku.

Gambar 3.10 Menu Information

e. Perancangan Layar Score

Pada perancangan layar Score, terdapat informasi nilai pemain yang paling tertinggi dari semua permainan.

(20)

Gambar 3.11 Menu Score

f. Perancangan Layar About

Pada perancangan layer About, terdapat informasi tentang nama pembuat program.

(21)

3.5.3 Perancangan STD

(22)

Gambar 3.14 State Transition Diagram Game Sudoku Spesifik

Kelas utama dalam perancangan game Sudoku ini adalah kelas Sudoku yang merupakan kelas MIDlet untuk mengatur kelas-kelas lainnya. Kelas ini berfungsi untuk agar aplikasi sistem secara keselurahan berjalan. Kelas-kelas yang terhubung dengan kelas Sudoku ini adalah kelas splashScreen, kelas

(23)

mainMenu. Di dalam kelas mainMenu terdapat List kelas yaitu; kelas Options, kelas Score, kelas Instructions, kelas About.

Pertama kali saat game dijalankan kelas Sudoku memanggil kelas

splashScreen. Kelas splashScreen akan menampilkan images Sudoku, dan

kemudian menampilkan mainMenu game Sudoku. Setelah itu kelas mainMenu akan menampilkan list menu NewGame, Options, Instructions, About, Exit. Untuk memilih menu tersebut disediakan menu select agar user dapat mudah untuk memilih. Jika user memilih menu Options maka kelas mainMenu akan memanggil kelas Options yang menampilkan pilihan level kesulitan game Sudoku. Jika user memilih menu Score maka kelas mainMenu akan memanggil kelas Score yang menampilkan score tertinggi dari permainan. Jika user memilih menu Instructions maka kelas mainMenu akan memanggil kelas Instructions yang menjelaskan cara permainan kepada user. Jika user memilih menu About maka kelas mainMenu akan memanggil kelas About yang menampilkan profil pembuat game. Jika user memilih menu NewGame maka kelas Sudoku akan memanggil kelas SudokuBoard. Di dalam kelas SudokuBoard memanggil kelas Board RandomDiagonalGenerator, dan kelas BipartiteSolver. Kelas RandomDiagonalGenerator untuk menghasilkan soal, dan kelas BipartiteSolver untuk menghasilkan jawaban.

3.5.4 Perancangan Flowchart

Flowchart yang akan dijelaskan berikut terdiri dari flowchart generate soal,

(24)

a. Flowchart Modul Generate Soal

Proses Generate Soal, terdapat pada kelas

RandomDiagonalGenerator. Dalam proses ini pertama kali ditentukan berdasarkan level kesulitan kemudian Board soal dibuat sesuai level kesulitan. Setelah itu cell dibuat di dalam board, dan dideklarasikan nilai dan tipenya. Masing-masing cell mempunyai nilai yang diperoleh melalui random angka. Kemudian dengan angka yang ada, Proses pencarian solusi dijalankan. Akhirnya diperoleh soal dengan jawaban lengkap, dan untuk soal yang sebenarnya ditampilkan ke dalam layar dengan jumlah minimum clue, sesuai level kesulitannya.

(25)

b. Flowchart Modul Generate Solusi (Sudoku Solver)

Modul(Gambar 3.16) ini digunakan untuk membuat permodelan kelas BipartiteSolver. Pada saat akan menghasilkan solusi, terlebih dahulu input diproses. Input terdiri dari dua himpunan yaitu himpunan angka dan himpunan vertek. Setelah memproses input menjadi himpunan yang siap dipasangkan, kemudian proses pemasangan himpunan angka dengan vertek dilakukan. Ketika proses pemasangan tidak berhasil, proses pemasangan dicoba kembali dengan menggunakan augmenting

path pada bipartite matching. Setelah menggunakan metode ini berhasil,

maka dilakukan proses pencetakkan logika output. Jika metode ini tidak berhasil maka soal tidak dapat memiliki solusi disebut gagal.

(26)

c. Flowchart Modul Function find_augmenting_path

Dari modul Generate Solusi diatas dapat diperluas lagi untuk proses pencarian posisi yang mungkin dengan augmenting path(Gambar 3.17). Diketahui himpunan number dan himpunan vertek tidak dapat dipasangkan. Jika himpunan number tidak mempunyai pasangan, maka dicari pasangan untuk number. Jika pasangan number sudah memiliki pasangan maka terjadi rekursif penentuan pasangan kembali. Jika himpunan number sudah memiliki pasangan maka dicek verteknya. Jika

vertek tidak punya pasangan maka coba pasangan dengan number yang

tidak memiliki pasangan. Jika masih belum terpasang, program berjalan rekursif. Jika terpasangkan maka proses pemasangan berhasil. Dan Proses selesai, data dikirim ke modul generate solusi untuk diproses menjadi output di layar.

(27)
(28)

d. Flowchart Modul Function chain_elimination dan set_elimination Seperti pada gambar 3.18, Program memproses input menjadi dua himpunan yaitu himpunan number dan himpunan vertek. Algoritma mencari pasangan yang mungkin dari kedua himpunan. Jika tidak memiliki pasangan, maka proses pencarian chain dilakukan. Setelah chain ditemukan, kemudian himpunan diproses kembali menjadi lebih sederhana. Dan akhirnya hasil himpunan yang lebih sederhana didapatkan.

(29)

e. Flowchart Function Pencarian_Chain dan Set

Dari keterangan sebelumnya diketahui, himpunan tidak dapat dipasangkan. Dan untuk berikutnya himpunan akan diminimalisasi agar lebih mudah diproses. Proses minimalisasi dilakukan dengan mencari chain, kemudia mencari tahu himpunan number dan himpunan vertek yang tidak memiliki pasangan. Jika selama mencari chain, himpunan yang ditemukan belum mempunyai pasangan, maka terjadi rekursif. Jika semua sudah terpasang, maka chain berhasil ditemukan. Setelah itu himpunan di minimalisasi. Dan didapatkan minimalisasi himpunan yang baru.

(30)

f. Flowchart Modul Generate Score

Gambar berikut merupakan Flowchart dari Menu Score. Untuk pertama kali diinisialisasikan score-score yang ada. Kemudian menentukan level permainan. Setelah level permainan diketahui dilakukan perhitungan score berdasarkan waktu permainan dan pemakaian hint. Setelah itu tampilkan ke layar.

(31)

3.5.5 Perancangan Spesifikasi Proses

a. Perancangan spesifikasi proses menu Sudoku Modul Sudoku

Jika (Permainan Berakhir) Keluar permainan Akhir Jika

Jika (Permainan dijalankan) Tampilkan SplashScreen Selain itu

Tampilkan Main Menu Screen Akhir Jika

Akhir Modul

b. Perancangan spesifikasi proses menu splashScreen Modul SplashScreen

Memanggil Image

Tampilkan Image di layar Tunggu beberapa saat

Tampilkan menu mainMenu Selain itu

Keluar permainan Akhir Jika

Akhir modul

c. Perancangan spesifikasi proses menu Main Modul Main Menu

Tampilkan Layar Utama Menunggu Pilihan

Jika Pilihan adalah Menu “NewGame” maka Panggil Modul “NewGame ”

Selain itu

Jika Pilihan adalah Menu “Options” maka Panggil Modul “Options”

Selain itu

Jika Pilihan adalah Menu “Score” maka Panggil Modul “ScoreScreen” Selain itu

Jika Pilihan adalah Menu “Instruction” maka Panggil Modul “Instructions”

Selain itu

(32)

Panggil Modul “AboutScreen” Jika Pilihan adalah Menu “Exit” maka Keluar dari Aplikasi

Akhir Jika Akhir Modul

d. Perancangan spesifikasi proses menu New Game Modul NewGame

Memanggil Modul “SudokuBoard”

Memanggil Modul “RandomDiagonalGenerator” Memanggil Modul “BipartiteSolver”

Tampilkan ke Layar Akhir Modul

e. Perancangan spesifikasi proses CommandButton pada New Game Modul CommandMenu

Tampilkan Layar Tambahan Menunggu Pilihan

Jika Pilihan adalah Menu “Hint” maka Panggil Modul “Hint ”

Selain itu

Jika Pilihan adalah Menu “Solve” maka Panggil Modul “Solve”

Akhir Jika Akhir Modul

f. Perancangan spesifikasi proses menu Options Modul Options

Tampilkan Pilihan Radio Button Jika Pilihan adalah “Easy” Simpan sebagai parameter Akhir Jika

Selain itu

Jika Pilihan adalah “Medium” Simpan sebagai parameter Akhir Jika

Selain itu

Jika Pilihan adalah “Hard” Simpan sebagai parameter Akhir Jika

(33)

g. Perancangan spesifikasi proses menu Score Modul Score

Tentukan Level Kesulitan Inisialisasi Score

Jika level kesulitan “Easy“ Hitung currentScore

Akhir Jika

Jika level kesulitan “Medium” Hitung currentScore Akhir Jika

Jika level kesulitan “Hard” Hitung currentScore Akhir Jika

Bandingkan dengan Score yang ada Tampilkan Score yang tertinggi Akhir Modul

h. Perancangan spesifikasi proses menu About Modul Menu About

Tampilkan Pesan “ Skripsi by …. “ Jika (Tombol Back di tekan) Tampilkan Main Menu

Akhir Jika Akhir Modul

i. Perancangan spesifikasi proses menu Instructions Modul Instructions

Tampilkan Pesan “ Permainan : Isi kotak…. “ Jika (Tombol Back di tekan)

Tampilkan Main Menu Akhir Jika

Gambar

Gambar 3.1 Struktur Organisasi Presiden DirekturDirektur Marketing Direktur  Operasional Marketing Manager Marketing Officer HRDGAQA Software Developer
Gambar 3.2. Proses Scanning
Gambar 3.4 Algoritma Bipartite Matching
Tabel 3.2. Tabel Posisi Clue untuk  Level Kesulitan Easy
+7

Referensi

Dokumen terkait

Periode sejarah Indonesia dapat dibagi menjadi lima era: Era Prakolonial, munculnya kerajaan-kerajaan Hindu - Buddha serta Islam di Jawa dan Sumatera yang

Mengacu pada peraturan BKI (Biro Klasifikasi Indonesia) tahun 2006 dan membandingkan nilai hasil uji tarik dari masing-masing variasi arah serat dengan perlakuan alkali

Berdasarkan hasil-hasil yang diperoleh dalam penelitian ini, dapat disimpulkan bahwa terdapat perbedaan yang signifikan pada pemahaman konsep pengukuran antara siswa

Untuk melakukan pengujian apakah ada pengaruh perbedaan tingkat pendidikan responden terhadap hasil jawaban yang diberikan atas variabel penelitian, dapat

Untuk menjawab permasalahan tersebut maka penelitian yang digunakan dalam penelitian ini adalah metode deskriptif analisis.Dalam penelitian ini penulis menggunakan populasi sebanyak

Penelitian ini menemukan lima tema pengalaman hospitalisasi pada anak, yaitu terbatasnya melaku- kan aktivitas rutin sehari-hari, suasana ruang rawat tidak nyaman, tidak

Dalam penelitian ini, dilakukan pemodelan pengguna perangkat bergerak dengan implementasi proof-of-conceptberupa rancang bangun aplikasi Android yang dapat digunakan

Pada patogen lain misalnya jamur Cercospora henningsii , penyebab penyakit bercak daun coklat, daun tanaman yang berumur tua justru lebih rentan terhadap infeksi jamur