EXPERT SYSTEM
Games Identification
DI SUSUN OLEH:
1. Andi Yudianto
2. Jonh Fredrik Ulysses
3. Andi Gunawan
4. Leo Widiarto Purnomo
(4417)
(4449)
(4455)
(4481)
Pendahuluan
Game adalah fenomena global. Anda pasti setuju dengan pendapat itu. Permainan
elektronik yang menggunakan media komputer maupun mesin konsol seperti Playstation
atau Xbox sudah menjamur dan terkenal dimana-mana.
Sekarang, game memiliki berbagai jenis format atau gaya dari sebuah game yang sering
disebut Genre, seperti genre Role Playing Game (RPG), Racing Game, Maze Game,
Turn-Based Startegy Game (RTS) dan lain-lain, bahkan banyak game yang
menggabungkan beberapa genre ke dalam satu game agar unsur permainan lebih
bervariasi dan menantang. Selain itu setiap game memiliki ciri-ciri tersendiri, baik itu
karakter, lingkungan, alur cerita, ataupun cara memainkan game tersebut.
Karena banyaknya jenis dan ciri dari setiap game maka kami memilih tema game
ini sebagai dasar dari program sistem pakar yang kami buat dengan menggunakan SWIProlog. Dalam program sistem pakar Identification Game, kami hanya memasukkan
beberapa jenis genre game dan ciri-cirinya berserta nama game tersebut dan ciri-ciri
khusus game tersebut.
Jenis-jenis Game (Genre) Dan Cirinya Yang Dimasukkan Sebagai Database Pada
Sistem Pakar
Tabel dibawah ini menunjukkan tabel genre game dan ciri-ciri utamanya, kami
tidak memasukkan semua genre game karena banyaknya genre game yang ada sekarang
dan banyaknya game yang mencampurkan banyak genre dalam permainannya.
Nama Genre
First Person Shooter
Ciri-ciri
1. Mengutamakan kecepatan gerakan dalam permainan
Third Person 3D
Games
Racing Game
Sports Game
jalan raya.
1. Mengutamakan genre olahraga, seperti sepakbola
Nama Game, Genre Dan Ciri Khususnya Yang Dimasukkan Sebagai Database Pada
Sistem Pakar
Tabel dibawah ini menunjukkan tabel nama game, genre dan ciri-ciri khusus yang
dimiliki masing-masing game seperti nama tokoh utamanya, asal platform, dan lain-lain.
Nama Game
Genre
Counter Strike
Ciri Games
1. Jenis senjata modern
2. Perang antara pasukan khusus dengan terorist
Breath Of Fire 4
3. Platform PC
1. Jenis senjata kuno
2. Karakter utama bernama Ryu dan bisa berubah
menjadi naga
3. Platform PS
1. Karakter Utama Bernama Cloud yang hilang
ingatan
Tomb Raider
2. Platform PS
1. Karakter dapat melakukan gerakan akrobatik
sambil menembak
Diablo
Resident Evil 3
Third Person 3D
Games
Silent Hill
Third Person 3D
Games
4. Platform PS
1. Jenis senjata modern
2. Player bermain dalam kota mati yang diselimuti
kabut
3. player dihadapkan pada dunia nyata dan dunia
kegelapan
Racing Game
Underground
Grand Fix 3
4. Platform PS
1. Balapan diluar arena balap
2. Balapan liar dengan menggunkan mobil
Racing Game
3. Platform PC
1. Balapan di arena balap
2. Balapan Formula One
Winning Eleven
Tiger Woods
Hack Infection
Sports Game
3. Platform PC
1. Permainan Sepakbola
Sports Game
2. Platform PS2
1. Permainan Golf
2. Handheld/Handphone
1.Cerita game berawal dari rusaknya system online
sebuah game
2. Player bermain dalam dua dunia yaitu dunia
nyata dan online (maya)
3. Platform PS2
Metode Pencarian
Sistem pakar ini menggunakan kerangka sistem pakar yang memanggil basis
pengetahuan dan melakukan inferensi dasar untuk mendiagnosa jenis masalah. SWIProlog menyediakan fungsi khusus yang kami gunakan dalam membuat program ini yaitu
assert dan retract. Assert digunakan untuk memperbolehkan argumen baru untuk
ditugasi pada waktu program dijalankan ke predikat tertentu sedangkan retract digunakan
untuk mengeluarkan semua seperti fakta dari basis pengetahuan.
Pertanyaan
Awal
Genr
e
Genr
e
Genr
e
Ciri
Genre
Ciri
Game
Nama
Game
Syntax Program
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% nama kelompok :
%% 1. Andi Yudianto
(4417)
%% 2. Jonh Fredrik Ulysses (4449)
%% 3. Andi Gunawan
(4455)
%% 4. Leo Widiarto Purnomo
(4481)
%%
%% Deskripsi :
%% Program ini digunakan untuk mengidentifikasi
%% nama game berdasarkan jenis game dan ciri-ciri
%% khusus yang dimiliki game tersebut.
%% Untuk memulai program ini ketik "mulai."
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mulai :- nama(Game),
write('Game tersebut adalah : '),
write(Game),
nl,
undo.
nama(counter_strike) :- counter_strike, !.
nama(breath_of_fire_empat) :- breath_of_fire_empat, !.
nama(final_fantasy_tujuh) :- final_fantasy_tujuh, !.
nama(tomb_raider) :- tomb_raider, !.
nama(diablo) :- diablo, !.
nama(resident_evil_tiga) :- resident_evil_tiga, !.
nama(silent_hill) :- silent_hill, !.
nama(need_for_speed_underground) :- need_for_speed_underground, !.
nama(grand_prix_tiga) :- grand_prix_tiga, !.
nama(winning_eleven) :- winning_eleven, !.
nama(tiger_woods) :- tiger_woods, !.
nama(hack_infection) :- hack_infection, !.
nama(unknown).
/* no diagnosis */
counter_strike :- first_person_shooter,
senjata_modern,
ciri_game(platform_pc),
ciri_game(perang_antara_pasukan_khusus_dengan_terorist).
breath_of_fire_empat :- role_playing_game,
senjata_kuno,
ciri_game(platform_ps),
ciri_game(karakter_utama_bernama_ryu_dan_bisa_berubah_menjadi_naga).
final_fantasy_tujuh :- role_playing_game,
ciri_game(platform_ps),
ciri_game(karakter_utama_bernama_cloud_yang_hilang_ingatan).
tomb_raider :- third_person_3d_games,
ciri_game(karakter_dapat_melakukan_gerakan_akrobatik_sambil_menembak),
ciri_game(karakter_utama_bernama_lara_croft).
diablo :- role_playing_game,
senjata_kuno,
ciri_game(platform_pc),
ciri_game(karakter_memerangi_raja_diablo_yang_ingin_menguasai_dunia),
ciri_game(karakter_terdiri_atas_paladin_necromander_rogue_barbarian).
resident_evil_tiga :- third_person_3d_games,
senjata_modern,
ciri_game(platform_ps),
ciri_game(player_harus_meloloskan_diri_dari_kota_yang_dipenuhi_zombie),
ciri_game(karakter_utama_seorang_wanita_bernama_jill_valentine).
silent_hill :- third_person_3d_games,
senjata_modern,
ciri_game(platform_ps),
ciri_game(player_bermain_dalam_kota_mati_yang_diselimuti_kabut),
ciri_game(player_dihadapkan_atas_dunia_nyata_dan_dunia_kegelapan).
need_for_speed_underground :- racing_game,
ciri_game(platform_pc),
ciri_game(balapan_diluar_arena_balap),
ciri_game(balapan_liar_dengan_menggunakan_mobil).
grand_prix_tiga :- racing_game,
ciri_game(platform_pc),
ciri_game(balapan_di_arena_balap),
ciri_game(balapan_formula_one).
winning_eleven :- sports_game,
ciri_game(platform_ps2),
ciri_game(permainan_sepak_bola).
tiger_woods :- sports_game,
ciri_game(platform_handheld/handphone),
ciri_game(permainan_golf).
hack_infection :- role_playing_game,
ciri_game(platform_ps2),
ciri_game(cerita_game_berawal_dari_rusaknya_sistem_online_sebuah_game),
ciri_game(player_bermain_dalam_dua_dunia_yaitu_dunia_nyata_dan_online(maya)).
senjata_modern
:- ciri_game(senjata_modern_seperti_senjata_api), !.
senjata_kuno :- ciri_game(senjata_kuno_seperti_pedang_atau_panah).
first_person_shooter :ciri_game(mengutamakan_kecepatan_gerakan_dalam_permainan), !.
first_person_shooter :- ciri_game(player_memainkan_satu_karakter).
role_playing_game :- ciri_game(permainan_mengikuti_alur_cerita), !.
role_playing_game :ciri_game(karakter_memiliki_atribut_seperti_defense_magic_streght).
third_person_3d_games
:- first_person_shooter,
ciri_game(tembak_menembak), !.
third_person_3d_games
:- first_person_shooter,
ciri_game(menggunakan_senjata_api_modern).
racing_game :ciri_game(permainan_lomba_kecepatan_dari_kendaraan_yang_dimainkan_oleh_player),
!.
racing_game :- ciri_game(permainan_bisa_di-arena_balap_atau_di_luar_arena_balap).
sports_game :- ciri_game(mengetengahkan_genre_olahraga).
ask(Question) :write('Ciri game: '),
write(Question),
write('? '),
read(Response),
nl,
( (Response == yes ; Response == y)
->
assert(yes(Question)) ;
assert(no(Question)), fail).
:- dynamic yes/1,no/1.
ciri_game(S) :(yes(S)
->
true ;
(no(S)
->
fail ;
ask(S))).
undo :- retract(yes(_)),fail.
undo :- retract(no(_)),fail.
undo.
Tampilan Syntax Dalam Notepad
Gambar Syntax 1
Gambar Syntax 2
Gambar Syntax 3