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
Tidak ada komentar:
Posting Komentar