BAB 2 TINJAUAN PUSTAKA
2.1. Teori Umum 2.1.1. Kecerdasan Buatan 1. Pengertian Kecerdasan Buatan Kecerdasan buatan atau biasa di sebut Artificial Intelligence (AI) adalah salah satu bidang terbaru dalam dunia sains dan teknik. Menurut Russell & Norvig (2010:1), AI mulai dikerjakan sungguhsungguh setelah Perang Dunia II, dan nama AI sendiri tercipta pada tahun 1956. Berdasarkan Russell & Norvig (2010:2), definisi AI terbagi menjadi 4 kategori : 1.
Sistem yang menirukan tingkah manusia (Acting Humanly) “Ilmu tentang bagaimana membuat komputer melakukan hal sesuatu, dimana saat itu, orang lebih baik.” (Rich and Knight, 1991)
2.
Sistem yang berpikir layaknya manusia (Thinking Humanly) “Kegiatan yang berkaitan dengan pemikiran manusia, kegiatan yang membuat keputusan, menyelesaikan masalah, belajar.” (Bellman, 1978)
3.
Sistem yang bertingkah secara rasional (Acting Rationally) “Studi tentang kemampuan mental melalui penggunaan model komputasi.” (Charniak dan McDermott, 1985)
4.
Sistem yang berpikir secara rasional (Thinking Rationally) “AI berkaitan dengan perilaku cerdas dalam artefak.” (Nilsson, 1998) Berdasarkan Jurnal Introduction to Artificial Inteligence (Wolfgang Ertel, 2011). Artificial Intelligence adalah suatu aturan yang mengikuti contoh yang ada dan definisi yang telah ada untuk mebuat sebuah prediksi dan mengambil sebuah keputusan.
6
7
2. Sejarah Kecerdasan Buatan Berdasarkan Buku Artificial Intelligence : A Modern Approach Third Edition (2003). Sejarah AI diceritakan sebagai berikut :
a.
Masa Persiapan Kecerdasan Buatan (1943–1955) Warren McCulloch and Walter Pitts (1943) membuat karya pertama yang umumnya disebut AI. Mereka membuat sebuah jaringan neuron buatan berdasarkan tiga sumber, yaitu: pengetahuan tentang fisiologi dasar dan fungsi neuron di otak, sebuah analisis formal logika proporsional Russell dan Whitehead, dan teori Turing komputasi. Pada tahun 1949, Donald Hebb menunjukkan aturan sederhana baru untuk memodifikasi kekuatan hubungan antara neuron. Namun, Marvin Minsky dan Dean Edmonds, dua mahasiswa sarjana di Harvard yang membangun komputer jaringan saraf pertama pada tahun 1950.
b.
Kelahiran Kecerdesan Buatan (1956) John
McCarthy
merupakan
tokoh
lain
yang
berpengaruh dalam AI. Setelah menerima PhD pada tahun 1951 di Princenton dan bekerja selama dua tahun sebagai instruktur, McCarthypindah ke Stanford dan kemudian ke Perguruan Tinggi Dartmouth, untuk dijadikan sebagai tempat penelitian. McCarthy yakin Minsky, Claude Shannon, dan Nathaniel Rochester untuk membantunya bersama-sama peneliti AS yang tertarik pada teori automata, jaring saraf, dan studi kecerdasan. Pada musim panas 1956, McCarthy mengumumkan 10 studi tentang kecerdasan buatan di Dartmouth College di Hanover, New Hampshire. Penelitian ini untuk melanjutkan atas dasar dugaan bahwa setiap aspek pembelajaran atau fitur lain kecerdasan bisa pada prinsipnya begitu tepat menggambarkan bahwa mesin dapat dibuat untuk mensimulasikan itu Sebuah usaha
8
untuk menemukan bagaimana membuat mesin menggunakan bahasa, bentuk abstraksi dan konsep, memecahkan jenis masalah yang terjadi pada manusia, dan memperbaiki diri .
c.
Antusiasme Awal, Harapan Besar (1952-1969) Pada masa ini, AI sukses berkembang. GPS adalah program pertama untuk mewujudkan pendekatan “pemikiran manusiawi”. Keberhasilan GPS dan program selanjutnya sebagai model kognisi yang dipimpin Newell dan Simon (1976) merumuskan hipotesis sistem symbol fisika terkenal, yang menyatakan bahwa “sistem simbol fisika dibutuhkan dan sarana yang memadai untuk tindakan cerdas umum.” Di IBM, Nathaniel Rochester dan rekan-rekannya menghasilkan beberapa program AI pertama. pada tahun 1952, Arthur Samuel menulis serangkaian program untuk catur (draft) yang akhirnya belajar untuk bermain di level amatir yang kuat.
2.1.2. Multimedia a. Pengertian Multimedia Menurut Vaughan (2011:xiv), multimedia adalah kombinasi dari teks, seni grafis, suara, animasi, dan video yang memiliki suatu informasi tertentu dan disampaikan dengan komputer atau media elektronik lain yang dapat dimanipulasi secara digital.
b. Elemen Multimedia Menurut Vaughan (2011), multimedia terdiri dari 5 elemen, yaitu:
1.
Teks (Text) Membaca dan menulis merupakan keahlian yang dibutuhkan
oleh
khususnya
pada
kebudayaan
modern
(Vaughan, 2011:p18). Kegiatan membaca dan menulis itu sendiri membutuhkan teks. Dalam multimedia, teks biasa
9
digunakan untuk penulisan judul, menu, navigasi bantuan, dan narasi atau konten. Atribut teks yang digunakan dalam pembuatan aplikasi yaitu font yang berjenis Arial. Dengan desain Sans Serif, Arial memiliki karakteristik humanist dibandingkan pendahulunya dan lebih cocok dengan mood di abad ke dua puluh.
2.
Gambar (Image) Menurut Vaughan (2011:71), gambar merupakan unsur terpenting dalam setiap proyek multimedia. Gambar di dalam komputer terdiri dari bitmap dan vector graphic. Bitmap adalah titik kecil atau dot yang membentuk suatu gambar yang ditampilkan pada layar komputer ataupun pada media cetak. Sedangkan vektor adalah susunan titik atau garis yang saling terhubung sehingga membentuk suatu objek gambar.
3.
Suara (Sound) Menurut Vaughan (2011:104), suara dapat membedakan antara presentasi multimedia yang biasa dengan yang professional. Sedikit kesalahan dalam suara dapat mengurangi kualitas proyek yang dibuat. Contoh suara yang digunakan pada multimedia adalah digital audio. Digital audio terbuat ketika pengguna merepresentasikan sebuah gelombang suara menggunakan
angka-angka
dan
diproses
ke
tahap
digitizing.Adapun audio digital yang digunakan adalah yang menggunakan format MP3 (MPEG-1 atau MPEG-2 Audio Layer 3) dan WAV (Waveform Audio File Format).
4.
Animasi Menurut Vaughan (2011:140) animasi adalah objek yang bergerak melintas atau masuk atau keluar dari layar. Dalam
penggunaan teknik suatu software, anda
bisa
menganimasikan gambar dalam beberapa cara. Yang paling
10
sederhana secara 2 dimensi (2D), yang lebih rumit seperti 2,5 dimensi (2,5 D), dan yang lebih realistis pada 3 dimensi (3D).
5.
Video Menurut Vaughan (2011:164) dengan adanya unsur video dalam proyek multimedia, anda dapat menyampaikan pesan kepada viewers dengan lebih efektif dan lebih mudah untuk dipahami.
2.1.3. Sistem Basis Data Menurut Connoly and Begg (2009) database language terdiri dari 2 bagian yaitu DDL (Data Defintion Language) dan DML (Data Manipulation
Language).
DDL
adalah
bahasa
yang
dapat
mendeskripsikan dan menamai entities, attribute dan relationship antar table, sedangkan DML adalah bahasa yang berisi set-set operasi untuk manipulasi data di database. Menurut jurnal basis data, ICT Research Center UNAS, basis data adalah data-data dengan elemen penghubung yang dapat diakses dengan banyak cara. Basis data dinyatakan dengan manajemen data. Dari 2 definisi tentang sistem basis data diatas disimpulkan bahwa sistem basis data adalah kumpulan dari data yang saling behubungan, yang dapat dimanipulasi, didefinisikan dan mempunyai fungsi untuk meningkatkan kerja di perusahaan.
2.1.4. Interaksi Manusia Komputer (IMK) a. Pengertian IMK Menurut Schneiderman dan Plaisant (2010:32) interaksi manusia dan komputer merupakan suatu ilmu yang mempelajari desain interaktif antara manusia dengan komputer. Seiring dengan waktu, komputer semakin signifikan penggunaannya sehingga diperlukan
ilmu
yang
mempelajari
perbedaan antara manusia dan komputer.
sekaligus
menjembatani
11
b. Faktor Manusia Terukur Adapun lima faktor manusia terukur yang menjadi pusat pengevaluasian pada interaksi manusia dan komputer, antara lain: 1. Waktu untuk belajar Berapa
lama
waktu
yang dibutuhkan
untuk
mempelajari bagaimana menggunakan perintah yang relevan terhadap suatu set tugas? 2. Kecepatan kinerja Berapa lama waktu yang diperlukan untuk melakukan suatu tugas? 3. Tingkat kesalahan oleh pengguna Berapa banyak kesalahan yang dibuat dalam suatu tugas? 4. Daya ingat dari waktu ke waktu Seberapa baik pengguna mempertahankan pengetahuannya setelah jangka waktu tertentu? Daya ingat bisa dikaitkan dengan waktu pembelajaran, dan frekuensi pemakaian memegang peranan penting. 5. Kepuasan subjektif Bagaimana kepuasan pemakai terhadap berbagai aspek sistem? Jawaban bisa didapatkan dengan melakukan interview atau dengan melakukan survey tertulis yang mengandung skala kepuasan dan tempat kosonguntuk komentar.
c. Golden Rules Pendapat dari Shneiderman dan Plaisant (2010:88-89) ada delapan prinsip yang disebut “golden rules” yang dapat diaplikasikan di kebanyakan sistem interaktif. Prinsip ini bisa dikatakan perlu untuk diterapkan setiap membuat suatu aplikasi. Adapun isi dari golden rules yaitu: • Konsisten (Strive for consistency) Umumnya peraturan ini seringkali dilanggar, namun mengikutinya pun cukup rumit karena ada banyak jenis konsistensi. Contoh dari konsistensi pada pembuatan aplikasi
12
antara lain pada pembuatan menu, capitalization dalam penulisan, font, layout, juga komposisi warna yang ditampilkan. • Penggunaan universal (Cater to universal usability) Menyadari kebutuhan
pengguna yang beragam dan
desain untuk plastisitas, memfasilitasi transformasi, dan konten. Untuk itu maka aplikasi yang dibuat seharusnya dapat digunakan oleh segala jenis pengguna. Entah itu pengguna yang expert maupun yang novice sekalipun. • Memberi
umpan
balik
informatif
(Offer
informative
feedback) Untuk setiap aksi pengguna, semestinya terdapat sebuat umpan balik. Tujuannya untuk menciptakan suatu interaksi antara pengguna dengan komputer. Semakin besar aksi dari pengguna maka semakin besar pula respon yang diberikan. • Merancang dialog yang memberikan penutupan (Design dialogs to yield closure) Urutan aksi seharusnya terorganisir pada beberapa kelompok seperti awal, pertengahan, dan akhir. Dengan adanya umpan balik yang informatif pada setiap kelompok aksi akan membuat pengguna merasa nyaman dalam penggunaan aplikasi. • Mencegah error (Prevent errors) Sebisa mungkin merancang sistem yang membuat pengguna tidak dapat membuat sebuah error yang fatal. Setidaknya berikan sebuah instruksi penanganan suatu masalah yang bisa saja terjadi pada aplikasi yang dijalankan. • Adanya pembalik aksi yang mudah (Permit easy reversal of actions) Suatu aksi sebisa mungkin dapat dibalikkan. Dengan adanya pembalikan maka kegelisahan setelah melakukan suatu aksi yang salah dapat diringankan. Dengan demikian pengguna juga tidak perlu mengulang suatu aksi dari awal.
13
• Mendukung tempat kendali utama (Support internal locus of control) Setiap operator yang berpengalaman memiliki perasaan mengendalikan sistem yang kuat dan dapat menerima segala respon. Dengan kondisi seperti itu biasanya dapat membuat seorang pengguna merasa bosan dengan apa yang ada di suatu aplikasi. • Mengurangi beban ingatan jangka pendek (Reduce shortterm memory load) Keterbatasan kemampuan seseorang dalam memproses ingatan jangka pendek, tampilan beberapa halaman dapat digabung, frekuensi gerakan window dikurangi, dan waktu latihan yang cukup dialokasikan untuk kode, mnemonic dan urutan aksi. Karena tidak semua aplikasi hanya digunakan sekali.
2.1.5. Rekayasa Piranti Lunak Menurut Pressman (2010:1) piranti lunak adalah sekumpulan instruksi yang ketika dieksekusi berisi fitur, fungsi dan hasil yang diinginkan oleh pengguna. Rekayasa Piranti Lunak merupakan sebuah teknologi yang dibentangkan (Pressman, 2010:20).
2.1.6. Flowchart Diagram Menurut James A. Hall (2007) bagan alir dokumen (flowchart) adalah representasi grafikal dari sebuah sistem yang menjelaskan relasi fisik diantara entitas-entitas kuncinya. Flowchart dapat digunakan untuk menyajikan kegiatan manual, kegiatan pemrosesan komputer atau keduanya. Flowchart menjelaskan alur suatu algoritma dengan gambaran logis berupa simbol-simbol. Simbol-simbol tersebut dihubungkan dengan garis-garis dan biasanya flowchart dimulai dengan simbol start dan diakhiri dengan simbol finish.
14
Tabel 2.1 Simbol dan Fungsi Flowchart
2.1.7. Unified Modelling Language (UML) a. Pengertian UML Menurut Whitten (2007:371), UML (Unified Modeling Language) adalah sebuah ketentuan pemodelan yang digunakan untuk menspesifikasikan atau menjelaskan tentang sebuah software system dalam suatu object. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML, dapat dibuat model untuk berbagai jenis aplikasi piranti lunak, dimana piranti lunak tersebut dapat dijalankan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa
15
berorientasi objek karena UML juga menggunakan class dan operation dalam konsep dasarnya. b. Jenis-jenis Diagram Ada beberapa jenis diagram UML yang dapat digunakan, antara lain: a.
Use case Diagram Use case diagram menggambarkan interaksi antara sistem, eksternal sistem, dan pengguna. Dengan kata lain, secara grafika mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara seperti apa pengguna berinteraksi dengan sistem. (Whitten dan Bentley, 2007) Use case dijelaskan di dalam use case narrative. Use case narrative adalah deskripsi dengan bentuk text untuk menjelaskan interaksi antara pengguna dan sistem. a.
Use Case Use case merupakan fungsi atau aksi yang disiapkan untuk sistem. Use case adalah tahap awal dari pembangungan sebuah use case diagram yang nantinya akan dikembangkan. Pada gambar 2.1 adalah model use-case yang berbentuk oval dan berisi nama fungsi yang ditulis di tengah. Tempat member baru Gambar 2.1 Use Case Sumber : Whitten dan Bentley (2007)
b.
Aktor Use case terjadi karena ada penggerak yang disebut aktor. Aktor adalah segala sesuatu yang berinteraksi dengan sistem untuk tujuan tertentu. Aktor dapat berupa manusia, organisasi, sistem lain, benda maupun waktu. Pada gambar 2.2 adalah aktor yang berbentuk orang.
16
Gambar 2.2 Aktor Sumber : Whitten dan Bentley (2007)
c.
Relationship Relationship adalah hubungan atau penggerak antara aktor dan use case. Relationship punya banyak macam yaitu : 1. Association Association adalah tipe relationship dimana interaksi terjadi antara aktor dan Use case. Pada gambar 2.3 menunjukkan relationship aktor dan use-case.
Gambar 2.3 Association Sumber : Whitten dan Bentley (2007)
2. Extends Extends adalah tipe relationship antara use case dengan extension. Use case extension adalah use case dengan langkah-langkah rinci yang diringkas dari use case yang sebenarnya. Pada gambar
2.4
menjelaskan
tentang
extend
relationship dimana membagi isi anggota dan menghitung jumlah biaya anggota merupakan extend dari tempat anggota baru.
17
Menghitung jumlah biaya anggota
Membagi isi anggota <<extends> >
<<extends>>
Tempat anggota baru
Gambar 2.4 Extend relationship Sumber : Whitten dan Bentley (2007)
3. Include Include adalah tipe relationship yang melibatkan abstrak use case dan use case lainnya yang membutuhkan fungsi abstrak use case. Abstrak use case adalah bagian terpisah dari use case yang berisi aspek umum dari use case yang spesifik. Pada gambar 2.5 menjelaskan tentang extend relationship dimana menerima alamat anggota baru merupakan include dari 2 use case lainnya.
Tempat anggota baru
<
>
<>
Menerima alamat anggota baru
Menyetujui perubahan alamat anggota baru
Gambar 2.5 Include relationship Sumber : Whitten dan Bentley (2007)
18
b.
Activity Diagram Activity
diagram
adalah
diagram
yang
menggambarkan alur yang berurutan dari aktivitas use case atau proses bisnis. Diagram ini sangat berguna untuk menjelaskan aksi yang akan terjadi ketika suatu proses operasi dieksekusi serta menunjukkan hasilnya karena urutan proses ditunjukkan lengkap dengan mekanismenya. (Whitten dan Bentley, 2007)
Tabel 2.2 Elemen dari Activity Diagram No
Nama
Simbol
1
Initial Node
2
Actions
Deskripsi Simbol awal proses Simbol aktivitas yang terjadi di
Action
sistem
3
Flow
Simbol aksi atau proses selanjutnya
4
Decision
Simbol satu flow datang dan 2 flow keluar dimana ada pilihan activity
5
Merge
Pertemuan arah yang dimulai dari decision
6
Fork
Simbol awal action atau proses paralel yang terjadi di urutan atau waktu yang sama
7
Join
Simbol akhir dari fork
8
Activity Final
Simbol proses akhir
c.
Class Diagram Class diagram merupakan gambaran grafis dari sebuah struktur system’s static object, menunjukkan object classes yang menyusun system tersebut dan juga hubungan antar
19
object classes. Diagram ini digunakan untuk menggambarkan struktur objek-objek yang membentuk suatu sistem dan hubungan antar objek-objek tersebut. Primary key dan foreignkey tidak harus disebutkan dalam class diagram. (Whitten dan Bentley, 2007) Class diagram dibentuk dari persegi panjang yang dibagi menjadi 3 bagian : 1. Nama class 2. Atribut class 3. Operasi class
Nama class - atribut
+ operasi
Gambar 2.10 Struktur Class Diagram Sumber : Whitten dan Bentley (2007)
Visibility Class Diagram dikenal dari visibility-nya, yang digunakan untuk mendeterminasi atribut dari class manakah yang dapat digunakan di class lainnya maupun tidak dapat.
Tabel 2.3 Visibility No Simbol 1
-
Deskripsi Private Atribut hanya bisa digunakan oleh class yang mendefinisinya.
2
#
Protected Atribut hanya bisa digunakan oleh class
20
yang mendefinisinya sama seperti di class turunan. 3
+
Public Atribut dapat digunakan di semua class yang punya relationship dengan class yang mendefinisinya.
Multiplicity Multiplicity digunakan untuk mendeterminasi jumlah class yang punya relationship dengan class tertentu.
Tabel 2.4 Multiplicity No
Simbol
Deskripsi
1
1
1
2
0..1
0 atau 1
3
0..*
0 atau lebih
4
1..*
1 atau lebih
5
?..?
Jarak tertentu
Relationship Relationship antara objek berisi : 1.
Aggregation Aggregation digunakan untuk menggambarkan tipe relationship dimana satu class adalah bagian dari class lainnya tapi tidak sebaliknya. Contoh : Setir adalah bagian dari mobil tetapi mobil bukan bagian dari setir.
2.
Composition Tipe dari aggregation lainnya adalah composition dimana
relationship
sangat
besar
dan
saling
berhubungan. Contoh : Pengemudi merupakan bagian dari mobil tapi tanpa pengemudi juga dapat dikatakan itu sebuah mobil.
21
d.
Sequence Diagram Sequence diagram adalah diagram yang digunakan untuk menggambarkan interaksi antara aktor dan sistem yang terjadi dalam satu use case (Whitten dan Bentley, 2007).
Tabel 2.5 Sequence Diagram No 1
Nama
Simbol
Actor
Deskripsi Segala
sesuatu
yang
berinteraksi dengan sistem untuk beberapa tujuan. 2
Object
Merupakan Object
3
Lifelines
class
yang
digunakan di class diagram. Mengidentifikasikan sequence yang aktif.
4
Activation
Mengidentifikasikan ketika
Bars
ada
yang
dalam
berpartisipasi
simbol
interaksi.
Simbol ini diletakkan di lifelines. 5
Call
Metode penyampaian dari setiap objek.
6
Self-call
Mengirim pesan sendiri.
7
Return
Jawaban dari pesan yang dikirim oleh objek.
8
Frame
loop
Menandai
area
khusus
dimana perulangan, aktivasi, dll terjadi.
22
2.2. Teori Khusus 2.2.1. Android a. Definisi Android Menurut DiMarzio (2008:6), Android adalah sistem operasi untuk telepon seluler berbasis java yang dijalankan pada kernel linux 2.6. Aplikasi Android dikembangkan di Java dan dapat dengan mudah dihubungkan dengan platform baru. Android sendiri
bukan
menjalankan
sebuah
aplikasi.
bahasa, Android
melainkan
tempat
untuk
berkembang
pesat,
karena
menyediakan platform terbuka (open source) sehingga siapapun dapat membuat aplikasi mereka sendiri. b. Sejarah Android Pada tahun 2003, Andy Rubin, Rich Milner, Nick Sears dan Chris White mendirikan Android, Inc. Pada tahun 2005, Google membeli Android, Inc. kemudian untuk mengembangkan Android dibentuklah Open Handset Alliance konsorsium dari 34 perusahaan hardware, software dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan Nividia. Android dirilis pada 5 November 2007, bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Android bersifat open source sehingga banyak sekali bermunculan vendor-vendor untuk smartphone, yaitu diantaranya : HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan lainnya vendor yang memproduksi smartphone Android. Android berkembang pesat karena Android merupakan platform yang sangat lengkap baik dari segi sistem operasinya, aplikasi dan tools pengembangannya. Market yang menyimpan berbagai aplikasi dan dukungan dari komunitas open source di dunia juga merupakan alasan android berkembang sampai saat ini.
23
c. Fitur Android Digunakan oleh pengembang perangkat lunak untuk menulis struktur standar sebuah aplikasi di Android. Kerangka aplikasi android didukung oleh banyak perpustakaan open source seperti openssl, sqlite dan libc. Dari sudut keamanan, kerangka aplikasi didasarkan pada sistem file UNIX yang menjamin aplikasi hanya memiliki kemampuan yang diberikan pemilik ponsel pada waktu menginstal.
2.2.2. Sistem Pakar Menurut Dennis (2011), sistem pakar adalah aplikasi komputer yang mewujudkan beberapa keahlian (pakar) nonalgoritmik untuk memecahkan beberapa jenis masalah. Pakar adalah orang yang memiliki keahlian khusus yang dapat menyelesaikan masalah yang tdak dapat diselesaikan oleh orang awam. Tujuan utama sistem pakar bukan untuk menggantikan kedudukan seorang ahli maupun pakar, tetapi untuk memasyarakatkan pengetahuan dan pengalaman pakar-pakar dibidangnya. Sebagai contoh, sistem pakar digunakan dalam aplikasi diagnostik melayani manusia dan mesin. Sistem pakar juga digunakan dalam permainan catur, membuat keputusan
perencanaan
keuangan,
mengkonfigurasi
komputer,
memonitor sistem real time, menanggung polis asuransi, dan melakukan banyak layanan lain yang sebelumnya diperlukan keahlian manusia.
2.2.3. Probabilitas Probabilitas menurut D. Pinheiro (2012) adalah nilai kemungkinan untuk suatu peristiwa terjadi. Probabilitas dinyatakan dalam nilai 0 sampai 1. Nol berarti tidak mungkin terjadi dan 1 artinya bahwa kejadian akan terjadi sebesar 100%. Nilai probabilitas suatu kejadian A dituliskan dalam P(A). Untuk menghitung probabilitas
24
suatu kejadian adalah dengan cara mencari banyaknya anggota kejadian (x), dibandingkan dengan banyaknya anggota ruang sampelnya (n). Beberapa kombinasi dari kejadian dalam sebuah eksperimen dapat dihitung probabilitasnya berdasarkan dua aturan, yaitu : •
Aturan Penjumlahan 1. Kejadian Saling Meniadakan (Saling Lepas) Peristiwa ketika 2 atau lebih peristiwa tidak terjadi saat yang bersamaan. Probabilitas terjadi 2 peristiwa tersebut ditulis sebagai berikut:
P( A atau B ) = P( A ∪ B ) = P( A) + P(B ) 2. Kejadian Tidak Saling Meniadakan Peristiwa ketika 2 atau lebih peristiwa terjadi saat bersamaan. Probabilitas terjadi 2 peristiwa tersebut adalah sebagai berikut: P(A ∪ B) = P(A) + P(B) – P(A ∩ B) •
Aturan Perkalian 1. Kejadian Bebas Kejadian dimana terjadinya suatu peristiwa tidak mempengaruhi peristiwa lainnya. Probabilitas terjadinya 2 peristiwa tersebut adalah sebagai berikut: P(A dan B) = P(A) × P(B) 2. Kejadian Tak Bebas (Bersyarat) Kejadian dimana terjadinya suatu peristiwa bergantung dengan peristiwa lainnya. Probabilitas terjadinya 2 peristiwa tersebut adalah sebagai berikut: P( A ∩ B ) P (B ) P( A ∩ B ) P (B / A ) = P ( A) P( A / B ) =
25
2.2.4. Backward Chaining Backward Chaining menurut Sri Kusumadewi (2003) adalah pencocokkan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut dicari fakta-fakta yang ada dalam basis pengetahuan. Backward
Chaining
(Pelacakan
kebelakang) melalui
penalaranya dari sekumpulan hipotesis menuju fakta-fakta yang mendukung tersebut, jadi proses pelacakan berjalan mundur dimulai dengan menentukan kesimpulan yang akan dicari baru. Selanjutnya proses pelacakan menggunakan premis untuk aturan tersebut sebagai tujuan baru dan mencari aturan lain dengan tujuan baru sebagai kesimpulan. Proses berlanjut sampai semua kemungkinan ditemukan.
Gambar 2.7 Proses Backward Chaining 2.2.5. Kanker Kulit a. Pengertian Kanker Kulit Menurut Jacobs & Segal (2005), kanker kulit adalah penyakit
dimana
kulit
kehilangan
kemampuannya
untuk
regenerasi dan tumbuh secara normal. Sel-sel kulit yang sehat secara normal dapat membelah diri secara teratur untuk menggantikan sel-sel kulit mati dan menumbuhkan kulit baru. Selsel yang abnormal dapat tumbuh diluar kontrol dan membentuk kanker. Kulit pada dasarnya memiliki tiga lapisan, yaitu epidermis, dermis dan suklutis. Setiap lapisan disusun oleh sel-sel.
26
b. Jenis Kanker Kulit Kanker kulit yang paling umum ditemukan terdiri atas tiga jenis yaitu : 1. Karsinoma Sel Basal (KSB) Kanker ini berasal dari sel epidermal pluripotensial, atau dari epidermis / ada neksanya. Kanker ini umumnya ditemukan di daerah berambut, bersifat invasif, jarang mempunyai anak sebar (metastasis). Dapat merusak jaringan di sekitarnya, malah dapat sampai ke tulang, serta cenderung untuk residif lebihlebih bila pengobatannya tidak kuat. Karsinoma sel basal umunya tumbuh lambat, kadang-kadang dapat berkembang cepat. Jaringan yang paling banyak rusak ialah pada bagian permukaan. Ulserasi dapat terjadi yang menjalar ke arah samping maupun kearah dasar meliputi otot, tulang maupun jaringan lainnya. Ulserasi pada daerah mata dapat merusak bola mata sampai orbita. Pada masa terakhir ini bentuk ulkus rodens yang luas sudah agak jarang ditemukan. Bentuk dini lebih banyak ditemukan, mungkin karena perngaruh penerangan melalui media massa.
2. Karsinoma Sel Skuamosa Karsinoma sel skuamosa berasal dari sel epidermis yang mempunyai
beberapa
tingkat
kematangan,
dapat
intraepidermal, dapat pula bersifat invasif dan bermetastasis jauh. Gejala klinisnya adalah umur yang paling sering ialah 40-50 tahun (dekade V-VI) dengan lokalisasi yang tersering di tungkai bawah dan secara umum ditemukan lebih banyak pada laki-laki daripada wanita. Kanker ini dapat tumbuh lambat, merusak jaringan setempat dengan kecil kemungkinan bermentastasis. Sebaliknya kanker ini dapat pula tumbuh
27
cepat, merusak jaringan disekitarnya dan bermetastasis jauh, umumnya melalui saluran getah bening. Mula-mula kanker ini berupa nodus yang keras dengan batas-batas yang tidak tegas, permukaannya mula-mula licin seperti kulit normal yang akhirnya berkembang menjadi keras, bertambah besar ke samping maupun kearah jaringan yang lebih dalam.
3. Melanoma Maligna (MM) Melagnoma maligna jarang ditemukan, merupakan 1-3% seluruh keganasan. Insiden pada wanita hampir sama dengan laki-laki dengan frekuensi tertinggi ditemukan pada umur (3060) tahun, jarang pada anak. Bentuk dini sangat sulit dibedakan dengan kanker lainnya, karena melanoma maligna merupakan penyakit yang fatal bila telah metastasis jauh, maka kemampuan untuk mengenali keganasan dini perlu diperdalam. Lokalisasi
dilaporkan
terbanyak
diekstremitas
bawah,
kemudian di daerah badan, kepala/leher, ekstremitas atas, kuku. CLARK dan MIHM
membedakan melanoma maligna atas
dasar perjalanan penyakit, gambaran klinis dan histogenesis sebagai berikut: 1) Bentuk superfisial Bentuk yang paling sering ditemukan (54% seluruk kasus). Umumnya kelainan berupa: bercak dengan ukuran beberapa mm sampai beberapa cm dengan warna bervariasi (waxy, kehitaman, kecoklatan, putih, biru), tidak teratur, berbatas tegas dengan sedikit penonjolan dipermukaan kulit. Bentuk dini dapat berubah dalam hal: a.
Ukuran : umunya membesar
b.
Warna : lebih gelap/pucat
c.
Gatal, iritasi atau nyeri
d.
Infeksi dengan cairan sero-purulen
e.
Perdarahan, ulserasi atau krusta
28
Umunya
pada
wanita
ditemukan
lebih
banyak
di
ekstremitas bawah. 2) Bentuk nodular Bentuk ini ditemukan 32% dari seluruh kasus. Nodus yang ditemukan biasanya berwarna biru kehitaman dengan batas tegas serta mempunyai variasi bentuk: a. Bentuk yang terbatas di epidermal dengan permukaan licin b. Nodus yang menonjol di permukaan kulit dengan bentuk yang tidak teratur. c. Bentuk eksofitik disertai ulserasi. Umumnya ditemukan di daerah telapak kaki. 3) Lentigo maligna melanoma Lentigo
maligna
melanoma
disebut
juga
Hutchinson’s melanotic freckle merupakan 14% seluruh kasus dijumpai terutama pada orang tua. Kanker ini kadang-kadang meliputi bagian yang agak luas di muka. Bentuk plakat ini umumnya berbatas tegas, warnanya coklat kehitaman serta tidak homogen, bentuk tak teratur, pada bagian tertentu dapat tumbuh nodus yang berbatas tegas setelah bertahun-tahun.
Jenis kanker kulit yang ditinjau yaitu KSB, KSS dan MM. Di antara ketiga kanker ini, MM adalah yang paing berbahaya.KSB sejauh ini adalah yang paling umum dan merupakan 90% dari semua jenis sel kanker kulit tersebut.
2.2.6. Eclipse a. Pengertian Eclipse Menurut Andi (2013), Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent).
29
b. Sejarah Eclipse Dilihat dari sejarahya, awalnya Eclipse dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini pertama kali dirilis oleh IBM pada tanggal 5 November 2001. Saat itu, IBM menginvestasikan banyak dana, bahkan hingga mencapai 40 juta US dolar mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. Sejak versi 3.0, pada dasarnya Eclipse merupakan sebuah kernel yang sangat bergantung kepada plug in untuk melakukan aksinya. Fitur-fitur dalam Eclipse sebenarnya adalah fungsi dari plugin yang telah diinstal. Berikut adalah versi rilis dari Eclipse yang sudah ada :
Tabel 2.6 Versi Eclipse yang telah release Nama
Tanggal
Versi Platform
N/A
21 Juni 2004
3.0
N/A
28 Juni 2005
3.1
Callisto
30 Juni 2006
3.2
Europa
29 Juni 2007
3.3
Ganymade
25 Juni 2008
3.4
Galileo
24 Juni 2009
3.5
Helios
23 Juni 2010
3.6
Indigo
22 Juni 2011
3.7
Juno
27 Juni 2012
4.2
Kepler
26 Juni 2013
4.3
2.2.7. SQLite a.
Pengertian SQLite Menurut Kreibich (2010), SQLite adalah perpustakaan yang dapat mengimplementasikan transaksi-transaksi yang ada di mesin sistem basis data SQL. SQLite biasa digunakan di program-program yang lebih canggih.
30
Tidak seperti sistem basis data SQL lainnya, SQLite tidak mempunyai proses server. SQLite membaca dan menulis secara langsung ke file data. Format file dapat mengcopy sistem database ukuran 32 bit dan 64 bit. Fitur ini yang membuat SQLite populer dalam aplikasi format file. Ukuran
perpustakaan
SQLite
biasanya
dibawah
500KiB, bergantung pada jenis mesin yang digunakan. Jika fitur yang digunakan optimal, ukurannya bisa dibawah 300KiB. SQLite juga dapat dijalankan dengan ukuran perputakaan dibawah 100KiB, yang membuat dapat digunakan di cellphone, PDA maupun MP3 players. Kebanyakan sumber kode SQLite diperoleh dari testing dan verification. SQLite merespon secara cepat terhadap kegagalan alokasi memori dan error I/O. Meskipun sudah di testing tetap saja ada terdapat sedikit bug. SQLite secara langsung memberikan jalan keluar untuk mengatasi bug tersebut. Basis kode SQLite didukung oleh tim pengembang internasional yang bekerja di perusahaan SQLite. Sumber kode SQLite gratis dan bisa digunakan semua orang tapi juga selalu di support secara profesional.
b.
Fitur-Fitur SQLite 1. Database yang komplit disimpan di single cross-platform disk file. 2. Tidak ada pengaturan dan administrasi yang diperlukan. 3. Small code footprint : dibawah 500KiB konfigurasi penuh atau bisa mencapai dibawah 300KiB jika digunakan secara optimal. 4. Operasi lebih cepat dari mesin client/server database kebanyakan. 5. Ditulis dalam bahasa ANSI-C.
31
6. Dilengkapi dengan client command-line interface (CLI) yang digunakan untuk mengadministrasi sistem basis data SQLite.
c.
Penggunaan SQLite Tujuan utama dari SQLite adalah : 1. Mudah untuk mengelola. 2. Mudah dioperasikan. 3. Mudah untuk menjalankan program yang besar. 4. Mudah dijaga dan disesuaikan. SQLite merupakan produk yang banyak disukai orangorang karena handal dan sederhana. Dengan kesederhanaanya itu, tidak ada fitur high concurrency, stored procedures, ekstensi XML dan JAVA, dan lain-lain. SQLite tidak dimaksudkan untuk menjadi mesin database suatu perusahaan.
d.
Hak Cipta SQLite Semua kode dan dokumentasi di SQLite didedikasikan untuk domain publik oleh penulis. Setiap orang bebas untuk menggunakan, menyalin dan mendistribusikan kode SQL asli untuk tujuan apapun dan cara apapun. Semua kode di SQLite merupakan buatan sendiri, tidak ada campur tangan dari projek lain dan dari internet. Basis kode SQLite tidak terkontaminasi dengan kode lisensi proyek lain.
2.2.8. Waterfall Model a. Pengertian Waterfall Model Menurut Pressman (2010), model waterfall adalah model klasik yang bersifat sistematis, berurusan dalam membangun software. Proses pada waterfall model adalah tahap demi tahap yang harus menunggu selesainya tahapan sebelumnya dan berjalan berurutan.
32
Kelebihan metode waterfall adalah pengaplikasian yang mudah, kebutuhan sistem yang paling ekonomis, usaha dan waktu yang paling minim dibandingkan masalahnya. Sedangkan kekurangannya adalah sulit dalam menangani perubahan setelah proses dijalani.
b.
Diagram Waterfall Model
Gambar 2.8 Waterfall Model Penjelasan mengenai waterfall model tersebut adalah : 1.
Requirements definition : Mengumpulkan kebutuhan kemudian didefinisikan kebutuhan yang harus dipenuhi oleh program yang dibangun.
2.
System and software design : Desain sistem dan perankat lunak setelah kebutuhan sudah lengkap.
3.
Implementation and unit testing : Pengujian dalam bentuk kode-kode dengan menggunakan bahasa pemrograman.
4.
Integration and system testing : Penyatuan unit-unit program dan pengujian keseluruhan.
33
5.
Operation and maintenance : Mengoperasikan program dan
pemeliharaan
seperti
adaptasi
dengan
situasi
sebenarnya.
2.2.9. Java Programming Language Menurut Wu (2010), Java adalah sebuah bahasa berbasis objek yang baru dan mendapatkan perhatian dari industri dan akademi. Java sering dideskripsikan sebagai sebuah bahasa pemrograman web, karena kegunaanya dalam menulis program yang disebut applets yang berjalan di dalam sebuah web browser. Applets mengijinkan diseminasi dari informasi menjadi lebih fleksibel dan dinamis di internet. Fitur Applets membuat Java sebagai sebuah bahasa yang menarik untuk dibaca dan dipelajari. Java merupakan bahasa yang didesain dengan sederhana dengan mengambil pendekatan secara minimalis. Hanya fitur yang tidak eksesif dan redundan yang dipakai. Pendekatan minimalis membuat Java menjadi sebuah bahasa yang lebih mudah dipelajari daripada bahasa pemrograman berbasis objek yang lain. Java merupakan
bahasa
perangkat
ajar
yang
ideal
untuk
dasar
pemrograman berbasis objek.
2.3. Analisis Aplikasi Sejenis 1. E-journal yang dibuat oleh P.Santosh Kumar Patra, Dipti Prava Sahu, Indrajit Mandal dengan judul "An Expert System for Diagnosis of Human Diseases (2010)" E-journal ini berisi tentang merancang sebuah sistem pakar untuk mendiagnosis penyakit manusia. pada jurnal ini, pengambilan keputusan menggunakan decision table. Data dalam decision table adalah yang berhubungan dengan tanda, dan gejala yang berhubungan dengan pasien. Tanda dan gejala ini diatur dalam kelompok-kelompok, yang membantu dalam diagnosis.
2. E-Article ini dibuat oleh Susant pada tanggal 13 Maret 2011 dengan judul “Aplikasi Handphone untuk Deteksi Kanker pada Seseorang”
34
Kecanggihan ponsel/HP muncul di bidang kedokteran dalam rupa alat pendeteksi kanker. Aplikasi ini menurut peneliti di Amerika Serikat dapat mendeteksi jenis kanker dan memberika saran jenis obat untuk mencegah dan mengatasi kanker. Cara kerja gadget ini adalah menghubungkan aplikasi ke smartphone menggunakan mesin miniatur MRI (Magnetic Resonance Imaging). Saat tes, pasien yang diduga menderita kanker perut diambil sampel rambutnya menggunakan jarum kecil. Para peneliti kemudian menambahkan contoh antibodi untuk mengikat protein yang ditemukan dalam sel tumor perut. Partikel kecil magnet kemudian dipasang ke antibodi. Magnet tersebut lalu dimasukkan dalam mesin MRI untuk menstimulasi molekul dalam sample tersebut, lalu membuatnya bergetar. Semakin kencang molekul bergetar, maka semakin besar kemungkinan pasien tersebut mengidap kanker. Dari artikel di atas, kami membuat aplikasi sejenis yaitu aplikasi untuk mendeteksi kanker kulit berbasis android. Perangkat yang digunakan sama yaitu hp tetapi pada artikel di atas aplikasi dapat mendeteksi segala jenis kanker tapi aplikasi yang kami rancang hanya bisa mendeteksi kanker kulit.
Gambar 2.9 Aplikasi Handphone untuk Deteksi Kanker pada Seseorang
3. Aplikasi e-book untuk mendeteksi penyakit merupakan e-book yang mudah digunakan kapan dan dimana saja, yang dimana berisi tentang gejala penyakit, penyebab penyakit beserta pedoman pengobatan dasar.
35
Dari ide aplikasi ini kami ingin menggabungkan dengan penelitian yang sedang kami lakukan, yaitu memberikan pengetahuan kepada pengguna aplikasi dan juga dapat membuat diagnosis sebagai sarana pengetahuan juga, karena dari pertanyaan-pertanyaan yang ada dapat di ubah menjadi seberapa besar persentase seseorang terkena kanker kulit.
Gambar 2.10 Aplikasi e-book untuk mendeteksi penyakit