Senin, 05 November 2012

Konsep Dasar Pemrograman Berorientasi Objek


Prosedural vs OOP
Dalam dunia pemrograman, biasanya kita dihadapkan pada dua jenis metode pemrograman, yaitu pemrograman prosedural (procedural) dan pemrograman berorientasi objek (object oriented). Apa perbedaan kedua metode tersebut? Bagaimana pemrograman berorientasi objek itu dilakukan? Apa saja konsep-konsep OOP yang harus dikuasai? Tulisan ini akan menjelaskan pertanyaan-pertanyaan tersebut.
Pemrograman prosedural merupakan suatu metode menulis program yang didasarkan pada "serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur". Cara pandang pemrograman prosedural yaitu sebuah program adalah suatu urutan instruksi. Programmer harus mem-break down suatu problem/masalah menjadi sub problem yang lebih sederhana. Fokus utama metode prosedural ini adalah fungsi dan prosedur, dimana keduanya digunakan untuk memanipulasi data. Dalam hal ini data bersifat pasif.
Lain halnya dengan pemrograman berorientasi objek (OOP), fungsi dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai objek aktif. Cara pandang OOP ini yaitu sebuah program merupakanserangkaian objek yang bekerjasama untuk menyelesaikan suatu problem.
Dengan kata lain, metode prosedural berfokus pada cara komputer menangani tugas, sedangkan metode OOP berfokus pada tugas yang kita kembangkan untuk dieksekusi komputer. Kedua jenis metode pemrograman tersebut dapat digunakan untuk menangani masalah yang sama, asalkan bahasa pemrograman yang digunakan mendukung metode-metode tersebut. Contoh bahasa pemrograman yang mendukung OOP diantaranya : Java, C++, Pascal, Visual Basic .NET, Ruby, Python, PHP, C#, Delphi, Perl, dsb. Selain itu masih banyak bahasa lain yang termasuk ke dalam bahasa prosedural, atau bahkan bisa mendukung kedua metode pemrograman tersebut. Untuk lebih lengkapnya, dapat dilihat daftar bahasa pemrograman berdasarkan tipenya di sini.
Istilah-Istilah OOP
1. Objek
Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior.
Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor.
Analogi pemrograman berorientasi objek sama dengan penggambara pada dunia nyata seperti contoh di atas. Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method.
Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
2. Class
Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai instances.
Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.
Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
3. Attributes
Atribut adalah data yang membedakan antara objek satu dengan yang lainnya.
Contoh Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai atribut sebagai berikut:

  • Status ~> exploring, moving, returning home
  • Speed ~> in miles per hour
  • Temperature ~> in Fahrenheit degrees
  • check current temperature
  • begin a survey
  • report its current position
  • Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass, sehingga memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
  • Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class (abstraksi), untuk mendefinisikan class dengan tingkah laku dan state secara umum.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable.
Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang sama atau berbeda.
Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.
4. Behavior
Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).
Contoh behavior untuk objek VolcanoRobot:
Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan method.
Contoh class, object, attributes, dan behavior:
5. Abstraksi
Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Konsep Konsep OOP
1. Enkapsulasi (Encapsulation)
Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya. Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.
Contoh: jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
Dengan kata lain enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
2. Pewarisan (Inheritance)
Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.
Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk superclass.  Sepeda gunung termasuk subclass. Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.
Contoh Pewarisan
Keuntungan Pewarisan
Single & Multiple Inheritance
Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java adalah contoh single inheritance. Suatu class hanya boleh mempunyai satu superclass.
Multilevel Inheritance
Suatu subclass bisa menjadi superclass bagi class yang lain.
3. Polimorfisme
Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Kesimpulan :
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Sumber: 

Interaksi Manusia Dan Komputer


Interaksi manusia dan komputer (bahasa Inggris: human–computer interaction, HCI) adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia. Ilmu ini berusaha menemukan cara yang paling efisien untuk merancang pesan elektronik. Sedangkan interaksi manusia dan komputer sendiri adalah serangkaian proses, dialog dan kegiatan yang dilakukan oleh manusia untuk berinteraksi dengan komputer yang keduanya saling memberikan masukan dan umpan balik melalui sebuah antarmuka untuk memperoleh hasil akhir yang diharapkan
Sistem harus sesuai dengan kebutuhan manusia dan dirancang berorientasi kepada manusia sebagai pemakai.

Ada tiga sub-bidang studi yang berhubungan dengan interaksi dengan komputer :
Ergonomi dimana interaksi manusia-komputer berkaitan dengan bentuk fisik dari mesin.
Faktor manusia berkaitan dengan masalah- masalah psikologis.
Interaksi manusia dan komputer mengkaji bagaimana hubungan-hubungan yang terjadi antar ilmu komputer desain terkait dengan manusia dengan komputer.
bagi para perancangnya alat fisik interaksi antarmuka komputer sering diuji, sehingga memungkinkan pertukaran informasi.
Beberapa aspek yang menjadi fokus dalam perancangan sebuah antarmuka adalah :
Metodologi dan proses yang digunakan dalam perancangan sebuah antarmuka.
Metode implementasi antarmuka.
Metode evaluasi dan perbandingan antarmuka.
Pengembangan antarmuka baru.
Mengembangkan sebuah deskripsi dan prediksi atau teori dari sebuah antarmuka baru.


Contoh:
Dalam interaksi manusia dengan komputer terdapat beberapa panca indera digunakan untuk dapat berinteraksi----: Manusia mewujudkan fisiologi yang diperlukan untuk menyerap informasi dalam bentuk suara. Sama seperti mata dapat melihat berbagai variasi cahaya - rona, briteness, kontras - telinga mampu penginderaan array yang luas dari suara melalui perubahan timbre, kenyaringan, dan pitch. Pikiran kemudian dapat mengasosiasikan suara ini dengan peristiwa, objek, atau gagasan abstrak. Paling sering, suara-sebagai-informasi ada sebagai pidato atau musik, dan memang ini akan terus di Internet. Audio konten juga umumnya dihasilkan oleh mesin untuk menyampaikan informasi, dan penggunaan ini juga akan terus di Internet.
Contoh: Dalam sebuah rumah sakit, suara Mengenal dari elektrokardiograf (EKG) berbunyi 'bip' dalam irama ke jantung; pager alert wanita di sebuah sudut jalan, telegraf memancarkan klik merata-spasi dalam kode Morse. Semua ini adalah contoh menampilkan pendengaran, suara yang dibuat oleh sebuah mesin dalam rangka berhubungan informasi. Di zaman ketika bahasa telah menjadi bentuk komunikasi dominan, suara memainkan peran penting dalam hidup kita.

MEDIA ANTARMUKA MANUSIA DAN KOMPUTER
Media Tekstual
Adalah ”bentuk sederhana dialog atau komunikasi antara manusia dan komputer yang hanya berisi teks dan kurang menarik”. Salah satu contoh antarmuka manusia dan komputer berbentuk teks yang menggunakan bahasa pemrograman PASCAL adalah readln dan writeln.
Media GUI (Graphical User Interface)
Adalah ”bentuk dialog atau komunikasi antara manusia dan komputer yang berbentuk grafis dan sangat atraktif”. Contoh antarmuka manusia dan komputer yang berbentuk grafis menggunakan pemrograman visual (Visual Basic, Visual Foxpro, Delphi dan lain-lain).
TUJUAN INTERAKSI MANUSIA DENGAN KOMPUTER
Tujuan utama disusunnya berbagai cara interaksi manusia & komputer :
untuk mempermudah manusia dalam mengoperasikan komputer dan mendapatkan berbagai umpan balik yang ia perlukan selama ia bekerja pada sebuah sistem komputer. Para perancang antarmuka manusia dan komputer berharap agar sistem komputer yang dirancangnya dapat bersifat akrab dan ramah dengan penggunanya (user friendly).
Sebagai contoh, misalnya sebuah komputer lengkap dipasang pada sebuah tempat yang tidak nyaman bagi seorang pengguna yang menggunakan. Atau keyboard yang digunakan pada komputer tersebut tombol-tombolnya keras sehingga susah untuk mengetik sesuatu.
Contoh-contoh diatas merupakan beberapa hal mengapa kita membutuhkan mempelajari Interaksi Manusia dan Komputer.
Kita butuh Interaksi manusia komputer adalah agar kita lebih cepat dalam menyelesaikan suatu pekerjaan. serta dapat membuat waktu pengerjaannya lebih cepat dan tidak membutuhkan banyak biaya dalam membuat suatu pekerjaan.

Sumber:
http://id.wikipedia.org/wiki/Interaksi_manusia-komputer
http://kumala-thekumalas.blogspot.com/2012/04/interaksi-manusia-dan-komputer.html

Sistem Berbasis Pengetahuan


Domain Penelitian pada AI ( Kecerdasan Buatan )
1.    Mundane task
·      Persepsi (vision & speech).
·      Bahasa alami (understanding, generation & translation).
·      Pemikiran yang bersifat commonsense.
·      Robot control.
2.    Formal task
·      Permainan/games.
·      Matematika (geometri, logika, kalkulus integral, pembuktian).
3.    Expert task
·      Analisis finansial.
·      Analisis medikal.
·      Analisis ilmu pengetahuan.
·      Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur).


Dua bagian utama dalam AI ( Kecerdasan Buatan )
a. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.

b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.

Perbandingan Kecerdasan Alamiah dan Kecerdasan Buatan
Kecerdasan Buatan

- bersifat permanen
- lebih murah
- konsisten
- dapat didokumentasi
- lebih cepat
- dapat mengerjakan pekerjaan lebih baik

Kecerdasan Alami

- cepat mengalami perubahan
- proses transfer dari manusia satu ke lainnya membutuhkan proses yang lama
- lebih mahal karena tidak jarang harus mendatangkan orang untuk suatu pekerjaan sering   berubah-ubah ( sifat manusia)
- sulit direproduksi
- lebih lambat
- sering kali kurang teliti


Katagori Knowledge
·         Procedural Knowledge   : bagaimana melakukan sesuatu
·         Declarative Knowledge   : mengetahui sesuatu itu benar atau salah
·         Tacit Knowledge              : tidak dapat diungkapkan dengan bahasa


Kesalahan dalam Tahap Pengembangan
·         Kesalahan pengetahuan pakar (expert’s knowledge errors)
Jika knowledge yang berasal dari pakar mengandung kesalahan maka kesalahan  berlanjut pada keseluruhan  proses pengembangan sistem.
·         Kesalahan semantic (semantic errors)
Kesalahan semantik terjadi jika arti dari knowledge tidak dikomunikasikan secara tepat.
·         Kesalahan sintaks (syntax errors)
Kesalahan ini terjadi jika  bentuk aturan atau fakta yang tidak tepat dimasukkan ke dalam sistem.
·         Kesalahan mesin inferensi (inference engine errors)
Secara umum, bugs mesin inferensi dapat muncul pada saat operasi pencocokan pola (pattern matching), konflik, dan eksekusi, dan akan sulit dideteksi jika bugs ini tidak konsisten.
·         Kesalahan rangkaian inferensi (inference chain errors)
Kesalahan ini dapat disebabkan oleh kesalahan knowledge, kesalahan semantik, bugs inferensi engine, spesifikasi prioritas aturan (rule) yang tidak tepat, dan interaksi antar rule yang tidak diperhitungkan.
·         Kesalahan batas ketidaktahuan/ batas toleransi terhadap kekurangan (limits of ignorance errors)
Salah satu masalah yang umum dihadapi semua tahap  pengembangan adalah menentukan batas toleransi terhadap kekurangan oleh sistem.


Teknik representasi pengetahuan mencakup
-          Baris
-          Jaringan semantic
-          Frame
-          Scrips
-          Bahasa representasi pengetahuan

Metode Pelacakan
A.   Pencarian buta (blind search) : tidak ada informasi awal yang digunakan dalam proses pencarian.

1.    Pencarian melebar pertama (Breadth – First Search)

2.    Pencarian mendalam pertama (Depth – First Search)

B.   Pencarian terbimbing (heuristic search) : adanya informasi awal yang digunakan dalam proses pencarian.

       1. Pendakian Bukit (Hill Climbing)

       2. Pencarian Terbaik Pertama (Best First Search)

Operator Logika

1) Konjungsi adalah penggabungan dua pernyataan atau lebih dengan operator “dan”.
p ∧ q : p dan q
2) Disjungsi adalah penggabungan dua pernyataan atau lebih dengan operator “atau”.
p ∨ q : p atau q
3) Implikasi adalah penggabungan dua pernyataan dengan operator “Jika …, maka …”.
p ⇒ q : Jika p maka q
4) Biimplikasi adalah penggabungan dua pernyataan dengan operator “… jika dan hanya jika …”
p ⇔ q : p jika dan hanya jika q
Nilai Kebenaran Konjungsi, Disjungsi, Implikasi, dan Biimplikasi


Kesimpulan: perhatikan nilai kebenaran yang tercetak tebal
1) Konjungsi akan bernilai benar (B), jika kedua premis benar,
2) Disjungsi akan bernilai salah (S), jika kedua premis salah
3) Implikasi akan bernilai salah (S), jika premis sebelah kiri benar (B) dan kanan salah (S)
4) Biimimplikasi akan bernilai benar (B), jika premis kiri dan kanan kembar

Simbol Quantifier
Q (quantifier) menggambarkan porsi dari kelas yang diketahui.
a.    Quantifier “semua” dan “tidak” adalah universal karean menunjukkan keseluruhan kelas.
b.    “beberapa” adalah khusus (particular) karena hanya menunjukkan satu bagian dari kelas yang diketahui.

Terdapat 2 quantifier logika, yaitu 1) existential quantifier, ∃, yang berarti “di sana ada”; dan 2) universal quantifier, ∀, yang berarti “untuk semua”



Logika Konektif ( AND ..OR ) , Logika Kalkulus
Logika Konektif ( AND ..OR )
-          Logika AND
Operator ini menyaratkan pernyataan gabungan akan bernilai benar hanya jika tiap pernyataan yang digabungkan bernilai benar. Dalam bahasa matematika operator AND ini dilambangkan dengan tanda "∧", sedangkan dalam kalimat sehari-hari biasanya digunakan kata “dan”.
-          Logika OR
Operator ini menyaratkan pernyataan gabungan akan bernilai benar jika salah satu pernyataan yang digabungkan bernilai benar. Dalam bahasa matematika operator OR ini dilambangkan dengan tanda "∨", sedangkan dalam kalimat sehari-hari biasanya digunakan kata “atau”.

Logika Kalkulus
-       Exixtensial Quantifier
·         Menunjukkan semua kalimat adalah benar untuk suatu nilai tertentu dalam sebuah domain.
·         Direpresentasikan dengan symbol ∃ diikuti satu atau lebih argument.
·         Symbol ∃ diinterpretasikan “terdapat” atau “ada”, “paling sedikit satu”, “terdapat satu”, “beberapa”.
-          Universal Quantifier
·         Menunjukkan semua kalimat adalah benar untuk semua nilai variabelnya.
·         Direpresentasikan dengan symbol ∀ diikuti satu atau lebih argument untuk suatu domain variable.
·         Symbol ∀ diinterpretasikan “untuk setiap” atau “untuk semua”.


Penalaran Logika
Penalaran Deduktif yang kadang disebut logika deduktif, penalaran ini membangun atau mengevaluasi argumen secara deduktif. Dimana, argumen ini dinyatakan deduktif jika kebenaran dari kesimpulan ditarik atau merupakan konsekuensi logis dari premis-premisnya. Argumen deduktif dinyatakan valid atau tidak valid, bukan benar atau salah. Sebuah argumen deduktif dinyatakan valid jika dan hanya jika kesimpulannya merupakan konsekuensi logis dari premis-premisnya.
Penalaran Deduktif
- Jika semua premis benar maka kesimpulan pasti benar
- Semua informasi atau fakta pada kesimpulan sudah ada, sekurangnya secara implisit, dalam premis.
Penalaran induktif atau kadang disebut logika induktif adalah penalaran yang berangkat dari serangkaian fakta-fakta khusus untuk mencapai kesimpulan umum.
Penalaran Induktif
- Jika premis benar, kesimpulan mungkin benar, tapi tak pasti benar.
- Kesimpulan memuat informasi yang tak ada, bahkan secara implisit, dalam premis.



Tahapan Pengembangan Sistem Pakar
-      Studi Kelayakan (Feasibility Study) : Studi literatur dan studi perbandingan untuk menentukan kelayakan proyek
-      Pembuatan Prototype (Rapid Prototype) : Dibuat prototipe sistem pakar untuk mendemonstrasikan ide, menimbulkan antusias dan perhatian dari manajemen tingkat atas
-          Perbaikan Sistem (Refined System)  Î± – test : Verifikasi sistem pakar disesuaikan dengan masalah yang sebenarnya oleh knowledge engineer dan pakar
-         Uji Lapangan (Field Testable) β – test : Sistem diuji oleh user yang bukan knowledge
engineer atau pakar.
-         Kelayakan Sistem Secara Komersial (Commercial Quality System)
Validasi dan pengujian , Dokumentasi user , Training , User support melaui telepon dan atau email
-        Pemeliharaan & Evolusi (Maintenance & Evolution) : Memperbaiki bugs , Meningkatkan Kemampuan


 
Model-model Sistem Pakar
-       Model Air Tejun (Waterfall Model)
Setiap  tahapnya diakhiri dengan validasi dan verifikasi untuk meminimalkan masalah yang mungkin terjadi pada tiap  tahapannya.
-       Model Code-and-Fix
Model ini mengembangkan software dengan cara membuat program dan kemudian diperbaiki jika terdapat kesalahan.
-       Model incremental (Incremental waterfall model)
Merupakan perbaikan dari  model waterfall dan sebagai standar pendekatan  top-down. Model incrementa ini diaplikasikan pada  sistem pakar dengan penambahan rules yang mengakibatkan bertambahnya kemampuan fungsional sistem.
-       Model Spiral
Salah satu cara untuk memvisualisasikan model incremental adalah dengan mengadaptasi model  spiral konvensional.
Lintasan pada gambar spiral menambahkan kemampuan fungsional pada  sistem.
-       Model Linier
Model siklus hidup yang telah berhasil diterapkan pada sejumlah proyek pengembangan sistem pakar adalah model linier. Siklus ini terdiri dari sejumlah tahap mulai dari perencanaan (planning) hingga evaluasi sistem (system evaluation) dan akan berulang  hingga sistem diimplementasikan, yang kemudian sistem akan memasuki tahap pemeliharaan dan evolusi.

Sumber:
http://vdeeaa.blogspot.com/2012/01/sistem-berbasis-penfetahuan.html

Contoh Aplikasi Grafik Komputer dan Pengolahan Citra


1.     Grafik Komputer

* Dalam proses desain grafika komputer terutama digunakan pada sistem engineering dan arsitektur. Pada umumnya Computer Aided Design (CAD) digunakan untuk pembuatan desain mobil, bangunan, pesawat terbang, kapal, komputer, tekstil, dan lain-lain. Pada beberapa aplikasi desain, objek ditampilkan dalam bentuk wireframe, dimana diperlihatkan keseluruhan bentuk, dengan bentuk internal dari objek tersebut. Penggunaan wireframe bermanfaat bagi designer untuk melihat isi dari objek tersebut..

* Grafik Presentasi
Bidang lain yang berhubungan dengan grafika komputer adalah grafik presentasi yang dapat berupa cetakan, slide, dan transparansi. Grafik presentasi biasanya digunakan untuk melengkapi laporan keuangan, sains, data ekonomi, dan lain-lain. Bentuk grafik presentasi tersebut adalah chart, bar chart, pie chart, dan lain-lain.

* Computer Art
Metode grafika komputer digunakan dalam aplikasi commercial art dan fine art. Seniman menggunakan bermacam-macam perangkat lunak grafik, dan kadang dilengkapi dengan perangkat keras khusus. Contoh perangkat lunak yang digunakan yaitu Corel Draw, Adobe Photoshop, Adobe Ilustrator, Macromedia, dan sebagainya.

* Film
Pada pembuatan film layar lebar, komputer banyak digunakan untuk menunjang proses pemodelan, visualisasi, dan editing. Misalnya dalam proses special effect, film animasi.

2.     Pengolahan citra

Secara umum operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis berikut :
1. Perbaikan Kualitas citra (image enhancement)
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini ciri-ciri khusus yang terdapat pada citra lebih ditonjolkan.
Yang termasuk dalam klasifikasi ini antara lain:
a. Perbaikan kontras gelap / terang (contrast enhncement).
b. Perbaikan tepian objek (edge enhancement)
c. Penajaman (sharpening)
d. Pemberian warna semu (pseudocoloring)
e. Penyaringan derau (noise filtering)
2. Pemugaran Citra (image restoration)
Operasi ini bertujuan untuk menghilangkan / meminimumkan cacat pada citra Tujuan pemugaran citra hampir sama dengan perbaikan.
Yang termasuk dalam klasifikasi ini antara lain:
a. Penghilangan kesamaran (debluring).
Penghilangan derau (noise)

3. Pemampatan Citra(image compression)
Operasi ini bertujuan untuk memampatkan citra sehingga memori yang dibutuhkan untuk menyimpan citra lebih kecil, tetapi hasil citra yang telah dimampatkan tetap memiliki kualitas gambar yang bagus.
Contohnya adalah metode JPEG.
4. Segmentasi citra (image segmentation)
Operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini erat kaitannya dengan pengenalan pola.

5. Analisis citra (image analysis)
Operasi ini bertujuan untuk menghitung besaran kuantitatif citra untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertetntu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Yang termasuk dalam klasifikasi ini antara lain:
a. Pendeteksian tepian (edge detection).
b. Ekstraksi batas (boundary)
c. Representasi daerah (region)
6. Rekonstruksi citra (image reconstruction)
Operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. operasi rekonstruksi citra banyak digunakan dalam bidang medis.
Contohnya adalah foto rontgen dengan sinar X digunkan untuk membentuk ulang gambar organ tubuh.
Pengolahan citra mempunyai aplikasi yang sangat luas dalam berbagai bidang kehidupan kita antar lain :
1. Bidang Militer
a. Mengenali sasaran peluru kendali melalui sensor visual.
b. Mengidentifikasi pesawat musuh melalui radar.
c. Teropong malam hari (night vision)
2. Bidang Medis / Kedokteran
a. Mendeteksi retak/patah tulang dengan CT Scan.
b. Rekonstuksi foto janin (USG).
c. Mendeteksi kanker (kanker otak)
3. Bidang Biologi
Pengenalan jenis kromosom melalui gambar mikroskopis
4. Bidang Pendidikan
Pengolahan pendaftaran mahasiswa menggunakan scanner.
5. Bidang Geografi dan Geologi
a. Pemetaan batas wilayah melalui foto udara / Landsat.
b. Mengenali jenis dan bentuk lapisan batuan bawah permukaan bumi melalui rekonstruksi hasil seismik.
6. Bidang Kepolisian / Hukum
a. Pengelan pola sidik jari (finger print).
b. Rekonstruksi wajah pelaku kejahatan.
c. Pengenalan pola hasil uji balistik.
7. Bidang Perdagangan
a. Pembacaan barcode pada barang di swalayan.
Mengenali huruf / angka pada suatu formulir secara otomatis.
8. Bidang Hiburan
Pemampatan video (MPEG).
9. Komunikasi data
Pemampatan citra yang ditransmisi (Internet).

Sumber:
http://chiaisadora.wordpress.com/2011/10/11/contoh-aplikasi-grafik-komputer-dan-pengolahan-citra/

Media Intergratif


ELEMEN VIDEO DALAM MULTIMEDIA

VIDEO

Video ialah kombinasi audio dan siri bingkai imej dalam bentuk digital secara selari yang berasaskan masa. Menyediakan kaedah penyaluran maklumat yang amat menarik serta merupakan elemen atau media yang paling dinamik serta efektif dalam menyampaikan sesuatu maklumat. Ia juga sebagai penyimpan maklumat dan sumber rujukan yang berkesan.

Video di TV ialah video analog direkod secara magnetik dalam pelbagai tape format seperti VHS. Signal analog berasal daripada proses encoding serta piawaian untuk signal vedio ialah encoding dan decoding oleh NTSC. Video menyediakan sumber yang meluas dan berguna untuk aplikasi multimedia. Teknik pemampatan video menggunakan dua teknik asas iatitu interfram, mampatan berlaku antara fram dan intrafram, mampatan berlaku dalam fram. Terdapat 5 jenis video yang digunakan sebagai objek pautan dalam aplikasi multimedia iaitu :
1) Live Video Feeds
Merupakan objek masa nyata yang menarik sebagi pautan dalam aplikasi multimedia. Diambil dalam masa yang nyata dan sama. Contoh, Perlawanan bola sepak secara langsung

2) Video Tape
Penggunaan yang kurang meluas pada masa kini – 2003. Memerlukan satu pemain CVR untuk dimainkan dan banyak dijual atau disewa di kedai-kedai. Boleh dijadiakn sebagai objek pautan multimedia.Terdapat 2 faktor limitasi iaitu secara linear dan pemain video tape bukan kawalan komputer.

3) Videodisc
Format bagi videodisc ini terbahagi kepada 2 iaitu CAV dan CLV. CAV boleh menyimpan data sehingga 54,000 fram pegun. CLV boleh menyimpan data sehungga beberapa jam video untuk setiap permukaan disk serta mempunyai capaian rawak yang cepat dan keperluan minima untuk dicapai oleh komputer multimedia.

4) Digital Video
Digunakan pada rangkaian komputer.Pemprosesan yang berkeupayaan tinggi boleh memainkan video denagn skrin penuh tanpa alatan sokongan lain. Kualiti filem lebih baik.

5) Hipervideo
Mempunyai soundtrack dan dimainkan berulang kali.Video dibenarkan untuk dimainkan secara selari dengan persembahan multimedia, dirujuk sebagai hipervideo

Piawaian video terbahagi kepada 4 iaitu :
1) NTSC
- Digunakan di US dan Jepun
- Terdapat dua medan
- Imej dipapar menerusi 2 passess ( setiap passess selama 1/60 saat)
- Monitor komputer gunakan teknologi ‘progressive-scan’

2) PAL
- Digunakan di Eropah, UK, Australia, Afrika Selatan dan Asia
- 50 field / saat
- 25 fram / saat
- 625 garisan / frame

3) SECAM
- Digunakan di Perancis dan Rusia
- Ada memori dan berwarna
- Berbeza dengan PAL dan NSTC pada teknologi dan teknik penyiaran
- 625 garisan / fram
- 50 field / saat

4) HDTV
- Merupakan teknologi baru
- Ratio 16.9 ( 1280 x 720 )


Audio ialah gelombang bunyi yang boleh ditafsir oleh telinga manusia. Ia Membantu menyampaikan maklumat dengan lebih berkesan melalui penggunaan suara latar. Ia dapat meningkatkan daya tarikan terhadap sesuatu persembahan dan berupaya meningkatkan daya tumpuan terhadap isi persembahan. Kualiti bunyi bergantung kepada frequency – hertz (hz) dan loudness – decibel (Db).

Audio terbahagi kepada dua iaitu mono dan stereo. Mono merupakan bunyi kepada satu saluran sahaja, kurang realistik dan kurang bunyi. Manakala stereo merupakan bunyi kepada dua saluran, realistik, berkualiti serta bersaiz dua kali dari mono. Pengiraan saiz fail bergantung kepada masa rakaman, kadar sampel, bit sampel, mono atau stereo.

Terdapat 5 jenis audio yang digunakan dalam multimedia iaitu :

1) Audio

Digunakan untuk merakam bunyi yang didengar. Bentuk gelombang pada bunyi menerangkan tentang amplitude, frekuensi dan kandungan yang harmoni.Format fail audio ialah wave.

2) Midi
Kemudahan yang efisien untuk merakam muzik. Merakam maklumat persembahan dalam chip sound pada komputer untuk memainkan muzik. Terdapat MIDI kod untuk mengubah suai muzik menjadi perlahan, kuat, tukar kualiti dan tambah kesan bunyi. Kebaikan Midi ialah mempunyai fail yang lebih kecil dan padat, kualiti muzik yang bermutu serta mudah untuk melakukan ubahsuai fail. Kelemahan Midi pula tidak boleh digunakan untuk memainkan dialog perbualan.

3) Audio Cakera Padat.
CD audio boleh menyimpan data selama 75 minit dengan kadar sampling 44,100 sampels per saat. Keupayaan cepat untuk merakam video. Banyak digunakan untuk lagu yang dirakam dan berkualiti.

4) MP3
Format fail audio yang boleh menggunakan codec audio MPEGuntuk enkod dan dekod muzik yang dirakam.Boleh mampat track audio CD dalam saiz yang kecil. Pemain MP3 untuk memainkan fail MP3.

5) HiperAudio
Dimainkan secara berulang kali. Audio dibenarkan untuk dimainkan secara selari dengan persembahan multimedia, dirujuk sebagai hiperaudio.

Grafik merupakan elemen yang paling penting dan memberi penekanaan secara visual terhadap sesuatu persembahan maklumat. Merupakan penggunaan visual untuk menerangkan konsep yang tidak dapat atau sukar untuk diterangkan oleh teks. Membantu mempercepatkan penyampaian sesuatu maklumat dengan lebih berkesan serta menjadikan lebih menarik.Grafik dikenali sebagai objek pautan yang selalu dilihat sebagai latar belakang kepada teks. Kualiti projek multimedia bergantung kepada gambar grafik. Di dalam grafik terdapat beberapa format fail seperti bmp, gif, jpg, mac, png dan sebagainya.


5 jenis grafik :
1) Bitmaps
Gambar yang disimpan sebagai satu set gabungan piksel yang disusun dalam titik grid pada skrin komputer.Selalu digunakan untuk gambar yang realistik dan lukisan yang kompleks. Setiap piksel mempunyai ciri-ciri mendatar, menegak, warna dan kecerahan. Setiap piksel ini disimpan sebagai bit.Bitmaps boleh dicipta dengan kaedah seperti melakarkan imej menggunakan perisian lukisan, mengimbas gambar bitmap dan muat-turun imej melalui web, imej dalam program lain.Kualiti imej bergantung kepada peleraian imej, bit dan monitor. Perubahan pada saiz imej akan menyebabkan perubahan pada kualiti imej.

2) Vektor
Menyimpan satu set persamaan matematik yang dipanggil algoritma yang menakrifkan lengkungan, garis lurus dan bentuk sesuatu gambar. Boleh mencipta grafik 3 Dimensi. Apabila membesar atau mengecilkan imej tidak akan mengubah kualiti imej.Saiz failnya kecil dan mudah muat-turun daripada internet.

3) Klip Art
Merupakan ilustrasi elektronik yang boleh dimasukkan pada dokumen.Menjimatkan masa dan sesuai digunakan untuk projek multimedia

4) Gambar Digital
Gambar foto, gambar daripada buku boleh didigitalkan seluruhnya dan dipautkan ke dalam projek multimedia

5) Gambar Hiper
Imej yang dijadikan sebagai pemancu untuk dipautkan kepada teks, grafik, sound, atauvideo pada komputer atau alamat web.Mempunyai konsep hiperteks.Pemacu boleh mempunyai saiz dan bentuk yang berbeza.

Terdapat beberapa perisian grafik iaitu :
1) Paint Program
Membenarkan penciptaan imej bebas, imej di simpan dalam bentuk bitmap dan mudah untuk di edit.
2) Program Ilustrasi / Rekabentuk
Paint program yang lebih baik dengan ciri-ciri tambahan diwujudkan. Imej dismpan dalam bentuk vektor.

3) Perisian Grafik Persembahan
Membenarkan penciptaan carta bar, carta paid an imej untuk tujuan persembahan.
4) Perisian Animasi
Membenarkan proses penyusunan imej secara bersiri untuk menunujukan pergerakan.
5) Perisian CAD
Keperluan kepada arkitek dan jurutera untuk mereka bentuk bangunan dan sebagainya.

6) Penerbitan Atas –Meja
Menyediakan ciri-ciri pemprosesan perkataan yang lengkap dengan kemudahan teksserta grafik untuk penghasilan dokumen, kulit buku, pengiklanan dan sebagainya.

Sumber:
http://syahirahcct2013.blogspot.com/

Pelatihan Pengembangan Sistem E-Learning dan Konten Multimedia


E learning adalah istilah yang digunakan untuk sistem pembelajaran yang ditunjang dengan teknologi informasi dan komunikasi (TIK), diperluas dengan memasukkan komputer, perangkat mobile seperti seluler, PDA, dan mp3 player. Pembelajaran elektronik ini juga memasukkan unsur-unsur penggunaan bahan pembelajaran berbasis web, hypermedia dalam blog, wiki, chat, ujian berbasis komputer, animasi, simulasi, permainan, learning management software, electronic voting system, survey, dengan kombinasi beragam metode yang digunakan.

Pengembangan e-Learning sangat diperlukan untuk menunjang pembelajaran konvensional serta menyiapkan media media untuk menciptakan lingkungan belajar yang fleksibel, mudah untuk diakses darimana saja dan kapan saja. Dengan sistem e-learning, peserta dapat mengikuti kelas serta ikut ujian dari tempat bekerja atau tempat tinggalnya. Selain itu dengan media digital, bahan ajar e-learning dapat lebih diperkaya dengan menyediakan paduan teks, video dan audio, yang dilengkapi dengan simulasi dan animasi.

Sistem e-learning yang dimiliki suatu intitusi merupakan investasi yang sangat penting untuk meningkatkan kualitas sumber daya manusia yang dimiliki. Sistem ini dapat membantu menciptakan budaya belajar dan mengajar yang fleksibel sesuai dengan perkembangan tuntutan kebutuhan pembelajaran oleh masyarakat luas. Sistem ini juga dapat meningkatkan kompetisi dan kompetensi SDM tanpa harus meninggalkan tugas-tugas yang diembannya.

Pelatihan Pengembangan Sistem e-Learning & Konten Multimedia adalah pelatihan terintegrasi untuk mengembangkan sistem e-learning beserta kontennya (materi online dalam bentuk paduan teks, foto, audio, dan video). Keberhasilan dalam pengembangan
sistem e-learning ini merupakan usah abersama yang melibatkan subject-matter specialists, instructional designers serta informations technologists, dengan dukungan
penuh dari pengelola institusi. Oleh karena itu peserta pelatihan dari sebuah institusi diharapkan juga merupakan kombinasi dari beberapa unsur keahlian di atas.

Materi pelatihan akan mencakup pengantar perkembangan pendukung e-learning, filosofi, metode pembelajaran berbasi e-Learning, ragam Learning Management System (LMS), penyiapan server, pengenalan webserver & system database, pengenalan webpage, Pengenalan Editor, Instalasi, Administrasi Sistem, Administrasi USer, Administrasi Kursus, Pembuatan Konten Multimedia berbasis producer, pembuatan konten multimedia berbasis SCORM/AICC.


Sumber:
http://www.pmo.itb.ac.id/web/?page_id=115

Pengertian Prolog Dan Contohnya

Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique(pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.

Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, BASIC, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.

Contohnya adalah pembuatan menara hanoi, dimana memindahkan sebuah balok atau N disk pada ujung kiri ke ujung kanan menggunakan perantara tengah tersebut. Dimana akhirnya akan sama dengan posisi semula. Contoh pada gambar adalah N=3 disk (balok).

Source code :
  1. /****************************************************************/
  2. /* TOWERS OF HANOI */
  3. /* =============== */
  4. /* */
  5. /* Call the predicate hanoi with the number of discs, you want. */
  6. /****************************************************************/
  7. DOMAINS
  8. TIME, ROW, COL, NUMBER = INTEGER

  9. PREDICATES
  10. hanoi( NUMBER )
  11. move( NUMBER, NUMBER, ROW, ROW, ROW, COL, COL, COL )
  12. inform( NUMBER, NUMBER, ROW, ROW, COL, COL )
  13. makepole( NUMBER, NUMBER, COL)
  14. dd(TIME)
  15. move_vert(COL,NUMBER,ROW,ROW)
  16. move_horizon(ROW,NUMBER,COL,COL)
  17. keyact(CHAR)
  18. gendelay
  19. showdelay
  20. nondeterm for(INTEGER,INTEGER,INTEGER)
  21. fill

  22. DATABASE
  23. determ delay(INTEGER)

  24. CLAUSES
  25. for(X,X,_).
  26. for(I,A,B):-B>A,A1=A+1,for(I,A1,B).
  27. fill:- % fill current window.
  28. makewindow(_,_,_,_,_,_,ROWS,COLS),
  29. RR=ROWS-1, CC=COLS-1,
  30. for(COL,0,CC),for(ROW,0,RR),
  31. scr_char(ROW,COL,'°'),
  32. fail.
  33. fill.
  34. gendelay :- inkey(CH), keyact(CH),showdelay,!.
  35. gendelay :- delay(DELAY),!, dd(DELAY).
  36. gendelay.
  37. dd(0):-!.
  38. dd(N):-N1=N-1,dd(N1).
  39. keyact('+'):-
  40. retract(delay(VAL)),VAL1=VAL+1+VAL div 10,
  41. VAL1<=25000,!,assert(delay(VAL1)).
  42. keyact('+'):-!,assert(delay(25000)).
  43. keyact('-'):-
  44. retract(delay(VAL)),VAL1=VAL-1-VAL div 10,
  45. VAL1>=0,!,assert(delay(VAL1)).
  46. keyact('-'):-!,assert(delay(0)).
  47. keyact(_):-retractall(delay(_)),assert(delay(0)).

  48. showdelay:-
  49. delay(DELAY),gotowindow(2),
  50. clearwindow,
  51. write("Delay= ",DELAY),gotowindow(1).
  52. hanoi(N) :-
  53. N<=13,!,
  54. textmode(ROWS,COLS),
  55. makewindow(4,7,0,"",0,0,ROWS,COLS),
  56. fill,
  57. ROWS1=ROWS-1,
  58. makewindow(3,40,0,"",ROWS1,0,1,COLS),
  59. write(" + Improve delay, - Lower delay, Other keys removes delay"),
  60. VB=2+6*N,VH=3+N,CV=N, CM=3*N, CH=5*N,
  61. STCOL=(79-6*N) div 2, STROW=(25-VH) div 2 -1,
  62. STROW1=STROW+1+VH,
  63. makewindow(2,74,0,"DELAY",STROW1,34,1,13),
  64. makewindow(1,7,52,"Hanoi",STROW,STCOL,VH,VB),
  65. retractall(delay(_)),
  66. makepole(N,N,CV),
  67. assert(delay(100)),
  68. showdelay,
  69. move(N,N,0,0,0,CV,CM,CH),
  70. cursor(0,0), write("Press any key"),readchar(_).
  71. hanoi(_):- write("maximum 13 disc's\n").
  72. move(H,1,HA,_,HC,CA,_,CH):-!,inform(H,1,HA,HC,CA,CH).
  73. move(H,N,HA,HB,HC,CA,CB,CC):-
  74. N1=N-1,
  75. HA1=HA+1,
  76. move(H,N1,HA1,HC,HB,CA,CC,CB),
  77. inform(H,N,HA,HC,CA,CC),
  78. HC1=HC+1,
  79. move(H,N1,HB,HA,HC1,CB,CA,CC).
  80. inform( H, N, H1, H2, C1, C2 ) :-
  81. C11=C1-N, C22=C2-N, NN=2*N,
  82. H11=H-H1, H22=H-H2,
  83. move_vert(C11,NN,H11,1),
  84. move_horizon(1,NN,C11,C22),
  85. move_vert(C22,NN,1,H22).
  86. makepole(_,0,_):-!.
  87. makepole(H,N,C):-HH=H-N,inform(H,N,HH,HH,C,C), N1=N-1, makepole(H,N1,C).
  88. move_vert(_,_,H,H):-!.
  89. move_vert(COL,SIZE,H1,H2):-H1

  90. H11=H1+1,
  91. field_attr(H11,COL,SIZE,112),
  92. field_attr(H1,COL,SIZE,7),gendelay,gendelay,
  93. move_vert(COL,SIZE,H11,H2).
  94. move_vert(COL,SIZE,H1,H2):-H1>H2,!, /* move down */
  95. H11=H1-1,
  96. field_attr(H11,COL,SIZE,112),
  97. field_attr(H1,COL,SIZE,7),gendelay,gendelay,
  98. move_vert(COL,SIZE,H11,H2).
  99. move_horizon(_,_,H,H):-!.
  100. move_horizon(ROW,SIZE,C1,C2):-C1
  101. C11=C1+1, HH=C1+SIZE,
  102. field_attr(ROW,HH,1,112),
  103. field_attr(ROW,C1,1,7),gendelay,
  104. move_horizon(ROW,SIZE,C11,C2).
  105. move_horizon(ROW,SIZE,C1,C2):-C1>C2,!, /* move left */
  106. C11=C1-1, HH=C11+SIZE,
  107. field_attr(ROW,C11,1,112),
  108. field_attr(ROW,HH,1,7),gendelay,
  109. move_horizon(ROW,SIZE,C11,C2).

  110. GOAL hanoi(12).

Sumber: 
 http://id.wikipedia.org/wiki/Prolog
http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_3.html

Pengertian Visual Basic (VB)

Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda.[1] Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan.[1] Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas.[1]Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java. 

perkembangan Visual Basic VB 1.0 dikenalkan pada tahun 1991, pendekatan yg dilakukan untuk menghubungkan bahasa pemrograman dengan GUI berasal dari prototype yg dikembang oleh “Alan Cooper” yg di sebut TRIPOD, Kemudian Microsoft mengontrak copper dan asosiasinya utk mengembangkan tripod agar dapat digunakan di windows 3.0 dibawah nama kode Ruby.[3] Berikut Perjalanan Visual Basic (VB 1.0 Sampai VB 8) :[1] Perjalanan dari Visual Basic (VB1 to VB 10):[4]
1. Proyek “Thunder” dirintis
2. Visual Basic 1.0 (May 1991) di rilis untuk windows pada COMDEX/Windows Wordltrade yg dipertunjukan di Atlanta , Georgia
3. Visual Basic 1.0 untuk DOS dirilis pada bulan September 1992. Bahasa ini tidak kompatibel dengan Visual Basic For Windows. VB 1.0 for DOS ini pada kenyataaanya merupakan versi kelanjutan dari compiler BASIC, QuickBasic dan BASIC Professional Development System
4. Visual Basic 2.0 dirilis pada November 1992, Cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di modifikasi. Khususnya pada Form yg menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yg berikutnya di implementasikan pada VB 4
5. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versi standard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau access) 1.x
6. Visual Basic 4.0 (Agustus 1995) merupakan versi pertama yg dapat membuat windows program 32 bit sebaik versi 16 bit nya. VB 4 juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic
7. Visual Basic 5.0 (February 1997), Microsoft merilis secara eksklusif Visual basic untuk versi windows 32 bit . Programmer yg menulis programnya pada versi 16 bit dapat dengan mudah melakukan import porgramnya dari VB4 ke VB5. dan juga sebaliknya, program VB5 dapat diimport menjadi VB4. VB 5 memperkenalakan kemampuan untuk membuat User Control.
8. Visual Basic 6.0 (pertengahan 1998) memperbaiki beberapa cakupan, temasuk kemapuannya untuk membuat Aplikasi Web-based . Visual Basic 6 di jadwalkan akan memasuki Microsoft “fasa non Supported” dimulai pada maret 2008.

 Pemrograman Berorientasi Objek (OOP) Visual Basic merupakan bahasa yang mendukung Pemrograman berorientasi objek , namun tidak sepenuhnya, Beberapa karakteristik obyek tidak dapat dilakukan pada Visual Basic, seperti Inheritance tidak dapat dilakukan pada class module, Polymorphism secara terbatas bisa dilakukan dengan mendeklarasikan class module yang memiliki Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif.

Desain Visual dan Komponen Visual Basic menjadi populer karena kemudahan desain form secara visual dan adanya kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh pihak lain.[4] Namun komponen ActiveX memiliki masalahnya tersendiri yang dikenal sebagai DLL hell,Pada Visual Basic .NET, Microsoft mencoba mengatasi masalah DLL hell dengan mengubah cara penggunaan komponen (menjadi independen terhadap registry.

Sumber:

Definisi Sistem Informasi Akuntansi


Berikut pengertian-pengertian mengenai sistem informasi akuntansi (SIA) :

1. Wilkinson (1991)

Sistem informasi akuntansi (SIA) merupakan suatu kerangka pengkordinasian sumber daya (data, meterials, equipment, suppliers, personal, and funds) untuk mengkonversi input berupa data ekonomik menjadi keluaran berupa informasi keuangan yang digunakan untuk melaksanakan kegiatan suatu entitas dan menyediakan informasi akuntansi bagi pihak-pihak yang berkepentingan.
2. Gelinas, Orams, dan Wiggins (1997)
Mendefinisikan sistem informasi akuntansi (SIA) sebagai subsistem khusus dari sistem informasi manajemen yang tujuannya adalah menghimpun, memproses dan melaporkan informsi yang berkaitan dengan transaksi keuangan.

Alasan Mempelajari SIA:

1. Karena Informasi sangat dibutuhkan dalam pengambilan keputusan
2. SIA digunakan untuk melakukan kontrol terhadap Aset yang dimiliki organisasi tersebut.
3. Menyiapkan data data keuangan dan non keuangan untuk menjadi informasi yang akurat guna pengambilan keputusan.

Hal-hal yang perlu diperhatikan dalam mempelajari SIA :

1. Bagaimana mengumpulkan data dan mengkaitkannya dengan aktivitas organisasi/perusahaan.
2. Bagaiomana caranya menyalurkan data, informasi sehingga berguna bagi pengambilan keputusan
3. Bagaiaman caranya menjamin realbilitas, keakuratan dan ketcepatan data dan informasi yang disajikan.

Sumber: 
http://tomdjoke.blogspot.com/2010/12/definisi-sistem-informasi-akuntansi.html