Thursday, October 30, 2014

Program Prolog Mahasiswa 2

SOAL

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


PENYELESAIAN:

DOMAINS
    nama = symbol
    mk,nilai = string
PREDICATES
    mata_kuliah(mk)
    kuliah(nama,mk)
    nilai(nama,mk,nilai)
    tidak_lulus(nama,mk,nilai)
    lulus(nama,mk,nilai)
CLAUSES
    /*nama mata kuliah*/
    mata_kuliah("Knowledge Management System").
    mata_kuliah("Expert System").
    mata_kuliah("Sistem Pendukung Keputusan").

    /*nama mahasiswa dan mata kuliah*/
    kuliah(andi,kms).
    kuliah(budi,kms).
    kuliah(cindy,kms).
    kuliah(dedi,kms).
    kuliah(edi,kms).
    kuliah(feri,expert_system).
    kuliah(geri,expert_system).
    kuliah(heri,expert_system).
    kuliah(iri,expert_system).
    kuliah(jeri,expert_system).
    kuliah(kelli,spk).
    kuliah(leli,spk).
    kuliah(meli,spk).
    kuliah(neli,spk).
    kuliah(oli,spk).
   
    /*Nilai*/
    nilai(andi,kms,"A").
    nilai(budi,kms,"D").
    nilai(cindy,kms,"C").
    nilai(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):-
        kuliah(Nama,Mk),
        nilai(Nama,Mk,Nilai),
        Nilai="D".
   
    tidak_lulus(Nama,Mk,Nilai):-
        kuliah(Nama,Mk),
        nilai(Nama,Mk,Nilai),
        Nilai="E".
   
    /*mahasiswa yang lulus*/
    lulus(Nama,Mk,Nilai):-
        kuliah(Nama,Mk),
        nilai(Nama,Mk,Nilai),
        Nilai="A".
       
    lulus(Nama,Mk,Nilai):-
        kuliah(Nama,Mk),
        nilai(Nama,Mk,Nilai),
        Nilai="B".
       
    lulus(Nama,Mk,Nilai):-
        kuliah(Nama,Mk),
        nilai(Nama,Mk,Nilai),
        Nilai="C".

GOAL:

1.  Nama mahasiswa yang mengikuti mata kuliah knowledge management system

     Goal : kuliah(Nama,kms)
    
     Hasil:

     Nama=andi
     Nama=budi
     Nama=cindy
     Nama=dedi
     Nama=edi


2.  Nama mahasiswa yang tidak lulus
   
     Goal : tidak_lulus(Nama,Mk,Nilai)

     Hasil:

     Nama=budi, Mk=kms, Nilai=D
     Nama=heri, Mk=expert_system, Nilai=D
     Nama=kelli, Mk=spk, Nilai=D
     Nama=feri, Mk=expert_system, Nilai=E
     Nama=leli, Mk=spk, Nilai=E


3.  Nama mahasiswa yang lulus 

     Goal : lulus(Nama,Mk,Nilai)

     Hasil:

     Nama=andi, Mk=kms, Nilai=A
     Nama=geri, Mk=expert_system, Nilai=A
     Nama=neli, Mk=spk, Nilai=A
     Nama=oli, Mk=spk, Nilai=A
     Nama=dedi, Mkl=kms, Nilai=B
     Nama=iri, Mk=expert_system, Nilai=B
     Nama=meli, Mk=spk, Nilai=B
     Nama=cindy, Mk=kms, Nilai=C
     Nama=edi, Mk=kms, Nilai=C
     Nama=jeri, Mk=expert_system, Nilai=C


4.  Seluruh mata kuliah yang diajarkan

     Goal : mata_kuliah(Matkul)

     Hasil:

     Matkul=Knowledge Management System
     Matkul=Expert System
     Matkul=Sistem Pendukung Keputusan


5.  Seluruh nama mahasiswa yang ada

     Goal : kuliah(Nama,kms) or kuliah(Nama,expert_system) or kuliah(Nama,spk)

     Hasil:

     Nama=andi
     Nama=budi
     Nama=cindy
     Nama=dedi
     Nama=edi
     Nama=feri
     Nama=geri
     Nama=heri
     Nama=iri
     Nama=jeri
     Nama=kelli
     Nama=leli
     Nama=meli
     Nama=neli
     Nama=oli       

No comments:

Post a Comment