IMPLEMENTASI ALGORITMA PADA PERMAINAN TRADISIONAL
KELOMPOK 37
FINIESA SEPTI AULIA (21070114120031)
BOYNARD SITOMPUL (21070114120041)
YESSYCA EFRIANI SIAHAAN
(21070114120049)
Program Studi Teknik Industri
Universitas Diponegoro
TP 2014/2015
DAFTAR ISI
KATA PENGANTAR……………………………………………………………………..3
BAB I
: PENDAHULUAN
A.
Latar
Belakang Masalah……………………………………………………....4
B.
Rumusan Masalah……………………………………………………………...4
C.
Tujuan………………………………………………………………………..…5
BAB II : PEMBAHASAN
A.
Landasan teori……………………………………………………………….…6
B.
Penyelesaian Masalah…………..……………………………………………...7
BAB III : PENUTUP……………………………………..………………………………13
DAFTAR PUSTAKA………………………………...……………………………...……14
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat
Allah SWT. Karena atas kehendak-Nyalah makalah ini dapat terselesaikan. Makalah
ini dibuat untuk memenuhi tugas Teknologi Informatika Program Studi Teknik
Industri oleh Bapak Wiwik Budiaman. Adapun tujuan penulis dalam penulisan
makalah ini adalah menjelaskan pengimplementasian penggunaan algoritma dalam
permaina tradisional. Setelah proses yang cukup panjang,
akhirnya makalah ini dapat diselesaikan, walaupun masih
banyak kekurangannya.Semoga dengan makalah ini kita dapat menambah ilmu
pengetahuan serta wawasan kita. Akhirnya kepada Allah jualah penulis mohon
taufik hidayah, semoga usaha kami ini mendapat manfaat yang baik. Serta
mendapat ridho dari Allah SWT. Amin ya rabbal alamin.
Tembalang, 09 November 2014
Hormat kami,
Kelompok 37
Bab I
PENDAHULUAN
A. Latar
belakang
Seiring
berkembangnya zaman semakin banyak muncul perangkat lunak permainan computer yang
menyediakan fasilitas untuk dapat bermain dalam suatu computer. Sehingga
membuat permainan semakin dekat dengan masyarakat dan sering digunakan dalam
kegiatan sehari-hari. Permainan yang digemari masyarakat umum saat ini
merupakan permainan modern dan praktis sehingga berujung pada tidak
dimainkannya lagi permainan tradisional zaman kita dulu seperti congklak, halma dan lainnya.
Hal ini dikarenakan permainan
tradisional sangatlah ribet dilakukan, maka dari itu perlu dilakukan inovatif
program yang mana mengemas permainan tradisional dalam sentuhan modern. Salah
satu caranya adalah dengan pengimplementasian algoritma ini.
B. Rumusan Masalah
1.
Bagaimana
mengimplementasikan algoritma pada permainan congklak?
2.
Bagaimana
mengimplementasikan algoritma pada permainan tic tac toe?
3.
Bangaimana
mengimplementasikan algoritma pada permainan Magic Square?
C. Tujuan
1.
Tujuan
pembuatan makalah ini adalah untuk melengkapi tugas praktikum dari mata kuliah
Teknik Informatika
2.
Memudahkan
pengguna dalam memainkan permainan tradisional di manapun.
3.
Menumbuhkan
kecintaan terhadap permainan dari negeri kita sendiri, Indonesia.
Bab II
PEMBAHASAN
A.
Landasan teori
Algoritma
langkah-langkah tersistematis yang
berisi perintah yang logis dan urut untuk memecahkan masalah dan menjalankan
suatu program aplikasi. Pada jurnal ini kami membahas tentang penggunaan
algoritma pada permainan tradisional. algoritma yang memungkinkan untuk
permainan tradisional kami adalah algotitma greddy ,algoritma minimax, dan
algoritma runut balik.
B. Penyelesaian Masalah
B.1. Permainan Congklak
Algoritma
Greedy adalah algoritma yang umum digunakan dalam pemecahan masalah
optimasi. Secara harfiah, kata greedy berarti tamak. Prinsip yang digunakan
dalam algoritma greedy adalah "take what you can get now",
yaitu mengambil kesempatan yang ada tanpa memikirkan konsekuensi kedepannya.
Makalah ini akan membahas mengenai implementasi algoritma greedy dalam
permainan congklak.
Permainan
congklak adalah permainan dengan 2 orang pemain, menggunakan biji dengan arena
permainan umumnya memiliki 16 buah lubang tempat biji diletakkan, dimana 2
lubang merupakan "lubang penyimpanan" milik masing-masing pemain.
Tujuan dari permainan congklak adalah mendapatkan sebanyak mungkin biji pada
"lubang penyimpanan" sendiri. Penerapan algoritma greedy yang
dapat diimplementasikan dalam permainan congklak adalah dengan mengambil
langkah yang dapat memberikan biji terbanyak ke dalam "lubang
penyimpanan".
Langkah-langkah Pseudo-code
untuk fungsi seleksi dapat dituliskan seperti berikut :
function
greedyCongklak (input Hole[0..6] : array of integer) -> integer
{Merupakan
fungsi yang mengembalikan nilai index dari larik lubang yang dipilih sebagai
langkah yang tepat}
kamus
lokal
function
isStg1Avail (input Hole[0..6] : array of integer) -> boolean
{merupakan
fungsi yang mengembalikan nilai true jika strategi pertama dapat dilakukan}
function
isStg2Avail(input Hole[0..6] : array of integer) -> boolean
{merupakan
fungsi yang mengembalikan nilai true jika strategi kedua dapat dilakukan}
function
getIndexStg1(input Hole[0..6] : array of integer) -> integer
{mengembalikan
index larik lubang terendah yang mungkin untuk strategi pertama}
function
getIndexStg2(input Hole[0..6] : array of integer) -> integer
{mengembalikan
index larik lubang mungkin untuk strategi kedua}
function
getMaks(input Hole[0..6] : array of integer) -> integer
{merupakan
fungsi yang akan mengembalikan index larik lubang yang memiliki biji paling
banyak}
idx :
integer
Algoritma
if
(isStg1Avail(Hole)= true) then
idx
<- getIndexStg1(Hole)
else if
(isStg2Avail(Hole)=true) then
idx
<- getIndexStg2(Hole)
else
idx
<- getMaks(Hole)
endif
->
idx
B.2. Permainan Tic
Tac Toe
Tic tac adalah permainan tradisional yang
berasal dari Eropa. Yang terdiri atas dua pemain yang mana dua pemain secara bergantian
menjalankan gilirannya untuk membentuk sebaris, sekolom, atau segaris diagonal dengan
3 tanda ‘X’
atau ‘O’ dalam
papan permainan yang
terdiri dari 3x3
kotak.
Algoritma Minimax sangat popular digunakan
untuk permainan menguras kecerdasan otak. Minimax dapat mengansumsikan
langkah-langkah terbaik untuk menghalau segala macam kemungkinan yang terjadi,
dapat juga memprediksikan langkah apa yang akan ditempuh oleh lawan mainnya. Maka
dari itu permainan tic-toc sangat cocok diimplementasikan dengan algoritma ini.
Langkah-langkah algoritma minimax pada tic tac toe
adalah dengan penggunaan flowchart.
Mekanisme flowchartnya dapat dilihat pada gambar
dibawah ini
B.3 Permainan Magic Square
Permainan magic square adalah jenis
permainan puzzle.
Gambaran umum tentang permainan ini adalah sebuah persegi
berukuran NxN, yang harus diselesaikan dengan cara mengisi sel-sel
tersebut dengan angka-angka yang unik dan jumlah angka-angka pada setiap baris
dan kolom serta diagonal sama besar. Penyelesaian
permainan ini dapat ditempuh dengan beberapa cara, salah
satunya adalah dengan
menggunakan algoritma runut balik (backtracking) yang
berbasis pada algoritma depth first search (DFS)
Istilah algoritma runut balik pertama kali diperkenalkan oleh D.H. Lehmer
pada tahun 1950. Selanjutnya di tahun 1960, R. J. Walker, Golomb, dan Baumert
menyajikan uraian umum tentang runut balik dan penerapannya pada berbagai
persoalan. Teknik runut balik adalah teknik penyelesaian masalah secara umum
yang mana berdasar pada teknik pencarian.
Permainan
Maqic square sangat cocok untuk teknik runut balik ini karena pada dasarnya
adalah teknik runut balik menelusuri lintasan solusi dan jika tidak sampai pada
solusi yang diinginkan maka akan berbalik arah ke titik keputusan untuk
mendapat solusi.
Permainan
magic square ini terdiri dari serangkaian nomor yang jika diatur ke dalam
papannya maka jumlah kedua baris dan diagonal adalah sama.
Bagaimana
pengimplementasian algoritma runut balik pada permainan ini? Misalkan kita berikan sebuah papan catur yang berukuran NxN
dan empat buah ratu. Bagaimanakah menempatkan N buah ratu (Q) itu pada
petak-petak papan catur sedemikian sehingga tidak ada dua ratu atau lebih yang
terletak pada satu baris yang sama, atau pada satu kolom yang sama atau pada
satu diagonal yang sama. , solusi dari permasalahan tersebut adalah sebagai
berikut:
X = (x1,x2,x3,x4), dimana X merupakan vektor dan xi ∈ Si
S = {1,2,3,4}, S menyatakan kolom pada papan catur.
Gambar
BAB III
PENUTUP
A.
KESIMPULAN
Bahwasanya dari paparan materi diatas dapat
kita lihat betapa banyaknya implementasi dari algoritma yang digunakan dalam
kehidupan sehari kita. Contohnya dalam pembuatan permainan. Ini semua
diharapkan dapat memudahkan kita dalam menghadapi, memecahkan permasalahan yang
sekecil atau serumit apapun.
DAFTAR PUSTAKA
3. achmatim.net/download/45
4.
repository.usu.ac.id/bitstream/.../4/Chapter%20I.pdf
Tidak ada komentar:
Posting Komentar