Penerapan Finite State Automata Dalam Strategi Futsal...

26
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

Transcript of Penerapan Finite State Automata Dalam Strategi Futsal...

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

ii

iii

iv

v

vi

vii

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)