Senin, 21 Januari 2013

Analisis Sebuah Program Prolog

Dewasa ini, perkembangan teknologi informasi sangat cepat, baik dari segi hardware, software, maupun  storage dari tiap-tiap prosecor. Perkembangan tiap-tiap prosecor sangat di pengaruhi oleh perkembangan teknologi yang sangat cepat. Tiap-tiap vendor selalu melakukan evolusi dari tiap-tiap prosecor, contoh saja Intel yang selalu melakukan perkembangan dari tiap-tiap prosecor mereka,contohnya dari intelcore duo menjadi intel core i3,i5,dan yang terbaru ialah core i7. Selain Intel, vendor-vendor lain yang bekerja di bidang prosecor juga melakukan perkembangan,sebut saja AMD dengan keluaran terbarunya PhenomTM II. Sementara itu pesaing lainya,yaitu Cyrix juga melakukan perkembangan pada produk mereka dengan mengeluarkan prosecor mediaGX yang notabene memiliki kecepatan yang kalah saing oleh dua vendor teratas, meski demikian Cyrix juga selalu melakukan perbaikan kepada prosecor mereka. Perkembangan prosecor pada bidang teknologi sangat mempengaruhi daya minat masyarakat dalam memilih, prosecor mana yang harus mereka pilih jika ingin membeli prosecor. Dengan semakin berkembangnya kelebihan dari tiap-tiap prosecor, diharapkan masyarakat dapat memilih prosecor mana yang cocok untuk mereka pakai sesuai kebutuhan mereka.
Perancangan fakta dan aturan
a. fakta
program ini terdiri dari enam fakta yaitu:
processor(intel).
processor(amd).
processor(cyrix).
jenis(i7,intel).
jenis(phenom,amd).
jenis(mediaGX,cyrix).
b.aturan
program ini terdiri dari 9 aturan yaitu:
vendor(intel,X):-jenis(X,intel), processor(intel).
vendor(amd,X):-jenis(X,amd), processor(amd).
vendor(cyrix,X):-jenis(X,cyrix), processor(cyrix).
lebih_cepat(X,Y):-jenis(X,amd), jenis(Y,intel).
lebih_cepat(X,Y):-jenis(X,intel), jenis(Y,cyrix).
lebih_cepat(X,Y):-jenis(X,amd), jenis(Y,cyrix).
lebih_lambat(X,Y):-jenis(X,intel), jenis(Y,amd).
lebih_lambat(X,Y):-jenis(X,cyrix), jenis(Y,intel).
lebih_lambat(X,Y):-jenis(X,cyrix), jenis(Y,amd).
Penjelasan fakta dan aturan
a.fakta:
processor(intel). Artinya, intel adalah processor
processor(amd). Artinya amd adalah processor
processor(cyrix). Artinya cyrix adalah processor
jenis(i7,intel). Artinya i7 adalah jenis intel
jenis(phenom,amd). Artinya phenom adalah jenis amd
jenis(mediaGX,cyrix). Artinya mediaGX adalah jenis cyrix
b. aturan:
vendor(intel,X):-jenis(X,intel), processor(intel). Artinya intel adalah vendor dari X jika X adalah jenis intel dan intel adalah processor.
vendor(amd,X):-jenis(X,amd), processor(amd). Artinya amd adalah vendor dari X jika X adalah jenis amd dan amd adalah processor.
vendor(cyrix,X):-jenis(X,cyrix), processor(cyrix). Artinya cyrix adalah vendor dari X jika X adalah jenis cyrix dan cyrix adalah processor.
Lebih_cepat(X,Y):-jenis(X,amd), jenis(Y,intel). Artinya X lebih cepat dari Y jika X jenis amd dan Y jenis intel.
Lebih_cepat(X,Y):-jenis(X,intel), jenis(Y,cyrix). Artinya X lebih cepat dari Y jika X jenis intel dan Y jenis cyrix.
lebih_cepat(X,Y):-jenis(X,amd), jenis(Y,cyrix). Artinya X lebih cepat dari Y jika X jenis amd dan Y jenis cyrix.
Lebih_lambat(X,Y):-jenis(X,intel), jenis(Y,amd). Artinya X lebih lambat dari Y jika X jenis intel dan Y jenis amd.
Lebih_lambat(X,Y):-jenis(X,cyrix), jenis(Y,intel). Artinya X lebih lambat dari Y jika X jenis cyrix dan Y jenis intel.
lebih_lambat(X,Y):-jenis(X,cyrix), jenis(Y,amd). Artinya X lebih lambat dari Y jika X jenis cyrix dan Y jenis amd.

Beberapa query yang bisa dibuat dalam program ini:
1?- processor(intel).
true.

2 ?- jenis(i7,X).
X = intel.
(artinya: i7 adalah jenis intel)
3?- vendor(intel,X).
X = i7
(artinya: jika intel adalah vendor dari X, maka X adalah i7).
Prolog memberikan jawaban seperti di atas dengan memanggil data pada fakta i7 adalah jenis intel dan intel adalah processor lalu menyesuaikan dengan aturan jika X jenis intel dan intel adalah processor, maka intel adalah vendor dari X.
4?- vendor(cyrix,X).
X = mediaGX.
(artinya: jika cyrix adalah vendor X, maka X adalah mediaGX).
Hal ini terjadi seperti kasus di atas.
5?- vendor(X,phenom).
X = amd
(artinya: jika X adalah vendor phenom, maka X adalah amd).
Hal ini sesuai dengan fakta bahwa phenom adalah jenis amd dan amd adalah processor lalu prolog akan menyesuaikan fakta ini dengan aturan jika X jenis amd dan amd adalah processor, maka amd adalah vendor dari X.
6?- lebih_lambat(X,phenom).
X = i7 ;
X = mediaGX.
(artinya: jika X lebih lambat dari Phenom, maka X adalah i7 atau mediaGX).
Hal ini sesuai dengan aturan bahwa jika X jenis cyrix maka X lebih lambat dari jenis intel dan jika X jenis intel maka X lebih lambat dari jenis amd. Prolog terlebih dahulu mengambil informasi dari fakta bahwa phenom adalah jenis amd, i7 jenis intel dan mediaGX jenis cyrix.
7?- lebih_cepat(X,mediaGX).
X = i7 ;
X = phenom.
(artinya: jika X lebih cepat dari mediaGX  maka X adalah i7 atau phenom).
Prolog mengambil informasi dari fakta bahwa phenom adalah jenis amd, i7 jenis intel dan mediaGX jenis cyrix lalu memasukkannya dalam aturan bahwa jika X jenis amd maka X lebih cepat dari jenis intel dan jika X jenis intel maka X lebih cepat dari jenis cyrix.

Tidak ada komentar:

Posting Komentar