Senin, 14 November 2016
GRAFIK KOMPUTER & PENGOLAHAN CITRA
Membuat program untuk menggambar garis Horizontal, Vertikal, dan Diagonal. Tugas ini diberikan oleh dosen Bu Lily Wulandari. Deadline M9 (15 nov 2016).
download file -> klik
download jar -> klik
Jumat, 04 November 2016
HEURISTIC SEARCH
2. HEURISTIC
SEARCH / Pencarian Heuristik
Heuristik adalah sebuah teknik yang
mengembangkan efisiensi dalam proses pencarian, namum dengan kemungkinan
mengorbankan kelengkapan (completeness).
Fungsi heuristik digunakan untuk
mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh
hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
2.1.
Generate and Test
Metode ini merupakan penggabungan antara depth-first
search dengan pelacakan mundur (backtracking) , yaitu bergerak
ke belakang menuju pada suatu keadaan awal.
Contoh : “Travelling Salesman Problem (TSP)”
Seorang salesman ingin mengunjungi kota. Jarak antara tiap-tiap kota sudah
diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh
dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap
kota seperti berikut ini :
Penyelesaian dengan metode Generate and Test
Alur pencarian dengan Generate and Test
Contoh :
a.
Kasus 4 puzzle (kotak permainan)
b.
Kasus 8 puzzle (kotak permainan)
c.
Kasus Travelling Salesman Problem (TSP)
2.2.
Hill Climbing / PENDAKIAN BUKIT
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 lain nya yang mungkin.
Contoh Penerapan
Algoritma Simple Hill Climbing
Salah satu
contoh dari penerapan Algoritma Simple Hill Climbing adalah Traveling Salesman
Problem.
Disini ruang keadaan
berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk
menukar posisi kota-kota yang bersebelahan. Fungsi heuristik yang digunakan
adalah panjang lintasan yang terjadi.
Gambar Metode Simple
Hill Clibing Dengan 6 Operator
Operator yang
akan kita gunakan, adalah menukar urutan posisi 2 kota dalam suatu lintasan.
Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan menukar
posisi urutan 2 kota, maka kita akan mendapatkan sebanyak :
Sehingga kalau
ada 4 kota, kita bisa memperoleh :
kombinasi.
Keenam
kombinasi ini akan kita pakai semuanya sebagai operator, yaitu:
1.
Tukar 1, 2 (menukar urutan posisi kota ke-1 dengan kota ke-2).
2.
Tukar 2, 3 (menukar urutan posisi kota ke-2 dengan kota ke-3).
3.
Tukar 3, 4 (menukar urutan posisi kota ke-3 dengan kota ke-4).
4.
Tukar 4, 1 (menukar urutan posisi kota ke-4 dengan kota ke-1).
5.
Tukar 2, 4 (menukar urutan posisi kota ke-2 dengan kota ke-4).
6.
Tukar 1, 3 (menukar urutan posisi kota ke-1 dengan kota ke-3).
Sumber :
karmila.staff.gunadarma.ac.id/Downloads/folder/0
Kamis, 03 November 2016
BLIND SEARCH
BLIND SEARCH
Blind Searching adalah model pencarian buta atau pencarian yang tidak
memiliki informasi awal, model pencarian ini memiliki tiga ciri-ciri utama
yaitu :
1. Membangkitkan simpul
berdasarkan urutan.
2.
Jika ada solusi, maka solusi akan ditemukan.
3. Hanya memiliki
informasi tentang node yang telah dibuka (node selanjutnya tidak diketahui).
A. Pencarian Melebar pertama (Breadth-First
Search)
Semua node pada level n akan dikunjungi terlebih dahulu sebelum level n+1.BFS (Breadth First Search) juga merupakan
salah satu algoritma penelusuran struktur graf / pohon seperti DFS, namun
bedanya BFS melakukan pencarian secara melebar atau per level pohon. Simpul
ditelusuri dari rootkemudian menelusuri semua simpul pada setiap
level di bawahnya ( misalnya prioritas penelusuran dari kiri ke kanan ), maka
penelusuran dilakukan terus dari simpul paling kiri ke simpul anak – anak
tetangganya yang selevel. Jadi, untuk pohon biner :
Maka, urutan penelusurannya
adalah : A – B – C – D – E – F – G – H – I – J – K – L
Salah satu cara implementasi
BFS adalah dengan bantuan struktur data queue. Sama seperti stack pada DFS,
queue yang digunakan adalah queue yang isi elemennya adalah simpul pohon /
tree. Berikut ini adalah urutan algoritmanya :
1.
Masukkan simpul root ke
dalam antrian.
2.
Periksa antrian terdepan
apakah memiliki anak simpul.
3.
Jika ya, masukan semua anak
simpul ke dalam antrian.
4.
Hapus antrian terdepan.
5.
Jika antrian kosong
berhenti, tapi jika tidak kembali ke langkah dua.
Untuk gambar pohon biner di
atas, urutan langkah dan kondisi queue pada setiap iterasinya adalah sebagai
berikut :
Contoh diatas menggunakan
prioritas untuk memasukkan anak simpul dari sebelah kiri terlebih dahulu ke
dalam queue. Sehingga, pada iterasi 2 elemen A dihapus lalu memasukkan anak
simpulnya yaitu B dulu, baru C ke dalam stack. Untuk penelusurannya yang
dilihat adalah bagian yang berwarna biru, yaitu antrian terdepan yang setiap
iterasinya memiliki urutan A – B – C – D – E – F – G – H – I – J – K – L. Sama
seperti DFS lagi pada iterasi ke 13 itu kondisi antrian sudah kosong.
Keuntungan
Breadth First Search :
1. Tidak
akan menemui jalan buntu.
2. Jika
ada satu solusi, maka breadth-first search akan menemukannya. Dan, jika ada
lebih dari satu solusi, maka solusi minimum akan ditemukan.
Keuntungan
Breadth First Search :
1. Tidak
akan menemui jalan buntu.
2. Jika
ada satu solusi, maka breadth-first search akan menemukannya. Dan, jika ada
lebih dari satu solusi, maka solusi minimum akan ditemukan.
B. Pencarian
mendalam pertama (Depth-First Search)
Proses pencarian dilakukan
pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel.
Pencarian inidilakukan pada suatu simpul dalam setiap level dari yang paling
kiri. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian
dilanjutkan pada simpul sebelah kanan dan simpul 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.
Dalam implementasinya DFS
dapat diselesaikan dengan cara rekursif atau dengan bantuan struktur data
stack. Kita akan membahas dengan cara yang menggunakan stack. Stack yang
digunakan adalah stack yang isi elemennya adalah simpul pohon / tree. Bagaimana
cara kerjanya ? Berikut ini adalah urutan algoritmanya :
1.
Masukkan simpul root ke
dalam tumpukan dengan push.
2.
Ambil dan simpan isi elemen
(berupa simpul pohon) dari tumpukan teratas.
3.
Hapus isi stack teratas
dengan prosedur pop.
4.
Periksa apakah simpul pohon
yang disimpan tadi memiliki anak simpul.
5.
Jika ya, push semua anak
simpul yang dibangkitkan ke dalam stack.
6.
Jika tumpukan kosong
berhenti, tapi jika tidak kembali ke langkah dua
Jadi, untuk gambar pohon
biner di atas urutan langkah dan kondisi stack-nya setiap iterasi adalah :
Maka, urutan penelusurannya adalah : A – B – D – H –
E – I – C – F – G – J – K – L.
Contoh diatas menggunakan
prioritas untuk memasukkan anak simpul dari sebelah kanan terlebih dahulu ke
dalam stack. Sehingga, pada iterasi 2 elemen A dihapus lalu memasukkan anak
simpulnya yaitu C dulu, baru B ke dalam stack. Selain itu bisa dilihat stack
teratas (yang diwarna biru) pada tiap iterasi memiliki urutan A – B – D – H – E
– I – C – F – G – J – K – L. Oiya, pada iterasi ke 13 itu kondisi stack sudah
kosong karena ketika simpul J dibangkitkan tidak ada anak simpul yang
dimasukkan ke stack.
Kelebihan Depth
First Search adalah:
1. Pemakain
memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node
yang pernah dibangkitkan.
2. Jika
solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan
menemukannya secara cepat.
Kelemahan Depth First Search adalah:
1. Jika
pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak
ada jaminan untuk menemukan solusi (Tidak Complete).
2. 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).
Sumber :
Minggu, 02 Oktober 2016
Fuzzy Logic
PENG. TEKNOLOGI SISTEM CERDAS
Fuzzy Logic
Nama : Putri Apriyani
NPM : 18114583
Kelas : 3KA31
Dosen : Dewi Andryani
Fuzzy Logic
Fuzzy logic jika di dalam bahasa Indonesia logika Fuzzy adalah teknik/
metode yang dipakai untuk mengatasi hal yang tidak pasti pada masalah – masalah
yang mempunyai banyak jawaban. Pada dasarnya Fuzzy logic merupakan logika
bernilai banyak/ multivalued logic yang mampu mendefinisikan nilai diantara
keadaan yang konvensional seperti benar atau salah, ya atau tidak, putih atau
hitam dan lain-lain.
Penalaran Logika Fuzzy memnyediakan cara untuk memahami kinerja system
dengan cara menilai input dan output system dari hasil pengamatan. Logika Fuzzy
menyediakan cara untuk menggambarkan kesimpulan pasti dari informasi yang
samar-samar, ambigu dan tidak tepat. Fuzzy logic Pertama kali dikembangkan oleh
Lotfi A. Zadeh tahun 1965.
Alasan kenapa
digunakan logika Fuzzy :
·
Karena konsep logika Fuzzy mudah dimengerti.
·
Logika Fuzzy fleksibel.
·
Logika Fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
·
Logika Fuzzy dapat bekerja dengan teknik-teknik kendali secara konvesional.
·
Logika Fuzzy memiliki toleransi terhadap data-data yang tepat.
·
Logika Fuzzydidasarkan pada bahasa alami.
·
Logika Fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para
pakar secara langsung tanpa harus melalui proses pelatihan.
Profesor Lotfi A. Zadeh adalah
guru besar pada University of California yang merupakan pencetus sekaligus yang
memasarkan ide tentang cara mekanisme pengolahan atau manajemen ketidakpastian
yang kemudian dikenal dengan logika fuzzy. Dalam penyajiannya vaiabel-variabel
yang akan digunakan harus cukup menggambarkan ke-fuzzy-an tetapi di lain pihak
persamaan-persamaan yang dihasilkan dari variable-variabel itu haruslah cukup
sederhana sehingga komputasinya menjadi cukup mudah.
Karena itu Profesor Lotfi A Zadeh kemudian
memperoleh ide untuk menyajikannya dengan menentukan “derajat keanggotaan”
(membership function) dari masing-masing variabelnya. Fungsi keanggotaan
(membership function), adalah suatu kurva yang menunjukkan pemetaan titik input
data kedalam nilai keanggotaanya (sering juga disebut dengan derajat
keanggotaan) yang memiliki interval antara 0 sampai 1.
·
Derajat Keanggotaan (membership function) adalah : derajat dimana nilai
crisp dengan fungsi keanggotaan ( dari 0 sampai 1 ), juga mengacu sebagai tingkat
keanggotaan, nilai kebenaran, atau masukan fuzzy.
·
Label adalah nama deskriptif yang digunakan untuk mengidentifikasikan
sebuah fungsi keanggotaan.
·
Fungsi Keanggotaan adalah mendefinisikan fuzzy set dengan memetakkan
masukan crisp dari domainnya ke derajat keanggotaan. Masukan Crisp adalah
masukan yang tegas dan tertentu.
·
Lingkup/Domain adalah lebar fungsi keanggotaan. Jangkauan konsep, biasanya
bilangan, tempat dimana fungsi keanggotaan dipetakkan.
·
Daerah Batasan Crisp adalah jangkauan seluruh nilai yang dapat
diaplikasikan pada variabel sistem.
Penerapan Fuzzy Logic
Di bawah ini adalah beberapa contoh aplikasi fuzzy logic :
• Sistem Pengereman Mobil (Nissan).
• Pengontrol kereta bawah tanah di Sendai, Jepang.
• Penghematan Konsumsi Daya Listrik AC (Mitsubhishi Heavy Industries Tokyo).
Contoh penerapan Logika Fuzzy dalam kehidupan sehari-hari:
·
Logika Fuzzy untuk Sistem Pengaturan Suhu Ruangan.
Untuk menentukan suhu dalam suatu ruangan, kita dapat menentukannya menggunakan Logika Fuzzy. Jika suhu dalam suatu ruangan dingin maka naikkan suhu penghangat, dan jika suhu dalam suatu ruangan panas maka naikkan suhu pendingin.
·
Logika Fuzzy untuk Sistem Pengaturan Lampu Lalu lintas.
Untuk memperlancar arus lalu lintas dengan adanya system yang bekerja
secara otomatis diharapkan angka kecelakaan bias dikurangi. Untuk kepadatan
jumlah kendaraan dibuat pemberitahuan seperti: Tidak Padat (TP), Kurang Padat
(KP), Cukup Padat (CP), Padat (P) dan Sangat Padat (SP).
Sumber :
Langganan:
Postingan (Atom)
