Jumat, 19 Januari 2018

kecerdasan buatan unifikasi dan lacak balik

Script program :


DOMAINS
nama,jender,pekerjaan,benda,alasan,zat=symbol
umur=integer

PREDICATES
nondeterm orang(nama,umur,jender,pekerjaan)
nondeterm selingkuh(nama,nama)
terbunuh_dengan(nama,benda)
terbunuh(nama)
nondeterm pembunuh(nama)
motif(alasan)
ternodai(nama,zat)
milik(nama,benda)
nondeterm cara_kerja_mirip(benda, benda)
nondeterm kemungkinan_milik(nama, benda)
nondeterm dicurigai(nama)

/* * * Fakta-fakta tentang pembunuhan * * */
CLAUSES
orang(budi,55,m,tukang_kayu).
orang(aldi,25,m,pemain_sepak_bola).
orang(aldi,25,m,tukang_jagal).
orang(joni,25,m,pencopet).

selingkuh(ina,joni).
selingkuh(ina,budi).
selingkuh(siti,joni).

terbunuh_dengan(siti,pentungan).
terbunuh(siti).

motif(uang).
motif(cemburu).
motif(dendam).

ternodai(budi,darah).
ternodai(siti,darah).
ternodai(aldi,lumpur).
ternodai(joni,coklat).
ternodai(ina,coklat).

milik(budi,kaki_palsu).
milik(joni,pistol).

/* * * Basisi Pengetahuan * * */

cara_kerja_mirip(kaki_palsu,pentungan).
cara_kerja_mirip(balok,pentungan).
cara_kerja_mirip(gunting,pisau).
cara_kerja_mirip(sepatu_bola,pentungan).

kemungkinan_milik(X,sepatu_bola):-
  orang(X,_,_,pemain_sepak_bola).
kemungkinan_milik(X,gunting):-
  orang(X,_,_,pekerja_salon).
kemungkinan_milik(X,Benda):-
 milik(X,Benda).
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * dicuragai semua orang yang memiliki senjata yang      *
 * kerjanya mirip dengan senjata penyebab siti terbunuh  *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

dicurigai(X):-
 terbunuh_dengan(siti,Senjata),
 cara_kerja_mirip(Benda,Senjata),
 kemungkinan_milik(X,Benda).
/* * * * * * * * * * * * * * * * * * * * * * * * * *
 * dicuragai laki-laki yang selingkuh dengan siti  *
 * * * * * * * * * * * * * * * * * * * * * * * * * */
dicurigai(X):-
 motif(cemburu),
 orang(X,_,m,_),
selingkuh(siti,X).
/* * * * * * * * * * * * * * * * * * * * * * * *
 * dicuragai perempuan yang selingkuh dengan   *
 * laki-laki yang juga selingkuh dengan siti   *
 * * * * * * * * * * * * * * * * * * * * * * * */
dicurigai(X):-
 motif(cemburu),
 orang(X,_,f,_),
 selingkuh(X,Lakilaki),
 selingkuh(siti,Lakilaki).
/* * * * * * * * * * * * * * * * * * * * * * * * *
 * dicuragai pencopet yang mempunyai motif uang  *
 * * * * * * * * * * * * * * * * * * * * * * * * */
dicurigai(X):-
 motif(uang),
 orang(X,_,_,pencopet).

pembunuh(Pembunuh):-
 orang(Pembunuh,_,_,_),
 terbunuh(Terbunuh),
 Terbunuh<>Pembunuh, /* Bukan bunuh diri */
 dicurigai(Pembunuh),
 ternodai(Pembunuh,Zat),
 ternodai(Terbunuh,Zat).

GOAL
 pembunuh(X).

hasil output :



penjelasan program diatas :


  • Pertama kali Visual Prolog akan mencari fakta atau head dari rule yang cocok dengan goal, maka ditemukan pembunuh(X). Kemudian mencari pada klausa tersebut untuk mengunifikasi argumennya. Karena X variabel bebas, maka X dapat diunifikasikan ke variabel manapun. Nama juga merupakan variabel bebas dari head rule pembunuh, maka terjadi unifikasi antara X dan Nama, sehingga X=Nama.
  • Kemudian, Visual Prolog berusaha untuk memenuhi bagian body dari rule. Untuk melakukannya, Visual Prolog memanggil subgoal yang pertama pada body dari rule tersebut yaitu orang(budi,55,m,tukang_kayu), dan mencari pencocokan untuk pemanggilan ini. Ditemukan pencocokan dengan fakta pertama dari klausa relasi dicurigai. Pada titik ini X diikat dengan nilai motif. Kemudian Visual Prolog menset titik lacakbalik pada fakta motif(cemburu).
  • Dengan X diikat pada nilai motif, Visual Prolog membuat panggilan untuk subgoal yang kedua yaitu adalah orang(X,_,f,_), dan mencari percocokan. Dan menemukan dengan fakta yang pertama motif(cemburu). X diikat dengan nilai cemburu dan Prolog menset titik lacakbalik pada milik(budi,kaki_palsu).
  • Kemudian Prolog mencoba untuk  memnuhi subgoal yang terakhir yaitu, ternodai(budi,darah). Karena tidak ditemukan fakta tersebut  maka panggilan gagal dan Prolog memulai lacakbalik untuk menemukan solusi lain. 
  • Ketika Visual Prolog lacakbalik, proses kembali ke titik lacakbalik terakhir. Pada kasus ini, titik lacakbalik terakhir berada subgoal yang kedua dari rule yaitu fakta milik(budi,kaki_palsu).
  • Ketika Visual Prolog barada pada titik lacakbalik, ia akan membebaskan variabel yang diberi nilai pada titik lacakbalik tersebut dan berusaha mencari jawaban lain untuk panggilan tersebut dalam kasus ini motif(cemburu).
  • Visual Prolog melanjutkan pencarian ke bawah dari titik lacakbalik tersebut untuk pencocokan klausa yang lain. Karena tidak ada klausa yang ditemukan, maka terjadi lacakbalik dan proses kembali ke titik lacakbalik terakhir yaitu di cara_kerja_mirip(kaki_palsu,pentungan).
  • Visual Prolog membebasakan variabel dan mencoba untuk menemukan solusi lain dari panggilan kemungkinan_milik(X,Benda). Pencarian dimulai setelah titik lacakbalik dan menemukan kecocokan dengan fakta motif diprogram pada klausa selingkuh(ina,joni). X kemudian diikat pada nilai ina, dan titik lacakbalik baru di set pada fakta tersebut.
  • Kemudian Visual Prolog bergerak ke subgoal berikutnya pada rule. Karena ini panggilan baru, maka pencarian dimuali dari bagian atas program dengan panggilan cara_kerja_mirip(kaki_palsu,pentungan). Visual Prolog menemukan kecocokan dengan panggilan ini. Y diikat dengan nilai kaki_palsu, dan sebuah titik lacakbalik baru diset pada fakta milik(budi,kaki_palsu).
  • Karena Y diikat dengan nilai kaki_palsu, panggilan subgoal berikutnya adalah cara_kerja_mirip(sepatu_bola,pentungan). Karena panggilan baru, maka pencarian dimulai dari bagian atas program. Prolog mencoba setiap fakta namun gagal menemukan kecocokan dan subgoal dinyatakan gagal. 
  • Visual Prolog, kemudian kembali ketitik lacakbalik terakhir yaitu pada cara_kerja_mirip(kaki_palsu,pentungan). Variabel yang diikat pada pencocokan ini kemudian dibebaskan. Beranjak dari titik ini, Visual Prolog mencari solusi baru unruk panggilan milik(budi,kaki_palsu). 
  • Visual Prolog menemukan kecocokan dengan klausa milik berikutnya. Y kemudian diikat dengan simbol budi. Kemudian Visual Prolog mencoba lagi subgoal yang terakhir dengan variabel Y diikat pada nilai budi. Panggilannya menjadi milik(budi,kaki_palsu). Pencarian kembali dimulai dari bagian atas program karena merupakan panggilan baru dan menemukan kecocokan dengan fakta yang ada dan subgoal terakhir sukses(true).
  • Pada titik ini, body dari rule pembunuh dapat di penuhi. Visual Prolog mengembalikan nilai Y pada pemanggil (goal) pembunuh(X). Karena X diikat nilainya ke Y dan Y diikat nilainya nama, maka sekarang X juga diikat nilainya ke nama pada goal tersebut. Visual Prolog akan menampilkan jawaban : 
X = budi
1 Solution



Kesimpulan dari penggunaan lcak balik pada kecerdasan buatan


unifikasi dan lacak balik dapat digunakan untuk mencari solusi yaitu jawaban benar dari suatu klausa. Untuk pengendalian lacak balik digunakan 3 predikat dalam unifikasi dan lacak balik yaitu predikat fail, predikat not, dan predikat cut. 

Jumat, 22 Desember 2017

tahapan pada analisis sistem

Sebutkan dan jelaskan tahapan pada analisis sistem?

Tahap Pendefinisian Lingkup
Yaitu Mendefinisikan analisis sistem dan hubungannya dengan istilah lingkup definisi, analisis masalah, analisis persyaratan, desain logis dan tahapan analisis keputusan, Bergerak dari tingkat sistem ke subsistem.

Tahap Analisis Masalah
Yaitu dengan cara Mendeskripsikan sejumlah pendekatan analisis sistem untuk memecahkan masalah sistem bisnis.

Tahap Analisis Kebutuhan
Mendeskripsikan definisi lingkup, analisis masalah, analisis persyaratan, desain logis, dan fase analisis keputusan dalam hal informasi blok bangunan sistem anda.

Tahap Desain Logis
Mendeskripsikan definisi lingkup, analisis masalah, analisis persyaratan, desain logis, dan fase analisis keputusan dalam hal tujuan, keterlibatan, input, output, teknik, dan langkah langkahnya

Apa yang dimaksud analisis sebab dan akibat? Apa resikonya jika tidak
melakukanya?

Yaitu teknik di mana suatu masalah dipelajari untuk menentukan penyebab dan akibatnya. Dalam prakteknya, efek bisa menjadi gejala yang lebih berakar atau sebagai dasar masalah yang selanjutnya, harus dianalisis sebab dan akibatnya, sampai sebab dan akibat tersebut tidak menghasilkan gejala pada masalah lain

Apa yang dimaksud model sistem? Jelaskan dan berikan contoh

Model adalah rencana, representasi, deskripsi yang menjelaskan suatu obyek, sistem, konsep, yang seringkali berupa penyederhanaan atau idealisasi. Bentuknya dapat berupa model fisik (bentuk propotipe), model citra (gambar, komputerisasi, grafis dll).Sedangkan sistem itu sendiri yaitu suatu kesatuan yang terdiri komponen atau elemen yang di hubungkan bersama untuk memudahkan aliran informasi, materi dan energi. Jadi apa yang di maksud dengan pemodelan sistem (model sistem) adalah suatu bentuk penyederhanaan dari sebuah elemen dan komponen yang sangat komplek untuk memudahkan pemahaman dari informasi yang di butuhkan.

Adapun contoh jenis Model Sistem Umum Dasar, yakni:
  • Model Fisik, Suatu Gambaran Entitas dalam bentuk 3 dimensi, maksudnya ialah berupa Keberadaan yang Nyata.
  • Model Naratif, Suatu Gambaran entitas yang di ucapkan secara Lisan atau Tulisan, maksudnya Keberadaan atau aktifitas yang di lakukan berupa dengan ucapan/perkataan dan secara tertulis.
  • Model Grafik, Suatu Gambaran entitas dengan sejumlah garis atau symbol, maksudnya keberadaan atau aktifitas dengan menggambarkan dari sejumlah garis-garis atau menggunakan symbol dalam fungsi tertentu untuk memberikan penjelasan.
  • Model Matematika, Suatu Gambaran entitas dengan menggunakan ketelitian, maksudnya ialah harus bisa teliti dalam menjelaskan hubungan antara berbagai bagian dari suatu objek.

Apa perbedaan antara model sistem logis dan model sistem fisik?

Model sistem fisik / juga di sebut Diagram Alur Data Fisik (DADF), DFD lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem yang lama). Penekanan dari DFD secara Fisik adalah bagaimana proses-proses dari sistem diterapkan (dengan cara apa, oleh siapa dan dimana), termasuk proses-proses manual. konsep bagaimana data disimpan pada media penyimpanan (storage) dalam suatu susunan secara fisik. sistem fisik (physical system) adalah sistem yang secara fisik dapat dilihat, misalnya sistem komputer, sistem sekolah, sistem akuntansi dan sistem transportasi. Sedangkan
Model sistem logik lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem yang baru). Untuk sistem komputerisasi, penggambaran DADL hanya menunjukkan kebutuhan proses dari sistem yang diusulkan secara logika, biasanya proses-proses yang digambarkan hanya merupakan proses-proses secara komputer saja.

Apa perbedaan antara model desain logis dan model desain fisik?

Model desain logik, Mendesain model dari sistem informasi yang diusulkan dalam bentuk physical sistem dan logical model. Model desain fisik yaitu Sketsa dari physical system menunjukkan pada user bagaimana sistem secara fisik akan diterapkan.

pengembangan sistem adalah


Apakah yang dimaksud dengan pengembangan sistem?

Pengembangan sistem merupakan suatu proyek yang harus melalui suatu proses pengevaluasian seperti pelaksanaan proyek lainnya, Pengembangan sistem dapat berarti menyusun sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau untuk memperbaiki sistem yang sudah ada.

Apakah CMM? Bagaimana relevansinya pada pengembangan sistem?

CMM (Capability Maturity Model) merupakan mekanisme kualifikasi sebuah sofware development house yang dapat memberikan gambaran tentang kemampuan perusahaan tersebut dalam melakukan development sofware. secara keseluruhan pengertian CMM dapat didefinisikan sebagai sebuah penyederhanaan yang representatif yang di gunakan untuk mengukur tingkat kematangan sebuah sofware development house dalam menyajikan atau membuat atau mengembangkan perangkat lunak sebagaimana telah di janjikan secara tertulis dalam perjanjian kerja sama, , sehingga bisa di katakan bahwa CMM adalah mengukur.       Sedangkan di dalam Relevan (Relevancy), dalam hal ini informasi yang diterima harus memberikan manfaat bagi pemakainya. Kadar relevancy informasi antara orang satu dengan yang lainnya berbeda-beda tergantung kepada kebutuhan masing-masing pengguna informasi tersebut


Apa perbedaan antara siklus hidup sistem dengan metodologi pengembangan
sistem?

Siklus hidup sistem (System Life Cycle-SCL) adalah proses evolusi yang diikuti oleh pelaksanaan sistem informasi dasar-dasar atau subsistem. Sedangkan pengertian dari metodologi pengembangan system adalah metode-metode, prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan yang akan digunakan sebagai pedoman bagaimana dan apa yang harus dikerjakan selama pengembangan.


 Apakah yang dimaksud dengan manajemen resiko? Mengapa penting
diperhitungkan dalam pengembangan sistem? Jelaskan!

Manajemen risiko adalah sebuah pendekatan metodologi yang terstruktur dalam mengelola (manage) sesuatu yang berkaitan dengan sebuah ancaman karena ketidak pastian. Mengapa penting di perhitungkan dalam pengembangan system? Karena adanya ancaman yang diartikan sebagai risiko, maka diperlukan sebuah penanggulangan untuk bisa mengantisipasi kejadian terburuk, hal ini kita sebut sebagai manajemen risiko. Semua institusi baik itu swasta atau pemerintahan akan tetap memiliki sebuah risiko yang terjadi akibat dari hal-hal yang sudah dijelaskan di atas. Sehingga manajemen risiko merupakan sesuatu yang wajib dipelajari oleh sebuah perusahaan, pemerintahan atau individu.


 Apakah yang dimaksud dengan model sistem? Bagaimana model sistem dapat
memperbaiki pengembangan sistem? Jelaskan!

Untuk mendapatkan suatu definisi yang dapat di pahami dengan baik dari pengertian pemodelan sistem, maka kita harus mengetahui secara mendalam apa arti sebenarnya dari dua kata tersebut. Yakni pemodelan (model) dan sistem. 

Model adalah rencana, representasi, /deskripsi yang menjelaskan suatu obyek, sistem, /konsep, yang seringkali berupa penyederhanaan atau idealisasi. Bentuknya dapat berupa model fisik (bentuk propotipe), model citra (gambar, komputerisasi, grafis dll). Sedangkan sistem itu sendiri yaitu suatu kesatuan yang terdiri komponen atau elemen yang di hubungkan bersama untuk memudahkan aliran informasi, materi dan energi. Jadi apa yang di maksud dengan pemodelan sistem (model sistem) adalah suatu bentuk penyederhanaan dari sebuah elemen dan komponen yang sangat komplek untuk memudahkan pemahaman dari informasi yang di butuhkan. Bagaimana model sistem dapat memperbaiki pengembangan sistem? Yaitu dengan cara:

  • Model sekuensial linier(clasic life cycle/waterfall model), terdiri dari tahapan perencanaan sistem (rekayasa sistem), analisa kebutuhan, desain, penulisan program, pengujian dan perawatan sistem.
  • Model prototipe(prototyping model), dimulai dengan pengumpulan kebutuhan dan perbaikan, desain cepat, pembentukan prototipe, evaluasi pelanggan terhadap prototipe, perbaikan prototipe dan produk akhir.
  • Rapid Application Development(RAD) model, dengan kegiatan dimulai pemodelan bisnis, pemodelan data, pemodelan proses, pembangkitan aplikasi dan pengujian
  • Model evolusioner yang dapat berupa model incremental atau model spiral Model incremental merupakan gabungan model sekuensial linier dengan prototyping (mis perangkat lunak pengolah kata dengan berbagai versi). Sedangkan model spiral menekan adanya analisa resiko. Jika analisa resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka pengembangan sistem dapat dihentikan.
  • Teknik generasi ke-empat(4GT), dimulai dengan pengumpulan kebutuhan, strategi perancangan, implementasi menggunakan 4GL dan pengujian.