BAB II
LANDASAN TEORI
2.1 Sistem Informasi Menurut Sanyoto Gondodiyoto (2008:113) Sistem Informasi adalah kumpulan elemen-elemen atau sumberdaya dan jaringan prosedur yang saling berkaitan secara terpadu, terintegrasi dalam suatu hubungan hirarkis tertentu dan bertujuan untuk mengolah data menjadi informasi. 2.1.1 Sistem Suatu sistem dapat didefinisikan sebagai suatu kesatuan yang terdiri dari dua atau lebih komponen atau subsistem yang berinteraksi untuk mencapai suatu tujuan (faizal ridwan,
2011).Suatu
sistem
dapat
terdiri
dari
sistem-sistem
bagian
atau
subsistem.Masing-masing subsistem dapat terdiri dari subsistem-subsistem yang lebih kecil lagi atau terdiri dari komponen-komponen. Menurut
Ludwig(2008), sistem adalah sekumpulan unsur
yang saling
berhubungan dan saling mempengaruhi dalam satu lingkungan tertentu. 2.1.2 Informasi Saat ini kita sedang berada di era informasi, hal ini berarti bahwa informasi sudah menyentuh seluruh kehidupan baik individual, kelompok, maupun perusahaan. Menurut eti richaety beserta timnya (2011:5), informasi adalah data yang terlah diproses kedalam suatu bentuk yang mempunyai arti bagi penerima dan memiliki nilai nyata yang dibutuhkan untuk proses pengambilan keputusan saat ini maupun saat mendatang. Kualitas dari suatu informasi tergantung dari tiga hal, yaitu informasi harus akurat, tepat pada waktunya dan relevan;
a. Akurat, berarti informasi harus bebas dari kesalahan-kesalahan dan tidak bisa menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya b. Tepat pada waktunya, berarti informasi yang dating pada penerima tidak boleh terlambati. Informasi yang sudah using tidak akan mempunyai nilai lagi, karena informasi merupakan landasan di dalam pengambilan keputusan. c. Relevan, berarti informasi tersebut mempunyai manfaat untuk pemakaiannyarelevan informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda. 2.1.3 Pengertian Sub Sistem Subsistem adalah bagian dari sistem yang saling berhubungan tidak terlepas sendiri sendiri, melainkan saling berinteraksi serta saling berhubungan membentuk suatu kesatuan terpadu sehingga tujuan atau sasaran sistem tersebut dapat tercapai. (sanyoto.2008) 2.1.4 Karakteristik Sistem Menurut Sanyoto dalam bukunya yang berjudul audit sistem informasi. Karakteristik suatu sistem adalah sebagai berikut: 1. Menjadi jiwa dari sistem tersebut 2. Sistem mempunyai sasaran yang akan dicapai 3. Konstruksi sistem terdiri dari : masukan-proses-keluaran 4. Sistem memerlukan pengendalian 5. Sistem memiliki pengguna: pemakai / user 6. Sistem mempunyai keterbatatasan 7. Sistem terdiri dari subsistem-subsistem yang membentuk menjadi jaringan terpadu.
2.2 Android Android adalah suatu sistem operasi berbasis linux yang berfungsi sebagai sistem informasi.Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasinya sendiri.
2.2.1 Sejarah Perkembangan Android Android 1.0 (Astro) Pertama kali dirilis pada 23 Spetember 2008. Sebenarnya Android versi pertama ini akan dinamai dengan nama "Astro" tapi karena alasan hak cipta dan trademark nama"Astro" tidak jadi disematkan pada versi pertama dari OS Android ini. Pada android versi pertama ini sudah mulai diperkenalkan Android Market, tempat untuk mendownload berbagai macam aplikasi dan update untuk Android. Kemudian terdapat fitur syncronisasi dengan berbagai layanan Google lainnya seperti Google Contact, Calender, Maps, Talk, dan lainnya. Android 1.1 (Bender) Pertama kali dirilis pada 9 Februari 2009. Versi Android kedua ini juga mengalami masalah penamaan yang sama dengan versi pertamanya. Pada awalnya Android ini akan diberi nama "Bender" akan tetapi karena alasan melanggar trademark, nama "Bender" tidak jadi disematkan pada versi Android ini.
Android 1.5 Cupcake Pertama kali dirilis pada 30 April 2009. mulai versi Android ini penamaan menggunakan nama makan pencuci mulut (dessert) mulai digunakan, karena ini merupakan versi yang ketiga maka penamaan diawali dengan huruf "C" dan jadilah "Cupcake" menjadi nama resmi dari versi OS Android ketiga ini. OS ini berbasiskan pada kernel Linux 2.6.27 dan menambahkan beberapa update serta UI baru dari versi Android sebelumnya. Mulai terdapat "widget" yang dapat dibesar kecilkan.Kemudian ditambah kemampuan untuk meng-upload video dan gambar ke Youtube dan Picasa.
Gambar 2.1 andro Gambar 2.1 Android Cupcake
Android 1.6donut Donut (versi 1.6) diluncurkan dalam tempo kurang dari 4 bulan semenjak peluncuran perdana Android Cupcake, yaitu pada bulan September 2009. Android versi Donut memiliki beberapa fitur yang lebih baik dibanding dengan pendahulunya, yakni mampu menayangkan indikator baterai pada ponsel, pengguna dapat memilih dan menentukan file yang akan dihapus, zoom-in zoom-out gambar dengan membaca gerakan serta arah gerakan tangan (gesture), penggunaan koneksi CDMA/EVDO, dan lain sebagainya.
Gambar 2.2 Android Donout Android versi 2.0/2.1 Eclair Masih ditahun yang sama, Android kembali merilis operating sistem versi terbarunya, yaitu Android versi 2.0/2.1 Eclair. Android Eclair diluncurkan oleh Google 3 bulan setelah peluncuran Android versi 1.6. Dengan meluncurkan 4 versi ditahun yang sama, akhirnya begitu banyak perusahaan pengembang gadget atau handset yang mulai tertarik untuk menggunakan dan mengembangkan Android sebagai platform utama yang digunakan untuk handset-handset terbaru mereka. Inilah dimana era kebangkitan Android yang sempat mendobrak doktrin penggunaan sistem layar yang awalnya dipandang kurang user friendly bagi pengguna.
Gambar 2.3Android Éclair
Android versi 2.2 Froyo: Frozen Yoghurt Butuh 5 bulan bagi Google untuk melakukan regenerasi dari Android Eclair versi sebelumnya ke versi Froyo Frozen Yoghurt.Pada tanggal 20 Mei 2010, Android versi 2.2 alias Android Froyo ini dirilis. Sistem operasi dengan julukan Froyo ini melakukan beberapa update dan juga pembenahan seputar aplikasi serta tampilannya. Keinginan untuk bisa menempatkan sebuah kartu ekspansi berbentuk slot Micro SD berkapasitas besar sudah bisa diwujudkan oleh OS versi ini.
Gambar 2.4Android froyo
Android versi 2.3 Gingerbread 7 bulan kemudian Android kembali melakukan gebrakan dengan merilis kembali Android versi 2.3 atau yang dikenal sebagai Android Gingerbread.dari segi tampilan Gingerbread jauh lebih atraktif dan sudah mampu mendukung fitur dual kamera untuk melakukan video call. Bukan hanya itu saja, Android Gingerbread juga mulai mengkonsentrasikan kepada kemampuan untuk meningkatkan mutu aplikasi-aplikasi permainan berbasis mobile android.
Gambar 2.5Androidgingerbread
Android versi 3.0/3.1 Honeycomb Pada bulan Mei 2011 Android versi 3.0/3.1 atau Android Honeycom dirilis. Android Honeycomb merupakan sebuah sistem operasi Android yang tujuannya memang dikhususkan bagi penggunaan tablet berbasis Android. Halaman pengguna (user interface) yang digunakan pada Android versi ini juga sangat berbeda dengan yang digunakan pada smartphone Android. Hal tersebut tentu saja disebabkan oleh tampilan layar yang lebih besar pada tablet serta untuk mendukung penggunaan hardware dengan spesifikasi yang lebih tinggi yang digunakan pada perangkat tersebut.
Gambar 2.6 Android honeycomb
Android versi 4.0 ICS: Ice Cream Sandwich Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama dengan Honeycomb, yaitu pada bulan Oktober 2011. Begitu banyak fitur-fitur terbaru yang disematkan pada sistem operasi ini, antara lain yaitu fitur yang memaksimalkan fotografi, grafis dan resolusi gambar, kualitas video, sistem pengenal wajah dan masih banyak lagi lainnya.
Gambar 2.7Android ice cream sandwich
Android versi 4.1 Jelly Bean Android Jelly Bean merupakan versi Android yang terbaru pada saat ini.Salah satu gadget yang menggunakan sistem operasi Jelly Bean adalah Google
Nexus 7 yang
diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu kampung
halaman dengan Acer. Fitur terbaru dari sistem operasi Android Jelly Bean ini salah satunya adalah peningkatan kemampuan on-screen keyboard yang lebih cepat serta lebih responsif, dan beberapa fiture keren lainnya.
Gambar 2.8Android jelly bean Android versi 5 Kit-kat Adroid terbaru yang tentunya mempunyai fiture yang lebih baik dari versi sebelumnya akan di rilis rencananya pada 15-17 mei 2013 di Sanfransisco, Amerika Serikat. Android versi terbaru Kit-Kat ini lebih mudah beradaptasi pada berbagai perangkat mulai dari smartphone, notebook dan mungkin chipset ARM berbasis PC desktop.
Gambar 2.9Android Kit Kat
2.3 Teori Program 2.3.1 Eclipse Eclipse merupakan salah satu IDE favorit yang digunakan untuk melakukan pemrograman, termasuk ketika membuat aplikasi android. Disamping bersifat gratis serta opensource sehingga setiap orang bisa melihat kode pemorgamannya, eclipse juga menyediakan beragam plug-in yang mampu dikembangkan oleh penggunanya untuk menghasilkan sebuah aplikasi Komponen-komponen IDE Eclipse
Gambar 2.10 komponen-komponen IDE eclipse 1. Src, Di src terdapat nama proyek dan dibawahnya ada file java untuk menuliskan source code yang menjelaskan logic dari android. 2. Folder gen, adalah file yang berisi file yang di-generate oleh computer dan didalamnya terdapat file R.java.
3. File android.jar berisi sejumlah library agar program bisa berjalan di sistem operasi android yang ditentukan dan didalamnya terdapat assets sebagai tempat untuk menampilkan file-file tertentu. 4. Folder Bin. Terdapat folder res (sersource) yang merupakan salinan dari folder res utama. Dan res juga berisikan file executable yang siap dijalankan dengan ekstensi .apk (android package). 5. Folder Res, terdapat data sejumlah resource yang ada dalam tahapan desain, salah satu yang penting adalah folder layout yang akan menjelaskan tampilan layout screen anda. Didalam Res juga terdapat values yang terdapat banyak nilai. Didalam Res terdapat androidManifest.xml yang berisi berbagai code data dari nama icon dan label dari proyek berasal. Terakhir ada project.properties yang didalamnya terdapat info mengenai properties dari proyek 2.3.2 SQLite SQLite adalah database opensource yang ditanam pada android. Dukungan yang diberikan sama seperti RDBMS standart dan mendukung pada bahasa sintaks SQL. SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACIDcompliant dan memiliki ukuran library yang relatif kecil.Software ini ditulis menggunakan bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard hipp.Tidak seperti pada paradigma client-server umumnya, inti SQLite bukanlah sebuah sistem mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai sebuah integral dari sebuah program secara keseluruhan. SQlite mendukung tipe data TEXT (yang mirip dengan string di java), INTEGER (mirip dengan long dijava), serta REAL (mirip dengan double dijava). Semua type lain harus dikonversi kedalam salah satu type ini sebelum disimpan kedatabase. SQlite sendiri tidak memvalidasi apakah type yang dituliskan ke kolom sesuai dengan type yang didefinisikannya. Paket SQlite
Untuk
menangani
database,
di
Android
tersedia
paket
bernama
android.database.didalamnya terdapat semua class untuk bekerja dengan database. Class yang khusus untuk database ini bernama android.database.sqlite.ada beberapa komponen yang akan dijelaskan disini. Yaitu: 1. SQLiteOpenHelper disini ada method super () yang berguna menentukan nama dan versi database yang akan dipakai. Di class ini adalah method onCreate() dan onUpgrade(). 2. SQLiteDatabase adalah class dasar untuk database SQLite di android. Di sini, programmer
bisa
membuka
query,
update,
dan
menutup
database.
SQLiteDatabase punya banyak method, seperti method insert(), update(), dan delete() . Ada juga execSQL() yang bisa mengeksekusi SQL secara langsung. 3. Cursor berfungsi mengembalikan objek cursor. Cursor adalah hasil dari query, yaitu satu baris (record) dari hasil query. Dengan cursor, android bisa melakukan buffer hasil query dengan efisien karena tidak perlu me-load data ke memori. 4. ListView dan ListActivity listView adalah view yang memungkinkan anda menampilkan berbagai list elemen. listActivity adalah activity khusus yang membuat penggunaan ListViews lebih mudah. Untuk bekerja dengan database dan listView, programmer harus bisa menggunakan simpleCursorAdapter. SimpleCursorAdapter memungkinkan anda membuat layout untuk tiap row dari listView.
2.4Sistem Pakar 2.4.1 Pengertian Sistem Pakar Menurut Muhammad Arhami (2011:3), langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefinisikan terlebih dahulu ruang lingkup permasalahan tersebut atau domain untuk permasalahan yang akan diselesaikan. Sistem pakar adalah salah satu dari AI (Artificial Intelligence) atau kecerdasan buatan yang membuat penggunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar.Gambar 1.1 menggambarkan konsep dasar suatu sistem pakar.Pengguna menyampaikan data atau informasi untuk sistem pakar dan kemudian
menerima saran dari pakar atau jawaban ahlinya. Bagian dari sistem pakar terdiri dari 2 kompone utama, yaitu knowledge base yang berisi knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atas permintaan pengguna.
Gambar 2.11 konsep dasar fungsi sistem pakar (arhami,2011)
Ada beberapa definisi tentang sistem pakar, antara lain:
Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.
Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang berkaitan dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar.
Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
2.4.2 Struktur Sistem Pakar menurut Muhammad Arhami (2011:13), sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan
dan lingkungan konsultansi. Lingkungan
pengembangan sistem pakar digunakan untuk memasukan pengetahuan pakar kedalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat dalam gambar 1.2 berikut ini:
Gambar 2.12 arsitektur sistem pakar (sumber m.arhami(2011))
Komponen komponen yang terdapat dalam sistem pakar adalah seperti yang terdapat pada gambar 1.2, yaitu user interface, basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan,perbaikan pengetahuan. Antar Muka Pengguna (User Interface) Menurut muhammad arhami (2011:14), User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka
menerima informasi dari pemakai dan mengubahnya kedalam bentuk yang dapat diterima oleh sistem.Selain itu antarmuka menerima informasi dari sistem dan menyajikannya kedalam bentuk yang dapat dimengerti oleh pemakai. Basis Pengetahuan Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah.Komponen sistem pakar ini disusun atas dua elemen yaitu fakta dan aturan. Akuisisi Pengetahuan Menurut Muhammad Arhami (2011:16), akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan kedalam program computer. Terdapat tiga metode utama dalam akuisisi pengetahuan , yaitu:
Wawancara Wawancara adalah metode akuisisi yang melibatkan pembicara dengan pakar secara langsung dalam suatu wawancara.
Analisis protocol Dalam metode akuisisi ini, pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya dengan menggunakan kata-kata. Pekerjaan tersebut direkam, ditulis, dan dianalis.
Observasi pada pekerjaan pakar Dalam metode ini pekerjaan dalam bidang tertentu yang dilakukan pakar direkam dan diobservasi.
Mesin Inferensi Komponen ini mengandung mekanisme pola piker dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Menurut Muhammad Arhami (2011:19), mesin inferensi adalah program computer yang memberikan metodologi untuk penalaran
tentang informasi yang ada dalam basis pengetahuan dan dalam workplace untuk menformulasikan kesimpulan.
Workplace Merupakan area dari sekumpulan memori kerja.Workplace digunakan untuk merekam hasil-hasil antara dan kersimpulan yang dicapai. Menurut Muhammad Arhami (2011:22), ada 3 tipe keputusan yang dapat direkam, yaitu;
Rencana Bagaimana menghadapi masalah
Agenda Aksi-aksi potensial yang sedang menunggu untuk diakses
Solusi Calon aksi yang akan dibangkitkan
Fasilitas Penjelasan Menurut M.Arhami (2011:22), fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai.
Perbaikan Pengetahuan Menurut M.Ahami (2011:22), pakar memiliki kemampuan untuk menganalis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Pengetahuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya.
2.5 Pengertian Gizi Secara klasik kata gizi hanya dihubungkan dengan kesehatan tubuh, yaitu untuk menyediakan energi, membangun, dan memelihara jaringan tubuh, serta mengatur proses-proses dalam tubuh.Tetapi sekarang kata gizi mempunyai pengertian lebih luas; disamping untuk kesehatan, gizi dikaitkan dengan potensi ekonomi seseorang, karena gizi berkaitan dengan perkembangan otak, kemampuan belajar, dan produktivitas kerja. (almatsier.s, 2009:6)
Beberapa pengertian yang berkaitan dengan gizi:
Ilmu gizi adalah ilmu yang mempelajari segala sesuatu tentang makanan dalam hubungannya dengan kesehatan optimal, disatu sisi ilmu gizi berkaitan dengan makanan dan disisi lain berkaitan dengan tubuh manusia.
Zat gizi adalah ikatan kimia yang diperlukan tubuh untuk melakukan fungsinya, yaitu menghasilkan energy, membangun dan memelihara jaringan tubuh, serta mengatur proses-proses kehidupan.
Status gizi adalah keadaan tubuh sebagai akibat konsumsi makanan dan penggunaan zat-zat gizi. Dibedakan antara status gizi buruk, kurang, baik, dan lebih.
2.6 Gizi Buruk Gizi buruk merupakan status kondisi seseorang yang kekurangan nutrisi, atau nutrisinya di bawah standar rata rata. Status gizi buruk dibagi menjadi 2 bagian, yakni gizi buruk karena kekurangan protein disebut kwashiorkor, dank arena kekurangan karbohidrat atau kalori disebut marasmus. Gizi buruk ini biasanya terjadi pada anak balita dan ditampakkan oleh membusungnya perut (busung lapar). Gizi buruk adalah suatu kondisi dimana seseorang dinyatakan kekurangan zat gizi, atau dengan ungkapan lain status gizinya berada dibawah standar rata rata. Zat gizi yang dimaksud bias berupa protein, karbohidrat dan kalori. Gizi buruk (severe malnutrition) adalah suatu istilah teknis yang umumnya dipakai oleh kalangan gizi, kesehatan dan kedokteran. Gizi buruk
merupakan bentuk terparah dari proses terjadinya kekurangan gizi menahun (Nency,2010). Anak balita (bawah lima tahun) sehat atau kurang gizi dapat diketahui dari pertambahan berat badannya tiap bulan sampai usia minimal 2 tahun. Apabila pertambahan berat badan sesuai dengan pertambahan umur menurut suatu standar organisasi kesehatan dunia, dia bergizi baik. Kalau sedikit dibawah standar disebut bergisi kurang yang bersifat kronis. Apabila jauh dibawah standar dikatakan bergizi buruk. Jadi istilah gizi buruk adalah salah satu bentuk kekurangan gizi tingkat berat atau akut (pardede.j.2009).
2.6.1 Marasmus Marasmus adalah bentuk MEP (malnutrisi energi protein) berat akibat protein dan energy(kalori) yang tidak adekuat dalam diet. Keadaan ini menyebabkan anak kecil menjadi sangat kurus dengan otot menciut, pertumbuhan terhambat, kulit keriput dan rambut rontok. Berikut adalah gejala-gejala yang tampak pada seseorang yang terkena penyakit marasmus:
Anak sangat kurus, tulang hanya terbungkus kulit
perut cekung
Wajah seperti orang tua
Kulit keriput, jaringan lemak sangat sedikit
Cengeng dan rewel
2.6.2 Kwashiorkor Kwashiorkor merupakan kumpulan klinis gejala edema dan gizi kurang. Keadaan ini paling sering terlihat pada anak-anak balita (dibawah usia 5 tahun) dan biasanya disertai dengan iritabilitas (keadaan rewel) .kwashiorkor merupakan keadaan defisien protein dari makanan, dan juga dapat terjadi karena kehilangan antioksidan yang menyertai defisiensi energy dari makanan. Menurut para ahli, kwashiorkor adalah bentuk MEP (malnutrisi energi dan protein) yang terjadi ketik anak disapih dengan diet rendah protein, tetapi jumlah energy dari sumber
karbohidrat memadai. Keadaan ini ditandai oleh kegagalan tumbuh-kembang pada anak.Penurunan berat badan mungkin tidak mencolok, tetapi anak gagal tumbuh. Terjadi ederma umum, asites,anemia, perubahan pigmentasi kulit dan rambut, diare, dan hepatomegaly. Berikut adalah gejala-gejala yang tampak
Anak sangat kurus, pandangan mata sayu
Wajah membulat dan sembab
Rambut tipis, merah seperti berwarna
Otot mengecil (hipotrofit)
Kulit keriput, jaringan lemak sangat sedikit
Cengeng dan rewel pada seseorang yang terkena penyakit kwashiorkor:
2.7 Metode Analisis Data 2.7.1 Forward Chaining Forward Chaining merupakan
strategi
pencarian
yang memulai
proses
pencarian dari sekumpulan data atau fakta, dari data-data tersebut dicari suatu kesimpulan yang menjadi solusi dari permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang premisnya sesuai dengan data-data tersebut, kemudian dari kaidah-kaidah tersebut diperoleh suatu kesimpulan. Forward chaining
memulai proses pencarian dengan data sehingga
strategi
ini
disebut juga data-driven. Jadi metode forward chaining dimulai dari informasi masukan (if) dahulu kemudian menuju konklusi (then) Informasi masukan dapat berupa data, bukti, temuan atau pengamatan,sedangkan konklusi dapat berupa tujuan, penjelasan, atau diagnosis.Forward chaining merupakan penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis (Bago, J. 2012:1) Menurut srikusuma dewi (2008,116) Pada forward chaining, pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.
Tabel 2.1 Contoh aturan-aturan No.
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
Contoh: Pada table 2.1 terlihat ada 10 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya A & F (artinya A dan F bernilai benar). Ingin dibuktikan apakah K bernilai benar? Langkah langkah inferensi adalah sebagai berikut:
Dimulai dari R-1, A merupakan fakta sehingga bernilai benar, sedangkan B belum bisa diketahui kebenarannya, sehingga C pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak dapat mendapatkan informasi apapun pada R-1 ini, sehingga kita menuju R-2.
Pada R-2, kita tidak mengetahui informasi apapun tentang C, sehingga kita juga tidak dapat memastikan kebenaran D. oleh karena itu kita tidak mendapatkan informasi apapun pada R-2 ini, sehingga kita menuju R-3.
Pada R-3, baik A maupun E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu F. karena F bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-4.
Pada R-4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu G. karena G bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-5.
Pada R-5, baik F maupun G adalah benar berdasarkan aturan R-3 dan R-4. Dengan demikian D sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu D. karena D bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-6.
Pada R-6, baik a maupun G adalah benar berdasarkan fakta dan R-4. Dengan demikian H sebagai konsekuen juga ikut benar. Sehingga sekarang kita mendapatkan fakta baru yaitu H. karena H bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-7.
Pada R-7, meskipun H benar berdasarkan R-6, namun kita tidak tau kebenaran C, sehingga I pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga menuju ke R-8.
Pada R-8, meskipun A benar karena fakta, namun kita tidak tau kebenaran I, sehingga J pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga menuju ke R-9.
Pada R-9, J bernilai benar karena G benar berdasarkan R-4. karena J bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-7.
Pada R-10, K bernilai benar karena J benar berdasarkan R-9. karena H sudah merupakan hipotesis yang hendak kita buktikan (=K), maka terbukti bahwa K adalah benar.
Table munculnya fakta baru dapat dilihat pada table 2.2 sedangkan alur inferensi terlihat pada gambar 2.13
Tabel 2.2 fakta baru Aturan
Fakta baru
R-3
F
R-4
G
R-5
D
R-6
H
R-9
J
R-10
K
Gambar 2.13 forward chaining
Adapun kelebihan dan kelemahan metode forward chaining, yaitu: Kelebihan:
1. Kelebihan utama dari forward chaining yaitu metode ini akan bekerja dengan baik ketika problem bermula dari mengumpulkan atau menyatukan informasi lalu kemudian mencari kesimpulan apa yang dapat diambil dari informasi tersebut 2. Metode ini mampu menyediakan banyak sekali informasi dari hanya sejumlah kecil data 3. Merupakan pendekatan paling sempurna untuk beberapa tipe dari problem solving task, yaitu planning, monitoring, control, dan interpretation. Kelemahan: 1. Kelemahan utama metode ini yaitu kemungkinan tidak adanya cara untuk mengenali dimana beberapa fakta lebih penting dari fakta lain. 2. Sistem bisa saja menanyakan pertanyaan yang tidak berhubungan. Walaupun jawaban dari pertanyaan tersebut penting, namun hal ini akan membingungkan user untuk menjawab pada subjek yang tidak berhubungan.
2.8 flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antar proses digambarkan dengan garis penghubung.
simbol.
hubungan
Tabel 2. 3 Simbol flowchart
2.8 Testing 2.8.1 metode testing blackbox Black-box testing adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box). pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar
spesifikasi
dan
persyaratan,
yakni,
aplikasi
apa
yang
seharusnya
dilakukan.Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji memilih input yang valid dan tidak valid dan menentukan output yang benar. Tidak ada pengetahuan tentang struktur
internal
benda
uji
itu.
Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit,
integrasi, fungsional, sistem dan penerimaan.Ini biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : 1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa 5. kesalahan inisialisasi dan terminasi
Gambar 2.14 metode black box testing