Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
7
BAB II
KAJIAN PUSTAKA
Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir
fakta hasil penelitian dan tinjauan pustaka yang digunakan sebagai teori dasar
dalam proses pembuatan aplikasi.
2.1 Tinjauan Mutakhir
Adapun penelitian sebelumnya mengenai sistem pakar tentang
kerusaka-kerusakan mesin yang dilakukan oleh beberapa orang diantaranya :
Penelitian sistem pakar dilakukan untuk mendeteksi kerusakan pada
sepeda motor dengan melihat hasil analisis gejala-gejala kerusakan sepeda
motor digunakan metode forward chaining (penelusuran maju) dimana
pelacakan dimulai dari keadaan awal (informasi atau fakta yang ada) dan
mencocokkan dengan tujuan yang diharapkan. Metode penelususan bekerja
dengan dengan teknik dept first search yaitu melakukan penelusuran kaidah
mulai dari simpul akar pohon keputusan kemudian bergerak menurun ke
tingkat berikutnya secara berurutan. (Nilmada, 2006).
Penelitian berikutnya menggunakan sistem pakar untuk mendeteksi
kerusakan perangkat keras komputer, dimana deteksi kerusakan menggunakan
metode backward chaining (penelusuran mundur) dimana metode ini
menjelaskan secara tepat tujuan apa yang dicoba untuk dipenuhi. Pelacakan
dimulai dari penalaran kesimpulan (goal), dengan mencari sekumpulan
hipotesa-hipotesa yang mendukung menuju fakta-fakta yang mendukung
sekumpulan hipotesa-hipotesa tersebut. User akan melakukan konsultasi
deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang
diajukan sistem sampai semua rule terpenuhi melalui halaman web. (Fitri,
2009).
8
Perancangan sistem pakar lainnya dilakukan untuk diagnosa pada
komputer menggunakan metode prototype. Peneliti membangun sebuah
aplikasi yang akan membantu untuk mempermudah dalam memberikan solusi
kerusakan komputer pada hardware yang akan mempermudah pengguna atau
teknisi untuk memdapatkan solusi dengan tepat. (Arini, 2013).
Beberapa penelitian yang dilakukan di atas tentang sistem pakar
menggunakan metode yang bervariasi untuk mendapatkan kesimpulan.
Adapun perbedaan pada penelitian ini tentang sistem pakar yang dibangun
yaitu sistem pakar ini dilakukan dengan mencari kerusakan-kerusakan pada
mesin pendingin yang mana diagnosa yang dihasilkan tidak pasti dari gejala-
gejala yang didapat, untuk menjawab ketidakpastian tersebut maka diterapkan
metode probabilitas bayes sebagai solusi untuk mendapatkan hasil yang pasti
dan untuk memudahkan user melakukan konsultasi kerusakan mesin
pendingin yang dialami maka digunakan sistem android yang simple dan
mudah digunakan.
2.2 Tinjauan Pustaka
2.2.1 Pengertian Sistem Pakar
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi
pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan
masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik
dirancang agar dapat menyelelasikan suatu permasalahan tertentu dengan
meniru kerja dari para ahli. Dengan sistem pakar ini, orang awam pun dapat
menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat
diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga
akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.
(Hartati, 2008).
9
2.2.1.1 Konsep Dasar Sistem Pakar
Konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan
keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah
suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh
dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang
termasuk keahlian adalah :
a. Fakta-fakta pada lingkup permasalahan tertentu.
b. Teori-teori pada lingkup permasalahan tertentu.
c. Prosedur-prosedur dan aturan-aturan berkenaan dengan ruang lingkup
permasalahan tertentu.
d. Strategi-strategi global untuk menyelesaikan masalah.
e. Meta-knowledge (pengetahuan tentang pengetahuan).
Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil
keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.
Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan,
mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun
kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika
dibutuhkan, dan menentukan relevan tidaknya keahlian mereka. Pengalihan
keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang
lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini
membutuhkan 4 aktivitas yaitu :
a. Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya).
b. Representasi pengetahuan (ke komputer).
c. Inferensi pengetahuan.
d. Pengalihan pengetahuan ke user.
Pengetahuan yang disimpan di komputer disebut dengan nama basis
pengetahuan. Ada 2 tipe pengetahuan, yaitu : fakta dan prosedur (biasanya
berupa aturan). Salah satu fitur yang harus dimiliki oleh sistem pakar adalah
kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai
10
basis pengetahuan dan sudah tersedia program yang mampu mengakses
basisdata, maka komputer harus dapat diprogram untuk membuat inferensi.
Proses inferensi ini dikemas dalam bentuk motor inferensi (inference engine).
Sebagian besar sistem pakar komersial dibuat dalam bentuk rule-based
systems, yang mana pengetahuannya disimpan dalam bentuk aturan-aturan.
Aturan tersebut biasanya berbentuk IF-THEN. (Hartati, 2008).
2.2.1.2 Struktur Sistem Pakar
Sistem pakar teridiri dari 2 bagian pokok, yaitu lingkungan
pengembangan (development environment) dan lingkungan konsultasi
(consultation environment). Lingkungan pengembangan digunakan sebagai
pembangunan sistem pakar baik dari segi pembangunan komponen maupun
basis pengetahuan. Lingkungan konsultasi digunakan oleh seorang yang
bukan ahli untuk berkonsultasi. (Novianti, 2011).
2.2.2 METODE BAYES
Metode Bayes adalah pendekatan secara statistik untuk menghitung
tradeoffs di antara keputusan yang berbeda-beda, dengan menggunakan
probabilitas dan costs yang menyertai suatu pengambilan keputusan tersebut.
Metode Bayes mempunyai berbagai keuntungan jika dibandingkan dengan beberapa teori
lainnya yaitu (Prasetyo, 2012):
1. Interpolation
Bayesian method menghubungkan segala hal dengan teori-teori engineering.
Pada saat berhadapan dengan suatu problem, terdapat pilihan mengenai
seberapa besar waktu dan usaha yang dilakukan oleh manusia vs komputer. Pada saat
membuat suatu sistem, terlebih dahulu diharuskan untuk membuat sebuah
model keseluruhan dan ditentukan faktor pengontrol pada model tersebut.
Bayesian method menghubungkan perbedaan yang besar karena Bayesian prior dapat
menjadi sebuah delta function dari suatumodel yang luas.
11
2. Language
Bayesian method mempunyai bahasa tersendiri untuk menetapkan hal-halyang
prior dan posterior. Hal ini secara signifikan membantu pada
saat menyelesaikan bagian yangsulit dari sebuah solusi.
3. Intuitions
Bayesian method melibatkan prior dan integration, dua aktivitas yang berguna
secara luas di dalam proses keputusan.
Bayesin Probability adalah teori terbaik dalam menghadapi masalah
estimasi dan penarikan kesimpulan. Bayes method dapat digunakan untuk
penarikan kesimpulan pada kasus-kasus dengan multiple source of
measurement yang tidak dapat ditangani oleh metode lain seperti model
hirarki yang kompleks.
2.2.2.1 Algoritma Naive Bayes
Algoritma Naive Bayes merupakan salah satu algoritma yang terdapat
pada teknik klasifikasi. Naive Bayes merupakan pengklasifikasian dengan
metode probabilitas dan statistik yang dikemukan oleh ilmuwan Inggris
Thomas Bayes, yaitu memprediksi peluang di masa depan berdasarkan
pengalaman dimasa sebelumnya sehingga dikenal sebagai Teorema Bayes.
Teorema tersebut dikombinasikan dengan Naive dimana diasumsikan kondisi
antar atribut saling bebas. Klasifikasi Naive Bayes diasumsikan bahwa ada
atau tidak ciri tertentu dari sebuah kelas tidak ada hubungannya dengan ciri
dari kelas lainnya. Persamaan dari teorema Bayes adalah
(2.1)
12
Keterangan :
X : Data dengan class yang belum diketahui
H : Hipotesis data x merupakan suatu class spesifik
P(X|H) : Probabilitas hipotesis H berdasar kondisi X (posteriori probability)
P(H) : Probabilitas hipotesis H (prior probability)
P(H|X) : Probabilitas berdasarkan kondisi pada hipotesis
P(X) : Probabilitas X
2.2.3 Mesin Pendingin
Mesin pendingin adalah sebuah alat rumah tangga listrik yang
menggunakan refrigerasi (proses pendingin) untuk pengawetan makanan.
Mesin pendingin bekerja menggunakan pompa panas pengubah
fase beroperasi dalam sebuah putaran refrigeration. Mesin pendingin terdiri
dari lemari pendingin atau lemari pembeku atau keduanya. Beberapa kulkas
dibagi menjadi empat ruang untuk penyimpanan jenis makanan yang berbeda,
-18 °C (pembeku), 0°C (daging), 4 °C (pendingin), 10 °C (sayuran).
(Suwaedi, 2014) :
2.2.3.1 Komponen-Komponen Mesin Pendingin
Mekanik mesin pendingin terdiri dari beberapa komponen yang
masing-masing dihubungkan dengan menggunakan pipa-pipa tembaga atau
selang yang merupakan sebuah sistem yang bekerja secara serempak (
simultan ). Komponen-komponen mesin pendingin kulkas adalah :
2.2.3.1.1 Kompresor
Kompresor merupakan mesin untuk menaikkan tekanan udara dengan
cara memampatkan gas atau udara yang kerjanya di dapat dari poros.
Kompresor bekerja dengan menghisap udara. Kompresor bekerja pada
tekanan yang lebih tinggi dari tekanan atmosfir maka kompresor disebut
13
sebagai penguat (booster), dan jika kompresor bekerja dibawah tekanan
atmosfir maka disebut pompa vakum. Secara umum kompresor ada 2 jenis
yaitu kompresor model torak terdiri dari beberapa bentuk gerak torak tegak
lurus, memanjang, aksial, radial, menyudut. Untuk menghisap dan menekan
zat pendingin dilakukan oleh gerakan torak di dalam silinder kompresor, dan
kompresor model rotary, gerakan rotor di dalam stator kompresor akan
menghisap dan menekan zat pendingin.
Gambar 2.1 Kompresor rotari
2.2.3.1.2 Evaporator
Evaporator adalah pipa yang berfungsi sebagai penguapan. Zat cair
yang berasal dari pipa kondensor masuk ke evaporator lalu berubah wujud
menjadi gas dingin karena mengalami penguapan, selanjutnya udara tersebut
mampu menyerap kondisi panas yang ada dalam ruangan mesin pendingin,
selanjutnya gas yang ada dalam evaporator akan mengalir menuju kompresor
karena adanya daya hisapan. Demikian terus menerus siklus udara dan
perubahannya dalam rangkaian mesin pendingin. Perbedaan temperatur
evaporator adalah perbedaan antara temperatur jenis evaporator (evaporator
14
saturation temperature) dengan temperatur substansi/benda yang didinginkan.
Kemampuan memindahkan panas dan konstruksi evaporator (ketebalan,
panjang dan sirip) akan sangat mempengaruhi kapaistas evaporator.
Gambar 2.2 Evaporator
2.2.3.1.3 Kondensor
Kondensor merupakan salah satu komponen utama dari sebuah mesin
pendingin. Pada kondensor terjadi perubahan wujud refrigerant dari uap
super-heated (panas lanjut) bertekanan tinggi ke cairan sub-cooled (dingin
lanjut) bertekanan tinggi. Agar terjadi perubahan wujud refrigerant (dalam hal
ini adalah pengembunan/ condensing), maka panas harus dibuang dari uap
refrigerant. Panas yang akan dibuang dari refrigerant tersebut berasal dari
panas yang diserap dari evaporator, yaitu dari ruang yang didinginkan dan
juga panas yang ditimbulkan oleh kompresor selama bekerja. Fungsi
kondensor adalah untuk merubah refrigerant gas menjadi cair dengan jalan
membuang panas yang dikandung refrigerant tersebut ke udara sekitarnya
atau air sebagai medium pendingin/condensing. Gas dalam kompresor yang
bertekanan rendah dimampatkan/dikompresikan menjadi uap bertekanan
tinggi sedemikian rupa, sehingga temperatur jenuh pengembunan (condensing
15
saturation temperature) lebih tinggi dari temperature medium pengemburan
(condensing medium temperature). Akibatnya panas dari uap bertekanan
tinggi akan mengalir ke medium pengembunan, sehingga uap refrigerant akan
terkondensasi.
Gambar 2.3 Kondensor
2.2.3.1.4 Pipa Kapiler
Katup ekspansi yang umum digunakan untuk sistem refrigerasi kulkas
adalah pipa kapiler. Pipa kapiler adalah pipa tembaga dengan diameter lubang
kecil dan panjang tertentu. Besarnya tekanan pipa kapiler bergantung pada
ukuran diameter lubang dan panjang pipa kapiler. Refrigerant yang melalui
pipa kapiler akan mulai menguap. Selanjutnya berlangsung proses penguapan
yang sesungguhnya di evaporator. Jika refrigerant mengandung uap air, maka
uap air akan membeku dan menyumbat pipa kapiler, agar kotoran tidak
menyumbat pipa kapiler, maka pada saluran masuk pipa kapiler dipasang
saringan yang disebut strainer. Ukuran diameter dan panjang pipa kapiler
dibuat sedemikian rupa, sehingga refrigerant cair harus menguap pada akhir
evaporator. Jumlah refrigerant yang berada dalam sistem juga menentukan
sejauh mana refrigerant di dalam evaporator berhenti menguap, sehingga
16
pengisian refrigeran harus cukup agar dapat menguap sampai ujung
evaporator. Bila pengisian kurang, maka akan terjadi pembekuan pada
sebagian evaporator. Bila pengisian berlebih, maka ada kemungkinan
refrigerant cair akan masuk ke kompresor yang akan mengakibatkan rusaknya
kompresor. Jadi sistem pipa kapiler mensyaratkan suatu pengisian jumlah
refrigerant yang tepat.
Gambar 2.4 Pipa kapiler
2.2.3.2 Cara Kerja Mesin Pendingin
Prinsip terjadinya suatu pendinginan di dalam sistem refrigerasi adalah
penyerapan panas oleh suatu zat pendingin yang dinamakan refrigerant,
karena panas yang berada disekeliling refrigerant diserap, akibatnya
refregeran akan menguap, sehingga temperatur di sekitar refrigerant akan
bertambah dingin, hal ini dapat terjadi mengingat penguapan memerlukan
panas. Di dalam alat pendingin lemari es, panas diserap evaporator dan
dibuang ke kondensor. Uap refrigerant yang berasal dari evaporator yang
bertekanan dan bertemperatur rendah masuk ke kompresor melalui saluran
hisap di kompresor, uap refrigerant tersebut dimampatkan, sehingga ketika ke
luar dari kompresor, uap refrigerant akan bertekanan dan bersuhu tinggi, jauh
lebih tinggi dibanding temperatur udara sekitar. Kemudian uap menunjuk ke
17
kondensor melalui saluran tekan di kondensor, uap tersebut akan melepaskan
panas, sehingga akan berubah fasa dari uap menjadi cair (terkondensasi) dan
selanjutnya cairan tersebut terkumpul di penampungan cairan refrigerant.
Cairan refrigerant yang bertekanan tinggi mengalir dari penampung
refrigeran ke katup ekspansi. Keluar dari katup ekspansi tekanan menjadi
sangat berkurang dan akibatnya cairan refrigeran bersuhu sangat rendah. Pada
saat itulah cairan tersebut mulai menguap yaitu di evaporator, dengan
menyeap panas dari sekitarnya hingga cairan refrigerant habis menguap.
Akibatnya evaporator menjadi dingin. Bagian inilah yang dimanfaatkan untuk
mengawetkan bahan makanan atau untuk mendinginkan ruangan.
Gambar 2.5 Diagram mesin pendingin
18
2.2.4 Perangkat Pemodelan Sistem
Untuk melakukan perancangan sistem, dibutuhkan alat bantu
perancangan. Dalah tahapan ini, pengembang sistem bisa menetukan
arsitektur sistemnya, merancang gambaran konseptual sistem, merancang
database, perancangan interface, hingga membuat flowchart program. DFD
adalah suatu model logika data atau proses yang dibuat untuk menggambarkan
asal data dan tujuan data yang keluar dari sistem, tempat penyimpanan data,
proses apa yang menghasilkan data tersebut, serta interaksi antara data yang
tersimpan dan proses yang dikenakan pada data tersebut. Beberapa simbol
yang digunakan dalam DFD bermaksud mewakili :
1. Kesatuan luar (exernal entity)
Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang bisa
berupa orang. Organisasi, atau sistem lain yang berada di lingkungan
luarnya, yang akan memeberikan input atau menerima output dari sistem.
Suatu kesatuan luar bisa disimbolkan dengan suatu notasi kotak atau
suatu kotak dengan sisi kiri dan atas berbentuk garis tebal. Kesatuan luar
bisa diberi identifikasi dengan huruf kecil di ujung kiri atas.
Gambar 2.6 Simbol kesatuan luar
2. Arus data (data flow)
Arus data mengalir di antara proses, simpanan data, dan kesatuan luar.
Arus data menunjukan arus data yang bisa berupa masukan untuk sistem
atau hasil dari proses sistem. Arus data diberi simbol suatu panah
Gambar 2.7 Simbol arus data
a
atau
19
3. Proses (process)
Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau
komputer dengan hasil suatu arus data yang masuk ke dalam proses untuk
kemudian dihasilkan arus data yang akan keluar dari proses. Suatu proses
bisa ditunjukan dengan simbol lingkaran atau dengan simbol empat
persegi panjang dengan sudut-sudut yang tumpul.
Atau
Gambar 2.8 Simbol proses
4. Simpanan data (data store)
Simpanan data merupakan simpanan dari data yang berupa file atau
database komputer, arsip atau catatan manual, kotak tempat data, tabel
acuan, dan agenda atau buku, simpanan data disimbolkan dengan
sepasang garis horizontal paralel yang tertutup di salah satu ujungnya.
Gambar 2.9 Simbol simpanan data
Perancangan database bisa dilakukan dengan beberapa pendekatan
tergantung pada strukutur database yang diinginkan. Jika menginginkan
database yang normal, maka bisa digunakan kaidah normalisasi. Perancangan
database yang berupa data warehouse sangatlah berbeda dengan teknik
perancangan normalisasi. Struktur yang paling sering digunakan dalam data
warehouse adalah starskema dan snowflake. (kusrini, m. 2007).
No proses
Namaproses
Media Nama data store
20
2.2.5 Basis Data
Sistem basis data adalah suatu sistem menyusun dan mengelola
record-record menggunakan komputer untuk menyimpan atau merekam serta
memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga
mampu menyediakan informasi yang optimal yang diperlukan pemakai
untuk proses mengambil keputusan. (Rogayah, 2014). Salah satu cara
menyajikan data untuk mempermudah modifikasi adalah dengan cara
pemodelan data. ERD (entity relationship diagram) adalah salah satu model
yang digunakan untuk mendesain database dengan tujuan menggambarkan
data yang berelasi pada sebuah database. Umumnya setelah perancangan
ERD selesai berikutnya adalah mendesain database secara fisik yaitu
pembuatan tabel, index dengan tetap mempertimbangkan performance.
Kemudian setelah database selesai dilanjutkan dengan merancang aplikasi
yang melibatkan database.
Gambar 2.10 Komponen penyusun ERD
Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek
lain, sebagai contoh, mahasiswa, dosen, departemen. Entitias terdiri atas
beberapa atribut sebagai contoh, atribut dari entitas mahasiswa adalah nim,
nama, alamat, email, dll. Atribut nim merupakan unik untuk
mengidentifikasikan atau membedakan mahasiswa yang satu dengan yang
lainnya. Pada setiap entitas harus memiliki satu atribut unik atau yang disebut
21
dengan primary key. Relasi adalah hubungan antara beberapa entitas. sebagai
contoh relasi antar mahaiswa dengan mata kuliah dimana setiap mahasiswa
bisa mengambil beberapa mata kuliah dan setiap mata kuliah bisa diambil
oleh lebih dari satu mahasiswa. relasi tersebut memiliki hubungan banyak ke
banyak. (Hidayat, 2011).
Gambar 2.11 Contoh ERD
Kardinalitas menyatakan jumlah himpunan relasi antar entitias.
pemetaan kardiniliat terdiri dari:
One to one, sebuah entitas pada A berhubungan dengan entitas B paling
banyak 1 contoh pada gambar 2.11 relasi pegawai dan departemen
dimana setiap pegawai hanya bekerja pada 1 departemen.
One to many, sebuah entitas pada A berhubungan dengan entitas B lebih
dari satu contoh pada gambar 2.11 adalah 1 depertemen memiliki banyak
pegawai.
Many to many, sebuah entitas pada A berhubungan dengan entitas B lebih
dari satu dan B berhubungan dengan A lebih dari satu juga.
22
Contoh pada gambar 2.11 adalah relasi mahasiswa dengan mata kuliah.
Berikut adalah metode atau tahap untuk membuat ERD :
Menentukan Entitas
Menentukan Relasi
Menggambar ERD sementara
Mengisi Kardinalitas
Menentukan Kunci Utama
Menggambar ERD berdasar Key
Menentukan Atribut
Memetakan Atribut
Menggambar ERD dengan Atribut
2.2.6 SQLite
SQLite merupakan sebuah library proses yang menerapkan serverless
(mandiri tanpa server), zero configuration, database SQL transaksional.
SQLIte saat ini banyak digunakan dalam aplikasi, termasuk dalam beberapa
high- profule project. SQLIte juga merupakan mesin database SQL embedded
yang berbeda dengan kebanyakan database SQL lainnya. SQLIte tidak
memiliki proses server yang terpisah. SQLite membaca dan menulis secara
langsung ke disk.
2.2.6.1 Fitur-fitur SQLite
1. Serverless, SQLite tidak memerlukan proses pada server atau sistem
untuk menjalankannya, melainkan hanya sebuah file yang diakses oleh
library SQLite.
2. Zero Configuration, tidak ada server berarti tidak perlu setup,
membuat sebuah database instan adalah semudah membuat file biasa.
3. Cross Platform, semua instan database berada dalam sebuah file yang
cross-platform, tidak memerlukan administrasi.
23
4. Self-Contained, sebuah library mengandung keseluruhan dari sistem
database, yang langsung terintegrasi pada sebuah aplikasi program.
5. Small Runtime Footprint, untuk membangun database SQLite hanya
membutuhkan kurang dari satu megabyte library (kode program) dan
hanya membutuhkan beberapa megabyte memory, bahkan dengan
beberapa adjustment baik ukuran library maupun memory dapat
diperkecil.
6. Transactional, SQLite transaction memperbolehkan aksi penyimpanan
melalui beberapa proses thread. Full Featured, SQLite mensupport
hampir sebagain besar standar SQL92 ( SQL2 ) Highly Reliable, tim
pengembang SQLite mengembangkan melalui kode program yang
sangat serius serta telah melewati proses testing.
2.2.6.2 Kelebihan SQLite
Sqlite merupakan salah satu embbeded database yang wajib
dipertimbangkan untuk digunakan pada aplikasi bukan enterprise karena
memiliki beberapa kelebihan yaitu :
a. Secara umum cukup stabil.
b. Perfomanya lebih efesien dan cepat dibandingkan database yang lain.
c. Sedikit menggunakan memory, hanya membutuhkan sigle library
untuk mengakses database.
d. Berjalan dibanyak platform yang berbeda, dan dapat dipindahkan
dengan mudah tanpa setting administrasi yang rumit.
e. Memenuhi standart ACID (Atomicity, Consistensy, Isolation, dan
Durability).
f. Mendukung ANSI 92 SQl Standar.
g. Mempunyai API untuk bahasa C++, PHP, Perl, Phyton,Tcl dan Ruby.
h. License public domain, free untuk redistributed.
24
2.2.6.3 Kekurangan SQLite
Meskipun merupakan database server yang cukup sederhana dengan
beberapa fasilitas, bukan berarti SQLite tidak memiliki kekurangan. Beberapa
fasilitas yang tidak didukung oleh SQLite sengaja ditiadakan untuk
mempertahankan SQLite sebagai embeddable database server. Berikut
beberapa fasilitas yang umum ada pada database server dan
tidak dimiliki atau tidak didukung oleh SQLite :
a. Check constraint
Fasilitas ini umumnya digunakan sebagai pemeriksa, namun ditiadakan
karena masih dapat digantikan oleh not null serta unique..
b. Variabel subquery
Meskipun memiliki arti yang penting, penggunaan subquery atau
perintah query di dalam query ini tidak didukung.
c. Foreign Key Constraint
Sama halnya dengan check constraint, fasilitas ini sengaja dihilangkan
oleh SQLite.
d. Alter Table
Oleh karena tidak memiliki fasilitas ini, maka untuk mengubah
struktur tabel harus dilakukan dengan menghapus tabel kemudian
membuat ulang.
e. Grant dan Revoke
Fasilitas ini cukup penting untuk keamanan, namun karena SQLite
melakukan pembacaan serta penulisan pada file disk, maka hak izin31
akses bergantung pada sistem operasi yang digunakan.
f. Right dan Full Outer Join
Meskipun penggunaan right serta full outer join tidak diperkenankan,
akan tetapi SQLite masih menyediakan left outer join.
g. Penulisan pada View
25
SQLite hanya memperbolehkan penggunaan view untuk dapat dibaca
saja, dengan demikian anda tidak dapat melakukan modifikasi pada
view. Sebagai gantinya, SQLite menyediakan trigger yang dapat
digunakan untuk memodifikasi view. (Khairualman, 2013).
2.2.7 Pengenalan Android
Android adalah sebuah sistem informasi untuk perangkat mobile
berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi.
Android menyediakan platform yang terbuka bagi para pengembang untuk
menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc.
yang merupakan pendatang baru yang membuat peranti lunak untuk
ponsel/smartphone. Kemudian untuk mengembangkan Android dibentuklah
Open Handset Alliance, konsorsium dari 34 perusahaan perangkat keras,
peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia.
Di dunia ini terdapat dua jenis distributor sistem operasi Android.
Pertama yang mendapat dukungan penuh dari Google atau Google Mail
Service (GMS) dan kedua adalah yang benar – benar bebas distribusinya tanpa
dukungan langsung Google atau dikenal sebagai Open Handset Distribution
(OHD).
2.2.7.1 Android OS
Sebagaimana yang telah disebutkan di atas, Android adalah sistem
operasi yang berbasis linux atau open source. Selain Android SDK untuk
pengembangan aplikasi, android juga tersedia bebas dalam bentuk operasi
sistem, hal ini sebenarnya yang menyebabkan vendor – vendor smartphone
berlomba – lomba untuk memproduksi smartphone dan tablet PC berbasis
Android. (Stephanus. H.S, 2011).
26
2.2.7.2 Versi Android
Adapun versi – versi android yang pernah dirilis sebagai berikut :
1. Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android vcersi ini
dilengkapi dengan pembaharuan estetis pada aplikasi, jam, alarm, voice
search (pencarian suara), pengiriman pesan dengan Gmail, dan
pemberitahuan email.
2. Android versi 1.5 (Cuppcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler
dengan menggunakan Android dan SDK (Software Development Kit)
dengan versi 1.5 (Cupcake). Terdapat beberapa pembaharuan termasuk
juga penambahan fitur dalam seluler versi ini yakni kemampuan merekam
dan menonton video dengan modus kamera, mengupload video ke
Youtube dan gambar ke Picasa langsung dari telepon, dukungan
Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset
Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan
dengan sistem.
3. Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan proses
pencarian yang lebih baik dibandingkan sebelumnya, penggunaan baterai
indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang
memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera,
camcorder, dan galeri yang diintegrasi. CDMA/EVDO, 802.1x, VPN,
Gesture, dan Text-to-speech-engine, kemampuan dial kontak, teknologi
text to change speech (tidak tersedia poada semua ponsel, pengadaan
resolusi VWGA).
4. Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi
2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan
27
hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan
browser baru dan dukungan HTML 5, daftar kontak yang baru, dukungan
flash untuk kamera 3,2 MP, digital zoom, dan Bluetooth 2.1.
5. Android versi 2.2 (Froyo : Frozen Yoghurt )
Pada bulan Mei 2010 Android versi 2.2 Rev 1 diluncurkan. Fitur yang
tersedia di Android versi ini sudah kompleks diantaranya adalah :
a. Kerangka aplikasi memungkinkan penggunaan dan penghapusan
komponen yang tersedia.
b. Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.
c. Grafik : grafik di 2D dan grafis 3D berdasarkan libraries OpenGL.
d. SQLite : untuk penyimpanan data.
e. Mendukung media : audio, video, dan berbagai format gambar
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
f. GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware independent).
g. Kamera, Global Positioning System (GPS), kompas, dan
accelerometer (tergantung hardware).
6. Android versi 2.3 (Gingerbread)
Android versi 2.3 diluncurkan pada Desember 2010, hal - hal yang
direvisi dari versi sebelumnya adalah kemampuan sebagai berikut :
a. SIP – based VoIP.
b. Near Field Communications (NFC).
c. Gryoscope dan sensor.
d. Multiple cameras support.
e. Mixable audio effect.
2.2.7.3 The Dalvik Virtual Machine (DVM)
Salah satu elemen kunci dari android adalah Dalvik Virtual Machine
(DVM). Elemen ini mengeksekusi executable file, sebuah format yang
dioptimalkan untuk memastikan memori yang digunakan sangat kecil. The
28
executable file diciptakan dengan mengubah kelas bahasa java dan
dikompilasi menggunakan tools yang disediakan dalam SDK android.
2.2.7.4 Android SDK (Software Development Kit)
Android SDK adalah tools API (Application Programming Interface)
yang diperlukan untuk mulai mengembangkan aplikasi platform android
menggunakan bahasa pemograman java. Android merupakan subset
perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan
aplikasi kunci yang di release oleh Google. Saat ini disediakan Android SDK
(Software Development Kit) sebagai alat bantu dan API untuk memulai
mengembangkan aplikasi pada platfrorm android menggunakan bahasa
pemograman java. Beberapa fitur – fitur android yang paling penting adalah :
1. Framework Aplikasi yang mendukung penggantian komponen dan
reusable.
2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis
3D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware).
5. SQLite untuk menyimpan data (database).
6. Media Support yang mendukung audio, video, dan gambar (MPEG,
H.264, MP3, AAC, AMR, JPG, PNG, GIF).
7. Bluetooth, EDGE, 3G, dan WiFi.
8. Kamera, GPS, kompas, dan accelerometer.
9. Lingkungan Development yang lengkap dan kaya termasuk perangkat
emulator, tools untuk debugging, profil, kinerja memori, dan plugin untuk
IDE Eclipse.
2.2.7.5 Arsitektur Android
Secara garis besar arsitektur android dapat dijelaskan dan digambarkan
sebagai berikut :
29
1. Applications dan Widgets
Applications dan widgets ini adalah layer dimana kita berhubungan
dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian
kita lakukan instalasi dan jalankan apliksi tersebut. Di layer terdapat
aplikasi inti termasuk klien email, program SMS, kalender, peta,
browser, kontak, dan lain- lain. Semua aplikasi ditulis menggunakan
bahasa pemograman java.
2. Applications Frameworks
Applications Frameworks ini adalah layer dimana para pembuat aplikasi
melakukan pengembangan/pembuatan aplikasi yang dijalankan di sistem
operasi android, karena pada layer inilah aplikasi dirancang dan dibuat,
seperti content providers yang berupa sms dan panggilan telepon.
Komponen yang termasuk di dalam Applications Frameworks adalah
sebagai berikut :
a. Views
b. Content Providers
c. Resource Manager
d. Notifikasion Manager
e. Activity Manager
3. Libraries
Libraries ini adalah layer dimana fitur – fitur android berada, biasanya
para pembuat aplikasi mengakses libraries untuk menjalankan
aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai library
C/C++ seperti Libc dan SSL, serta :
a. Libraries media untuk pemutaran media audio dan video.
b. Libraries untuk manajemen tampilan.
c. Libraries graphics mencakup SGL dan OpenGL untuk grafis 2D dan
3D.
d. Libraries SQLite untuk dukungan database.
30
e. Libraries SSL dan WebKit terintegrasi dengan web browser dan
security.
f. Libraries LiveWebcore mencakup modern web browser dengan engine
embedded web view.
g. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s.
4. Android Run Time
Layer yang membuat aplikasi android dapat dijalankan di mana dalam
prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine
(DVM) merupakan mesin yang membentuk dasar kerangka aplikasi
android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu :
a. Core Libraries : Aplikasi android dibangun dalam bahasa java,
sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine
Java, sehingga diperlukan sebuah libraries yang berfungsi untuk
menterjemahkan bahasa java/c yang ditangani oleh Core Libraries.
b. Dalvik Virtual Machine : Virtual mesin berbasis register yang
dioptimalkan untuk menjalankan fungsi – fungsi secara efisien, dimana
merupakan pengembangan yang mampu membuat linux kernel untuk
melakukan threading dan manajemen tingkat rendah.
5. Linux Kernel
Lunux Kernel adalah layer dimana inti dari operating sistem dari
android itu berada. Berisi file – file system yang merupakan sistem
processing, memory, resource, drivers, dan sistem – sistem operasi
android lainnya. Linux kernel yang digunakan android adalah linus kernel
release 2.6.
2.2.7.6 Komponen Aplikasi
Aplikasi android ditulis dalam bahasa pemograman java. Kode java
dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi,
dimana prosesnya di package oleh tools yang dinamakan “apt tools” ke dalam
paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah
31
yang disebut dengan aplikasi, dan nantinya dapat di install di perangkat
mobile. Ada enam jenis komponen pada aplikasi android :
a. Activities
Suatu activity akan menyajikan user interface (UI) kepada pengguna,
sehingga pengguna dapat melakukan interaksi. Satu activity biasanya
akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai
user interface (UI) saat aplikasi diperlihatkan kepada user. Sebuah
windows activity dinyatakan dengan method Activity.setContentview().
ContentView adalah objek yang berada pada root hirarki.
b. Service
Service tidak memiliki Grafhic User Interface (GUI), tetapi service
berjalan secara background. Service dijalankan pada thread utama dari
proses aplikasi.
c. Broadcast Receiver
Broadcast Receiver berfungsi menerima dan bereaksi untuk
menyampaikan notifikasi. Broadcast Receiver tidak memiliki user
interface (UI), tetapi memiliki sebuah activity untuk merespon informasi
yang mereka terima, atau mungkin menggunakan notifikasion manager
untuk member tahu kepada pengguna, seperti lampu latar, atau vibrating
(getaran) perangkat.
d. Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifikasi
sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file
sistem seperti database SQLite. Content Provider menyediakan cara
untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya
ketika menggunakan aplikasi yang membutuhkan peta, atau aplikasi yang
membutuhkan untuk mengakses data kontak dan navigasi, maka disinilah
fungsi content provider. (Nazruddin, 2011).
32
2.2.8 Java
2.2.8.1 Pengertian Java
Java adalah sebuah bahasa pemograman komputer kompilasi bytecode
yang tidak bergantung pada sistem operasi atau platform dan termasuk
berbasis pada objek oriented programming. Pemrograman berorientasi obyek
merupakan suatu konsep pemrograman dengan mengambil konsep obyek
sebagai komponen dasar dari pemrogramannya. Obyek merupakan suatu
kesatuan komponen dan struktur yang di dalamnya berisi attribut yang
selanjutnya dinamakan dengan member dan method yang merupakan
kumpulan fungsional dari suatu obyek. Dengan demikian dapat dikatakan
bahwa obyek mempunyai sifat-sifat, yaitu:
1. Member atau sering juga disebut dengan attribut yang menjelaskan
variable, parameter atau keadaan (state) dari suatu obyek, misalkan
pada obyek mobil terdapat member berupa roda, kemudi, seperti yang
disebutkan di atas.
2. Method atau sering juga disebut dengan behavior yang menjelaskan
perilaku, kegiatan atau kerja dari suatu obyek, misalkan pada obyek
mobil terdapat method maju, mundur, berhenti, seperti yang
disebutkan diatas.
Menulis program berbasis obyek menggunakan bahasa Java dilakukan dengan
cara membentuk sebuah class, menentukan variabel member dan menentukan
method. Pembentukan class dari suatu obyek ini dinamakan dengan
enkapsulisasi. Untuk menggambarkan suatu obyek digunakan suatu diagram
yang dinamakan dengan class diagram. (Anonim, 2013a).
2.2.8.2 Edisi Java
Dengan perkembangan Java yang kini telah menjadi bahasa untuk
pengembangan aplikasi skala enterpriseberbasis jaringan besar maka Java pun
dapat dijalankan di sembarang platform, di beragam lingkungan: internet,
33
consumer, electronic, products, dan computer applications. The Java 2
platform tersedia dalam tiga edisi untuk keperluan berbeda berikut:
1. Standart Edition (J2SE)
Edisi ini mendukung konektivitas basis data, rancangan antarmuka
pemakai, masukan/keluaran, dan pemrograman jaringan dan termasuk
sebagai paket-paket dasar Java.
2. Enterprise Edition (J2EE)
Edisi ini menyediakan kakas untuk membangun dan
menjalankan multifier enterprise applications. J2EE, berisi paket-paket
di J2SE ditambah paket-paket untuk mendukung
pengembangan Enterprise JavaBeans, Jva Servlets, JavaServer
Page, XML, dan kendali transaksi yang fleksibel.
3. Micro Edition (J2ME)
Edisi ini digunakan untuk beragam consumer electronic
product, seperti pager, smart card, cell phone, handheld PDA, dan
set-top box. J2ME menyediakan bahasa Java yang sama, unggul dalam
portabilitas, kemampuan dijalankan di mana pun dan safe network
delivery seperti J2SE dan J2EE. J2ME menggunakan sekumpulan
paket lebih kecil. J2ME berisi subset paket J2EE ditambah paket
spesifik Micro Edition javac.microedition.io. Aplikasi J2ME dapat
diskala agar juga dapat bekerja dengan J2SE dan J2EE.
2.2.8.3 Fitur-fitur Java
Sebagai bahasa pemrograman, bahasa java memiliki fitur penting dalam
pembuatan berbagai jenis aplikasi. Adapun fitur-fitur Java adalah sebagai
berikut:
1. Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan
menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan
34
spesifikasi hardware dan platform dimana kompilasi kode Java terjadi.
Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas
dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks berekstensi .java.
Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi
class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi
kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada
sistem komputer dimana kompilasi ditujukan, sementara bytecode
berjalan pada java interpreter yang tersedia di semua platform sistem
komputer dan sistem operasi.
2. Garbage Collection
Banyak bahasa pemrogaman lain yang mengijinkan seorang
programmer mengalokasikan memori pada saat dijalankan. Namun,
setelah menggunakan alokasi memori tersebut, harus terdapat cara
untuk menempatkan kembali blok memori tersebut supaya program
lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah
programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat
menyulitkan bilamana programmer tersebut alpa untuk
mengembalikan blok memori sehingga menyebabkan situasi yang
dikenal dengan nama memory leaks. Program Java melakukan garbage
collection yang berarti program tidak perlu menghapus sendiri objek–
objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban
pengelolaan memori oleh programmer dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa
yang memungkinkan alokasi dinamis.
2.2.8.4 Code Security Java
Code Security terimplementasi pada Java melalui penggunaan Java
Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis
untuk melindungi sistem dari untrusted Java Code.
35
1. Pertama, class-loader menangani pemuatan kelas Java ke runtime
interpreter. Proses ini menyediakan pengamanan dengan memisahkan
kelas–kelas yang berasal dari local disk dengan kelas–kelas yang
diambil dari jaringan. Hal ini membatasi aplikasi trojan karena kelas–
kelas yang berasal dari local disk yang dimuat terlebih dahulu.
2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan
menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi
dengan mengendalikan apakah program berhak mengakses sumber
daya seperti sistem file, port jaringan, proses eksternal dan sistem
windowing.
2.2.8.5 Security Java
Salah satu keunggulan dari Java ialah bisa dilihat dari segi
keamanannya karena telah memperoleh pengalaman aspek keamanan
dari Java applet. Java menggunakan model pengamanan tiga lapis untuk
melindungi system dari untrusted Java code.
1. Bytecode verifier membaca bytecode sebelum dijalankan proses dan
menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.
2. Class loader, menangani pembuatan kelas Java ke runtime interpreter.
3. Manajer kemanan menangani kemanan tingkat aplikasi dengan
mengendalikan apakah sebuah program berhak mengakses sumber
daya seperti sistem file, sistem port jaringan, proses eksternal dan
sistem windowing.
2.2.8.6 Struktur Dasar Pemrograman Java
Seperti halnya bahasa pemrograman lainnya, java memiliki struktur
dasar yang wajib diketahui sebelum belajar lebih jauh tentang pemrograman
java. Terdapat beberapa struktur pemrograman java yaitu Comments,
Modifiers, Statements, Blocks, Classes, Methods, dan Reserved Words. Untuk
mengenal lebih jauh, berikut adalah pengenalan singkat struktur program java.
36
1. Comments
Comments digunakan untuk memberikan keterangan atau penjelasan
suatu baris program, struktur comments tidak akan di kompilasi oleh
compiler. Lambang untuk comments adalah double slash (//) untuk
memberikan penjelasan suatu baris, sedangkan lambang /* dan */
untuk memberikan penjelasan satu baris atau lebih.
Contoh Comments :
Kode program 2.1 Script dasar comments
2. Modifiers
Modifiers digunakan untuk menentukan penggunaan dari suatu data,
methods dan class. Contoh modifiers adalah public, static, private,
final, abstract dan protected.
3. Statements
Statements merupakan baris perintah atau kumpulan perintah. Setiap
statement pada java selalu diakhiri dengan titik koma (;)
4. Blocks
Blocks digunakan untuk membentuk suatu grup statements. Blocks
diawali dengan kurung kurawal ( {} ).
public class testcomments {public static void main(String [] args){/*System.out.println AkanMencetak "Akan Mencetak"*///System.out.println("tidak akanmencetak");System.out.println("akan mencetak");}}
37
5. Classes
Classes merupakan inti dari program java. Suatu class merupakan
“blueprint” untuk menciptakan suatu object. (Anonim, 2013a).
2.2.9 Eclipse
2.2.9.1 Pengenalan Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment)
untuk mengembangkan perangkat lunak dan dapat dijalankan di semua
platform (platform independent). Berikut ini adalah sifat dari Eclipse:
1. Multi-platform
Target sistem operasi Eclipse adalah Microsoft Windows, Linux,
Solaris, AIX, HP-UX dan Mac OS X.
2. Mulit-language
Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi
eclipse mendukung pengembangan aplikasi berbasis bahasa
pemrograman lain seperti C/C++, Cobol, Python, Perl, PHP, dan lain
sebagainya.
3. Multi-role
Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan
web, dan lain sebagainya.
Pada saat ini, Eclipse merupakan salah satu IDE favorit karena gratis dan
open source. Open source berarti setiap orang boleh melihat kode
pemrograman perangkat lunak ini. Selain itu, kelebihan dari eclipse yang
membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh
pengguna dengan membuat komponen yang disebut plug-in.
38
2.2.9.2 Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel. Apa
yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in
yang sudah dipasang (diinstal). Ini merupakan basis dari Eclipse yang
dinamakan Rich Client Platform (RCP).
Berikut ini adalah komponen yang membentuk RCP:
1. Core platform
2. OSGi
3. SWT (Standard Widget Toolkit)
4. JFace
5. Eclipse Workbench
Secara standar eclipse selalu dilengkapi dengan JDT (Java
Development Tools), plug-in yang membuat eclipse kompatibel untuk
mengembangkan program Java, dan PDE (Plug-in Development
Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-
nya diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse
adalah IDE adalah
1. Terbuka (open),
2. Mudah diperluas (extensible) untuk apa saja, dan
3. Tidak untuk sesuatu yang spesifik.
Eclipse tidak saja untuk mengembangkan program Java, tetapi juga untuk
berbagai macam keperluan. Perluasan apapun cukup dengan menginstal plug-
in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ maka
telah terdapat plug-in CDT (C/C++ Development Tools) yang dapat dipasang
di Eclipse untuk Eclipse menjadi perangkat untuk pengembangan C/C++.
Pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse,
plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan
PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya.
39
2.2.9.3 Versi – versi Eclipse
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran
Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous
Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga
sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan sistem ini adalah
untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang
terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment
dan maintenance untuk sistem enterprise, serta untuk kenyamanan.
Peluncuran simultan dijadwalkan pada bulan Juni setiap tahunnya. Berikut
versi eclipse beserta tanggal peluncurannya (Anonim, 2013a) :
Tabel 2.1 Versi – versi eclipse
No. Kode
Peluncuran
Tanggal Peluncuran Platform Nama Proyek
1. Eclipse 3.0 28 Juni 2004 3.0
2. Eclipse 3.1 28 Juni 2005 3.1
3. Callisto 30 Juni 2006 3.2 Callisto projects
4. Europa 29 Juni 2007 3.3 Europa projects
5. Ganymede 25 Juni 2008 3.4 Ganymede projects
6. Galileo 24 Juni 2009 3.5 Galileo projects
2.2.10 Metode Pengujian Sistem
Dalam testing dan implementasi sistem dikenal 2 metode pengujian
yang populer, yakni pengujian black box dan pengujian white box (Rouf,
2012).
2.2.10.1 Black box
Black box Testing merupakan pengujian yang berfokus pada
spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan
40
kumpulan kondisi input dan melakukan pengetesan pada spesifikasi
fungsional program.
Ciri-Ciri Black Box Testing:
1. Black box testing berfokus pada kebutuhan fungsional pada software,
berdasarkan pada spesifikasi kebutuhan dari software.
2. Black box testing bukan teknik alternatif daripada white box testing.
Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup
error dengan kelas yang berbeda dari metode white box testing.
3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur
internal dari sistem atau komponen yang dites. juga disebut sebagai
behavioral testing, specification based testing, input/output testing atau
functional testing
Pada black box testing terdapat jenis teknik disain tes yang dapat dipilih
berdasarkan pada tipe testing yang akan digunakan, yang diantaranya :
1. Equivalence Class Partitioning
2. Boundary Value Analysis
3. State Transitions Testing
4. Cause-Effect Graphing
Kategori error yang akan diketahui melalui black box testing :
Fungsi yang hilang atau tak benar
Error dari antar-muka
Error dari struktur data atau akses eksternal database
41
Gambar 2.12 Black box testing
2.2.10.2 White box
White box testing adalah pengujian yang didasarkan pada pengecekan
terhadap detail perancangan, menggunakan struktur kontrol dari desain
program secara procedural untuk membagi pengujian ke dalam beberapa
kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing
merupakan petunjuk untuk mendapatkan program yang benar.
Pengujian white box :
1. Untuk mengetahui cara kerja suatu perangkat lunak secara internal.
2. Untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang
telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang
dirancang.
Pelaksanaan pengujian white box :
1. Menjamim seluruh independent path dieksekusi paling sedikit satu kali.
Independent path adalah jalur dalam program yang menunjukkan paling
sedikit satu kumpulan proses ataupun kondisi baru.
2. Menjalani logical decision pada sisi true dan false.
3. Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan.
42
4. Menguji struktur data internal.
Berdasarkan konsep pengujian, white box (structural) testing / glass box
testing yaitu dengan memeriksa kalkulasi internal path untuk mengidentifikasi
kesalahan. Adapun langkah-langkah di dalam white box :
1. Mendefinisikan semua alur logika
2. Membangun kasus untuk digunakan dalam pengujian
3. Melakukan pengujian.
Kelebihan white box testing adalah :
1. Kesalahan logika. Digunakan pada sintaks ‘if’ dan pengulangan. Dimana
white box testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan
mendeteksi kapan proses pengulangan akan berhenti.
2. Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan
kenyataan, untuk di analisa dan diperbaiki
3. Kesalahan ketik. Mendeteksi bahasa pemrograman yang bersifat case
sensitive.
Kelemahan white box testing adalah :
Untuk perangkat lunak yang tergolong besar, white box testing dianggap
sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya
yang besar untuk melakukannya.