Penerapan Finite State Automata
Dalam Strategi Futsal
Artikel Ilmiah
Peneliti :
Eko S. Suparyanto (672010270)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Agustus 2017
i
Penerapan Finite State Automata Dalam Strategi Futsal
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Eko S.Suparyanto (672010270)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Agustus 2017
viii
Penerapan Finite State Automata
Dalam Strategi Futsal
Eko S. Supatanto 1, Magdalena A. Ineke Pakereng 2
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: [email protected], [email protected]
Abstract
Futsal is a sport that not only requires the player's technique and physical but also requires
Strategy. There are various Futsal Strategies that are often used and all aim to score as many goals so as
to gain victory .. This research was conducted to map the positions of players and Futsal Strategy using
Finite State Automata (FSA) with the concept of Non Deterministic Finite State Automata ( N-DFA).
Players other than goalie have to do a combination of oper and shoot so that it can produce a goal. But if
the ball is taken by the opponent then all players must do defense / defense. Research conducted to produce
the accuracy of the position and action of players by using finite state automata so that in designing the
futsal strategy simulation application can run well. well. Keywords: Finite State Automata, Non Deterministic Finite State Automata, Futsal strategy
Abstrak
Futsal adalah olahraga yang tidak hanya membutuhkan teknik dan fisik pemain namun juga
membutuhkan Strategi. Ada bermacam-macam Strategi Futsal yang sering dipakai dan semuanya bertujuan
untuk mencetak goal sebanyak-banyaknya sehingga dapat memperoleh kemenangan.. Penelitian ini
dilakukan untuk memetakan posisi pemain dan alur Strategi Futsal menggunakan Finite State Automata
(FSA) dengan konsep Non Deterministic Finite State Automata (N-DFA). Pemain selain kiper harus
melakukan kombinasi oper dan menembak sehingga bisa menghasilkan goal. Namun jika bola direbut
lawan maka semua pemain harus melakukan bertahan. Penelitian yang dilakukan menghasilkan akurasi
posisi dan aksi pemain dengan menggunakan finite state automata sehingga dalam merancang aplikasi
simulasi strategi futsal dapat berjalan dengan baik.
Kata Kunci: Finite State Automata, Non Deterministic Finite State Automata , Strategi Futsal
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana. 2)Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
1
1. Pendahuluan
Teori Bahasa dan Automata merupakan salah satu komponen ilmu informatika. Teori
inilah yang mendasari ide dan model dari sebuah sistem komputasi. Teori Bahasa dan Automata
seringkali menjadi suatu hal yang ditakuti mahasiswa ilmu komputer karena dianggap terlalu sulit
untuk dipahami. Padahal Teori Bahasa dan Automata ini sangat berguna untuk pengembangan
ilmu komputer lebih lanjut, baik pada perangkat keras (hardware), maupun perangkat lunak
(software). Bahkan Teori Bahasa dan Automata juga dapat diterapkan pada hal-hal yang kita
jumpai setiap hari baik dalam kegiatan akademik maupun hobby seperti music dan olahraga.
Salah satu contoh penerapan Teori Bahasa dan Automata adalah Penerapan Finite State
Automata dalam merancang Strategi Futsal. Seperti yang kita ketahui Futsal adalah olahraga yang
tidak hanya membutuhkan teknik dan fisik pemain namun juga membutuhkan Strategi. Ada
bermacam-macam Strategi Futsal yang sering dipakai dan semuanya bertujuan untuk mencetak
goal sebanyak-banyaknya sehingga dapat memperoleh kemenangan. Namun biasanya terjadi
kesulitan bagi orang pemula untuk mengerti alur pemainan futsal sehingga menyebabkan kesulitan
untuk menentukan posisi dan aksi di lapangan saat menjalankan permainan futsal. Oleh karena itu,
timbul keinginan untuk menerapkan Finite State Automata dalam perancangan strategi futsal dan
membuat simulasinya sehingga dapat memudahkan user untuk mengerti alur permainan futsal.
2. Tinjauan Pustaka
Sudah banyak penelitian tentang penerapan atau penggunaan Finite State Auotmata, salah
satu contoh penelitian berjudul “Penerapan Teori Bahasa dan Automata untuk Mengecek
Kebenaran Format SMS pada SMS Premium”, menjelaskan tentang penggunaan teori bahasa dan
automata untuk mengatasi permasalahan terhadap pengecekan format SMS premium. Ini telah
dibuktikan dengan tiga hal yang menjadi ciri-ciri algoritma yang baik telah dipenuhi oleh algoritma
teori bahasa dan automata untuk pengecekan tersebut, yaitu pertama algoritma teori bahasa dan
automata memberikan keluaran yang benar terhadap hasil yang diinginkan, kedua algoritma teori
bahasa dan automata memberikan hasil yang pasti terhadap string yang diberikan, dan yang ketiga
adalah dengan menggunakan algoritma teori bahasa dan automata diperoleh efisiensi waktu dan
memori [1].
Penelitian yang kedua “Penerapan Finite State Automata Pada Pemetaan Sistem Parkiran
Kendaraan Motor di Kampus UKSW Salatiga”. Pada penelitian ini teori bahasa automata
digunakan sebagai logika dasar untuk melakukan pemetaan sistem parkiran kendaraan motor di
kampus UKSW. Pemetaan yang dilakukan adalah dengan cara membagi tiap sistem menggunakan
finite state automata sehingga memudahkan penyelesaian sistem [2].
Penelitian yang ketiga berjudul “Deteksi Gejala Anorexia Nervosa menggunakan Finite
State Automata”. Penelitian ini menjelaskan tentang perancangan sistem diagnosa Anorexia
Nervosa yang menggunakan Finite State Automata dengan hasil diagnosa sistem pakar dan dapat
berfungsi dengan baik [3].
Berdasarkan penelitian yang pernah dilakukan tentang teori bahasa dan automata dan finite
state automata, maka akan dilakukan penelitian tentang penerapan Finite State Automata dalam
strategi futsal. Penelitian yang dilakukan membahas tentang proses yang terjadi pada saat strategi
menyerang dijalankan pada permainan futsal dengan beberapa tahapan mulai dari bola yang
dialirkan kipper, kemudian berproses pada empat pemain menyerang, sampai dengan bisa
2
menghasilkan goal untuk tim. Proses yang terjadi kemudian dipetakan dalam bentuk state
menggunakan konsep finite state automata.
Finite State Automata (FSA) disebut juga Finite Automata (FA) merupakan suatu model
matematika dari suatu sistem dan yang menerima input menghasilkan output diskrit [4]. Finite
State Automata memiliki state yang banyaknya berhingga (terbatas), dan dapat berpindah-pindah
dari satu state ke state lain. Perubahan state ini dinyatakan dengan fungsi transisi. State adalah
kondisi atau keadaan atau kedudukan. Prinsip kerja Finite State Automata adalah sebagai berikut:
(1) Menerima input string, (2) Membaca (menyerap substring) karakter awal dengan kontrol
berada pada state awal, (3) Dengan kontrol dan karakter awal yang telah dibaca, state akan
berpindah ke state baru, (4) Proses berlanjut sampai semua string terserap habis, (5) Jika state
akhir yang ditempati saat string habis tersebut berada dalam himpunan final state yang telah
ditentukan, maka string tersebut diterima atau dikenali oleh Finite State Automata tersebut. Jika
tidak, maka string tersebut ditolak atau tidak dikenali oleh Finite State Automata itu.
Sebuah Finite State Automata M dinyatakan dengan lima tupel, yaitu (Q , Σ , δ , S , F ),
dimana:
Q = himpunan state
Σ = himpunan alfabet masukan
δ = fungsi transisi
S = initial state atau state awal
F = final state atau himpunan state akhir
Gambar 1 Contoh State Diagram Finite State Automata [4]
Keterangan Gambar 1: (1) Gambar lingkaran menyatakan state, (2) Label pada lingkaran
adalah nama state tersebut, (3) Busur panah menyatakan transisi atau perpindahan state, (4)
Gambar lingkaran yang didahului sebuah busur panah tanpa label menyatakan state awal, (5)
Gambar lingkaran ganda menyatakan final state.
Maka;
Q = {A, B}
∑ = {0, 1}
S = {A}
F = {B}
δ = Fungsi transisi
δ (A, 0) = A
δ (A, 1) = B
δ (B, 0) = B
δ (B, 1) = A
3
Berdasarkan fungsi transisi tersebut, dapat dibuat tabel transisi seperti pada Tabel 1.
Tabel 1 Tabel Transisi Berdasarkan Gambar 1
δ 0 1
A A B
B B A
Contoh bila string yang masuk adalah ‘1011’, maka string tersebut bergerak dari Start ke
state A, kemudian membaca karakter ‘1’ dan berpindah ke state B, yang merupakan state tujuan
dari hasil pembacaan karakter ‘1’. Kemudian string selanjutnya yang dibaca adalah ‘0’. Karena
state tujuan dari pembacaan karakter ‘0’ adalah B sendiri, maka state tidak berpindah. Selanjutnya
membaca karakter ‘1’. Berpindah dari state B ke stateA yang merupakan state tujuan setelah
membaca karakter ‘1’. Setelah itu, karakter ‘1’ dibaca dan state berpindah ke state B. Pembacaan
string berhenti karena karakter sudah habis. State terakhir yang ditempati adalah state B, dan
karena state B berada dalam himpunan final state, maka string ‘1011’ diterima oleh Finite State
Automata tersebut.
NDFA (Non Deterministic Finite Automata) adalah salah satu bagian dari automata
berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata
(NFA) dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan memberikan
beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan. Selain itu
dimungkinkan juga terjadinya transisi spontan atau transisi –ε.
NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan
sebuah koleksi dari 5 obyek (Q , Σ , s , F , ∆ ) dimana :
Q adalah sebuah himpunan hingga dari state.
Σ adalah sebuah abjad masukan.
s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan.
F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi /
himpunan dari kondisi akhir).
∆ adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi.
Salah satu rangkaian NDFA (Non Deterministic Finite Automata) terlihat pada Gambar 2.
Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [5]
4
Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite
Automata) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q0 memiliki input
yang sama yaitu ‘a’. Rangkaian tersebut akan menerima string ab, aab, aabaab, aba, dan abaaba,
tetapi tidak akan menerima string abb dan aabb.
3. Metode dan Perancangan
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi menjadi
empat tahapan, yaitu: (1) Studi pemahaman, (2) Perencanaan, (3) Perancangan, (4) Penarikan
kesimpulan.
Gambar 3 Tahapan Penelitian
Tahap penelitian pada Gambar 3, dijelaskan sebagai berikut, tahap pertama adalah studi
pemahaman, pada tahap ini yang dilakukan adalah memperdalam pemahaman tentang alur
permainan dalam strategi futsal dan kemungkinan apa saja yang dapat terjadi selama proses
permainan futsal berlangsung dan juga pemahaman mengenai pemetaan finite state automata
sehingga dapat digunakan untuk memetakan alur strategi futsal. Kemudian dilanjutkan dengan
tahap kedua yaitu perencanaan, pada tahap ini dilakukan pemetaan seluruh posisi dalam
permainan futsal dan juga menganalisa setiap kesalahan yang mungkin terjadi ketika proses
permainan dan penerapan strategi futsal berlangsung. Kemudian tahap ketiga yaitu perancangan,
pada tahap ini penulis merancang flowchart berdasarkan pemetaan seluruh kemungkinan proses
permainan futsal dan juga merancang desain finite state automata berdasarkan rancangan
flowchart. Kemudian tahap terakhir yaitu penulisan laporan, seluruh hasil penelitian dituliskan
dalam sebuah laporan.
Studi Literatur
Studi Literatur
Perencanaan
Perancangan
Penulisan laporan
Studi Pemahaman
5
Gambar 4 Rancangan Alur Strategi Futsal dalam Proses Permainan Futsal
Rancangan alur strategi futsal dalam bentuk flowchart yang ditunjukkan pada Gambar 4,
dirancang dengan mengambil segala kemungkinan yang dapat terjadi saat proses permainan futsal
berlangsung. Berdasarkan flowchart pada Gambar 4, maka dapat dibuat rancangan finite state
START
Kiper
Pemain A,B,C,D
Defense/Bertahan
Oper
Berhasil?
Oper
Berhasil?
Menembak
Berhasil?
Goal
END
Yes
No
No
Yes
No Yes
Merebut
Bola?
No
Yes
6
automata secara bertahap. Setiap posisi pemain yang menerima bola adalah sebuah state/kondisi
pada finite state automata.
4. Hasil dan Pembahasan
Rancangan state diagram pada pemetaan strategi futsal dapat dilihat pada Gambar 4.
Strategi Futsal yang dirancang adalah menggunakan Formasi 1-2-1 dimana bola pertama berasal
dari kiper dan kemudian terjadi proses saling oper bola pada 4 pemain( pemain A,B,C,D) dan
kemudian dilanjutkan dengan menembak sehingga mengasilkan Gol. Namun pada saat proses
permainan berlangsung lawan bisa merebut bola saat pemain melakukan salah oper. Jika lawan
merebut bola maka semua pemain harus bertahan sampai dapat merebut bola kembali. Setelah bola
kembali direbut maka pemain mulai lagi menjalankan strategi futsal yang telah dirancang dari awal
lagi. Berikut adalah alur proses yang terjadi saat strategi dijalankan, yaitu:(1) Bola dialirkan dari
kiper setelah bola diterima dari kiper maka terjadi (2) kombinasi oper bola antar pemain dan
menembak.(3) Saat pemain melakukan salah oper atau salah menembak dan bola direbut lawan
maka semua pemain harus bertahan.(4) Setelah bola direbut kembali maka mulai menjalankan
strategi futsal dari awal dan kemudian diakhiri dengan (5)menembak yang menghasilkan goal.
Gambar 5 State Diagram Strategi Futsal, Formasi 1-2-1
State diagram pada Gambar 5 dinyatakan dalam 5 tupel, yaitu:
Q = { GK,DF,a,b,c,d,Goal }
= {0,1}
S = {GK}
7
F = {Goal}
∆ = {((GK,0),DF),((GK,1),a),((GK,1),b),((GK,1),c),((GK,1),d),
((DF,0),DF),((DF,1),GK),
((a,0),DF),((a,1),b),((a,1),c),((a,1),d),((a,10),DF),((a,11),Goal),
((b,0),DF),((b,1),a),((b,1),c),((b,1),d),((b,10),DF),((b,11),Goal),
((c,0),DF),((c,1),a),((c,1),b),((c,1),d),((c,10),DF),((c,11),Goal),
((d,0),DF),((d,1,),a),((d,1),b),((d,1),c),((d,10),DF), ((d,11,),Goal), }
Himpunan posisi bola ditunjukkan pada Tabel 2. Tabel 2 Himpunan Posisi bola
Posisi Deskripsi
GK GK= Kiper adalah posisi awal dari
Strategi Futsal yang dirancang.
DF DF= bertahan posisi dimana pemain
kehilangan bola dan siap merebut bola
kembali
A A=Pemain 1 yang siap menjalankan
perintah oper/menembak dari strategi
futsal yang telah dirancang.
B B=Pemain 2 yang siap menjalankan
perintah oper/menembak dari strategi
futsal yang telah dirancang
C C=Pemain 3 yang siap menjalankan
perintah oper/menembak dari strategi
futsal yang telah dirancang
D D=Pemain 4 yang siap menjalankan
perintah oper/menembak dari strategi
futsal yang telah dirancang
Goal Jika aksi menembak dari salah satu
pemain berhasil maka akan terjadi goal
Himpunan abjad yang sudah ditentukan, ditunjukkan pada Tabel 3.
Tabel 3 Himpunan Abjad
Abjad Deskripi
0 0 adalah input yang digunakan untuk menunjukan tidak sukses
oper/tidak sukses merebut bola
1 1 adalah input yang digunakan untuk menunjukan sukses
oper/sukses merebut bola
10 10 adalah input yang digunakan untuk menunjukan tidak sukses
menembak
11 11 adalah input yang digunakan untuk menunjukan sukses
menembak
Fungsi transisi ditunjukkan pada Tabel 4.
8
Tabel 4 Fungsi Transisi
∆ 0 1 10 11
GK DF a,b,c Ø Ø
DF DF GK Ø Ø
A DF b,c,d DF Goal
B DF a,c,d DF Goal
C DF a,b,d DF Goal
D DF a,b,c DF Goal
Goal Ø Ø Ø Ø
Tabel 4 menjelaskan tentang perpindahan state apabila ada input yang masuk. Misalnya
pada state GK mendapat input 0 maka akan berpindah ke state DF, sesuai Gambar 5. Kemudian
dari state GK mendapat input 1 maka akan berpindah ke state a, state b atau state c. Bila state a
mendapat input 0 maka akan berpidah ke state DF. Begitu seterusnya untuk cara membaca transisi
dari state yang lain. Perpindahan state akan bernilai Ø (Bahasa kosong) apabila tiap input yang
masuk tidak sesuai. Misalnya state GK apabila mendapat input 10 atau 11, maka akan bernilai Ø
(Bahasa kosong). Begitu juga seterusnya untuk state yang lain, yang mendapat input tidak sesuai.
Hasil rancangan N-DFA secara menyeluruh, dijelaskan sebagai berikut.
Gambar 6 Diagram Start State
Gambar 6 merupakan posisi awal dari hasil rancangan N-DFA. Kondisi awal adalah posisi
dimana strategi futsal yang dirancang mulai berjalan. State GK juga bisa terjadi karena menerima
bola yang sukses direbut dari state DF. Ketika state GK tidak sukses oper maka maka akan
dilanjutkan ke state DF, jika sukses oper maka akan dilanjutkan ke state pemain (A,B,C,D).
9
Gambar 7 Diagram State DF
Gambar 7 merupakan posisi yang dapat terjadi setelah posisi awal atau start state dan saat
terjadi salah oper dari kiper atau pemain 1,2,3 dan 4. DF(defense/bertahan) adalah posisi yang
akan merebut bola. Ketika sukses merebut bola maka akan kembali ke posisi awal/start state dan
jika tidak sukses merebut bola maka akan tetap pada state DF.
Gambar 8 Diagram State A (pemain 1)
Gambar 8 merupakan posisi A (pemain 1) yaitu suatu kondisi yang dapat terjadi jika
menerima oper dari GK,B,C atau D. Pada saat A (pemain 1) tidak sukses oper/menembak maka
akan berpindah ke state DF, jika A (pemain 1) melakukan sukses oper maka akan berpindah pada
state B,C, atau D. Kemudian pada saat A (pemain 1) melakukan sukses menembak maka akan
terjadi Goal.
10
Gambar 9 Diagram State B (pemain 2)
Gambar 9 merupakan posisi B (pemain 2) yaitu suatu kondisi yang dapat terjadi jika
menerima oper dari GK,A,C atau D. Pada saat B (pemain 2) tidak sukses oper/menembak maka
akan berpindah ke state DF, jika B (pemain 2) melakukan sukses oper maka akan berpindah pada
state A,C, atau D. Kemudian pada saat B (pemain 2) melakukan sukses menembak maka akan
terjadi Goal.
Gambar 10 Diagram State C (pemain 3)
11
Gambar 10 merupakan posisi C (pemain 3) yaitu suatu kondisi yang dapat terjadi jika
menerima oper dari GK,A,B atau D. Pada saat C (pemain 3) tidak sukses oper/menembak maka
akan berpindah ke state DF, jika C (pemain 3) melakukan sukses oper maka akan berpindah pada
state A,B, atau D. Kemudian pada saat C (pemain 3) melakukan sukses menembak maka akan
terjadi Goal.
Gambar 11 Diagram State D (pemain 4)
Gambar 11 merupakan posisi D (pemain 4) yaitu suatu kondisi yang dapat terjadi jika
menerima oper dari GK,A,B atau C. Pada saat D (pemain 4) tidak sukses oper/menembak maka
akan berpindah ke state DF, jika D (pemain 4) melakukan sukses oper maka akan berpindah pada
state A,B, atau C. Kemudian pada saat D (pemain 4) melakukan sukses menembak maka akan
terjadi Goal.
Gambar 12 Diagram State Goal / Final State
12
Gambar 12 merupakan final atau tujuan akhir dari strategi futsal. State Goal ini bisa terjadi
karena menerima tembakan sukses dari state A,B,C atau D. Jika sudah sampai di state Goal / Final
state maka alur proses dari strategi futsal yang dirancang telah selesai.
Setelah perancangan N-DFA selesai dibuat, tahap selanjutnya adalah mengaplikasikan
rancangan agar dapat dengan mudah digunakan dan diterapkan. Agar pembuatan aplikasi atau
program dapat diselesaikan dengan mudah maka dilakukanlah pembuatan algoritma.
Algoritma Alur Proses Strategi Futsal, adalah sebagai berikut : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
KIPER oper bola Jika oper tidak sukses dari KIPER maka BERTAHAN Jika pada saat BERTAHAN berhasil merebut bola maka bola akan ke KIPER Jika pada saat BERTAHAN tidak berhasil merebut bola maka akan tetap BERTAHAN Jika oper sukses dari KIPER maka bola akan berpindah ke PEMAIN A,B,C, atau D Jika oper tidak sukses dari PEMAIN A maka BERTAHAN Jika oper sukses dari PEMAIN A maka bola akan berpindah ke PEMAIN B,C, atau D Jika oper tidak sukses dari PEMAIN B maka BERTAHAN Jika oper sukses dari PEMAIN B maka bola akan berpindah ke PEMAIN A,C, atau D Jika oper tidak sukses dari PEMAIN C maka BERTAHAN Jika oper sukses dari PEMAIN C maka bola akan berpindah ke PEMAIN A,B, atau D Jika oper tidak sukses dari PEMAIN D maka BERTAHAN Jika oper sukses dari PEMAIN D maka bola akan berpindah ke PEMAIN A,B, atau C Jika menembak tidak sukses dari PEMAIN A maka BERTAHAN Jika menembak sukses dari PEMAIN A maka GOAL Jika menembak tidak sukses dari PEMAIN B maka BERTAHAN Jika menembak sukses dari PEMAIN B maka GOAL Jika menembak tidak sukses dari PEMAIN C maka BERTAHAN Jika menembak sukses dari PEMAIN C maka GOAL Jika menembak tidak sukses dari PEMAIN D maka BERTAHAN Jika menembak sukses dari PEMAIN D maka GOAL
Algoritma alur proses Stategi Futsal didasarkan pada rancangan N-DFA Strategi Futsal.
Algoritma tersebut akan mempermudah pembuatan aplikasi atau program berdasarkan rancangan
N-DFA yang telah dibuat. Tahap selanjutnya adalah pembuatan program.
Program yang dibuat berdasarkan algoritma alur proses Strategi Futsal ditunjukkan pada
Kode Program 1.
Kode Program 1 Koneksi database
Kode Program 1 berfungsi untuk mengkoneksikan script PHP dengan database MySQL.
Perintah pada baris 2 adalah script dari hostname, username, password dan nama database
MySQL yang digunakan.
1. <?php 2. $db= mysqli_connect("127.0.0.1", "root", "", "futsal_fsa"); 3. ?>
13
Kode Program 2 Pemain
Kode Program 2 berfungsi untuk menrubah isi tabel pemain dari database MySQL ke
dalam bentuk json. Perintah pada baris 2 merupakan script untuk memanggil script koneksi yang
telah dibuat sebelumnya yang berfungsi agar program dapat terkoneksi dengan database. Proses
pengambilan isi tabel pada database MySQL dapat dilihat pada baris 3-8, isi tabel akan
ditampilkan dengan menggunakan fungsi while yang berfungsi untuk membuat baris tabel secara
otomatis apabila terdapat banyak baris pada database. Perintah pada baris 9 merupakan perintah
untuk merubah array ke dalam bentuk json.
Kode Program 3 Perintah untuk menampilkan komposisi pemain
1. <?php 2. include './config/koneksi.php'; 3. $query = "SELECT * FROM pemain p order by p.posisi"; 4. $result = mysqli_query($db, $query); 5. $pemain = array(); 6. while ($data = mysqli_fetch_array($result)) { 7. $pemain[] = $data; 8. } 9. echo json_encode($pemain); 10. ?>
1. function intro() { 2. $.ajax({ 3. url: "pemain.php", 4. type: "GET", 5. dataType: "JSON", 6. success: function(data) { 7. var content = 8. "<table class='table table-striped' data-row-style='rowStyle'>" + 9. "<thead class='thead-inverse-blue'>" + 10. "<tr><td>No</td><td>Nama</td><td>Posisi</td>" +
11. "</tr></thead>" +
12. "<tbody>";
13. for (i = 0; i < data.length; i++) {
14. content = '<tr><td>' + (i + 1) + '</td><td> ' + data[i].nama +
'</td><td> ' + data[i].posisi + '</td></tr>';
15. players[i] = data[i].nama;
16. positions[i] = data[i].posisi;
17. }
18. content += "</tbody><table>";
19. document.getElementById("myformgroup").innerHTML = content;
20. document.getElementById("title").innerHTML = "<svg class='glyph
stroked email'><use xlink:href='#stroked-clipboard-with-
paper'></use></svg>Komposisi Pemain";
21. document.getElementById('divbtnmulai').innerHTML = "<input
type='button' class='btn btn-sm btn-primary center-block' " +
22. " id='btnmulai' value='Mulai Main' onclick='doSimulation()'>";
23. },
24. error: function(data) {
25. alert("Error : " + data);
26. }
27. });
28. }
29.
30.
14
Kode Program 3 adalah perintah untuk menampilkan komposisi pemain. Perintah pada
baris 2-6 merupakan perintah untuk memanggil data pemain yang telah dirubah kedalam bentuk
json yang telah dibuat sebelumnya y. Proses pengambilan isi tabel pada database MySQL dapat
dilihat pada baris 7-17, isi tabel akan ditampilkan dari masing-masing kolom tabel pada database
yang akan ditampilkan ke browser. Perintah pada baris 18-23 merupakan perintah untuk
menampilkan komposisi pemain dan tombol mulai main. Perintah pada baris 24-26 merupakan
perintah untuk menampilakan peringatan jika terjadi error.
Program Penerapan Finite State Automata dalam Strategi Futsal dibuat menggunakan
bahasa pemrograman PHP (Hypertext Preprocessor) dan database MySQL. Tujuan program ini
untuk memudahkan pemain melakukan aksi di lapangan karena program Penerapan Finite State
Automata dalam Strategi Futsal adalah dalam bentuk simulasi sederhana dan dapat dilihat browser
yang ada di komputer pemain. Output program dapat dilihat seperti pada Gambar 13.
Gambar 13 Tampilan Halaman Utama Program Penerapan Finite State Automata dalam Strategi Futsal
Gambar 13 merupakan tampilan halaman utama program Penerapan Finite State Automata
dalam Strategi Futsal. Jika user yang dalam hal ini adalah pemain ingin melanjutkan dapat
memilih tombol Mulai maka user akan menuju ke halaman Komposisi pemain.
15
Gambar 14 Tampilan Komposisi pemain pada Program Penerapan Finite State Automata dalam Strategi Futsal
g
Gambar 14 merupakan tampilan halaman komposisi pemain dalam program Penerapan
Finite State Automata dalam Strategi Futsal. Halaman ini hanya akan menampilkan komposisi
pemain. Jika user yang dalam hal ini adalah pemain ingin melihat simulasi dapat memilih tombol
Mulai Main maka user akan menuju ke halaman hasil simulasi permainan.
Gambar 15 Tampilan hasil simulasi yang tidak ada aksi bertahan pada Program Penerapan Finite State Automata
dalam Strategi Futsal
g
Gambar 15 merupakan tampilan halaman hasil simulasi yang tidak ada aksi bertahan dalam
program Penerapan Finite State Automata dalam Strategi Futsal. Halaman ini akan menampilkan
16
hasil simulasi yang mana pada simulasi ini tidak ada aksi bertahan. Pada halaman ini ditampilakan
transisi pemain dan log aktifitasnya sebagai berikut : Kiper oper bola ke pemain A, pemain A oper
bola ke pamain C, kemudian pemain C menembak ke Gawang lawan dan terjadi goal. Jika user
yang dalam hal ini adalah pemain ingin melihat simulasi lagi dapat memilih tombol simulasi maka
user akan menuju ke halaman utama lagi.
Gambar 16 Tampilan hasil simulasi yang ada aksi bertahan pada Program Penerapan Finite State Automata dalam
Strategi Futsal
g
Gambar 15 merupakan tampilan halaman hasil simulasi yang ada aksi bertahan dalam
program Penerapan Finite State Automata dalam Strategi Futsal. Halaman ini akan menampilkan
hasil simulasi yang mana pada simulasi ini ada aksi bertahan. Pada halaman ini ditampilakan
transisi pemain dan log aktifitasnya sebagai berikut : Kiper oper bola ke pemain C, pemain C oper
bola ke pamain A, pemain A menembak bola ke Gawang lawan tapi gagal maka ada aksi bertahan.
Setelah berhasil merebut bola kembali, pemain A oper bola ke pamain C kemudian pemain C
menembak ke Gawang lawan dan terjadi goal. Jika user yang dalam hal ini adalah pemain ingin
melihat simulasi lagi dapat memilih tombol simulasi maka user akan menuju ke halaman utama
lagi.
5. Simpulan
Berdasarkan hasil penelitian dan pembahasan tentang finite state automata pada strategi
futsal yang dilakukan dapat diambil kesimpulan bahwa : (1) Finite state automata digunakan
sebagai logika dasar untuk melakukan pemetaan Strategi Futsal; (2) Rancangan berdasarkan
17
konsep N-DFA yang telah dibuat dapat membantu dalam merancang aplikasi simulasi strategi
futsal; (3) Strategi Futsal yang dirancang Menggunakan Finite State Automata dapat membantu
user untuk mengerti posisi dan aksi pemain dalam permainan futsal; (4) Simulasi strategi futsal
yang dirancang Menggunakan Finite State Automata dapat bekerja dengan baik sehingga mudah
dipahami oleh user. Saran yang dapat diberikan untuk pengembangan dan penelitiaan lebih lanjut
adalah user interface yang lebih menarik seperti simulasi menggunakan animasi maupun video.
6. Daftar Pustaka
[1] Sugiono, B., 2010. Penerapan Teori Bahasa dan Automata untuk Mengecek Kebenaran
Format SMS pada SMS Premium, Skripsi, Salatiga: Universitas Kristen Satya Wacana. [2] Pelupessy J. A., Pakereng, M. A. I., Penerapan Finite State Automata Pada Sistem Parkiran
Kendaraan Motor di Kampus UKSW Salatiga, Skripsi, Salatiga: Universitas Kristen Satya
Wacana..
[3] Saputra, P. V., Pakereng, M. A. I., Deteksi Gejala Anorexia Nervosa Menggunakan Finite
State Automata, Skripsi, Salatiga: Universitas Kristen Satya Wacana.
[4] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: J & J Learning..
[5] Sutopo, M., 2010, Non Deterministic Finite Automata
(NFA)(http://mursids.blogspot.co.id/2010/02/nondeterministic-finite-automata-nfa.html ,
diakses tanggal 5 Juni 2017)