BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
2.1.1 Definisi Sistem Menurut Prof. Dr. Mr. S. Prajudi Atmosudirdjo menyatakan bahwa suatu sistem terdiri atas objek-objek, atau unsur-unsur, atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsurunsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu.1 Model Umum sebuah sistem terdiri dari input, proses, dan output. Hal ini merupakan konsep sebuah sistem yang sangat sederhana mengingat sebuah sistem dapat mempunyai beberapa masukan dan keluaran sekaligus. Selain itu sebuah sistem juga memiliki karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakterisik yang dimaksud adalah sebagai berikut : 1. Komponen Sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi yang bekerja sama membentuk satu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk subsistem. Setiap subsistem memiliki sifat-sifat dari sistem yang menjalankan suatu fungsi tertentu 1
Sutabri, Tata. Analisa Sistem Informasi. Hal : 10.
11
12
dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem dapat mempunyai sistem lebih besar yang disebut dengan Supra Sistem. 2. Batasan sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisah-pisahkan. 3. Lingkungan Luar Sistem (Environment) Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut dengan lingkungan luar sistem. 4. Penghubung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem yang lain disebut dengan
penghubung
sistem
atau
interface.
Penghubung
ini
memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lain. 5. Masukan Sistem (Input) Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input). 6. Keluaran Sistem (Output) Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan bagi subsistem yang lain.
13
7. Pengolah Sistem (Proses) Suatu sistem dapat mempuyai suatu proses yang akan mengubah masukan menjadi keluaran. 8. Sasaran Sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministik.2 2.1.2 Daur Hidup Sistem Siklus hidup sistem (system life cycle) adalah proses evolusioner yang diikuti dalam penerapan sistem atau subsistem informasi berbasisi komputer. Siklus hidup sistem terdiri dari serangkaian tugas yang mengukui langkahlangkah pendekatan sistem, karena tugas-tugas tersebut mengikuti pola yang teratur dan dilakukan secra top down. Siklus hidup sistem sering disebut sebagai pendekatan air terjun (waterfall approach) bagi pembangunan dan pengembangan sistem. Adapun beberapa fase atau tahapan dari daur hidup suatu sistem, diantaranya adalah : 1. Mengenali adanya kebutuhan Sebelum segala sesuatunya terjadi, timbul suatu kebutuhan atau problema yang harus dapat dikenali sebagaimana adanya. Kebutuhan dapat terjadi sebagai hasil perkembangan organisasi. Volume kebutuhan itu meningkat melebihi kapasitas dari sistem yang ada. Semua kebutuhan ini harus dapat didefinisikan dengan jelas. Tanpa adanya kejelasan dari
2
Sutabri, Tata. Analisa Sistem Informasi. Hal : 12-13.
14
kebutuhan yang ada, pembangunan sistem akan kehilangan arah dan efektivitasnya. 2. Pembangunan Sistem Suatu proses atau seperangkat prosedur yang harus diikuti guna menganalisis kebutuhan yang timbul dan membangun suatu sistem untuk memenuhi kebutuhan tersebut. 3. Pemasangan Sistem Setelah tahap pembangunan sistem selesai, sistem kemudian akan dioperasikan. Pemasangan sistem merupakan tahap yang penting dalam daur hidup sistem, dimana perahlihan dari tahap pembangunan menuju tahap operasional adalah pemasangan sistem, yang merupakan langkah akhir dari suatu pembangunan sistem. 4. Pengoperasian Sistem Program-program komputer dan prosedur-prosedur pengoperasian yang membentuk suatu sistem informasi semuanya bersifat statis sedangkan organisasi yang ditunjang oleh sistem informasi selalu mengalami perubahan karena pertumbuhan kegiatan, perubahan peraturan dan kebijaksanaan ataupun kemajuan teknologi. Untuk mengatasi perubahan perubahan tersebut, sistem harus diperbaiki atau diperbaharui. 5. Sistem menjadi usang Kadang-kadang perubahan yang terjadi begitu drastis sehingga tidak dapat diatasi hanya dengan melakukan perbaikan pada sistem yang berjalan. Tiba saat dimana secara ekonomis dan teknis, sistem yang ada
15
sudah tidak layak lagi untuk dioperasikan dan sistem yang baru perlu dibangun untuk menggantikannya. Sistem informasi kemudian akan melanjutkan daur hidupnya. Sistem dibangun untuk memenuhi kebutuhan. Sistem beradaptasi terhadap aneka perubahan lingkungannya yang dinamis hingga kemudian sampai pada kondisi dimana sistem tidak dapat lagi beradaptasi. Sistem baru kemudian dibangun untuk menggantikannya. Tentang duar hidup sistem ini dapat dilihat pada Gambar 2.1 dibawah.
Mengenali Adanya Kebutuhan
Pembangunan Sistem
Sistem Menjadi Usang
Pemasangan Sistem
Pengoperasian Sistem
Gambar 2.1 Daur Hidup Sistem 3
2.1.3 Definisi Data Informasi dan data merupakan satu kesatuan yang sangat erat hubungannya. Namun istilah informasi seringkali tidak tepat pemakaiannya. Informasi dapat merujuk ke suatu data mentah, data tersusun, kapasitas sebuah saluran komunikasi, dan lain sebagainya. Sehingga dapat disimpulkan bahwa informasi 3
adalah
data
yang
telah
Sutabri, Tata. Analisa Sistem Informasi. Hal : 15-17.
diklasifikasikan
atau
diolah
atau
16
diinterpretasikan untuk digunakan dalam proses pengambilan keputusan. Sedangkan data itu sendiri merupakan kenyataan yang menggambarkan suatu kejadian serta merupakan suatu kesatuan yang nyata, merupakan bentuk yang masih mentah sehingga perlu diolah lebih lanjut melalui suatu model untuk menghasilkan informasi.4
2.2
Sistem Pakar
2.2.1 Definisi Pakar Pakar adalah seseorang yang banyak dianggap sebagai sumber terpercaya atas teknik maupun keahlian tertentu yang bakatnya untuk menilai dan memutuskan sesuatu dengan benar, baik maupun adil sesuai dengan aturan dan status oleh sesamanya ataupun khayalak dalam bidang khusus tertentu.5 Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya.6 2.2.2 Definisi Sistem Pakar Secara umum, sistem pakar (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 awam pun
4
Sutabri, Tata. Analisa Sistem Informasi. Hal : 18. http://id.wikipedia.org/wiki/Pakar. [Anonymous]. 02/04/2014. 21.50. 6 Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 3. 5
17
dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli.7 Knowledge dalam sistem pakar mungkin saja seorang ahli, atau knowledge yang umumnya terdapat dalam buku, majalah dan orang yang mempunyai pengetahuan tentang suatu bidang. Istilah sistem pakar, sistem knowledge-base, atau sistem pakar knowledge-base, sering digunakan dengan arti yang sama. Pada konsep dasar suatu sistem pakar knowledge-base, pengguna menyampaikan fakta atau informasi untuk sistem pakar dan kemudian menerima saran dari pakar atau jawaban ahlinya. Bagian dalam sistem pakar terdiri dari 2 komponen utama, yaitu knowledge base yang berisi knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respon dari sistem pakar atas permintaan pengguna. Untuk penggambaran konsep dasar suatu sistem pakar knowledge-base ini dapat dilihat pada Gambar 2.2 dibawah.
Gambar 2.2 Konsep Dasar Fungsi Sistem Pakar 8
2.2.3 Konsep Umum Sistem Pakar Pengetahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam 7 8
sejumlah
cara.
Salah
satu
metode
Kusumadewi, Sri. Artificial Intelligence. Hal : 109. Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 3-4.
yang paling umum
untuk
18
merepresentasikan pengetahuan adalah dalam bentuk tipe aturan (rule) IF...THEN (jika...maka). Turban (1995) menyatakan bahwa konsep dasar dari suatu sistem pakar mengandung beberapa unsur atau elemen, yaitu keahlian, ahli, pengalihan keahlian, inferensi, aturan, dan kemampuan menjelaskan. Keahlian merupakan suatu penguasaan pengetahuan di bidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang merupakan keahlian adalah : 1. Fakta-fakta pada lingkup permasalahan tertentu. 2. Teori-teori pada lingkup permasalahan tertentu. 3. Prosedur-prosedur
dan
aturan-aturan
berkenaan
dengan
lingkup
permasalahan tertentu. 4. Strategi-strategi global untuk menyelesaikan masalah. 5. Meta-knowledge (pengetahuan tentang pengetahuan). Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan
untuk
menalar
(reasoning).
Jika
keahlian-keahlian
sudah
tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka komputer harus dapat diprogram untuk membuat inferensi. Proses ini dibuat dalam bentuk motor inferensi (inference engine). 2.2.4 Keuntungan Sistem Pakar Sistem pakar (expert system) merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasihat dan sarana
19
bantu dalam memecahkan masalah dalam bidang-bidang spesialisasi tertentu seperti sains, perekayasaan, matematika, kedokteran, pendidikan dan sebagainya. Sistem pakar merupakan subset dari artificial intelligence. Ada beberapa keunggulan sistem pakar, diantaranya dapat : 1. Menghimpun data dalam jumlah yang sangat besar. 2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu. 3. Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi. Sementara kemampuan sistem pakar diantaranya adalah : 1. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya. 2. Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki. 3. Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya. Selanjutnya ada banyak keuntungan bila menggunakan sistem pakar, diantaranya adalah : 1. Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2. Meningkatkan output dan produktivitas. 3. Menyimpan kemampuan dan keahlian pakar. 4. Meningkatkan
penyelesaian
penerangan, sistem pakar khas. 5. Meningkatkan reliabilitas.
masalah-menerusi
panduan
pakar,
20
6. Memberikan response (jawaban) yang cepat. 7. Merupakan panduan yang intelligence (cerdas). 8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidakpastian. 9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat digunakan
untuk
mengakses
basis
data
dengan
cara
cerdas
(Kerschberg:86, Schur : 88). 2.2.5 Kelemahan Sistem Pakar Selain keuntungan-keuntungannya, sistem pakar seperti halnya sistem lainnya, juga memiliki kelemahan, diantaranya adalah : 1. Masalah dalam mendapatkan pengetahuan dimana pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda. 2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya. 3. Boleh jadi sistem tidak dapat membuat keputusan. 4. Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor dominan.9
9
Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 9-12.
21
2.2.6 Ciri-Ciri dan Kategori Masalah Sistem Pakar Sistem pakar merupakan program-program praktis yang menggunakan strategi heuristik yang dikembangkan oleh manusia untuk menyelesaikan permasalahan-permasalahan
yang
spesifik
(khusus).
Disebabkan
oleh
keheuristikannya dan sifatnya yang berdasarkan pada pengetahuan, maka umumnya sistem pakar bersifat : 1. Memiliki informasi yang handal, baik dalam menampilkan langkahlangkah antara maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian. 2. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya. 3. Heuristik dalam menggunakan pengetahuan (yang sering kali tidak sempurna) untuk mendapatkan penyelesaiannya. 4. Dapat digunakan dalam berbagai jenis komputer. 5. Memiliki kemampuan untuk beradaptasi. Sistem pakar saat ini telah dibuat untuk memecahkan berbagai macam permasalahan dalam berbagai bidang, seperti matematika, teknik, kedokteran, kimia, farmasi, sains komputer, bisnis, hukum, pendidikan, sampai pertahanan. Secara umum ada beberapa kategori dan area permasalahan sistem pakar, yaitu : 1. Intepretasi, yaitu pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data mentah, termasuk diantaranya juga pengawasan,
22
pengenalan ucapan, analisis citra, intepretasi sinyal, dan beberapa analisis kecerdasan. 2. Proyeksi, yaitu memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu, diantaranya peramalan, prediksi demografis, peramalan ekonomi, prediksi lalu lintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan. 3. Diagnosis, yaitu menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati, diantaranya medis, elektronis, mekanis dan diagnosis perangkat lunak. 4. Desain, yaitu menentukan konfigurasi komponen-komponen system yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu, diantaranya layout sirkuit dan perancangan bangunan. 5. Perencanaan, yaitu merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya perencanaan keuangan, komunikasi, militer, pengembangan produk, routing dan manajemen proyek. 6. Monitoring, yaitu membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku yang diharapkan darinya, diantaranya Computer Aided Monitoring System. 7. Debugging dan repair, yaitu menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi, diantaranya memberikan resep obat terhadap suatu kegagalan.
23
8. Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek, diantaranya melakukan instruksi untuk diagnosis, debugging dan perbaikan kinerja. 9. Pengendalian, yaitu mengatur tingkah laku suatu environment yang kompleks seperti kontrol terhadap interpretasi-interpretasi, prediksi, perbaikan dan monitoring kelakuan sistem. 10. Seleksi, mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan. 11. Simulasi, pemodelan interaksi antara komponen-komponen sistem.10 2.2.7 Bentuk Sistem Pakar Terdapat empat bentuk sistem pakar, diantaranya adalah : 1. Berdiri sendiri. Sistem pakar jenis ini merupakan software yang berdiri sendiri tidak tergabung dengan software yang lainnya. 2. Tergabung. Sistem pakar jenis ini merupakan bagian program yang terkandung didalam suatu algoritma (konvensional), atau merupakan program dimana didalamnya memanggil algoritma subrutin lain (konvensional). 3. Menghubungkan ke software lain. Bentuk ini biasanya merupakan sistem pakar yang menghubungkan ke suatu paket program tertentu, misalnya dengan DBMS. 4. Sistem mengabdi. Sistem pakar merupakan bagian dari komputer khusus yang dihubungkan dengan suatu fungsi tertentu. Misalnya
10
Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 23-24.
24
sistem pakar yang digunakan untuk membantu menganalisis data radar. 2.2.8 Struktur Sistem Pakar Sistem pakar terdiri dari dua bagian pokok, yaitu : lingkungan pengembangan
(development
environment)
dan
lingkungan
konsultasi
(consultation environment). Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi pembangun komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seseorang yang bukan ahli untuk berkonsultasi. Untuk lebih jelasnya dapat dilihat pada struktur sistem pakar pada gambar 2.3 dibawah.
Basis Pengetahuan User
Fakta-fakta Tentang kejadian khusus
Fakta :
Apa yang diketahui tentang area domain Aturan : Logical Reference
Antarmuka Fasilitas Penjelasan Rekayasa Pengetahuan
Aksi yang direkomendasi
Motor Inferensi
o Interpreter o Scheduler o Consistency Enforcer
Pengetahuan ahli
BLACKBOARD Rencana Solusi
Agenda Deskripsi
Penyaring Pengetahuan
Gambar 2.3 Struktur Sistem Pakar
Berdasarkan gambar 2.3 Struktur Sistem Pakar diatas, berikut penjelasan dari komponen- komponen yang ada pada sistem pakar : 1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan
pengetahuan,
mengkonstruksi
atau
memperluas
25
pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari : ahli, buku, basis data, penelitian dan gambar. 2. Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah. 3. Motor inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada tiga elemen utama dalam motor inferensi, yaitu : a. Interpreter : mengeksekusi item-item agenda yang terpilih dengan menggunakan aturan-aturan dalam basis pengetahuan yang sesuai. b. Scheduler : akan mengontrol agenda. c. Consistency enforcer : akan berusaha memelihara kekonsistenan dalam merepresentasikan solusi yang bersifat darurat. 4. Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada tiga tipe keputusan yang dapat direkam yaitu : a. Rencana : bagaimana menghadapi masalah. b. Agenda : aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi. c. Solusi : calon aksi yang akan dibangkitkan. 5. Antarmuka. Digunakan untuk media komunikasi antara user dan program.
26
6. Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan : a. Mengapa suatu pertanyaan ditanyakan oleh sistem pakar? b. Bagaimana konklusi dicapai? c. Mengapa ada alternatif yang dibatalkan? d. Rencana apa yang digunakan untuk mendapatkan solusi? 7. Sistem penyaring pengetahuan. Sistem ini digunakan untuk mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuanpengetahuan yang ada masih cocok untuk digunakan di masa mendatang. 2.2.9 Basis Pengetahuan (Knowledge Base) Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah, tentu saja di dalam domain tertentu. Ada dua bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu : 1. Penalaran Berbasis Aturan (Rule-Based-Reasoning) Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk : IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah-langkah) pencapaian solusi.
27
2. Penalaran Berbasis Kasus (Case-Based-Reasoning) Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusisolusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.11 2.2.10 Mesin Inferensi Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workspace, dan untuk memformulasikan kesimpulan (Turban : 1995). Kebanyakan sistem pakar berbasis aturan menggunakan strategi inferensi yang dinamakan modus ponen. Berdasarkan strategi ini, jika terdapat aturan “IF A THEN B”, dan jika diketahui bahwa A benar, maka dapat disimpulkan bahwa B juga benar. Strategi inferensi modus ponen dinyatakan dalam bentuk : [A AND (A→B)] → B. Dengan A dan A → B adalah proposisiproposisi dalam basis pengetahuan. Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu Backward Chaining dan Forward Chaining.
11
Kusumadewi, Sri. Artificial Intelligence. Hal : 113-116.
28
1. Pelacakan ke belakang atau backward chaining adalah pendekatan yang dimotori tujuan (goal-driven). Dalam pendekatan ini pelacakan dimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuan tersebut
untuk
kesimpulannya.
Selanjutnya
proses
pelacakan
menggunakan premis untuk aturan tersebut sebagai tujuan baru dan mencari aturan lain dengan tujuan baru sebagai kesimpulannya. Proses berlanjut sampai semua kemungkinan ditemukan. Proses backward chaining terlihat pada gambar 2.4 dibawah. Observasi A
Aturan R1
Fakta C Aturan R3
Observasi B
Aturan R2
Tujuan 1 (Kesimpulan)
Fakta D Aturan R4
Gambar 2.4 Proses Backward Chaining
2. Pelacakan ke depan atau forward chaining adalah pendekatan yang dimotori data (data-driven). Dalam pendekatan ini pelacakan dimulai dari informasi masukan, dan selanjutnya mencoba menggambarkan kesimpulan. Pelacakan ke depan mencari fakta yang sesuai dengan bagian IF dari aturan IF-THEN. Proses forward chaining terlihat pada gambar 2.5 dibawah. Observasi A
Aturan R1
Fakta C
Observasi B
Aturan R2
Fakta D
Kesimpulan 1 Aturan R3 Kesimpulan 2 Aturan R4 Fakta E
Gambar 2.5 Proses Forward Chaining 12
12
Arhami, Muhammad. Konsep Dasar Sistem Pakar. Hal : 19-20.
29
2.2.11 Pencarian Mendalam Pertama (Depth First Search) Pada Depth First Search, proses pencarian akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi. Metode depth first search dapat dilihat pada gambar 2.6 dibawah.
A
B
C
Gambar 2.6 Metode Depth First Search
1. Algoritma a. Jika keadaan awal merupakan tujuan keluar (sukses). b. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai keadaan sukses atau gagal : 1) Bangkitkan successor E dari keadaan awal. Jika tidak ada successor, maka akan terjadi kegagalan. 2) Panggil depth first search dengan E sebagai keadaan awal.
30
3) Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah dua. 2. Keuntungan a. Membutuhkan memory yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. b. Secara kebetulan, metode depth first search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. 3. Kelemahan a. Kemungkinan tidak ditemukannya tujuan yang diharapkan. b. Hanya akan mendapatkan satu solusi pada setiap pencarian. 4. Analisis Ruang dan Waktu a. Analisis Ruang : 1) Setelah berjalan satu langkah, stack akan berisi b node. 2) Setelah berjalan dua langkah, stack akan berisi (b-1)+b node. 3) Setelah berjalan tiga langkah, stack akan berisi (b-1)+(b-1)+b node. 4) Setelah berjalan d langkah, stack akan berisi (b-1)*d+1 node, mencapai maksimum. b. Analisis Waktu : 1) Pada kasus terbaik, depth first search akan mencapai tujuan pada kedalaman d pertama, sehingga dibutuhkan pencarian sebanyak d+1 node.
31
2) Pada kasus terburuk, depth first search akan mencapai tujuan pada kedalaman d pada node terakhir, sehingga dibutuhkan pencarian sebanyak : 1+b+b2+b3+...+bd = (bd+1-1)/(b-1).13
2.3
UML (Unified Modeling Language) Unified modeling language adalah keluarga notasi grafis yang didukung
oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO).14 Dengan menggunakan UML, kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax atau semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan.15 Notasi UML dibuat sebagai kolaborasi dari Grady Booch
13
Kusumadewi, Sri. Artificial Intelligence. Hal : 26-27. Fowler, Martin. UML Distilled Edisi 3. Hal : 1. 15 Jatnika, Hendra. Metodologi Berorientasi Objek. http://www.hendra-jatnika.web.id/index.php/akdm/know/doc_download/34-teori-mbo. 10/04/2014. 22.00. 14
32
DR.James Rumbough, Ivar Jacobson, Rebecca Wirfs-Brock, Peter Yourdon, dan lainnya. Jacobson menulis tentang pendefinisian persyaratan-persyaratan sistem yang disebut use case, juga mengembangkan sebuah metode untuk perancangan sistem yang disebut Object Oriented Software Engineering (OOSE) yang berfokus pada analisis. Booch, Rumbough dan Jacobson biasa disebut dengan tiga sekawan (three amigos). Semuanya bekerja di Rational Software Corporation dan berfokus pada standarisasi dan perbaikan ulang UML. Simbol UML mirip dengan Booch, notasi OMT, dan juga ada kemiripan dengan notasi lainnya. Penggabungan beberapa metode menjadi UML dimulai pada tahun 1993. Setiap orang dari tiga sekawan di Rational mulai menggabungkan idenya dengan metode-metode lainnya. Pada akhirnya tahun 1995 Unified Method versi 0.8 diperkenalkan. Unified Method diperbaiki dan diubah menjadi UML pada tahun 1996, UML 1.0 disahkan dan diberikan pada Object Technology Group (OTG) pada tahun 1997, dan pada tahun itu juga beberapa perusahaan pengembang utama perangkat lunak mulai mengadopsinya. Pada tahun yang sama OMG merilis UML 1.1 sebagai standar industri.16 2.3.1 Diagram-Diagram Dalam UML Untuk mendapatkan banyak pandangan terhadap sistem yang akan dibangun, UML menyediakan beberapa diagram visual yang menunjukkan berbagai aspek dalam sistem. Terdapat beberapa diagram dalam UML yang digunakan oleh penulis, diantaranya yaitu : use case diagram, activity diagram dan sequence diagram.
16
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 6-7.
33
1. Use Case Diagram Diagram use case menunjukkan tiga aspek dari sistem yaitu : actor, use case dan system atau sub system boundary. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. Ilustrasi actor, use case dan boundary dapat dilihat pada gambar 2.7 dibawah.
Sistem
Use Case
Actor
Actor
Gambar 2.7 Use Case Model 17
Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsionalitas sistem atau persyaratanpersyaratan yang harus dipenuhi sistem dari pandangan pemakai.
Mentransfer Uang
Mendepositokan Dana
Mengganti PIN Petugas Bank
Customer
Mengecek Saldo
Membayar Kredit Sistem Kredit Menarik Uang
Gambar 2.8 Diagram Use Case Untuk Sistem ATM 17
Munawar. Pemodelan Visual dengan UML. Hal : 64.
34
Gambar 2.8 merupakan contoh diagram use case yang menunjukkan interaksi antara use case dan aktor untuk sistem ATM. Pada contoh ini, aktor pelanggan menggunakan beberapa use case, antara lain : menarik uang, mendepositkan dana, mentransfer uang, mengecek saldo, membayar kredit, dan mengganti PIN. Petugas bank dapat mengganti PIN pelanggan. Use case membayar kredit memberikan arah panah ke aktor sistem kredit, dimana merupakan aktor berupa sistem lain yang menerima informasi atau data dari sistem ATM. 18 2. Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa.19 Diagram aktivitas atau activity diagram menggambarkan aliran fungsionalitas sistem. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukkan aliran kerja bisnis (business work flow). Dapat juga digunakan untuk menggambarkan aliran kejadian (flow of events) dalam use case. Berikut contoh diagram aktivitas dimana aktivitas dalam diagram direpresentasikan dengan bentuk bujur sangkar bersudut tidak lancip, yang di dalamnya berisi langkah-langkah apa yang sedang terjadi dalam aliran kerja. Ada 18 19
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 7-8. Munawar. Pemodelan Visual dengan UML. Hal : 109.
35
sebuah keadaan mulai (start state) yang menunjukkan dimulainya aliran kerja, dan sebuah keadaan selesai (end state) yang menunjukkan akhir diagram, titik keputusan dipresentasikan dengan diamond. Diagram aktivitas tidak perlu dibuat untuk setiap aliran kerja, tetapi diagram ini akan sangat berguna untuk aliran kerja yang kompleks dan melebar. Contoh diagram aktivitasnya dapat dilihat pada gambar 2.9 dibawah. Bagian Layanan Pelanggan
Menghimpun Informasi Pelanggan
Manager Departemen Kredit
Set Batas Kredit do/ Cek histori kredit pelanggan
Membuka Account Kredit Baru
Account
Pelanggan
Review Histori Kredit Membatalkan Account
Menerima Kredit
Account [Disetujui]
Account
[Baru] [Buka] Account [Dibatalkan]
Menyetujui Account
Menandatangani Surat Perjanjian
Gambar 2.9 Contoh Aliran Kerja (Work Flow) Dengan Diagram Aktivitas 20
3. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang diletakkan diantara obyek-obyek ini di
20
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 8-9.
36
dalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical. a. Obyek atau Participant Obyek diletakkan di dekat bagian atas diagram dengan urutan dari kiri ke kanan. Mereka diatur dalam urutan guna menyederhanakan diagram. Setiap participant terhubung dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation. Berikut gambar 2.10 adalah gambar participant pada sebuah sequence diagram.
Gambar 2.10 Participant Pada Sebuah Sequence Diagram
b. Message Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Sebuah participant bisa mengirim sebuah message kepada dirinya sendiri. Sebuah
37
message bisa jadi simple, synchronous atau asynchronous. Message yang simple adalah sebuah perpindahan (transfer) control dari satu participant ke participant yang lainnya. Jika sebuah participant mengirimkan sebuah message synchronous, maka jawaban atas message tersebut akan ditunggu sebelum diproses dengan urusannya. Namun jika message asynchronous yang dikirimkan, maka jawaban atas message tersebut tida perlu ditunggu. Simbol message pada sequnce diagram bisa dilihat pada gambar 2.11 dibawah.
Simple
Asynchronous
Synchronous
Gambar 2.11 Simbol-Simbol Message
c. Time Time adalah diagram yang mewakili waktu pada arah vertical. Waktu dimulai dari atas ke bawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah. Berdasarkan penjelasan yang ada, tampak bahwa sequence diagram menunjukkan dua dimensi. Dimensi dari kiri ke kanan menunjukkan tata letak obyek atau participant dan dimensi dari atas ke bawah menunjukkan lintasan waktu.
38
Actor
Name 1
Name 2
Participant (Obyek) Activation Message
Lifeline
Gambar 2.12 Simbol-Simbol Yang Ada Pada Sequence Diagram
Gambar 2.12 diatas menunjukkan esensi simbol dari sequence diagram dan simbol kerjanya secara bersama-sama. Participant terletak disebelah atas. Setiap lifeline menggunakan garis putus-putus yang menurun dari participant. Garis yang solid dengan tanda panah menghubungkan antara satu lifeline dengan lifeline yang lain dan mewakili sebuah message dari satu participant ke participant yang lain. Dari gambar tersebut terlihat seseorang actor menginisialisasi sequence diagram meskipun actor bukan bagian dari sequence diagram.21 Berikut contoh dari sequence diagram, misalkan dalam use case “menarik uang”. Disini mempunyai beberapa kemungkinan, seperti penarikan uang secara normal, percobaan penarikan uang tanpa kecukupan ketersediaan dana, penarikan dengan penggunaan PIN yang salah, dan lainnya. Yang akan dibahas disini adalah diagram sekuensial panarikan satu juta rupiah (tanpa adanya kesalahan seperti 21
Munawar. Pemodelan Visual dengan UML. Hal : 87-89.
39
nomor PIN atau perhitungan) yang akan ditunjukkan pada gambar 2.13. Diagram ini menunjukkan aliran proses dalam use case “menarik uang”.
Arvin : Customer
Layar ATM
Pembaca Kartu
Account Arvin
Dispenser Tunai
Terima Kartu Membaca Nomor Kartu Inisialisasi Account Buka Account Isian PIN Masukkan PIN Verifikasi PIN
Pilihan Transaksi Memilih Transaksi (Menarik Uang) Isian Nilai Penarikan Masukkan Nilai Penarikan
Menarik Uang (1 Juta) Verifikasi dana (1 Juta) Kurangi saldo (1 Juta) Sediakan uang (1 Juta) Sediakan tanda terima Keluarkan Kartu
Gambar 2.13 Diagram Sekuensial Untuk Penarikan Uang Satu Juta Oleh Arvin
Berikut penjelasan dari Gambar 2.13 diatas. Proses dalam use case diawali ketika seorang pelanggan (Arvin) memasukkan kartu ATM ke dalam pembaca kartu yang digambarkan oleh sebuah obyek yang terdapat dibagian atas diagram. kemudian pembaca kartu membaca nomor kartu, membuka account obyek milik Arvin, dan menampilkan layar ATM untuk meminta nomor PIN. Arvin memasukkan nomor
40
PIN, layar membaca PIN dan melakukan verifikasi. Layar menampilkan beberapa pilihan dan Arvin memilih menu menarik uang. Layar kemudian menampilkan isian jumlah uang yang akan diambil Arvin, dan Arvin mengetik satu juta rupiah. Kemudian layar menarik uang tersebut dari alat penghitung. Hal ini mengalami beberapa urutan proses yang dilakukan oleh obyek-obyek. Pertamatama, account milik Arvin menampilkan bahwa nilai penarikan adalah satu juta rupiah, kemudian permintaan tersebut dikirimkan ke account. Selanjutnya diinstruksikan pada dispenser tunai untuk menyediakan satu juta rupiah. Dan akhirnya, account memberikan perintah keluarkan kartu ke obyek pembaca kartu.22 4. Class Diagram Class diagram atau diagram kelas digunakan untuk menampilkan kelas-kelas atau paket-paket di dalam sistem dan relasi antar mereka. Ia memberikan gambaran sistem secara statis. Biasanya, dibuat beberapa diagram kelas untuk satu sistem. Satu diagram kelas menampilkan subset dari kelas-kelas dan relasinya. Yang lainnya, mungkin menampilkan kelas-kelas termasuk atribut dan operasi dalam kelas-kelas. Dan yang lainnya lagi, mungkin menampilkan paketpaket kelas dan relasi antar paket-paket. Dapat dibuat beberapa diagram sesuai yang diinginkan untuk mendapatkan gambaran lengkap terhadap sistem yang dibangun. Tidak ada aturan yang
22
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 9-11.
41
mengharuskan berapa banyaknya diagram kelas harus dibuat. Diagram kelas adalah alat perancangan terbaik untuk tim pengembang perankat lunak. Diagram tersebut membantu pengembang mendapatkan struktur sistem sebelum menuliskan kode program, membantu untuk memastikan bahwa sistem adalah rancangan terbaik.
<
> FormUtamaPenjualan
<> FormResep
<> FormObatJual
<> ManagerJualObat
<<entity>> ObatJual
<<entit... Obat
<> FormJenisPelanggan
<> PenggerakBasisData
Gambar 2.14 Contoh Diagram Kelas 23
2.4
Konsep Dasar Basis Data
2.4.1 Definisi Basis Data Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang, seperti : 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 23
Sholiq. Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Hal : 101-102.
42
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file atau tabel atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 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 dalam pengambilan kembali data atau arsip.24 2.4.2 Komponen Basis Data Komponen basis data terdiri dari beberapa bagian, yaitu : 1. Field (medan) adalah unit terkecil pada data, berhubungan dengan atribut pada model logika basis data. 2. Record (rekaman) adalah sekumpulan medan (field) yang tersimpan di tempat penyimpanan dan dipanggil bersamaan sebagai suatu unit.25 3. Database (basis data) adalah kumpulan sejumlah objek seperti file atau tabel, indeks, dan lain-lain.26
2.5
Perangkat Lunak Yang Digunakan Pada bagian ini akan dibahas tentang perangkat lunak yang digunakan
pada saat pembangunan sistem pakar.
24
Fathansyah. Buku Teks Ilmu Komputer Basis Data. Hal : 2. Ibid. Hal : 11. 25 Nugroho, Adi. Analisis dan Perancangan Sistem Informasi dengan Metodologi Berorientasi Objek. Hal : 408. 26
43
2.5.1 Visual Basic .Net 2008 Visual Basic .Net 2008 adalah salah satu salah satu program berorientasi objek, selain itu ada pula program Java dan C++ yang juga berbasis objek. Program Visual Basic .Net 2008 adalah produksi Microsoft Corp. Program ini biasanya dipaket bersama-sama dengan Visual C# 2008 dan Visual C++ 2008 dalam paket Visual Studio 2008. Visual Basic .Net 2008 (disingkat VB.Net 2008) menawarkan banyak kemudahan dibandingkan versi-versi sebelumnya, antara lain teknik pemrograman dapat dibuat lebih terstruktur dan lebih banyak bantuan dalam pemrograman. Jauh lebih mudah untuk menguasainya dibandingkan dengan versinya yang terdahulu, yaitu Visual Basic 6 (disingkat VB6).27
Gambar 2.15 Tampilan Awal Microsoft Visual Studio 2008
2.5.2 Database Microsoft Office Access 2003 Microsoft office access adalah salah satu program dari microsoft office yang dijalankan dengan menggunakan sistem operasi windows yang berguna untuk penanganan data dan informasi secara struktural : membuat, menyimpan, 27
Pengenalan Visual Basic .Net. http://dosen.narotama.ac.id/wp-content/uploads/2011/12/Membuat-AplikasiBerbasis-Pendekatan-Sistem-dengan-Visual-Basic-Net-2008.pdf [Anonymous]. 10/04/2014. 22.30
44
merubah dan mengaksesnya kembali dalam sebuah database. Singkatnya microsoft access adalah program aplikasi pembuat database.28
Gambar 2.16 Tampilan Awal Microsoft Office Access 2003
2.6
Latar Belakang Toko Silikon Komputer
2.6.1 Sejarah Toko Silikon Komputer Toko Silikon Komputer merupakan salah satu toko komputer yang ada di Tanjungpinang yang sudah mulai berdiri sejak tahun 2000 dan beralokasi di Jalan Bakar Batu No.26, Tanjungpinang. Toko Silikon Komputer ini menjual berbagai produk laptop diantaranya laptop dengan merk Acer, Asus, Sony Vaio, HP, Toshiba dan Lenovo. Selain itu toko Silikon Komputer juga menjual aksesoris laptop, smartphones dan juga melayani jasa perbaikan laptop maupun komputer. 2.6.2 Visi dan Misi Toko Silikon Komputer 1. Visi Visi dari toko Silikon Komputer adalah selalu mencoba menjadi lebih baik dan lebih cepat dalam memberikan pelayanan. 28
Arranirie, Azhar. Microsoft Access 2003. http://azharsmp13.files.wordpress.com/2008/01/download.ppt. 10/04/2014. 23.00.
45
2. Misi Misi dari toko Silikon Komputer adalah : a. Menciptakan sumber daya manusia yang disiplin dan memiliki kinerja yang tinggi. b. Memanfaatkan sumber daya yang ada untuk mendapatkan peluang yang menarik serta dapat mengelola resiko secara efektif. c. Menjalin tingkat kerjasama yang tinggi antara satu bagian dengan bagian lainnya di toko Silikon Komputer. d. Selalu menjalin hubungan baik dan lancar dengan pelanggan toko Silikon Komputer. e. Selalu menjaga reputasi baik dari toko Silikon Komputer. 2.6.3 Struktur Organisasi Adapun struktur organisasi dari toko Silikon Komputer dapat dilihat pada Gambar 2.17 dibawah.
PEMILIK
PENJUALAN
TEKNISI
Gambar 2.17 Struktur Organisasi Toko Silikon Komputer
46
2.6.4 Deskripsi Pekerjaan Adapun tugas dari masing-masing bagian yang terdapat pada struktur organisasi toko Silikon Komputer adalah sebagai berikut : 1. Pemilik a. Menetapkan peraturan untuk mencapai visi dan misi dari toko Silikon Komputer. b. Mengambil keputusan setiap kegiatan di toko Silikon Komputer. c. Menerima laporan penjualan, persediaan dan pembelian barang. 2. Penjualan a. Melayani dan menawarkan produk yang dijual di toko Silikon Komputer kepada pelanggan layaknya seorang marketing. b. Menyimpan keuangan hasil penjualan dan keuangan pembelian barang layaknya seorang kasir. c. Melakukan pemesanan barang kepada supplier jika persediaan barang sudah habis layaknya seorang purchasing. d. Membuat laporan penjualan, persediaan dan pembelian barang layaknya seorang sekretaris. 3. Teknisi a. Berkomunikasi dengan pelanggan untuk mengetahui masalah kerusakan yang dialami oleh komputer ataupun laptop pelanggan yang ingin di service. b. Memperbaiki, merakit, instalasi software, dan maintenance peralatan komputer ataupun laptop dari pelanggan.
47
c. Download aplikasi atau software secara rutin agar software toko Silikon Komputer senantiasa up to date.