Senin, 17 Agustus 2015

Pengertian Sistem Pakar

  Tidak ada komentar
8/17/2015 10:13:00 AM

Pengertian Sistem Pakar
Sistem pakar merupakan salah satu bidang teknik kecerdasan buatan yang cukup diminati karena penerapannya diberbagai bidang baik bidang ilmu pengetahuan maupun bisnis yang terbukti sangat membantu dalam mengambil keputusan dan sangat luas penerapanya. Sistem pakar adalah suatu sistem komputer yang dirancang agar dapat melakukan penalaran seperti layaknya seorang pakar pada suatu bidang keahlian tertentu.
Ilustrasi Sistem Pakar

Ciri-ciri sistem pakar
Ciri-ciri sistem pakar adalah sebagai berikut:

  • Terbatas pada domain keahlian tertentu.
  • Dapat memberikan penalaran untuk data data yang tidak pasti.
  • Dapat mengemukan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami.
  • Berdasarkan pada kaidah/Rule tertentu.
  • Dirancang untuk dapat dikembangkan secara bertahap.
  • Keluaranya bersifat anjuran.

Komponen sistem pakar terbagi menjadi empat bagian, yaitu:
Knowledge Base (Basis Pengetahuan) merupakan inti dari program sistem pakar karena basis pengetahuan itu merupakan presentasi pengetahuan atau knowledge representation basis pengetahuan adalah sebuah basis data pengetahuan ini terdiri dari kumpulan objek beserta aturan dan atributnya (sifat atau cirinya).Contoh : If hewan merupakan sayap dan bertelur then hewan jenis burung.
Working Memory (Basis Data atau Memori Kerja) adalah bagian yang mengandung semua fakta-fakta baik fakta awal pada saat sistem beroperasi maupun fakta-fakta pada saat pengambilan kesimpulan sedang dilaksanakan selama sistem pakar beroperasi basis data berada di adalam memori kerja.
Inference Engine (Mesin Inferensia) adalah bagian yang menyediakan mekanisme fungsi berfikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar.
  • Mekanisme ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.
  • Mesin ini akan dimulai pelacakannya dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data.

Dua teknik Inference, yaitu:
Backward Chaining (Pelacakan kebelakang)
Melalui penalaranya dari sekumpulan hipotesis menuju fakta-fakta yang mendukung tersebut,jadi proses pelacakan berjalan mundur dimulai dengan menentukan kesimpulan yang akan dicari baru kemudian fakta-fakta pembangun kesimpulan atau a Goal Driven.

Forward Chaining (Pelacakan ke depan)
Forward Chaining merupakan kebalikan dari Backward Chaining yaitu mulai dari kumpulan data menuju kesimpulan. Suatu kasus kesimpulannya dibangun berdasarkan fakta-fakta yang telah diketahui atau data driven.

Sistem Kerja Pakar
Modul Penerimaan Pengetahuan
Untuk mendapatkan pengetahuan sistem pakar dilakukan proses penerimaan pengetahuan. Proses ini dilakukakan melalui interaksi dengan pakar penerimaan pengetahuan dilakukan dengan bantuan Knowledge Engineer (KE), yaitu seorang spesialis sistem yang menterjemahkan pengetahuan yang dimiliki seorang pakar menjadi pengetahuan yang akan tersimpan dalam basis pengetahuan pada sebuah sistem pakar

Modul Konsultasi
Sistem pakar pada modul konsultasi apabila sistem memberikan konsultasi berupa jawaban atas permasalahan yang diajukan oleh pemakai pada modul ini pemakai yang awam berinteraksi dengan sistem dengan memasukkan data dan jawaban-jawaban pertanyaan sistem. Data yang dimasukkan oleh pemakai ditempatkan dalam database sistem dan kemudian diakses oleh pembangkit inference untuk mendapatkan kesimpulan.

Modul Penjelasan
Modul Penjelasan adalah menjelaskan proses pengambilan keputusan yang dilakukan oleh sistem.



Source : http://artikel-teknologi-informasi.blogspot.com/2013/06/artikel-pengertian-sistem-pakar.html

Read More

Sabtu, 15 Agustus 2015

Double Linked List menggunakan C++

  Tidak ada komentar
8/15/2015 11:10:00 AM


Double Linked List adalah ebuah linked list yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.

Baiklah, Santekno akan memberikan implementasi dari Double Linked List dengan menggunakan bahasa CPP. Hal yang paling penting dalam pembuatan Double Linked List adalah kita akan membuat suatu linked yang nantinya bisa saling terhubung sehingga agar bisa saling terhubung tersebut membutuhkan beberapa fungsi yang bisa mengoperasikannya seperti, insert depan, insert belakang, insert di tengah, delete, size, dan lain-lainnya.

Linked List yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming) sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan DLL, atau singkatan dari Double Linked List.

Code Program Kelas DLL
Setelah code program kelas tersebut maka kita akan melengkapi fungsi-fungsi yang telah dideklarasikan.
Membuat Node Fungsi make()
Tambah Node di belakang push_back()
Tambah Node di depan push_front()
Tambah Node sebelum n push_before()
Mencari Node find()
Mencari Node sebelum n find_before()
Hapus Node n del()
Mencetak linked list print()
Main Program

Santekno akan lampirkan juga beberapa implementasi Single Linked List menggunakan STL list.

Beberapa Struktur Data dan Implementasinya :

Read More

Selasa, 11 Agustus 2015

Pengertian Agent pada Kecerdasan Buatan (Artificial Intelligent)

  Tidak ada komentar
8/11/2015 09:22:00 AM

Apa itu agent?
Pengertian sebuah AGENT adalah segala sesuatu yang dapat dipandang sebagaimana mengamati lingkungannya melalui sensor dan bertindak atas lingkungan yang melalui efektor. Agen manusia memiliki mata, telinga, dan organ lain untuk sensor, dan tangan, kaki, mulut, dan bagian tubuh lainnya untuk efektor. Sebuah pengganti agen robot kamera dan berbagai pencari inframerah untuk sensor dan berbagai motor untuk efektor. Dapat digambarkan secara sederhana sebagai berikut:


Dalam kecerdasan buatan, intelligent agent (IA) adalah sebuah entitas otonom yang mengamati dan bertindak atas lingkungan (yaitu membutuhkan agen) dan mengarahkan aktivitasnya untuk mencapai tujuan  yaitu rasional. Intelligent agent juga dapat belajar atau menggunakan pengetahuan untuk mencapai tujuan mereka. Russell & Norvig (2003) mengartikan Rational Agent  yang mengerjakan segala sesuatu hal dengan benar. Agen Intelligent menurut Nikola Kasabov adalah bahwa Agent harus menunjukkan karakteristik 
  • mengakomodasi pemecahan masalah baru aturan bertahap
  • beradaptasi online dan real time
  • mampu menganalisis sendiri dalam hal perilaku, kesalahan dan kesuksesan.
  • belajar dan meningkatkan melalui interaksi dengan lingkungan (perwujudan)
  • belajar dengan cepat dari sejumlah besar data
  • memiliki penyimpanan memori berbasis contoh dan kapasitas pengambilan
  • memiliki parameter untuk mewakili umur pendek dan jangka panjang memori


How Agents Should Act: Right things
Pengukuran Kinerja: mengukur seberapa kesuksesan sebuah agent. Tidak ada satu ukuran yang tetap dan sama untuk semua agen. Kita dapat menanyakan kepada agen secara subyektif tentang kenyamanan dengan kinerja agen itu sendiri. Sehingga harus ada pengukuran kinerja obyektif yang diberlakukan dengan standart otoritas tentang apa artinya sukses dalam lingkungan dan menggunakannya untuk mengukur kinerja sebuah agen.

How to evaluate agent’s success?
Mengevaluasi kinerja sangat penting. Kita harus berhati-hati untuk membedakan antara rasionalitas dan omniscience (kemahatahuan). Rasionalitas bahwa agen tahu  hasil dari sebuah tindakan yang dilakukan secara rasional. Sedangkan omniscience adalah sebuah kemustahilan dari kenyataan yang sebenarnya telah terjadi. Faktor yang mempengaruhi 
  • Pengukuran kinarja (Performance Measure)
  • Percept Sequence (persepsi urutan)
  • Knowledge from Environment
  • Possible Actions

When to evaluate agent’s success?
Ini mengarah ke definisi agen rasional yang ideal: Untuk setiap urutan persepsi yang memungkinkan, agen rasional yang ideal harus melakukan tindakan apapun yang diharapkan dapat memaksimalkan pengukuran kinerjanya, berdasarkan bukti yang diberikan oleh urutan persepsi dan apa pun yang yang merupakan pengetahuan built-in yang dimiliki agen.

Struktur Agent Intelligence
Tugas AI adalah untuk merancang sebuah agent yaitu sebuah fungsi yang mengimplementasikan pemetaan agen dari persepsi terhadap tindakan. Program ini akan berjalan pada beberapa jenis perangkat komputasi, yang disebut arsitektur. Secara umum, arsitektur membuat persepsi dari sensor yang tersedia untuk program, menjalankan program, dan umpan pilihan program aksi terhadap efektor seperti yang dihasilkan.
Hubungan antara agen, arsitektur, dan program dapat disimpulkan :
  • Mapping : Hubungan antara Percepts and Action.
  • Tugas dari AI adalah men-design Agent Program : merupakan sebuah function yang mengimplementasikan agent mapping dari percepts to action.
  • Architecture menerima percepts dari sensor, menjalankan program, melakukan aksi yang dipilih action ke effectors.
  • Agent = Architecture + Program
  • PAGE = Percepts, Actions, Goal(s) and Environment.
  • Tipe Agent

Simple Reflex Agents

Skema Simple Reflex Agents

Gambar diatas menunjukkan struktur Simple reflex agent, struktur yang paling sederhana dalam bentuk skema, menunjukkan bagaimana aturan condition action memungkinkan agen untuk membuat sambungan dari persepsi untuk bertindak. Persegi panjang untuk menunjukkan keadaan internal saat proses keputusan agen, dan oval untuk mewakili latar belakang informasi yang digunakan dalam proses. Secara singkat dapat disampaikan sebagai 
  • Memiliki rule base dalam bentuk "aksi-kondisi"
  • Memiliki komponen untuk mengekstrak Fitur
  • Tidak ada akses untuk menyelesaikan keadaan dunia
  • Pekerjaan hanya jika keputusan yang tepat dapat dilakukan atas dasar persepsi saat ini


Model Based Reflex Agent

Skema Base Reflex Agent
Pengetahuan tentang "bagaimana dunia bekerja" disebut model dari dunia, maka bentuk ini dinamakan "model based reflex agent". Sebuah model based reflex agent harus menjaga semacam internal model yang tergantung pada sejarah persepsi dan dengan demikian mencerminkan setidaknya beberapa aspek yang tidak teramati negara saat ini. Kemudian memilih tindakan dengan cara yang sama sebagai agen refleks. Model ini lebih kuat daripada simple reflex agent.

Goal-Based Agents

Skema Goal Base Agent
Goal based agents memperluas pada kemampuan model-based agents, dengan menggunakan "goal" informasi. Tujuan informasi menggambarkan kondisi yang diinginkan. Hal ini memungkinkan agen cara untuk memilih di antara beberapa kemungkinan, memilih satu yang mencapai negara tujuan. Search dan planing adalah sub bidang kecerdasan buatan yang ditujukan untuk urutan tindakan menemukan bahwa mencapai tujuan agen. Dalam beberapa kasus goal-based agent tampaknya kurang efisien; itu lebih fleksibel karena pengetahuan yang mendukung keputusan diwakili secara eksplisit dan dapat dimodifikasi.

Utility-Based Agents

Skema Utility-Base Agents

“Goal” tidak cukup untuk menghasilkan perilaku berkualitas tinggi. Ada banyak urutan tindakan  untuk mencapai tujuan, tetapi beberapa yang lebih cepat, lebih aman, lebih dapat diandalkan, atau lebih murah daripada yang lain. Tujuan hanya memberikan perbedaan antara kondisi "bahagia" dan "tidak bahagia", sedangkan ukuran kinerja yang lebih umum harus memungkinkan perbandingan beberapa urutan kondisi yang berbeda jika agen ingin mencapai tujuan. Terminologi yang dipergunakan untuk mengatakan bahwa jika satu kondisi lebih disukai daripada kondisi yang lain, itu mempunyai utilitas yang lebih tinggi untuk agent.

Environment
Kita akan melihat bagaimana pasangan agen untuk lingkungan. Dalam semua kasus, sifat hubungan antara mereka adalah sama: tindakan yang dilakukan oleh agen pada lingkungan, yang pada gilirannya memberikan persepsi kepada agen. Pertama, kita akan menjelaskan berbagai jenis lingkungan dan bagaimana mereka mempengaruhi desain agen. Kemudian kita akan menjelaskan program-program lingkungan yang dapat digunakan sebagai testbeds untuk program agen.
Sifat-sifat environments :
  • Accessible vs. inaccessible.
  • Deterministic vs. nondeterministic.
  • Episodic vs. nonepisodic.
  • Static vs. dynamic.
  • Discrete vs. continuous.
Source : http://artikel-teknologi-informasi.blogspot.com/2012/11/pengertian-agent-pada-ai-artificial.html

Read More

Senin, 10 Agustus 2015

Single Linked List menggunakan C++

  1 komentar
8/10/2015 11:05:00 AM


Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung menyambung, dinamis dan terbatas. Sedangkan Single Linked List adalah sebuah linked list yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.

Baiklah, Santekno akan memberikan implementasi dari Single Linked List dengan menggunakan bahasa CPP. Hal yang paling penting dalam pembuatan Single Linked List adalah kita akan membuat suatu linked yang nantinya bisa saling terhubung sehingga agar bisa saling terhubun tersebut membutuhkan beberapa fungsi yang bisa mengoperasikannya seperti, insert depan, insert belakang, insert di tengah, delete, size, dan lain-lainnya.

Linked List yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming) sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan SSL, atau singkatan dari Single Linked List.

Code Program Kelas SLL

Setelah code program kelas tersebut maka kita akan melengkapi fungsi-fungsi yang telah dideklarasikan.
Membuat Node Fungsi make()
Tambah Node di belakang push_back()
Tambah Node di depan push_front()
Tambah Node setelah n push_after()
Mencari Node find()
Mencari Node sebelum n find_before()
Hapus Node n del()
Mencetak linked list print()
Main Program

Santekno akan lampirkan juga beberapa implementasi Single Linked List menggunakan STL forward_list.
Sekian penjelasan dari tutorial Single Linked List menggunakan CPP semoga bermanfaat. Jika ingin membedakan antara Single Linked List dan Double Linked List lihat juga postingan mengenai Double Linked List menggunakan C++.
Beberapa Struktur Data dan Implementasinya :

Read More

Sabtu, 01 Agustus 2015

Beberapa Framework PHP

  Tidak ada komentar
8/01/2015 05:35:00 PM


Framework PHP mungkin sudah pada kenal itu apa yang disebut framework. Framework lebih jelasnya bisa dilihat di postingan Santekno sebelumnya mengenai Apa itu Framework? Framework atau kerangka bisa mempermudah untuk pembuatan dalam suatu web contohnya, web perusahaan santekno akan membuat company profile yang fungsi-fungsinya telah dibuat sebelumnya maka fungsi tersebut jika menggunakan framework bisa memudahkan dan bisa digunakan kembali di web-web selanjutnya.

Baiklah, untuk membahas framework tinggal baca kembali saja apa itu framework, kali ini santekno akan memperkenalkan framework yang biasa digunakan seorang developer web di dunia. Dan santekno akan membahas sedikit demi sedikit framework tersebut. Berikut ini penjelasanya.



Laravel adalah framework yang memang masih baru dan mulai banyak diminati oleh para programmer di dunia. Kerangka web PHP yang ekspresif, sintak yang elegan dan mengurangi beban tugas umum seperti, authentication, routing, session, dan caching. Pengelolaan akses pun bisa dibuatkan dengan membangun aplikasi yang terkontrol, sistem migrasi dan terintegrasi dengan unit testing. Laravel dapat digunakan untuk aplikasi tingkat perusahaan besar atau personal dan cocok untuk semua ukuran proyek. Laravel dibangun oleh beberapa komponen Symfony yang memberikan dasar yang kuat dan telah teruji dalam hal kode yang dapat diandalkan. Dengan komposer Anda dapat mengatur semua paket pihak ketiga aplikasi seperti MySQL, Postgres, SQL Server dan SQLite.
Website : laravel.com


Yii adalah framework katanya merupakan generasi framework PHP berikutnya. dan juga Yii ini dilengkapi fitur-fitur untuk CRUD (creating, reading, updating and deleting). Yii mempunyai 2 versi yaitu Yii 1 dan Yii 2 yang mana untuk Yii 2 sudah menggunakan Composer. Apa itu composer bisa dilihat di postingan sebelumnya mengenai Apa itu Composer?



Symfony adalah framework PHP yang mempercepat penciptaan dan pemeliharaan aplikasi web Anda. Dengan menggunakan framework ini, konversi penamaan untuk kelas Anda tidak terbatas dan memiliki kebebasan untuk memilih komponen perangkat lunak yang ingin Anda gunakan. Penggunakan ini sangat efektif pada tugas-tugas yang paling kompleks sekalipun. Dan symfony juga menggunakan twig sebagai template engine-nya.



CodeIginter adalah framework PHP yang dibagun oleh orang-orang yang sederhana, namun memiliki toolkit yang baik untuk membuat suatu aplikasi web dengan fitur yang diperlukan sederhana. Karena CodeIgniter ini tidak usah melakukan konfigurasi apapun, tidak membatasi aturan coding dan menawarkan solusi sederhana untuk kebutuhan aplikasi yang kompleks. Codeigniter memiliki satu set library yang bisa diakses sehingga tugas-tugas yang membutuhkan library tersebut bisa dipergunakan sesuai dengan kebutuhannya. CodeIgniter termasuk MVC yang melakukan pemisahan fungsi sesuai dengan logika dan presentasinya. Sangat berguna untuk proyek-proyek sederhana dan membutuhkan waktu yang cepat. Walapun saat ini sudah banyak yang meninggalkan framework ini, tetapi framework ini ada versi terbarunya yang menggunakan composer.



Zend Framework 2 adalah kerangka open source untuk mengembangkan aplikasi web, menggunakan kode berorientasi obyek. Komponen standar library memberikan kerangka extensible bila dikombinasikan, kinerja tinggi implementasi MVC. Dengan basis yang modular sehingga Anda dapat menggunakan kombinasi dengan aplikasi atau kerangka kerja lainnya. Menggunakan ZendService Anda dapat menerapkan library client untuk mengakses layanan web yang paling populer yang tersedia. Sebagai Zend adalah kumpulan kelas, Anda hanya dapat memuat komponen yang Anda butuhkan, untuk mengambil keuntungan dari komponen library, bukan kerangka secara keseluruhan, mengurangi proyek yang tidak perlu. Dengan tidak ada implementasi model yang Anda bebas untuk menerapkan kerangka dan komponen dengan cara apa pun yang Anda butuhkan, bebas dari kekangan yang telah ditetapkan.



CakePHP adalah framework yang memungkinkan Anda bisa membangun aplikasi web lebih cepat, dengan menggunakan fitur generasi dan library. Tidak ada konfigurasi yang rumit, hanya setup database saja Anda sudah bisa menggunakannya. Fitur-fitur dari CakePHP diantaranya akses databse, caching, validation, authentication. Semua itu sudah dikemas dengan MVCnya, CakePHP juga dapat menangani setiap aspek aplikasi dari permintaan pengguna sampai render akhir menjadi suatu halaman web. Framwork ini menyediakan struktur dasar dari nama file ke nama tabel database, untuk menjaga agar aplikasi Anda konsisten dan logis. CakePHP juga dilengkapi built-in perangkat validasi agar terlindung dari injeksi SQL agar tetap aplikasi tetap aman.


Nah itulah beberapa framework PHP yang bisa membantu seorang developer mengerjakan web dengan cepat dan mudah. Sebenarnya memang lebih enak memakai framework agar semua code yang kita pakai terlihat rapih dan usable.

Read More

Jumat, 31 Juli 2015

Apa itu Framework?

  Tidak ada komentar
7/31/2015 10:32:00 AM


Framework atau bahasa indonesianya kerangka kerja adalah sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu sistem tertentu. Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur dengan rapi.

Namun, menggunakan framework bukan berarti kita bebas dari pengkodean. Kita sebagai pengguna/programmer menggunakan variabel dan fungsi-fungsi yang ada di sebuah framework itu. Karena itulah, kerja kita bisa menjadi efektif karena tidak harus membuat fungsi-fungsi lagi. Untuk lebih memahaminya, anda bisa membaca cerita berikut.

Rahman adalah seorang web programmer. Dia menerima pesanan sebuah proyek website. Lalu dia mengerjakannya dari mulai mendesain sampai sistemnya. Semua kode-kode fungsi & konsep yang harus ada di sebuah website semuanya ia buat. Mulai dari kode untuk postingan, menu, paginasi, dan sebagainya. Alhasil, pesanannya pun berhasil diselesaikan.
Perusahaan yang memesan merasa puas dengan hasil website Rahman. Lalu, perusahaan itu membuat kontrak dengan Rahman untuk membuat proyek website lainnya.
Kemudian, tibalah waktu untuk membuat proyek website yang kedua. Rahman mulai mengerjakannya lagi. Diawal pengerjaannya, Rahman menyadari bahwa ada fungsi-fungsi tertentu yang harus selalu ada dalam sebuah website. Misalnya seperti fungsi postingan, paginasi dan lain-lain.
Karena itulah Rahman kembali membedah proyek website pertama yang telah berhasil dibuat. Lalu dia memeriksa kembali kode-kode untuk fungsi-fungsi tertentu dan mengumpulkannya menjadi satu untuk digunakan di proyek kedua yang akan dikerjakannya.

Nah, kumpulan kode fungsi-fungsi tertentu itulah yang disebut sebagai framework. Setiap bahasa pemrograman bisa dibuat frameworknya, jadi tidak hanya untuk website saja.

Sejauh ini, framework untuk pemrograman website yang sering digunakan adalah framework php dan framework css. Contoh framework php adalah CodeIgniter dan Zend Framework. Sedangkan, contoh framework css adalah Bootstrap. Silahkan dicek sendiri agar lebih mengerti.

Semoga bermanfaat.

Read More

Senin, 23 Februari 2015

Tutorial C - Mencari Akar dari Persamaan Kuadrat

  2 komentar
2/23/2015 02:27:00 PM


Kunjungi halaman ini untuk mempelajari tentang akar persamaan kuadrat jika Anda tidak tahu bagaimana untuk menghitung itu. Misalkan Anda ingin mencari akar dari persamaan kuadrat ax2 + bx + c = 0 dimana a, b dan c adalah koefisien. Program ini akan meminta koefisien: a, b dan c dari pengguna dan menampilkan akar.


Source Code


Output 1


Output 2

Program ini, menggunakan fungsi dari library yaitu sqrt (). Fungsi ini menghitung akar kuadrat dari angka.

Beberapa tutorial mengenai bahasa C :

Read More