Latar Belakang
Bermain game merupakan salah satu aktifitas yang sangat disukai oleh sebagian besar masyarakat di dunia ini. Alasan mereka bermain game tentunya berbeda-beda, ada yang untuk melepas lelah, ada juga yang memang suka atau hobi bermain game. Dengan berkembangnya teknologi sekarang ini, game-game ini tidak hanya dapat di jumpai pada kehidupan nyata, tapi juga dapat di jumpai di dalam dunia maya. Jenis nya pun semakin banyak dan bervariasi. Salah satu yang cukup menarik perhatian adalah permainan komputer. Permainan-permainan berbasis komputer ini juga bermacam-macam.
Dalam kesempatan ini, Penulis akan membuat program yaitu Aplikasi Game Tic-Tac-Toe dengan bahasa C. Game Tic-Tac-Toe merupakan game strategi klasik yang dapat dimainkan oleh dua orang pemain. Kedua orang pemain itu bergiliran mengisikan tanda yang berbeda, biasanya silang (X) dan lingkaran (O). Di dalam kotak sebesar 3 x 3. Pemain yang berhasil memposisikan tandanya secara horisontal, vertikal, atau diagonal sebagai baris yang penuh akan memenangkan pertandingan. Aplikasi Game Tic-Tac-Toe ini dibuat dengan menggunakan bahasa pemrograman C dengan menggunakan software Falconc++ sebagai aplikasi editor dan compiler-nya.
Landasan Teori
A. Tic Tac Toe
Game Tic Tac Toe merupakan permainan klasik berjenis permainan papan (board-game) dengan papan permainan berukuran 3x3. Board-game adalah permainan dengan kepingan-kepingan yang ditempatkan di atas, dipindahkan dari atau digerakkan di atas suatu permukaan khusus, permukaan khusus itu disebut papan permainan. Dalam game Tic Tac Toe terdapat sembilan buah ruang (3x3) berbentuk kotak yang bersekat (bidak). Game ini menggunakan dua simbol pemain yaitu X atau O. Game ini dimulai dengan mengisi salah satu bentuk simbol pada salah satu bidak, hingga tiga buah simbol yang berbentuk sama tersusun membentuk garis diagonal, vertikal, atau horizontal.
Dalam game ini hasil permainan yang didapat berupa menang, kalah, atau seri. Hasil permainan dinyatakan menang jika simbol dari salah satu pemain telah tersusun membentuk garis diagonal, vertikal, atau horizontal, sedangkan pemain yang lain dianggap kalah. Hasil permainan dinyatakan seri jika simbol dari kedua permain tidak ada yang tersusun membentuk garis diagonal, vertikal, atau horizontal, serta semua bidak papan permainan telah terisi. Kemungkinan terbaik untuk permainan ini hanyalah seri.
Game tic-tac-toe ini memiliki aturan main (rule) yang digunakan selama berlangsungnya permainan, diantaranya sebagai berikut:
1. Besar papan permainan berukuran 3x3 dengan deret kemenangan 3.
2. Pemain dalam permainan ini dibatasi untuk satu lawan satu, dilakukan bergiliran antara pemain pertama dan pemain kedua.
3. Untuk memberikan langkah, setiap pemain harus mengisi bidak dengan simbol pemain masing-masing, biasanya X atau O.
4. Setiap pemain hanya mempunyai satu kali kesempatan pada setiap giliran.
5. Bidak yang sudah terisi tidak bisa ditimpa oleh langkah berikutnya.
6. Langkah yang sudah diambil tidak dapat dibatalkan atau diganti dengan langkah yang lain.
7. Tujuan dari game ini adalah untuk mendapatkan deret dengan tiga simbol atau lebih yang sama secara horizontal, vertikal atau diagonal.
8. Pemenang ditentukan oleh pemain yang pertama kali menyusun deret tersebut.
B. Bahasa Pemrograman C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide pada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.
Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi standar, ANSI (American National Standard Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas.
Bahasa C mempunyai kemampuan lebih dibanding dengan bahasa pemrograman yang lain. Bahasa C merupakan bahasa pemrograman yang bersifat portabel, yaitu suatu program yang dibuat dengan bahasa C pada suatu komputer akan dapat dijalankan pada komputer lain dengan sedikit (atau tanpa) ada perubahan yang berarti.
Bahasa pemrograman C sama seperti bahasa pemrograman lainnya yang memiliki kerangka dasar. Kerangka Dasar Bahasa C adalah sebagai berikut :
1. Fungsi main()
Fungsi main merupakan fungsi utama yang wajib ada pada saat kita membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1 buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1 fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi lain selain fungsi main() yang bisa mempermudah kita dalam membuat sebuah program.
2. Deklarasi variabel
Pendeklarasian variabel ini dilakukan untuk mendaftarkan variabel apa saja yang akan kita gunakan dalam program yang kita buat. Pendeklarasian variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel tersebut.
3. Perintah (statement)
Perintah merupakan deretan program yang kita buat dalam sebuah project.
4. Akses library
Digunakan untuk mengakses library apa saja yang kita perlukan dalam pembuatan sebuah program.
5. Komentar
Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak akan ikut di compile atau diproses.
C. Falcon C++
Falcon C++ adalah perangkat lunak untuk menyusun aplikasi yang berdasarkan pada bahasa pemrograman C dan bekerja dalam lingkungan sistem operasi Windows. Dengan Falcon C++, kita akan merasakan begitu mudahnya menyusun program aplikasi, karena Falcon C++ memiliki keunggulan bahasa pemrograman nya yang terletak pada produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi serta diperkuat dengan program yang terstruktur.
Khusus untuk pemrograman database/operasi file, Falcon C++ dapat di hubungkan dengan Notepad, sebagai sarana penyimpanan data yang standar, memudahkan programmer dalam membuat program, serta dapat diketahui, apa saja yang terdapat dalam isi database/file (Notepad) tersebut.Sedangkan Notepad sendiri adalah aplikasi yang dibawa oleh Windows. Notepad biasanya digunakan sebagai sarana lain untuk pengaplikasian pembuatan halaman web, ataupun juga bisa digunakan untuk mencatat beberapa catatan-catatan kecil.
Algoritma
1. start
2. deklarasi variabel :
int gil = sebagai giliran,
int p = sebagai pemain,
int kot = sebagai kotak,
int bar = sebagai baris,
int kol = sebagai kolom,
int win = sebagai kondisi menang,
char b[][] = sebagai papan permainan
3. inisialisasi variabel :
char ulang = '1'
4. jika ulang=='1' benar lanjut ke langkah 5, jika salah lanjut ke langkah 44
5. inisialisasi variable :
int win = 0
char b[3][3] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'} }
int gil = 0
6. jika gil<9 && win==0 benar lanjut ke langkah 7, jika salah lanjut ke langkah 39
7. tampilkan nilai variabel gil+1
8. tampilkan nilai variabel b dengan semua indeks
9. hitung nilai variabel p, p=gil%2+1
10. tampilkan nilai variabel p
11. masukkan nilai dengan variabel kot
12. jika kot>=1 && kot<=3 benar lanjut ke langkah 13, jika salah lanjut ke langkah 15
13. inisialisasi variabel bar=0
14. hitung variabel kol, kol=kot-1, lanjut ke langkah 20
15. jika kot>=4 && kot<=6 benar lanjut ke langkah 16, jika salah lanjut ke langkah 17
16. inisialisasi variabel bar=1
17. hitung variabel kol, kol=kot-4, lanjut ke langkah 20
18. inisialisasi variabel bar=2
19. hitung variabel kol, kol=kot-7
20. jika kot<1 || kot>9 || b[bar][kol]=='X' || b[bar][kol]=='O' benar kembali ke langkah 11, jika salah lanjut ke langkah 21
21. jika p==1 benar lanjut ke langkah 22, jika salah lanjut ke langkah 23
22. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]='X', lanjut ke langkah 24
23. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]='O'
24. inisialisasi variabel bar=0
25. jika bar<3 benar lanjut ke langkah 26, jika salah lanjut ke langkah 29
26. jika b[bar][0]==b[bar][1] && b[bar][1]==b[bar][2] benar lanjut ke langkah 27, jika salah lanjut ke langkah 28
27. ganti nilai variabel win, win=p
28. tambah nilai variabel bar, bar++, kembali ke langkah 25
29. inisialisasi variabel kol=0
30. jika kol<3 benar lanjut ke langkah 31, jika salah lanjut ke langkah 34
31. jika b[0][kol]==b[1][kol] && b[1][kol]==b[2][kol] benar lanjut ke langkah 32, jika salah lanjut ke langkah 33
32. ganti nilai variabel win, win=p
33. tambah nilai variabel kol, kol++, kembali ke langkah 30
34. jika b[0][0]==b[1][1] && b[1][1]==b[2][2] benar lanjut ke langkah 35, jika salah lanjut ke langkah 36
35. ganti nilai variabel win, win=p
36. jika b[0][2]==b[1][1] && b[1][1]==b[2][0] benar lanjut ke langkah 37, jika salah lanjut ke langkah 38
37. ganti nilai variabel win, win=p
38. tambah nilai variabel gil, gil++, kembali ke langkah 6
39. tampilkan nilai variabel b dengan semua index
40. jika win!=0 benar lanjut ke langkah 41, jika salah lanjut ke langakah 42
41. tampilkan nilai variabel win, lanjut ke langkah 43
42. tampilkan "seri"
43. masukkan nilai dengan variabel ulang kembali ke langkah 4
44. end
2. deklarasi variabel :
int gil = sebagai giliran,
int p = sebagai pemain,
int kot = sebagai kotak,
int bar = sebagai baris,
int kol = sebagai kolom,
int win = sebagai kondisi menang,
char b[][] = sebagai papan permainan
3. inisialisasi variabel :
char ulang = '1'
4. jika ulang=='1' benar lanjut ke langkah 5, jika salah lanjut ke langkah 44
5. inisialisasi variable :
int win = 0
char b[3][3] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'} }
int gil = 0
6. jika gil<9 && win==0 benar lanjut ke langkah 7, jika salah lanjut ke langkah 39
7. tampilkan nilai variabel gil+1
8. tampilkan nilai variabel b dengan semua indeks
9. hitung nilai variabel p, p=gil%2+1
10. tampilkan nilai variabel p
11. masukkan nilai dengan variabel kot
12. jika kot>=1 && kot<=3 benar lanjut ke langkah 13, jika salah lanjut ke langkah 15
13. inisialisasi variabel bar=0
14. hitung variabel kol, kol=kot-1, lanjut ke langkah 20
15. jika kot>=4 && kot<=6 benar lanjut ke langkah 16, jika salah lanjut ke langkah 17
16. inisialisasi variabel bar=1
17. hitung variabel kol, kol=kot-4, lanjut ke langkah 20
18. inisialisasi variabel bar=2
19. hitung variabel kol, kol=kot-7
20. jika kot<1 || kot>9 || b[bar][kol]=='X' || b[bar][kol]=='O' benar kembali ke langkah 11, jika salah lanjut ke langkah 21
21. jika p==1 benar lanjut ke langkah 22, jika salah lanjut ke langkah 23
22. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]='X', lanjut ke langkah 24
23. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]='O'
24. inisialisasi variabel bar=0
25. jika bar<3 benar lanjut ke langkah 26, jika salah lanjut ke langkah 29
26. jika b[bar][0]==b[bar][1] && b[bar][1]==b[bar][2] benar lanjut ke langkah 27, jika salah lanjut ke langkah 28
27. ganti nilai variabel win, win=p
28. tambah nilai variabel bar, bar++, kembali ke langkah 25
29. inisialisasi variabel kol=0
30. jika kol<3 benar lanjut ke langkah 31, jika salah lanjut ke langkah 34
31. jika b[0][kol]==b[1][kol] && b[1][kol]==b[2][kol] benar lanjut ke langkah 32, jika salah lanjut ke langkah 33
32. ganti nilai variabel win, win=p
33. tambah nilai variabel kol, kol++, kembali ke langkah 30
34. jika b[0][0]==b[1][1] && b[1][1]==b[2][2] benar lanjut ke langkah 35, jika salah lanjut ke langkah 36
35. ganti nilai variabel win, win=p
36. jika b[0][2]==b[1][1] && b[1][1]==b[2][0] benar lanjut ke langkah 37, jika salah lanjut ke langkah 38
37. ganti nilai variabel win, win=p
38. tambah nilai variabel gil, gil++, kembali ke langkah 6
39. tampilkan nilai variabel b dengan semua index
40. jika win!=0 benar lanjut ke langkah 41, jika salah lanjut ke langakah 42
41. tampilkan nilai variabel win, lanjut ke langkah 43
42. tampilkan "seri"
43. masukkan nilai dengan variabel ulang kembali ke langkah 4
44. end
Source Code
Output
|
||||
==selesai== | : | Merupakan tanda bahwa permainan telah berakhir. | ||
: | Merupakan hasil dari permainan. | |||
=Player 1!= >>>>WIN<<<< |
: | Merupakan tanda bahwa pemain pertama telah memenangkan permainan, jika pemain kedua yang memenangkan permainan maka angka 1 akan berganti dengan angka 2, jika kedua pemain tidak ada yang menang maka akan tampil tulisan seri. | ||
Ketik 1 Untuk Duel Ulang : | : | Merupakan sebuah perintah yang digunakan untuk mengulangi permainan dari awal jika menginpukan 1, jika menginputkan angka atau huruf yang lain maka permainan akan berakhir. |
Kesimpulan
Bahasa C merupakan salah satu bahasa pemrograman komputer yang digunakan untuk sistem dan jaringan. Tetapi bahasa C juga dapat digunakan untuk membuaat aplikasi ataupun game. Salah satunya adalah permainan Tic Tac Toe. Permainan tersebut dapat dibuat dengan kombinasi branching, looping, dan array dalam Bahasa C. Tic Tac Toe merupakan sebuah permainan klasik berjenis permainan papan (board-game) dengan papan permainan berukuran 3x3 dengan sembilan kotak-kotak kecil yang berjumlah 9 dan berbentuk kotak bersekat ( bidak ).Permainan ini dapat dimainkan dengan 2 Pemain, Pemain pertama ditandai dengan X sedangkan pemain kedua di tandai dengan O. Dalam game ini hasil permainan yang didapat berupa menang, kalah, atau seri. Untuk mendapatkan hasil menang seorang pemain harus dapat mendapatkan 3 kotak yang sebaris, atau sekolom, maupun sediagonal. Dalam program ini permainan Tic Tac Toe akan menjadi lebih mudah, misalnya dengan adanya pilihan kotak 1 sampai 9 para pemain hanya tinggal mengetikkan saja kotak pilihannya dan secara otomatis kotak tersebut akan berganti tanda.
Daftar Pustaka
http://sinta.ukdw.ac.id/sinta/resources/sintasrv/getintro/71110065/0100a9779a4d5d2b62a47a88f113d966/intro.pdf
https://id.wikipedia.org/wiki/C_(bahasa_pemrograman)
http://falconcpp.sourceforge.net/
Perancangan Game Tic Tac Toe menggunakan Bahasa C
Reviewed by Syafriansyah Muhammad
on
6/30/2018
Rating:
Tidak ada komentar: