Anda di halaman 1dari 28

LAPORAN PRAKTIKUM MATAKULIAH KECERDASAN BUATAN

DISUSUN SEBAGAI SYARAT TELAH MENGIKUTI PRAKTIKUM MATAKULIAH KECERDASAN BUATAN Oleh : NAMA NPM :EDWARD :7112090083

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS ISLAM SUMATERA UTARA 2013

MODUL 1 LINGKUNGAN VISUAL PROLOG (VISUAL PROLOG ENVIRONMENT, VPE)

PERNYATAAN TUGAS : 1. Sisipkan kode berikut dibawah kata Clauses : Putra ("Bentang", "Genta"). Berikan Goal sebagai berikut : Kakek (Genta,Cucu).

BAHASA PROLOG

HASIL OUTPUT :

2. Apa tombol akselerator untuk perintah-perintah berikut : copy, cut, paste, redo, undo, new, open, seve, exit dan test goal. copy menggunakan kombinasi tombol ctrl + C cut menggunakan kombinaasi tombol ctrl + X paste menggunakan kombinasi ctrl + V delete menggunakan tombol delete save menggunakan tombol F2 new menggunakan tombol F7 open menggunakan tombol F8 test goal menggunakan kombinasi tombol ctrl + G redo menggunakan kombinasi tombol alt + bksp undo redo menggunakan kombinasi tombol alt + shift + bksp

3. Ganti goal tersebut dengan : ipar_perempuan("Adi",Y). HASIL OUTPUT :

MODUL 2 DASAR DASAR PROLOG

PERNYATAAN TUGAS : 1. Ubah bahasa prolog berikut menjadi bahasa natural : a. Orang (dian) . Dibaca menjadi : dian adalah orang. b. Mobil (atoz) . Dibaca menjadi : atoz adalah merek sebuah mobil. c. Suka (dian, atoz) . Dibaca menjadi : dian suka mobil atoz. d. Dijual (atoz) . Dibaca menjadi : dijual mobil merk atoz e. Dapat_membeli (X,Y) :Dibaca menjadi : X dapat membeli Y Orang (X), Dibaca menjadi : X adalah orang. Mobil (Y), Dibaca menjadi : Y adalah mobil. Suka(X,Y), Dibaca menjadi X suka Y Dijual(Y). Dibaca menjadi Y dijual. f. Suka ( _ ,Apa). Dibaca menjadi : Apa yang disukai. 2. Ubah bahasa natural berikut menjadi bahasa Prolog : a. Ricky mempunyai hobi bermain catur. Hobi (ricky, catur). b. Embang orangnya pemalas. Pemalas (embang) . c. Yusida seorang vegetarian. Vegetarian (yusida) . d. Kusdiar pandai bermain gitar. Pandai(kusdiar,gitar) .

e. Mobil yang berwarna merah itu milik sadek, bermerk BMW. Mobil (sadek, merah) dan mobil(sadek, bmw) . f. Awan seorang pemain piano, berasal dari pontianak bersuku jawa. Pemain_piano(awan) dan pontianak(asal); jawa (suku) . g. Seseorang dikatakan baik jika mempunyai sifat penyayang dan dermawan. Baik (orang) :- sifat (penyayang,dermawan). h. Seseorang dikatakan pintar jika salah satu dari Matematika atau Ipa atau IPS mendapat nilai tinggi. Pintar (orang) :- mendapat_nilai_tinggi (matematika); Mendapat_nilai_tinggi (ipa); Mendapat_nilai_tinggi (ips). i. Setiap orang pasti mati. Orang (setiap,mati) . 3. Diberikan fakta sebagai berikut : anak (Jhon, James). anak (James, Peter). istri (Mary, Peter). anak (Sue, Ann). istri (Ann, James). pria(Jhon). pria (James). pria (Peter). wanita (Mary). wanita(Sue). wanita(Ann). usia(Jhon, 10). usia(Sue, 13). Dari fakta di atas buatlah program dalam bahasa PROLOG dan Ujilah dengan rule-rule sebagai berikut : a. cucu b. ibu c. adik d. kakek

PENYELESAIAN : a. Cucu

HASIL OUTPUT :

b. Ibu

HASIL OUTPUT :

c. Adik

HASIL OUTPUT :

d. Kakek

HASIL OUTPUT :

MODUL 3 PROGRAM VISUAL PROLOG

PERNYATAAN TUGAS : Buatlah program Visual Prolog dari narasi berikut: Pada Semester 6 di Teknik Informatika ada 5 mahasiswa yang mengambil mata kuliah Kecerdasan Buatan (Irfan, Komeng, Dati, Fatima, dan Parmin); 5 mahasiswa mengambil mata kuliah PBO (Ricky, Embang, Salmin, Vina, dan Sondang) dan 5 mahasiswa lagi mengambil mata kuliah Sistem Operasi (Pamuji, Luki, Sadek, Yusida dan Eka). Setelah ujian selesai masing-masing mendapat nilai (sesuai urutan nama dari pertama) : A, D, C, B, C, E, A, D, B, C, D, E, B, A, dan A. Mahasiwa yang tidak lulus adalah mahasiswa yang nilainya di bawah C (D dan E tidak lulus). Kemudian buatlah goal untuk mencari : a. Nama mahasiswa yang mengikut mata kuliah Intelejensi Buatan. b. Nama mahasiwa yang tidak lulus. c. Nama mahasiswa yang lulus. d. Seluruh nama matakuliah yang diajarkan. e. Seluruh nama mahasiswa yang ada.

PENYELESAIAN : a. Nama mahasiswa yang mengikut mata kuliah Intelejensi Buatan.

HASIL OUTPUT :

b. Nama mahasiwa yang tidak lulus.

HASIL OUTPUT :

c. Nama mahasiswa yang lulus.

HASIL OUTPUT :

d. Seluruh nama matakuliah yang diajarkan.

HASIL OUTPUT :

e. Seluruh nama mahasiswa yang ada.

HASIL OUTPUT :

MODUL 4 UNIFIKASI DAN LACAKBALIK (UNIFICATION AND BACKTRACKING)

PERNYATAAN TUGAS :

HASIL OUTPUT :

PENJELASAN PROGRAM : Setelah program di jalankan, di awal program akan melakukan proses dari section clauses, melacak data-data orang yang telah dideklarasikan pada section clauses, yang dimana terdapat data yang terlibat dalam kasus pembunuhan tersebut.

Dari fakta yang ada, argument X merupakan argument Pembunuh. Dari argument pembunuh terdapat beberapa pernyataan persyaratan dan program akan melakukan unifikasi terhadap pernyataan tersebut.maka program akan mencari fakta orang yang mengetahui pembunuh dalam kasus tersebut. Pernyataan pertama yang di dapat adalah budi. Selanjutnya program mencari pernyataan terbunuh, maka yang ditemukan faktanya adalah siti. Dan kemudian program melakukan pencarian pada pernyataan dicurigai(X), dari pernyataan tersebut dilakukan proses pencarian menggunakan unifikasi terhadap pernyataan syarat-syarat tersebut. Kemudian program akan mencari senjata yang di pakai untuk membunuh, dengan melakukan proses di variable terbunuh_dengan. Maka fakta yang diperoleh ialah terbunuh_dengan(siti, pentungan). Setelah itu program melakukan proses pencarian fakta benda yang cara kerjanya seperti senjata, maka diperoleh cara_kerja_mirip(Benda, Senjata). Kemudian prolog memanggil pernyataan tersebut untuk mengetahui benda yang cara kerjanya mirip pentungan yang telah di eksekusi pada langkah sebelumnya. maka fakta yang didapat ialah cara_kerja_mirip(kaki_palsu, pentungan). Dan setelah itu program akan melakukan prose fakta dari variable kemungkinan_milik(X, Benda), milik (X, Benda). Dari pernyataan itu maka program mencari fakta bahwa siapa pemilik kaki palsu, dan hasilnya milik(budi, kaki_palsu). Jadi kaki_palsu itu miliknya Budi. Kemudian program menjalankan proses pernyataan dari pembunuh karena masih terdapat pernyataan yang belum dip roses, yaitu pada variable ternodai(Pembunuh, Zat). Maka dijalankanlah proses ke dalam pernyataan tersebut, yang menyangkut nama/kata budi, maka hasilnya didapat ternodai(budi, darah). Selanjuntya program melakukan proses terakhir yaitu pada ternodai(Terbunuh, Zat). Maka akan di dapat hasil ternodai(siti, darah). Dan kesimpulan dari pernyataan-pernyataan dan fakta-fakta yang telah ada, maka siti memiliki noda sama persis dengan budi. Berdasarkan kesamaan fakta-fakta tersebut, goal menampilkan bahwa budilah yang membunuh siti.

MODUL 5 DATA OBJECT SEDERHANA DAN JAMAK (SIMPLE DAN COMPOUND DATA OBJECT) LIST PROGRAM :

HASIL OUTPUT :

JAWABAN PERTANYAAN : 1. Cari Mahasiswa yang mengikuti mata kuliah Intelejensi Buatan dan tampilkan dengan menyertakan nama dosen, ruang kuliah, alamat asal mahasiswa. GOAL jenis_kuliah(kuliah("Intelejensi Buatan",Nama_dosen,Studi,Ruang)), intelejensi_buatan(ai(Nama,Jenis_kelamin,No_Mhs,Asal)).

Setelah di uji goalnya: Nama_dosen=Abdul Ruang=1, Barat Nama_dosen=Abdul Ruang=1, Kadir, Studi=Manajemen Sugondo, Informatika, Kadir, Studi=Manajemen Riyadi, Informatika, Nama=Sugeng Jenis_kelamin=pria,

No_Mhs=2002001, Asal=Jl. Sudriman No.2, Pontianak, kalimantan

Nama=Yilia

Jenis_kelamin=wanita,

No_Mhs=2002002, Asal=Jl. A. Yani No. 10, Klaten, Jawa Tengah Nama_dosen=Abdul Ruang=1, Tengah 3 Solutions Kadir, Studi=Manajemen Sejati, Informatika,

Nama=Budiman

Jenis_kelamin=pria,

No_Mhs=2002003, Asal=Jl. Slamet Riyadi No. 45, Solo, Jawa

2. Cari mata kuliah apa saja yang diajarkan pada semester tersebut dan tampilkan dengan menyertakan nama mahasiswa yang mengambil mata kuliah tersebut, ruang dan nama dosen yang mengajar. GOAL jenis_kuliah(kuliah(Mata_kuliah,Nama_dosen,_,1)), intelejensi_buatan(ai(Nama,_,No_Mhs,_)); jenis_kuliah(kuliah(Mata_kuliah,Nama_dosen,_,2)), kuliah_pde(pde(Nama,_,No_Mhs,_)); jenis_kuliah(kuliah(Mata_kuliah,Nama_dosen,_,3)), kuliah_tam(tam(Nama,_,No_Mhs,_)).

MODUL 6 PERULANGAN DAN REKURSI (REPETITION AND RECURSION)

LIST PROGRAM :

JAWABAN PERTANYAAN : 1. Gambarkan struktur pohon yang terbuat dari serangkaian karakter dari namamu!

A
2

D
4

W
5

2. Apa yang dimaksud dengan struktur data rekursif. struktur data rekursif adalah prosedur yang di dalamnya ada pemanggilan terhadap dirinya sendiri. Prosedur rekursi dapat merekam perkembangannya karena ia melewatkan (passing) pencacah, total, dan hasil sementara sebagai argumen dari satu iterasi ke iterasi berikutnya. 3. Mengapa rekursi ekor (tail recursion) lebih baik dari rekursi biasa? rekursif ekor lebih baik daripada rekursif biasa karena dalam rekursif ekor Pemanggil merupakan subgoal terakhir dari klausa tersebut dan tidak ada titik lacak balik sebelumnya pada klausa. Sehingga misalnya kita selain memanggil prosedur C, prosedur B memanggil dirinya sendiri pada langkah terakhir. Ketika prosedur B memanggil B, stack frame dari pemanggilan B akan ditimpa nilainya oleh sebuah stack frame dari pemanggil B, jadi tidak menambah stack frame baru. Hanya argumen yang perlu di-update nilainya dan kemudian proses akan melompat ke awal prosedur. Sedangkan pada rekursif biasa, ketika suatu prosedur memanggil dirinya, keadaan pemanggil prosedur dari eksekusi harus disimpan sehingga prosedur pemanggil dapat meresume keadaan tersebut setelah prosedur pemanggil selesai. Ini berarti jika ada suatu prosedur memanggil dirinya 100 kali, maka ada 100 keadaan dari eksekusi yang harus disimpan. Keadaan (state) yang disimpan tersebut dikenal dengan nama stack frame. Ukuran stack maksimum pada platform 16 bit, seperti IBM-PC dengan sistem operasi DOS, adalah 64KByte yang bisa mengandung sekitar 3000 atau 4000 stack frame. Pada paltform 32 bit, secara teoritis bisa sampai ukuran Giga Byte.

MODUL 7 LIST

PERTANYAAN/TUGAS Buat program dari narasi berikut dengan menggunakan list. Pada suatu semester di STMIK MANTAP. Ada 3 mata kuliah yang diajarkan yaitu Intelejensi Buatan, PBO dan Sistem Operasi. Yang mengikuti matakuliah Intelejensi Buatan adalah Supardi, Suradi, Suyatmi, Suparni dan Sujiman. Yang mengikuti mata kuliah PBO : Suharto, Sudirman, Supardi, Suyatmi, Sutini. Yang mengambil mata kuliah Sistem Operasi : Suharto, Sutini, Supardi, Suparni, Suripah. Tidak ada mahasiswa yang mempunyai nama yang sama. Jika ada nama yang sama mengikuti lebih dari 1 mata kuliah berarti mahasiswa tersebut memang mengikuti lebih dari 1 mata kuliah. Adapun nilai akhir dari mata kuliah tersebut (sesuai dengan urutan nama mahasiswa) adalah A, B, C, D, C, B, C, C, B, D, B, A, A, B, dan C. Buat goal untuk menampilkan: 1. Nilai-nilai yang dimiliki oleh Supardi beserta mata kuliahnya. 2. Untuk mengecek apakah Suripah mengikuti perkuliahan pada semester tersebut. 3. Mahasiswa yang tidak lulus (nilai < C) pada semester tersebut beserta mata kuliahnya.

PENYELESAIAN : 1. Nilai-nilai yang dimiliki oleh Supardi beserta mata kuliahnya.

HASIL OUTPUT :

2. Untuk mengecek apakah Suripah mengikuti perkuliahan pada semester tersebut.

HASIL OUTPUT :

3. Mahasiswa yang tidak lulus (nilai < C) pada semester tersebut beserta mata kuliahnya.

HASIL OUTPUT :

MODUL 8 SELECTION FACTS

PERTANYAAN/TUGAS Buat program seperti pada bagian pertanyaan/tugas pada modul VII, namun semua fakta (yang ada pada section clauses) tidak berada pada badan program namun berada pada file mantap.txt. Dan uji goal-goal seperti yang juga diperintahkan pada modul VII.

JAWABAN LIST PROGRAM

HASIL OUTPUT :

HASIL CETAK DI NOTEPAD

INPUT DATA PADA NOTEPAD

LIST PROGRAM YANG DIJALANKAN

HASIL OUTPUT :

Anda mungkin juga menyukai