26
|
LAPORAN PRAKTIKUM
KECERDASAN
BUATAN
DATA OBJECT SEDERHANA DAN JAMAK
(SIMPLE DAN COUMPOUND DATA OBJECT)
Disusun
Oleh :
HERI PURNAMA
125410101
TI 04
UPT LABORATORIUM
Sekolah Tinggi Manajemen Informatika dan Komputer
AKAKOM
Yogyakarta
2013
DARTAR ISI
Judul.……………………………………………………………………………………….. 01
Daftar
isi..………………………………………………………………………………… 02
Bab 1 : Pendahuluan…………………………………………………………....... 03
A.Tujuan…………………………………………………………………………….. 03
B.Dasar Teori……………………………………………………………………….. 03
Bab 2 : Hasil Praktikum………………………………………………….………… 04
Bab 3 : Analisa Hasil Praktikum……………………………………………….. 07
A.Praktikum
1……………………….……………………………………………….……… 07
B.Praktikum
2……………………………..…………………………………………………
08
C.Praktikum 3……………………..……………………………………………………….. 11
Bab 4 : Kesimpulan………………………………………………………………… 12
Bab 5 : Tugas………………………………………………………………………….. 13
Bab 1
Pendahuluan
A.Tujuan
Mahasiswa mampu :
1.
Mengerti
dan dapat mengimplementasikan data object sederhana dan jamak.
2.
Mengerti
apa yang dimaksud functor pada data object jamak.
3.
Mengerti
proses unifikasi pada data object jamak.
B.DASAR TEORI
SIMPLE DAN COUMPOUND DATA OBJECT
1)
Data Object Sederhana
Data
object sederhana terdiri dari 2 yaitu variabel atau konstanta :
·
Variabel
Variabel harus dimulai
dengan sebuah huruf kapital (A ..Z) atau sebuah underscore ( _ ). Variabel
dalam prolog bersifat lokal bukan global, oleh karena itu jika ada dua klausa
yang mengandung sebuah variabel X maka X pada kedua klausa tersebut adalah variabel yang berbeda.
·
Konstanta
Konstanta meliputi
karakter, angka, dan atom. Suatu
nilai konstanta juga merupakan nama dari konstanta tersebut. Konstanta yang dimaksud tidak sama dengan konstanta
simbolis yang ditulis di section constans pada bagian program. Yang dimaksud konstanta
disini adalah apapun yang diidentifikasikan sebagai sebuah object bukan subject
yang nilainya bisa bervariasi, seperti sebuah :
v
karakter (char),
v
angka (integer atau real),
v
atom (symbol atau string).
2)
Data Object Jamak
Data object jamak memperlakukan beberapa informasi sebagai sebuah item
tunggal. Contohnya : tanggal 1 Desember 1993 memiliki 3 informasi yaitu ; hari, bulan, dan
tahun.
3)
Deklarasi Domain-Campuran Jamak (Compound Mix-Domain)
Deklarasi Domain-Campuran Jamak bermaksud :
a)
Memilikisebuah
argumen dengan kemungkinan lebih dari satu tipe argumen,
b)
Memiliki
beberapa macam argumen, masing-masing dengan tipe yang berbeda,
c)
Memiliki
beberapa macam argumen, beberapa diantaranya dengan kemungkinan lebih dari satu
tipe argumen.
Agar
suatu predikat Visual Prolog dapat menerima suatu argumen yang memberikan
informasi dengan tipe yang berbeda maka functor tersebut harus dideklarasikan.
Contoh berikut memperlihatkan klausa umur yang dapat menerima suatu argumen
usia
dengan tipe yang berbeda yaitu string, real atau integer.
Bab 2
Hasil
Praktikum
Heri Purnama
125410101
A).Praktikum 01
Listing
DOMAINS
benda
= buku(judul,pengarang);
kuda(nama); kapal;
bukubank(saldo)
judul,pengarang,nama
= symbol
saldo
= real
PREDICATES
nondeterm
milik(nama,benda)
CLAUSES
milik(erwin, buku("Markesot
Bertutur","Emha Ainun Najib")).
milik(erwin,kuda(buraq)).
milik(erwin,kapal).
milik(erwin,bukubank(1000)).
GOAL
milik(erwin,Benda).
|
Running
B).Praktikum 02
LISTING
DOMAINS
nama =
orang(symbol,symbol) /* (Pertama , Kedua) */
hari_lahir =
tanggal_lahir(integer,symbol,integer) /* (Hari, Bulan, Tahun) */
telepon =
symbol /* Nomor telepon */
PREDICATES
nondeterm
daftar_telepon(nama,symbol,hari_lahir)
yang_ulang_tahun_bulan_ini
konversi_bulan(symbol,integer)
cek_bulan_ulang_tahun(integer,hari_lahir)
cetak_orang(nama)
CLAUSES
yang_ulang_tahun_bulan_ini:-
write("****
Daftar Orang Yang Ulang Tahun Bulan Ini ****"),nl,
write("
Nama Pertama\t\t Nama Kedua\n"),
write("******************************************************"),nl,
date(_,
Bulan_ini, _), /* Ambil bulan pada
sistem komputer */
daftar_telepon(Orang,
_, Tanggal),
cek_bulan_ulang_tahun(Bulan_ini,
Tanggal),
cetak_orang(Orang),
fail.
yang_ulang_tahun_bulan_ini:-
write("\n\n
Tekan sembarang tombol..."),nl,
readchar(_).
cetak_orang(orang(Pertama,Kedua)):-
write(" ",Pertama,"\t\t\t ",Kedua),nl.
cek_bulan_ulang_tahun(Bul,tanggal_lahir(_,Bulan,_)):-
konversi_bulan(Bulan,Bulan1),
Bul = Bulan1.
daftar_telepon(orang(erwin,effendy),"767-8463",tanggal_lahir(3,jan,1955)).
daftar_telepon(orang(pramudya,kurniawan),"438-8400",tanggal_lahir(5,feb,1985)).
daftar_telepon(orang(kusdiar,prihatin),"555-5653",tanggal_lahir(3,mar,
1935)).
daftar_telepon(orang(ui,yansen),"767-2223",tanggal_lahir(29,apr,1951)).
daftar_telepon(orang(roland,hutagalung),"555-1212",tanggal_lahir(12,may,1962)).
daftar_telepon(orang(andi,nuruddin),"438-8400",tanggal_lahir(17,jun,1980)).
daftar_telepon(orang(syarif,musadek),"767-8463",tanggal_lahir(20,jun,1986)).
daftar_telepon(orang(lidya,widyawati),"555-5653",tanggal_lahir(16,jul,1981)).
daftar_telepon(orang(yusida,andriani),"767-2223",tanggal_lahir(10,aug,1981)).
daftar_telepon(orang(slamet,riyadi),"438-8400",tanggal_lahir(25,sep,1981)).
daftar_telepon(orang(nur,harjanto),"438-8400",tanggal_lahir(20,oct,1952)).
daftar_telepon(orang(dian,marlini),"555-1212",tanggal_lahir(9,nov,1984)).
daftar_telepon(orang(teguh,heni),"767-2223",tanggal_lahir(15,nov,1987)).
daftar_telepon(orang(eka,ardiyanti),"438-8400",tanggal_lahir(31,dec,1981)).
konversi_bulan(jan, 1).
konversi_bulan(feb, 2).
konversi_bulan(mar, 3).
konversi_bulan(apr, 4).
konversi_bulan(may, 5).
konversi_bulan(jun, 6).
konversi_bulan(jul, 7).
konversi_bulan(aug, 8).
konversi_bulan(sep, 9).
konversi_bulan(oct, 10).
konversi_bulan(nov, 11).
konversi_bulan(dec, 12).
GOAL
yang_ulang_tahun_bulan_ini.
|
RUNNING
C).Praktikum 03
Ø Menambah beberapa klause daftar_telepon untuk orang yang bernama
“yayak”,”mukti”,”herii”,”desi” dan pada
predikat tanggal_lahir sesuai
dengan waktu praktikum.
Listing
daftar_telepon(orang(yayak,mukti),"541-44400",tanggal_lahir(20,nov,1955)).
daftar_telepon(orang(herii,desi),"4445-14542",tanggal_lahir(15,nov,1986)).
|
Running
Bab 3
Analisa Hasil Praktikum
A).Praktikum 01
Listing
DOMAINS
benda
= buku(judul,pengarang);
kuda(nama); kapal;
bukubank(saldo)
judul,pengarang,nama
= symbol
saldo
= real
Ø Pada
Section DOMAINS digunakan untuk mendeklarasikan objek yang diperlukan
dalam suatu data, yaitu :
1.
Domain “benda”menggunakakan object jamak yang mana
memiliki beberapa object yaitu:
a)
Object buku dengan 2 argumen yakni argument
judul dan pegarang
b)
Object kuda dengan 1 argumen yakni nama
c)
Object kapal dengan tanpa argument
d)
Object bukubank dengan argument yakni saldo.
2.
Domain “judul,pengarang,nama”
menggunakan data object jamak dengan
konstanta atom yakni “(symbol)”,konstanta atom itu bisa simbol atau
string , lalu pada data object ini menggunakan data object
jamak, karena untuk menuliskan 3 jenis informasi seperti
: judul,pengarang , serta nama.
3.
Domain “saldo”menggunakan
data object sederhana
karena dengan konstanta,konstanata disisni adalah objek saldo.Objek ini
bertipe angka yakni real.
PREDICATES
nondeterm
milik(nama,benda)
Ø Pada
Section PREDIKAT digunakan untuk mendeklarasikan
perintah-perintah yang nanti akan digunakan
dalam section Clauses, seperti :
1.
Predikat milik mempunyai 2 argumen yakni nama dan benda yang
mana dari predikat tersebut pada awal predikat diberi kata nondeterm.nondeterm disisini
digunakan untuk memberitahukan kepada prolog bahwa predikat milik memiliki
lebih dari 1 kemungkinan jawaban.
CLAUSES
milik(erwin, buku("Markesot
Bertutur","Emha Ainun Najib")).
milik(erwin,kuda(buraq)).
milik(erwin,kapal).
milik(erwin,bukubank(1000)).
Ø Pada
Section CLAUSES digunakan untuk
mendeklarasikan aturan dan fakta. Aturan merupakan suatu konklusi diketahui
benar jika satu atau lebih konklusi atau fakta lain ditemukan benar.
Ø Simbol (
:- ) dapat dibaca dengan “jika”, simbol ( , ) dapat dibaca dengan “dan” dan pada akhir bagian clauses ini harus diakhiri
tanda titik (.)
Ø Pada
section CLAUSES ini prolog akan melakukan perintah-perintah yang
digunakan untuk mencari GOAL.
Ø Pada
clause ini ada tiga clausa yaitu
1.
Milik
yang mana mempunyai fakta bahwa object “Erwin” memiliki buku “markesot
bertutur”dengan nama pengarang Emha Ainun Najib.
2.
Milik
yang mana memiliki fakta bahwa object “erwin” memiliki kuda dengan nama
“buraq”.
3.
Milik
yang mana memeiliki kapal
4.
Milik
mempunyai fakta bahwa Erwin memiliki bukubank dengan nilai saldo “1000”.
GOAL
milik(erwin,Benda).
Ø Pada
Section GOAL ini diggunakan untuk memanggil data atau fakta bahwa Benda apakah yang
dipunyai erwin,yang manasudah diseklarasikan dengan perintah diatas.
|
Running
Ø Dari
hasil GOAL yang telah dituliskan diatas ternyata Erwin mempunyai semua benda
yang telah dideklarasikan diatas.
B).Praktikum 02
LISTING
DOMAINS
nama =
orang(symbol,symbol) /* (Pertama , Kedua) */
hari_lahir =
tanggal_lahir(integer,symbol,integer) /* (Hari, Bulan, Tahun) */
telepon =
symbol /* Nomor telepon */
Ø Pada
Section DOMAINS digunakan untuk mendeklarasikan objek yang diperlukan
dalam suatu data, yaitu :
1.
Domain “nama”menggunakan data object jamak dengan konstanta atom yakni “(symbol,symbol)”, pada data
object ini menggunakan data object jamak, karena untuk menuliskan 2 jenis
informasi orang yakni untuk orang pertama dan orang kedua.
2.
Domain “hari_lahir”menggunakan data object jamak campuran dengan konstanta angka dan symbol,konstanta atom itu bisa simbol atau string , sedangkan konstanta angka bias real atu
integer.lalu pada data object ini menggunakan data object jamak campuran,
karena untuk menuliskan 3 jenis informasi yakni hari,bulan,tahun yang mana
untuk hari dan tahun dengan tipe integer dan bulan dengan tipe string.
3.
Domain “telepon”menggunakan
data object sederhana
dengan konstanta atom yakni “(symbol)”,pada data
object ini menggunakan data object sederhana dengan tipe datanya adalah symbol.
PREDICATES
nondeterm
daftar_telepon(nama,symbol,hari_lahir)
yang_ulang_tahun_bulan_ini
konversi_bulan(symbol,integer)
cek_bulan_ulang_tahun(integer,hari_lahir)
cetak_orang(nama)
Ø Pada
Section PREDICATES digunakan untuk
mendeklarasikan perintah-perintah yang nanti akan digunakan dalam section Clauses yaitu :
1.
Daftar_telepon mempunyai tiga argument yakni
nama,symbol dan hari_lahir.Kata Nondeterm
memberitahukan kedapa prolog bahwa predikat mahasiswa memiliki lebih dari 1
kemungkinan jawaban.
2.
yang_ulang_tahun_bulan_ini tidak
mempunyai argument.
3.
konversi_bulan mempunyai
2 argumen dengan tipe symbol dan integer.
4.
cek_bulan_ulang_tahun
mempunyai 2 argumen yang pertama bertipe
integer dan yang kedua adalah argument hari_lahir yang mana tipe datanya
telah dideklarasikan pada seksion domain.
5.
cetak_orang mempunyai
1 argumen yakni nama,yang mana nama dengan tipe data yang telah didefinisikan
pada seksi domains.
CLAUSES
yang_ulang_tahun_bulan_ini:-
write("****
Daftar Orang Yang Ulang Tahun Bulan Ini ****"),nl,
write("
Nama Pertama\t\t Nama Kedua\n"),
write("******************************************************"),nl,
date(_,
Bulan_ini, _), /* Ambil bulan pada
sistem komputer */
daftar_telepon(Orang,
_, Tanggal),
cek_bulan_ulang_tahun(Bulan_ini,
Tanggal),
cetak_orang(Orang),
fail.
yang_ulang_tahun_bulan_ini:-
write("\n\n
Tekan sembarang tombol..."),nl,
readchar(_).
cetak_orang(orang(Pertama,Kedua)):-
write(" ",Pertama,"\t\t\t ",Kedua),nl.
cek_bulan_ulang_tahun(Bul,tanggal_lahir(_,Bulan,_)):-
konversi_bulan(Bulan,Bulan1),
Bul =
Bulan1.
Ø Pada
Section CLAUSES
Digunakan
untuk mendeklarasikan aturan dan fakta. Aturan merupakan suatu konklusi
diketahui benar jika satu atau lebih konklusi atau fakta lain ditemukan
benar.
Ø Simbol (
:- ) dapat dibaca dengan “jika”, simbol ( , ) dapat dibaca dengan “dan” dan pada akhir bagian clauses ini harus diakhiri
tanda titik (.) .
Ø Pada
section CLAUSES ini prolog akan melakukan perintah-perintah yang
digunakan untuk mencari GOAL.
Ø Perintah write digunakan untuk menulis didalam GOAL secara langsung tanpa melalui seleksi.
Ø date(_, Bulan_ini, _),
perintah ini digunakan untuk menggambil data bulan pada system
komputer yang digunakan.
Ø cek_bulan_ulang_tahun(Bulan_ini, Tanggal) perintah ini digunakan untuk mengecek ulang tahun pada
data yang berada pada tanggal dan bulan ini.
Ø cetak_orang(Orang),perintah ini digunakan untuk
mencetak data orang yang telah ada pada data komputer.
Ø fail. Perintah
ini digunakan untuk memaksa kegagalan sehingga memicu terjadinya
lacakbalik.
Ø yang_ulang_tahun_bulan_ini:-
write("\n\n
Tekan sembarang tombol..."),nl,
readchar(_).
·
Perintah
diatas digunakan untuk mendeklarasikan siapa saja orang yang ulang tahun pada bulan ini.
Ø
cetak_orang(orang(Pertama,Kedua)):-
write(" ",Pertama,"\t\t\t ",Kedua),nl.
·
Perintah ini digunakan untuk menampilkan
oaring yang ulang tahun pada bulan ini yakni orang pertama dan orang kedua.
Ø cek_bulan_ulang_tahun(Bul,tanggal_lahir(_,Bulan,_)):-
konversi_bulan(Bulan,Bulan1),
Bul = Bulan1.
·
Perintah ini digunakkan untuk daftar orang
yang ada dalam computer terhadap bulan yang telah di setting pada
computer,lalu melakukan konversi bulan dan melakukan persamaaan antara objek bul dengan bul1.
daftar_telepon(orang(erwin,effendy),"767-8463",tanggal_lahir(3,jan,1955)).
daftar_telepon(orang(pramudya,kurniawan),"438-8400",tanggal_lahir(5,feb,1985)).
daftar_telepon(orang(kusdiar,prihatin),"555-5653",tanggal_lahir(3,mar,
1935)).
daftar_telepon(orang(ui,yansen),"767-2223",tanggal_lahir(29,apr,1951)).
daftar_telepon(orang(roland,hutagalung),"555-1212",tanggal_lahir(12,may,1962)).
daftar_telepon(orang(andi,nuruddin),"438-8400",tanggal_lahir(17,jun,1980)).
daftar_telepon(orang(syarif,musadek),"767-8463",tanggal_lahir(20,jun,1986)).
daftar_telepon(orang(lidya,widyawati),"555-5653",tanggal_lahir(16,jul,1981)).
daftar_telepon(orang(yusida,andriani),"767-2223",tanggal_lahir(10,aug,1981)).
daftar_telepon(orang(slamet,riyadi),"438-8400",tanggal_lahir(25,sep,1981)).
daftar_telepon(orang(nur,harjanto),"438-8400",tanggal_lahir(20,oct,1952)).
daftar_telepon(orang(dian,marlini),"555-1212",tanggal_lahir(9,nov,1984)).
daftar_telepon(orang(teguh,heni),"767-2223",tanggal_lahir(15,nov,1987)).
daftar_telepon(orang(eka,ardiyanti),"438-8400",tanggal_lahir(31,dec,1981)).
Ø
Baris-baris
perintah diatas adalah baris-baris yang digunakan untuk mengisi fakta-fakta
yang ada,yang mana data tersebut akan dimasukkan pada variabel
daftar_telepon,dan mempunyai susunan
(orang(1,2),nomor_telepon,tanggal_lahir(tanggal,bulan,tahun)).
konversi_bulan(jan,
1).
konversi_bulan(feb, 2).
konversi_bulan(mar, 3).
konversi_bulan(apr, 4).
konversi_bulan(may, 5).
konversi_bulan(jun, 6).
konversi_bulan(jul, 7).
konversi_bulan(aug, 8).
konversi_bulan(sep, 9).
konversi_bulan(oct, 10).
konversi_bulan(nov, 11).
konversi_bulan(dec, 12).
Ø Perintah diatas adalah perintah yang digunakan untuk
memberi tahu visual rolog bahwa konversi_bulan mempunyai struktur seperti terlihat diatas dari
bulan januari sampai desember.
GOAL
yang_ulang_tahun_bulan_ini.
Ø Pada
Section GOAL ini digunakan untuk memanggil data atau fakta dari yang_ulang_tahun_bulan_ini,
dimana sudah
dideklarasikan
dengan perintah diatas.
|
RUNNING
Ø
Dari hasil running diatas terlihat bahwa nama
yang ulang tahun pada bulan ini adalah orang pertama adalah dian dan teguh dan
orang kedua adalah marlini dan heni.
C).Praktikum 03
Ø Menambah beberapa klause daftar_telepon untuk orang yang bernama
“yayak”,”mukti”,”herii”,”desi” dan pada
predikat tanggal_lahir sesuai
dengan waktu praktikum.
Listing
daftar_telepon(orang(yayak,mukti),"541-44400",tanggal_lahir(20,nov,1955)).
daftar_telepon(orang(herii,desi),"4445-14542",tanggal_lahir(15,nov,1986)).
|
Ø Pada
praktikum yang kedua ini cukup menambah data yang tertera diatas pada clause
dibagian baris daftar_telepon.
Running
Ø Dari hasil
goal diatas setelah ditambahkan daftar nama orang baru ,maka tampilannya akan
berubah sesuai yang ada dilayar tersebut yakni nama keempat orang tersebut akan
ikut tampil dibawahnya.
Bab 4
Kesimpulan
Dari Program yang dijalan dalam Visual Prolog diatas saya dapat
menggambil kesimpulan bahwa:
1.
Pada data object sederhana terdiri dari :
a)
Variabel,variabel harus dimulai dengan sebuah
huruf kapital (A ..Z) atau sebuah underscore ( _ ).
b)
Konstanta ,nilai konstanta juga merupakan nama
dari konstanta tersebut.konstanta diidentifikasikan sebagai sebuah object bukan
subject .NIlainyapun bervariasi, seperti:
v
karakter (char),
v
angka (integer atau real),
v
atom (symbol atau string).
2.
Pada Data Object
Jamak
Data object
jamak memperlakukan beberapa informasi sebagai sebuah item tunggal. Contohnya :
tanggal 1 Desember 1993
memiliki 3 informasi yaitu ; hari, bulan, dan tahun.
3.
Pada Deklarasi
Domain-Campuran Jamak
Deklarasi Domain-Campuran Jamak mempunyai cirri-ciri:
a)
Memilikisebuah
argumen dengan kemungkinan lebih dari satu tipe argumen,
b)
Memiliki
beberapa macam argumen, masing-masing dengan tipe yang berbeda,
c)
Memiliki
beberapa macam argumen, beberapa diantaranya dengan kemungkinan lebih dari satu
tipe argumen.
Bab 5
TUGAS
1.
Cari Mahasiswa yang mengikuti mata kuliah
“Intelegensi Buatan” dan tampilkan dengan menyertakan nama dosen, ruang kuliah,
alamat asal mahasiswa.
LISTING PROGRAM
DOMAINS
alamat_asal = alamat(symbol,symbol,symbol)
nama_matkul,nama_dosen,program_studi,ruang = symbol
nama_mhs,jenis_kelamin,nim,kelompok_jk = symbol
PREDICATES
nondeterm
mhs(nama_matkul,nama_mhs,jenis_kelamin,nim,alamat_asal)
nondeterm mhs_mengikuti_matkul_intelegensi_buatan
cetak_mhs(nama_mhs,nama_dosen,ruang,alamat_asal)
nondeterm
matkul(nama_matkul,nama_dosen,program_studi,ruang)
nondeterm
matkul_yang_diajarkan_pada_semester_tersebut(nama_matkul,nama_mhs,ruang,nama_dosen)
CLAUSES
mhs_mengikuti_matkul_intelegensi_buatan:-
write("\t************* MAHASISWA YANG MENGIKUTI MATAKULIAH
INTELEGENSI BUATAN
*************"),nl,
write("\n"),
write("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"),nl,
write("NIM\t\t Nama Mahasiswa\t\tNama
Dosen\tRuang\t\tAlamat\n"),
write("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"),nl,
mhs("Intelegensi Buatan",_,_,_,_),
cetak_mhs(nama_mhs,nama_dosen,ruang,alamat(symbol,symbol,symbol)).
mhs_mengikuti_matkul_intelegensi_buatan:-
readchar(_).
cetak_mhs(nama_mhs,nama_dosen,ruang,alamat(symbol,symbol,symbol)):-
write("2002001","\t\t
","Sugeng Riyadi","\t\t ","Abdul Kadir","\t
","1","\t ","Jl. Sudirman No.
2","\tPontianak",",Kalimantan Barat"),nl,
write("2002002","\t\t
","Yulia Sugondo","\t\t ","Abdul
Kadir","\t ","1","\t ","Jl. A. Yani
No. 10","\tKlaten",",Jawa Tengah"),nl,
write("2002003","\t\t
","Budiman Sejati","\t\t ","Abdul
Kadir","\t ","1","\t ","Jl. Slamet Riyadi No. 45","
Solo",",Jawa Tengah"),nl.
matkul_yang_diajarkan_pada_semester_tersebut("Intelegensi
Buatan","Sugeng Riyadi","1","Abdul
Kadir").
matkul_yang_diajarkan_pada_semester_tersebut("Intelegensi
Buatan","Yulia Sugondo","1","Abdul
Kadir").
matkul_yang_diajarkan_pada_semester_tersebut("Intelegensi
Buatan","Budiman Sejati","1","Abdul
Kadir").
matkul_yang_diajarkan_pada_semester_tersebut("PDE","Laksamana
Sukardi","2","Indra Yatini").
matkul_yang_diajarkan_pada_semester_tersebut("PDE","Rini
Suwandi","2","Indra Yatini").
matkul_yang_diajarkan_pada_semester_tersebut("PDE","Kwik
Kian Gie","2","Indra Yatini").
matkul_yang_diajarkan_pada_semester_tersebut("Teknik
Antar Muka","Riri Reza","3","Sigit
Anggoro").
matkul_yang_diajarkan_pada_semester_tersebut("Teknik
Antar Muka","Rachel Maryam","3","Sigit
Anggoro").
matkul_yang_diajarkan_pada_semester_tersebut("Teknik
Antar Muka","Garin Nugroho","3","Sigit
Anggoro").
mhs("Intelegensi Buatan","Sugeng
Riyadi",lakilaki,"2002001",alamat("Jl. Sudirman No.
2","Pontianak",",Kalimantan Barat")).
mhs("Intelegensi Buatan","Yulia
Sugondo",perempuan,"2002002",alamat("Jl. A. Yani No.
10","Klaten",",Jawa Tengah")).
mhs("Intelegensi Buatan","Budiman
Sejati",lakilaki,"2002003",alamat("Jl. Slamet Riyadi No.
45","Solo",",Jawa Tengah")).
mhs("PDE","Laksamana
Sukardi",lakilaki,"2002004",alamat("Jl. MT. Haryono No.
10","Palembang",",Sumatera Selatan")).
mhs("PDE","Rini
Suwandi",perempuan,"2002005",alamat("Jl. Letjen Suprapto No. 12","Surabaya",",Jawa
Timur")).
mhs("PDE","Kwik Kian
Gie",lakilaki,"2002006",alamat("Jl. WR Supratman No.
100","Makasar",",Sulawesi Selatan")).
mhs("Teknik Antar Muka","Riri
Reza",lakilaki,"2002007",alamat("Jl. RW Monginsidi No.
30","Purwokerto",",Jawa Tengah")).
mhs("Teknik Antar Muka","Rachel
Maryam",perempuan,"2002008",alamat("Jl. Otista No.
112","Bandung",",Jawa Barat")).
mhs("Teknik Antar Muka","Garin
Nugroho",lakilaki,"2002009",alamat("Jl. Tanjung Pura No.
101","Jaya Pura",",Papua")).
matkul("Intelegensi Buatan","Abdul
Kadir","Manajemen Informatika","1").
matkul("PDE","Indra
Yatini","Teknik Informatika","2").
matkul("Teknik Antar Muka","Sigit
Anggoro","Teknik Komputer","3").
GOAL
mhs_mengikuti_matkul_intelegensi_buatan.
|
RUNNING PROGRAM
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.
Cukup mengganti GOAL dengan:
LISTING PROGRAM:
GOAL
matkul_yang_diajarkan_pada_semester_tersebut(NamaMatkul,NamaMhs,Ruang,NamaDosen).
|
RUNNING PROGRAM:
3.
Menampilkan data berdasarkan jenis kelamin.
a)
Berdasarkan jenis kelamin lakilaki
Cukup
dengan mengganti GOAL dengan sintak
berikut ini:
LISTING
PROGRAM:
GOAL
mhs(Matkul,NamaMhs,"lakilaki",_,_).
|
RUNNING
PROGRAM:
b)
Berdasarkan jenis kelamin perempuan.
Cukup
dengan mengganti GOAL dengan sintak
berikut ini:
LISTING
PROGRAM:
GOAL
mhs(Matkul,NamaMhs,"perempuan",_,_).
|
RUNNING
PROGRAM:
0 komentar:
Post a Comment
Thanks For Your Feedback.