blabla

blabla

Senin, 14 November 2016

Grafik Komputer & Pengolahan Citra

OpenGL. OpenGL adalah kumpulan standard API (Application Programming Interface) yang menghubungkan software dengan hardware grafis untuk menampilkan gambar 2D dan 3D. Intinya OpenGL itu adalah kumpulan library untuk mengakses hardware (GL= graphical library). Sedangkan , Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Pada Pembuatan Garis ini terdapat 4 Class yaitu : Menu , Diagonal , Vertikal , Horizontal. dan yang menjadi main atau class yang dijalankan pertama kali adalah Menu. saya menggunakan library LWJGL yang memiliki 3 files yaitu :

LWJGL - 2.9.3
LWJGL Source
LWJGL Javadoc

==>> Exe Program <<==


Jumat, 04 November 2016

Blind Research

Blind Search


Blind Search merupakan pencarian asal ketemu. Jika solusi sudah ketemu, maka pencarian akan dihentikan. Jika dibuat skemanya, pencarian buta hanya mengenal tiga bagian, [masalah]-[pencarian]-[solusi]. Misalkan dalam kotak ada 3 kelereng warna merah, 3 biru, dan 3 kuning. Masalahnya adalah, ambillah satu kelereng yang berwarna merah. Solusi, setelah melakukan pencarian, kemudian didapat satu kelereng warna merah, nah, itulah solusinya.

Contoh lainnya adalah mari anggap seseorang berangkat dari Arad menuju Bucharest, dengan metode blind search, rencana keberangkatan akan dimulai secara acak mulai dari Zerind, Sibiu atau Timosoara yang kemudian mengikuti alur acak sampai ke bucharest, blind search tidak berpengaruh kepada seberapa jauh jarak yang harus ditempuh, jika sudah sampai Bucharest, maka rencana keerangkatan selesai.


· Breadth-First Search
BREADTH-FIRST SEARCH (BFS) adalah sebuah algoritma pencarian graf yang dimulai dari node pangkal dan menjelajahi semua node yang berdekatan.dan untuk setiap node yang berdekatan, bfs menjelajahi node-node yang tidak terlihat sebelumnya (unexplored) dan seterusnya
BFS adalah sebuah metode pencarian yang bertujuan untuk memperluas dan memeriksa semua node dari sebuah graf atau kombinasi dari urutan dengan menggunakan semua solusi secara sistematis. dengan kata lain, bfs mencari ke seluruh graf atau urutan secara mendalam tanpa mempertimbangkan tujuannya (goal) sampai tujuan itu tercapai. bfs tidak menggunakan algoritma heuristis.
Contoh Algoritma Breadth First Search :
Dalam algoritma Breadth First Search, simpul anak yang telah dikunjungi disimpan dalam suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yan bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian. Untuk memperjelas cara kerja algoritma Breadth First Search beserta antrian yang digunakannya, berikut langkah-langkah algoritma 


Breadth First Search:
Masukkan simpul ujung (akar) ke dalam antrian.
Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi.
Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.
Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut (simpul anak) ke dalam antrian.
Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan mengembalikan hasil solusi tidak ditemukan.
Ulangi pencarian dari langkah kedua.


Keuntungan :
· Tidak akan menemui jalan buntu
· Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan, jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.
Kelemahan :
· Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon
· Membutuhkan waktu yang cukup lama.
· Depth-First Search (DFS)
Depth-First Search (DFS) adalah pencarian dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi  ditemukan maka tidak diperlukan proses backtracking (penelusuran balik untuk mendapatkan jalur yang dinginkan).


Keuntungan:
• Pemakain memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan.
• Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.
Kelemahan:
• Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).
• Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

Heuristic Search

Heuristic Search
Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness). Fungsi heuristik digunakan untuk mengevaluasi keadaankeadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.

· Generate & Test
Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal. Algoritma: 
Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal). 
Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan. 
Jika solusi ditemukan, keluar. Jika  tidak, ulangi kembali langkah pertama.
Contoh:
 “Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat  1 kal i. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti gambar di bawah ini:



· Hill Climbing
Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin. 

Algoritma Simple Hill Climbing 
Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai  tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang: 
Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
Evaluasi keadaan baru tersebut : 
Jika keadaan baru merupakan tujuan, keluar 
Jika bukan tujuan, namun nilainya lebih baik dari pada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang. 
Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi. 

Pada simple hill climbing, ada 3 masalah yang mungkin: 
Algoritma akan berhenti kalau mencapai nilai optimum local 
Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi 
Tidak diijinkan untuk melihat satupun langkah sebelumnya.

Contoh: TSP dengan Simple Hill Climbing 
Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi l intasan dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak:



atau sebanyak 6 kombinasi (lihat gambar dibawah). Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi 

 Sumber : http://shabri-prayogi.blogspot.co.id/2013/08/teknik-pencarian-heuristik-heuristic.html

Minggu, 02 Oktober 2016

Sistem Pakar



dapat didefinisikan Sistem pakar adalah suatu sistem komputer yang menyamai kemampuan pengambilan keputusan dari sorang pakar. Kata menyamai tersebut memiliki pengertian bahwa system pakar diharapkan dapat bekerja dalam semua hal seperti halnya seorang pakar. Sistem pakar merupakan salah satu cabang dari Artificial Intelligent yang membuat penggunaan secara luas pengetahuan yang khusus untuk penyelesaian masalah tingkat manusia yang pakar dalam bidang tertentu.




Pengertian sistem pakar




Secara umum pengertian sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.



Komponen utama pada sistem pakar. System pakar itu sendiri terdiri dari 2 komponen utama yaitu knowledge base dan inference engine. Knowledge berisi pengetahuan yang digunakan dalam system pakar sedangkan inference engine menggambarkan kesimpulan yang dihasilkan oleh system pakar.

Tujuan dari sebuah system pakar adalah untuk mentransfer kepakaran yang dimiliki seorang pakar ke dalam computer, dan kemudian kepada orang lain. Aktivitas yang dilakukan untuk memindahkan kepakaran adalah sebagai berikut :
• Knowledge Acquisition
• Knowledge Representation
• Knowledge Inferencing
• Knowledge Transfering


A. Pendahuluan 

Ketika hendak membuat suatu keputusan yang komplek atau memecahkan masalah, seringkali kita meminta nasehat atau berkonsultasi dengan seorang pakar atau ahli. Seorang pakar adalah seseorang yang mempunyai pengetahuan dan pengalaman spesifik dalam suatu bidang; misalnya pakar komputer, pakar uji tak merusak, pakar politik dan lain-lain. Semakin tidak terstruktur situasinya, semakin mengkhusus (dan mahal) konsultasi yang dibutuhkan.


Sistem Pakar atau Expert System adalah usaha untuk menirukan seorang pakar. Biasanya Sistem Pakar berupa perangkat lunak pengambil keputusan yang mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!



Kepakaran atau expertise adalah pengetahuan yang ekstensif (meluas) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman. Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih banyak daripada pakar yunior.



Tujuan Sistem Pakar

Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan pakar). Proses ini tercakup dalam rekayasa pengetahuan (knowledge engineering) yang akan dibahas kemudian.



B. Manfaat dan Keterbatasan Sistem Pakar 



1. Manfaat Sistem Pakar

Apa manfaat dari sistem pakar? Mengapa Sistem Pakar menjadi sangat populer? Hal tersebut disebabkan oleh banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar


Manfaat sistem pakar antara lain yaitu

a. Dapat meningkatkan output dan produktivitas, karena Sistem Pakar dapat bekerja lebih cepat dari manusia.
b. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan.
c. Dapat beroperasi di lingkungan yang berbahaya.
d. Mampu menangkap kepakaran yang sangat terbatas.
e. Memudahkan akses ke pengetahuan.
f. Handal. Maksudnya Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak akan melewatkan informasi yang relevan dan solusi yang potensial.
g. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi Sistem Pakar dengan sistem komputer lain membuat lebih efektif, dan mencakup lebih banyak aplikasi .
h. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat bekerja dengan inofrmasi yang tidak lengkap. Pengguna dapat merespon dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih pertanyaan selama konsultasi, dan Sistem Pakar tetap akan memberikan jawabannya.
i. Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan Sistem Pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat berfungsi sebagai guru.
j. Meningkatkan kemampuan problem solving, karena mengambil sumber pengetahuan dari banyak pakar.
k. Meniadakan kebutuhan perangkat yang mahal.
l. Fleksibel.
2. Keterbatasan Sistem Pakar
Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan efektif.
Keterbatasan yang menghambat perkembangan Sistem Pakar:
a. Pengetahuan yang hendak diambil tidak selalu tersedia.
b. Kepakaran sangat sulit diekstrak dari manusia.
c. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama-sama benar.
d. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau menjelaskan langkah mereka dalam menangani masalah
e. Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga mungkin tidak bisa memanfaatkan sistem secara maksimal.
f. Sistem Pakar bekerja baik untuk suatu bidang yang sempit.
g. Banyak pakar yang tidak mempunyai jalan untuk mencek apakah kesimpulan mereka benar dan masuk akal.
h. Istilah dan jargon yang dipakai oleh pakar dalam mengekspresikan fakta seringkali terbatas dan tidak mudah dimengerti oleh orang lain.
i. Pengembangan Sistem Pakar seringkali membutuhkan perekayasa pengetahuan (knowledge engineer) yang langka dan mahal.
j. Kurangnya rasa percaya pengguna menghalangi pemakaian Sistem Pakar.
k. Transfer pengetahuan dapat bersifat subyektif dan bias.


C. Komponen Sistem Pakar 

Secara umum, Sistem Pakar biasanya terdiri atas beberapa komponen yang masing-masing berhubungan seperti terlihat pada Gambar II-1.
Basis Pengetahuan, berisi pengetahuan yang dibutuhkan untuk memahami, memformulasi, dan memecahkan masalah.


Basis pengetahuan tersusun atas 2 elemen dasar:

1. Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan yang ada, serta teori dalam bidang itu
2. Aturan, yang mengarahkan penggunaan pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus


Mesin Inferensi (Inference Engine), merupakan otak dari Sistem Pakar. Juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini berupa program komputer yang menyediakan suatu metodologi untuk memikirkan (reasoning) dan memformulasi kesimpulan.



Kerja mesin inferensi meliputi:

1. Menentukan aturan mana akan dipakai
2. Menyajikan pertanyaan kepada pemakai, ketika diperlukan.
3. Menambahkan jawaban ke dalam memori Sistem Pakar.
4. Menyimpulkan fakta baru dari sebuah aturan
5. Menambahkan fakta tadi ke dalam memori.
Papan Tulis (Blackboard/Workplace), adalah memori/lokasi untuk bekerja dan menyimpan hasil sementara. Biasanya berupa sebuah basis data.
Antarmuka Pemakai (User Interface). Sistem Pakar mengatur komunikasi antara pengguna dan komputer. Komunikasi ini paling baik berupa bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih dilengkapi dengan percakapan (voice communication).


Subsistem Penjelasan (Explanation Facility). Kemampuan untuk menjejak (tracing) bagaimana suatu kesimpulan dapat diambil merupakan hal yang sangat penting untuk transfer pengetahuan dan pemecahan masalah. Komponen subsistem penjelasan harus dapat menyediakannya yang secara interaktif menjawab pertanyaan pengguna, misalnya:

1. “Mengapa pertanyaan tersebut anda tanyakan?”
2. “Seberapa yakin kesimpulan tersebut diambil?”
3. “Mengapa alternatif tersebut ditolak?”
4. “Apa yang akan dilakukan untuk mengambil suatu kesimpulan?”
5. “Fakta apalagi yang diperlukan untuk mengambil kesimpulan akhir?”


Sistem Penghalusan Pengetahuan (Knowledge Refining System). Seorang pakar mempunyai sistem penghalusan pengetahuan, artinya, mereka bisa menganalisa sendiri performa mereka, belajar dari pengalaman, serta meningkatkan pengetahuannya untuk konsultasi berikutnya. Pada Sistem Pakar, swa-evaluasi ini penting sehingga dapat menganalisa alasan keberhasilan atau kegagalan pengambilan kesimpulan, serta memperbaiki basis pengetahuannya.



D. Pembangunan Sebuah Sistem Pakar 

Dalam mengembangkan Sistem Pakar dapat dilakukan dengan 2 cara yaitu:
1. Membangun sendiri semua komponen di atas, atau
2. Memakai semua komponen yang sudah ada kecuali isi basis pengetahuan.
Yang kedua disebut sebagai membangun Sistem Pakar dengan shell, yakni semua komponen Sistem Pakar, kecuali basis pengetahuan, bersifat generik; sehingga dapat dipakai untuk bidang yang berlainan. Membangun Sistem Pakar dengan shell dapat dilakukan dengan lebih cepat dan lebih sedikit keterampilan memprogram, namun berkurang fleksibilitasnya karena harus mengikuti kemampuan dari shell tersebut. Salah satu shell Sistem Pakar yang populer dipakai adalah CLIPS (C Language Integrated Production System) yang dapat didownload dari internet.


1. Pemilihan Masalah.

Pembuatan Sistem Pakar membutuhkan waktu dan biaya yang banyak. Untuk menghindari kegagalan yang memalukan dan kerugian yang besar, maka dibuat beberapa pedoman untuk menentukan apakah Sistem Pakar cocok untuk memecahkan suatu problem:


a. Biaya yang diperlukan untuk pembangunan Sistem Pakar ditentukan oleh kebutuhan untuk memperoleh solusi. Sehingga harus ada perhitungan yang realistis untuk cost and benefit.

b. Pakar manusia tidak mudah ditemui untuk semua situasi di mana dia dibutuhkan. Jika pakar pengetahuan tersebut terdapat di mana saja dan kapan saja, maka pembangunan Sistem Pakar menjadi kurang berharga.
c. Problem yang ada dapat diselesaikan dengan teknik penalaran simbolik, dan tidak membutuhkan kemampuan fisik.
d. Problem tersebut harus terstruktur dengan baik dan tidak membutuhkan terlalu banyak pengetahuan awam (common sense), yang terkenal sulit untuk diakuisisi dan dideskripsikan, dan lebih banyak berhubungan dengan bidang yang teknis.
e. Problem tersebut tidak mudah diselesaikan dengan metode komputasi yang lebih tradisionil. Jika ada penyelesaian algoritmis yang bagus untuk problem tersebut, maka kita tidak perlu memakai Sistem Pakar.
f. Ada pakar yang mampu memberikan penjelasan tentang kepakarannya serta mau bekerjasama. Adalah sangat penting bahwa pakar yang dihubungi benar-benar mempunyai kemauan kuat untuk ikut berpartisipasi serta tidak merasa pekerjaannya akan menjadi terancam.
g. Problem tersebut mempunyai sekup yang tepat. Biasanya merupakan problem yang membutuhkan kepakaran yang sangat khusus namun hanya membutuhkan seorang pakar untuk dapat menyelesaikannya dalam waktu yang relatif singkat (misalnya paling lama 1 jam).


2. Rekayasa Pengetahuan (Knowledge Engineering) 

Proses dalam rekayasa pengetahuan meliputi :
a. Akuisisi pengetahuan, yaitu bagaimana memperoleh pengetahuan dari pakar atau sumber lain (sumber terdokumentasi, buku, sensor, file komputer, dll.).
b. Validasi pengetahuan, untuk menjaga kualitasnya misalnya dengan uji kasus.
c. Representasi pengetahuan, yaitu bagaimana mengorganisasi pengetahuan yang diperoleh, mengkodekan dan menyimpannya dalam suatu basis pengetahuan.
d. Penyimpulan pengetahuan, menggunakan mesin inferensi yang mengakses basis pengetahuan dan kemudian melakukan penyimpulan.
e. Transfer pengetahuan (penjelasan). Hasil inferensi berupa nasehat, rekomendasi, atau jawaban, kemudian dijelaskan ke pengguna oleh subsistem penjelas.


3. Partisipan Dalam Proses Pengembangan

Pakar, yaitu seseorang yang mempunyai pengetahuan, pengalaman, dan metode khusus, serta mampu menerapkannya untuk memecahkan masalah atau memberi nasehat. Pakar menyediakan pengetahuan tentang bagaimana nantinya Sistem Pakar bekerja.


Perekayasa pengetahuan (knowledge engineer), yang membantu pakar untuk menyusun area permasalahan dengan menerjemahkan dan mengintegrasikan jawaban pakar terhadap pertanyaan-pertanyaan dari klien, menarik analogi, serta memberikan contoh-contoh yang berlawanan, kemudian menyusun basis pengetahuan.



Pengguna, yang mungkin meliputi: seorang klien non-pakar yang sedang membutuhkan nasehat (Sistem Pakar sebagai konsultan atau advisor), seorang siswa yang sedang belajar (Sistem Pakar sebagai instruktur), seorang pembuat Sistem Pakar yang hendak meningkatkan basis pengetahuan (Sistem Pakar sebagai partner), seorang pakar (Sistem Pakar sebagai kolega atau asisten, yang dapat memberikan opini kedua).

Partisipan lain, dapat meliputi: pembangun sistem (system builder), tool builder, staf administrasi dsb.


4. Akuisisi Pengetahuan 

Dalam proses akuisisi pengetahuan, seorang perekayasa pengetahuan menjembatani antara pakar dengan basis pengetahuan. Perekayasa pengetahuan mendapatkan pengetahuan dari pakar, mengolahnya bersama pakar tersebut, dan menaruhnya dalam basis pengetahuan, dengan format tertentu. Pengambilan pengetahuan dari pakar dapat dilakukan secara (Gambar II-3):
Manual, di mana perekayasa pengetahuan mendapatkan pengetahuan dari pakar (melalui wawancara) dan/atau sumber lain, kemudian mengkodekannya dalam basis pengetahuan. Proses ini biasanya berlangsung lambat, mahal, serta kadangkala tidak akurat.


Semi-otomatik, di mana terdapat peran komputer untuk: (1) mendukung pakar dengan mengijinkannya membangun basis pengetahuan tanpa (atau dengan sedikit) bantuan dari perekayasa pengetahuan, atau (2) membantu perekayasa pengetahuan sehingga kerjanya menjadi lebih efisien dan efektif.



Otomatik, di mana peran pakar, perekayasa pengetahuan, dan pembangun basis pengetahuan (system builder) digabung. Misalnya dapat dilakukan oleh seorang system analyst seperti pada metode induksi.



E. Representasi Pengetahuan 

Setelah pengetahuan berhasil diakuisisi, mereka harus diorganisasi dan diatur dalam suatu konfigurasi dengan suatu format/representasi tertentu. Metode representasi pengetahuan yang populer adalah aturan produk dan bingkai.


1. Aturan Produk (Production Rules) 

Di sini pengetahuan disajikan dalam aturan-aturan yang berbentuk pasangan keadaan-aksi (condition-action): “JIKA keadaan terpenuhi atau terjadi MAKA suatu aksi akan terjadi”. Sistem Pakar yang basis pengetahuannya melulu disajikan dalam bentuk aturan produk disebut sistem berbasis-aturan (rule-based system). Kondisi dapat terdiri atas banyak bagian, demikian pula dengan aksi. Urutan keduanya juga dapat dipertukarkan letaknya. Contohnya:


a. JIKA suhu berada di bawah 20ºC MAKA udara terasa dingin.

b. Udara terasa dingin JIKA suhu berada di bawah 20ºC.
c. JIKA suhu berada di bawah 20ºC ATAU suhu berada di antara 20-25ºC DAN angin bertiup cukup     kencang MAKA udara terasa dingin.
d. Contoh dari MYCIN, Sistem Pakar untuk mendiagnosis dan merekomendasikan perlakuan yang tepat untuk infeksi darah tertentu:


IF the infection is primary-bacteremia

AND the site of the culture is one of the sterile sites
AND the suspected portal of entry is the gastrointestinal tract
THEN there is suggestive evidence (0.7) that infection is bacteroid.
JIKA infeksi/peradangan adalah pimary-bacteremia
DAN lokasi kultur adalah salah satu [dari] lokasi yang steril
DAN pintu gerbang masukan yang dicurigai adalah bidang gastrointestinal
MAKA ada bukti sugestif ( 0.7) infeksi/peradangan itu adalah bacteroid


2. Bingkai (frame) 

Bingkai adalah struktur data yang mengandung semua informasi/pengetahuan yang relevan dari suatu obyek. Pengetahuan ini diorganisasi dalam struktur hirarkis khusus yang memungkinkan pemrosesan pengetahuan. Bingkai merupakan aplikasi dari pemrograman berorientasi obyek dalam AI dan Sistem Pakar. Pengetahuan dalam bingkai dibagi-bagi ke dalam slot atau atribut yang dapat mendeskripsikan pengetahuan secara deklaratif ataupun prosedural. Contoh frame untuk menggambarkan sebuah mobil diberikan dalam Gambar II-4 berikut ini.


F. Bagaimana Sistem Pakar Melakukan Inferensi? 



1. Strategi penyelesaian konflik (conflict resolution strategy) 

Strategi penyelesaian konflik dilakukan untuk memilih aturan yang akan diterapkan apabila terdapat lebih dari 1 aturan yang cocok dengan fakta yang terdapat dalam memori kerja. Di antaranya adalah :


a. No duplication. Jangan memicu sebuah aturan dua kali menggunakan fakta/data yang sama, agar tidak ada fakta yang ditambahkan ke memori kerja lebih dari sekali.



b. Recency. Pilih aturan yang menggunakan fakta yang paling baru dalam memori kerja. Hal ini akan membuat sistem dapat melakukan penalaran dengan mengikuti rantai tunggal ketimbang selalu menarik kesimpulan baru menggunakan fakta lama.



c. Specificity. Picu aturan dengan fakta prakondisi yang lebih spesifik (khusus) sebelum aturan yang mengunakan prakondisi lebih umum. Contohnya: jika kita mempunyai aturan “JIKA (burung X) MAKA TAMBAH (dapat_terbang X)” dan “JIKA (burung X) DAN (pinguin X) MAKA TAMBAH (dapat_berenang X)” serta fakta bahwa tweety adalah seekor pinguin, maka lebih baik memicu aturan kedua dan menarik kesimpulan bahwa tweety dapat berenang.



d. Operation priority. Pilih aturan dengan prioritas yang lebih tinggi. Misalnya ada fakta (bertemu kambing), (ternak kambing), (bertemu macan), dan (binatang_buas macan), serta dua aturan: “JIKA (bertemu X) DAN (ternak X) MAKA TAMBAH (memberi_makan X)” dan “JIKA (bertemu X) DAN (binatang_buas X) MAKA TAMBAH (melarikan_diri)”, maka kita akan memilih aturan kedua karena lebih tinggi prioritasnya.



2. Sistem Perantaian Maju (Forward Chaining Systems) 

Pada sistem perantaian maju, fakta-fakta dalam dalam sistem disimpan dalam memori kerja dan secara kontinyu diperbarui. Aturan dalam sistem merepresentasikan aksi-aksi yang harus diambil apabila terdapat suatu kondisi khusus pada item-item dalam memori kerja, sering disebut aturan kondisi-aksi. Kondisi biasanya berupa pola yang cocok dengan item yang ada di dalam memori kerja, sementara aksi biasanya berupa penambahan atau penghapusan item dalam memori kerja.


Aktivitas sistem dilakukan berdasarkan siklus mengenal-beraksi (recognise-act). Mula-mula, sistem mencari semua aturan yang kondisinya terdapat di memori kerja, kemudian memilih salah satunya dan menjalankan aksi yang bersesuaian dengan aturan tersebut. Pemilihan aturan yang akan dijalankan (fire) berdasarkan strategi tetap yang disebut strategi penyelesain konflik. Aksi tersebut menghasilkan memori kerja baru, dan siklus diulangi lagi sampai tidak ada aturan yang dapat dipicu (fire), atau goal (tujuan) yang dikehendaki sudah terpenuhi.




DAFTAR PUSTAKA :

http://elibrary.bsi.ac.id/berita-111-sistem-pakar--teori-dan-aplikasi.html
https://id.scribd.com/doc/46752107/MAKALAH-Sistem-Pakar

Fuzzy Logic


FUZZY LOGIC


Fuzzy Logic adalah suatu cabang ilmu Artificial Intellegence, yaitu suatu pengetahuan yang membuat komputer dapat meniru kecerdasan manusia sehingga diharapkan komputer dapat melakukan hal-hal yang apabila dikerjakan manusia memerlukan kecerdasan.

Dengan kata lain fuzzy logic mempunyai fungsi untuk “meniru” kecerdasan yang dimiliki manusia untuk melakukan sesuatu dan mengimplementasikannya ke suatu perangkat, misalnya robot, kendaraan, peralatan rumah tangga, dan lain-lain.


Sejarah Fuzzzy Logic



Konsep Fuzzy Logic diperkenalkan oleh Prof. Lotfi Zadeh dari Universitas California di Berkeley pada 1965 dan dipresentasikan bukan sebagai suatu metodologi kontrol, tetapi sebagai suatu cara pemrosesan data dengan memperkenankan penggunaan partial set membershipdibanding crisp set membership atau non-membership.Pendekatan pada set teori ini tidak diaplikasikan pada sistem kontrol sampai tahun 70-an karena kemampuan komputer yang tidak cukup pada saat itu. Profesor Zadeh berpikir bahwa orang tidak membutuhkan kepastian, masukan informasi numerik, dan belum mampu terhadap kontrol adaptif yang tinggi.



Konsep fuzzy logic kemudian berhasil diaplikasikan dalam bidang kontrol oleh E.H. Mamdani. Sejak saat itu aplikasi fuzzy berkembang kian pesat. Di tahun 1980-an negara Jepang dan negara-negara di Eropa secara agresif membangun produk nyata sehubungan dengan konsepfuzzy logic yang diintegrasikan dalam produk-produk kebutuhan rumah tangga seperti vacuum cleaner, microwave oven dan kamera video.  Sementara pengusaha di Amerika Serikat tidak secepat itu mencakup teknologi ini. Fuzzy logic  berkembang pesat selama beberapa tahun terakhir. Terdapat lebih dari dua ribu produk dipasaran yang menggunakan konsep fuzzy logic,mulai dari mesin cuci hingga kereta berkecepatan tinggi. Setiap aplikasi tentunya menyadari beberapa keuntungan dari fuzzy logic seperti performa, kesederhaan, biaya rendah dan produktifitasnya.



Konsep Fuzzy Logic

Fuzzy logic umumnya diterapkan pada masalahmasalah yang mengandung unsur ketidakpastian (uncertainty), ketidaktepatan (imprecise), noisy, dan sebagainya.
Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa manusia yang menekankan pada makna atau arti (significance).
Fuzzy logic dikembangkan berdasarkan cara berfikir manusia


Contoh-contoh masalah yang mengandung ketidakpastian



Contoh 1 : Seseorang dikatakan “tinggi” jika tinggi badannya lebih dari 1,7 meter. Bagaimana dengan orang yang mempunyai tinggi badan 1,6999 meter atau 1,65 meter, apakah termasuk kategori orang yang tinggi? Menurut persepsi manusia, orang yang mempunyai tinggi badan sekitar 1,7 meter dikatakan “kurang lebih tinggi” atau “agak tinggi”.



Contoh 2 : Kecepatan “pelan” didefinisikan di bawah 20 km/jam. Bagaimana dengan kecepatan 20,001 km/jam, apakah masih dapat dikatakan pelan? Manusia mungkin mengatakan bahwa kecepatan 20,001 km/jam itu “agak pelan”.



Arsitektur Fuzzy Logic



Ada tiga proses utama jika ingin mengimplementasikan fuzzy logic pada suatu perangkat, yaitu fuzzifikasi, evaluasi rule, dan defuzzifikasi.

1. Fuzzification, merupakan suatu proses untuk mengubah suatu masukan dari bentuk tegas(crisp) menjadi fuzzy yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzydengan suatu fungsi kenggotaannya masing-masing.
2. Interference System (Evaluasi Rule), merupakan sebagai acuan untuk menjelaskan hubungan antara variable-variabel masukan dan keluaran yang mana variabel yang diproses dan yang dihasilkan berbentuk fuzzy. Untuk menjelaskan hubungan antara masukan dan keluaran biasanya menggunakan “IF-THEN”.
3. Defuzzification, merupakan proses pengubahan variabel berbentuk fuzzy tersebut menjadi data-data pasti (crisp) yang dapat dikirimkan ke peralatan pengendalian.



DAFTAR PUSTAKA :

http://pustaka.unpad.ac.id/wp-content/uploads/2010/07/dasar_dasar_fuzzy_logic.pdf
https://fahmizaleeits.wordpress.com/tag/artikel-tentang-logika-fuzzy/

Artificial Neural Network




Artificial Neural Network

Jaringan syaraf, bersama sistem pakar dan perangkat lunak, ternyata memberikan solusi persoalan dunia industri, telekomunikasi dan informasi dengan berbagai aplikasi masa kini maupun masa depan. Dalam bidang ilmu pengetahuan jaringan syaraf(neural network) sudah sejak lama dibicarakan banyak orang. Mulai dikenal akhir tahun 1940-an, jaringan syaraf masuk dalam blok perkembangan teknologi komputer. Meski begitu, anehnya perkembangan teknologi komputer itu pulalah yang jadi penghambat berkembangnya ilmu jaringan syaraf. Lihat saja, meski riset dan pengembangan teknologi komputer terus berjalan, jaringan syaraf kurang begitu mendapat perhatian.

Ternyata kini neural network dapat menjawab beberapa persoalan dunia telekomunikasi, industri maupun informasi, yang tak terlintas sebelumnya. Dan melihat prospeknya di masa depan, para ahli yang sangat fanatik pada model komputer digital konvensional, boleh jadi berbalik menyesali diri. Jaringan syaraf adalah sistem pengolahan informasi yang didasari fisolofi struktur perilaku syaraf makhluk hidup. Dengan begitu, jaringan syaraf tak diprogram selayaknya mekanisme pada komputer digital konvensional. Begitu juga dari segi arsitekturnya. Dalam arsitekturnya, jaringan syaraf mempelajari bagaimana menghasilkan keluaran yang diinginkan pada saat diberikan sekumpulan masukan. Proses ini dilakukan secara internal, yaitu dengan memerintahkan sistem untuk mengidentifikasikan hubungan antar masukan kemudian mempelajari respon tersebut. Dengan metoda pensintesisan hubungan, jaringan syaraf dapat mengenal situasi yang sedang dan telah dijumpai sebelumnya.

Berbeda dengan proses internal, proses eksternal lebih tergantung pada aplikasinya. Sistem bisa menggunakan umpan balik eksternal atau sinyal tanggapan yang diinginkan, untuk membentuk prilaku jaringan. Ini disebut sebagai supervised learning. Dengan cara lain, jaringan dapat membangkitkan sinyal tanggapan yang diinginkan sendiri dalam skenario unsupervised learning. Latar belakang dikembangkannya neural network, itu karena pada pemrograman beberapa aplikasi seperti image recognition(pengenalan citra), speech recognition(pengenalan suara), weather forecasting(peramalan cuaca) ataupun permodelan tiga dimensi, tak dapat dengan mudah dan akurat diterapkan pada set instruksi komputer biasa. Atas dasar itu, maka diterapkan arsitektur komputer khusus yang dimodel berdasar otak manusia. Analoginya, otak manusia terdiri dari ratusan milyar(1011) neuron. Output dari neuron akan menjadi input bagi puluhan neuron lain melalui tali penghubung, sinapsis.

Komputer jaringan syaraf tak diprogram seperti komputer digital biasa, namun harus dilatih pendesainnya. Tak juga seperti pemrograman sistem pakar (expert system) dengan serangkaian aturan serta basis data(database), Jaringan syaraf diprogram untuk mempelajari tingkah laku yang diinginkan lingkungan. Karena itu, kita dapat melihat bahwa jaringan syaraf mempunyai kelebihan memecahkan masalah teknis. Yaitu: pertama, jaringan syaraf _tak perlu pemrograman tentang hubungan input dan output. Melainkan, akan mempelajari sendiri respon yang diinginkan dengan cara pelatihan. Ini sangat penting guna menghilangkan sebagian besar biaya pemrograman. Kedua, jaringan syaraf dapat memperbaiki respon dengan belajar. Itu karena jaringan syaraf didesain untuk mengevaluasi dan beradaptasi terhadap kriteria-kriteria respon yang baru. Sedang ketiga, karena jaringan syaraf bekerja sebagai penjumlah semua sinyal input, input tidak harus sama. Ini artinya, jaringan syaraf akan dapat mengenali seseorang meski orang tersebut sudah berbeda dengan saat dikenali pertama kali. Atau jaringan syaraf akan mengenali suatu kata, meski kata itu diucapkan oleh orang yang berbeda-beda. Semua ini tentunya sangat sulit dikerjakan oleh teknik komputer digital biasa.

Implementasi

Perkembangan neural network saat ini, cukup menggembirakan. Jaringan syaraf, bersama sistem pakar dan perangkat lunak, ternyata memberikan ásolusi persoalan dunia industri, telekomunikasi dan industri dan informasi dengan berbagai aplikasi masa kini maupun masa depan.Untuk implementasi neural network pada telekomunikasi, diantaranya adalah pemampatan citra, pengolahan sinyal, pemfilteran derau dan routing trafik.

Pemampatan Citra

Telah dimanfaatkan banyak orang untuk menghasilkan pengkodean data citra yang efisien. Nilai intensitas(gray level) setiap elemen gambar(pixel= picture element) sebuah citra diperlihatkan secara khas menggunakan satu byte memori komputer. Biasanya citra tersebut terdiri dari kurang 256 x 256 pixel, sehingga untuk menampilkan sebuah citra secara digital diperlukan sekitar 65.000 byte memory.

        Untuk menampilkan citra tersebut tidak hanya memerlukan sejumlah memori saja, namun juga masalah pengiriman data citra melalui pita transmisi yang terbatas seperti pada saluran telepon. Pemampatan citra mengacu pada pengubahan data citra ke bentuk tampilan berbeda yang hanya memerlukan sedikit memori, namun bentuk citra asal dapat direkonstruksi kembali. Sistem menggunakan tiga lapis jaringan syaraf yang telah dibangun dengan mengatur peta pengkodean dan peta rekonstruksi secara parallel. Sistem demikian diselesaikan dengan perbandingan pamampatan 8:1.

Pengolahan Sinyal

Dalam mengupas system pengolahan sinyal, dilakukan estimasi jaringanperambatan balik (back propagation) untuk melakukan prediksi serta permodelan simulasi. Dalam permodelan tersebut diperlihatkan bahwa deretan waktu chaotis, perambatan balik melampaui metoda polinomial prediktif dan linier konvensional dengan berbabunyi yang dimiliki dengan melakukan pendekatan untuk menghasilkan deret elemen secara matematis.

Pemfilteran Derau

Jaringan syaraf dapat juga digunakan untuk melakukan pemfilteran derau. Jaringan ini mampu mempertahankan struktur lebih baik dan lebih áseksama dibanding dengan filter-filter biasa yang hanya mampu menghilangkan derau saja.

Routing Trafic

Ini penting untuk sistem telekomunikasi. Pada routing node to node konvensional, akan ada usaha minimalisasi fungsi loss, yakni jumlah total link/hubungan dan waktu tunda. Fungsi loss dibuat agar mendasar sebagai trafik aktual mendekati kapasitas. Berdasarkan proposional untuk delay rata-rata per message pada sebuah hubungan, fungsi loss infinity ternyata lebih sulit dijalankan komputer.

Dengan kehadiran jaringan syaraf, routing trafic akan dapat meminimumkan parameter yang menghambat, seperti waktu tunda dan banyak hubungan yang harus dilalui. Untuk memperkecil delay yang terjadi, jaringan syaraf tidak memakai algoritma atau tabel routing seperti pada sistem konvensional. Oleh sebab itu pula jaringan ini disebut kelas pengolah informasi non algoritmis. Namun begitu, jaringan syaraf ini dapat dikelompokkan sebagai algoritma terdistribusi tanpa menggunakan tabel-tabel routing.

Tantangan Masa Depan

Perkembangan masalah yang makin kompleks di bidang telekomunikasi, industri dan informasi, menuntut kemampuan yang luar biasa terhadap kehandalan teknik perangkat lunak tradisional. Pada jaringan telekomunikasi, kemampuan algoritma jaringan syaraf dapat memecahkan masalah routing dan dapat mengantisipasi respon dinamis dari kondisi trafik yang diukur sistem jaringan yang telah diselidiki secara periodik. Dengan rekayasa perangkat lunak, di masa datang diharapkan perangkat lunak konvensional, sistem pakar dan jaringan syaraf terintegrasi sehingga dihasilkan perangkat lunak baru yang dapat memaksimumkan efektifitas system jaringan telekomunikasi termasuk perangkat terminal dan peralatan sentral.

Sehingga nantinya, peralatan telekomunikasi mengerti kehendak pemakai untuk melakukan hubungan komunikasi, tanpa harus mengingatkan peripheralnya. Untuk mewujudkan itu semua perlu dilakukan pengkajian dan penelitian menerus agar segera mengimplementasikan jaringan syaraf dalam bidang telekomunikasi.






DAFTAR PUSTAKA

1. Rich, Elaine, and Knight, Kevin, “Artificial Intelligence”, 2nd Edition, Mc.Graw-Hill, New York, 1991.

2. Charniak, Eugene, and Mc.Demott, Drew, “Introduction To Artificial
Intelligence”, Second Edition, Addition-Wesley, 1985.

3. F. Luger, George, and A. Stubblefield, William, “Artificial Intelligence: Structured and Strategies for Complex Problem Solving”, Second Edition, The Benjamin/Cumming Publishing Company, Inc., California, 1993.



Tugas Softskil 1

Berikut ini adalah link PDF untuk materi Artificial Neural Network   https://goo.gl/SjsOz4
Berikut ini adalah link PDF untuk materi Fuzzy Logic  https://goo.gl/pQwU2a
Berikut ini adalah link PDF untuk materi Sistem Pakar Fuzzy Logic https://goo.gl/IG3JdS

Senin, 28 Maret 2016

Service Design & Service Strategy

Pada kesempatan kali ini saya akan memberikan referensi link artikel yang berhubungan dengan "Service Design" dan Service Strategy ..... Semoga bermanfaat .....

pelayan desain

service strategy