BAB II TINJAUAN PUSTAKA II.1 Konsep Dasar Sistem Informasi II.1.1 Sistem Defenisi sistem berkembang sesuai dengan konteks dimana pengertian sistem itu digunakan. Berikut beberapa defenisi sistem secara umum: 1. Kumpulan dari bagian – bagian yang bekerja sama untuk mencapai tujuan yang sama. 2. Sekumpulan objek – objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai satu tujuan. Menurut Murdick dan Ross (1993), sistem sebagai perangkat elemen yang digabungkan satu dengan lainnya untuk satu tujuan bersama. Defenisi sistem dalam kamus Webster‟s Unbrige: adalah elemen – elemen yang saling berhubungan dan memberikan satu kesatuan atau organisasi. Menurut Scott (1996), sistem terdiri dari unsur – unsur seperti masukan (Input), pengolahan (processing), serta keluaran (output). Menurut Mc. Leod (1995), sistem sebagai sekelompok elemen – elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. (Hanif Al Fatta; 2007: 1 - 4) 8 9 Dengan demikian sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel – variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung sama yang lain untuk mencapai suatu tujuan. II.1.2 Data Istilah data dan informasi serirng digunakan secara bergantian. Ada yang menyebut data, padahal informasi, sebaliknya ada yang mengatakan informasi, padahal data. Gordon B. Davis menjelaskan kaitan data dengan informasi dalan bentuk defenisi sebagai berikut: “ Informasi adalah data yang telah diproses ke dalam suatu bentuk yang mempunyai arti bagi si penerima dan mempunyai nilai yang nyata dan terasa bagi keputusan saat itu atau keputusan mendatang”. Sumber dari informasi adalah data. Data merupakan bentuk jamak dari bentuk tunggal data. Data adalah kenyataan yang menggambarkan suatu kejadian – kejadian dan kesatuan nyata. Menurut Drs. John J. Longkutoy dalam bukunya “ Pengenalan Komputer” sebagai berikut: “ Istilah data adalah suatu istilah majemuk yang berarti fakta atau bagian dari fakta yang mengandung arti yang dihubungkan dengan kenyataan, simbol – simbol, gambar- gambar, angka – angka, atau huruf – huruf yang menunjukkan suatu ide , objek, kondisi atau situasi dll. Jelasnya data itu dapat berupa apa saja dan dapat ditemui dimana saja. Kemudian kegunaan data adalah sebagai bahan dasar yang objektif (relatif) di dalam proses penyusunan kebijaksanaan dan keputusan oleh pimpinan organisasi”. (Tata Sutabri, S. Kom, MM; 2005: 15 - 16) 10 II.1.3 Pengertian Sistem Informasi Menurut Alter (1992), Sistem informasi adalah kombinasi antara prosedur kerja, informasi, orang, dan teknologi informasi yang diorganisasikan untuk mencapai tujuan dalam sebuah organisasi. Menurut Bodnar dan Hopwood (1993), Sistem informasi adalah kumpulan perangkat keras dan perangkat lunak yang dirancang untuk mentransformasikan data kedalam bentuk informasi yang berguna. Menurut Hall (2001), Sistem informasi adalah sebuah rangkaian prosedur formal di mana data dikelompokkan, diproses menjadi informasi, dan didistribusikan kepada pemakai. Menurut Turban dkk (1999), Sebuah sistem informasi mengumpulkan, memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk tujuan yang spesifik. (Abdul Kadir; 2003: 11) II.I.3.1 Komponen Sistem Informasi Stair (1992) menjelaskan bahwa sistem informasi berbasis komputer (CBIS) dalam suatu organisasi terdiri dari komponen – komponen berikut: a. Perangkat keras, yaitu perangkat keras komponen untuk melengkapi kegiatan memasukkan data, memproses data, dan keluaran data. b. Perangkat lunak, program dan instruksi yang diberikan ke komputer. c. Database, yaitu kumpulan data dan informasi yang diorganisasikan sedemikian rupa sehingga mudah diakses pengguna sistem informasi. 11 d. Telekomunikasi, yaitu komunikasi yang menghubungkan antara pengguna sistem dengan sistem komputer secara bersama – sama kedalam suatu jaringan kerja yang efektif. e. Manusia, yaitu personel dari sistem informasi, meliputi manajer, analis, programmer, dan operator, serta bertanggung jawab terhadap perawatan sistem. Prosedur, yakni tata cara yang meliputi strategi, kebijakan, metode, dan peraturan – peraturan dalam menggunakan sistem informasi berbasis komputer. (Hanif Al Fatta; 2007: 9 - 10) II.1.4 Database Database merupakan komponen terpenting dalam pembangunan SI, karena menjadi tempat untuk menampung dan mengorganisasikan seluruh data yang ada dalam sistem, sehingga dapat dieksplorasi untuk menyusun informasi – informasi dalam berbagai bentuk. Database merupakan himpunan kelompok data yang saling berkaitan. Data tersebut diorganisasikan sedemikian rupa agar tidak terjadi duplikasi yang tidak perlu, sehingga dapat diolah atau dieksplorasi secara cepat dan mudah untuk menghasilkan informasi. Sistem database terus dikembangkan oleh para ahli agar dapat diperoleh cara pengorganisasian data yang efesien dan efektif. (Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 99) Data dalam sebuah database disusun berdasarkan sistem hirarki yang unik, yaitu: 1. Database, merupakan kumpulan file yang saling terkait satu sama lain. 12 2. File, yaitu kumpulan dari record yang saling terkait dan memiliki format field yang sama dan sejenis. 3. Record, yaitu kumpulan field yang menggambarkan suatu unit data individu tertentu. 4. Field, yaitu atribut dari record yang menunjukkan suatu item dari data seperti nama, alamat dll. 5. Byte, yaitu atribut dari field yang berupa huruf yang membentuk nilai dari sebuah field. Huruf tersebut dapat berupa numerik maupun abjad atau karakter khusus. 6. Bit, yaitu bagian terkecil dari data secara keseluruhan, yaitu berupa karakter ASCII nol atau satu yang merupakan komponen pembentuk byte. (Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 102) II.1.4.1 Kamus Data Kamus data (KD) atau data dictionary (DD) adalah katalog fakta tentang data dan kebutuhan – kebutuhan dari suatu sistem informasi. Dengan menggunakan KD, analisis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap. KD dibuat pada tahap analisis sistem dan digunakan baik pada tahap analisis maupun pada tahap perancangan sistem. Pada tahap analisis, KD dapat digunakan sebagai alat komunikasi antara analisis sistem dengan pemakai sistem tentang data yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem, KD digunakan untuk merancang input, 13 merancang laporan – laporan dan database. KD dibuat berdasarkan arus data yang ada di DAD (diagram arus data). Arus data di DAD sifatnya global, hanya ditunjukkan nama arus datanya saja. Keterangan lebih lanjut tentang struktur dari suatu arus data di DAD secara lebih terinci dapat dilihat di KD. Gambar II.1 berikut ini menunjukkan hubungan antara DAD dengan KD. D1 1 a 2 KD berisi struktur data yang mengalir dari proses 1 ke proses 2 Gambar II.1 Hubungan antara DAD dengan KD (Sumber: Prof. Dr. Jogiyanto HM, MBA, Akt; 2005: 726) Isi kamus data adalah: 1. Nama arus data Karena KD dibuat berdasarkan arus data yang mengalir di DAD, maka nama dari arus data juga harus dicatat di KD, sehingga mereka yang membaca DAD dan memerlukan penjelasan lebih lanjut tentang suatu arus data tertentu di DAD dapat langsung mencarinya dengan mudah di KD. 14 2. Alias Alias atau nama lain dari data dapat dituliskan bila nama lain ini ada. Alias perlu ditulis karena data yang sama mempunyai nama yang berbeda untuk orang atau departemen satu dengan yang lainnya. 3. Bentuk data Telah diketahui bahwa data dapat mengalir: a. Dari kesatuan luar ke proses, data yang mengalir ini biasanya tercatat di suatu dokumen atau formulir. b. Hasil dari suatu proses ke kesatuan luar, data yang mengalir ini biasanya terdapat di media laporan atau query tampilan kayar atau dokumen hasil cetakan komputer. c. Hasil suatu proses ke proses yang lain, data yang mengalir ini biasanya dalam bentuk variabel atau parameter yang dibutuhkan oleh proses penerimanya. d. Hasil suatu proses yang direkamkan ke simpanan data, data yang mengalir ini biasanya berbentuk suatu variabel. e. Dari simpanan data dibaca oleh suatu proses, data yang mengalir ini biasanya berupa suatu field (item data) 4. Arus data Arus data menunjukkan dari mana data mengalir dan ke mana data akan menuju. Keterangan arus data ini perlu dicatat di KD supaya memudahkan mencari arus data ini di DAD. (Prof. Dr. Jogiyanto HM, MBA, Akt; 2005: 725 - 727) 15 II.1.4.2 Entity Relationship Diagram (ERD) E-R Diagram berfungsi untuk menggambarkan relasi dari dua file atau dua tabel yang dapat digolongkan dalam 3 macam bentuk relalsi, yaitu satu – satu, satu – banyak, dan banyak – banyak. 1. Satu – satu Seminar 1 1 Diadakan Tempat Gambar II.2 Ilustrasi E-R Diagram satu-satu (Sumber: Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 130) 2. Satu – banyak 1 Pembicara Bertugas B Seminar Gambar II.3 Ilustrasi E-R Diagram satu-banyak (Sumber: Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 130) 3. Banyak – banyak Pembicara B Presentasi B Peserta Gambar II.4 Ilustrasi E-R Diagram banyak-banyak (Sumber: Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 130) 16 II.1.4.3 Normalisasi Normalisasi merupakan peralatan yang digunakan untuk melakukan proses pengelompokan data menjadi tabel – tabel yang menunjukkan entitas dan relasinya. Dengan proses normalisasi, persyaratan sebuah tabel masih harus dipecah didasarkan adanya kesulitan kondisi pengorganisasian data seperti untuk menambah atau menyisipkan, menghapus atau mengubah, serta pembacaan data dari tabel tersebut. Bila masih ada kesulitan, maka tabel harus dipecah menjadi beberapa lagi, dan dilakukan proses normalisasi kembali sampai diperoleh tabel yang optimal. Secara umum proses normalisasi dibagi dalam tiga tahap, yaitu tahap tidak normal, normalisasi tahap 1, normalisasi tahap 2 dan normalisasi tahap 3. Pada tahap yang ketiga biasanya sudah akan diperoleh tabel yang optimal. 1. Bentuk tidak normal Pada tahap ini, semua data yang ada direkam tanpa format tertentu. Data bisa jadi mengalami duplikasi. 2. Normalisasi tahap 1 Pada tahap ini, bentuk tabel – tabel yang menampung data yang ada dan dikelompokkan berdasarkan suatu karakteristik tertentu. Pada tahap ini harus diusahakan tidak ada field dalam satu tabel yang berlang. 3. Normalisasi tahap 2 Pada tahap ini dilakukan penentuan field kunci dari masing – masing tabel. Kunci tersebut harus unik dan dapat mewakili tabel. 17 4. Normalisasi tahap 3 Pada tahap ini, ditentukan penentuan relasi antar tabel, sehingga akan ditemukan adanya field kunci sekunder pada tabel – tabel tertentu. (Budi Sutedjo Dharma Oetomo, S.Kom, MM; 2006: 131 - 132) II.1.5 UML Unified Modeling Language (UML) muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks – teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi beriorentasi objek. (Rosa A.S-M. Shalahuddin; 2011: 118) UML diaplikasikan untuk maksud tertentu. Biasanya antara lain untuk: 1. Merancang perangkat lunak 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem 4. Mendokumentasikan sistem yang ada, proses – proses dan organisasinya Beberapa litetur menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misalnya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi. Namun demikian model – model itu dapat 18 dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis, jenis diagram itu antara lain: 1. Diagram Kelas Diagram ini memperlihatkan himpunan kelas – kelas, antarmuka – antarmuka, kolaborasi – kolaborasi, serta relasi – relasi. Diagram ini umum dijumpai pada pemodelan sistem beriorentasi objek. 2. Diagram Paket (Package Diagram) Diagram ini memperlihatkan kumpulan kelas – kelas, merupakan bagian dari diagram komponen. 3. Diagram Use – Case Diagram ini memperlihatkan himpunan use-case dan aktor – aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengirganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. 4. Diagram Interaksi dan Squence (urutan) Diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. 5. Diagram Komunikasi (Communication Diagram) Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi struktural dari objek – objek yang menerima serta mengirim pesan. 19 6. Diagram Statechart (Statechart Diagram) Diagram status memperlihatkan keadaan – keadaan pada sistem, menurut status (state), tranisi, kejadian serta aktivitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka (interface), kelas, kolaborasi dan terutama penting pada pemodelan sistem – sistem yang reaktif. 7. Diagram Aktivitas (Activity Diagram) Adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi – fungsi suatu sistem dan memberikan tekanan pada aliran kendali antara objek. 8. Diagram Komponen (Component Diagram) Diagram komponen ini memperlihatkan organisasi serta ketergantungan sistem / perangkat lunak pada komponen – komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan ke dalam satu atau lebih kelas – kelas, antarmuka – antarmuka serta kolaborasi – kolaborasi. 9. Diagram Deployment (Deployment Diagram) Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (runtime). Memuat simpul – simpul beserta komponen – komponen yang ada didalamnya. Diagram deployment behubungan erat dengan diagram komponen dimana diagram ini memuat satu atau lebih komponen – 20 komponen. Diagram ini sangat berguna saat aplikaksi dijalnkan pada banyak mesin. (Prabowo Pudjo Widodo dan Herlawati; 2005: 6 - 10) II.2 Sejarah Sistem Pakar Sistem pakar merupakan cabang dari Artificial Intelligence (AI) yang cukup tua karena sistem ini mulai dikembangkan pada pertengahan 1960. Sistem pakar yang muncul pertama kali adalah General purpose problem solver (GPS) yang dikembangkan oleh Newel dan Simon. (T.Sutojo, S.Si,M.Kom, dkk; 2011: 159) Program ini betujuan untuk memecahkan berbagai jenis masalah dan ternyata menjadi tugas yang sangat besar dan sangat berat untuk dikembangkan. Setelah GPS, ternyata AI banyak dikembangkan dalam bidang permainan atau game, misalnya program permainan catur oleh Shannon (1995) dan program untuk pengecekan masalah oleh Samuel (1963). Banyak juga ahli yang mengimplementasikan AI dalam bidang bisnis dan matematika. pada tahun 1972, Newell dan Simon memperkenalkan Teori Logika secara konseptual yang kemudian bekembang pesat dan menjadi acuan pengembangan sistem berbasis kecerdasan buatan lainnya. Buchanan dan Feigenbaum juga mengembangkan bahasa pemrograman DENDRAL pada tahun 1978. Bahasa pemrograman ini dibuat untuk badan antariksa Amerika Serikat, yaitu NASA, dan digunakan untuk penelitian kimia di planet Mars. 21 Pada tahun 1976, yaitu 2 tahun sebelum DENDRAL, sebenarnya program sistem pakar sudah dikembangkan secara modren, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasa pemrograman LISP. Pemrograman MYCIN menyimpan + 500 basis pengetahuan dan basis aturan untuk mendiaknosis penyakit manusia. (Tim Penerbit ANDI; 2009: 5) II.2.1 Pengertian Sistem Pakar Istilah sistem pakar berasal dari istilah Knowledge-based expert sytem. Istilah ini muncul karena untuk memecahkan masalah, sistem pakar menggunakan pengetahuan seorang pakar yang dimasukkan ke dalam komputer. Seseorang yang bukan pakar menggunakan sistem pakar untuk meningkatkan kemampuan pemecahan masalah, sedangkan seorang pakar menggunakan sistem pakar untuk Knowledge assistant. Berikut adalah beberapa pengertian sistem pakar. 1. Turban (2001, p402) “Sistem pakar adalah sebuah sistem yang menggunakan pengetahuan manusia dimana pengetahuan tersebut dimasukkan ke dalam sebuah komputer dan kemudian digunakan untuk menyelesaikan masalah – masalah yang biasanya membutuhkan kepakaran atau keahlian manusia”. 2. Jackson (1999, p3) “Sistem pakar adalah pemrograman komputer yang merepresentasikan dan melakukan penalaran dengan pengetahuan beberapa pakar untuk memecahkan masalah atau memberikan saran”. 22 3. Luger dan Stubblefield (1993, p308) “Sistem pakar adalah pemrograman yang berbasiskan pengetahuan yang menyediakan solusi „kualitas pakar‟ kepada masalah – masalah dalam bidang (domain) yang spesifik”. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 159) II.2.2 Literatur Sistem Pakar 1. Sistem Pakar Sistem pakar (expert system ) merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasehat dan sarana bantu dalam memecahkan masalah di bidang-bidang spesialisasi tertentu seperti sains, perekayasaan, matematika, kedokteran, pendidikan dan sebagainya. Sistem pakar merupakan subset dari Artificial Intelegence. Ada beberapa keunggulan sistem pakar, diantaranya dapat : a. Menghimpun data dalam jumlah yang sangat besar. b. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk yang tertentu. c. Mengerjakan perhitungan secara tepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi. Kemampuan sistem pakar : a. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya. b. Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki. 23 c. Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya. (Muhammad Arhami; 2005: 9) 2. Konsep Dasar Sistem Pakar a. Kepakaran (Expertise) Kepakaran merupakan suatu pengetahuan yang diperoleh dari pelatihan, membaca dan pengalaman. Kepakaran inilah yang memugkinkan para ahli dapat mengambil keputusan lebih cepat dan lebih baik dari pada seseorang yang bukan pakar. Kepakaran itu sendiri meliputi pengetahuan tentang: 1. Fakta – fakta tentang bidang permasalahan tertentu 2. Teori – teori tentang bidang permasalahan tertentu 3. Aturan – aturan dan prosedur – prosedur menurut bidang permasalahan umumnya 4. Aturan Heuristic yang harus dikerjakan dalam suatu situasi tertentu 5. Stategi global untuk memecahkan permasalahan 6. Pengetahuan tentang pengetahuan (Meta knowledge) b. Pakar (Expert) Pakar adalah seorang yang mempunyai pengetahuan, pengalaman, dan metode khusus, serta mampu menerapkannya untuk memecahkan masalah atau memberi nasihat. Seorang pakar harus mampu menjelaskan dan mempelajari hal – hal baru yang berkaitan dengan topik permasalahan, jika perlu harus mampu menyusun kembali pengetahuan – pengetahuan yang didapatkan, dan dapat memecahkan aturan – aturan serta menentukan 24 relevansi kepakarannya. Jadi seorang pakar harus mampu melakukan kegiatan – kegiatan berikut: 1. Mengenali dan memformulasikan permaslahan 2. Memecahkan permasalahan secara cepat dan tepat 3. Menerangkan pemecahannya 4. Belajar dari pengalaman 5. Merestrukturisasi pengetahuan 6. Memecahkan aturan – aturan 7. Menentukan relevansi c. Pemindahan kepakaran (Transferring Expertise) Tujuan dari sistem pakar adalah memindahkan kepakaran dari seorang pakar ke dalam komputer, kemudian ditransfer kepada orang lain yang bukan pakar. Proses ini melibatkan empat kegiatan, yaitu: 1. Akuisi pengetahuan (dari pakar atau sumber lain) 2. Representasi pengetahuan (pada komputer) 3. Inferensi pengetahuan 4. Pemindahan pengetahuan ke pengguna d. Inferensi (Inferencing) Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam penalaran. Inferensi ditampilkan pada suatu komponen yang disebut mesin inferensi yang mencakup prosedur – prosedur mengenai pemecahan masalah. Semua pengetahuan yang dimiliki oleh seorang pakar disimpan pada basis pengetahuan oleh sistem pakar. Tugas mesin 25 inferensi adalah mengambil kesimpulan berdasarkan basis pengetahuan yang dimilikinya. e. Aturan – aturan (Rule) Kebanyakan software sistem pakar komersial adalah sistem yang berbasis rule (rule-based systems), yaitu pengetahuan disimpan terutama dalam bentuk rule, sebagai prosedur – prosedur pemecahan masalah. f. Kemampuan menjelaskan (Explanation Capability) Fasilitas lain dari sistem pakar adalah kemampuannya untuk menjelaskan saran atau rekomendasi yang diberikannya. Penjelasan dilakukan dalam subsistem yang disebut subsistem penjelasan (explanation). Bagian dari sistem ini memugkinkan sistem untuk memeriksa penalaran yang dibuatnya sendiri dan menjelaskan operasi – operasinya. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 163 - 169) II.2.3 Struktur Sistem Pakar Ada dua bagian penting pengembangan (development dari Sistem pakar yaitu, lingkungan environtment) dan lingkungan konsultasi (consultation environtment). Lingkungan pengembangan digunakan oleh pembuat sistem pakar untuk membangun komponen – komponennya dan memperkenalkan pengetahuan ke dalam knowledge base (basis pengetahuan). Lingkungan konsultasi digunakan oleh dari sistem pakar layaknya berkonsultasi dengan seorang pakar. 26 Lingkungan Pengembanagn Lingkungan Konsultasi Basis pengetahuan Fakta – fakta tentang kejadian tertentu User Fakta: Apa yang diketahui tentang area domain Rule: Logical reference Antarmuka Fasilitas penjelasan Rekayasa pengetahuan Akuisi pengetahuan Motor inferensi Aksi yang direkomendasi Pengetahuan pakar Blackboard Rencana Solusi Perbaikan pengetahuan Agenda Deskripsi Masalah Gambar II.5 Arsitektur sistem pakar (Sumber: T.Sutojo, S.Si.,M.Kom, dkk; 2011: 167) Penjelasan struktur yang ada pada sistem pakar adalah: 1. Akuisi pengetahuan Subsistem ini digunakan untuk memasukkan pengetahuan dari seorang pakar dengan cara merekayasa pengetahuan agar bisa diproses oleh komputer dan menaruhnya kedalam basis pengetahuan dengan format tertentu (dalam bentuk representasi pengetahuan). Sumber - sumber pengetahuan bisa diperoleh dari pakar, buku, dokumen multimedia, basis data, laporan riset khusus, dan informasi yang terdapat di WEB. 27 2. Basis pengetahuan (Knowledge Base) Basis pengetahuan mengandung pengertahuan yang diperlukan untuk memahami, memformulasikan dan menyelesaikan masalah. Basis pengetahuan terdiri dari 2 elemen dasar, yaitu: a. Fakta, misalnya situasi, kondisi, atau permasalahan yang ada. b. Rule (Aturan), untuk mengarahkan penggunaan pengetahuan dalam memecahkan masalah. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 166 - 168) Dalam studi kasus pada sistem berbasis pengetahuan, terdapat beberapa karakteristik dibangun yang akan membantu kita dalam serangkaian prinsip – prinsip arsitekturnya. Prinsip tersebut meliputi: 1. Pengetahuan merupakan kunci kekuatan sistem pakar 2. Pengetahuan sering tidak pasti dan tidak lengkap 3. Pengetahuan sering miskin spesifikasi 4. Amatir menjadi ahli secara bertahap 5. Sistem pakar harus fleksibel 6. Sistem pakar harus transparan (Anita Desiani dan Muhammad Arhami; 2006 : 234 - 235) 3. Motor inferensi (inference Engine) Adalah sebuah program yang berfungsi untuk memandu proses penalaran terhadap suatu kondisi berdasarkan pada basis pengetahuan yang ada, memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan untuk mencapai kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi pengendalian, yaitu strategi yang 28 berfungsi sebagai panduan arah dalam melakukan proses penalaran. Ada tiga teknik pengendalian yang digunakan, yaitu: forward chaining, backward chaining, dan gabungan kedua teknik tersebut. 4. Daerah kerja (Blackboard) Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 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 Pengguna (User Interface) Digunakan untuk media komunikasi antara pengguna dan sistem pakar. 6. Subsistem penjelasan (Explanation Subsytem / Jusifier) Berfungsi memberi penjelasan kepada pengguna, bagaimana suatu kesimpulan dapat diambil. Kemampuan sepeti ini sangat penting bagi pengguna untuk mengetahui proses pemindahan keahlian pakar maupun dalam pemecahan masalah. 7. Sistem perbaikan pengetahuan (Knowledge Refining System) Kemampuan memperbaiki pengetahuan dari seorang pakar diperlukan untuk menganalisis pengetahuan, belajar dari kesalahan masa lalu, kemudian memperbaiki pengetahuannya sehingga dapat dipakai pada masa mendatang. Kemampuan evaluasi diri seperti itu diperlukan oleh program 29 agar dapat menganalisis alasan – alasan kesuksesan dan kegagalannya dalam mengambil kesimpulan. Dengan cara ini basis pengetahuan yang lebih baik dan penalaran yang lebih efektif akan dihasilkan. 8. Pengguna (User) Pada umumnya pengguna sistem pakar bukanlah seorang pakar (non-expert) yang membutuhkan solusi, saran, atau pelatihan (training) dari berbagai permasalahan yang ada. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 168 - 169) II.2.4 Tim Pengembangan Sistem Pakar Tim Pengembangan Sistem Pakar Project Manager Domain Expert Knowledge Engineer Programmer Sistem Pakar End User Gambar II.6 Tim pengembangan sistem pakar (Sumber: T.Sutojo, S.Si.,M.Kom, dkk; 2011: 169) 30 Keterangan Tim pengembangan sistem pakar: 1. Domain expert adalah pengetahuan dan kemampuan seorang pakar untuk menyelesaikan masalah terbatas pada keahliannya. Misalnya seorang pakar penyakit jantung, ia hanya mampu menangani masalah – masalah yang berkaian dengan penyakit jantung saja. 2. Knowledge engineer (Perekayasa pengetahuan) adalah orang yang mampu mendesain, membangun, dan menguji sebuah sistem pakar. 3. Programmer adalah orang yang membuat program sistem pakar, mengkode domain pengetahuan agar dapat dimengerti oleh komputer. 4. Project manager adalah pemimpin dalam tim pengembangan sistem pakar. 5. End – User (biasanya disebut user saja) adalah orang yang menggunakan sistem pakar. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 169 - 170) II.3. Kategori Representasi Pengetahuan Representasi pengetahuan merupakan kombinasi sistem berdasarkan dua elemen, yaitu struktur data dan penafsiran prosedur untuk digunakan pengetahuan dalam menyimpan struktur data. Hal ini penting untuk merealisasikan kedua elemen tersebut dan dalam sistem representasi pengetahuan adalah suatu hal yang perlu. Struktur data tanpa penafsiran prosedur adalah seperti menggunakan kamus tanpa program pengecekannya. Menurut Turban (2001), ada beberapa tipe pengetahuan yang bisa dikategorikan dalam bentuk keahlian, yaitu: 31 1. Teori - teori yang mendasari suatu permasalahan. 2. Aturan – aturan baku dan prosedur – prosedur yang berkaitan dengan permasalahan tertentu. 3. Aturan – aturan (heuristik) tentang apa yang harus dikerjakan dalam suatu permasalahan yang diberikan. 4. Strategi – strategi global untuk pemecahan dari tipe – tipe ini. 5. Meta knowledge (pengetahuan dari pengetahuan). 6. Fakta atau bukti dari permasalahan. Selanjutnya Feigenbaun dkk (1981) menyarankan untuk mengikuti kategori – kategori berikut ini untuk pengetahuan, yaitu: a. Objek – objek Setiap sistem harus mempunyai kemampuan untuk mengkodekan informasi mengenai sifat – sifat fisik dari objek dan konsep. b. Events (Kejadian) Kategori ini termasuk aksi dan kejadian dalam dunia. Kejadian secara umum menentukan suatu elemen waktu dan mengindikasikan hubungan sebab dan akibat. c. Perfomance (Tampilan) Kategori ini meliputi informasi bagaimana menjalankan tugas tertentu. Sebagai contoh, bagaimana mengendarai sepeda, bagaimana menyusun kalimat. 32 d. Meta – Knowledge Meta – Knowledge merupakan pengetahuan tentang merepresentasikan pengetahuan atau pengetahuan yang dimiliki sistem tentang pengetahuan internalnya (Rolson, 1988). Pengetahuan dalam kategori ini adalah pengetahuan sistem tentang bagaimana sistem berfikir. (Muhammad Arhami; 2005: 29 - 30) II.3.1 Ciri – Ciri Sistem Pakar Ciri-ciri sistem pakar adalah sebagai berikut: 1. Memiliki informasi yang handal. 2. Mudah dimodifikasi. 3. Dapat digunakan dalam berbagai jenis komputer. 4. Memiliki kemampuan untuk belajar beradaptasi. (Muhammad Arhami; 2005: 23). 5. Dapat menjelaskan alasan – alasan dengan cara yang dapat dipahami. 6. Bekerja berdasarkan kaidah / Rule tertentu. 7. Mudah dimodifikasi. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 162) II.4 Area Permasalahan Sistem Pakar Ada beberapa kategori permaslahan sistem pakar, yaitu: 1. Interpretasi yaitu pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data mentah. Termasuk diantaranya juga pengawasan, 33 pengenalan ucapan, analisis citra, interpretasi sinyal dan beberapa analisis kecerdasan. 2. Proyeksi yaitu memprediksi akibat – akibat yang dimungkinkan dari situasi – situasi tertentu, di antaranya peramalan, prediksi demografis, peramalan ekonomi, prediksi lalu lintas. 3. Diagnosis yaitu menentukan sebab malfungsi dalam situasi kompleks yang didasarka pada gejala – gejala yang teramati, diantaranya medis, elektronis. 4. Desain yaitu menentukan konfigurasi komponen – komponen sistem yang cocok dengan tujuan – tujuan kinerja tertentu yang memenuhi kendala – kendala tertentu. 5. Perencanaan yaitu merencanakan serangkaian tindakan yang dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya perencanaan keuangan. 6. Monitoring yaitu membandingkan antara suatu tingkah laku sistem yang teramati dengan tingkah laku yang diharapkan darinya. 7. Debugging dan Repair yaitu menentukan dan mengimplementasikan cara – cara untuk mengatasi mulfungsi, diantaranya memberikan resep obat terhadap suatu kegagalan. 8. Intruksi yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek, diantaranya melakukan intruksi untuk diagnosis, debugging dan perbaikan kinerja. 34 9. Pengendalian yaitu mengatur tingkah laku suatu enviroment yang kompleks seperti kontrol terhadap interpretasi – interpretasi, prediksi, perbaikan dan monitoring kelakuan sistem. 10. Seleksi yaitu mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan 11. Simulasi yaitu pemodelan interaksi antara komponen – komponen sistem. (Anita Desiani dan Muhammad Arhami; 2006: 231 - 233) II.5 Keuntungan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain : 1. Meningkatkan produktivitas, karena sistem pakar dapat bekerja lebih cepat dari pada manusia. 2. Membuat seorang yang awam bekerja seperti layaknya seorang pakar. 3. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan. 4. Mampu menangkap pengetahuan dan kepakaran seseorang. 5. Dapat beroperasi di lingkungan yang berbahaya. 6. Memudahkan akses pengetahuan seorang pakar. 7. Andal. Sistem pakat tidak pernah menjadi bosan dan kelelahan atau sakit. 8. Meningkatkan kapabilitas sistem komputer. 9. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. 10. Bisa digunakan sebagai media pelengkap dalam pelatihan. 35 11. Meningkatkan kemampuan untuk menyelesaikan masalah karena sistem pakar mengambil sumber pengetahuan dari banyak pakar. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 160 - 161) II.6 Kelemahan Sistem Pakar Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain: 1. Biaya yang sangat mahal untuk membuat dan memeliharanya. 2. Sulit dikembangkan karena keterbatasan keahlian dan ketersediaan pakar. 3. Sistem Pakar tidak 100% bernilai benar. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 160 - 161) II.7 Alasan Pengembangan Sistem Pakar Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan: 1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi. 2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar. 3. Seorang pakar akan pensiun atau pergi. 4. Seorang pakar adalah mahal. 5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat. (Anita Desiani dan Muhammad Arhami; 2006: 231) 36 II.8 Teknik Inferensi Forward Chaining dan Backward Chaining II.8.1 Fordward Chaining Adalah teknik pencarian yang dimulai dengan fakta yang diketahui, kemudian mencocokkan fakta – fakta tersebut dengan bagian IF – THEN. Bila ada fakta yang cocok dengan bagian IF, maka rule tersebut dieksekusi. Bila sebuah rule dieksekusi, maka sebuah fakta baru (bagian THEN) ditambahkan kedalam database. Setiap kali percobaan, dimulai dari rule teratas. Setiap rule hanya boleh dieksekusi sekali saja. Proses pencocokan berhenti bila tidak ada lagi rule yang bisa dieksekusi. Berikut ini menunjukkan bagaimana cara kerja Fordward Chaining. DATA A=1 B=2 ATURAN KESIMPULAN JIKA A = 1 DAN B = 2 MAKA C = 3 D=4 JIKA C = 3 MAKA D = 4 (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 171) II.8.2 Backward Chaining Adalah metode inferensi yang bekerja mundur ke arah kondisi awal. Proses diawali dari Goal (yang berada dibagian THEN dari rule IF-THEN), kemudian pencarian mulai dijalankan untuk mencocokkan apakah fakta – fakta yang ada cocok dengan premis – premis dibagian IF. Jika cocok, rule dieksekusi, kemudian hipotesis dibagian THEN ditempatkan dibasis data sebagai fakta baru. Jika tidak cocok, simpan premis dibagian IF kedalam stack sebagai Goal. Proses 37 berahir jika Goal ditemukan atau tidak ada rule yang bisa membuktikan kebenaran dari Goal. (T.Sutojo, S.Si.,M.Kom, dkk; 2011: 178) II.9 Mangga Harum Manis Mangga berasal dari India dan wilayah Asam-Birma-Thailand di mana mangga telah dikenal dan dibudidayakan selama ribuan tahun. Mangga merupakan buah-buahan yang ekonomis penting di Indonesia di mana terdapat sekitar tujuh juta pohon mangga yang meliputi lahan seluas 80.000 ha. Namun, luasan lahan yang ditumbuhi varietas mangga yang dapat diekspor, relatif kecil. Mangga Arumanis dikatakan sebagai mangga yang paling enak di dunia. Bentuk buah mangga ini lebih bulat ketimbang lonjong dan sangat aromatis baunya. Tekstur dagingnya yang berwarna kuning keemasan, halus, sedangkan bijinya kecil. Berat buah mangga rata-rata 0,45 kg. Kulitnya tetap berwarna hijau pada waktu buah masak. Harga buah mangga Arumanis di Indonesia tertinggi di antara varietas mangga lainnya. (http://www.deptan.go.id/pesantren/agri-online/phguides/indo/mangga.htm). Tanaman mangga dapat tumbuh subur pada daerah dataran rendah sampai ketinggian 800 meter di atas permukaan laut. Keadaan iklim basah, suhu udara antara 250 – 320 C, kelembaban udara sekitar 50% - 80%, dan insentitas cahaya matahari 45% - 50%. Curah hujan yang edeal untuk tanaman mangga adalah antara 1.500 – 2.500 mm per tahun yang tidak merata sepanjang tahun. Curah hujan dapat mempengaruhi pertumbuhan tanaman mangga dan proses produksi pembentukan bunga dan buah. Bila pada waktu musim berbunga dan masa 38 berbuah mulai masak tidak ada hujan, tanaman akan tumbuh dengan baik dan proses produksi akan berlangsung dengan baik. (Tim Bina Karya Tani; 2008: 34 - 35) Buah mangga yang telah mencapai tingkat kemasakan optimal dan siap petik antara 93 – 107 hari, biasanya kulitnya berwarna hijau tua, mempunyai lapisan lilin ( bedak ) yang tebal dan lebih dari 2/3 bagian panjang buah telah timbul bintik – bintik coklat, serta bagian pucuk buah telah berisi penuh ( bulat padat ). Selain itu, tangkai buah yang tak jadi sudah kelihatan mengering. (Tim Bina Karya Tani; 2008: 103) II.10 Microsoft Visual Basic 2010 Microsoft Visual Basic 2010 merupakan sebuah lingkungan kerja (IDE – Integrated Development Environtment) yang digunakan untuk pemrograman .NET yang dapat digunakan untuk beberapa bahasa pemrograman, seperti Visual Basic (VB), C# (baca C Sharp), Visual C++, J# (baca J Sharp), F# (baca F Sharp), dll. Bahasa pemrograman Visual Basic merupakan salah satu bahasa yang sangat populer hingga kini dan merupakan salah satu solusi untuk menciptakan aplikasi pada sistem operasi Windows, baik Windows 7, Windows Server 2008, dan Windows Mobile 6.1. hal ini dikarenakan kemudahan yang diberikan visual basic dan IDE Visual Studio yang digunakan untuk menciptakan sebuah aplikasi. (Wahana Komputer; 2012: 2) 39 View Code View designer Titlebar Menubar Toolbar Toolbox Solution Explorer Form Propertis Window Error List Gambar II.7 Lembar Kerja Visual Basic Net (Sumber: Wahana Komputer; 2012: 9) II.10.1 Menjalankan Visual Basic Net list Berikut cara untuk menjalankan visual basic Net 1. Klik menu Start 2. Klik menu Start 3. Klik All Program 4. Klik Microsoft Visual Studio 2010 5. Klik Microsoft Visual Studio 2010 40 Gambar II.8 Tampilan Visual Basic Net (Sumber: Wahana Komputer; 2012: 9) II.10.2 Komponen Visual Basic Net Visual Basic Net memiliki beberapa komponen, yaitu: a. Titlebar, yaitu menunjukkan judul b. Menubar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll c. Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. d. Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi Anda. e. Form, jendela ini merupakan tempat Anda untuk merancang user interface dari aplikasi Anda. Jadi jendela ini menyerupai kanvas bagi seorang pelukis. 41 f. Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface. g. Jendela Kode, merupakan tempat bagi anda untuk menulis koding. h. Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (ForeColor) dll. i. Jendela error list, merupakan jendela yang menampilkan kesalahan pada kode j. Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime. (Wahana Komputer; 2012: 9 - 19). II.10.3 Tipe Data Visual Basic Net Ketepatan pemilihan tipe data variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih tipe yang sesuai untuk menghasilkan program yang efisien dan perfomance tinggi. Type data adalah sejenis nilai yang tersimpan dalam variable, bisa karakter (Huruf), Numeric (Nomor) ataupun date (tanggal). Type data diperlukan agar Visual basic dapat langsung mengenal jenis data yang tersimpan pada variable. Untuk mendeklarasikan variable dan type data dipergunakan perintah Dim untuk mendeklarasikan sebuah variable. 42 Tabel II.1 Operator Visual Basic Net Aritmatika Perbandingan Logika Perkalian (*) Sama (=) Not Pembagian Int (\) Tidak Sama (< >) And Pembagian float (/) Kurang Dari (<) Or Penjumlahan (+) Lebih Dari (>) Xor Pengurangan (-) Kurang Dari atau sama (<=) AndAlso Perpangkatan (^) Lebih Dari atau Sama (>=) orElse Modulo (Mod) Like (Sumber: Wahana Komputer; 2012: 30 - 46) Tabel II.2 Panjang Tipe Data Visual Basic 2010 Tipe Data Memori Range Boolean Tergantung Paltform True atau False Byte 1 byte 0 s/d 255 Char 2 byte 0 s/d 65535 Date 8 byte 0:00:00:01:01:0001 s/d 0:00:31:12:9999 Decimal 16 byte -7.9..E+28 s/d 7.9E+28 Double 4 byte -231 s/d 231-1 Long 8 byte -263 s/d 2-63-1 Object 4 byte Semua tipe data Sbyte 1 byte -128 s/d 127 43 Short 2 byte -32.768 s/d 32.767 String 4 byte 0 s/d 2 Milyar karakter Uinteger 4 byte 0 s/d 4.294.967.295 Ulong 8 byte 0 s/d 1.8E+19 Ushort 2 byte 0 s/d 65.535 (Sumber: Wahana Komputer; 2012: 30 - 46) II.10.4 Toolbox Pada Visual Basic Net 1 11 12 2 13 14 15 16 17 3 4 5 6 7 8 18 19 20 9 10 21 Gambar II.9 Toolbox pada Visaul Basic Net (Sumber: Wahana Komputer; 2012: 17) Keterangan gambar: 1. Button : Biasa digunakan untuk melakukan perintah seperti (Save, Delete, Submit, dll) 2. CheckBox : Digunakan untuk memberikan pilihan input kepada user dan user dapat memilih lebih dari 1 item data 44 3. CheckListBox : Fungsinya sama dengan no. 2 hanya saja dengan tool 4. ComboBox : Menampilkan pilihan secara drop down 5. DTPicker : Untuk menampilkan data tanggal / kalender 6. Label : Untuk menampilkan text 7. LinkLabel : Dengan kontrol ini apabila label tersebut di klik akan mengarah ke alamat website di internet 8. ListBox : Untuk menampilkan beberapa item 9. ListView : Untuk menampilkan tampilan sementara 10. MaskedTextBox : Untuk memberikan input yang mempunyai pola tertentu 11. MonthCalender : Untuk menampilkan tanggal dalam satu bulan dengan tampilan penuh 12. NotifyIcon : Untuk menampilkan icon sistem di Task Bar window bagian kanan 13. NumericUpDown : Untuk menginputkan bilangan 14. PictureBox : Untuk menampilkan gambar 15. ProgressBar : Biasa digunakan untuk menampilkan status proses 16. RadioButton : Untuk memilih pada suatu daftar pilihan, dengan satu pilihan yang dapat dipilih 17. RichTextBox : Untuk menampilkan text 18. TextBox : Untuk input data 19. ToolTip : Control ini digunakan untuk menampilkan 45 informasi mengenai kegunaan tombol – tombol yang biasanya muncul apabila mouse didekatkan atau diarahkan diatas tombol tersebut 20. TreeView : Untuk menampilkan data atau item – item dengan bentuk cabang 21. WebBrowser : Digunakan untuk melakukan browsing internet (Wahana Komputer; 2012: 114 - 151) Visual studio 2010.NET merupakan sebuah Integrated Development Environtment (IDE) atau lingkungan kerja yang digunakan untuk membangun aplikasi. NET dengan mudah. Visual Studio profesional 2010 menyediakan berbagai tool yang lengkap bagi para pengembang untuk membangun aplikasi yang berjalan di .NET framework. Berbagai tool, antara lain tool toolbox yang berisi komponen dan visual, sehingga kita tinggal drag and drop komponen visual studio 2010 akan menuliskan kode untuk kita. Selain itu masih ada jendela wizard yang membantu untuk melakukan pemrograman dengan sangat mudah. Selain itu kita juga dapat menulis kode visual basic 2010 pada lingkungan kerja lain, seperti visual basic Express Edition yang juga disediakan oleh Microsoft secara free bagi para pelajar dan pemula. Pada visual basic express edition, tool – tool yang terpasang sangat minim dan tidak memiliki komponen visual sehingga harus menuliskan kode dari awal. Dan juga dapat menulis kode pada editor yang sangat sederhana, yaitu Notepad. (Wahana Komputer; 2012: 7) 46 Bahasa pemrograman adalah sebuah bahasa yang digunakan oleh manusia untuk berhubungan / berinteraksi dengan komputer, sehingga komputer megnerti apa yang kita maksudkan. Bahasa yang digunakan mesin adalah kode mesin (kadang disebut instruksi mesin atau bahasa mesin) dan hanya berupa 0 dan 1, semua saling berhubungan secara elektris. Jika menggunakan sebuah PC dengan prosesor intel atau yang kompatibel, bahasa pada mesin ini banyak disebut sebagai instruksi mesin x86. (Wahana Komputer; 2012: 3) II.11 SQL Server 2008 SQL Server 2008 adalah sebuah RDBMS (Relational Database Management System) yang sangat powerful dan telah terbukti kekuatannya dalam mengolah data. Dalam versi terbarunya ini, SQL Server 2008 memiliki banyai banyak fitur yang bisa dihandalkan untuk meningkatkan performa database. SQL Server 2008 memiliki suatu GUI (Graphic User Interface) yang kita gunakan untuk melakukan aktivitas sehari – hari berkaitan dengan database, seperti menulis T- SQL, melakukan backup dan restore database, melakukan security database terhadap aplikasi, dan sebagainya. Pada GUI tersebut kita bisa melakukan settingan terhadap SQL Server untuk bekerja lebih optimal. Settingan juga bisa dilakukan menggunakan script untuk memudahkan developer mengubah setting options pada SQL Server 2008. (Aryo Nugroho, MCTS dan SmitDev Community; 2009: 1)