Rabu, 29 Oktober 2014

Tugas 2 : Knowledge Management System

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, 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…     
                  
                                             ^_^  Semoga Bermanfaat  ^_^