• Tidak ada hasil yang ditemukan

Penerapan Pohon dalam Pembuatan FA Untuk Permainan Tic-Tac-Toe

N/A
N/A
Andika Fikri Azhari

Academic year: 2023

Membagikan "Penerapan Pohon dalam Pembuatan FA Untuk Permainan Tic-Tac-Toe"

Copied!
6
0
0

Teks penuh

(1)

Penerapan Pohon dalam Pembuatan FA Untuk Permainan Tic-Tac-Toe

Muhammad Ridwan / 13513008 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia [email protected]

Abstrak—Finite Automata (FA) adalah sebuah mesin abstrak yang memiliki fungsi untuk mencapai suatu state tertentu melalui fungsi transisi tertentu. Salah satu penerapan FA adalah dalam menentukan langkah komputer untuk membuat game Tic-Tac-Toe. Untuk menentukan FA beserta stae-state yg dimilikinya, kita dapat menggunakan pohon keputusan yang merupakan salah satu materi kuliah Matematika Diskrit. Makalah ini akan membahas penggunaan pohon keputusan tersebut untuk menentukan FA sebagai langkah komputer dalam menanggapi langkah player.

Kata Kunci—Pohon, Keputusan, Finite Automata, Tic- Tac-Toe.

I. PENDAHULUAN

Di dalam game klasik seperti catur, Tic-Tac-Toe, hearts, mahjong, dll. tentunya akan ada respon cepat dari komputer sebagai lawan main berdasarkan langkah player. Agar hal tersebut dapat dilakukan, programmer yang membuat game tersebut haruslah memahami betul konsep dasar permainan dan mengerti langkah maksimal dalam permainan tersebut. Berdasarkan pengetahuan tersebut, programmer akan menyiapkan langkah-langkah yang akan dieksekusi komputer dalam menanggapi langkah player. Hal ini seperti memberikan keputusan- keputusan programmer sebagai pemain handal kepada komputer.

Gambar 1. Pohon langkah komputer berdasarkan langkah player

(Sumber: http://en.wikipedia.org/wiki/Tic-tac-toe

diakses pada 10 Desember 2014 pukul 17:40 WIB) II. TIC-TAC-TOEDANFINITEAUTOMATA A. Tic-Tac-Toe

Tic-Tac-Toe atau yang lebih dikenal dengan nama catur jawa di Indonesia adalah sebuah permainan klasik yang berasal dari kekaisaran Romawi sekitar abad pertama sebelum masehi. Masyarakat setempat menyebutnya Terni Lapipi. Namun ada informasi lain, menurut Claudia Zaslavsky dalam buku Tic Tac Toe: And Other Three-In-A Row Games from Ancient Egypt to the Modern Computer, Tic-Tac-Toe berasal dari Mesir kuno.

Permainan ini menggunakan suatu tabel 3x3 yang akan diisi oleh dua orang pemain dengan bidak berbentuk ―O‖

dan ―X‖. Setiap pemain hanya boleh menggunakan satu jenis bidak dan mengisi secara bergantian. Apabila ada pemain yang dapat memenuhi satu baris dengan bidaknya, maka dialah pemenangnya.

Pada tahun 1884, mulai marak permainan anak-anak menggunakan batu tulis dimana mereka menutup mata sambil mencoretkan batu dengan dua simbol "X" dan "O"

membentuk satu barisan namun disertai suara tic dan tac dari anak-anak. Pada tahun 1952, Tic-Tac-Toe mulai dikenal karena untuk pertama kalinya permainan ini masuk ke dunia video game OXO (or Noughts and Crosses) untuk komputer EDSAC. Pemain bisa memainkan Tic-Tac-Toe dengan melawan komputer bahkan dapat multiplaying melawan manusia. Pada tahun 1975, Tic-Tac-Toe juga digunakan oleh siswa MIT untuk menunjukkan kekuatan komputasi dari elemen Tinkertoy yang saat ini dipamerkan di Museum of Science, Boston.

B. Finite Automata

Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata.

Sistem yang sedang dieksekusi dapat berada di salah satu konfigurasi internal berhingga yang disebut state.

Beberapa contoh sistem dengan state berhingga antara lain pada mesin minuman otomatis atau vending machine, pengatur lampu lalu lintas dan lexical analyser.

Suatu finite automata terdiri dari beberapa bagian yaitu:

(2)

1. Sekumpulan state.

2. Simbol-simbol masukan yang diizinkan.

3. Fungsi transisi atau aturan-aturan untuk berpindah dari state yang satu ke state yang lain, tergantung dari simbolnya.

4. State awal.

5. State akhir.

Finite automata merupakan kumpulan dari lima elemen atau dalam bahasa matematis dapat disebut sebagai 5- tuple. Definisi formal dari finite automata dikatakan bahwa finite automata merupakan list dari 5 komponen : kumpulan state, input , aturan perpindahan, state awal, dan state akhir.

Fungsi transisi biasanya dinotasikan dengan δ. Jika finite automata memiliki sebuah panah dari suatu state x ke suatu state y,dan memiliki label dengan simbol input a, ini berarti bahwa, jika automata berada pada state x ketika automata tersebut membaca a, maka automata tersebut dapat berpindah ke state y dapat diindikasikan hal yang sama dengan fungsi transisi dengan mengatakan bahwa δ(x, a) = y.

III. LANDASANTEORI A. Graf

Graf merupakan representasi objek-objek diskrit yang disebut simpul dan hubungan antar dua objek tersebut yang disebut sisi. Graf didefinisikan sebagai pasangan himpunan (V,E) dimana V adalah himpunan tidak kosong dari simpul-simpul yang ada di dalam graf dan E adalah himpunan dari sisi di dalam. Aplikasi dari Graf dalam kehidupan sehari-hari sangat banyak, salah satunya dapat digunakan untuk merepresentasikan berbagai permasalahan yang ada. Contoh aplikasi dari graf adalah peta. Setiap area/tempat yang direpresentasikan dengan logo/simbol adalah simpul sedangkan jalan2 yang menghubungkannya adalah sisi.

Gambar 2. Contoh aplikasi graf

(Sumber: Rinaldi Munir/IF2120 Matematika Diskrit)

Graf dapat dibagi menjadi dua yaitu graf sederhana dan graf tak sederhana. Graf sederhana adalah graf yang tidak memiliki sisi ganda dan/atau gelang pada simpulnya. Graf memiliki sisi ganda apabila ada lebih dari satu sisi yang menghubungkan dua simpul. Graf memiliki gelang apabila terdapat sisi yang kedua ujungnya terhubung pada simpul yang sama. Sehingga graf tak sederhana adalah graf yang memiliki sisi ganda dan/atau gelang.

Graf juga dapat dibagi menjadi graf berarah dan graf tak berarah. Graf berarah adalah graf yang sisinya memiliki arah. Simpul hanya terhubung satu arah berdasarkan arah sisi. Pada graf berarah sisi biasa disebut juga busur. Graf tak berarah adalah graf yang sisinya tidak memiliki arah sehingga kedua simpul sudah pasti terhubung.

B. Pohon

Pohon adalah graf sederhana tak berarah yang tidak memiliki sirkuit. Graf dikatakan mengandung sirkuit apabila terdapat lintasan yang berawal dan berakhir pada simpul yang sama. Pohon memiliki komponen-komponen sebagai berikut.

1. Anak dan orangtua. Orangtua memiliki sisi dengan anak dengan tingkatan yang lebih tinggi dibanding anak.

2. Lintasan, jalur yang menghubungkan suatu simpul dengan simpul yang lain. Namun lintasan tidak dapat melalui saudara.

3. Saudara, merupakan simpul yang memiliki orangtua yang sama.

4. Upapohon/pohon bagian.

5. Daun, simpul yang tidak memiliki anak.

6. Simpul dalam, simpul yang memiliki anak.

7. Aras atau tingkat, tingkatan simpul pada pohon.

8. Ketinggian atau kedalaman, aras maksimum pada pohon.

Gambar 3. Contoh pohon (Sumber:

http://welyam1231018.blogspot.com/2013/03/tree_12.htm l diakses pada 10 Desember 2014 pukul 18:45 WIB)

Brebes Tegal

Slawi

P emalang

P urwokerto

Cilacap

Banjarnegara Wonosobo

Kebumen

P urworejo Kendal

Semarang P ekalongan

P urbalingga

Magelang Salatiga

Klaten Solo

P urwodadi Demak Kudus

Rembang

Blora

Sukoharjo

Wonogiri Sragen Boyolali

Kroya

Temanggung

(3)

IV. APLIKASIPOHONKEPUTUSAN Dalam pembuatan DFA kita pertama menggunakan pohon keputusan sebagai dasar dari DFA tersebut. Pada makalah ini penulis hanya akan membuat DFA untuk permainan dimana player jalan terlebih dahulu dan direspon oleh komputer dengan langkah optimal.

Sehingga status awal FA adalah tabel kosong. Penulis akan merepresentasikan tabel Tic-Tac-Toe dengan huruf a, b, c, d, e, f, g, h, dan i yang merepresentasikan posisi bidak. Bidak komputer adalah X dan bidak player adalah O.

a b c

d e f

g h i

Gambar 4. Langkah Optimal Komputer

(Sumber: http://en.wikipedia.org/wiki/Tic-tac-toe diakses pada 10 Desember 2014 pukul 19:20 WIB)

Berdasarkan gambar di atas, dapat dilihat bahwa terdapat 9 kemungkinan langkah pertama player. Namun, terdapat beberapa langkah yang memiliki pola yang sama apabila menggunakan proses pemutaran. Sehingga akar pohon DFA adalah kosong (direpresentasikan dengan P).

Kemudian P memiliki 3 anak yaitu (a, b, dan e). a untuk merepresentasikan ujung (a, c, g, dan i). b untuk merepresentasikan pinggir (b, d, f, dan h). e untuk merepresentasikan tengah. Berikut contoh pengambaran pohon pada aras 0.

P –a-- e –b-- e --c-- e --d-- e --e—a --f—e --g—e --h—e --i—e

Lalu pohon diteruskan sesuai dengan gambar 4.

Selanjutnya kita dapat menentukan status pada setiap daun apakah status tersebut status akhir atau bukan.

Berikut hasil DFA dari pohon keputusan yang penulis buat.

Player First Sta

te

Input Symbols Out

put Sta

a b c d e f g h i tus

->

q0 q 1

q4

4 - -

q 8 6

- - - - - -

q1 - q2 q8 q1

4 - q2

0 q2

6 q3

2 q3

8 e -

q2 - - - q7 - q7 q3 q7 q7 c -

q3 - - - - - q4 - q6 q6 d -

q4 - - - - - - - - q5 h -

*q

5 - - - - - - - - - - d

*q

6 - - - - - - - - - f c

*q

7 - - - - - - - - - g c

q8 - - - q1

3 - q1

3 q1

3 q9 q1

3 b -

q9 - - - - - q1

0 q1

2 - q1

2 d -

q1

0 - - - - - - q1

1 - - i -

*q

11 - - - - - - - - - - d

*q

12 - - - - - - - - - f c

*q

13 - - - - - - - - - h c

q1

4 - q1

9 q1

5 - - q1

9 - q1

9 q1

9 g -

q1

5 - - - - - q1

8 - q1

6 q1

8 b -

q1

6 - - - - - - - - q1

7 f -

*q

17 - - - - - - - - - - d

*q

18 - - - - - - - - - h c

*q

19 - - - - - - - - - c c

q2

0 - q2

1 q2

5 q2

5 - - q2

5 - q2

5 h -

q2

1 - - - q2

4 - - q2

2 - q2

4 c -

q2 - - - - - - - - q2 d -

(4)

2 3

*q

23 - - - - - - - - - - d

*q

24 - - - - - - - - - g c

*q

25 - - - - - - - - - b c

q2

6 - q3

1 q3

1 - - q2

7 - q3

1 q3

1 d -

q2

7 - - q3

0 - - - - q2

8 q3

0 b -

q2

8 - - q2

9 - - - - - - i -

*q

29 - - - - - - - - - - d

*q

30 - - - - - - - - - h c

*q

31 - - - - - - - - - f c

q3

2 - q3

7 q3

7 q3

3 - - q3

7 - q3

7 f -

q3

3 - q3

6 q3

4 - - - - - q3

36 g -

q3

4 - - - - - - - - q3

5 b -

*q

35 - - - - - - - - - - d

*q

36 - - - - - - - - - c c

*q

37 - - - - - - - - - d c

*q

38 - q3

9 q4

3 q4

3 - q4

3 q4

3 - - h -

*q

39 - - - q4

2 - q4

2 q4

0 - - c -

q4

0 - - - - - q4

1 - - - d -

*q

41 - - - - - - - - - - d

*q

42 - - - - - - - - - g c

*q

43 - - - - - - - - - b c

q4 4

q 4 5

- q5

1 q5

7 - q6

3 q6

9 q7

5 q8

0 e -

q4

5 - - - q5

0 - q5

0 q4

6 q5

0 q5

0 c -

q4

6 - - - - - q4

7 - q4

9 q4

9 d -

*q

47 - - - - - - - - q4

8 h d

*q

48 - - - - - - - - - - c

*q

49 - - - - - - - - - f c

q5

0 - - - - - - - - - g -

q5

1 - - - q5

6 - q5

6 q5

6 q5

6 q5

2 a -

q5

2 - - - q5

3 - - q5

5 q5

5 - f -

*q

53 - - - - - - q5

4 - - h d

*q

54 - - - - - - - - - - c

*q

55 - - - - - - - - - d c

q5

6 - - - - - - - - - i -

q5

7 - - q6

2 - - q6

2 q6

2 q6

2 q5

8 a -

q5

8 - - - - - q6

1 q5

9 q6

1 - c -

*q

59 - - - - - q6

0 - - - h d

*q

60 - - - - - - - - - - c

*q

61 - - - - - - - - - g c

q6

2 - - - - - - - - - i -

q6 3

q 6 8

- - q6

8 - - q6

4 q6

8 q6

8 c -

q6

4 - - - q6

7 - - - q6

7 q6

5 a -

*q

65 - - - q6

6 - - - - - h d

*q

66 - - - - - - - - - - c

*q

67 - - - - - - - - - i c

q6

8 - - - - - - - - - g -

q6 9

q 7 4

- q7

4 - - q7

0 - q7

4 q7

4 d -

q7 0

q 7 1

- q7

3 - - - - q7

3 - i -

*q

71 - - - - - - - q7

2 - c d

*q

72 - - - - - - - - - - c

*q

73 - - - - - - - - - a c

q7

4 - - - - - - - - - f -

q7 5

q 7 9

- q7

9 - - q7

6 q7

9 - - d -

q7 6

q 7 7

- q7

8 - - - - - q7

7 g -

*q

77 - - - - - - - - - c c

*q

78 - - - - - - - - - a c

*q

79 - - - - - - - - - f c

q8 0

q 8 5

- q8

5 q8

1 - - q8

5 q8

5 - f -

q8 1

q 8 4

- q8

2 - - - - q8

4 - g -

q8

2 - - - - - - - q8

3 - a -

*q

83 - - - - - - - - - - d

*q

84 - - - - - - - - - c c

*q

85 - - - - - - - - - d c

q8

6 - q8

7 q1 13

q1

22 - q1

48 q1 54

q1 63

q1

69 a -

q8

7 - - q8

8 q9

1 - q9

8 q1

02 - q1

09 h -

q8 - - - q9 - q9 - - q8 g -

(5)

8 0 0 9

*q

89 - - - - - - - - - d c

*q

90 - - - - - - - - - i c

q9

1 - - q9

2 - - - q9

4 - q9

6 f -

q9

2 - - - - - - - - q9

3 g -

*q

93 - - - - - - - - - - d

q9

4 - - - - - - - - q9

5 c -

*q

95 - - - - - - - - - - d

q9

6 - - - - - - q9

7 - - c -

*q

97 - - - - - - - - - - d

q9

8 - - q1

01 - - - q9

9 - q1

01 d -

q9

9 - - - - - - - - q1

00 c -

*q 10 0

- - - - - - - - - - d

*q 10 1

- - - - - - - - - g c

q1

02 - - - q1

03 - q1

05 - - q1

07 c -

q1

03 - - - - - - - - q1

04 f -

*q 10 4

- - - - - - - - - - d

q1

05 - - - - - - - - q1

06 d -

*q 10 6

- - - - - - - - - - d

q1

07 - - - q1

08 - - - - - f -

*q 10 8

- - - - - - - - - - d

q1

09 - - q1

12 - - q1

12 q1

10 - - d -

q1

10 - - - - - q1

11 - - - c -

*q 11 1

- - - - - - - - - - d

*q 11 2

- - - - - - - - - g c

q1

13 - q1

21 - q1

14 - q1

21 - q1

21 q1

21 g -

q1

14 - q1

15 - - - - - q1

17 q1

19 f -

q1

15 - - - - - - - - q1

16 h -

*q 11 6

- - - - - - - - - - d

q1

17 - - - - - - - - q1

18 b -

*q 11 8

- - - - - - - - - - d

q1

19 - - - - - - - q1

20 - b -

*q 12 0

- - - - - - - - - - d

*q 12 1

- - - - - - - - - d c

q1

22 - q1

26 q1

37 - - - q1

23 q1 33

q1

44 f -

q1

23 - q1

25 - - - - - q1

25 q1

24 c -

*q 12 4

- - - - - - - - - b c

*q 12 5

- - - - - - - - - i c

q1

26 - - q1

29 - - - q1

27 - q1

31 h -

q1

27 - - - - - - - - q1

28 c -

*q 12 8

- - - - - - - - - - d

q1

29 - - - - - - - - q1

30 g -

*q 13 0

- - - - - - - - - - d

q1

31 - - q1

32 - - - - - - g -

*q 13 2

- - - - - - - - - - d

q1

33 - - q1

34 - - - q1

36 - q1

36 b -

q1

34 - - - - - - - - q1

35 g -

*q 13 5

- - - - - - - - - - d

*q 13 6

- - - - - - - - - c c

q1

37 - q1

38 - - - - - q1

40 q1

42 g -

q1

38 - - - - - - - - - h -

*q 13 9

- - - - - - - - - - d

q1

40 - - - - - - - - - b -

*q 14 1

- - - - - - - - - - d

q1

42 - q1

43 - - - - - - - h -

*q 14 3

- - - - - - - - - - d

q1

44 - - # - - - q1

47 q1

45 - b -

q1

45 - - - - - - - q1

46 - g -

*q 14 6

- - - - - - - - - - d

*q

14 - - - - - - - - - c c

Referensi

Dokumen terkait

memberikan model pembelajaran Team Games Tournament (TGT) dengan pola. permainan tic tac toe terhadap hasil belajar, serta dapat menambah

Besarnya Pengaruh Model Pembelajaran Team Games Tournament (TGT) Dengan Pola Permainan Tic Tac Toe Terhadap Hasil Belajar Siswa Materi Bangun Ruang Kelas VIII

diterima yang berarti ada pengaruh model pembelajaran Team Games Tournament (TGT) dengan pola permainan tic tac toe terhadap hasil belajar siswa materi bangun ruang

pola permainan tic tac toe terhadap hasil belajar siswa materi bangun ruang kelas VIII. MTs Darul Falah Sumbergempol tahun

Sehingga diharapkan dengan penerapan model cooperative script berbantuan permainan pelangi tac tic toe pada mata pelajaran matematika perkalian bilangan yang

1) Melaksanakan pembelajaran dengan model pembelajaran cooperative script berbantuan permainan tac tic toe. 2) Pelaksanaan tindakan dilaksanakan dalam 2 siklus, siklus

Media pembelajaran Tic-Tac-Toe sangat layak digunakan pendidik dalam melatih keterampilan kolaborasi, sesuai dengan hasil penilaian yang dilakukan oleh 3 validator dan respon peserta

Game memiliki 3 mode permainan yaitu manusia lawan manusia, manusia lawan komputer yang memilih langkah secara random, dan manusia lawan komputer dengan algoritma minimax.. Komputer