BAB 5 BASIS DATA DALAM PROLOG

dokumen-dokumen yang mirip
BAB 4 SUSUNAN, OPERATOR DAN ARITMATIKAA

BAB 2 SINTAKs DAN LOGIKA PROLOG

BAB 1 PENGENALAN BAHASA PROLOG

BAB 4 SENARAI, OPERATOR DAN ARITMETIK. Pengenalan. Objektif. 4.1 Perwakilan Senarai. TS Sistem Cerdas

BAB 3 MENGGUNAKAN PROGRAM PROLOG

BAB 1 PENGENALAN KEPADA PROLOG

BAB 2 SINTAK DAN SEMANTIK PROLOG

PEMBERDAYAAN ENERGI MATAHARI SEBAGAI ENERGI LISTRIK LAMPU PENGATUR LALU LINTAS

BAB II LANDASAN TEORI

Antiremed Kelas 11 Fisika

Sistem Bahan Bakar. Sistem Bahan Bakar

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

BISNIS SALON KENDARAAN

Cara Kerja Mobil Hybrid

BAB I PENDAHULUAN 1.1. Latar Belakang

Tools Pembangun Sistem Pakar

III. METODE PENELITIAN. Adapun alat-alat dan bahan yang digunakan didalam penelitian ini adalah:

Untuk terang ke 3 maka Maka diperoleh : adalah

Pendahuluan Motor Diesel Tujuan Rudolf Diesel Kesulitan Rudolf Diesel

BAB II KAJIAN PUSTAKA

DESIGN BASIS DATA SECARA FISIK

BAB III ANALISA PERHITUNGAN GAYA PADA MOTOR HONDA ASTREA GRAND YANG DIKOMBINASI DENGAN MOTOR LISTRIK

BAB II DASAR TEORI. terbagi atas beberapa tahap yaitu: perancangan basis data secara konseptual, logis dan fisis.

PETUNJUK LAPANGAN. Oleh : M Mundir BP3K Nglegok

Pohon. Modul 4 PENDAHULUAN. alam modul-modul sebelumnya Anda telah mempelajari graph terhubung tanpa sikel, misalnya model graph untuk molekul C 4

BAB III ANALISA DAN DESAIN SISTEM

Jurnal FEMA, Volume 2, Nomor 1, Januari 2014

Teknik Informatika POLITEKNIK NEGERI TANAH LAUT BY: VJ REFERENSI: UNIV TRUNOJOYO & PTIIK

BAB III METODOLOGI PENELITIAN. Studi Pustaka. Persiapan Dan Pengesetan Mesin. Kondisi Baik. Persiapan Pengujian. Pemasangan Alat Ukur

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

Pengaruh Penggunaan Busi Terhadap Prestasi Genset Motor Bensin

TREE STRUCTURE (Struktur Pohon)

MODUL PRAKTIKUM I PEMOGRAMAN BERORIENTASI OBJEK DENGAN PHP

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

RANCANG BANGUN SIMULASI SAFETY STARTING SYSTEM PADA MOBIL L300 ABSTRAK

GERAK, GAYA, DAN ENERGI

BAB III PROSEDUR PENGUJIAN

1. Masuk ke dalam file explorer atau file commander pada smartphone. 2. Cari file Mojo.apk kemudian pilih file Mojo.apk.

Bab. KPK dan FPB. SUmber buku: bse.kemdikbud.go.id

Kode MK/ Nama MK. Cakupan 8/29/2014. Himpunan. Relasi dan fungsi Kombinatorial. Teori graf. Pohon (Tree) dan pewarnaan graf. Matematika Diskrit

Modul MS Access 1: Pengenalan. 1.0 Mengenal pasti kegunaan perisian pangkalan data dalam menghasilkan bank data dan bank maklumat dalam pendidikan.

BAB I PENDAHULUAN. sebuah motor atau mesin lainnya. Alat ini biasanya menampilkan revolutions per

A. Kamar Mandi Umum. Time Limit : 1 detik

KPK dan FPB (1)_soal Kelas 6 SD. 1. Kelipatan persekutuan terkecil dari 52 dan 98 adalah... A B C D.

Dasar Logika Matematika

Database bisa dikatakan sebagai suatu kumpulan dari data yang tersimpan dan diatur atau

MODIFIKASI MESIN MOTOR BENSIN 4 TAK TIPE 5K 1486 cc MENJADI BAHAN BAKAR LPG. Oleh : Hari Budianto

PENGENALAN BAHASA C. Praktikum 3

BAB III ANALISIS DAN PERANCANGAN

KUESIONER KENYAMANAN PENGGUNA

POHON CARI BINER (Binary Search Tree)

ANALISIS KEMAMPUAN PENGETAHUAN KONSEPTUAL DAN PROSEDURAL SISWA SD DALAM POKOK BAHASAN PECAHAN

BAHAN AJAR PENERAPAN HUKUM KEKEKALAN ENERGI MEKANIK DALAM KEHIDUPAN SEHARI-HARI

Himpunan (set) Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Konsep. Bahasa Pemrograman. Evangs Mailoa. Pertemuan 7

UNIVERSITI SAINS MALAYSIA. Peperiksaan Kursus Semasa Cuti Panjang Sidang Akademik 1999/2000. April CAT101/CSC111 - Struktur Diskret

MAKALAH PERANCANGAN BASIS DATA MODEL DATA. Disusun oleh: Ainun Aisyiyah Iman Safuad Ismi Fadhilah

BAB 3 METODOLOGI PENELITIAN

Soal Ujian Nasional (UN) Matematika SD/Madrasah

MODEL ARUS JARINGAN. Pertemuan 9

III. JENIS TERNAK/UNGGAS YANG DIUSAHAKAN SERTA HASILNYA SELAMA SETAHUN YANG LALU

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA DAN PERANCANGAN

SELAMAT ATAS PILIHAN ANDA MENGGUNAKAN SETERIKA DOMO

BAB III METODOLOGI. Genset 1100 watt berbahan bakar gas antara lain. 2 perangkat berbeda yaitu engine dan generator atau altenator.

Hukum Ohm dan Rangkaian Listrik Seri. PENILAIAN KINERJA PERCOBAAN (Keterampilan Berpikir Kritis)

Program Studi Teknik Informatika Nama : Sekolah Teknik Elektro dan Informatika NIM :

File yang berisi koleksi program yang dapat dieksekusi

UTILITAS BANGUNAN. Tjahyani Busono

BAB ANGAN. Tujuan Pembelajaran. Pernahkan kamu bermain ular tangga? Ada angka 1, 2, 3 dan seterusnya. Termasuk bilangan apa angka di ular tangga?

BAB IV ANALISIS HASIL PENELITIAN DAN PEMBAHASAN

BAB III ANALISA DAN DESAIN SISTEM

BAB IV PERANCANGAN SISTEM

04/11/2012. Perangkat Keras (Hardware). Perangkat Lunak (Software) Manusia(Brainware).

Entity Relationship Diagram

TEKNOLOGI MAKLUMAT DAN KOMUNIKASI

Pendahuluan. Bab I Logika Manusia

BAB IV PERANCANGAN SISTEM

Kode Dokumen : Revisi : Tanggal : 25 Oktober Yeni Sumantri, S.Si., MT., Ph.D. Arif Rahman, ST., MT. : Ketua Jurusan Teknik Industri FTUB

programming Proses perancangan, penulisan, pengujian,

TIPS AGAR BATERAI HANDPHONE BERUMUR PANJANG

ALGORITMA C4.5. Algoritma C4.5 merupakan algoritma yang digunakan untuk membentuk pohon keputusan. Tabel 3.1. Keputusan Bermain Tenis

Proteksi Bahaya Kebakaran Kebakaran Kuliah 11

Lampiran 1 :KUESIONER PENELITIAN. Kami adalah mahasiswa jurusan manajemen Universitas Bina Nusantara yang sedang

Dua bagian dasar sistem kecerdasan buatan (menurut Turban) : dalam domain yang dipilih dan hubungan diantara domain-domain tersebut

BAB III ANALISIS DAN PERANCANGAN

PEMROGRAMAN BAHASA C BAB II 2.1 STRUKTUR BAHASA C

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

Induksi Matematika. Metode pembuktian untuk pernyataan perihal bilangan bulat adalah induksi matematik.

Penerapan Logika Fuzzy

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Berilah tanda silang (X) pada jawaban yang tepat!

BAB III METODOLOGI PENELITIAN. bahan dan alat uji yang digunakan untuk pengumpulan data, pengujian, diagram

Transkripsi:

BAB 5 BASIS DATA DALAM PROLOG 5.1 Pengenalan Seperti yang telah diterangkan dalam bab sebelumnya, program Prolog secara konseptual merupakan penerangan bagi suatu dunia seperti dunia Aliya dan Hassan. adi dari pandangan ini, program Prolog bisa dilihat sebagai satu basis data. Secara prakteknya, perkataan basis data ini dibentuk dalam bentuk program yang mengandung banyak fakta dan banyak peraturan. Fakta mewakili data eksplisit sedangkan peraturana mengandung informasi implisit. Terdapat empat cara untuk mengorganisasikan basis data dalam Prolog. Pertama, basis data sebagai satu set catatan. Kedua, basis data sebagai satu set atribut. Ketiga, basis data sebagai satu set koleksi susunan catatan dan keempat basis data sebagai satu koleksi pohon binary terbagi. Namun begitu, dalam bab ini hanya basis data pertama, kedua dan ketiga saja yang akan dibahas serta predikat yang akan digunakan dalam memanipulasi data. 5.2 Tujuan Di akhir bab ini diharapkan anda dapat: 1. Mempelajari konsep basis data sebagai satu set catatan. 2. Mempelajari konsep basis data sebagai satu set atribut. 3. Mempelajari konsep basis data sebagai set koleksi susunan catatan. 4. Mempelajari predikat yang bisa digunakan untuk memanipulasi basis data. 5.3 Basis data Sebagai Satu Set Catatan Cara pertama ini menggunakan satu set fakta dengan setiap fakta mewakili satu catatan data. Contohnya: %PENYUPLAI(NOMOR_PENYUPLAI,NAMA_PENYUPLAI, KOTA) penyuplai(10, johan, bandung). penyuplai(20, amin,jakarta). penyuplai(25, kamal, medan). Munir: Basis data dalam Prolog 40

%PRODUK(KODE_BARANG, NAMA_BARANG, HARGA). produk(a11, sabun, 100). produk(b22, beras, 400). produk(c33, minyak, 500). %PENYUPLAI_PRODUK(NOMOR_PENYUPLAI,KODE_BARANG, %KUANTITAS) penyuplai_produk(10,a11,200). penyuplai_produk(20,a11,30). penyuplai_produk(20,b22,300). penyuplai_produk(25,c33,30). Berdasarkan pada fakta di atas, pelajar bisa mengemukakan beberapa pertanyaan seperti: (1) Nama dan kota penyuplai dengan NOMOR_PENYUPLAI = 10.?- penyuplai(10,nama_penyuplai,x,y). X=johan Y=bandung (2) Siapakah penyuplai yaitu NOMOR_PENYUPLAI yang menyuplaikan produk dengan KODE_PRODUK = a10.?-penyuplai_produk(x,a10, _). X=10; X=20 Dari fakta di atas juga, beberapa informasi baru bisa dikelolakan. contohnya: (1) Nama penyuplai yang menyuplai satu-satu jenis produk. nama_penyuplai(nama_barang, NAMA_PENYUPLAI):- penyuplai_produk(nomor_penyuplai,kode_barang,_), penyuplai(nomor_penyuplai,nama_penyuplai, _). (2) Hubungan di antara produk dan kota. kota_produk(nama_barang, KOTA):- produk(kode_barang, NAMA_BARANG, _), penyuplai_produk(nomor_penyuplai, KODE_BARANG, _), penyuplai(nomor_penyuplai, _,KOTA).?- kota_produk(beras, KOTA). Munir: Basis data dalam Prolog 41

KOTA = jakarta. 5.4 Basis data Sebagai Satu Set Atribut Cara kedua ini menggunakan satu set fakta dengan setiap fakta mewakili satu atribut. Contohnya: nama_penyuplai(10, johan). nama_penyuplai(20, amin). nama_penyuplai(25,kamal). kota_penyuplai(10,bandung). kota_penyuplai(20,jakarta). kota_penyuplai(25,medan) nama_produk(a11,sabun). nama_produk(b22,beras). nama_produk(c33,minyak). harga_produk(a11,100). harga_produk(b22,400). harga_produk(c33,500). penyuplai_produk(10,a11,200). penyuplai_produk(20,a11,30). penyuplai_produk(20,b22,300). penyuplai_produk(10,c33,30). Berdasarkan pada fakta di atas, pelajar bisa mengemukakan beberapa pertanyaan seperti: (1) Nama penyuplai dengan NOMOR_PENYUPLAI = 10?- nama_penyuplai(10,x). X=johan (2) Nama produk bagi KODE_PRODUK = a10?-nama_bagian(a11,x). X=sabun Dari fakta di atas, beberapa informasi baru juga bisa dikelala seperti dalam cara yang pertama. Contohnya: (1) Nama penyuplai yang menyuplai satu-satu jenis produk. nama_penyuplai(nama_barang, NAMA_PENYUPLAI):- penyuplai_produk(nomor_penyuplai,kode_barang, _), penyuplai(nomor_penyuplai,nama_penyuplai, _). Munir: Basis data dalam Prolog 42

(2) Hubungan di antara produk dan kota. kota_produk(nama_barang, KOTA):- produk(kode_barang, NAMA_BARANG, _), penyuplai_produk(nomor_penyuplai, KODE_BARANG, _), penyuplai(nomor_penyuplai, _,KOTA).?- kota_produk(beras, KOTA). KOTA = jakarta 5.5 Basis data Sebagai Satu Koleksi Daftar Catatan Cara ketiga ini menggunakan daftar struktur dengan setiap struktur mewakili catatan data. Contohnya: filedata(penyuplai,[p(10,johan,bandung), p(20,amin,jakarta), p(25,kamal,medan)]). filedata(produk,[b(a11,sabun,100), b(b22,beras,400), b(c33,minyak,500)]). filedata(penyuplai_produk,[pb(10,a11,200), pb(20,a11,30), pb(20,b22,300), pb(25,c33,30)]). % Untuk mencapai catatan dari daftar yang telah diketahui JENISnya. capaicatatan(jenis,catatan):- filedata(jenis,daftar), member(catatan,daftar). Berdasarkan pada pentakrifan struktur catatan di atas, pelajar bisa mengemukakan beberapa pertanyaan seperti: (1) Nama dan kota penyuplai.?-capaicatatan(penyuplai,p(10,x,y)). X=johan Y=bandung. Munir: Basis data dalam Prolog 43

(2) Siapa (dapatkan NOMOR_PENYUPLAI) yang bisa menyuplaikan produk dengan KODE_BARANG = a11.?-capaicatatan(penyuplai_produk,pb(x,a11,_)). X=10; X=20 Dari struktur catatan di atas, beberapa informasi baru bisa dikelolakan. Contohnya: (1) Nama penyuplai yang menyuplai satu-satu jenis produk. nama_penyuplai(nama_barang, NAMA_PENYUPLAI):- capaicatatan(penyuplai_produk,pb(nomor_penyupl AI,KODE_BARANG, _)), capaicatatan(penyuplai,p(nomor_penyuplai,nama_ PENYUPLAI, _)). (2) Hubungan di antara produk dan kota. kota_produk(nama_barang, KOTA):- capaicatatan(produk,b((kode_barang, NAMA_BARANG, _)), capaicatatan(penyuplai_produk,pb((nomor_penyuplai, KODE_BARANG, _)), capaicatatan(penyuplai,p((nomor_penyuplai, _,KOTA)).?- kota_produk(beras, KOTA). KOTA = jakarta 5.6 Predikat Manipulasi Basis data Program Prolog bisa dilihat sebagai satu basis data yang terdiri daripada klausa. Pelajar bisa menambah atau menghapus klausa semasa pemprosesan. Pertimbangan klausa di bawah: % catatan_pelajar(nama,ujian1,ujian2,pep_akhir) catatan_pelajar(siti,15,17,58).. Munir: Basis data dalam Prolog 44

Terdapat tiga predikat dalam Prolog yang bisa diguna untuk tujuan penambahan klausa ke dalam basis data. Predikat tersebut ialah: (1) assert (2) asserta (3) assertz Contohnya jika pertanyaan di bawah dikemukakan, maka Prolog akan memberi jawaban tidak karena tidak terdapat klausa yang mengandung catatan pelajar dengan nama Johan.?-catatan_pelajar(johan,A,B,C). no Perhatikan apa yang terkandung dalam basis data setelah predikat assert diguna seperti di bawah.?-assert(catatan_pelajar(johan,10,23,75)). Basis data akan berubah kepada: catatan_pelajar(siti,15,17,58). catatan_pelajar(johan,10,23,75). Jika pertanyaan yang sama seperti di atas dikemukan yaitu untuk mencapai catatan pelajar bernama Johan, maka Prolog akan memberi jawaban ya.?-catatan_pelajar(johan,a,b,c). A=10 B=23 C=75 Pelaksanaan predikat asserta dan assertz akan mengetahui kedudukan klausa yang akan ditambah ke dalam basis data. asserta akan menambah klausa ke dalam basis data sebagai klausa yang pertama. Sebaliknya assertz akan menambah klausa ke dalam pangkalan data pada kedudukan yang terakhir. Pertimbangkan contoh di bawah: Munir: Basis data dalam Prolog 45

catatan_pelajar(siti,15,17,58).. Dengan melaksanakan predikat asserta seperti:?-asserta(catatan_pelajar(johan,10,23,75)). Basis data akan berubah kepada: catatan_pelajar(johan,10,23,75). catatan_pelajar(siti,15,17,58). Seterusnya jika predikat assertz digunakan seperti:?-assertz(catatan_pelajar(johan,10,23,75)). catatan_pelajar(siti,15,17,58). catatan_pelajar(johan,10,23,75). Predikat yang bisa digunakan untuk menghapuskan klausa dari basis data ialah retract. Pertimbangkan contoh di bawah: catatan_pelajar(siti,15,17,58). catatan_pelajar(johan,10,23,75). Jika pertanyaan di bawah dikemukakan, maka Prolog akan memberi jawaban ya.?-catatan_pelajar(johan,10,23,75). yes Seterusnya predikat retract diguna untuk menghapuskan catatan pelajar Johan.?-retract(catatan_pelajar,10,23,75)). yes Munir: Basis data dalam Prolog 46

Prolog akan memberi jawaban ya dan basis data akan kelihatan seperti berikut yaitu dengan catatan pelajar Johan telah dihapuskan. catatan_pelajar(siti,15,17,58). Dan jika pertanyaan untuk mencapai catatan pelajar Johan diajukan kembali, maka Prolog akan memberi jawaban tidak.?-catatan_pelajar(johan,10,23,75). no Predikat-predikat lain yang bisa diguna untuk memanipulasi basis data adalah: (1) listing (2) abolish Pertimbangkan contoh basis data Prolog yang terdiri dari program seperti di bawah: suka(siti,x) :-mainan(x), bermain(siti,x). suka(rina,x):-suka(siti,x). mainan(anak_boneka). mainan(kelinci). bermain(kelinci). Untuk memeriksa prosedur tertentu dalam program, pelajar bisa guna kan predikat listing. Contohnya:?-listing(mainan). mainan(anak_boneka). mainan(kelinci). yes Beberapa prosedur bisa didaftarkan satu persatu dengan menggunakan tanda kurungan empat segi seperti:?-listing([mainan,suka]). mainan(anak_boneka). mainan(kelinci). suka(siti,x):- mainan(x), Munir: Basis data dalam Prolog 47

bermain(siti,x). suka(rina,x):- suka(siti,x). yes Pada dasarnya, pertanyaan listing tanpa argumen akan menyebabkan kembali klausa dalam program akan didaftarkan. Perhatikan bahwa predikat retract yang dibicarakan di atas hanya bisa diguna untuk menghapuskan satu klausa pada satu waktu. Untuk menghapuskan keseluruhan klausa atau prosedur dalam program, pelajar bisa menggunakan predikat abolish(prosedur/n),dengan Prosedur merupakan nama prosedur atau klausa dan N adalah ariti atau bilangan argumen. Contohnya:?-abolish(bermain/2). yes Jika pertanyaan bermain dikemukan seperti di bawah, sistem Prolog akan memberi jawaban tidak. Contohnya:?-bermain(X,Y). no Akhir sekali, untuk menyimpan basis data sewaktu ke dalam satu file, Namafile, pelajar bias menggunakan prosedur berikut: save(namafile):- tell(namafile), listing, told. 5.7 Kesimpulan Dalam bab ini, anda telah dijelaskan dengan tiga jenis cara untuk mengorganisasikan basis data dalam Prolog. Tujuan sistem basis data ini ialah untuk menyediakan organisasi, perwakilan konseptual, dan memperoleh informasi dari basis data yang dibuat dari tiga cara organisasi tersebut. Munir: Basis data dalam Prolog 48

5.8 Latihan 1. Nyatakan 3 cara yang bisa diguna untuk mengorganisasikan basis data. 2. Andaikan setiap anggota untuk suatu kelompok mempunyai catatan informasi peribadi. Sebagai contoh: Nama: Adri bin Alias Jeniskelamin: Lelaki Tinggi (dalam meter): 1.78 Berat (dalam kilogram): 75 Hobi: bersenam, membaca Tuliskan basis data dalam Prolog yang mengandung data setiap anggota kelompok untuk membantu memperoleh informasi berikut: a. Diberi nama, cari tinggi, berat dan hobi b. Cari seseorang yang mempunyai hobi tertentu. 3. Buat satu hubungan dalam Prolog bagi mencari nomor maksimum dari satu daftar nomor yang diberi.. Seandainya nama hubungan tersebut ialah daftarmaksimum(daftar,maks) dengan Maks ialah nomor terbesar dari satu daftar nomor dalam Daftar. 4. Berdasarkan kepada peraturan di bawah, buatlah satu program Prolog yang dapat mengetahui masalah mobil jika diketahui tandatandanya. Contohnya jika mesin mobil tidak bisa dihidupkan dan lampu tidak menyala maka mobil menghadapi masalah bateri atau kabel. Jika mesin panas Dan mesin bisa dihidupkan Maka masalah plug Jika mesin tidak bisa dihidupkan Dan lampu tidak menyala Maka masalah bateri atau kabel Jika mesin tidak bisa dihidupkan Dan lampu menyala Maka masalah starter. Jika ada bensin dalam tangki Dan ada bensin dalam kalburator Maka mesin panas Munir: Basis data dalam Prolog 49