Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Artikel Ilmiah
Peneliti:
Randy Silvio G Lesilolo (672010215)
Magdalena A. Ineke Pakereng, M.Kom.
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Randy Silvio G Lesilolo (672010215)
Magdalena A. Ineke Pakereng, M.Kom.
2
3
4
5
6
7
Penerapan Offensive Volleyball
Menggunakan Finite State Automata
Abstract
Offensive Volleyball is one way the coach optimizes his team's performance to create
the possibility of scoring higher points. There are some special skills needed to score points,
including Service, Passing and Smash. This research was conducted to implement Offensive
Basketball System Using Finite State Automata (FSA) with Non Determistic Finite State
Automata (N-DFA) concept. Players will serve as the first step in a volleyball game, when the
ball fails to return, points increase and the first game ends. Followed by the next game with
the same initial possibility but if the ball is returned, then the game will start with the
possibility of passing and smash that can be done each player so that it can generate points
and the game ends. The research carried out resulted in an application that would run the
offensive volleyball game process using Finite State Automata that had been previously
designed.
Abstrak
Kata Kunci: Teori Bahasa Automata, Finite State Automata, Offensive Volleyball
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen
Satya Wacana.
2)
Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
8
1. Pendahuluan
2. Tinjauan Pustaka
Penelitian tentang Finite State Automata telah banyak dilakukan dalam dunia
teknologi saat ini, terutama dalam pengembangan teknologi. Salah satu contoh
penelitian yang menggunakan Finite State Automata adalah pada penelitian yang
berjudul Perancangan dan Implementasi Finite Automata pada Simulasi Vending
Machine, kesimpulan yang didapat penelitian ini adalah Finite Automata dapat
dijadikan sebagai logika dasar untuk membuat simulasi vending machine. Lewat
rancangan state diagram berdasarkan konsep Mealy machine yang telah dibuat, maka
apliksi simulasi vending machine dapat dibuat dan hasil dari setiap input yang dipilih
oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [3].
Pada penelitian yang berjudul Pemodelan Finite State Automata (FSA) Untuk
Membantu Pengecekan Transkrip Nilai (Studi Kasus Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana), yaitu sebuah aplikasi bantu untuk pengecekan
9
transkrip nilai dilakukan dengan memberikan input hasil studi mahasiswa sampai saat
ini. Hasil studi mahasiswa itu nanti akan diproses untuk menghasilkan output yang
memberikan informasi adakah matakuliah yang harus diulang sekaligus memberikan
rekomendasi konsentrasi sesuai dengan hasil studi mahasiswa tersebut. Penerapan
automata digunakan untuk mengenal dan menangkap pola dalam proses pada aplikasi
[4].
Pada Penelitian yang berjudul Penerapan Teori Bahasa dan Automata untuk
Mengecek Kebenaran Format SMS pada SMS Premium, kesimpulan yang didapatkan
melalui penelitian ini adalah algoritma teori bahasa dan automata sangat cocok 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 output 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 efisiensi memori
[5].
Finite State Automata (FSA) disebut juga Finite Automata (FA) merupakan
suatu model matematika dari suatu sistem yang menerima input dan menghasilkan
output diskrit. 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.
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 State A 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, dank arena State B berada dalam himpunan Final State, maka string
‘1011’ diterima oleh Finite State Automata tersebut.
12
4. Hasil dan Pembahasan
13
Himpunan posisi bola ditunjukkan pada Tabel 1.
Point Jika pemain berhasil melakukan service atau smash maka akan
mendapatkan Point
14
smash yang dimasukkan
A Point b, c, d, e, f Point
B Ø a, c, d, e, f B
C Ø a, b, d, e, f C
D Ø a, b, c, e, f D
E Ø a, b, c, d, f E
F Ø a, b, c, d, e F
K Ø Ø Ø
Point Ø Ø Ø
Tabel 3 menjelaskan tentang perpindahan State apabila ada input yang masuk.
Misalnya pada State A mendapat input 0 maka akan melakukan service, sesuai
Gambar 5. Kemudian jika bola dikembalikan, posisi yang mendapat bola mendapat
input 1 maka akan berpindah ke State b, c, d, e atau State f. Perpindahan State akan
bernilai Ø (bahasa kosong) apabila tiap input yang masuk tidak sesuai. Misalnya State
b apabila mendapat input 0, maka akan bernilai Ø (bahasa kosong). Begitu juga
seterusnya untuk State yang lain, yang mendapat input tidak sesuai.
Berdasarkan hasil rancangan maka akan dibahas rancangan N-DFA secara
menyeluruh sebagai berikut.
15
Gambar 5 Diagram Start State
Gambar 5 merupakan posisi awal dari hasil rancangan N-DFA. Kondisi awal
adalah posisi dimana posisi a melakukan service dan jika berhasil akan mendapat
Point. Ketika posisi a tidak berhasil melakukan service, bola akan dikembalikan
secara acak ke salah satu State pemain (a, b, c, d, e, f).
16
Gambar 6 merupakan posisi setelah posisi awal jika bola dikembalikan. K
(bola kembali) adalah posisi bola secara acak dikembalikan kepada salah satu
posisi pemain (a, b, c, d, e, f).
17
Gambar 8 Diagram State Posisi B
Gambar 8 merupakan posisi B yaitu suatu kondisi yang dapat terjadi jika bola
dikembalikan kepada posisi B. posisi B dapat melakukan smash untuk percobaan
mencetak Point atau posisi B dapat melakukan Passing ke setiap posisi pemain (a, c,
d, e, f). Jika posisi B gagal melakukan smash dan bola dikembalikan ke posisi B lagi,
posisi B dapat melakukan kondisi di atas kembali dan jika posisi B berhasil
melakukan smash maka Point akan bertambah.
19
Gambar 11 Diagram State Posisi E
Gambar 11 merupakan Posisi E yaitu suatu kondisi yang dapat terjadi jika
bola dikembalikan kepada posisi E. Posisi E dapat melakukan smash untuk percobaan
mencetak Point atau posisi E dapat melakukan Passing ke setiap posisi pemain (a, b,
c, d, f). Jika posisi E gagal melakukan smash dan bola dikembalikan ke posisi E lagi,
posisi E dapat melakukan kondisi di atas kembali dan jika posisi E berhasil
melakukan smash maka Point akan bertambah.
20
Gambar 12 merupakan posisi F yaitu suatu kondisi yang dapat terjadi jika
bola dikembalikan kepada posisi F. Posisi F dapat melakukan smash untuk percobaan
mencetak Point atau posisi F dapat melakukan Passing ke setiap posisi pemain (a, b,
c, d, e). Jika posisi F gagal melakukan smash dan bola dikembalikan ke posisi F lagi,
posisi F dapat melakukan kondisi di atas kembali dan jika posisi F berhasil
melakukan smash maka Point akan bertambah.
Kode Program 2 Ketentuan Yang Berlaku Dalam Proses Permainan Bola Voli
21
Kode Program 2 menjelaskan tentang ketentuan yang berlaku saat permainan
bola voli yaitu posisi pertama melakukan service, ketika bola dikembalikan, passing
yang dapat dilakukan pemain hanya dapat dilakukan sebanyak 2 kali dan diakhiri
dengan smash oleh pemain ke 3 yang menerima passing dari pemain tim.
Kode Program 3 Perintah Untuk Menjalankan Aturan Dalam Peraminan Bola Voli
1. switch (ballPosition) {
2. //
3. case 1:
4. String operation = ops[rand.nextInt(ops.length)];
5. if (operation.equals("Passing") && passCount < 2) {
6. transitionArrayList.add(
7. new Transition(getResources().getDrawable(R.mipmap.ic_passing,
8. getActivity().getTheme()),
9. players.get(rand.nextInt(players.size())).getName(), "Passing", true));
10. ++passCount;
11. Log.i(TAG, "BallPosition=" + ballPosition + ", if ");
12. } else if (operation.equals("Smash")) {
13. transitionArrayList.add(
14. new Transition(getResources().getDrawable(R.mipmap.ic_player,
15. getActivity().getTheme()),
16. players.get(rand.nextInt(players.size())).getName(),
a. "Smash", true));
17. Log.i(TAG, "BallPosition=" + ballPosition + ", else ");
18. ballPosition = 2;
19. }
20. break;
21. //ball position in opponent
22. case 2:
23. String val = result[rand.nextInt(result.length)];
24. if (val.equals("Point")) {
25. point = true;
26. Log.i(TAG, "BallPosition=" + ballPosition + ", Point ");
27. transitionArrayList.add(
28. new Transition(getResources().getDrawable(R.mipmap.ic_whistle,
29. getActivity().getTheme()), "Point", "", false));
30. ballPosition = 1;
31. } else {
32. transitionArrayList.add(
33. new Transition(getResources().getDrawable(R.mipmap.ic_player,
34. getActivity().getTheme()), "Lawan", "Kembali", true));
35. ballPosition = 1;
36. Log.i(TAG, "BallPosition=" + ballPosition + ", else ");
37. }
38. break;
22
Kode Program 3 merupakan operasi yang terjadi saat perpindahan posisi bola,
ketika bola kembali, posisi bola adalah random ke salah satu pemain yang ada dan
passing yang dilakukan juga bersifat random. Perintah baris 9-18 merupakan kondisi
dimana bola dikembalikan musuh kepada random pemain kemudian pemain yang
mendapatkan bola dapat melakukan passing atau smash dengan ketentuan maksimal
passing sebanyak dua kali dan ketika berhasil melakukan smash, tim akan
mendapatkan point namun saat pemain gagal melakukan smash, bola akan
dikembalikan musuh dan permainan dilanjutkan seperti ketentuan di atas. Perintah
pada baris ke 22-38 merupakan proses perpindahan bola saat pemain melakukan
passing, smash dan lawan melakukan pengembalian bola. Semua operasi yang terjadi
pada Kode Program 3 akan ditampilkan pada sebuah aplikasi berbasis android yang
telah dirancang sebelumnya.
Program Offensive Volleyball Menggunakan Finite State Automata
menggunakan bahasa pemrograman java dengan database sqlite open helper. Tujuan
program ini untuk mempermudah pelatih menerapkan sistem offensive pada
permainan bola voli menggunakan finite state automata dan dapat dibuka pada
handphone user. Output program dapat dilihat pada Gambar 14.
23
memilih tombol MULAI maka user akan menuju ke halaman aktifitas permainan
yang berlangsung.
24
Gambar 16 Tampilan Log Aktifitas Offensive Volleyball
Menggunakan Finite State Automata
5. Simpulan
6. Daftar Pustaka
25
[2] Volleyball Offensive System.
https://en.wikipedia.org/wiki/Volleyball_Offensive_Systems.
[3] Irawan, J. Ch., Pakereng, M. A. I., Somya, R., Perancangan dan Implementasi Finite
Automata pada Simulasi Vending Machine
[4] Setiawan, T.B., Sulistyo, W., Dewi, C,. Pemodelan Finite State Automata (FSA)
Untuk Membantu Pengecekan Transkrip Nilai, Skripsi, Salatiga: Universitas
Kristen Satya Wacana.
[5] Sugiono, B., Pakereng, M. A. I., Beeh, Y. R., 2010. Penerapan Teori Bahasa dan
Automata untuk Mengecek Kebenaran Format SMS pada SMS Premium, Skripsi,
Salatiga: Universitas Kristen Satya Wacana.
26