SOAL :
BUATLAH PROGRAM PROLOG DARI NARASI BERIKUT :
PADA SEMESTER 7 DI STMIK POTENSI UTAMA TERDAPAT 5 MAHASISWA YANG MENGAMBIL MATA KULIAH KNOWLEDGE MANAGEMENT SYSTEM(ANDI,BUDI,CINDY,DEDI,EDI), 5 MAHASISWA MENGAMBIL MATA KULIAH EXPERT SYSTEM(FERI,GERI,HERI,IRI, JERI) DAN 5 MAHASISWA LAGI MENGAMBIL MATA KULIAH SISTEM PENDUKUNG KEPUTUSAN(KELLI, LELI, MELI, NELI, OLI). SETELAH UJIAN SELESAI , MASING MASING MENDAPAT NILAI(SESUAI URUTAN NAMA YANG ADA PADA MATA KULIAH) : A,D,C,B,C,E,A,D,B,C,D,E,B,A, A. MAHASISWA YANG TIDAK LULUS ADALAH MAHASISWA YANG NILAINYA D DAN E. BUATLAH GOAL UNTUK MENCARI :
1. NAMA MAHASISWA YANG MENGIKUTI MATA KULIAH KNOWLEDGE MANAGEMENT SYSTEM
2. NAMA MAHASISWA YANG TIDAK LULUS
3. NAMA MAHASISWA YANG LULUS
4. SELURUH MATA KULIAH YANG DIAJARKAN
5. SELURUH NAMA MAHASISWA YANG ADA
JAWAB :
Berikut merupakan script dari soal di atas :
DOMAINS
nama = symbol
mk,nilai = string
PREDICATES
mata_kuliah(nama,mk)
nilai(nama,mk,nilai)
tidak_lulus(nama,mk,nilai)
lulus(nama,mk,nilai)
CLAUSES
/*nama mahasiswa dan mata kuliah*/
mata_kuliah(andi,kms).
mata_kuliah(budi,kms).
mata_kuliah(cindy,kms).
mata_kuliah(dedi,kms).
mata_kuliah(edi,kms).
mata_kuliah(feri,expert_system).
mata_kuliah(geri,expert_system).
mata_kuliah(heri,expert_system).
mata_kuliah(iri,expert_system).
mata_kuliah(jeri,expert_system).
mata_kuliah(kelli,spk).
mata_kuliah(leli,spk).
mata_kuliah(meli,spk).
mata_kuliah(neli,spk).
mata_kuliah(oli,spk).
/*Nilai*/
nilai(andi,kms,"A").
nilai(budi,kms,"D").
nilai(cindy,kms,"C").
mnilai(dedi,kms,"B").
nilai(edi,kms,"C").
nilai(feri,expert_system,"E").
nilai(geri,expert_system,"A").
nilai(heri,expert_system,"D").
nilai(iri,expert_system,"B").
nilai(jeri,expert_system,"C").
nilai(kelli,spk,"D").
nilai(leli,spk,"E").
nilai(meli,spk,"B").
nilai(neli,spk,"A").
nilai(oli,spk,"A").
/*mahasiswa yang tidak lulus*/
tidak_lulus(Nama,Mk,Nilai):-
mata_kuliah(Nama,Mk),
nilai(Nama,Mk,Nilai),
Nilai="D".
tidak_lulus(Nama,Mk,Nilai):-
mata_kuliah(Nama,Mk),
nilai(Nama,Mk,Nilai),
Nilai="E".
/*mahasiswa yang lulus*/
lulus(Nama,Mk,Nilai):-
mata_kuliah(Nama,Mk),
nilai(Nama,Mk,Nilai),
Nilai="A".
lulus(Nama,Mk,Nilai):-
mata_kuliah(Nama,Mk),
nilai(Nama,Mk,Nilai),
Nilai="B".
lulus(Nama,Mk,Nilai):-
mata_kuliah(Nama,Mk),
nilai(Nama,Mk,Nilai),
Nilai="C".
Hasil :
1. Untuk goal dari jawaban pertama "Nama mahasiswa yang mengikuti mata kuliah Knowledge Management System ?
Goal : mata_kuliah(X,kms)
X=andi
X=budi
X=cindy
X=dedi
X=edi
5 Solutions
2. Untuk goal dari jawaban kedua "Nama mahasiswa yang tidak lulus" ?
Goal : tidak_lulus(Mahasiswa,Matkul,Nilai)
Mahasiswa=budi, Matkul=kms, Nilai=D
Mahasiswa=heri, Matkul=expert_system, Nilai=D
Mahasiswa=kelli, Matkul=spk, Nilai=D
Mahasiswa=feri, Matkul=expert_system, Nilai=E
Mahasiswa=leli, Matkul=spk, Nilai=E
5 Solutions
3. Untuk goal dari jawaban kedua "Nama mahasiswa yang lulus" ?
Goal : lulus(Mahasiswa,Matkul,Nilai)
Mahasiswa=andi, Matkul=kms, Nilai=A
Mahasiswa=geri, Matkul=exper_system, Nilai=A
Mahasiswa=neli, Matkul=spk, Nilai=A
Mahasiswa=oli, Matkul=spk, Nilai=A
Mahasiswa=dedi, Matkul=kms, Nilai=B
Mahasiswa=iri, Matkul=expert_system, Nilai=B
Mahasiswa=meli, Matkul=spk, Nilai=B
Mahasiswa=cindy, Matkul=kms, Nilai=C
Mahasiswa=edi, Matkul=kms, Nilai=C
Mahasiswa=jeri, Matkul=expert_system, Nilai=C
10 Solutions
4. Untuk goal dari "Seluruh mata kuliah yang diajarkan" ?
Goal : mata_kuiah(andi,Matkul) or mata_kuliah(feri,Matkul) or mata_kuliah(kelli,Matkul)
Matkul=kms
Matkul=expert_system
Matkul=spk
3 solutions
5. Untuk goal dari "Seluruh mahasiswa yang ada" ?
Goal : mata_kuliah(Mahasiswa,kms) or mata_kuliah (Mahasiswa,expert_system) or mata_kuliah(Mahasiswa,spk)
Mahasiswa=andi
Mahasiswa=budi
Mahasiswa=cindy
Mahasiswa=dedi
Mahasiswa=edi
Mahasiswa=feri
Mahasiswa=geri
Mahasiswa=heri
Mahasiswa=iri
Mahasiswa=jeri
Mahasiswa=kelli
Mahasiswa=leli
Mahasiswa=meli
Mahasiswa=neli
Mahasiswa=oli
15 solutions
Rabu, 29 Oktober 2014
Rabu, 01 Oktober 2014
Surya Darma - Tugas Knowledge Management System
Silsilah
Keluarga Menggunakan Bahasa Pemrograman Prolog
Menurut Wikipedia Indonesia Prolog adalah
bahasa pemrograman logika atau di sebut juga sebagai bahasa non-pocedural diambil dari bahasa
Prancis programmation en logique (pemrograman logika). Bahasa ini
diciptakan oleh Alain Colmerauer danRobert Kowalski sekitar tahun 1972 dalam
upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan
logika alih-alih rangkaian perintah untuk dijalankan komputer.
Berbeda dengan bahasa pemrograman yang lain, yang
menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada
Delphi, Pascal, BASIC, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog
menggunakan teknik pencarian yang di sebut heuristic (heutistic) dengan
menggunakan pohon logika.
Berikut merupakan contoh dari pembuatan silsilah
keluarga menggunakan bahasa pemrograman prolog.
1.
Dibawah ini merupakan contoh silsilah keluarganya.
| 2. D | |
ari kondisi
di atas ubahlah kedalam bahasa prolog !
Berikut scriptnya :
domains
person = symbol
predicates
kakek (person, person)
nenek (person, person)
ayah (person, person)
ibu (person, person)
anak (person, person)
cucu (person, person)
cicit (person, person)
clauses
kakek (purwa, komeng).
kakek (purwa, luntung).
kakek (purwa, surya).
kakek (purwa, vivi).
nenek (nizwa, komeng).
nenek (nizwa, luntung).
ayah (purwa, nizwa).
ayah (purwa, maya).
ibu (maya, surya).
ibu (maya, vivi).
ibu (nizwa, robin).
ibu (nizwa, alex).
anak (surya, maya).
anak (vivi, maya).
anak (maya, purwa).
anak (nizwa, purwa).
anak (robin, nizwa).
anak (alex, nizwa).
anak (komeng, robin).
anak (luntung, alex).
cucu (robin, purwa).
cucu (alex, purwa).
cucu (surya, purwa).
cucu (vivi, purwa).
cucu (komeng, nizwa).
cucu (luntung, nizwa).
cicit (komeng, purwa).
cicit (luntung, purwa).
3.
Kemudian
yaitu pilh run untuk menjalankan
program tersebut.
Berikut Hasil Tampilannya…
Langganan:
Komentar (Atom)

