BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang...

12
6 BAB II LANDASAN TEORI 2.1. Konsep Dasar Program 2.1.1. Pengertian Program Program dapat diartikan suatu cara baru dalam berfikir serta berlogika untuk menghadapi masalah-masalah yang dicobaatasi dengan bantuan komputer. Bahasa pemograman merupakan notasi untuk memberikan perintah secara tepat program komputer. (Algoritma & Pemrograman, 2014) Program juga dapat diartikan segala kegiatan pembuatan program menggunakan komputer. Komputer membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer. 2.1.2. Pakar Pemecahan masalah-masalah yang komplek biasanya hanya dapat dilakukan oleh sejumlah orang yang sangat terlatih, yaitu Pakar. Sebagai contoh, dokter adalah seorang pakar yang mampu mendiagnosis penyakit yang diderita pasien serta dapat memberikan penatalaksanan terhadap penyakit tersebut. (Raharjo, Damiyana, & Irvansyah, 2018) Suatu kelebihan sejumlah orang yang mampu memecahkan masalah dengan cepat, tepat, menjelaskan suatu tanggapan, dan menyusun pengetahuan jika dianggap perlu yaitu Pakar. 2.1.3. Sistem Pakar Menurut (Anik Andriani, 2014) dalam bukunya mengungkapkan bahwa “Sistem pakar adalah sebuah sistem yang kinerjanya mengadopsi keahlian yang dimiliki seorang pakar dalam bidang tertentu ke dalam sistem atau program

Transcript of BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang...

Page 1: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

6

BAB II

LANDASAN TEORI

2.1. Konsep Dasar Program

2.1.1. Pengertian Program

Program dapat diartikan suatu cara baru dalam berfikir serta berlogika untuk

menghadapi masalah-masalah yang dicobaatasi dengan bantuan komputer. Bahasa

pemograman merupakan notasi untuk memberikan perintah secara tepat program

komputer. (Algoritma & Pemrograman, 2014)

Program juga dapat diartikan segala kegiatan pembuatan program

menggunakan komputer. Komputer membutuhkan keberadaan program agar bisa

menjalankan fungsinya sebagai komputer.

2.1.2. Pakar

Pemecahan masalah-masalah yang komplek biasanya hanya dapat dilakukan

oleh sejumlah orang yang sangat terlatih, yaitu Pakar. Sebagai contoh, dokter adalah

seorang pakar yang mampu mendiagnosis penyakit yang diderita pasien serta dapat

memberikan penatalaksanan terhadap penyakit tersebut. (Raharjo, Damiyana, &

Irvansyah, 2018)

Suatu kelebihan sejumlah orang yang mampu memecahkan masalah dengan

cepat, tepat, menjelaskan suatu tanggapan, dan menyusun pengetahuan jika dianggap

perlu yaitu Pakar.

2.1.3. Sistem Pakar

Menurut (Anik Andriani, 2014) dalam bukunya mengungkapkan bahwa

“Sistem pakar adalah sebuah sistem yang kinerjanya mengadopsi keahlian yang

dimiliki seorang pakar dalam bidang tertentu ke dalam sistem atau program

Page 2: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

7

komputer yang disajikan dengan tampilan yang dapat digunakan oleh pengguna yang

bukan seorang pakar sehingga dengan sistem tersebut pengguna dapat membuat

sebuah keputusan atau menentukan kebijakan layaknya seorang pakar”.

1. Ciri-ciri Sistem Pakar

Menurut (Anik Andriani, 2014) dalam bukunya menjelaskan dalam bukunya bahwa

ciri-ciri sistem pakar yang membedakan dengan sistem informasi biasa sebagai

berikut :

a. Memiliki dan memberikan informasi yang handal

b. Mudah untuk dimodifikasi.

c. Terbatas pada domain keahlian tertentu

d. Dapat memberikan penalaran untuk data-data yang sifatnya tidak pasti.

e. Sistem berdasarkan pada kaidah/rule tertentu.

f. Memiliki kemampuan untuk belajar adaptasi.

g. Keluarannya bersifat anjuran.

2. Keuntungan Dan Kekurangan Sistem Pakar

Penggunaan sistem pakar secara umum memberikan keuntungan yang dapat

dimanfaatkan oleh pengguna. Adapun keuntungan dari penggunaan sistem pakar ini

antara lain :

a. Memungkinkan pengguna yang bukan seorang pakar pada bidang tertentu dapat

mengerjakan tugas dari seorang pakar.

b. Bisa melakukan proses yang sama secara berulang.

c. Sistem pakar dapat menyimpan pengetahuan dan keahlian dari pakar.

d. Dengan adanya sistem pakar produktivitas dan output sistem dapat ditingkatkan.

Page 3: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

8

e. Meningkatkan kualitas.

f. Mampu mengambil dan melestarikan keahlian para pakar.

Sistem pakar juga mempunyai kelemahan selain banyaknya keuntungan yang

diberikan, antara lain :

a. Biaya yang diperlukan untuk membuat, memelihara, dan mengembangkan sistem

pakar sangat mahal.

b. Sulit dikembangkan, karena ketersediaan pakar dibidangnya dan kepakaran untuk

menjelaskan sulit diekstrak dari manusia karena terkadang sulit bagi seorang

pakar untuk menjelaskan langkah mereka dalam menangani masalah.

c. Sistem pakar tidak 100% benar karena seseorang yang terlibat dalam pembuatan

sistem pakar tidak selalu benar. Oleh karena itu setelah pembuatan sistem pakar

harus dilakukan pengujian terlebih dahulu secara teliti sebelum digunakan.

d. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda,

meskipun sama-sama benar.

e. Transfer pengetahuan dapat bersifat subjektif dan bias.

f. Kurangnya rasa percaya pengguna dapat menghalangi pemakaian sistem pakar.

3. Manfaat Sistem Pakar

Menurut(Permadi, 2018) Sistem pakar menjadi sangat popular karena sangat

banyak kemampuan dan manfaat yang diberikan, diantaranya :

a. Meningkatkan produktivitas, karena sistem pakar dapat bekerja lebih cepat

daripada manusia.

b. Membuat seseorang yang awam bekerja seperti layaknya seorang pakar.

c. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi

kesalahan.

Page 4: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

9

d. Mampu menangkap pengetahuan dan kepakaran seseorang.

e. Dapat beroperasi di lingkungan yang berbahaya.

f. Memudahkan akses pengetahuan seorang pakar.

4. Konsep Dasar Sistem Pakar

Menurut (Raharjo et al., 2018) Konsep dasar sistem pakar meliputi enam hal

berikut ini :

a. Kepakaran (Expertise)

Kapakaran merupakan suatu pengetahuan yang diperoleh dari pelatihan, membaca,

dan pengalaman.

b. Pakar (Expert)

Pakar merupakan seorang yang mempunyai pengetahuan, pengalaman, dan metode

khusus, serta mampu menerapkannya untuk memecahkan masalah atau

memberikan nasehat.

c. Pemindahan Kepakaran (Transfering Expertise)

Tujuan dari sistem pakar adalah memindahkan kepakaran dari seorang pakar ke

dalam komputer, kemudian ditransfer kepada orang lain yang bukan pakar.

d. Inferensi (Inferencing)

Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan

dalam melakukan penalaran.

e. Aturan-aturan (Rule)

Kebanyakan software sistem pakar komersial adalah sistem yang berbasis rule

(rule-based system) yaitu pengetahuan disimpan terutama dalam bentuk rule,

sebagai produser-prosedur pemecahan masalah.

f. Kemampuan menjelaskan (Explanation Capability)

Fasilitas lai dari sistem pakar adalah kemampuannya untuk menjelaskan saran

Page 5: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

10

atau rekomendasi yang diberikannya. Penjelasan dilakukan (explanation). Bagian

dari sistem ini memungkinkan sistem untuk memeriksa penalaran yang dibuatnya

sendiri dan menjelaskan operasi-operasinya.

5. Struktur Sistem Pakar

Menurut (Bahat & Anthoni, 2017) ada dua bagian penting dari sistem pakar,

yaitu lingkungan pengembangan (development 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).

2.1.4. Perbedaan Sistem Pakar Dengan Sistem Konvensioal

Perbedaan dari sistem pakar dengan sistem konvensional adalah dasar

pengetahuan (Knowledge based) yang menjadi dasar pembuatan sistem pakar tersebut

Perbedaan secara lengkap antara sistem pakar dan sistem konvensional dapat dilihat pada

tabel berikut menurut (Anik Andriani, 2014)

Tabel II.1.

Perbedaan Sistem Pakar dengan Sistem Konvensional

Sistem Konvensional Sistem Pakar

Informasi dan pemrosesan pada sistem

konvensional biasanya jadi satu dengan

program.

Basis pengetahuan merupakan bagian

terpisah dari mekanisme inferensi

Program tidak pernah salah (kecuali

pemrogramannya yang salah) dalam

memberikan hasil.

Program bisa saja melakukan

kesalahan dalam memberikan hasil

atau membuat kesimpulan

Page 6: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

11

Menggunakan data Menggunakan pengetahuan

Biasanya tidak bisa menjelaskan mengapa

suatu input data itu dibutuhkan atau

output itu diperoleh

Penjelasan adalah bagian terpenting

dari sistem pakar

Pengubahan program cukup sulit dan

merepotkan

Pengubahan pada aturan/kaidah dapat

dilakukan dengan mudah

Sistem hanya akan bekerja jika sistem

tersebut sudah lengkap

Sistem dapat bekerja hanya dengan

beberapa aturan saja

Eksekusi dilakukan langkah demi langkah

secara algoritmik

Eksekusi dilakukan pada keseluruhan

basis pengetahuan secara heuristic dan

logis

Tujuan utamanya adalah efisiensi Tujuan utamanya adalah efektivitas

2.1.5. Gigi

Gigi merupakan organ mengunyah yang terdiri dari gigi pada rahang bawah,

lidah, dan saluran-saluran penghasil air ludah. Fungsi utama dari gigi adalah

merobek dan menguyah makanan pada sistem pencernaan, secara tidak langsung gigi

berpengaruh pada kondisi kesehatan seseorang. (Permadi, 2018)

Penyakit gigi pada manusia menduduki urutan pertama dari daftar 10 besar

penyakit yang paling sering dikeluhkan masyarakat Indonesia.Persepsi dan perilaku

masyarakat Indonesia terhadap kesehatan gigi masih buruk. Ini terlihat dari masih

besarnya dari masih besarnya angka karies gigi di Indonesia yang cenderung

meningkat. (Permadi, 2018)

Page 7: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

12

2.1.6. Teknik Inferensi Forward Chaining

Pada sistem pakar ini berbasis rule yaitu cara penalaran dengan memulai dari

fakta terlebih dahulu untuk menguji kebenaran hipotesis atau mencocokkan fakta

atau pernyataan dimulai dari bagian sebelah kiri dulu (IF dulu). Forward chaining

merupakan grup multiple inferensi yang melakukan pencarian dari suatu masalah

kepada solusinya. (Chaining, 2016)

2.1.7. Mobile Programming

Pemrograman yang digunakan untuk perangkat mobile, dalam perencanan

pembuatan aplikasi Sistem Pakar Diagnosa Penyakit Gigi Menggunakan Metode

Forward Chaining Berbasis Android ini menggunakan beberapa program, antara lain :

1. Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux

yang mencangkup sistem operasi, middleware dan aplikasi. Android

menyediakan platform terbuka bagi para pengembang untuk menciptakan

aplikasi mereka. (Safaat, 2015)

2. Cordova

Cordova adalah platform untuk membangun native mobile applications

menggunakan HTML, CSS, dan Java Script. Native mobile application yang

didukung antara lain Android, iOs, Windows Phone dan Blackberry. Cordova

berisi sekumpulan API (Application Programming Interface) untuk mengakses

device dari perangkat mobile. (Sopingi, 2016)

3. AngularJS

AngularJS merupakan salah satu framework javascript yang berbasis MVVM,

dengan paradigma tersebut diharapkan pengembangan aplikasi android

Page 8: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

13

menggunakan javascript menjadi lebih mudah dan cepat serta terstruktur.

(Sopingi, 2016)

4. Java

Java adalah perangkat lunak produksi Sun Microsyste, Inc, yang merupakan

perangkat lunak yang bertujuan mudah dipelajari dan powerfull. Aplikasi-aplikasi

yang dapat dibuat dengan java, meliputi program web, program desktop, program

handphone. Saat ini java diakuisisi oleh Oracle Imc. Yang membuat java semakin

berkembang dengan cepat dan terkenal. (Sopingi, 2016)

5. MySQL

Menurut (Tabrani & Pudjiarti, 2017) “MySQL adalah sebuah basis data yang

mengandung satu atau jumlah tabel. Tabel terdiri atas sejumlah baris dan setiap

baris menggandung atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan

setiap baris mengandung satu atau sejumlah tabel”.

6. Xampp

Xampp adalah perangkat lunak bebas, yang mendukung banyak sistem operasi,

merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server

yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server,

MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa

pemograman PHP dan Perl. (Safaat, 2015)

7. Eclipse IDE

Enclipse IDE adalah sebuah IDE (Integrated Development Environment) untuk

mengembangkan perangkat lunak dan dapat dijalankan di semua platform. Eclipse

pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open

source, yang berarti setiap orang boleh melihat kode pemograman perangkat

lunak ini. (Lengkong, 2018)

Page 9: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

14

8. HTML

Menurut (Ardana : 2012) “HTML atau Hyper Text Markup Language merupakan

suatu bahasa yang dikenali oleh web browser untuk menampilkan informasi

seperti teks, gambar, animasi bahkan video”. Untuk dapat membuat android

dengan baik maka langkah awal yang harus dilakukan yaitu mengenal kode-kode

dasar HTML yang sering digunakan oleh programmer. Kode HTML memiliki

aturan dan struktur penulisan tersendiri yang disebut tag HTML. Tag adalah kode

yang digunakan untu memoles (mark-up) teks menjadi file HTML. (Sopingi,

2016)

9. Database

Menurut Database atau biasa disebut basis data merupakan kumpulan data yang

saling terhubung. Data tersebut biasanya terdapat dalam tabel-tabel yang saling

berhubungan satu sama lain, dengan menggunakan field/kolom pada tiap tabel

yang ada. (Prayitno & Safitri, 2015)

2.1.8. Metode Pengembangan Perangkat Lunak

Metode pengembangan perangkat lunak yang digunakan adalah model

waterfall. Menurut (Rosa & M. Shalahudin, 2013) model waterfall dibagi dalam

beberapa tahapan, yaitu :

1. Analisis Kebutuhan Perangkat Lunak

Proses pengumpulan kebutuhan dilakukan secara intensif untuk

menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat

lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat

lunak pada tahap ini perlu untuk didokumentasikan.

Page 10: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

15

2. Desain

Desain perangkat lunak adalah proses multi langkah yang fokus pada desain

pembuatan program perangkat lunak termasuk struktur data, arsitektur

perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini

mentranslasi kebutuhan perangkat lunak dari tahap analisi kebutuhan ke

representasi desain agar dapat diimplementasikan menjadi program pada tahap

selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga

didokumentasikan.

3. Pembuatan Kode Program

Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap

ini adalah program komputer sesuai dengan desain yang telah dibuat pada

tahap desain.

4. Pengujian

Pengujian fokus pada perangkat lunak secara dari segi logic dan fungsional dan

memastikan bahwa semua bagian sudah diuji.Hal ini dilakukan untuk

meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan

sesuai dengan yang diinginkan.

5. Pendukung atau Pemeliharaan (maintenance)

Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan

ketika sudah dikirimkan ke uer. Perubahan bisa terjadi karena adanya

kesalahan yang muncul dan tidak terdetekdi saat pengujian atau perangkat

lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau

pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis

spesifikasi untuk perubahan perangkat lunak yang sudah ada, tetapi tidak untuk

membuat perangkat lunak baru.

Page 11: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

16

2.2. Peralatan Pendukung (Tools System)

2.2.1. Unified modeling language (UML)

Unified modeling languageatau UML adalah bahasa yang banyak digunakan di

dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta

menggambar arsitektur dalam pemrograman berorientasi objek.(Permadi, 2018)

2.2.2. Activity Diagram

Diagram aktivitas atau activity diagram menggambarkan workflow (aliran

kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada

perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas

menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitasnya

dapat dilakukan oleh sistem.(Permadi, 2018)

2.2.3. Use Case Diagram

Use Case Diagram merupakan permodelan untuk kelakuan (behavior) sistem

informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu

atau lebih aktor dengan sistem informasi yang akan dibuat. (Permadi, 2018)

2.2.4. Component Diagram

Diagram komponen atau component diagram dibuat untuk menunjukan

organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem.

(Permadi, 2018)

2.2.5. NotePad ++

Notepadd++adalah sebuah text editor yang sangat berguna dalam membuat

program. Notepad++ menggunakan komponen scintilla untuk menampilkan teks

dan berkas kode sumber berbagai bahasa pemograman yang berjalan diatas sistem

operasi Microsoft Windows. (Ayu & Permatasari, 2016)

Page 12: BAB II LANDASAN TEORI - repository.bsi.ac.id · Inferensi adalah sebuah prosedur (program) yang mempunyai kemampuan dalam melakukan penalaran. e. Aturan-aturan (Rule) Kebanyakan software

17

2.2.6. Flowchart

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan

urutan-urutan prosedur dari suatu program. Flowchart menolong analisis dan

programmer untuk memcahkan masalah kedalam segmen-segmen yang lebih kecil

dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

(Billa, 2015)

2.2.7. ERD (Entity Relationship Diagram)

Menurut (Tabrani & Pudjiarti, 2017) adalah “alat permodelan data utama dan

akan membantu mengorganisasikan data dalam suatu proyek ke dalam entitas-

entitas dan menentukan hubungan antar entitas. Dalam Entity Relationship

Diagram (ERD) terdapat beberapa komponen seperti :

1. Entity

Entity merupakan objek yang dapat dibedakan dengan yang lain dalam dunia

nyata. Dalam entity ada yang disebut sebagai entity set yaitu kumpulan dari

entity yang sejenis.

2. Atribut

Atribut adalah karakteristik dari entity atau relationship, yang menyediakan

penjelasan detail tentang entity atau relationship tersebut. Atribut

digambarkan dalan bentuk oval.

3. Relasi

Relasi adalah hubungan yang terjadi antara sutu atau lebih entity.

4. Kardinalitas (Derajat Relasi)

Kardinalitas relasi menunjukan jumlah maksimum entitas yang dapat berelasi

dengan entitas pada himpunan entitas lain.