BAB 2 LANDASAN TEORI
2.1
Teori – teori Umum 2.1.1 Sistem informasi 2.1.1.1 Pengertian sistem Menurut Mcleod (2001,p11), sistem sebagai kelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Menurut O,Brien (1997,p18), sistem merupakan kumpulan komponen yang saling berelasi dan bekerja sama untuk mencapai tujuan, dengan menerima masukan dan menghasilkan melalui suatu proses transformasi yang terorganisasi. Dari definisi di atas dapat disimpulkan bahwa sistem adalah sekelompok elemen atau unsur yang saling berinteraksi satu sama lain dalam menerima masukan, memprosesnya serta menghasilkan keluaran untuk mencapai suatu tujuan bersama. Suatu sistem memiliki karakteristik agar tidak menyimpang dari tujuan dan fungsinya. Karakteristik sistem adalah : 1. Komponen Sistem terdiri dari sejumlah komponen berupa subsistem atau elemen sistem yang melakukan fungsi tertentu. Komponen-komponen tersebut berinteraksi satu sama lainnya untuk mencapai tujuan sistem.
6
7
2. Batas sistem Sistem dibatasi oleh suatu area untuk membatasinya dengan sistem lainnya. Batasan sistem menunjukkan ruang lingkup sistem itu sendiri. 3. Lingkungan luar sistem Lingkungan luar sistem meliputi segala sesuatu yang berada di luar sistem yang mempengaruhi kerja sistem. 4. Penghubung sistem Penghubung sistem adalah suatu media yang menghubungkan antar elemen atau subsistem dalam sistem. Melalui media ini memungkinkan pengiriman masukan dan keluaran dari suatu sistem ke sistem lainnya. 5. Masukan sistem Masukan sistem atau input sistem adalah segala sesuatu yang diperlukan sistem untuk diproses sehingga sistem dapat mencapai hasil yang diharapkan. 6. Pengolahan sistem Suatu unit yang mengolah masukan ke sistem menjadi keluaran melalui proses atau prosedur tertentu. 7. Keluaran sistem Hasil yang diharapkan berasal dari masukan yang diproses. Hasil tersebut bisa menjadi hasil akhir atau masukan bagi sistem lainnya.
8
8. Sasaran dan tujuan sistem Memberikan laporan kepada pihak manajemen dalam pengambilan keputusan secara efektif dan efisien dan dapat menerima feed back dan kontrol dari arus informasi tertentu.
2.1.1.2 Pengertian Data Menurut O’Brien (1997,p24), data adalah ukuran yang mengacu pada sifat atau karakteristik suatu entitas. Menurut Mcleod (2001,p15), data terdiri dari fakta-fakta dan angkaangka yang relatif tidak berarti bagi pemakai. Dua sifat data : a. Shared
: data dapat digunakan bersama-sama oleh beberapa pengguna
b. Integrated : data merupakan kesatuan, sedapat mungkin menghindari pemulangan sehingga data menjadi lebih valid dan benar.
2.1.1.3 Pengertian informasi Menurut Mcleod (2001,p15), informasi adalah data yang telah diproses atau data yang memiliki arti. Menurut O’Brien (1997,p24), informasi adalah data yang diubah menjadi suatu bentuk yang berarti dan berguna dalam konteks tertentu bagi para pemakainya.
9
Sasaran yang harus dicapai oleh suatu informasi menurut Burch Et Al (1986,p17), adalah : 1. Akurat Informasi harus benar dan tidak menyesatkan, karena informasi tidak akurat akan berakibat fatal. 2. Tepat pada waktunya Informasi yang diterima tidak boleh terlambat karena merupakan landasan dalam mengambil keputusan. Informasi yang telah usang tidak akan mempunyai nilai lagi. 3. Relevan Informasi yang dihasilkan harus sesuai dengan keinginan dan kebutuhan pemakai. 4. Reliabilitas Tingkat kehandalan terhadap keakuratan informasi yang disajikan harus dapat dipertanggung jawabkan. 5. Lengkap Informasi yang disajikan harus utuh dan terperinci.
2.1.1.4 Pengertian sistem informasi Menurut O’Brien (1997,p4), sistem informasi adalah kombinsi yang terdiri dari orang, perangkat keras, perangkat lunak, jaringan komputer, dan
10
sumber
data
yang
dapat
menggumpulkan,
mendapatkan
dan
mendistribusikan informasi. Menurut Laudon (1998,p7), sistem informasi adalah sekumpulan komponen yang saling terkait, saling bekerja sama mengumpulkan, mengolah, menyimpan, dan menyebarkan informasi untuk pengambilan keputusan, koordinasi, kontrol, analisis, dan visualisasi dalam organisasi.
2.1.2
Basis Data Basis data adalah sekumpulan data yang saling berhubungan dan
dirancang untuk meghasilkan informasi yang diperlukan dalam suatu orgaisasi. Artinya basis data adalah tempat penyimpanan data yang besar dimana bisa digunakan secara simultan atau secara bersamaan oleh banyak departemen dan pemakai lainnya (user). Di dalam basis data semua item data diintegrasikan untuk menghindarkan duplikasi data. Basis data tidak hanya mengandung data operasional organisasi, tetapi juga deskripsi dari data tersebut (Connolly dan Begg ,2005, p15). Basis data merupakan sebuah koleksi atau kumpulan dari data-data yang berhubungan satu sama lain dan segala sesuatu yang diperlukan untuk mengelola data-data tersebut dan menggunakannya (Elmasri dan Navathe,2001,p4). Basis data juga dapat diartikan sebagai suatu record terkomputerisasi yang mempunyai tujuan untuk menyediakan informasi pada saat dibutuhkan (Date,2000,p5).
11
Gambar 2.1 Pemrosesan database
2.1.3 GPS (Global Positioning System)
Global Positioning System (GPS) adalah kesatuan satelit – satelit dan sistem kontrol yang memungkinkan sebuah alat penerima GPS menentukan lokasi dimanapun di bumi selama 24 jam sehari (Barnard,1992,p99-102) .
Penentuan posisi yang dilakukan oleh GPS dengan cara melakukan pengukuran dengan menggunakan minimum 3 satelit secara serentak. Satelit – satelit GPS secara terus menerus memancarakan kode pseudo-random. Jarak antara posisi reciver GPS dan satelit GPS dapat diketahui dengan cara terlebih dahulu menentukan waktu yang diperlukan untuk mengirimkan kode pseudorandom dari satelit ke reciver GPS. Dengan mengetahui waktu tersebut maka jarak satelit dan reciver GPS dapat ditentukan, Yaitu dengan menggunakan persamaan : x = c . t , dimana x adalah jarak antara satu satelit dengan reciver GPS, c adalah kecepatan cahaya (3.108 m/s), dan t adalah waktu transmisi.
12
2.1.4 Algoritma Algoritma adalah jantung dari ilmu komputer. Banyak cabang dari ilmu komputer yang masuk dalam terminologi algoritma. Jangan beranggapan bahwa algoritma selalu identik dengan ilmu komputer saja, karena dalam kehidupan sehari-hari banyak terdapat proses yang dinyatakan dalam suatu algoritma. Sebagai contoh, cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah - langkah yang dilakukan tidak logis maka tidak akan dihasilkan masakan yang diinginkan. Ibu ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah langkah pembuatannya lalu mengerjakan proses sesuai yang dibaca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. (Alex Budianto, 2003) Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Oleh karena itu, suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
13
•
Mengerti setiap langkah dalam Algoritma
•
Mengerjakan operasi yang sesuaian dengan langkah tersebut.
2.1.4.1 Sejarah Algoritma Asal usul kata Algoritma mempunyai sejarah yang aneh. Pada awalnya orang-orang hanya menemukan kata Algorism yang berarti proses menghitung dengan menggunakan angka arab. Seseorang dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa terus berusaha menemukan asal kata tersebut tetapi hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut, rupanya kata Algoritma berasal dari nama seorang ahli matematika dari Uzbekistan yang hidup di masa tahun 770-840 masehi yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Kata “Al-Khuwarizmi” dibaca oleh orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang memiliki arti “Buku pemugaran dan pengurangan”. Dari judul buku ini kita juga memperoleh asal usul kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering di kelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan menggunakan angka arab sudah menjadi hal yang biasa. Maka kata Algoritm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara
14
umu, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma (Alex Budianto, 2003).
2.1.4.2 Definisi Algoritma Definisi dari Algoritma adalah “Urutan langkah-langkah logis penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi disusun secara sistematis dan logis” (Alex Budianto, 2003).
2.1.4.3 Ciri – Ciri Algoritma Algoritma memiliki beberapa ciri, antara lain: a. Mempunyai awal dan akhir Setiap algoritma memiliki tahap-tahap di mana algoritma akan mulai dan tahap algoritma akan berakhir. b. Setiap langkah didefinisikan dengan tepat Setiap langkah dalam suatu metode algoritma harus didefinisiskan dengan tepat agar tidak terjadi kerancuan atau kesalahan saat algoritma tersebut dijalankan. c. Memiliki masukkan (input) Algoritma dalam menyelesaikan suatu masalah harus memiliki variabelvariabel tertentu yang dijadikan masukkan untuk menyelesaikan suatu masalah. Contoh : dalam algoritma perhitungan luas persegi panjang terdapat dua variabel masukkan yaitu panjang dan lebar.
15
d. Memiliki keluaran (output) Algoritma jika sudah selesai dijalankan harus menghasilkan suatu hasil yang merupakan solusi dalam permasalahan yang diselesaikan dalam algoritma tersebut. Contoh : dalam algoritma perhitungan luas persegi panjang, suatu algoritma akan mengeluarkan output berupa luas persegi panjang. e. Harus efektif (bisa menyelesaikan persoalan) Suatu algoritma harus dapat menyelesaikan persoalan yang ada, untuk tujuan tersebutlah suatu algoritma dibangun. Contoh : dalam algoritma perhitungan luas persegi panjang, maka suatu algoritma harus dapat menyelesaikan perhitungan luas suatu persegi panjang.
2.1.4.4 Sifat Algoritma Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi algoritma maka dapat disimpulkan sifat utama suatu algoritma, yaitu sebagai berikut: a. Input Sifat ini berarti, suatu algoritma memiliki kondisi awal sebelum algoritma dilaksanakan. b. Output Sifat ini berarti, suatu algoritma menghasilkan keluaran setelah algoritma dilaksanaan.
16
c. Definiteness Sifat ini berarti, langkah-langkah dari suatu algoritma terdefinisi dengan jelas. d. Finiteness Sifat ini berarti, suatu algoritma harus memberikan kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan. e. Effectiveness Sifat ini berarti, setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya memberi solusi sesuai yang diharpkan. f. Generality Sifat ini berarti, suatu algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.
2.1.4.5 Struktur Algoritma Agar algoritma dapat ditulis lebih teratur maka sebaiknya dibagi ke dalam beberapa bagian. Salah satu struktur yang sering dijadikan patokan adalah berikut:
17
•
Bagian Kepala (Header) Memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis.
•
Bagian Deklarasi/Definisi Variabel Memuat definisi tentang nama variable, nama tetapan, nama prosedur, nama fungsi, dan tipe data yang akan digunakan dalam algoritma.
•
Bagian Deskripsi/Rincian Langkah Memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output, dan sebagainya.
Contoh : Algoritma Luas_lingkaran {menghitung luas sebuah lingkaran apabila jari-jari lingkaran tersebut diberikan} Deklarasi { Definisi nama tetapan } Const N = 10; Const phi = 3.14; { Definisi nama peubah/variabel } Real jari_jari, luas;
Deskripsi Read(jari_jari);
18 Luas = phi* jari_jari*jari*jari; Write(luas);
2.1.5
Artificial Intelligent Dewasa ini, banyak orang tertarik kepada hal – hal yang berhubungan
dengan Artificial Intelligence ( AI ), tetapi banyak yang tidak dapat menjelaskan dengan pasti apa itu AI. Menurut Kusumadewi ( 2003, p1 ), AI adalah salah satu bagian ilmu komputer yang membuat agar komputer dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya dipakai sebagai alat hitung saja. Namun, seiring dengan perkembangan zaman maka peran komputer semakin mendominasi kehidupan umat manusia. Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Agar komputer bisa bertindak seperti dan sebaik manusia maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu pada AI, akan mencoba untuk memberikan beberapa metode untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi benda yang pintar.
19
Lebih detilnya, pengertian AI dapat dipandang dari berbagai sudut pandang, antara lain : 1.
Sudut pandang kecerdasan AI akan membuat komputer menjadi cerdas dan mampu berbuat seperti apa yang dilakukan oleh manusia.
2.
Sudut pandang penelitian AI adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.
3.
Sudut pandang bisnis AI adalah kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah – masalah bisnis.
4.
Sudut pandang pemrograman AI meliputi studi tentang pemrograman simbolik, problem solving, dan searching.
2.1.5.1 Sejarah Artificial Intelligent Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan" pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. John McCarthy juga
20
menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas.
Joseph
Weizenbaum
membangun
ELIZA,
chatterbot
yang
menerapkan psikoterapi Rogerian.
2.1.5.2 Definisi Artificial Intelligent •
AI ialah ilmu dan rekayasa yang membuat mesin mempunyai intelegensi tertentu khususnya nya program computer yang ‘cerdas’. (John McCarthy, 1956).
•
AI adalah automatisasi dari aktivitas yang berhubungan dengan pemikiran manusia seperti membuat keputusan, memecahkan masalah, belajar, dan lain-lain. (Bellman, 1978).
•
AI adalah ilmu yang memungkinkan mesin melakukan sesuatu dengan sebuah alasan tertentu. (Winston.1992).
•
AI adalah ilmu pengetahuan yang mempelajari bagaimana membuat komputer melakukan sesuatu yang biasanya lebih baik jika dilakukan oleh manusia. (Rich and Knight, 1991).
•
AI adalah bidang pembelajaran yang menjelaskan dan mempraktekkan kecerdasan pada proses komputasi.(Schalkoff,1990).
Menurut Lenat dan Feigenbaum(1992),terdapat sembilan tujuan dari kecerdasan buatan(Dr.Suyoto, 2004), yaitu:
21
1. Memahami kognisi manusia. Meniru cara manusia menyelesaikan masalah, Mencoba mendapatkan pengetahuan ingatan manusia yang mendalam, kemampuan problem-solving, belajar, membuat keputusan, dll. 2. Otomatisasi Biaya-Efektif. Menggantikan manusia dalam tugas-tugas intelegensi. Mempunyai program yang mempunyai performa sebaik manusia dalam mengerjakan pekerjaan. 3. Penguatan Intelegensi Biaya-Efektif. Membangun sistem untuk membantu manusia berpikir lebih baik, lebih cepat, lebih dalam, dll. Contohnya sistem untuk membantu diagnosa penyakit. 4. Intelegensi manusia super.
Membangun program yang mempunyai
kemampuan untuk melebihi intelegensi manusia. 5. Problem-solving umum. Sistem penyelesaian berbagai masalah yang luas. Sistem ini mempunyai kelebaran pikiran. 6. Wacana koheren. Komunikasi dengan manusia menggunakan bahasa alami. Contohnya dialog cerdas yang ada di dalam Turing test. 7. Otonomi. Mempunyai sistem intelegensi yang beraksi atas inisiatif sendiri. Harus bereaksi dengan dunia nyata. 8. Belajar(induksi). Sistem sebaiknya dapat untuk memperoleh data sendiri dan tahu bagaimana memperolehnya. Sistem dapat menyamaratakan, membuat hipotesis, penerapan/pembelajaran secara heuristik, membuat alasan dengan analogi.
22
9. Informasi. simpan informasi dan mengetahui bagaimana untuk mengambil informasi.
AI dapat dipandang dalam berbagai perspektif. a. Menurut perspektif Kecerdasan (Intelligent), AI adalah bagaimana membuat mesin yang “cerdas” dan dapat melakukan hal-hal yang sebelumnya hanya dapat dilakukan oleh manusia. b. Menurut perspektif bisnis, AI adalah sekelompok alat bantu (tools) yang berdayaguna, dan metodologi yang menggunakan tool-tool tersebut untuk menyelesaikan masalah-masalah bisnis. c. Dari perspektif pemrograman (Programming), AI juga meliputi studi tentang pemrograman simbolik, pemecahan masalah, proses pencarian (search).
2.1.5.3
Kecerdasan Buatan vs Kecerdasan Alamiah
Keuntungan Kecerdasan Buatan dibanding kecerdasan alamiah: a. Lebih permanen Kecerdasan buatan lebih bersifat permanent disbanding kecerdasan alami karena sifat manusia yang semakin berkurang kemampuannya sejalan dengan perubahan umur.
23
b. Memberikan kemudahan dalam duplikasi dan penyebaran Kecerdasan buatan dapat dengan mudah dan cepat untuk di duplikasi sedangkan untuk menduplikasi kecerdasan alami otak manusia sangat sulit dan membutuhkan waktu yang lama (untuk belajar). c. Relatif lebih murah dari kecerdasan alamiah Sampai saat ini belum ada yang dapat menciptakan otak manusia sehingga kecerdasan alami merupakan sesuatu yang sangat mahal. d. Lebih Konsisten dan teliti Hal ini disebabkan karena adanya sifat lupa yang dimiliki oleh kecerdasan alami. e. Dapat didokumentasi Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut.
Keuntungan Kecerdasan Alamiah dibanding kecerdasan buatan a. Bersifat lebih kreatif Kemampuan otak manusia untuk menambah atau memenuhi pengetahuan sangat melekat pada jiwa manusia, sedangkan pada kecerdasan buatan untuk menambah pengetahuan diperlukan melalui sistem yang dibangun. b. Dapat melakukan proses pembelajaran secara langsung, sementara AI harus mendapatkan masukan berupa simbol dan representasi-representasi.
24
2.1.5.4
Bidang-bidang AI
a. Expert System Secara umum, expert system adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Sedangkan bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. b. Natural Language Processing (NLP) NLP di maksudkan untuk mengenal makna dari bentuk kalimat yang berbeda-beda. Selain mampu mengerti bahasa sehari-hari, NLP juga mencakup kemampuan membentuk kalimat dalam bahasa sehari-hari. c. Recognition Contohnya adalah Speech Recognition. Dengan ini suatu komputer dapat mengenali suara kita, dan sekaligus bisa membedakan berbagai macam bentuk sinyal. Contoh yang lain adalah Character Recognition. Dengan ini suatu komputer dapat mengenali karakter, dan sekaligus bisa membedakan berbagai macam bentuk karakter.
25
d. Computer Vision Ilmu pengetahuan dan teknologi mesin yang dapat melihat. Dimana Computer Vision terkait dengan teori untuk membangun suatu sistem yang terdiri dari gambar. Contoh yang sering digunakan adalah untuk mendeteksi plat nomor kendaraan. e. Robotic Robot adalah mesin yang dapat di program untuk melaksanakan tugastugas mekanik. Robot yang berintelegensi dapat memberi respon terhadap perubahan lingkungan. f. Intelligent Computer Assisted Instruction Komputer dimaksudkan untuk membantu dalam pendidikan, sehingga dapat mengajar dengan cara sesuai keadaan pelajar. g. Automatic Programming Komputer dapat membuat program sendiri sesuai dengan spesifikasi yang di inginkan oleh programmer. h. Planning and Decision Support Komputer ini khusus membantu manager secara aktif dalam perencanaan dan pengambilan keputusan.
26
2.1.5.5
Soft Computing Menurut Prof. Lotfi A. Zadeh Soft Computing adalah koleksi dari
beberapa metodologi yang bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk dapat di selesaikan dengan mudah, robustness, dan biaya penyelesaian yang murah Soft computing merupakan inovasi baru dalam membangun sistem cerdas. Sistem cerdas merupakan sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Unsur pokok dalam Soft Computing yaitu : •
Jaringan Syaraf/ Neural Network (menggunakan pembelajaran)
•
Probabilistic Reasoning (mengakomodasi ketidakpastian)
•
Evolutionary Computing / Genetic Algorithm (optimasi)
•
Sistem Fuzzy (mengakomodasi ketidaktepatan)
Karakteristik dari Soft Computing yaitu : •
Soft Computing memerlukan keahlian manusia, apabila direpresentasikan dalam bentuk aturan (IF - THEN).
•
Model komputasinya diilhami oleh proses biologis.
•
Soft Computing merupakan Teknik optimasi baru.
•
Soft Computing menggunakan komputasi numeris.
27
•
Soft Computing memiliki toleransi kegagalan (meskipun kualitasnya berangsur-angsur memburuk).
2.1.6
Algoritma Genetika Algoritma genetik adalah suatu algoritma pencarian yang berbasis pada
mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks, yang sulit dilakukan oleh metode konvensional.(A. Desiani dan M. Arhami,2006) Sifat algoritma genetika adalah mencari kemungkinan-kemungkinan dari calon solusi untuk mendapatkan yang optimal bagi penyelesaian masalah. Ruang cakupan dari semua solusi yang layak, yaitu obyek-obyek di antara solusi yang sesuai, dinamakan ruang pencarian. Tiap titik dalam ruang pencarian merepresentasikan satu solusi yang layak. Tiap solusi yang layak dapat ditandai dengan nilai fitness-nya bagi masalah. Algoritma genetika bekerja dari populasi yang merupakan himpunan solusi yang dihasilkan secara acak. Solusi yang dicari dalam algoritma genetika adalah titik (satu atau lebih) di antara solusi yang layak dalam ruang pencarian. Setiap anggota himpunan yang merepresentasikan suatu solusi masalah dinamakan kromosom. Kromosom ini disusun oleh nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu. Satuan ini bisa berupa nilai biner, float, integer maupun karakter. Satuan disebut Gen. dan nilai dari gen di sebut
28
allele. Kromosom dalam suatu populasi berevolusi dalam iterasi yang dinamakan generasi, tiap kromosom dievaluasi berdasarkan fungsi evaluasi. Pada algoritma genetika, fitness biasanya dapat berupa fungsi objektif dari masalah yang akan dioptimalisasi. Kromosom-kromosom diseleksi menurut nilai fitness
masing-masing.
Kromosom yang kuat mempunyai kemungkinan tinggi untuk bertahan hidup pada generasi berikutnya. Proses seleksi tersebut kemudian ditentukan oleh kromosom-kromosom baru (offspring) melalui proses crossover dan mutasi dari kromosom yang terpilih (parents). Dari 2 proses tersebut di atas maka terbentuk suatu generasi baru yang akan diulangi terus-menerus hingga mencapai suatu konvergensi, yaitu sebanyak generasi yang diinginkan.
2.1.6.1 Teori Genetika Teori genetika pertama kali dikemukakan oleh Charles Darwin yang bisa disebut juga teori evolusi. Darwin menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan “yang kuat adalah yang menang”. (Suyanto,2005) Darwin juga menyatakan bahwa kelangsungan hidup suatu makhluk dapat dipertahankan melalui proses reproduksi, crossover, dan mutasi. Konsep dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih “alamiah”.
29
2.1.6.2
Struktur Dasar Algoritma Genetika
Menurut, Thiang,dkk(2001) struktur dasar algoritma genetika adalah sebagai berikut : 1. Membangkitkan populasi awal populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan. 2. Membentuk generasi baru Untuk membentuk generasi baru, digunakan operator reproduksi/seleksi, crossover dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru di mana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal dengan istilah anak (offspring). 3. Evaluasi solusi Pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah kedua. Beberapa kriteria berhenti yang sering digunakan antara lain: berhenti pada generasi
30
tertentu, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah, berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.
Gambar 2.2 Siklus Algoritma genetika
2.1.6.2.1 Representasi Populasi Awal Menurut, Suyanto (2005),Ada banyak jenis representasi, beberapa yang sering digunakan yaitu : 1.
Representasi biner Ini adalah representasi paling sederhana dan paling umum. Pada representasi biner ini, setiap gen hanya bisa bernilai 0 atau 1. Bilangan biner bisa digunakan untuk merepresentasikan ”ya” atau ”tidak”. Bilangan biner juga bisa digunakan untuk mengodekan bilangan bulat maupun real. Misalnya, suatu bilangan bulat 12 bisa di representasikan ke dalam 5 bit sebagai 01100.
31
2. Representasi integer Pada representasi ini, setiap gen bisa bernilai bilangan bulat (integer). Bilangan bulat bisa digunakan untuk merepresentasikan nomor urut, posisi, jenis atau kuantitas objek. Dengan representasi integer, ukuran kromosom menjadi lebih sederhana. 3.
Representasi real Permasalahan praktis di dunia nyata mungkin saja membutuhkan tingkat ketelitian sangat tinggi. Jika representasi biner maupun integer tidak bisa mencapai tingkat ketelitian yang diinginkan, kita bisa menggunakan representasi real.
4. Representasi permutasi Untuk masalah tertentu, kita mungkin saja tidak bisa menggunakan representasi biner, integer maupun real. Misalkan masalah Travelling Salesman Problem (TSP). Pada TSP, masalahnya adalah mencari ”urutan” bukan ”nilai”. Bagaimana menemukan urutan kunjungan lokasi (satu lokasi hanya dikunjungi satu kali) yang total ”nilai”-nya paling optimal (bisa maksimal atau minimal bergantung tujuannya). ”Nilai” di sini bisa berupa jarak, biaya, kenyamananya dan sebagainya.
32
2.1.6.2.2 Seleksi Individu. Setelah diketahui jenis representasi yang di butuhkan maka pembangkitan generasi awal (parent) dapat dilakukan. Menurut, Suyanto (2005),Ada banyak cara yang bisa digunakan untuk memilih individu/kromosom sebagai orang tua beberapa yang sering digunakan antara lain : 1. Fitness Proportionate Selection (FPS) FPS adalah seleksi individu/kromosom sebagai orang tua yang proporsional terhadap nilai fitness-nya. Artinya, semakin besar nilai fitness suatu individu semakin besar pula peluang individu tersebut untuk terpilih sebagai orangtua. 2. Rank-Based Selection Rank-Based Selection adalah seleksi individu/kromosom dengan mengurutkan nilai fitness-nya bisa ascending ataupun descending. 3. Tournament Selection Kedua metode seleksi di atas bersandar pada statistik dari seluruh individu pada populasi. Pada masalah tertentu di mana ukuran populasi cukup besar, misalnya 200 individu, kedua metode tersebut bisa mengakibatkan bottleneck. Artinya, banyak komputasi yang dihabiskan untuk proses seleksi sementara masih banyak komputasi lain yang harus dilakukan. Oleh karena itu, satu model seleksi ini bisa
33
dijadikan alternatif untuk mengatasi masalah tersebut. Prosedur yang digunakan yaitu dengan penyampling (sampling).
2.1.6.2.3 Rekombinasi (crossover) Menurut, Achmad Basuki (2003), rekombinasi merupakan proses mengkombinasikan dua individu untuk memperoleh individu-individu baru yang diharapkan mempunyai fitness lebih baik dibandingkan dengan parent-nya. Menurut, Suyanto (2005), rekombinasi dibagi menjadi dua yaitu : 1. Rekombinasi dua parent Rekombinasi yang terjadi pada dua parent untuk diwariskan kepada anaknya. 2. Rekombinasi lebih dari dua parent Rekombinasi yang terjadi pada lebih dari dua parent untuk diwariskan kepada anaknya. Metode yang digunakan oleh kedua jenis rekombinasi di atas pun berbeda. Metode yang sering digunakan untuk merekombinasi dua parent antara lain : 1. Untuk rekombinasi dengan representasi biner a. Rekombinasi satu titik (1-point crossover)
34
Memotong kromosom kedua parent pada satu titik kemudian ditukar untuk mendapatkan kromosom anak yang mewarisi sifat kedua parent-nya. b. Rekombinasi banyak titik (n-point crossover) Memotong kromosom kedua parent pada n titik kemudian ditukar untuk mendapatkan kromosom anak yang mewarisi sifat kedua parent-nya. c. Rekombinasi seragam (uniform crossover) Untuk menentukan tiap gen pada kromosom anak akan diacak antara 0 sampai 1, apabila hasilnya 0 maka akan diambil gen dari parent 1 untuk di masukan ke anak dan apabila hasilnya 1 akan diambil gen dari parent 2 untuk di masukan ke anak. 2. Untuk rekombinasi dengan representasi integer Untuk Rekombinasi dengan representasi integer ini metode yang digunakan sama seperti Rekombinasi dengan representasi biner. 3. Rekombinasi untuk representasi Permutasi a. Order crossover Pada Metode ini, satu bagian kromosom ditukar tetapi urutan gen secara relatif yang bukan bagian dari kromosom tersebut tetap dijaga. Untuk menukar bagian kromosom dan menjaga urutannya, kromosom dipotong pada dua titik dan bagian
35
kromosom di antara titik potong tersebut diwariskan secara utuh ke anaknya aga urutannya tetap terjaga. b. Partially Mapped Crossover Sama dengan Order crossover, metode ini juga mewariskan sebagian gen orang tua secara searah dan sebagian lainnya secara menyilang kepada kedua anaknya. Pewarisan sebagian gen secara menyilang dilakukan dengan memanfaatkan posisiposisi gen kedua orang tuanya yang memiliki nilai sama untuk dilakukan pemetaan (mapping). Karena pewarisan gen yang menggunakan pemetaan dilakukan hanya pada sebagian gen, maka metode rekombinasi ini dinamakan partially mapped crossover. c. Cycle crossover Sesuai dengan namanya, algoritma ini mencari siklus-siklus (cycles) yang terdapat pada kedua kromosom orang tua dan mewariskan cycles tersebut secara menyilang dan searah secara bergantian. Artinya, pada cycles pertama pewarisan dilakukan secara menyilang. Pada cycles kedua pewarisan dilakukan searah. Pada cycles ketiga pewarisan kembali dilakukan secara menyilang, dan seterusnya. Dengan cara ini biasanya akan dihasilkan dua anak yang selalu valid.
36
d. Edge recombination Algoritma ini bekerja dengan cara membangun suatu yang mendaftar edges (sisi-sisi) gen yang berada pada kedua orang tuanya. Untuk mendapatkan edge dari suatu gen, kromosom dianggap melingkar. Artinya, gen pada posisi terakhir memiliki edge yang berupa gen posisi sebelumnya dan gen posisi satu. Jika edge berada pada kedua orang tua, maka edge tersebut diberi tanda positif ’+’ dan disebut sebagai common edge. e. Rekombinasi path relinking Rekombinasi dilakukan dengan membuat banyak anak yang memiliki perbedaan secara berurutan sehingga mirip suatu jalur. Kemudian akan dipilih sejumlah anak yang memiliki fitness tertinggi.
Metode yang sering digunakan untuk merekombinasi lebih dari dua parent antara lain : 1. Berdasarkan frekuensi allele Pendekatan ini merupakan generalisasi dari rekombimasi seragam. Jika pada rekombinasi seragam dilakukan pembangkitan pola dengan dua kemungkinan nilai (berdasarkan random 0 dan 1), maka dengan pendekatan ini pembangkitan pola dilakukan dengan kemungkinan
37
nilai sebanyak jumlah orang tuanya. Jika parent berjumlah tiga, maka pembangkitan pola dilakukan berdasarkan rando 0,1 dan 2. 2. Berdasarkan segmentasi dan rekombinasi Pendekatan ini merupakan generalisasi dari rekombinasi banyak titik.
2.1.6.2.4 Mutasi Mutasi
yaitu
penambahan,pengurangan,
atau
pengubahan
sebagian kromosom yang diharapkan akan memberikan nilai fitness yang lebih baik. Metode yang sering digunakan antara lain : 1. Mutasi untuk representasi biner Untuk setiap posisi gen di dalam suatu kromosom, bangkitkan suatu bilangan acak antara 0 sampai 1. jika bilangan acak tersebut lebih kecil atau sama dengan 1/jumlah gen dalam kromosom, maka gen pada posisi tersebut dimutasi. Mutasi dilakukan secara sederhana dengan cara membalik nilai binernya. 2. Mutasi untuk representasi integer Sama dengan mutasi pada representasi biner, pemilihan posisi gen dilakukan dengan cara pembangkitan suatu bilangan acak antara 0 sampai 1. jika bilangan acak tersebut lebih kecil atau sama dengan 1/jumlah gen dalam kromosom, maka gen pada posisi tersebut
38
dimutasi. Mutasi gen dapat dilakukan dengan beberapa cara di antaranya adalah : a. Membalik nilai integer Cara ini merupakan perluasan dari mutasi pada representasi biner. Sebagai contoh, jika nilai gen berada dalam interval [0, 9], maka gen bernilai 0 dibalik menjadi 9, gen bernilai 1 dibalik menjadi 8, dan seterusnya. b. Pemilihan nilai secara acak Suatu gen yang terpilih untuk dimutasi nilainya diganti dengan gen baru yang dibangkitkan secara acak dalam interval nilai-nilai gen yang diizinkan. Misalnya, jika nilai-nilai gen berada dalam interval [0, 9], maka gen baru yang akan dibangkitkan juga berada dalam interval [0, 9]. Nilai gen baru yang dihasilkan bisa saja dibatasi dengan aturan harus berbeda dengan nilai gen lama. 3. Mutasi untuk representasi permutasi a. Mutasi pertukaran (swap mutation) Pilih dua posisi gen secara acak. Kemudian tukarkan gen pada kedua posisi tersebut. b. Mutasi penyisipan (insert mutation) Pilih dua posisi gen secara acak. Misalkan posisi P1 dan P2. Kemudian sisipkan gen posisi P2 setelah posisi P1.
39
c. Mutasi pengacakan (scramble mutation) Buat suatu segmen kromosom dengan memilih dua titik potong secara acak. Misalkan posisi T1 dan T2. Kemudian lakukan pengacakan posisi pada semua gen yang berada dalam segmen tersebut. d. Mutasi pembalikan (inversion mutation) Buat suatu segmen kromosom dengan memilih dua titik potong secara acak. Misalkan posisi T1 dan T2. Kemudian lakukan pembalikan posisi semua gen yang berada dalam segmen tersebut. 2.1.7
Fuzzy Logic Fuzzy Logic adalah suatu cara yang tepat untuk memetakan suatu ruang
input ke dalam suatu ruang output. Fuzzy logic juga memiliki himpunan fuzzy yang mana pada dasarnya, teori himpunan fuzzy merupakan perluasan dari teori himpunan klasik (Kusumadewi,2005,p13). Dengan menggunakan fuzzy logic, hasil yang keluar tidak akan selalu konstan dengan input yang ada. Menggunakan himpunan fuzzy, hasil yang keluar juga akan menjadi output yang rasional sesuai dengan penalaran manusia. Sebelum memulai dengan input, proses fuzzyfikasi, dan output, kita lebih baik mengenal beberapa scope dan variabel yang digunakan dalam proses tersebut. Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy (Kusumadewi, 2003, p158) :
40
a.
Variabel fuzzy, merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy.
b.
Himpunan fuzzy, merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy.
c.
Semesta
pembicaraan,
merupakan
keseluruhan
nilai
yang
diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. d.
Domain, merupakan keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.
Cara kerja aplikasi fuzzy logic secara garis besar terdiri input, proses, dan output. Input dalam fuzzy logic merupakan perpaduan dari membership function dan variabel yang telah disesuaikan agar sesuai dengan fungsi yang dipakai dalam suatu aplikasi fuzzy. Dalam penalaran fuzzy, dikenal proses penalaran Mamdani dan Sugeno. Dalam proses penalaran Mamdani, baik input maupun output merupakan sistem himpunan fuzzy. Sedangkan dalam proses penalaran sugeno, mirip dengan metode Mamdani hanya output sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linear.
41
Arsitektur pengembangan sistem fuzzy secara umum digambarkan secara di bawah ini :
Gambar 2.3 Arsitektur pengembangan sistem fuzzy
2.2
Teori – teori Khusus 2.2.1
Pemetaan
2.2.1.1 Pengertian Peta Peta adalah suatu alat peraga untuk menyampaikan suatu ide berupa sebuah gambar mengenai tinggi rendahnya suatu daerah (topografi), penyebaran penduduk, jaringan jalan dan hal lainnya yang berhubungan
42
dengan kedudukan dalam ruang. Peta dilukiskan dengan sekala tertentu, dengan tulisan atau symbol sebagai keterangan yang dapat dilihat dari atas. Peta dapat meliputi wilayah yang luas, dapat juga hanya mencakup wilayah yang sempit. Menurut Kamus Besar Bahasa Indonesia, peta adalah gambar atau lukisan pada kertas dan sebagainya yang menunjukan letak tanah, laut, sungai, gunung dan sebagainya direpresentasikan melalui gambar dari suatu daerah yang menyatakan sifat-sifat seperti batas daerah,sifat permukaan. Sedangkan menurut Burough (1986,p13), peta adalah sekumpulan titik, garis, area yang digunakan untuk mendefinisikan lokasi dan tempat yang mengacu pada system kordinat, dan peta biasanya direpresentasikan dalam bentuk tida dimensi . 2.2.1.2 Jenis Peta Ada beberapa jenis peta menurut kegunaannya yang terdapat dalam The World Encyclopedia(1991): 1. General Reference Map (Peta referensi umum) Peta ini digunakan untuk mengidentifikasikan dan verifikasi macammacam bentuk geografi termasuk fitur tanah, badan air, perkotaan, jalan dan lain sebagainya.
43
2. Mobility Map (Peta mobilitas) Peta ini bermanfaat dalam membantu masyarakat dalam menentukan jalur dari satu tempat ke tempat lainnya, digunakan untuk perjalanan di darat, laut dan udara. 3. Thematic Map (Peta tematik) Peta ini menunjukan penyebaran dari objek tertentu seperti populasi, curah hujan, sumber daya alam. 4. Inventory Map (Peta inventaris) Peta ini menunjukan lokasi dari fitur khusus, missal : posisi semua gedung di wilayah Jakarta Pusat.
Jenis-jenis peta berdasarkan isi : a. Peta umum Melukiskan semua kenampakan pada suatu wilayah secara umum. Kenampakan adalah keadaan alam atau daerah dengan berbagai bentuk permukaan bumi, yaitu gunung, daratan, lembah, sungai dan sebagainya yang merupakan satu kesatuan. Contoh : Peta Indonesia, Peta Asia, Peta Dunia. b. Peta Tematik atau Peta Khusus Melukiskan kenampakan tertentu atau menonjolkan satu macam data saja pada wilayah yang dipetakan. Contoh: Peta Iklim, Peta perhubungan.
44
Jenis–jenis peta berdasarkan sekala: i.
Peta kadaster/teknik : Bersekalan antara 1 : 100 – 1 : 5000
ii.
Peta sekala besar : Berseala antara 1 : 5000 – 1 : 250.000
iii.
Peta sekala sedang : Bersekala antara 1 : 250.000 – 1 : 500.000
iv.
Peta sekala kecil : Bersekala antara 1: 500.000 – 1.000.000
v.
Peta geografi : Bersekala lebih dari 1 : 1.000.000
2.2.1.3 Penggunaan Peta Pada umumnya peta dapat digunakan untuk mengetahui berbagi kenampakan pada suatu wilayah yang dipetakan, yakni : a. Memprlihatkan posisi suatu tempat di permukaan bumi. b. Mengukur luas dan jarak suatu daerah di permukaan bumi berdasarkan skala dan ukuran peta. c. Memperlihatkan bentuk suatu daerah yang sesungguhnya dengan skala tertentu. d. Menghimpun data suatu daerah yang disajikan dalam bentuk peta.
Adapun peta khusus digunakan untuk tujuan tertentu yang menonjolkan satu jenis data saja. Misalnya peta iklim, peta curah hujan, peta penyebaran penduduk dan sebaginya.
45
2.2.2
Jalan
2.2.2.1 Pengertian Jalan Pengertian jalan menurut Kamus Besar Bahasa Indonesia adalah tempat untuk lalu-lintas orang, kendaraan dan sebagainya. Sedangkan menurut UU RI No.13 tahun 1980 tentang jalan, jalan adalah prasarana perhubungan darat yang diperuntukan bagi lalu-lintas kendaraan dan orang. Pengertian lainnya yang juga disebutkan didalamnya, jalan adalah prasarana perhubungan darat dalam bentuk apapun meliputi segala bagian jalan termasuk bagian pelengkap dan yang diperuntukan bagi lalu-lintas. Bagian pelengkap yang dimaksudkan adalah bangunan yang tidak dapat dipisahkan dari jalan, antara lain jembatan, lintas atas (overpass), lintas bawah (underpass), tempat parkir, gorong-gorong, tembok penahan, dan saluran air jalan. Perlengkapan jalan antara lain rambu-rambu jalan, ramburambu lalu-lintas, tanda-tanda jalan, pagar pengamanan lalu-lintas, pagar daerah milik jalan dan patok-patok daerah milik jalan.
2.2.2.2 Jenis Jalan Beberapa jenis jalan menurut UU RI No.13 tahun 1980 : a. Jalan arteri adalah jalan yang melayani angkutan utama dengan cirri-ciri perjalanan jarak jauh, kecepatan rata-rata tinggi dan jumlah kendaraan masuk dibatasi secara efisien.
46
b. Jalan kelektor adalah jalan yang melayani angkutan pengumpulan atau pembagian dengan ciri-ciri jarak perjalan sedang, kecepatan rata-rata sedang jumlah jalan masuk dibatasi. c. Jalan local adalah jalan yang melayani angkutan setempat dengan ciri-ciri jarak perjalanan sedang, kecepatan rata-rata sedang dan jumlah jalan masuk tidak dibatasi.
2.2.2.3 Pengertian Rute Menurut Kamus Besar Bahasa Indonesia, rute adalah jalan atau arah yang harus diturut (ditempuh, dilalui).
2.2.2.4 Pengertian Rawan Kemacetan Menurut UU RI No 13 tahun 1980 tentang jalan, macet adalah suatu keadaan dimana kendaraan bergerak secara perlahan atau bahkan terpaksa berhenti dan menunggu diluar keinginan pengemudi. Kemacetan dapat disebabkan oleh factor kepadatan lalu-lintas, Kepadatan lalu-lintas disebabkan antara lain karena volume kendaraan yang besar yang tidak diimbangi oleh kapasitas jalan. Kapasitas jalan adalah jumlah Maksimum kendaraan yang dapat melewati suatu penampang tertentu pada suatu ruas jalan tertentu dalam satuan waktu tertentu pada kendaraan, jalan, dan lalu-lintas dengan tingkat kepadatan