Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan...

19
2 1. Pendahuluan Seiring dengan perkembangan zaman dan teknologi, peran komputer semakin mendominasi kehidupan umat manusia dalam melakukan suatu pekerjaan. Komputer tidak lagi hanya digunakan sebagai alat hitung, namun komputer diharapkan agar dapat mengerjakan segala sesuatu yang biasa dikerjakan oleh manusia. Manusia bisa menyelesaikan masalah karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dengan belajar, semakin banyak belajar tentu saja pengetahuan seseorang akan meningkat sehingga memiliki kemampuan dalam menyelesaikan masalah. Tanpa memiliki kemampuan untuk menalar dengan baik manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Untuk itu agar komputer dapat melakukan tindakan seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Sistem pakar adalah merupakan salah satu cabang kecerdasan buatan yang mempelajari bagaimana meniru cara berpikir seorang pakar dalam menyelesaikan suatu permasalahan, membuat keputusan maupun mengambil kesimpulan sejumlah fakta[1]. Sistem pakar dewasa ini telah banyak digunakan dalam sistem berbasis pengetahuan yang diterapkan diberbagai bidang. Dari sekian banyaknya sistem pakar yang dikembangkan kebanyakan dibuat hanya untuk menyelesaikan masalah tertentu dan dengan tujuan tertentu. Pembangunan sistem pakar juga membutuhkan pengkodean pada bahasa pemograman. Selain itu, mengetahui terbatasnya pembelajaran untuk sistem pakar, yang selama ini masih banyak menggunakan buku-buku, jurnal, artikel dimana pengguna hanya dapat mempelajari teori-teori tentang sistem pakar tanpa bisa mencoba dan mengembangkannya. Sehingga dibuat aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan. Dalam penelitian ini dibuat aplikasi Shell sistem pakar yang digunakan untuk pembelajaran kecerdasan buatan khususnya sistem pakar sehingga dapat memberikan kemudahan bagi pengguna dalam mencoba dan mengembangkan sistem pakar dengan memasukkan basis pengetahuan tanpa harus melalui proses pengkodean pada bahasa pemograman. Rumusan masalah dalam penelitian ini adalah bagaimana membuat Shell Sistem Pakar untuk Pembelajaran Kecerdasan Buatan. 2. Kajian Pustaka Handayani [2] membuat sistem pakar untuk membantu (bukan menggantikan) tugas-tugas para dokter serta melengkapi kemampuan para dokter tersebut dalam membuat keputusan yang optimal melalui pengolahan komputer. Sistem pakar berbasis web dengan e2gLite yang telah dikembangkan mempunyai keunggulan dalam kemudahan akses dan kemudahan pemakaian. Pada penelitiannya menuliskan bahwa pengguna dapat membuat sistem pakar berbasis web dengan shell e2gLite yang membutuhkan 2 buah file. File pertama adalah file

Transcript of Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan...

Page 1: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

2

1. Pendahuluan

Seiring dengan perkembangan zaman dan teknologi, peran komputer

semakin mendominasi kehidupan umat manusia dalam melakukan suatu

pekerjaan. Komputer tidak lagi hanya digunakan sebagai alat hitung, namun

komputer diharapkan agar dapat mengerjakan segala sesuatu yang biasa

dikerjakan oleh manusia.

Manusia bisa menyelesaikan masalah karena manusia mempunyai

pengetahuan dan pengalaman. Pengetahuan diperoleh dengan belajar, semakin

banyak belajar tentu saja pengetahuan seseorang akan meningkat sehingga

memiliki kemampuan dalam menyelesaikan masalah. Tanpa memiliki

kemampuan untuk menalar dengan baik manusia dengan segudang pengalaman

dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.

Untuk itu agar komputer dapat melakukan tindakan seperti dan sebaik

manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai

kemampuan untuk menalar. Sistem pakar adalah merupakan salah satu cabang

kecerdasan buatan yang mempelajari bagaimana meniru cara berpikir seorang

pakar dalam menyelesaikan suatu permasalahan, membuat keputusan maupun

mengambil kesimpulan sejumlah fakta[1].

Sistem pakar dewasa ini telah banyak digunakan dalam sistem berbasis

pengetahuan yang diterapkan diberbagai bidang. Dari sekian banyaknya sistem

pakar yang dikembangkan kebanyakan dibuat hanya untuk menyelesaikan

masalah tertentu dan dengan tujuan tertentu. Pembangunan sistem pakar juga

membutuhkan pengkodean pada bahasa pemograman. Selain itu, mengetahui

terbatasnya pembelajaran untuk sistem pakar, yang selama ini masih banyak

menggunakan buku-buku, jurnal, artikel dimana pengguna hanya dapat

mempelajari teori-teori tentang sistem pakar tanpa bisa mencoba dan

mengembangkannya. Sehingga dibuat aplikasi shell sistem pakar untuk

pembelajaran kecerdasan buatan.

Dalam penelitian ini dibuat aplikasi Shell sistem pakar yang digunakan

untuk pembelajaran kecerdasan buatan khususnya sistem pakar sehingga dapat

memberikan kemudahan bagi pengguna dalam mencoba dan mengembangkan

sistem pakar dengan memasukkan basis pengetahuan tanpa harus melalui proses

pengkodean pada bahasa pemograman. Rumusan masalah dalam penelitian ini

adalah bagaimana membuat Shell Sistem Pakar untuk Pembelajaran Kecerdasan

Buatan.

2. Kajian Pustaka

Handayani [2] membuat sistem pakar untuk membantu (bukan

menggantikan) tugas-tugas para dokter serta melengkapi kemampuan para dokter

tersebut dalam membuat keputusan yang optimal melalui pengolahan komputer.

Sistem pakar berbasis web dengan e2gLite yang telah dikembangkan mempunyai

keunggulan dalam kemudahan akses dan kemudahan pemakaian. Pada

penelitiannya menuliskan bahwa pengguna dapat membuat sistem pakar berbasis

web dengan shell e2gLite yang membutuhkan 2 buah file. File pertama adalah file

Page 2: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

3

halaman web yang berisi applet e2gLite, dan file kedua adalah file basis

pengetahuan. Kedua file tersebut harus ditulis dengan format yang telah

ditentukan oleh pembuat e2gLite. File basis pengetahuan berupa file teks dapat

dibuat menggunakan program editor teks biasa seperti notepad. File ini berisi

definisi aturan-aturan yang digunakan untuk menentukan jenis penyakit hati yang

dapat dibaca oleh siapapun karena bersifat publik atau dapat diakses oleh

siapapun sehingga tidak dapat dijaga kerahasiannya. Mesin inferensi yang

digunakan adalah kombinasi antara Forward Chaining dan Backward Chaining.

Aplikasi ini hanya dapat dijalankan dengan menggunakan browser yang memiliki

fitur Java [2].

Nurhuda [3] membuat shell sistem pakar untuk mempermudah seorang

knowledge engineer atau seorang pakar dalam mengembangkan sistem pakar

dengan waktu dan biaya yang sangat murah. Pada penelitiannya menuliskan

bahwa pengguna dari sistem ini dibedakan dalam 2 kelompok pengguna, masing-

masing adalah pengguna dalam kelompok pengembang sistem pakar dan

pengguna dalam kelompok pemakai sistem pakar. Fasilitas yang digunakan untuk

kelompok pengembang sistem pakar dalam membangun basis pengetahuan terdiri

atas fasilitas untuk mendokumentasikan fakta/kondisi, fasilitas untuk

mendokumentasikan kesimpulan, dan fasilitas untuk mendokumenasikan aturan

yang masing-masing diinputkan melalui user interface. Sedangkan fasilitas yang

digunakan untuk kelompok pemakai sistem pakar terdiri atas fasilitas konsultasi

dan kesimpulan hasil konsultasi. Mesin inferensi yang digunakan adalah Forward

Chaining. Aplikasi yang dibangun berbasis desktop [3].

Penelitian ini mengadopsi dari penelitian Handayani [2] mengenai basis

pengetahuan yang digunakan berupa file editor teks sehingga muncul ide bahwa

basis pengetahuan yang digunakan adalah berupa file teks sehingga dapat dengan

mudah dikembangkan untuk pengetahuan yang berbeda-beda sebagai

pembelajaran kecerdasan buatan. Penelitian ini juga mengadopsi dari penelitian

Nurhuda [3] mengenai mesin inferensi yang digunakan yaitu Forward Chaining,

sehingga dalam mencari kesimpulan dilakukan pencocokan fakta yang diperoleh

dengan aturan yang ada pada basis pengetahuan.

Pada penelitian yang dikerjakan ini dibuatlah suatu sistem pembelajaran

kecerdasan buatan berupa Shell sistem pakar yang dapat memberikan kemudahan

bagi pengguna dalam mempelajari maupun mengembangkan sistem pakar dengan

menggunakan mesin inferensi Forward Chaining dan pendekatan berbasis aturan

(rule based reasoning). Diasosiasikan sebagai shell karena pada dasarnya shell

sistem pakar merupakan sistem pakar tanpa dilengkapi dengan basis pengetahuan

tertentu sehingga dapat diisi dengan pengetahuan yang berbeda-beda. Dengan

menggunakan file teks dan pola if-then maka pengguna dapat dengan mudah

melakukan modifikasi terhadap data yang terdapat pada basis pengetahuan.

Web adalah kumpulan halaman-halaman yang digunakan untuk

menampilkan informasi teks, gambar diam atau gerak, animasi, suara, dan atau

gabungan dari semuanya, baik bersifat statis maupun dinamis yang membentuk

satu rangkaian bangunan yang saling terkait, yang masing-masing dihubungkan

dengan jaringan-jaringan halaman[4].

Page 3: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

4

User

Interface

Inference

Engine

Editing

Facilities

for create

and update

the

knowledge

base

Knowledge

Base

Pembelajaran adalah prosedur dan metode yang ditempuh oleh pengajar

untuk memberikan kemudahan bagi peserta didik untuk melakukan kegiatan

belajar secara aktif dalam rangka mencapai tujuan pembelajaran.[5].

Sistem Pakar adalah suatu sistem yang menggunakan pengetahuan yang

dimiliki manusia kemudian diimplementasikan ke dalam suatu komputer untuk

memecahkan masalah yang biasanya ditangani oleh seorang pakar [6]. Sistem

pakar disusun oleh dua bagian utama: (1) Lingkungan pengembang (Development

Environment) digunakan untuk memasukan pengetahuan pakar ke dalam

lingkungan sistem pakar; (2) Lingkungan konsultasi (Consultation Environment)

digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan

pakar[7].

Shell adalah bagian dari perangkat lunak yang berisi user interface, format

untuk representasi dari basis pengetahuan dalam domain sempit dan spesifik, dan

mesin inferensi[8]. Gambar 1 menjelaskan tentang arsitektur shell sistem pakar.

Gambar 1 Arsitektur Shell Sistem Pakar[8]

Dalam membangun shell sistem pakar terdapat beberapa komponen –

komponen dasar penyusunnya yang dapat dilihat pada Gambar 2.

Gambar 2 Komponen Dasar Shell Sistem Pakar[9]

Basis pengetahuan menyimpan fakta dan aturan. Sebuah expert system

tool memiliki satu atau lebih skema representasi pengetahuan untuk

mengekspresikan pengetahuan tentang domain aplikasi. Mesin inferensi

menyediakan mekanisme inferensi untuk memanipulasi pengetahuan dalam basis

pengetahuan untuk melakukan penelusuran dalam menyelesaikan masalah.

Subsistem akuisisi pengetahuan merupakan subsistem untuk membantu pakar

dalam membangun basis pengetahuan. Pengumpulan pengetahuan diperlukan

untuk menyelesaikan masalah dan membangun basis pengetahuan lebih jauh

untuk meningkatkan kemampuan sistem pakar. Subsistem penjelasan merupakan

Page 4: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

5

penjelas yang menjelaskan tentang aksi sistem. Penjelasan dapat berupa

bagaimana kesimpulan akhir diperoleh dan dari mana solusi yang diberikan

didapatkan. Antar muka pengguna (user interface) merupakan sarana komunikasi

antara sistem dengan pengguna[9].

Rule based reasoning merupakan teknik representasi pengetahuan dengan

menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila kita

memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan

seorang pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping

itu, juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah –

langkah) pencapaian solusi[10].

Forward chaining merupakan suatu strategi pengambilan keputusan yang

dimulai dari bagian sebelah kiri (IF terlebih dahulu). Dengan kata lain, penalaran

dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis[10].

3. Metode dan Perancangan Sistem

Aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan

dirancang dengan menggunakan UML (Unified Modelling Language) yaitu

metode pemodelan secara visual sebagai sarana untuk merancang dan atau

membuat software berorientasi objek[11]. Aplikasi dirancang dengan

menggunakan use case diagram dan activity diagram.

Use case diagram adalah abstraksi dari interaksi antara sistem dan

aktor[12]. Pada use case diagram, pengguna dapat dapat membuka halaman

konsultasi pada menu konsultasi yang akan menampilkan pertanyaan dan hasil

konsultasi. Selain itu pengguna juga dapat melihat petunjuk penggunaan aplikasi

pada menu petunjuk. Sedangkan pakar diharuskan membuka halaman pengaturan

pada menu pengaturan untuk menginputkan basis pengetahuan yang berupa file

aturan dan file pertanyaan yang telah dibuat sebelumnya dengan format yang telah

ditentukan. Use case pada perancangan aplikasi ini dapat dilihat pada Gambar 3.

Gambar 3 Use Case Diagram

Page 5: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

6

Activity diagram adalah salah satu cara untuk memodelkan event-event yang

terjadi dalam suatu use case[13]. Activity diagram menjelaskan langkah atau

urutan aktifitas dalam sebuah proses. Activity diagram dalam perancangan

aplikasi ini dibuat berdasarkan aktifitas yang dilakukan oleh aktor pada use case

diagram.

Activity diagram untuk pakar dimulai dengan memilih menu pengaturan lalu

sistem akan menampilkan form input pertanyaan dan aturan. Kemudian pakar

menginputkan file pertanyaan dan aturan yang akan digunakan pada sistem

sebagai basis pengetahuan. Setelah itu akan dilakukan pengecekan pada file, jika

file tidak sesuai ketentuan maka sistem akan menampilkan pesan file tidak sesuai

ketentuan, jika file yang dicek sesuai ketentuan maka sistem akan menampilkan

pesan file berhasil disimpan. Activity diagram untuk pakar dapat dilihat pada

Gambar 4.

Gambar 4 Activity Diagram Pakar

Activity diagram untuk pengguna dimulai dengan memilih menu konsultasi

maka sistem akan membaca file pertanyaan untuk kemudian ditampilkan pada

user interface. Pengguna yang ingin berkonsultasi diharuskan memilih pertanyaan

yang sesuai dengan gejala yang dialami untuk kemudian dilakukan pencarian

gejala yang sesuai pada aturan yang ada di database. Jika pencarian gejala tidak

ditemukan atau dapat diartikan pengguna tidak memilih satu pun gejala, maka

sistem akan menampilkan pesan tidak ditemukan gejala. Sedangkan jika pencarian

gejala ditemukan, maka sistem akan menampilkan hasil konsultasi yang berupa

kesimpulan dari gejala yang ditemukan. Activity diagram untuk pengguna dapat

dilihat pada Gambar 5.

Page 6: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

7

Gambar 5 Activity Diagram Pengguna

Aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan

dirancang berdasarkan modifikasi komponen-komponen dasar penyusun shell

sistem pakar. Komponen-komponen penyusun shell sistem pakar yang digunakan

pada pembuatan aplikasi ini meliputi basis pengetahuan, mesin inferensi dan

antarmuka pengguna (user interface). Komponen-komponen shell sistem pakar

yang digunakan pada aplikasi ini dapat dilihat pada Gambar 6.

Expert System Shell

Gambar 6 Komponen shell sistem pakar

Basis pengetahuan pada aplikasi ini memerlukan dua file, yaitu file

pertanyaan dan file aturan. Kedua file tersebut dibuat dengan menggunakan

program editor teks biasa seperti notepad yang disimpan dengan format yang

Basis

Pengetahuan

Pertanyaan

Aturan Mesin

Inferensi

Antarmuka Pengguna (User

Interface)

Knowledge Enginner

Pakar Pengguna

Expert System Shell

Page 7: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

8

telah ditentukan, yaitu *.x2s. Tujuannya adalah untuk memudah pakar dalam

membangun maupun memodifikasi basis pengetahuan. Untuk file pertanyaan,

berisi pertanyaan-pertanyaan yang akan diajukan kepada pengguna dalam proses

konsultasi. File pertanyaan tersebut dibuat dengan format penulisan yang telah

ditentukan sebelumnya agar dapat ditampilkan kepada pengguna melalui user

interface. Bentuk format penulisan file pada pertanyaan dapat dilihat pada

Gambar 7.

Gambar 7 Bentuk Format Penulisan File Pertanyaan

Gambar 7 merupakan bentuk format penulisan pada file pertanyaan yang

diawali dengan pola “Apakah” yang diikuti dengan kondisi-kondisi yang akan

ditanyakan pada pengguna dan diakhiri dengan simbol tanya (?). Setiap

pertanyaan dipisah menggunakan baris baru.

Gambar 8 Flowchart Proses Menampilkan Pertanyaan

Pada flowchart Gambar 8 dijelaskan proses menampilkan pertanyaan

setelah dilakukan pengecekan untuk format file maupun format penulisan file pada

pertanyaan. Tahap pertama, file pertanyaan yang menjadi input awal dibaca oleh

sistem untuk kemudian dilakukan pemisahan berdasarkan baris. Setelah dilakukan

pemisahan, maka setiap baris pertanyaan akan tersimpan ke dalam array.

Apakah kondisi_1 ?

Apakah kondisi_2 ?

Apakah kondisi_3 ?

Apakah kondisi_4 ?

Apakah kondisi_5 ?

Page 8: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

9

kol_1 kol_2 kol_3 kol_4 kol_5 kol_6

Kesimpulan kondisi_1 kondisi_2 kondisi_3 kondisi_4 kondisi_5

Selanjutnya akan dihitung jumlah data pada array yang nantinya akan digunakan

pada proses tahap terakhir. Proses tahap terakhir akan dilakukan perulangan

sebanyak jumlah data pada array untuk menampilkan pertanyaan-pertanyaan pada

proses konsultasi.

Sedangkan untuk file aturan, berisi aturan-aturan yang akan digunakan

pada sistem dalam mencapai suatu kesimpulan. Aturan-aturan direpresentasikan

menggunakan teknik representasi pengetahuan rule based reasoning dengan

bentuk pola IF-THEN. Bentuk format penulisan file aturan dapat dilihat pada

Gambar 9.

Gambar 9 Bentuk Format Penulisan File Aturan

Pada Gambar 9 menjelaskan bagaimana format penulisan file aturan

sehingga sistem dapat membacanya. Tahap pertama penulisan file aturan dimulai

dengan bentuk pola IF yang akan diikuti dengan kondisi-kondisi. Untuk setiap

kondisi yang ada dipisah menggunakan pola AND. Kemudian untuk menuliskan

kesimpulan dari berbagai kondisi yang ada digunakan pola THEN dengan diikuti

pernyataan kesimpulan. Aturan satu dengan aturan lainnya dipisah menggunakan

simbol pagar (#).

Aturan-aturan yang telah dibuat dengan mengikuti pola IF-THEN akan

dibaca oleh sistem untuk selanjutnya direpresentasikan ke dalam bentuk tabel

database. Bentuk representasi aturan ke dalam tabel database dapat dilihat pada

Gambar 10.

Gambar 10 Bentuk Representasi Aturan Pada Tabel Database (Kondisi <= 5)

Pada Gambar 10 dijelaskan bentuk representasi aturan ke dalam tabel

database dengan aturan yang memiliki jumlah kondisi <= 5. Tabel hanya terdiri

atas 6 kolom dimana kol_1 merupakan isi dari kesimpulan sedangkan kol_2

sampai dengan kol_6 merupakan isi dari kondisi. Jadi kondisi-kondisi yang ada

IF kondisi_1

AND kondisi_2

AND kondisi_3

AND kondisi_4

AND kondisi_5

THEN Kesimpulan_1

#

IF kondisi_1

AND kondisi_2

AND kondisi_3

THEN Kesimpulan_2

Page 9: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

10

pada aturan akan disimpan pada kol_2 sampai dengan kol_6, sedangkan untuk

kesimpulan dari suatu aturan akan disimpan pada kol_1.

Bentuk representasi aturan ke dalam tabel database dengan aturan yang

memiliki jumlah kondisi > 5 ditunjukkan pada Gambar 11.

Gambar 11 Bentuk Representasi Aturan Pada Tabel Database (Kondisi > 5)

Pada Gambar 11 dilihat bahwa jumlah kondisi yang ada pada aturan

berjumlah lebih dari 5 yaitu terdapat 7 kondisi. Sedangkan kolom kondisi hanya

berjumlah 5 kolom yaitu kol_2, kol_3, kol_4, kol_5 dan kol_6. Untuk itu, maka

dibuatlah baris baru pada tabel dengan sub aksi sebagai kondisi penghubung. Jadi,

tahap pertama dimulai dengan mengisi kesimpulan pada kol_1. Kemudian tahap

kedua dilakukan dengan mengisi kondisi pada kol_2 sampai dengan kol_5. Tahap

ketiga dilakukan dengan mengisi kondisi sebagai sub aksi pada kol_6. Selanjutnya

tahap keempat dibuatlah baris baru dengan kol_1 yang diisi dengan nama yang

sama pada kol_6 baris sebelumnya sebagai penghubung. Tahap kelima yaitu

dengan mengisikan sisa kondisi pada kol_2 sampai dengan kol_6 pada baris baru.

Ulangi tahap ketiga jika diperlukan dengan menyesuaikan sisa kondisi.

Perancangan proses merepresentasikan aturan ke dalam tabel database

diterapkan dalam bentuk flowchart yang dapat dilihat pada Gambar 12.

kol_1 kol_2 kol_3 kol_4 kol_5 kol_6

Kesimpulan kondisi_1 kondisi_2 kondisi_3 kondisi_4 Kesimpulan_

1

Kesimpulan_

1

kondisi_5 kondisi_6 kondisi_7 null null

Page 10: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

11

Gambar 12 Flowchart Proses Representasi Aturan ke dalam Tabel Database

Flowchart pada Gambar 12 menjelaskan bagaimana proses yang

dilakukan ketika aturan yang semula berbentuk file dapat dipresentasikan ke

dalam tabel database. Tahap pertama, file aturan yang menjadi input awal dibaca

oleh sistem untuk kemudian dilakukan pemisahaan berdasarkan aturan. Setelah

dilakukan pemisahan berdasarkan aturan, selanjutnya sistem akan melakukan

pemisahan berdasarkan kesimpulan. Setelah kedua proses pemisahan dilakukan,

maka akan dilanjutkan untuk pemisahan berdasarkan kondisi. Setelah dilakukan

pemisahan berdasarkan kondisi maka sistem akan menyimpan kondisi dan

kesimpulan pada array. Selanjutnya sistem akan mengecek ketersediaan aturan

pada tabel database. Jika aturan telah ada sebelumnya maka akan dilakukan

pengosongan pada tabel terlebih dahulu sebelum dilakukan insert kondisi dan

kesimpulan. Sedangkan jika aturan belum ada maka akan langsung dilakukan

insert kondisi dan kesimpulan ke dalam tabel database.

Perancangan proses pengecekan format file dan format penulisan file pada

file pertanyaan dan file aturan diterapkan dalam bentuk flowchart yang dapat

dilihat pada Gambar 13.

Page 11: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

12

Gambar 13 Flowchart Proses Pengecekan Format File dan Format Penulisan File

Flowchart pada Gambar 13 menjelaskan bagaimana proses yang

dilakukan sistem dalam mengecek format file dan format penulisan file. Input file

aturan dan file pertanyaan yang telah dibuat sebelumnya. Kemudian akan dicek

untuk format file aturan dan file pertanyaan, apakah sesuai dengan ketentuan atau

tidak. Jika tidak sesuai dengan ketentuan maka akan menampilkan pesan

kesalahan pada file. Sedangkan jika sesuai dengan ketentuan maka akan

dilanjutkan dengan mengecek format penulisan file. Proses pengecekan format

penulisan file dilakukan sesuai dengan format masing-masing file untuk file aturan

dan file pertanyaan. Jika salah satu atau kedua format penulisan file tidak sesuai

ketentuan maka sistem akan menampilkan pesan kesalahan pada file. Sebaliknya,

jika kedua format file sesuai dengan ketentuan maka file aturan dan file

pertanyaan akan disimpan ke dalam directory pada aplikasi dan menampilkan

output pesan file berhasil disimpan.

Perancangan proses mesin inferensi dalam mencari kesimpulan diterapkan

dalam bentuk flowchart yang dapat dilihat pada Gambar 14.

Page 12: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

13

Gambar 14 Flowchart Proses Mesin Inferensi

Flowchart Gambar 14 menjelaskan bagaimana proses mesin inferensi

dalam mencari kesimpulan. Awalnya akan dicek input gejala dari pengguna. Jika

tidak ditemukan gejala dari pengguna maka akan menampilkan pesan gejala tidak

ditemukan. Sedangkan jika ditemukan gejala dari pengguna maka akan dicari

gejala pertama yang sama pada rule pertama di database. Jika terdapat gejala

yang sama pada rule pertama di database maka akan disimpan gejala dari

pengguna dan kesimpulan dari rule pertama ke dalam array. Selanjutnya akan

dilakukan pengecekan apakah rule merupakan rule terakhir, jika bukan

merupakan rule terakhir maka akan dilanjutkan kembali untuk mencari gejala

yang sama pada rule berikutnya. Namun jika rule merupakan rule terakhir maka

akan dilanjutkan dengan mengecek apakah gejala dari pengguna merupakan

gejala terakhir, jika bukan gejala terakhir maka akan dilanjutkan untuk mencari

gejala selanjutnya dari pengguna yang dimulai kembali pada rule pertama. Jika

gejala merupakan gejala terakhir maka sistem akan mengambil kesimpulan dari

aturan yang memiliki banyak gejala yang sama dan akan ditampilkan hasilnya.

Proses pencarian bobot kesimpulan dapat dilihat pada Gambar 15.

Page 13: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

14

Gambar 15 Proses Pencarian Bobot Kesimpulan

Gambar 15 menunjukkan proses pencarian bobot kesimpulan dalam

bentuk persen (%). Awalnya akan diambil jumlah gejala yang sama yang ada

pada aturan kemudian dibagi dengan jumlah gejala yang ada pada Rule-N dan

dikalikan dengan 100 % maka akan ditemukan bobot dalam bentuk persen pada

suatu aturan. Aturan-aturan yang memiliki gejala yang sama dengan gejala

pengguna akan dihitung bobotnya menggunakan proses tersebut untuk kemudian

diseleksi. Aturan dengan persentase bobot tertinggi akan diambil sebagai

kesimpulan.

4. Hasil dan Pembahasan

Proses menginputkan basis pengetahuan ke dalam sistem pertama kali

dilakukan dengan pengecekan pada format file dan format penulisan file terlebih

dahulu sebelum dapat tersimpan kedalam sistem agar tidak terjadi kesalahan

dalam membaca ataupun error. Kode program proses pengecekan format file dan

format penulisan file dapat dilihat pada Kode Program 1.

Kode Program 1 Proses Pengecekan Format File dan Format Penulisan File

1. $filename = array();

2. $error = 0;

3. $index = 0;

4. if(isset($_POST['simpan'])) {

5. if(get_ext($_FILES['f_quesrule']['name'][0])!= 'x2s' ||

6. get_ext($_FILES['f_quesrule']['name'][1])!= 'x2s') {

7. echo "<div class='warning'>Format file tidak sesuai ketentuan. Mohon ganti

8. format file anda dengan format *.x2s</div>";

9. }

10. else {

11. foreach($_FILES['f_quesrule']['name'] as $keys => $val){

12. $name = $_FILES['f_quesrule']['name'][$keys];

13. $tmp = $_FILES['f_quesrule']['tmp_name'][$keys];

14. if(trim($name)!=''){

15. if(move_uploaded_file($tmp, 'question_rules/'.$name)) {

16. if($keys == 0){

17. $cekfile = file_get_contents("question_rules/".$name);

18. $cekkata = explode("\n",$cekfile);

19. $cekjml = count($cekkata);

20. if($cekjml > 1) {

21. }

22. else {

23. $error += 1;

24. }

25. }

26. else {

27. $cekfile = file_get_contents("question_rules/".$name);

28. $cekkata = explode("#",$cekfile);

29. $cekjml = count($cekkata);

30. if($cekjml > 1) {

31. }

32. else {

33. $error += 1;

34. }

Page 14: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

15

Pada Kode Program 1 proses pengecekan dilakukan pertama kali dengan

mengambil masing-masing nama file untuk file pertanyaan dan file aturan yang

kemudian akan diambil formatnya menggunakan fungsi get_ext. Jika format file

tidak sesuai dengan yang ditentukan maka akan ditampilkan pesan format file

tidak sesuai dengan ketentuan. Namun jika format file sesuai dengan ketentuan,

akan dilanjutkan proses pengecekan pada format penulisan file dengan

menggunakan fungsi explode untuk melihat apakah format yang telah ditentukan

terdapat pada file aturan maupun file pertanyaan.

Kode Program 2 Proses Merepresentasikan Aturan ke Dalam Tabel Database

Kode Program 2 merupakan kode program yang digunakan untuk proses

merepresentasikan aturan ke dalam tabel database. Awalnya file aturan yang telah

disimpan pada directory aplikasi, dibaca oleh sistem dan disimpan ke dalam

sebuah variabel untuk dilakukan proses split. Proses split dilakukan berdasarkan

banyaknya aturan, kondisi dari suatu aturan dan kesimpulan dari suatu aturan

menggunakan fungsi explode. Setelah dilakukan proses split, maka akan didapat

kondisi-kondisi dari aturan berserta kesimpulannya yang kemudian diinsertkan ke

dalam tabel database. Hasil dari proses merepresentasikan aturan ke dalam tabel

database dapat dilihat pada Gambar 16.

1. if(!empty($_SESSION['aturan'])) {

2. $file = file_get_contents("question_rules/".$_SESSION['aturan']);

3. $kata = explode("#",$file);

4. $jml = count($kata);

5. .

6. for($i=0;$i<$jml;$i++) {

7. $nonif = strstr($kata[$i],' ');

8. $pecah1 = explode("THEN",$nonif);

9. $pecah2 = explode("AND",$pecah1[0]);

10. $jum = count($pecah2);

11. .

12. if($jum > 0) {

13. if($jum <= 5) {

14. for($w=0;$w<5;$w++) {

15. if(isset($pecah2[$w])) {

16. .

17. }

18. else {

19. $pecah2[$w] = "null";

20. }

21. }

22. $query = mysql_query("insert into rule values(null,

23. '".ucwords(trim($pecah1[1]))."', '".strtolower(trim($pecah2[0]))."',

24. '".strtolower(trim($pecah2[1]))."', '".strtolower(trim($pecah2[2]))."',

25. '".strtolower(trim($pecah2[3]))."', '".strtolower(trim($pecah2[4]))."')")

26. or die(mysql_error());

27. }

Page 15: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

16

Gambar 16 Aturan Dalam Tabel Database

Gambar 16 merupakan hasil proses representasi aturan ke dalam tabel

database yang dilakukan secara otomatis oleh sistem sesuai dengan bentuk

representasi aturan yang telah ditentukan.

Kode Program 3 Proses Menampilkan Pertanyaan

Kode Program 3 merupakan kode program proses menampilkan

pertanyaan. File pertanyaan yang disimpan pada directory aplikasi, dibaca oleh

sistem dan disimpan ke dalam sebuah variabel untuk dilakukan proses split.

Proses split dilakukan berdasarkan baris menggunakan fungsi explode. Setelah

dilakukan proses split, maka pertanyaan-pertanyaan akan diinputkan ke dalam

sebuah tag form yang kemudian ditampilkan.

1. $file = file_get_contents("question_rules/".$_SESSION['pertanyaan']);

2. $pertanyaan = explode("\n",$file);

3. $jml = count($pertanyaan);

4. echo "<form method='POST' action='hasilanalisis'><table border='0'

5. cellspacing='0' cellpadding='3'>";

6. for($i=0;$i<$jml;$i++) {

7. $kalimat = strstr($pertanyaan[$i],' ');

8. $jmlkarakter = strlen($kalimat);

9. $kondisi = substr($kalimat,0,$jmlkarakter-2);

10. $urut = $i+1;

11. echo "<tr bgcolor='$warna'>

12. <td align=right><span style='font-size: 15px;'>$urut.</span></td>

13. <td width='460'><span style='font-size:

14. 15px;'>&nbsp;".ucfirst(strtolower($pertanyaan[$i]))."</span></td>

15. <td align='right'><input type='radio' name='jawab_$i' value='$kondisi'

16. id='y_$i' style='margin-right: 5px;'><label for='y_$i' style='margin

17. right: 15px;'>Ya</label>

18. <input type='radio' name='jawab_$i' value='not' id='t_$i' style='margin

19. right: 5px;' checked><label for='t_$i' style='margin-right:

20. 15px;'>Tidak</label></td></tr>";

21. }

Page 16: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

17

Kode Program 4 Potongan Kode Program Proses Mesin Inferensi

Kode Program 4 merupakan potongan kode program proses mesin

inferensi dalam mencari kesimpulan. Dalam proses mencari kesimpulan

dibutuhkan sebuah variabel bertipe data array untuk menampung kondisi-kondisi

dari pengguna. Setelah itu akan dilakukan pencocokan kondisi-kondisi dari

pengguna dengan aturan yang ada pada database. Hasil akhir dari proses mesin

inferensi adalah menyimpan kesimpulan dan menampilkan hasil yang didapat

berdasarkan banyaknya kondisi yang cocok dengan aturan yang ada pada

database.

Contoh kasus yang digunakan pada aplikasi ini yaitu tentang penyakit gigi

dan mulut dengan 15 daftar penyakit beserta gejalanya yang diterapkan pada basis

pengetahuan untuk dilakukan pengujian. Contoh kasus penyakit gigi dan mulut

dapat dilihat pada Tabel 1.

1. include "config/koneksi.php";

2. error_reporting(0);

3. $hasil[] = null;

4. $star[] = null;

5. $sql = mysql_query("SELECT * FROM rule");

6. while ($r = mysql_fetch_array($sql)) {

7. $id = $r['id'];

8. $kol_1 = $r['kol_1'];

9. $star[$kol_1] = 0;

10. foreach($hasil as $key=>$value){

11. if($id == 1) {

12. for($i=2;$i<=6;$i++) {

13. if($r['kol_'.$i] == strtolower(trim($value))) {

14. $star[$kol_1] += 1;

15. }

16. }

17. }

18. else {

19. for($i=2;$i<=6;$i++) {

20. if($r['kol_'.$i] == strtolower(trim($value))) {

21. $sql2 = mysql_query("SELECT kol_1 FROM rule WHERE kol_6='$kol_1'");

22. $r2 = mysql_num_rows($sql2);

23. $d = mysql_fetch_array($sql2);

24. if($r2 > 0){

25. $kol_temp = explode("_", $kol_1);

26. $star[$kol_temp[0]] += 1;

27. }

28. else {

29. $star[$kol_1] += 1 ;

30. }

31. }

32. }

Page 17: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

18

Tabel 1 Contoh Kasus Penyakit Gigi dan Mulut

Pengujian aplikasi dilakukan untuk melihat sudah sejauh mana aplikasi

dapat berjalan dan sejauh mana kesalahan yang mungkin terjadi pada aplikasi.

Pengujian aplikasi ini menggunakan blackbox testing, yaitu pengujian fungsional

tanpa melihat alur eksekusi program, namun cukup dengan memperhatikan

apakah setiap fungsi sudah berjalan dengan baik sesuai dengan harapan. Hal-hal

yang diuji dan hasil pengujian blackbox testing dapat dilihat pada Tabel 2.

NO PENYAKIT GEJALA

1 Abses Periodontal Bau mulut tak sedap, demam, gusi bengkak, gusi licin dan

mengkilap, gusi merah muda, gusi mudah berdarah, terdapat

nanah pada pangkal gusi, nyeri saat menyunyah, terdapat

pembekakan kelenjar getah bening, terdapat endapan plak,

terdapat karang gigi.

2 Kalkulus Bau mulut tak sedap, gusi mudah berdarah, terdapat endapan

plak, terdapat karang gigi.

3 Kandidiasis Bau mulut tak sedap, bercak putih pada lidah, bercak putih pada

rongga mulut, terasa perih saat makan dan minum, terdapat luka

pada mulut

4 Kelainan Sendi Temporomandibuler Sakit kepala, nyeri pada TMJ, nyeri pada otot pengunyah.

5 Karies Profunda Dentin terlihat, gigi berlubang, gigi nyeri saat terkena rangsangan

(panas/dingin), pulpa terinfeksi, sakit berdenyut tanpa rangsangan.

6 Cheilitis Bibir kemerahan, bibir pecah-pecah, bibir terasa kering dan

keras, kemerahan pada sudut-sudut mulut, sudut mulut terasa

nyeri, sudut-sudut mulut bersisik, luka pada sudut mulut.

7 Eritema Multiformis Bercak kecoklatan mendatar pada bibir, bibir kemerahan, bibir

pecah-pecah, bibir terasa kering dan keras, bibir terasa panas

seperti terbakar, demam.

8 Gingivitis Gusi bengkak, gusi licin dan mengkilap, gusi merah muda, gusi

mudah berdarah, terdapat endapan plak, terdapat karang gigi.

9 Herpes Simplek Demam, gusi bengkak, gusi mudah berdarah, terdapat

pembengkakan kelenjar getah bening, terasa perih saat makan

dan minum, terdapat luka pada mukosa mulut, terjadi daerah

kemerahan pada mulut, terdapat gelembung pada mukosa mulut.

10 Kanker Terdapat benjolan putih pada bagian dalam bibir, terdapat bercak

kecoklatan mendatar pada bibir, terdapat bercak putih berlendir

pada mulut, bibir pecah-pecah, luka terbuka pada lidah, terjadi

daerah kemerahan pada mulut, luka mudah berdarah,

perkembangan penyakit cepat (bulanan), luka atau benjolan

sering muncul berulang.

11 Karies Superfisial Terdapat bintik putih pada gigi, gigi berlubang.

12 Liken Planus Bintik-bintik merah bersisik pada mulut, disertai rasa gatal, luka

terbuka berwarna biru keputihan, terdapat benjolan ungu pada

mulut, luka atau benjolan sering muncul berulang.

13 Nekrosis Pulpa Gigi berlubang, terdapat lubang sangat besar pada gigi, terjadi

pembusukan gigi, pulpa mati rasa, ruang pulpa terbuka.

14 Pulpitis Akut Gigi berlubang, gigi keluar darah, gigi nyeri saat terkena

rangsangan (panas/dingin), terdapat lubang sangat besar pada

gigi, nyeri saat berbaring, pulpa terinfeksi, sakit berdenyut tanpa

ransangan.

15 Sariawan Bibir kemerahan, demam, disertai rasa gatal, luka mudah

berdarah, luka terbuka pada lidah, terasa perih saat makan dan

minum, terdapat luka pada mukosa mulut.

Page 18: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

19

Tabel 2 Hasil Pengujian Blackbox Testing

Fungsi yang

diuji

Kondisi Output yang

diharapkan

Output yang

muncul

Hasil

Pengecekan

format file dan

format

penulisan file

Format sesuai

ketentuan

Sukses

menyimpan file

Sukses

menyimpan file

Valid

Format tidak

sesuai

ketentuan

Tidak dapat

menyimpan file

Tidak dapat

menyimpan file

Valid

Membaca file

pertanyaan

Tidak

mengubah

jumlah

pertanyaan

Sukses

membaca file

pertanyaan

Sukses

membaca file

pertanyaan

Valid

Mengubah

jumlah

pertanyaan

Sukses

membaca file

pertanyaan

Sukses

membaca file

pertanyaan

Valid

Membaca file

aturan

Tidak

mengubah

jumlah aturan

dan kondisi

Sukses

membaca file

aturan

Sukses

membaca file

aturan

Valid

Mengubah

jumlah aturan

dan kondisi

Sukses

membaca file

aturan

Sukses

membaca file

aturan

Valid

Representasi

aturan ke

dalam

database

Tidak

mengubah

jumlah aturan

dan kondisi

Sesuai dengan

bentuk

reprensentasi

aturan

Sesuai dengan

bentuk

reprensentasi

aturan

Valid

Mengubah

jumlah aturan

dan kondisi

Sesuai dengan

bentuk

reprensentasi

aturan

Sesuai dengan

bentuk

reprensentasi

aturan

Valid

Menampilkan

kesimpulan

Memilih

gejala

Sukses

menampilkan

kesimpulan

Sukses

menampilkan

kesimpulan

Valid

Tidak

memilih

gejala

Sukses

menampilkan

pesan

peringatan

Sukses

menampilkan

pesan

peringatan

Valid

Perhitungan

bobot dalam

mencari

kesimpulan

Memilih

gejala

Sesuai

perhitungan

manual

Sesuai

perhitungan

manual

Valid

Memilih

gejala yang

lain

Sesuai

perhitungan

manual

Sesuai

perhitungan

manual

Valid

Page 19: Pembuatan Shellsistem Pakar Untuk Pembelajaran Kecerdasan ...repository.uksw.edu/bitstream/123456789/8753/3/T1_672010109_Full...kecerdasan buatan yang mempelajari bagaimana meniru

20

5. Simpulan

Berdasarkan hasil penelitian yang telah dilakukan maka dapat ditarik

beberapa kesimpulan yaitu aplikasi shell sistem pakar untuk pembelajaran

kecerdasan buatan ini mampu untuk membangun sistem pakar dengan

memasukkan basis pengetahuan tanpa melalui proses pengkodean bahasa

pemograman. Basis pengetahuan yang digunakan dalam aplikasi shell sistem

pakar untuk pembelajaran kecerdasan buatan yaitu berupa file teks sehingga dapat

dengan mudah untuk dibuat maupun dikembangkan tanpa mempengaruhi mesin

inferensi. Aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan yang

telah dibangun dapat digunakan sebagai pembelajaran untuk sistem pakar yang

dapat diakses menggunakan browser sehingga memudahkan untuk proses

pembelajaran.

Pengembangan yang dapat dilakukan selanjutnya pada penelitian ini adalah

dengan mengembangkan mesin inferensi dalam mencari kesimpulan dan

memperbaiki program jika ditemukan bug.

6. Daftar Pustaka

[1] Latumakulita, Luther, 2011, Sistem Pakar Pendiagnosa Penyakit Ginjal,

Manado : Universitas Sam Ratulangi.

[2] Handayani, Lina, 2004, Sistem Pakar Berbasis Web dengan Shell E2gLite

untuk Diagnosis Penyakit Hati, Yogyakarta : Universitas Ahmad Dahlan

Kampus III.

[3] Nurhuda, Yeni A., 2011, Aplikasi Shell Sistem Pakar, Bandar Lampung :

Sekolah Tinggi Manajemen Informatika dan Komputer Teknorat Lampung.

[4] Hidayat Rahmat, 2010, Cara Praktis Membangun Website Gratis:

Memanfaatkan Layanan Domain Dan Hosting Gratis, Jakarta : Media

Komputindo.

[5] Hamalik, O., 1994, Media Pendidikan, Bandung : Citra Aditya Bhakti.

[6] Turban, E., 1995, Decision Support and Expert System, New York : Mc

Millan Publishing Company.

[7] Arhami, Muhammad., 2005, Konsep Dasar Sistem Pakar, Jakarta : Andi.

[8] MD Salim, Alvaro Villavicencio, 2003, A Method for Evaluating Expert

System Shells for Classroom Instruction, Timmerman, Volume 19, Journal

of Industrial Technology.

[9] Nii, H.P., 1993, Tools and Infrastructure for Knowledge-Based Systems,

WTEC Hyper Lybrarian, http://www.wtec.org/loyola/kb/c3_s1.htm,

Diakses tanggal 20 Maret 2014.

[10] Kusumadewi, S. 2003. Artificial Intelligence: Teknik dan Aplikasinya,

Yogyakarta : Graha Ilmu.

[11] Rumambi, Tavipia, 2005, Unified Model Language (UML).

[12] Munawar, 2005, Pemodelan Visual dengan UML, Yogyakarta : Graha

Ilmu.

[13] Hayani, Tuti, 2013, Aplikasi Media Pembelajaran huruf Iqro Berbasis

Multimedia, Bandung : Universitas Widyatama.