Lowongan Kerja

Info Lowongan Kerja
Thursday, March 11, 2010

Antara Virus dan Worm

Apa Itu Virus Worm ?
Contributed by DaNOE_eLINErs
Friday, 19 October 2007


Pendahuluan



Suatu saat kita pernah mendengar tentang sepak terjang virus, virus computer jangan dianalogikan seperti layaknya
kuman atau bakteri yang hidup, namun virus adalah suatu kode tertentu yagn dibuat dengan suatu metode bahasa
pemrograman (umumnya C). kode program ini biasa disebut Kode Jahat/Perusak (Malicious Codes).



Kode jahat/perusak (malicious codes atau disingkat malcodes) didefinisikan sebagai semua macam program, makro
atau script yang dapat diesekusi dan dibuat dengan tujuan untuk merusak sistem komputer. Oleh karena itu bug yang
dibuat secara tidak sengaja oleh programer, tidak termasuk dalam kategori ini. Tetapi untuk bug yang benar-benar
mengganggu, banyak orang mengkategorikannya sebagai malcode. Malcodes ini memang dibuat untuk menjangkiti atau
menulari suatu computer dengan mempelajari suatu metode di system computer, tujuannya untuk menggangu system
tersebut. Setelah berhasil menulari system virus akan berusaha untuk menempel pada bagian yang terinfeksi saat ini
banyak sekali virus yang dapat mengelabui anti virus dan virus dapat seakanakan berpikir sendiri. Menurut informasi dari
Symantech sampai saat ini telah ditemukan sebanyak 60.0000 an virus, worm dan code jahat. Makanya dalam
perkembangannya sampai pada akhirnya Malcodes ini disebut sebagai virus yang kerjanya membuat hidup orang tidak
nyaman…


Varian
Dalam perkembangannya virus sangat cepat sekali, Kode perusak ini dapat digolongkan dalam 3 macam golongan:
virus, worm dan Trojan Horses, serta beberapa program yang memiliki bug.
*

Virus, Virus memiliki kemampuan jahat untuk mereproduksi diri mereka sendiri dan terdiri dari kumpulan kode yang
dapat memodifikasi target kode yang sedang berjalan, atau dapat pula memodifikasi struktur internal target kode,
sehingga target kode sebelum berjalan dipaksa menjalankan virus. Virus sering menampilkan pesan yang tidak disukai,
merusak tampilan display, menghapus memory C-MOS, merusak informasi dalam hard disk dll. Efek yang ditimbulkan
virus mengalami perkembangan yang cukup serius akhir-akhir ini. Contoh virus: Brain, Ohe half, Die hard, XM/Laroux,
Win95/CIH
*


Worm, Worm ditujukan kepada program yang mengkopi dirinya sendiri ke HANYA memory komputer. Perbedaan
mendasar dari worm dan virus adalah, apakah menginfeksi target code atau tidak. Virus menginfeksi target code, tetapi
worm tidak. Worm hanya tinggal di memory. Worm dapat dengan cepat memperbanyak diri dan biasanya dilakukan pada
media LAN atau Internet, resources jaringan yang terinfeksi akan habis bandwidthnya dibanjiri oleh worm yang akan
mengakibatkan melambatnya aliran data. Contoh worm: I-Worm/Happy99(Ska), I-Worm/ExploreZIP, Sobig, Nimda, Code
Red, Sircam. Worm umumnya berbentuk file executable (berekstensi .EXE atau .SCR), yang terlampir (attach) pada
email. Namun demikian, ada beberapa jenis worm yang berbentuk script yang ditulis dalam bahasa Visual Basic
(VBScript).
*


Trojan Horse diproduksi dengan tujuan jahat. Konsep yang digunakan seperti pada zaman romawi kuno, Berbeda
dengan virus, Trojan Horse tidak dapat memproduksi diri sendiri. Pada umumnya, mereka dibawa oleh utility program
lainnya. Utility program tersebut mengandung dirinya, atau Trojan Horse itu sendiri ber”lagak” sebagai utility program.
Contoh Trojan Horse: Win-Trojan/Back Orifice, Win-Trojan/SubSeven, Win- Trojan/Ecokys(Korean)

Kasus Virus

Ada banyak sekali cerita dan kasus yang disebabkan oleh virus, worm ataupun Trojan. Contohnya kasus virus macro
yang menjangkiti doc Microsoft word. Virus CIH yang dibuat untuk merusak system BIOS, virus ini diperkirakan telah
merusak ribuan computer didunia. Virus Mail My Love yang menggegerkan dunia Kasus Worm tercatat yang paling
banyak ditemukan, contoh kasus terbesar yaitu Worm Nimda, Sircam dan Code Red dengan variannya yang membuat
macem situs dan jaringan LAN perusahaan didunia, dimana worm tersebut melakukan komunikasi palsu yang
menyebabkan jaringan tersendat. Nimda merupakan kebalikan dari Admin.



Di awal 2003 ini, virus worm Slammer hanya membutuhkan waktu 10 menit untuk membuat chaos pengguna internet.
Dalam menit pertama penyebarannya, jumlah virus Slammer berlipat dua kali setiap 8,5 detik. Kecepatannya jauh di atas
danoe_eliners
http://www.danu.web.ugm.ac.id Powered by Joomla! Generated: 11 March, 2010, 04:25
worm Code Red - yang menyebar 18 bulan lalu yang berlipat dua setiap 37 menit. Sobig dengan variannya yang telah
membuat beberapa ISP dunia macet karena banjirnya

Bandwidth yang anomaly, dimana worm tersebut melakukan pengiriman code secara simultan lewat email dengan
membaca semua alamat email kita yang ada di outlook express. Seperti juga penyakit yang kita kenal, pastilah virus
computer ini mempunyai cara untuk menulari computer ?

------------------->
Yap..........!  'benar sekali, sebelumnya saya ingin mengambarkan cara kerja Worm. Cerdik karena ia mampu mengelabui
scanning heuristic antivirus dan tidak terlalu ganas.Worm biasanya Menyebar melalui Email, Menyebar melaui network,
dan Menyebar melalui IIS seperti BlueCode / Code Red.

Ada banyak cara sebuah MalCodes ini menginfeksi computer korban, diantaranya


Disk, media satu ini yang sering menularkan virus, kita memindahkan file-file dari computer lain tanpa kita lakukan
scanning dulu. Mungkin saja file dari luar sudah terinfeksi.
Email, dengan metode attachement sebuah virus dapat menulari computer setelah attachment email kita buka, biasanya
virus disusupkan dengan file lain layaknya sebuah file biasa atau gambar

Download, biasanya kita mendownload software-software dari internet, apalagi mendownload dari situs yang tidak
terkanal, kemungkinan sangat besar kita dapat terkena jenis virus worm atau Trojan


-----------------------------------------------------------------------
Ciri-ciri terinfeksi Virus  
-----------------------------------------------------------------------

Wah ada banyak sih gejala-gejalanya, biasanya jika virus sudah menginfeksi dampak langsungnya adalah file kita yang
rusak atau hilang entah kemana, virus dapat mengatur computer kita atau menggangu system operasi misalnya
melakukan restart, sering terjadi crash atau hang, kinerja atau performa pc yang sangat lambat.

Kalau computer kita terkoneksi ke internet lewat jaringan LAN, maka koneksinya akan lambat sekalai bahkan terputus.
Jika kita memeriksa bandwidthnya maka akan terlihat anomaly bandwidth yang sedangkan kita tidak menggunakannya.

** Tip Aman dari Virus **

1. Pasang Anti Virus pada sistem anda Sebagai perlindungan di garis depan, penggunaan anti virus adalah     wajib. Ada banyak anti virus yang beredar di pasaran saat ini. Beberapa yang cukup handal diantaranya adalah McAfree VirusScan (www.mcafee.com) dan Norton Anti Virus (www.symantec.com).



2. Update database program anti virus secara teratur, Ratusan virus baru muncul setiap bulannya. Usahakan untuk selalu meng-update database dari program anti virus yang anda gunakan. Database terbaru dapat dilihat pada website perusahaan pembuat program anti virus yang anda gunakan.


3. Pergunakan Firewall Personal, dengan menggunakan firewall maka akses yang akan keluar masuk ke system kita dapat diatur, apakah paket data disetujui atau ditolak.


4. Berhati-hati sebelum menjalankan file baru Lakukan scanning terlebih dahulu dengan anti virus sebelum menjalankan sebuah file yang didapat dari mendownload di internet atau mengkopi dari orang lain. Apabila anda biasa menggunakan sarana e-mail, berhati-hatilah setiap menerima attachment dalam bentuk file executable. Waspadai file-file yang berekstensi :
*.COM, *.EXE, *.VBS, *.SCR, *.VB. 
-------------------------------------------
Jangan terkecoh untuk langsung membukanya sebelum melakukan scanning dengan software anti virus.


5. Curigai apabila terjadi keanehan pada sistem anda, Menurunnya performa sistem secara drastis, khususnya saat melakukan operasi pembacaan/penulisan file di disk, serta munculnya masalah pada software saat dioperasikan bisa jadi merupakan indikasi bahwa sistem telah terinfeksi oleh virus. Berhatihatilah!


6. Backup data anda secara teratur, Tips ini mungkin tidak secara langsung menyelamatkan data anda dari ancaman virus, namun demikian akan sangat berguna apabila suatu saat virus betul-betul menyerang dan merusak data di komputer yang anda gunakan. Setidaknya dalam kondisi tersebut, anda tidak akan kehilangan seluruh data yang telah anda backup sebelumnya.


7. Buat Policy / Kebijakan yang jelas.

 
ANTARA VIRUS DAN WORM

Kalo bicara soal virus, pasti yang terbayang adalah program perusak yang menyebalkan. Meski pembuat virusnya sering di sumpah-sumpahin mati muda oleh orang yang terkena virus buatannya. Tapi ternyata hal itu ngga mbuat pembuat virus kapok. Buktinya sekarang sekarang banyak banget virus-virus baru yang muncul, apalagi virus buatan lokal yang makin lama makin canggih.
Tapi jarang orang yang tau kalo kebanyakan program perusak buatan lokal itu bukanlah virus, lha terus apa? Worm...alias cacing. Masih terasa asing? Wajar. Atau malah udah tau? Bagus, itu juga wajar. Emang banyak orang yang menyebut worm itu virus, padahal sebenarnya worm dan virus itu beda. Bedanya mirip-mirip antara cacing kremi sama virus H5N2 di dunia nyata. Jadi apa dong bedanya? Pingin tau? Baca terus!

Virus
Virus masuk golongan malware (malicius software, yah..kalo di artiin software yang merugikan, bener ga sih?) setara sama jenis-jenis malware lainnya seperti worm, trojan, atau spyware.
Sebelum mbahas cara kerjanya, saya bahas dulu cara kerja virus biologis beneran, biar bisa buat perbandingan.
Virus biologis akan mempertahankan eksistensi jenisnya dengan cara “berkembang biak” melalui sel-sel tubuh makhluk hidup, bisa hewan, tumbuhan atau malah bakteri. Pertama virus akan menentukan target sel yang akan dijadikan tempat berkembang biaknya. Setelah dirasa cocok, badan virus menempelkan diri ke dinding sel target. Dengan penyuntik DNA-nya, virus akan menyuntikan DNA-nya ke dalam sel. DNA yang sudah ada di dalam tubuh selnya kemudian menggabungkan diri dengan DNA milik sel inangnya. Sehingga kini DNA sel malang itu sudah bercampur dengan DNA virus.

Begitu sudah tercampur, DNA virus pun kini punya akses ke sumber daya sel inangnya. Yah..mirip-mirip cracker yang mengambil alih fungsi admin situs. Dengan akses admin-nya itu DNA virus membuat puluhan replika anggota tubuhnya dengan menggunakan sumber daya yang ada di sel inang. Setelah replika virus itu telah lengkap dan bisa di fungsikan, virus yang berjumlah cukup banyak itu berbondong-bondong keluar dari tubuh sel inang dan sel itu pun mati. Virus yang baru keluar itu akan menginfeksi sel-sel lainnya yang ada di sekitarnya.
Itu sedikit cuplikan cara kerja virus beneran, mungkin kurang lengkap yah? Wajar aja lah, kita kan bukan mau mbahas pelajaran biologi.
Oke...sekarang ke virus komputer
Virus komputer cara penyebarannya mirip-mirip sama virus biologis beneran. Jadi gini virus akan menyuntikan dirinya sendiri ke dalam file target yang akan diserang, file target itu biasanya adalah file .exe, doc, xls, atau bahkan jpg. Karena biasanya ke-empat jenis file itu paling banyak ditemukan di kebanyakan komputer, coba sih kalo virus dirancang menginfeksi file .TAR (ini sejenis file kompresi, ya..semacam .zip) padahal file itu jarang ada, ya..sudah pasti virusnya sulit nyebar.
Oke..masih bingung soal virus yang menginjeksi file?
Misalnya ada sebuah virus yang telah menginfeksi sebuah komputer dan telah aktif, virus itu di rancang untuk menginfeksi semua file .exe yang ada di flashdisk. Kebetulan ada seorang pengguna komputer mau nancepin flashdisknya ke komputer itu, di dalam flashdisknya itu terdapat file exe dengan nama file ‘dagelan.exe’ berukuran 244 KB.
Begitu flashdisk sudah terbaca oleh komputer, virus yang sudah aktif itu akan membaca seluruh isi flashdisk untuk mencari file exe. Oww..ternyata virus menemukan file benama ‘dagelan.exe’, virus itu akan mencari tahu apakah file itu telah di infeksi olehnya atau belum. Bila sudah, maka seluruh isi programnya akan digabungkan ke dalam file ‘dagelan.exe’. Sehingga file ‘dagelan.exe’ kini sudah disusupi oleh virus. dan biasanya file yang terinfeksi tersebut bertambah ukurannya. Setelah diperiksa, wow ternyata dagelan.exe kini berukuran 267 KB. Artinya tambahan ukuran file sebesar 23 KB tersebut berasal dari file virus.
Bila masih belum jelas, coba perhatikan virus biologis beneran. Mereka menggabungkan DNA-nya ke dalam DNA sel inang. Virus komputer pun begitu, hanya bedanya yang digabungkan bukan DNA tapi berupa kode-kode biner milik virus yang di gabungkan dengan kode biner milik file ‘dagelan.exe’.

Apa yang terjadi bila file‘dagelan.exe’ yang sudah terinfeksi itu di aktifkan? Pertama kumpulan kode biner milik virus akan di eksekusi terlebih dahulu, dan itu artinya virus aktif. Kemudian virus yang aktif itu akan menjalankan kode biner milik file ‘dagelan.exe’. Sehingga dari luar file ‘dagelan.exe’ terlihat seperti biasa, tanpa menyadari kalau virus sudah aktif. Disini ngerinya, kita bisa sama sekali tidak menyadari telah mengaktifkan virus itu, karena segalanya terlihat berjalan seperti biasa, tanpa perubahan.
Tidak hanya file .exe yang bisa diinfeksi oleh virus. Bisa saja file .doc, xls atau yang lainnya tergantung selera pembuat virusnya. Tapi yang paling berbahaya adalah virus yang menginfeksi file .exe mengapa? Karena file exe yang terinfeksi hampir sama sekali tidak mengalami perubahan apapun kecuali ukuran file, itupun jarang di perhatikan oleh pengguna komputer. Jadi dengan tangan kosong, hampir mustahil mengenali perbedaan antara file yang terinfeksi dengan yang tidak, tanpa mengetahui ukuran file-nya, baik sebelum maupun sesudah terinfeksi
Berbeda dengan selain file .exe. Misalnya ketika ada virus yang menginfeksi file .doc, maka ketika file tersebut di infeksi, virus akan mengubah ekstensi filenya dari doc menjadi exe. Karena bila tetap pada ekstensi doc, virus tidak di eksekusi, namun dibuka lewat microsoft word dan virus pun tidak aktif. Karena itu, file doc yang sudah diinfeksi virus cenderung mudah dibedakan, lihat saja ektensinya. Bila file doc berubah jadi exe, tersangkanya pasti virus. Tapi pembuat virus ngga sebodoh itu, dengan memanfaatkan kelengahan pengguna, file doc yang telah berubah menjadi exe itu tetap ber-icon MS word. Dan banyakan pengguna ngga begitu merhatiin ekstensi file, sehingga tanpa curiga file tersebut di klik ganda.
Oke..apa yang terjadi ketika virus itu diklik ganda?
Pertama kode biner virus akan aktif terlebih dahulu, kemudian virus yang aktif itu membaca isi file yang dinfeksinya. Kemudian virus akan memerintahkan program word proocessor seperti microsoft word untuk membuka isi file tersebut, sehingga isi dokumen tersebut di tampilkan oleh MS word seperti biasa. Pengguna yang ngga begitu tahu bakal ngira kalo file tersebut oke-oke saja, dan tetap menjalani hari-harinya dengan riang gembira.

WORM
Kata worm kalo diartiin berarti cacing. Ya, memang worm komputer cara kerjanya mirip worm beneran. Cacing yang ada di usus hewan atau manusia berasal dari telur-telur induknya yang memang sengaja dikeluarkan oleh induknya untuk melestarikan jenisnya. Di dalam usus itu cacing memakan sari-sari makanan atau darah milik tubuh inangnya, sehingga makhluk inangnya pelan-pelan kekurangan nutrisi.
Hampir mirip sama worm komputer, dalam penyebarannya worm mencopykan tubuhnya sendiri sebagai satu file utuh tanpa harus menempel ke file lainnya. Lha..inilah yang jadi perbedaan mendasar antara virus sama worm. worm merupakan satu file exe yang berdiri sendiri, tidak menumpang ke file lainnya. Sedangkan virus, menempel ke file lainnya.
Biasanya supaya pengguna komputer tidak curiga akan adanya file worm di flashdisknya, worm akan melakukan penyamaran. Untuk tren pembuat virus saat ini khususnya untuk worm lokal, worm menyamar sebagai folder. Biasanya ketika ditemukan sebuah folder di flashdisk, worm akan mengcopykan dirinya sendiri kedalam flashdisk tersebut dengan nama file seperti nama folder targetnya dan tentu saja iconnya merupakan icon folder, sedangkan folder target itu biasanya di superhiddenkan oleh worm itu. Sehingga pengguna komputer tanpa curiga mengklik ganda icon folder tersebut yang sebenarnya merupakan file worm, dan worm pun aktif.
Tidak hanya dengan melakukan penyamaran, ada juga worm yang manfaatin fitur autorun drive, jadi ketika flashdisk di tancapin, maka secara otomatis file worm aktif tanpa konfirmasi apapun.
Jadi bila ada yang liat sebuah file exe bericon folder, itu bukan virus tapi worm.
Namun penggolongan itu kadang ngga relevan lagi. Pernah baca di artikel mana gitu, disitu ditulis kalo ada virus yang juga punya sifat seperti worm (atau worm mirip virus..bodo ah, yang penting mudenk kan?). jadi virus itu pada kondisi tertentu bertingkah laku kayak virus, tapi kondisi lainnya mirip worm.
Tapi terlepas dari itu, paling ngga sudah ada gambaran mengenai kesalah kaprahan orang-orang tentang definisi virus dan worm, tapi itu masih wajar kok. Tapi kalo udah baca artikel ini berarti dah bisa mbedain mana yang virus mana yang worm. tahu yang seperti ini penting lho. Karena kedua jenis malware itu cara penanganannya beda banget. Masing-masing perlakuannya beda-beda. Namun umumnya malware yang jenisnya worm jauh lebih mudah ditangani, bahkan dengan tangan kosong pun bisa. Beda sama virus, nangani file bervirus jauh lebih sulit dari pada worm. Kesulitannya itu biasanya misahin antara file yang asli sama file virusnya. Jelas harus pake program khusus. Masih bingung?? Silahkan tanya saja lewat comment (AHP 29 Juni 2008 20:58, pyuh..akhirnya selesai juga. Maap yah kalo kepanjangen, ni otak sama tangan ga bisa berhenti ngetik. Jadi artikel ini mecahin rekor jadi artikel terpanjang di KOMPUTOK (1371 kata dan 9.328 karakter) Semoga berguna yah...)

Mau mengcopy Tulisan ini ke Blog anda atau Media Lain? Boleh Saja....Tapi Ada Syaratnya. Yaitu:

   1. Menghubungi Saya terlebih dahulu, Dapat lewat email komputok@gmail.com atau langsung lewat blog ini
   2. Mencantumkan Link langsung ke artikel ini. Misal :
      http://komputok.blogspot.com/2010/01/berkomunikasi-dan-kolaborasi-dengan google-wave.html
   3. Tidak merubah isi artikel ini walau satu hurufpun
   4. Tetap mengunjungi Blog ini dan share ke teman lain :)

Mari kita saling menghormati sesama manusia dan sesama blogger untuk mengikuti syarat diatas.
Baca Juga Artikel ini :


    * Mengenali dan Mengatasi File Virus Di Flashdisk Tanpa Antivirus
    * Tanda Umum Komputer Terinfeksi Virus
    * Antara Virus dan Worm
    * Tips Mencegah Serangan Virus
    * Mencegah Serangan Virus Dari Flashdisk
    * Mitos-Mitos Virus Komputer
    * Antivirus Terbaik Versi Komputok


Read more: http://komputok.blogspot.com/2008/06/antara-virus-dan-worm.html#ixzz0hq9qlbOB

Monday, March 8, 2010

Pemrograman PROLOG

BAHASA PEMROGRAMAN PROLOG


Sejarah Prolog
-      Prolog singkatan dari Programming in Logic.
-      Dikembangkan oleh  Alain Colmenraurer dan P.Roussel di Universitas Marseilles Perancis, tahun1972.
-      Prolog populer di Eropa untuk aplikasi artificial intelligence, sedangkan di Amerika peneliti mengembangkan aplikasi yang sama, yaitu LISP.

Perbedaan Prolog dengan Bahasa Lainnya
-      Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran):
o   diperlukan algoritma/prosedur untuk memecahkan masalah (procedural languange)
o   program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda.
o   Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.

-      Bahasa Pemrograman Prolog :
o   Object oriented languange atau declarative languange.
o   Tidak terdapat prosedur, tetapi  hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban
o   Programmer menentukan tujuan (goal), dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
o   Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
o   Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.
o   Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
o   Contoh : Pembuatan program catur dengan Prolog

Aplikasi Prolog :
-      Sistem Pakar (Expert System)
Program menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli.
Contoh dalam mendiagnosa penyakit
-      Pengolahan Bahasa Alami (Natural Languange Processing)
Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah.
-      Robotik
Prolog digunakan untuk mengolah data masukanyang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan.
-      Pengenalan Pola (Pattern Recognition)
Banyak digunakan dalam image processing, dimana komputer dapat membedakan suatu objek dengan objek yang lain.
-      Belajar (Learning)
Program belajar dari kesalahan yang pernah dilakukan, dari pengamataqn atau dari hal-hal yang pernah diminta untuk dilakukan.

Fakta dan Relasi

-      Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta.
-      Fakta dibedakan 2 macam :
o   Menunjukkan relasi.
o   Menunjukkan milik/sifat.
-      Penulisannya diakhiri dengan tanda titik “.”
-      Contoh :
Fakta
Prolog
Slamet adalah ayah Amin
ayah (slamet, amin).
Anita adalah seorang wanita
wanita (anita).
Angga suka renang dan tenis
suka(angga, renang). dan suka(angga,tenis).
Jeruk berwarna jingga
jngga(jeruk).


Aturan (“Rules”)

-      Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan.
-      Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat.
-      Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.
-      Contoh :
Fakta dan Aturan
Prolog
F : Tino suka apel
A : Yuli suka sesuatu yang disukai Tino
suka(tino, apel).
suka(yuli,Sesuatu) :-  suka(tino,Sesuatu).
   
-      Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh.
-      Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and”.
-      Aturan memiliki sifat then/if conditional
“Kepala(head) benar jika tubuh (body) benar”.


Fakta dan Aturan
Prolog
F : Slamet adalah ayah dari Amin
F : Amin adalah ayah dari Badu
F : Slamet adalah kakek dari Badu
A :
Slamet adalah benar kakek Badu jika Slamet adalah benar ayah Amin dan Amin adalah benar ayah Badu.
ayah(slamet,amin).
ayah(amin,badu).
kakek(slamet,badu).

kakek(slamet,amin) :-
ayah(slamet,amin) and
ayah(amin,badu).
F : Amin adalah saudara kandung Anang
F : Amin mempunyai ayah Slamet
F:  Anang mempunyai ayah Slamet.
A :
Amin adalah benar saudara kandung Anang, jika Amin mempunyai ayah Slamet dan Anang juga mempunyai ayah Slamet.
saudara_kandung(amin,anang).
ayah(slamet,amin).
ayah(slamet,anang).


saudara_kandung(amin,anang) :-
ayah(slamet,amin) and
ayah(slamet,anang).

Pertanyaan (“Query”)

-      Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan pertanyaan berdasarkan fakta dan aturan yang ada.
-      Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.

-      Contoh :
Pertanyaan
Prolog dan Jawaban Program
Apakah Tini suka boneka ?
?- suka(tini,boneka).
Yes ……. (jika faktanya Tini suka boneka)
No……..…(jika tidak sesuai fakta).
Apakah yang disukai Tini ?
?- suka(tini,Apa).
Apa=boneka
Siapakah yang suka boneka ?
?- suka(Siapa,boneka).
Siapa=tini
Dari contoh silsilah keluarga di atas :
Siapakah kakek Budi ?


Siapakah cucu Slamet ?


?- kakek(Siapa,budi).
Siapa=slamet

?- kakek(slamet,Cucu).
Cucu=budi ;
Cucu=badu

(jika kemungkinan ada lebih dari satu jawaban gunakan tanda “;” pada akhir setiap jawaban).


Predikat (“Predicate”)

-      Predikat adalah nama simbolik untuk relasi.
-      Contoh :           ayah(slamet,amin).
Predikat dari fakta tersebut ditulis :  ayah(simbol,simbol).
dimana ayah adalah nama predikat, sedangkan slamet dan amin adalah menujukkan argumen.
Sebuah predikat dapat tidak memiliki atau memiliki argumen dengan jumlah bebas. Jumlah argumen suatu predikat disebut aritas (arity).
                ayah(nama)   …… aritas-nya 1
                ayah(nama1,nama2) ….. aritasnya 2
-      Syarat-syarat penulisan nama predikat :
o   Harus diawali dengan huruf kecil dan dapat diikuti dengan huruf, bilangan atau garis bawah.
o   Panjang nama predikat maksimum 250 karakter.
o   Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang dan garis miring.
Variabel

-      Varibel adalah besaran yang nilainya dapat berubah-ubah.

-      Tata cara penulisan variabel :
1.       Nama varibel harus diawali huruf besar atau garis bawah(_)
2.       Nama variabel dapat terdiri dari huruf, bilangan, atau simbol dan merupakan kesatuan dengan panjang maksimum 250 karakter.
3.       Nama variabel hendaknya mengandung makna yang berkaitan dengan data yang dinyatakannya.

-      Contoh : dari silsilah di atas :
?- ayah(slamet,Anak).
Anak=budi ;
Anak=badu
No
Dari query di atas akan dicari siapakah anak dari ayah yang bernama Slamet. Karena mempunyai relasi yang sama (yaitu ayah), variabel Anak akan mencari nilai dari konstanta suatu fakta/aturan yang sepadan.
Tanda “;” digunakan bila terdapat kemungkinan ada lebih dari satu jawaban.
“No” berarti tidak ada lagi kemungkinan jawaban.

Contoh : dari silsilah di atas :
                        ?- ayah(slamet,X),ayah(X,Y).
                        X=amin
                        Y=budi  ;
                        X=amin
                        Y=badu  ;
                        X=anang
                        Y=didi   ;
                        X=anang
                        Y=didi
                        No


%% FAKTA */
       
%%orang tua */
        ayah(slamet,amin).
        ayah(slamet,anang).
        ayah(amin,budi).
        ayah(amin,badu).
        ayah(anang,didi).
        ayah(anang,dadi).
        ayah(santoso,bu_amin).
        ayah(supardi,bu_anang).
        ibu(bu_slamet,amin).
        ibu(bu_slamet,anang).
        ibu(bu_amin,budi).
        ibu(bu_amin,badu).
        ibu(bu_anang,didi).
        ibu(bu_anang,dadi).
        ibu(bu_santoso,bu_amin).
        ibu(bu_santoso,bu_anang).

%% ATURAN */

%% Kakek adalah kakek Cucu */

        kakek(Kakek,Cucu) :-
                ayah(Ayah,Cucu),
                ayah(Kakek,Ayah).
        kakek(Kakek,Cucu) :-
                ibu(Ibu,Cucu),
                ayah(Kakek,Ibu).
%% Nenek adalah nenek Cucu */

        nenek(Nenek,Cucu) :-
                ayah(Ayah,Cucu),
                ibu(Nenek,Ayah).
        nenek(Nenek,Cucu) :-
                ibu(Ibu,Cucu),
                ibu(Nenek,Ibu).




%% Nama1 adalah saudara kandung Nama2

        saudara_kandung(Nama,Name) :-
                ayah(Ayah,Nama),
                ayah(Ayah,Name),
                ibu(Ibu,Nama),
                ibu(Ibu,Name),
                Nama \= Name.

%% Sdr1 adalah saudara sepupu Sdr2

        saudara_sepupu(Sdr1,Sdr2) :-
                ayah(Ayah1,Sdr1),
                ayah(Ayah2,Sdr2),
                saudara_kandung(Ayah1,Ayah2).

        saudara_sepupu(Sdr1,Sdr2) :-
                ayah(Ayah,Sdr1),
                ibu(Ibu,Sdr2),
                saudara_kandung(Ayah,Ibu).

        saudara_sepupu(Sdr1,Sdr2) :-
                ibu(Ibu,Sdr1),
                ayah(Ayah,Sdr2),
                saudara_kandung(Ibu,Ayah).

        saudara_sepupu(Sdr1,Sdr2) :-
                ibu(Ibu1,Sdr1),
                ibu(Ibu2,Sdr2),
                saudara_kandung(Ibu1,Ibu2).

%-----------------------------------------------%
%  APPLIED LOGIC SYSTEM           %
%  LAY MEDICINE  (medicine.pl)      %
%-----------------------------------------------%

% Predicate : relieve
%               relieve(DRUG,SYMPTOM).
%  SYMPTOM is a manifestation of an underlying disease process,
%  but is distinct from the disease process itself.
%
relieve(aspirin,headache).
relieve(aspirin,moderate_pain).
relieve(aspirin,moderate_arthritis).
relieve(aspirin_codeine_combination,severe_pain).
relieve(cough_cure_xm,cough).
relieve(pain_gone,severe_pain).
relieve(ko_diarrhea,diarrhea).
relieve(de_congest,cough).
relieve(de_congest,nasal_congestion).
relieve(penicillin,pneumonia).
relieve(bis_cure,diarrhea).
relieve(bis_cure,nausea).
relieve(noasprinol,headache).
relieve(noasprinol,moderate_pain).
relieve(triple_tuss,nasal_congestion).

% Predicate : aggravates
%               aggravates(DRUG,CONDITION).
%  CONDITION is a single disease process, or collection of disease process,
%  sometime called a syndrome.
%
aggravates(aspirin,asthma).
aggravates(aspirin,peptic_ulcer).
aggravates(ko_diarrhea,fever).
aggravates(de_congest,high_blood_pressure).
aggravates(de_congest,heart_disease).
aggravates(de_congest,diabetes).
aggravates(de_congest,glaucoma).
aggravates(bis_cure,diabetes).
aggravates(bis_cure,gout).
aggravates(bis_cure,fever).


%% Add fact

form_of_pain(moderate_pain).
form_of_pain(severe_pain).





%%% RULE

relieve_cold(Drug) :- relieve(Drug,cough),relieve(Drug,nasal_congestion).
relieve_cold(relieve_nose) :- relieve(relieve_nose,cough).
asthma_involved(Drug,Condition) :- aggravates(aspirin,asthma),relieve(Drug,Condition).
pain_killer(Drug) :- relieve(Drug,moderate_pain).
pain_killer(Drug) :- relieve(Drug,severe_pain).
pain_killer(Drug) :- form_of_pain(Condition),relieve(Drug,Condition).


complains_of(john,headache).
suffers_from(john,peptic_ulcer).

should_take(Person,Drug) :- complains_of(Person,Symptom),
                                        suppresses(Drug,Symptom),
                                        not(unsuitable_for(Person,Drug)).
suppresses(Drug,Symptom) :- relieve(Drug,Symptom).
unsuitable_for(Person,Drug) :- aggravates(Drug,Conditon),
                                           suffers_from(Person,Condition).

Komentar (0)        Cetak        Beri tau temen        Atas


Artikel yang berhubungan:
» Script PHP Menampilkan Hasil Pencarian Multikategori
» Menyimpan Tulisan Arab Ke MySQL
» Tentang DOM di Javascript
» Script Multiple File Upload Dengan PHP
» Ide Pembuatan Script PHP Upload Download File Via Folder
» Multi Language dengan PHP
» Tutorial membuat program java (J2ME) di HP
» Tentang Bahasa Pemrograman Web
» jQuery Ajax Display for Loading Content
» Trick Upload PHP Auto Rename
» Sejarah Pemrograman bahasa java
» Cara Membuat Rss
» Sekilas Tentang Cake PHP
» Lebih dalam dengan operasi string bag.1
» Pengenalan dan Sejarah PHP


Artikel lain:
Materi hardware dan Software (05.27.2009)