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).
7
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 gejalagejala 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 suatu model 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 yang sulit 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. atau
a 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
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. No proses
Atau
Nama proses
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. Media
Nama data store
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).
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
menyampaikan notifikasi.
berfungsi
menerima
dan
bereaksi
untuk
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
pengembangan Enterprise
paket-paket JavaBeans,
Jva
untuk
mendukung
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 : public class testcomments { public static void main(String [] args){ /* System.out.println Akan Mencetak "Akan Mencetak" */ //System.out.println("tidak akan mencetak"); System.out.println("akan mencetak"); } }
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 ( {} ).
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-innya 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 plugin 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
Tanggal Peluncuran
Platform
Nama Proyek
Peluncuran 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.