90 likes | 391 Views
1. Goal Majemuk dan Unifikasi 2. Runut Balik 3. Input/Output Prolog. M. Haviz Irfani. Goal Majemuk. Dalam editor program, Goal dapat dimasukkan pada program sebelum Clauses dengan kata cadangan GOAL. Goal yg dimasukkan dapat lebih dari satu subgoal . Contoh : GOAL
E N D
1. Goal MajemukdanUnifikasi2. RunutBalik3. Input/Output Prolog M. HavizIrfani
Goal Majemuk • Dalam editor program, Goal dapatdimasukkanpada program sebelum Clauses dengankatacadangan GOAL. Goal ygdimasukkandapatlebihdarisatusubgoal. • Contoh: GOAL ayah(wawan,Siapa),write(Siapa," "), cucu(badu,Kakek), write(Kakek).
Soal: Buatlah program bahasa prolog denganpengetahuansepertidalamtabelberikut: Buatlah goal internal: • Informasimobiluntukhargadibawah 165 juta • Informasimobiluntukharga 180juta s/d 220 juta • Mobil apasaja yang berwarnaHitamdenganhargakurangdari 200juta
Unifikasi • Adalahproses yang dilakukanuntukmencaripadananantarapernyataan yang terdapatpadaaturandanfaktaataukepalaaturanyg lain. • Syaratunifikasisebagaiberikut: • Mempunyairelasiygsama. • Mempunyaijumlahargumenygsamadanposisiargumenygsama pula. • Argumenygberpadanan hrs mempunyaijenis data ygsama. • Semuapasanganargumen (data majemuk) hrs berpadananjuga.
ContohUnifikasi: * ayah(Bapak,badu) dengan ayah(slamet,badu) * tgl_lhr(Tgl,Bln,Thn) dengantgl_lhr(10,”Agustus”,1998) *data_pribadi(nama(tono),alamat(jalan,kota)) dengandata_pribadi(nama(tono),alamat(“talangsemut”,”Palembang”))
Prosespencarianjawaban: slamet syamsiah jamal wawan susi * ayah(Bapak,badu) dengan ayah(slamet,badu) * tgl_lhr(Tgl,Bln,Thn) dengantgl_lhr(10,”Agustus”,1998) *data_pribadi(nama(tono),alamat(jalan,kota)) dengandata_pribadi(nama(tono),alamat(“talangsemut”,”Palembang”)) vera jojon meliani hera badu tina tukul yuyun kayamba Okto budi yayuk fika jimi siti runia
RunutBalik (BackTracking): • Prolog akanmencarijawaban dg carapemadananmulaidaribagianklausayg paling atas • Bila prolog mengeksekusisubgoalygterdiridarisubgoalyg lain (call), maka prolog akanakanmelakukanlangkah 1. • Bilasebuah call berhasilberpadananmaka call kembalikeklausainduk dg membawavariabelygdiperolehdaneksekusidilanjutkan pd subgoalberikutnya. • Variabelterikatakanmenjadivariabelbebas pd saat prolog merunutbalik, memungkinkan prolog mendapatkannilaibarusebagaijawabanygmungkin.
Soal: Buatlah program bahasa prolog denganpengetahuansepertidalamtabelberikut: Buatlah goal internal daneksternal: • Goal internal : pemain(A,15),pemain(B,15),A<>B, write(A,” ”,B). • Goal eksternal: pemain(A,15),pemain(B,15),A<>B.