6
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 sungguh-
sungguh 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.
  
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 sekaligus menjembatani
perbedaan antara manusia dan komputer.
  
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 short-
term 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.
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.
Tempat member
baru
  
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.
  
> baru
17
         
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.
Gambar 2.5 Include relationship
Sumber : Whitten dan Bentley (2007)
<<extends>
<<extends>>
Membagi isi
anggota
Tempat anggota
baru
Menghitung jumlah
biaya anggota
<<includes>>
<<includes>>
Tempat
anggota baru
Menyetujui
perubahan
alamat anggota
Menerima
alamat anggota
baru
  
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
Deskripsi
1
Initial Node
Simbol awal proses 
2
Actions
Simbol aktivitas yang terjadi di
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
Action
  
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
 
 
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
Deskripsi
1
-
Private
Atribut hanya bisa digunakan oleh class
yang mendefinisinya.
2
#
Protected
Atribut hanya bisa digunakan oleh class
-
atribut
Nama class
+ operasi
  
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
Nama
Simbol
Deskripsi
1
Actor
Segala sesuatu yang
berinteraksi dengan sistem
untuk beberapa tujuan.
2
Object
Merupakan class
yang
digunakan di class diagram.
3
Lifelines
Mengidentifikasikan
sequence yang aktif.
4
Activation
Bars
Mengidentifikasikan ketika
ada yang berpartisipasi
dalam 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
Menandai area khusus
dimana perulangan, aktivasi,
dll terjadi.
Object
loop
  
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 sebuah bahasa, melainkan tempat untuk
menjalankan aplikasi. Android 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) non-
algoritmik 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:
B
P
A
P
B
A
P
B
atau
A
P
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 n 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:
A
P
B
A
P
A
B
P
B
P
B
A
P
B
A
P
/
/
  
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. Sel-
sel 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 lebih-
lebih 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 (30-
60) 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 orang-
orang 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