bab ii - sinta.unud.ac.id ii.pdf · dalam bab kajian pustaka ini dipaparkan tentang tinjauan...

36
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).

Upload: others

Post on 06-Nov-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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).

Page 2: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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).

Page 3: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 4: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 5: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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)

Page 6: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 7: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 8: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 9: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 10: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 11: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 12: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 13: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 14: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 15: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 16: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 17: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 18: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 19: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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).

Page 20: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 21: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 22: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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 :

Page 23: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 24: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 25: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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).

Page 26: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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,

Page 27: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 28: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 29: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 30: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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");}}

Page 31: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 32: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 33: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 34: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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

Page 35: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.

Page 36: BAB II - sinta.unud.ac.id II.pdf · Dalam bab kajian pustaka ini dipaparkan tentang tinjauan mutakhir ... deteksi kerusakan komputer dengan menjawab setiap pertanyaan yang diajukan

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.