BAB 3 ANALISIS DAN PERANCANGAN
Dalam bab ini akan dibahas mengenai analisis sistem dan perancangan aplikasi permaian
Mill.
Penulis mencoba membuat suatu aplikasi permainan
Mill
yang menerapkan kecerdasan buatan pada komputer yang akan dilawan . Penulis juga
mencoba menjelaskan bagaimana cara kerja kecerdasan buatan pada permainan
Mill
. Dalam hal ini, penulis menggunakan algoritma
Greedy.
3.1. Analisis Permainan
Berikut ini aturan permainan yang ditetapkan oleh penulis untuk aplikasi permainan
Mill
: 1.
Pemain berlomba membentuk 3 bidak segaris
Mill
di
path
yang tersedia pada papan permainan.
2. Pemain dapat memilih mode melawan komputer atau teman.
3. Pemain dapat memilih mode permainan Lomba 1
Mill
atau Lomba Banyak
Mill
. 4.
Untuk mode melawan komputer, pemain dapat memilih tingkat kesulitan mudah,menengah atau sulit.
5. Pemain dapat memilih siapa yang terlebih dahulu mainpemain atau komputer
dan jumlah putaran permainan yang diinginkan untuk mode Lomba Banyak
Mill
. 6.
Untuk mode Lomba 1
Mill
, pemain berlomba dengan komputer untuk membentuk sebuah
Mill
di
path
yang tersedia. Permainan selesai saat pemain atau komputer telah membentuk sebuah
Mill
di salah satu
path
. Permainan juga selesai saat seluruh
path
pada permaian telah terisi bidak. 7.
Untuk mode Lomba Banyak
Mill
, pemain berlomba dengan komputer untuk membentuk sebanyak mungkin
Mill
di
path
yang tersedia. Pemain atau komputer mendapatkan skor 1 jika membentuk sebuah
Mill
. Permainan selesai setelah semua putaran dimainkan.
3.2. Fungsi Prioritas dan Analisis Algoritma
Greedy
3.2.1. Fungsi Prioritas
Untuk membangun kecerdasan buatan pada komputer, penulis membuat sebuah fungsi prioritas berdasarkan strategi yang diterapkan. Fungsi prioritas inilah yang
menjadi strategi peletakan bidak oleh komputer di
path
yang tersedia pada papan permainan. Berikut tabel fungsi prioritas yang digunakan oleh penulis :
Tabel 3.1 Fungsi Prioritas
No. Jumlah Bidak
Pemain di
Path
Jumlah Bidak Komputer di
Path
Nilai Prioritas
Path
Keterangan
1. Jumlah Bidak dan
Nilai Prioritas dilihat dari sisi
Komputer 2.
1 10
3. 2
100 4.
1 1
1 5.
1 20
6. 2
200 7.
2 1
- Tidak memiliki
nilai prioritas lagi karena semua node
pada
path
tersebut sudah berisi bidak
8. 1
2 -
9. 3
- 10.
3 -
Pada tabel 3.1 menjelaskan nilai prioritas
path
berdasarkan jumlah bidak pemain atau komputer di
path
. Jumlah bidak dan nilai prioritas tersebut dilihat dari sisi komputer dan akan menjadi patokan dalam menentukan langkah komputer
berikutnya.
Penulis memberikan nilai prioritas berbeda pada No.3 dan No.6 dikarenakan penulis bertujuan agar komputer bisa menyerang dan lebih memilih
meletakkan bidaknya pada
path
yang berisi 2 bidaknya No.6 untuk membentuk
mill
karena nilai prioritasnya 200 lebih besar daripada harus bertahan untuk mem
block path
berisi 2 bidak pemain No.3 yang nilai prioritasnya 100 lebih kecil. Sama halnya dengan No.2 dan No.5 ,komputer akan memilih meletakkan
bidaknya pada
path
yang bernilai prioritas lebih tinggi. Untuk No.1 penulis memberikan nilai prioritas 0 untuk semua
path
yang belum terisi bidak sama sekali. Untuk no.4 penulis memberikan nilai prioritas 1 saat 1 bidak pemain dan 1
bidak komputer ada di
path
tersebut.
3.2.2. Analisis Algoritma
Greedy
Penulis membangun kecerdasan buatan
AI
komputer dengan menerapkan algoritma
Greedy
. Algoritma
Greedy
dipadukan dengan fungsi prioritas yang sudah disebutkan sebelumnya untuk penelusuran kemungkinan langkah terbaik
yang akan dipilih komputer. Adapun elemen-elemen algoritma
Greedy
yang digunakan daladalah sebagai berikut :
1. Himpunan Kandidat HK : himpunan
path
yang ada dalam papan permainan
Mill
yaitu H1, H2, H3, H4, H5, H6, H7, H8, V1, V2, V3, V4, V5, V6, V7, V8, D1, D2, D3, D4.
2. Fungsi Prioritas FP : seperti penjelasan pada Tabel 3.1.
3. Himpunan Solusi HS : Himpunan
path
yang tidak bernilai prioritas 0 berisi bidak
4. Fungsi Seleksi dan Kelayakan FSK : seleksi
path
yang bernilai prioritas paling tinggi dari Himpunan Solusi.
5. Fungsi Objektif FO : Memilih salah satu dari nilai prioritas paling tinggi
yang sama dari Fungsi Seleksi dan Kelayakan secara acak. Hasil dari Fungsi Objektif inilah yang menjadi langkah terbaik yang dipilih
AI
.
Penulis mengambil sebuah sampel permainan untuk dianalisis menggunakan algoritma
greedy.
Penjelasan analisis terebut adalah sebagai berikut
Gambar 3.1 Giliran ke-1 Pemain
Pada gambar 3.1 penulis dapat membuat tabel penjelasan penerapan algoritma greedy sebagai berikut
Tabel 3.2 Giliran ke-1 Pemain
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
10 10
10 HS
H1, V1, D1 FSK
H1, V1, D1 FO
V1 Ket
Komputer memilih meletakkan bidak pada node yang ada di path V1 lihat Gambar 3.2
Gambar 3.2 Giliran ke-2 Komputer Tabel 3.3 Giliran ke-2 Komputer
Gambar 3.3 Giliran ke-3 Pemain
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
10 20
1 10
HS -
FSK -
FO -
Ket
Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.3
Tabel 3.4 Giliran ke-3 Pemain
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
100 20
1 10
10 HS
H1, H4, V1, V4, D1 FSK
H1 FO
H1 Ket
Komputer memilih meletakkan bidak pada node yang ada di path H1 lihat Gambar 3.4
Gambar 3.4 Giliran ke-4 Komputer Tabel 3.5 Giliran ke-4 Komputer
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
- 20
1 10
20 10
20 HS
- FSK
- FO
- Ket
Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.5
Gambar 3.5 Giliran ke-5 Pemain Tabel 3.6 Giliran ke-5 Pemain
Gambar 3.6 Giliran ke-6 Komputer
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
- 20
10 1
10 10
20 10
20 HS
H4, H6, V1, V4, V5, V8, D1, D2 FSK
H4, V8, D2 FO
D2 Ket
Komputer memilih meletakkan bidak pada node yang ada di path D2 lihat Gambar 3.6
Tabel 3.7 Giliran ke-6 Komputer
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
- 20
20 10
1 10
10 20
20 10
200 HS
- FSK
- FO
- Ket
Komputer menunggu langkah pemain selanjutnya untuk dievaluasi Lihat Gambar 3.7
Gambar 3.7 Giliran ke-7 Pemain Tabel 3.8 Giliran ke-7 Pemain
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
- 1
20 10
1 100
10 20
20 10
200 HS
H2, H4, H6, V1, V4, V5, V7, V8, D1, D2 FSK
D2 FO
D2 Ket
Komputer memilih meletakkan bidak pada node yang ada di path D2 lihat Gambar 3.8
Gambar 3.8 Giliran ke-8 Komputer Tabel 3.9 Giliran ke-8 Komputer
Pada Gambar 3.8 terlihat Komputer berhasil membuat
Mill
pada
path
D2. Dengan demikian Komputer berhasil mengalahkan Pemain pada giliran ke-8.
3.3. Perancangan Sistem
Pada bagian ini penulis akan menguraikan gambaran aplikasi yang akan dirancang dan sebagai tahapan persiapan sebelum penerapan dan pengimplementasian di
Android
.
HK H1
H2 H3
H4 H5
H6 H7
H8 V1
V2 V3
V4 V5
V6 V7
V8 D1
D2 D3
D4 FP
- 1
20 20
10 1
100 10
20 20
20 10
- HS
- FSK
- FO
- Ket
Komputer berhasil membuat Mill.
3.3.1
Flowchart
Algoritma
Greedy
Flowchart Algoritma Greedy yang diterapkan dalam permainan Mill menunjukkan proses evaluasi terhadap penentuan langkah terbaik yang dapat
dilakukan
AI.
Flowchart Algoritma Greedy tersebut dapat dilihat pada gambar
START Pemain
meletakkan bidak di
path Fungsi Prioritas
memberikan nilai prioritas setiap path
Menentukan Himpunan Solusi
nilai prioritas path ≠0
Fungsi Seleksi dan Kelayakan menseleksi
nilai prioritas path tertinggi dari Himpunan Sousi
Fungsi Objektif memilih salah satu nilai prioritas
path tertinggi dari Fungsi Seleksi dan Kelayakan
AI meletakkan
bidak di path
END
Gambar 3.9
Flowchart
Algoritma
Greedy
3.3.2
Flowchart
Aplikasi
Perancangan aplikasi permainan bertujuan untuk menunjukkan interaksi yang dapat dilakukan user terhadap aplikasi permainan. Alur aplikasi permainan
dimulai dengan menampilkan menu utama di layar yang terdiri dari Lawan
Komputer, Lawan Teman, Statistik
,
Panduan, dan Tentang
.
Setelah memilih
salah satu dari menu tersebut, aplikasi akan menampilkan halaman lainnya. Alur
flowchart
dari aplikasi permainan dapat dilihat pada gambar
START Tampilkan Menu
Utama Pilih Lawan
Komputer ?
Pilih Lawan Teman ?
Pilih Statistik ?
Pilih Panduan ?
Pilih Tentang ? N
N
N Tampilkan
Halaman Statistik
Tampilkan Halaman Panduan
Y
Y
Y
Tampilkan Halaman Tentang
Y Pemain
Menang ? Muncul Pesan
Pemain Menang Muncul Pesan
Komputer Menang Y
N
Simpan Ke Database
Statistics Kembali ?
Y
Kembali ?
Kembali ?
Kembali ? N
N
N
END N
Tampilkan Halaman Lawan
Komputer Pilih Lomba 1
Mill, Lomba banyak MIll
N
Y
Pemain Menang ?
Muncul Pesan Pemain1 Menang
Muncul Pesan Pemain 2 Menang
Y N
Simpan Ke Database
Statistics Kembali ?
Tampilkan Halaman Lawan
Teman Pilih Lomba 1
Mill, Lomba banyak MIll
N
Y Y
Tampil Pilihan
Duluan Main dan Level
Tampil Papan
Permainan
Tampil Pilihan
Duluan Main Tampil
Papan Permainan
Gambar 3.10
Flowchart
Aplikasi
3.3.3 Pemodelan Visual Menggunakan UML
Dalam perancangan aplikasi permainan, penulis menggunakan bahasa pemodelan UML. Model UML yang digunakan antara lain
use case diagram
dan
activity diagram.
Use Case
adalah deskripsi fungsi sebuah sistem dari perspektif pengguna.
Use case
bekerja dengan cara mendeskripsikan tipikal interaksi antara userpengguna dengan sistem itu sendiri melalui sebuah cerita bagaimana sistem
dipakai.
User
pengguna biasanya disebut dengan actor.
Actor
yang berperan dalam sistem ini adalah pemain dan
AI
. Untuk mendapatkan use case dari actor ,maka terlebih dahulu ditentukan
interaksi apa saja yang dapat dilakukan actor terhadap sistem. Berikut interaksi yang dapat dilakukan actor terhadap sistem :
1. Mulai Lawan Komputer 2. Mulai Lawan Teman
3. Melihat Statistik 4. Melihat Panduan
5. Melihat Tentang
Activity diagram
adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus.
Activity diagram
mempunyai peran seperti halnya
flowchart
, akan tetapi perbedaannya dengan
flowchart
adalah
activity diagram
bisa mendukung perilaku paralel sedangkan
flowchart
tidak bisa. Penulis merancang
use case
aplikasi tersebut dalam bentuk diagram berikut.
Gambar 3.11
Use Case
Aplikasi
Tabel dokumentatif dan Activity Diagram dari Use Case aplikasi pada Gambar 3.10 adalah sebagai berikut
Tabel 3.10 Use Case Mulai Lawan Komputer
Nama Use Case Mulai Lawan Komputer
Aktor Pemain
Deskripsi Use case ini berfungsi untuk memulai permainan
Pre Condition
Pemain memilih menu Lawan Komputer pada Menu Utama Flow Of Events
Kegiatan Aktor Respon Sistem
- Pemain menekan tombol Lawan Komputer pada halaman Menu
Utama - Pilhan mode Lomba 1
Mill
dan Lomba Banyak
Mill
ditampilkan
Activity diagram untuk
use case
Mulai Lawan Komputer dapat dilihat pada gambar 3.12
Pemain Sistem
Menekan Tombol Lomba 1 MillBanyak Mill
Menampilkan pilihan duluan main,level,jlh putaran
Menekan Tombol Back
Menutup Halaman Lawan Komputer
Gambar 3.12
Activity Diagram
Mulai Lawan Komputer Post Condition
Papan permainan
Mill
ditampilkan dan siap dimainkan
Tabel 3.11
Use Case
Mulai Lawan Teman
Pemain Sistem
Menekan Tombol Lawan Teman Menampilkan Pilihan Lomba 1 Mill dan Banyak Mill
Menekan Tombol Back
Menutup Halaman Lawan Teman
Gambar 3.13
Activity Diagram
Mulai Lawan Teman Nama Use Case
Mulai Lawan Teman Aktor
Pemain Deskripsi
Use case ini berfungsi untuk memulai permainan
Pre Condition
Pemain memilih menu Lawan Teman pada Menu Utama Flow Of Events
Kegiatan Aktor Respon Sistem
- Pemain menekan tombol Lawan Teman pada halaman Menu
Utama - Pilhan mode Lomba 1
Mill
dan Lomba Banyak
Mill
ditampilkan
Post Condition Papan permainan
Mill
ditampilkan dan siap dimainkan
Tabel 3.12
Use Case
Memilih Duluan Main, Level dan Jumlah Putaran
Pemain Sistem
Menekan Tombol Lomba 1 MillBanyak Mill
Menampilkan pilihan duluan main,level,jlh putaran
Menekan Tombol Back
Menutup Halaman Lomba 1 Mill Banyak Mill
Gambar 3.14
Activity Diagram
Memilih Duluan Main, Level dan Jumlah Putaran Nama Use Case
Memilih Duluan Main, Level dan Jumlah Putaran Aktor
Pemain Deskripsi
Use case
ini berfungsi untuk memilih konfigurasi sebelum bermain
Pre Condition
Pemain memilih menu Lomba 1
Mill
atau Lomba Banyak
Mill
Flow Of Events Kegiatan Aktor
Respon Sistem - Pemain menekan tombol
Lomba 1
Mill
tau Lomba Banyak
Mill
- Pilihan konfigurasi Duluan Main, Level dan Jumlah Putaran
ditampilkan
Post Condition Papan permainan
Mill
ditampilkan dan siap dimainkan
Tabel 3.13
Use Case
Bermain
Pemain Meletakkan Bidak
Mengupdate papan permainan
Pemain Sistem
Gambar 3.15
Activity Diagram
Bermain Nama Use Case
Bermain Aktor
Pemain Deskripsi
Use case ini berfungsi untuk memulai permainan dengan meletakkan bidak ke papan permainan
Mill Pre Condition
Papan permainan sudah ditampilkan di layar Flow Of Events
Kegiatan Aktor Respon Sistem
-Pemain dan komputer mulai meletakkan bidak di papan
permainan -Sistem meng
update
papan permainan
Post Condition Papan Permainan
Mill
telah terisi bidak dan permainan berlanjut
Tabel 3.14
Use Case
Evaluasi Langkah
Cek papan permainan
Evaluasi Nilai Langkah
Memilih Langkah Terbaik
AI Meletakkan Bidak
Mengupdate Papan Permainan
AI Sistem
Gambar 3.16
Activity Diagram
Evaluasi Langkah Nama Use Case
Evaluasi langkah Aktor
AI
Deskripsi Use case ini berfungsi untuk mengevaluasi langkah
AI
yang akan dijalankan pada gilirannya.
Pre Condition
Pemain telah meletakkan bidaknya Flow Of Events
Kegiatan Aktor Respon Sistem
-
AI
mengecek papan permainan -
AI
mengevaluasi nilai langkah -
AI
memilih langkah terbaik -
AI
meletakkan bidak - Sistem meng
update
papan permainan
Post Condition Papan Permainan
Mill
telah terisi bidak dan permainan berlanjut
Tabel 3.15
Use Case
Statistik
Menekan Tombol Statistics
Menampilkan Halaman Statistics
Menekan Tombol Back Menutup Halaman Statistics
Pemain Sistem
Gambar 3.17
Activity Diagram
Statistik Nama Use Case
Lihat Statistik Aktor
Pemain Deskripsi
Use case ini berfungsi untuk melihat statistik menangkalah pemain melawan
AI Pre Condition
Pemain memilih menu Statistics pada halaman Menu Utama Flow Of Events
Kegiatan Aktor Respon Sistem
-Pemain menekan tombol Statistics pada halaman menu
utama -Menampilkan Halaman
Statistik
Post Condition -
Tabel 3.16
Use Case
Panduan
Menekan Tombol Panduan Menampilkan Halaman Panduan
Menekan Tombol Back
Menutup Halaman Panduan
Pemain Sistem
Gambar 3.18
Activity Diagram
Panduan Nama Use Case
Lihat Panduan Aktor
Pemain Deskripsi
Use case ini berfungsi untuk melihat bantuan dan tata cara bermain aplikasi
Mill Pre Condition
Pemain memilih menu Panduan pada halaman Menu Utama Flow Of Events
Kegiatan Aktor Respon Sistem
-Pemain menekan tombol Panduan pada halaman menu
utama -Sistem menampilkan
halaman Panduan
- Menutup halaman Panduan Post Condition
-
Tabel 3.17 Tabel
Use Case
Tentang
Menekan Tombol Tentang Menampilkan Halaman Tentang
Menekan Tombol Back
Menutup Halaman Tentang
Pemain Sistem
Gambar 3.19
Activity Diagram
Tentang Nama Use Case
Lihat Tentang Aktor
Pemain Deskripsi
Use case ini berfungsi untuk melihat tentang latar belakang game yang dibuat.
Pre Condition
Pemain memilih menu Tentang pada halaman Menu Utama Flow Of Events
Kegiatan Aktor Respon Sistem
-Pemain menekan tombol Tentang pada halaman menu
utama -Sistem menampilkan
halaman Tentang
Post Condition -
3.4. Transisi Layar dan Antarmuka
3.4.1 Transisi Layar
Transisi layar merupakan pergantian layar atau halaman permainan dari satu halaman ke halaman lain. Transisi layar terjadi sesaat setelah user menekan
tombol yang tampak di layar. Penulis menggambarkan diagram transisi layar yang dapat terjadi di dalam
sistem. Berikut diagram transisi layar pada sistem. Pada Menu Utama terdiri dari 5 tombol antara lain tombol Lawan Komputer, Lawan Teman, Statistik, Panduan,
dan Tentang yang jika diklik salah satunya akan mentransisi ke halaman baru.
Menu Utama Lawan
Komputer
Panduan Lawan Teman
Statistik Tentang
Gambar 3.20 Transisi Layar
3.4.2 Antarmuka
Berdasarkan transisi layar diatas, penulis membuat antarmuka dari 6 layar diatas. Berikut perancangan antarmuka yang digunakan setiap layar yang digambarkan
menggunakan
low fidelity interface
sederhana.
a. Halaman Menu Utama
Halaman ini adalah halaman yang pertama muncul saat aplikasi dijalankan. Pada layar perangkat akan muncul halaman Menu Utama yang menampilkan logo,
background image
, dan beberapa tombol antara lain tombol Lawan Komputer, tombol Lawan Teman, tombol Statistik, tombol Panduan, dan tombol Tentang.
Berikut rancangan tampilan halaman Menu Utama.
LOGO
Lawan Komputer Lawan Teman
Statistik Panduan
Tentang
Gambar 3.21 Antarmuka Halaman Menu Utama
b. Halaman Lawan Komputer dan Lawan Teman
Pada layar perangkat akan muncul halaman Lawan Komputer dan Lawan Teman yang menampilkan tombol Lomba 1
Mill
dan Lomba Banyak
Mill.
Berikut
rancangan tampilan halaman Lawan Komputer dan Lawan Teman
Lomba 1 MIll Lomba Banyak MIll
LOGO
Gambar 3.22 Antarmuka Lawan Komputer dan Lawan Teman
c. Halaman Statistik