5 BAB II LANDASAN TEORI 2.1 Artificial Intelligence (AI) Artificial

advertisement
BAB II
LANDASAN TEORI
2.1
Artificial Intelligence (AI)
Artificial Intelligence (AI) atau kecerdasan buatan merupakan salah satu
bidang ilmu komputer yang mempelajari bagaimana cara agar komputer dapat
melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Pada awalnya,
komputer adalah alat yang dipakai untuk mengolah data menurut perintah yang
telah dirumuskan. Namun seiring dengan perkembangan teknologi, fungsi
komputer semakin ditingkatkan dan peran komputer semakin mendominasi
kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat
pengolah data, melainkan komputer diharapkan dapat berfungsi untuk
mengerjakan hal-hal yang dapat memudahkan pekerjaan manusia.
Tujuan pokok dari kecerdasan buatan adalah untuk membuat suatu
komputer menjadi secerdas mungkin. Ini berarti komputer harus mampu berpikir,
mendengar, melihat, dan belajar sebagaimana manusia melakukannya. Jadi
manusia berusaha menciptakan sesuatu yang baru yang dapat membantu
menyempurnakan
dan
meringankan
beban
pekerjaan
manusia
dengan
mengembangkan kecerdasan buatan.
2.1.1
Definisi Artificial Intelligence
Definisi Artificial Intelligence yang terkenal adalah tindakan mesin yang
apabila dilakukan oleh manusia disebut kecerdasan atau intelligence (Efraim
Turban, 1992). Sebagian kalangan menerjemahkan Artificial Intelligence sebagai
kecerdasan buatan, kecerdasan artifisial, intelijensia artifisial, atau intelijensia
buatan. Para ahli mendefinisikan AI secara berbeda-beda tergantung pada sudut
pandang masing-masing. Ada yang fokus pada logika berpikir manusia saja, tetapi
ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku manusia.
Definisi lain tentang Artificial Intelligence merupakan ilmu yang
mempelajari bagaimana cara membuat komputer dapat melakukan pekerjaanpekerjaan yang untuk saat ini manusia dapat mengerjakannya dengan baik
(E.Rich, 1983). Tiga tujuan dari Artificial Intelligence yaitu membuat mesin
5
6
menjadi lebih pintar, memahami apa itu kecerdasan (intelligence) dan membuat
mesin lebih berguna.
2.2
Perbedaan antara AI dan Kecerdasan Alami
Dibandingkan dengan kecerdasan yang dimiliki oleh manusia (kecerdasan
alami), AI memiliki beberapa keuntungan antara lain:
a.
AI lebih bersifat permanen.
Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan
karena sifat manusia yang pelupa. AI tidak akan berubah sepanjang sistem
komputer dan program tidak diubah.
b.
AI lebih mudah diduplikasi dan disebarkan.
Mentransfer pengetahuan manusia dari satu orang ke orang lain
membutuhkan proses yang sangat lama, dan keahlian itu juga tidak akan
pernah dapat diduplikasi dengan lengkap. Oleh karena itu, jika pengetahuan
terletak pada suatu sistem komputer, pengetahuan tersebut dapat disalin dari
komputer tersebut dan dapat dipindahkan dengan mudah ke komputer yang
lain.
c.
AI lebih murah dibanding dengan kecerdasan alami.
Menyediakan layanan komputer akan lebih mudah dan lebih murah
dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan
sejumlah pekerjaan dalam jangka waktu yang sangat lama.
d.
AI bersifat konsisten.
Hal ini disebabkan karena AI adalah bagian dari teknologi komputer.
Sedangkan kecerdasan alami akan senantiasa berubah-ubah.
e.
AI dapat didokumentasi.
Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah
dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami
sangat sulit untuk direproduksi.
f.
AI lebih cepat.
AI dapat mengerjakan pekerjaan jauh lebih cepat dibanding dengan
kecerdasan alami.
7
g.
AI lebih baik.
AI dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan
alami. (Sri Kusumadewi, 2003, 3-4)
Sedangkan keuntungan dari kecerdasan alami adalah:
a. Kreatif.
Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat
melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah
pengetahuan harus dilakukan melalui sistem yang dibangun.
b. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman
secara langsung. Sedangkan AI buatan harus berkerja dengan input-input
simbolik.
c. Pemikiran manusia dapat digunakan secara luas, sedangkan AI sangat terbatas.
(Sri Kusumadewi, 2003, 4)
2.3
Ruang Lingkup AI pada Aplikasi Komersial
Adanya irisan penggunaan AI di berbagai disiplin ilmu tersebut
menyebabkan cukup rumitnya untuk mengklasifikasikan AI menurut disiplin ilmu
yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian
lingkup AI didasarkan pada output yang diberikan, yaitu pada aplikasi komersial
(meskipun sebenarnya AI itu sendiri bukan merupakan medan komersial).
Lingkup utama dalam kecerdasan buatan adalah:
a.
Sistem Pakar (Expert System). Disini, komputer digunakan sebagai sarana
untuk menyimpan pengetahuan para pakar. Dengan demikian, komputer akan
memiliki keahlian untuk menyelesaikan permasalahan dengan meniru
keahlian yang dimiliki oleh pakar.
b.
Pengolahan Bahasa Alami (Natural Language Processing). Dengan
pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan
komputer dengan menggunakan bahasa sehari-hari.
c.
Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan
diharapkan manusia dapat berkomunikasi dengan komputer menggunakan
suara.
8
d.
Robotika & Sistem Sensor (Robotics & Sensory Systems).
e.
Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau
objek-objek tampak melalui komputer.
f.
Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai
tutor yang dapat melatih dan mengajar.
g.
Game Playing. Permainan dapat menghasilkan sejumlah besar pencarian
ruang. Hal ini cukup besar dan kompleks dan membutuhkan teknik pencarian
untuk
menentukan
alternatif
pengeksplorasian
ruang
permasalahan.
Untungnya, setiap permainan memiliki aturan main. Hal ini mempermudah
upaya menghasilkan ruang pencarian.
Beberapa karakteristik yang ada pada sistem yang menggunakan AI adalah
pemogramannya yang cenderung bersifat simbolik ketimbang algoritmik, bisa
mengakomodasi input yang tidak lengkap, bisa melakukan inferensi dan adanya
pemisahan antara kontrol dengan pengetahuan. Namun, seiring dengan
perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk
membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia
sehari-hari.
Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan
ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun
1965 muncul Logika Fuzzy. Kemudian pada tahun 1975, John Holland
mengatakan bahwa setiap permasalahan berbentuk adaptasi (alami maupun
buatan) secara umum dapat diformulasikan dalam terminologi genetika.
Algoritma genetika ini merupakan simulasi proses evolusi Darwin dan operasi
genetika atas kromosom. (Sumber : Sri Kusumadewi, 2003, 7)
2.4.
Artificial Intelligence Saat Ini
Dengan semakin cepatnya perkembangan hardware dan software, berbagai
produk AI telah berhasil dibuat dan digunakan dalam kehidupan sehari- hari.
Disini, produk-produk tersebut dikelompokkan kedalam 4 teknik yang ada di AI,
yaitu: searching, reasoning, planning dan learning.
Dalam memecahkan suatu masalah dengan teknik searching
atau
9
pencarian, langkah pertama yang harus dilakukan adalah mendefinsikan ruang
masalah untuk suatu masalah yang dihadapi. Ruang masalah ini dapat
digambarkan sebagai himpunan keadaan (state) atau bisa juga sebagai himpunan
rute dari keadaan awal (initial state) menuju keadaan tujuan (goal state).
Langkah kedua adalah mendefinisikan aturan produksi yang digunakan
untuk mengubah suatu state ke state lainnya. Langkah terakhir adalah memilih
metode pencarian yang tepat sehingga dapat menemukan solusi terbaik dengan
usaha yang minimal.
2.5.
Metode Pencarian
Terdapat banyak metode pencarian yang telah diusulkan. Semua metode
yang ada dapat dibedakan ke dalam 2 jenis: pencarian buta / tanpa informasi
( blind atau un-informed search) dan heuristik / dengan informasi (heuristic atau
informed search). Setiap metode mempunyai karakteristik yang berbeda-beda
dengan kelebihan dan kekurangannya masing-masing.
2.5.1. Blind / Un-informed Search
Istilah blind atau buta digunakan karena memang tidak ada informasi awal
yang digunakan dalam proses pencarian. Salah satu metode yang tergolong blind
search dan digunakan dalam penulisan tugas akhir ini adalah Depth First Search
(DFS).
Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling
kiri. Jika pada level yang terdalam solusi belum ditemukan, 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.
10
S
A
B
B
B
D
E
F
D
Gambar 2.1 Teknik Depth First Search
(Sumber : Anita Desiani dan Muhammad Arhami, 2007, 30)
Berdasarkan Gambar 2.1, proses pencarian dilakukan dengan mengunjungi
cabang terlebih dahulu hingga tiba di simpul terakhir. Jika tujuan yang diinginkan
belum tercapai maka pencarian dilanjutkan ke cabang sebelumnya, turun ke
bawah jika memang masih ada cabangnya. Begitu seterusnya hingga diperoleh
tujuan (goal). Operasi semacam ini dikenal dengan sebutan “backtracking”.
DFS juga memiliki kelebihan di antaranya adalah cepat mencapai
kedalaman ruang pencarian. Jika diketahui bahwa lintasan solusi permasalahan
akan panjang maka DFS tidak akan memboros waktu untuk melakukan sejumlah
besar keadaan dasar dalam permasalahan graph (pohon). DFS jauh lebih efisien
untuk ruang pencarian dengan banyak cabang karena tak perlu mengevaluasi
semua simpul pada suatu tingkat tertentu pada daftar open. Selain itu, DFS
memerlukan memori yang relatif kecil karena hanya simpul-simpul pada lintasan
yang aktif saja yang disimpan.
Selain kelebihan, DFS juga memiliki kelemahan, di antaranya adalah
memungkinkan tidak ditemukannya tujuan yang diharapkan dan hanya akan
mendapatkan satu solusi pada setiap pencarian. (Anita Desiani dan Muhammad
Arhami, 2007, 31)
11
2.5.2. Metode Pencarian Heuristik
Pencarian heuristik biasanya diistilahkan dengan “informed search” atau
pencarian yang berdasarkan panduan. George Poyla mendefinisikan heuristik
sebagai studi metode dan kaidah penemuan. Dalam pencarian ruang keadaan,
heuristik dinyatakan sebagai aturan untuk melakukan pemilihan cabang-cabang
dalam ruang keadaan yang paling tepat untuk mencapai solusi permasalahan yang
dapat diterima.
Pemecahan masalah AI menggunakan heuristik dalam dua situasi dasar,
yaitu:
a.
Permasalahan yang mungkin tidak mempunyai solusi yang pasti disebabkan
oleh ambiguitas (keraguan / ketidakpastian) mendasar dalam pernyataan
permasalahan atau data yang tersedia. Diagnosa kedokteran merupakan
salah satu contohnya, dimana sejumlah gejala mungkin dapat ditimbulkan
oleh berbagai macam penyebab yang mungkin. Dokter menggunakan
heuristik untuk memilih atau menentukan diagnosa yang paling dapat
diharapkan dan merumuskan rencana penanganannya. Vision merupakan
masalah lainnya untuk permasalahan ketidakpastian mendasar.
b.
Permasalahan yang boleh jadi memiliki solusi pasti, tetapi biaya komputasi
untuk mendapatkan solusi tersebut mungkin sangat tinggi. Dalam banyak
masalah seperti catur, ruang keadaan bertambah luar biasa seiring dengan
pertambahan jumlah keadaan yang dimungkinkan. Dalam kasus ini, teknik
pencarian seperti BFS dan DFS mungkin gagal memperoleh solusi sehingga
heuristik akan menangani kerumitan permasalahan ini dengan panduan
pencarian pada sepanjang lintasan yang memberi harapan melalui state.
Dengan mengelimintasi state yang tidak memberikan harapan dan
turunannya dari ruang tersebut maka algoritma heuristik dapat menaklukkan
ledakan kombinatorial dan menentukan solusi yang dapat diterima.
Sayangnya, seperti semua kaidah penemuan lainnya, heuristik juga dapat
salah. Heuristik hanyalah panduan informasi untuk menebak langkah berikutnya
yang harus diambil dalam menyelesaikan suatu permasalahan, dan sering
dilakukan berdasarkan eksperimen / percobaan atau secara intuisi. Oleh karena
12
menggunakan informasi yang terbatas, heuristik jarang dapat memprediksi
tingkah laku yang eksak dari ruang keadaan saat dilakukan pencarian. Heuristik
dapat membimbing solusi suboptimal atau gagal menemukan solusi apapun.
Heuristik dan perancangan algoritma untuk mengimplementasikan
pencarian heuristik telah menjadi inti permasalahan penelitian AI. Memainkan
permainan (Game playing) dan pemecahan teorema (theorem solving) adalah dua
aplikasi yang paling tua dari AI, yang menggunakan heuristik untuk memangkas
ruang dari solusi yang mungkin.
Ada 4 metode pencarian yang terdapat dalam teknik pencarian heuristik,
yaitu:
1. Generate and Test
2. Hill Climbing
3. Best First Search
4. Simulated Annealing
(Desiani dan Arhami, 2005, 33-35)
2.6
Basis Data (Database)
Basis data dapat dibayangkan sebagai sebuah lemari arsip. Tetapi basis
data terdiri atas dua kata yaitu basis dan data. Basis kurang lebih dapat diartikan
sebagai markas atau gudang, tempat bersarang atau berkumpul. Sedangkan data
adalah representasi fakta dunia nyata yang mewakili suatu objek.
Beberapa definisi basis data adalah sebagai berikut:
1. Himpunan kelompok data (arsip) yang saling berhubungan dan diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan mudah dan
cepat.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan yang tidak perlu, untuk memenuhi
berbagai kebutuhan.
3. Kumpulan file atau tabel atau arsip yang saling berhubungan yang disimpan
pada media penyimpanan elektronik.
4. Meliputi spesifikasi tipe data struktur dan pembatasan (constraints) dari data
13
yang disimpan.
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan
tujuan yang sama. Prinsip utamanya adalah pengaturan data atau arsip. Dan tujuan
utamanya adalah kemudahan dan kecepatan. yang sangat ditonjolkan dalam basis
data adalah pengaturan, pemilihan, pengelompokan dan pengorganisasian data
yang akan disimpan sesuai dengan fungsi dan jenisnya.
Elemen-elemen dalam suatu basis data adalah sebagai berikut :
1. Record merupakan kumpulan data yang terdiri dari satu atau lebih (field).
2. Field merupakan kumpulan data yang mempunyai atau menyimpan fakta yang
sama (sejenis) untuk setiap baris pada tabel.
3. Tabel merupakan bentuk matriks dari item-item data yang diorganisir menjadi
baris dan kolom.
2.7
Permainan Hashi
Hashi (Hashiwokakero) adalah salah satu permainan yang membutuhkan
logika berpikir. Hashi diciptakan oleh Nikoli, sebuah perusahaan permainan di
Jepang yang memiliki spesialisasi dalam pembuatan permainan logika. Permainan
logika lain yang juga diciptakan oleh Nikoli adalah Sudoku dan Kakuro. Selain
mengasyikkan, Hashi juga menguji logika dan kecerdasan orang yang
memainkannya.
Menurut Wikipedia, permainan Hashi muncul di Majalah Times dan
dipublikasikan dalam bahasa Inggris dengan nama “Bridges atau Chopsticks”. Di
Perancis, Denmark, Belanda dan Belgia, permainan Hashi dipublikasikan dengan
nama “Ai-Ki-Ai”. Permainan Hashi pertama sekali muncul pada bulan Desember
1989 di majalah Puzzle Nikoli pada edisi ke-28.
2.7.1
Aturan Main
Hashi dimainkan pada sebuah kotak. Di dalam kotak ini, terdapat beberapa
lingkaran (sel) yang terletak secara horizontal dan vertikal. Sel ini dikenal juga
dengan sebutan pulau. Di dalam setiap pulau, terdapat angka dari 1 sampai 8.
Tujuan dari permainan Hashi adalah menghubungkan semua pulau dengan
membuat jembatan antar pulau dan tidak ada pulau yang terisolir (atau tidak
14
terhubung satu sama lain).
Aturan pembuatan jembatan pada kotak Hashi adalah sebagai berikut:
1. Satu jembatan dapat menghubungkan dua pulau yang terletak pada koordinat x
yang sama (horizontal) atau koordinat y yang sama (vertikal),
2. Jembatan tidak boleh saling bertimpaan dengan jembatan lainnya,
3. Maksimum hanya boleh terdapat 2 jembatan di antara 2 pulau yang sama,
4. Banyaknya jembatan yang terhubung ke pulau harus sama dengan angka yang
tertulis pada pulau.
2.7.2
Teknik Penyelesaian Hashi
Menurut “Indigopuzzles”, cara terbaik untuk mencari jawaban Hashi
adalah dengan berusaha menyelesaikan satu per satu masalah dalam setiap
soalnya. Beberapa teknik penyelesaian Hashi yang dipublikasikan oleh
“Indigopuzzles”
(http://www.indigopuzzles.com/ipuz/help.action?helpId=hashi/howToSolve_01)
dan dapat digunakan untuk mencari penyelesaian Hashi, yaitu:
1. Teknik Just Enough Neighbor
2. Teknik One Unsolved Neighbor
3. Teknik Few Neighbor
2.8
Algoritma Pemrograman (Flow Chart)
Suatu program adalah sederetan intruksi (dalam bahasa yang dimengerti
komputer yang bersangkutan) yang mengatur apa saja yang harus dikerjakan
komputer, untuk mendapatkan suatu hasil atau keluaran (output) yang kita
harapkan
2.8.1 Fungsi Flow Chart
Flowchart berfungsi untuk membantu dalam pembuatan program secara
umum setelah itu dituangkan ke dalam program secara detail. Sehingga
memudahkan pembuat program dan menghasilkan program yang terstruktur serta
output yang sesuai dengan perencanaan
15
2.8.2 Simbol-simbol Diagram Alir
Simbol-simbol yang mengambarkan algoitma dalam perancangan program
sebagai berikut
Tabel 2.1 Simbol-simbol Diagram Alir
Simbol
Nama
Fungsi
Terminator
Permulaan atau akhir program
Garis alir
(Flow Line)
Arah aliran program
Preparation
Proses inisialisasi atau pemberian harga awal
Proses
Proses perhitungan atau proses pengolahan data
Input atau Output
Proses input atau output data, parameter, informasi
Sub program
(predefined process)
Permulaan sub program atau
proses menjalankan sub program
Decision
Perbandingan pernyataan atau, penyeleksian data
yang memberikan pilihan untuk langkah
On page connector
Penghubung bagian-bagian flowchart yang berada
pada satu halaman
Off page connector
Penghubung bagian-bagian flowchart yang
berada pada halaman berbeda
(Sumber : Wikipedia http://id.wikipedia.org/wiki/Algoritma )
Download