CHAINING BERBASIS ANDROID
SKRIPSI
Oleh :
TEGUH HERLAMBANG
0734010191
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
CHAINING BERBASIS ANDROID
SKRIPSI
Diajukan Untuk Memenuhi Sebagian Per syaratan Dalam Memperoleh Gelar Sarjana Komputer
J ur usan Teknik Infor matika
Oleh :
TEGUH HERLAMBANG
0734010191
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
ii
Pertama-tama penulis panjatkan puji syukur atas kehadiran Allah S.W.T
karena atas rahmat dan karunia-Nyalah akhirnya laporan tugas akhir ini dapat
penulis selesaikan. Tak lupa pula shalawat dan salam penulis panjatkan kepada
Nabi akhir zaman Muhammad S.A.W, karena berkat perjuangannyalah karunia
Iman dan Islam senantiasa menjadi inspirasi bagi penulis.
Adapun maksud penulisan Laporan Tugas Akhir ini adalah sebagai
gambaran terhadap apa yang penulis kerjakan pada Tugas Akhir. Selain itu juga
laporan ini sebagai syarat untuk pelaksanaan mata kuliah Tugas Akhir dalam
menyelesaikan program studi strata satu (S-1) di Universitas Pembangunan
Nasional “Veteran” Jawa Timur.
Penulis menyadari sepenuhnya masih terdapat banyak kekurangan dalam
penyelesaian penulisan laporan Tugas Akhir ini. Namun penulis berusaha
menyelesaikan laporan ini dengan sebaik mungkin.
Segala kritik saran yang bersifat membangun sangat diharapkan dari
semua pihak, guna perbaikan dan pengembangan di masa yang akan datang.
Akhirnya besar harapan penulis agar laporan ini dapat diterima dan berguna bagi
semua pihak.
Surabaya, Juni 2013
iii
2.2.1. Pengendalian dan Pemberantasan Hama Cabai ………...……... 16
2.3. Sistem Pakar ………...……….……... 17
2.3.1. Ciri-Ciri Sistem Pakar ………...………... 19
2.3.2. Kelebihan dan Kekurangan Sistem Pakar ………...……… 20
iv
2.4.3. Konsep Java Sebagai Object Oriented Program ………...…….. 30
2.5. Android ………...………...……... 33
2.5.1. Pengenalan Sistem Operasi Android ………...………... 36
2.5.1.1. Arsitektur Sistem Operasi Android ………...………... 37
2.5.2. Tipe Aplikasi Android ………...……….. 41
2.9. Android Software Development Kit (SDK) ………...……… 53
2.10. Android Development Tools (ADT) ………...……….... 53
2.11. Struktur Navigasi ………...………. 54
BAB III ANALISIS SISTEM DAN PERANCANGAN SISTEM 56
3.1.Analisis Sistem ………... 56
v
3.2.3.Kebutuhan Simpanan (Basis Data)…….….………. 58
3.3.Perancangan Aturan Hama Tanaman Cabai .…..……….…………... 59
3.3.1.Perancangan Block Diagram ……….. 59
3.3.2.Perancangan Dependency Diagram .… ……… 61
3.4.Desain Arsitektur ……… 63
3.10.2.Perancangan Aturan Hama Tanaman Cabai .…..……….…… 74
3.11.Perancangan Skenario Uji Coba User Dan Admin ..…………..…… 76
3.11.1.Perancangan Skenario Uji Coba User …….…..…….….…… 76
3.11.2.Perancangan Skenario Uji Coba Admin .…..………..….…… 77
BAB IV IMPLEMENTASI DAN UJ I COBA 79
4.1.Spesifikasi perangkat keras dan lunak ……….…… 79
4.1.1.Spesifikasi Perangkat Keras ………. 79
4.1.2.Spesifikasi Perangkat Lunak …..……… 80
4.2.Implementasi Antar Muka ………..……… 82
4.2.1.Interface User …………..….……… 82
4.2.1.1.Form User …..……..……… 82
4.2.1.2.Form Konsultasi Hama …..………. 83
4.2.1.3.Form Hasil Konsultasi Hama ..……… 84
vi
4.2.2.3.Form Pengaturan Hama ………. 86
4.2.2.4.Form Pengaturan Gejala ..……… 87
4.2.2.5.Form Pengaturan Rule ……… 88
4.3.Uji Coba Menu Konsultasi ….……….………. 89
4.3.1.Tampilan Halaman Depan Konsultasi ………. 89
4.3.2.Tampilan Menu Utama Konsultasi ……….. 90
4.3.3.Pertanyaan Gejala ..………...……… 90
4.3.4.Hasil Konsultasi Hama ……… 92
4.3.5.Hasil Kemungkinan Hama ……….………. 93
4.3.6.Hasil Konsultasi Tidak Memilih ………. 93
4.4.Uji Coba Menu Admin ..……… 94
4.4.1.Tampilan Halaman Depan Admin ……...……… 94
4.4.2.Tampilan Menu Utama Admin ……...………….……… 95
4.5.Uji Coba Penambahan Hama ……...……….…… 95
4.5.1.Hasil Penambahan Hama Baru …….…...……… 96
4.6.Uji Coba Penambahan Gejala ……….…...………….……… 96
4.6.1.Hasil Uji Coba Penambahan Gejala ……...……… 97
i
Cabai Dengan Metode Forward Chaining Berbasis Android
Dosen Pembimbing I : Ir. Purnomo Edi.S., MP
Dosen Pembimbing II : Fetty Tri Anggraeny S. Kom
Penyusun : Teguh Herlambang
____________________________________________________________________
ABSTRAK
Salah satu kendala melakukan budidaya tanaman cabai adalah dalam mengatasi hama pada tanaman. Serangan hama dapat menurunkan produktivitas dan bahkan menyebabkan gagal panen yang berpengaruh terhadap salah satu sumber devisa negara. Oleh karena itu pendiagnosaan terhadap hama tanaman cabai harus dilakukan dengan cepat dan akurat. Sistem pakar dihadirkan sebagai pilihan kedua setelah pakar dalam melakukan konsultasi. Dengan menggunakan metode Forward
Chaining berbasis Android, aplikasi sistem pakar untuk mendiagnosa hama yang
dapat memberikan solusi berdasarkan gejala-gejala yang ada, dilengkapi dengan keterangan dan gambar dibuat guna mempercepat pendiagnosaan. Berdasarkan evaluasi sistem pada tahap verifikasi kinerja sistem, aplikasi sistem pakar pendiagnosis hama tanaman cabai yang menggunakan forward chaining dan berbasis Android juga dapat dijadikan sebagai sistem pembelajaran kepada mahasiswa fakultas pertanian tentang hama tanaman cabai.
1
PENDAHULUAN
1.1 Latar Belakang
Di tengah perkembangan teknologi yang begitu pesat, banyak memberikan
pengaruh terhadap perkembangan pada berbagai sektor, dan salah satunya adalah
sektor pertanian, dimana semakin banyak teknologi yang dikembangkan untuk
digunakan agar mempermudah banyak pekerjaan dalam pertanian, sehingga
hasilnya menjadi lebih efisien dan efektif. Kemajuan teknologi banyak
memberikan pengaruh dalam proses pekerjaan di bidang pertanian, dimana
banyak peralatan pertanian yang dikembangkan sehingga proses pekerjaan
pertanian dapat diselesaikan dengan baik, dan memberikan hasil yang lebih baik
dari segi kuantitas maupun kualitas.
Salah satu teknologi yang banyak dikembangkan adalah teknologi yang
untuk mampu mengadopsi proses dan cara berpikir manusia yaitu teknologi
kecerdasan buatan (Artificial Intelligence) dan sistem pakar adalah salah satu
bagian dari kecerdasan buatan yang mengandung pengetahuan dan pengalaman
yang dimasukkan oleh satu atau banyak pakar ke dalam satu area pengetahuan
tertentu, sehingga user dapat menggunakan sistem untuk menentukan solusi yang
tepat dari permasalahan yang ada.
Seiring dengan tingkat mobilitas yang tinggi, beberapa tahun terakhir
yang paling pesat adalah Handphone dimana hampir setiap orang memilikinya.
handphone yang sedianya sebagai alat komunikasi, saat ini sudah lebih dari fungsi
dasarnya. Berbagai macam fitur telah ditanamkan, seperti pengolah gambar dan
video, pengolah dokumen dan lain sebagainya. Hal ini tak lepas dari penggunaan
Sistem Operasi pada handphone layaknya pada komputer, handphone pun dapat
di instal berbagai macam aplikasi yang diinginkan.
Android sebagai Sistem Operasi berbasis linux yang dapat digunakan di
berbagai perangkat mobile. Android memiliki tujuan utama untuk memajukan
inovasi piranti telepon bergerak agar pengguna mampu mengeksplorasi
kemampuan dan menambah pengalaman lebih dibandingkan dengan platform
mobile lainnya. Hingga saat ini Android terus berkembang, baik secara sistem
maupun aplikasinya.
Sektor pertanian pun telah banyak menerapkan komputerisasi dalam
mengolah dan menyajikan informasi secara tepat, akurat, dan cepat, sehingga
dapat bermanfaat dalam menyelesaikan suatu permasalahan pada proses pekerjaan
pada sektor pertanian. Hal ini membuat proses pekerjaan yang dilakukan lebih
teliti dan optimal, karena tingkat persentase human error pada pekerjaan dapat
diminimalkan sehingga dapat memberikan hasil pertanian yang berkualitas baik.
Cabai merupakan salah satu komoditi agrobisnis pertanian atau
perkebunan di Indonesia yang banyak diminati oleh para petani. Hal ini
disebabkan makanan di Indonesia pada umumnya banyak menggunakan cabai,
sehingga cabai menjadi komoditi yang sangat menjanjikan bagi petani. Masalah
perlu untuk mendiagnosa gangguan yang menyerang tanaman cabai tersebut,
sehingga perlu diambil keputusan yang tepat untuk menangani masalah tersebut,
karena jika terjadi kesalahan dalam mendiagnosa, maka bukan saja akan membuat
biaya untuk pestisida yang bengkak, tetapi juga dapat mengakibatkan tanaman
cabai mati, sehingga panen menjadi gagal. Sehingga diperlukan seorang pakar di
bidang pertanian untuk melakukan diagnosa, namun seorang pakar tidak selalu
dapat hadir untuk membantu.
Untuk itulah perlu dikembangkan suatu sistem pakar untuk membantu
mendiagnosa gangguan pada tanaman cabai, yang bertujuan untuk mengadopsi
kemampuan yang mirip dengan pakar dalam berpikir atau bernalar dengan
ketelitian serta informasi yang tepat dan akurat, sehingga dapat menggantikan
peran vital seorang pakar dalam mencari solusi, memberikan keputusan, dan
memprediksi, sehingga memberikan kemudahan bagi orang yang awam dalam
mendiagnosa gangguan pada tanaman cabai.
1.2 Perumusan Masalah
Permasalahan yang diambil penulis adalah bagaimana membangun suatu
aplikasi sistem pakar yang dapat digunakan untuk mendiagnosa hama pada
tanaman cabai. Perumusan masalah tersebut adalah sebagai berikut:
a. Bagaimana menerapkan metode forward chaining pada pembuatan sistem
pakar sehingga dapat memberikan solusi berupa diagnosis jenis gangguan
b. Bagaimana tingkat akurasi sistem pakar dalam mendiagnosa hama pada
tanaman cabai?
c. Bagaimana mengimplementasikan aturan (rules) pada basis pengetahuan
(knowledge base) sehingga sistem pakar dapat menghasilkan solusi yang
tepat?
1.3 Batasan Masalah
Batasan masalah dalam tugas akhir ini adalah sebagai berikut :
a) Sistem pakar mendiagnosa gangguan yang menyerang tanaman cabai
yang berupa hama pada tanaman yang disebabkan oleh cendawan,
bakteri, ataupun virus.
b) Jenis cabai yang digunakan pada penelitian tugas akhir ini adalah jenis
cabai yang umumnya ditanam di Indonesia yaitu jenis cabai besar,
jenis cabai kecil/rawit dan jenis cabai keriting.
c) Sistem pakar ini mendiagnosa gangguan tanaman cabai melalui
gejala-gejala yang tampak pada fisik dari tanaman cabai.
d) Sistem ini memberikan anjuran tingkat kadar pemakaian pestisida pada
hama tanaman cabai.
e) Hasil dari diagnosis sistem berupa satu jenis hama pada tanaman cabai.
f) User dari sistem pakar yang akan dibangun adalah petani serta
mahasiswa pertanian.
1.4 Tujuan Penelitian
Tujuan dari pembuatan Aplikasi Sistem Pakar untuk Mendiagnosa Hama
pada Tanaman Cabai berbais Android ini antara lain :
a) Menciptakan sebuah sistem yang mampu mendiagnosa jenis gangguan
yang menyerang tanaman cabai dengan tepat berdasarkan gejala-gejala
serta memberikan anjuran jenis pestisida yang tepat digunakan untuk
pengendalian gangguan yang terdiagnosis berdasarkan teori dan
pengetahuan dari refrensi serta pakar di bidang pertanian.
b) Memberikan sarana sistem pakar dengan mudah, cepat, dan praktis dalam
mendiagnosa hama pada tanaman cabai berbasis perangkat mobile.
1.5 Manfaat
Adapun manfaat dari sistem pakar untuk mendiagnosa hama pada tanaman
cabai dengan metode forward chaining berbasis android adalah :
a) Dapat membantu user atau pengguna untuk mendiagnosa hama pada
tanaman cabai.
b) Mengetahui hama pada tanaman cabai melalui alat bantu sistem pakar.
c) Memberikan informasi pada user untuk mengenal lebih jauh tentang
bagaimana karakteristik dan profil hama pada tanaman cabai tersebut.
d) Mengetahui cara memberantas maupun menggendalikan hama pada
1.6 Metode Penelitian
Adapun untuk menyelesaikan tugas akhir ini, penulis melalui beberapa
tahapan-tahapan yang akan di lalui, yaitu :
a. Studi Literatur
Studi literatur dilakukan dengan cara mengumpulkan referensi baik dari
buku, internet, maupun sumber-sumber yang lainnya yang terkait dengan
judul penelitian ini.
b. Pengumpulan dan Analisis Data
Pengumpulan data dilakukan dengan cara : observasi, identifikasi dan
klasifikasi melalui studi literatur. Dari pengumpulan data tersebut dapat
dilakukan analisis data, yaitu dengan cara pengidentifikasian hama yang
menyerang tanaman cabai. Kemudian akan ditentukan suatu pemecahan
permasalahan pengendalian yang tepat untuk mengatasi hama yang
menyerang tanaman cabai.
c. Perancangan Sistem
Perancangan sistem yaitu melakukan analisa awal terhadap sistem yang akan
dibuat, dan memberikan pemecahan masalah yang dilakukan secara sistem
komputerisasi dengan cara mengklasifikasikan hama yang menyerang
tanaman cabai. Kemudian pada rancangan sistem akan di identifikasi
metode yang akan dipakai dalam pencarian solusi yang tepat guna mengatasi
d. Pembuatan program
Melakukan implementasi terhadap sistem berdasarkan hasil dari
perancangan sistem yang disesuaikan dengan kebutuhan.
e. Ujicoba sistem
Ujicoba sistem ini dilakukan dengan cara memverifikasi hasil dari setiap
tahap pembuatan program secara formal. Selain itu ujicoba program dapat
dilakukan pada akhir dari tahap-tahap analisa sistem, desain sistem dan
tahap penerapan sistem atau implementasi sistem.
f. Pembuatan Kesimpulan
Pada tahap ini program telah berjalan dengan baik sesuai dengan apa yang
diharapkan.
1.7 Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini
adalah sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini berisi latar belakang yang menjelaskan tentang
definisi Sistem pakar dan device mobile android dimana berkaitan
dengan permasalahan hama pada tanaman cabai serta solusi yang
di dapat, rumusan masalah, batasan masalah, metodologi
pembaca serta sistematika penulisan yang digunakan dalam
laporan tugas akhir ini.
BAB II TINJAUAN PUSTAKA
Pada bab ini membahas berbagai konsep dasar dan teori-teori yang
berkaitan dengan topik masalah yang diambil dan hal-hal yang
berguna dalam proses analisis permasalahan, sehingga
memudahkan penulis dalam menyelesaikannya.
BAB III ANALISIS SISTEM DAN PERANCANGAN SISTEM
Pada bab ini berisikan tentang proses analisis dan perancangan
sistem pakar untuk mendiagnosa hama pada tanaman cabai dengan
metode forward chaining berbasis android yang akan dibuat dengan
Eclipse sebagai editor dalam pembuatan coding aplikasi ini.
BAB IV IMPLEMENTASI DAN UJI COBA SISTEM
Pada bab ini berisi hasil implementasi dan uji coba dari
perancangan yang telah dibuat sebelumnya, beserta
pembahasannya tentang Sistem Pakar untuk Mendiagnosa Hama
pada tanaman cabai Berbasis Android, sehingga dapat
mempermudah dalam pembuatan dan evaluasi program, serta
bertujuan mencari kekurangan program agar dapat segera
BAB V PENUTUP
Bab ini akan menjelaskan tentang kesimpulan dari keseluruhan isi
dari laporan tugas akhir serta saran yang disampaikan penulis
untuk pengembangan sistem yang ada demi kesempurnaan sistem
yang lebih baik.
DAFTAR PUSTAKA
10
TINJ AUAN PUSTAKA
2.1 Tanaman Cabai
Tanaman cabai merupakan tanaman perdu dari family terong-terongan
yang memiliki nama ilmiah Capsicum annuum L. Pusat asal (penyebaran primer)
spesies ini di Meksiko, kemudian menyebar ke negara-negara benua Amerika,
Eropa dan Asia termasuk Negara Indonesia. Tanaman cabai banyak ragam tipe
pertumbuhan dan bentuk buahnya. Diperkirakan terdapat 20-30 spesies yang
sebagian besar hidup di Negara asalnya. Masyarakat pada umumnya hanya
mengenal beberapa jenis saja, yakni Cabai besar, cabai keriting, dan cabai rawit.
Secara umum cabai memiliki banyak kandungan gizi dan vitamin, diantaranya
Kalori, Protein, Lemak, Kabohidarat, Kalsium, Vitamin A, B1 dan Vitamin C.
Cabai juga merupakan salah satu bumbu dasar untuk penyedap rasa
masakan, umumnya berwarna merah menyala atau hijau tua. Jika cabe dibelah,
maka kita akan menemukan tangkai putih di dalamnya yang mengandung zat
capsaicin yang seperti minyak dan menyengat sel-sel pengecap lidah. Zat inilah
yang mengakibatkan cabai menjadi pedas dan panas di lidah ketika kita
mengkonsumsinya.
Tapi zat ini juga yang membuat orang ketagihan dan kecanduan saat
menyantap makanan. Namun, dibalik sensasi rasa pedasnya terdapat berjuta
manfaat dan kandungan gizi yg belum kita ketahui sebelumnya. Selain berkhasiat
Contohnya, pada cabai rawit yang rasa pedasnya luar biasa, ternyata mengandung
vitamin C dan betakaroten (provitamin A) yang konon dapat mengalahkan
kandungan pada buah-buahan seperti mangga, nanas, pepaya atau semangka.
Sebetulnya di antara jenis-jenis cabai lainnya, paprika merah memiliki
kandungan vitamin C yang paling tinggi hingga dua kali lipat. Sementara kadar
betakarotennya pun lebih unggul dibandingkan dengan paprika hijau, 9 kali lebih
besar. Sebagian besar kandungan beta karoten paprika terkonsentrasi pada bagian
di dekat kulit.Selain digunakan untuk keperluan rumah tangga, cabai juga dapat
digunakan untuk keperluan industri diantaranya, Industri bumbu masakan, industri
makanan dan industri obat-obatan atau jamu. (Nurwansyah, 2011)
2.1.1. Klasifikasi Cabai
Di dalam dunia tumbuhan, tanaman cabai diklasifikasikan sebagai berikut.
Kingdom : Plantae (Tumbuhan)
Sub Kingdom : Tracheobionta (Tumbuhan berpembuluh)
Super Divisi : Spermatophyta (Menghasilkan biji)
Divisi : Magnoliophyta (Tumbuhan berbunga)
Kelas : Magnoliopsida (berkeping dua / dikotil)
Sub Kelas : Asteridae
Ordo : Solanales
Famili : Solanaceae (suku terung-terungan)
Genus : Capsicum
2.1.2. Karakteristik Cabai
Seperti pada tanaman lainnya, tanaman cabai terdiri dari akar, buah, daun,
batang dan bunga. Berikut ini adalah karakteristik cabai dilihat dari bagian
tanaman akar, buah, daun, batang dan bunga serta ciri-ciri tanaman cabai
sebagaimana dipaparkan dalam table 2.1. (Faizar Nur, 2011)
Tabel 2.1 Karakteristik cabai
No Bagian Tanaman Ciri-ciri
1. Akar o Tanaman cabai memiliki perakaran yang cukup
rumit dan hanya terdiri dari akar serabut saja.
o Biasanya di akar terdapat bintil-bintil yang merupakan hasil simbiosis dengan beberapa mikroorganisme.
o Meskipun tidak memiliki akar tunggang,
namun ada beberapa akar tumbuh ke arah bawah yang berfungsi sebagai akar tunggang semu.
2. Buah o Buah cabai merupakan bagian tanaman cabai
yang paling banyak dikenal dan memiliki banyak variasi.
o Buah cabai terbagi dalam 11 tipe bentuk, yaitu serrano, cubanelle, cayenne, pimento, anaheim chile, cherry, jalapeno, elongate bell, ancho, banana, dan blocky bell.
o Hanya ada 10 tipe bentuk buah cabai, di mana tipe elongate bell dan blocky bell dianggap sama.
3. Daun o Daun tanaman cabai bervariasi menurut spesies
dan varietasnya. Ada daun yang berbentuk oval, lonjong, bahkan ada yang Ian- set.
o Warna permukaan daun bagian atas biasanya hijau muda, hijau, hijau tua, bahkan hijau kebiruan. Sedangkan permukaan daun pada bagian bawah umumnya berwarna hijau muda, hijau pucat atau hijau.
4. Batang o Tanaman cabai merupakan tanaman perdu dengan batang tidak berkayu. Biasanya, batang akan tumbuh sampai ketinggian tertentu, kemudian membentuk banyak percabangan.
o Untuk jenis-jenis cabai rawit, panjang batang biasanya tidak melebihi 100 cm. Namun untuk jenis cabai besar, panjang batang dapat mencapai 2 meter bahkan lebih.
o Batang tanaman cabai berwarna hijau, hijau tua, atau hijau muda. Pada batang-batang yang telah tua (biasanya batang paling bawah), akan muncul warna coklat seperti kayu. Ini merupakan kayu semu, yang diperoleh dari pengerasan jaringan parenkim.
5. Bunga o Bunga tanaman cabai juga bervariasi, namun
memiliki bentuk yang sama, yaitu berbentuk bintang, ini menunjukkan tanaman cabai termasuk dalam sub kelas Ateridae (berbunga bintang).
o Bunga biasanya tumbuh pada ketiak daun, dalam keadaan tunggal atau bergerombol dalam tandan. Dalam satu tandan biasanya terdapat 2 — 3 bunga saja.
o Mahkota bunga tanaman cabai warnanya
bermacam-macam, ada yang putih, putih kehijauan, dan ungu. Diameter bunga antara 5 — 20 mm.
o Bunga tanaman cabai merupakan bunga sempuma, artinya dalam satu tanaman terdapat bunga jantan dan bunga betina. Pemasakan bunga jantan dan bunga betina dalam waktu yang sama (atau hampir
sama), sehingga tanaman dapat melakukan
penyerbukan sendiri.
2.1.3. Manfaat Cabai
Berbagai kegiatan penelitian menyimpulkan dibalik rasa pedasnya, cabai
memiliki banyak manfaat terutama bagi kesehatan. Diantara manfaatnya cabai
dapat mengurangi resiko kanker, menurunkan kadar kolesterol dalam darah dan
bahkan dapat menyembuhkan luka. Diantaranya adalah Dokter Khursheed
konsumsi makanan pedas secara teratur untuk meningkatkan kualitas kesehatan
tubuh. Menurutnya, mengkonsumsi makanan pedas secara tidak berlebihan sangat
baik bagi kesehatan dan mengurangi risiko kanker.
Hasil penelitian laboratorium di Inggris menemukan, kandungan capsaicin
pada cabai yang menimbulkan rasa pedas, dapat membunuh sel kanker tanpa
merusak sel normal. Jadi tidak heran mengapa beberapa kasus kanker di Meksiko
dan India, yang masyarakatnya banyak mengkonsumsi makanan pedas, lebih
sedikit dibandingkan negara-negara Barat, yang masyarakatnya cenderung tidak
suka makanan pedas.
Sementara itu, dua penelitian yang dilakukan tim dari Australia juga
mengungkap, menambahkan cabai dalam setiap masakan bisa menurunkan kadar
kolesterol dalam darah. Hasil penelitian itu juga menjelaskan, makanan pedas juga
bisa menstabilkan kadar insulin dalam darah.
Dalam takaran yang tidak berlebihan, makanan pedas bahkan bermanfaat
untuk kesehatan lambung. Demikian hasil studi yang dilakukan tim peneliti dari
Hungaria. Capsaicin bisa mengurangi asam lambung dan berfungsi sebagai
antiinflamasi. (theglobal, 2008)
2.2 Hama pada Tanaman Cabai
Hama pada tanaman cabai merupakan binatang pengganggu tanaman.
Hama yang menyerang tanaman biasanya berasal dari serangga. Jenisnya juga
bermacam-macam. Untuk jenis hama diantarannya Thrips, Tungau, Lalat buah,
Kutu daun, Kutu kebul, Ulat buah, Ulat gerayak. Macam hama dan gejala
serangan hama yang sering menyerang tanaman cabai dipaparkan dalam Tabel
Tabel 2.2 Macam Hama dan gejala-gejala Hama Cabai
No. Macam Hama Gejala Penyebab
1. Thrips 1) Daun :
- Permukaan bawah
keperak-perakan
- Permukaan bawah berwarna
tembaga
- Kaku dan melengkung ke bawah
- Rontok dan mati
2) Bunga :
- Tunas dan bunga gugur
Tungau (MITE)
3. Lalat Buah 1) Buah :
- Bercak-bercak kecil kehitaman - Di dalam buah terdapat belatung
- Busuk dan gugur
2) Tanaman layu dan mati 3) Tanaman menjadi kerdil
Myzus persicae Sulz
5. Kutu Kebul 1) Daun :
- Bercak nekrotik pada daun
- Ada embun jelaga berwarna
- Di dalam buah terdapat ulat
- Busuk dan gugur
3) Serangan terjadi pada malam hari
2.2.1 Pengendalian dan Pemberantasan Hama Cabai
Hama penting pada tanaman dan buah cabai, di antaranya thrips, kutu
daun apids, kutu daun persik, tungau, kutu kebul, lalat buah, dan ulat gerayak.
Beberapa hama merupakan pembawa (vektor) penyakit penting. Satu ekor hama
dapat menularkan penyakit dari tanaman sakit ke tanaman sehat hanya dalam
beberapa hari. Serangan hama penting ini akan semakin tinggi pada musim
kemarau. Oleh karena itu, kegiatan pencegahan dan pengendalian rutin hama ini
sangat penting.
Penanggulangan dan pemberantasan hama tanaman cabai dapat dilakukan
dengan berbagai tindakan, sebagaimana telah dapat diuraikan pada Tabel 2.3.
Tabel 2.3 Pengendalian dan pemberantasan Hama Tanaman Cabai
No. Macam Hama Pengendalian dan Pemberantasan
1. Thrips • Jangan menanam cabai secara bertahap pada lokasi
yang sangat berdekatan.
• Lakukan pergiliran tanaman atau kosongkan areal (bera) penanaman lebih kurang satu bulan.
• Penyemprotan insektisida Curacron 50 EC
konsentrasi 2 ml/liter, Angrimex 18 EC konsentrasi 1 ml/liter, Abuki 50 SL, Demolish 18 EC, atau Abamectin 21 EC.
2. Kutu Daun • Jangan menanam cabai secara bertahap pada lokasi
yang sangat berdekatan.
• Lakukan pergiliran tanaman atau kosongkan areal (bera) penanaman lebih kurang satu bulan.
• Penyemprotan insektisida Curacron 50 EC
konsentrasi 2 ml/l, Agrimex 18 EC konsentrasi 1 ml/l, Buldok 25 EC, Deltramethrin 25 EC, Decis 2,5 EC, atau Orthene.
3. Tungau • Kumpulkan semua bagian yang terserang (utamanya
daun). Masukkan dalam kantong plastik dan bakar (musnahkan).
4. Kutu Kebul • Lakukan pergiliran tanaman (rotasi) yang bukan tanaman inang kutu kebul.
• Kumpulkan dan bakar sisa tanaman yang terserang kutu kebul.
• Kendalikan hama dengan memasang perangkap
berwarna kuning sebanyak 1 buah tiap 100m².
• Penyemprotan larutan Teflubenzuron 50 EC,
Permetrin 25 EC, Imidaklroplid 200 SL, dan Metidation di bagian bawah daun.
5. Lalat Buah • Lakukan pergiliran tanaman (rotasi) yang bukan
tanaman inang lalat buah.
• Kumpulkan buah cabai yang terserang, lalu
masukkan ke dalam kantong plastik dan
musnahkan.
• Kendalikan dengan perangkap lalat buah berbahan aktif petrogenol yang efektif memerangkap lalat jantan.
• Penyemprotan menggunakan insektisida, Decis 2,5 EC 1 ml per liter secara rutin hingga tuntas.
6. Ulat Buah • Lakukan pergiliran tanaman yang bukan tanaman
inang ulat buah.
• Kumpulkan buah cabai yang terserang, lalu
masukkan dalam kantong plastik dan musnahkan.
• Penyemprotan insektisida Decis 2,5 EC 1 ml/liter.
7. Ulat Gerayak • Kumpulkan telur dan ulat di bagian bawah daun, lalu musnahkan.
• Penyemprotan insektisida Decis 2,5 EC 1 ml/liter.
2.3 Sistem Pakar
Menurut Herman Tolle, seorang pakar/ahli (human expert) adalah seorang
individu yang memiliki kemampuan pemahaman yang superior dari suatu
Kemampuan yang dimiliki oleh seorang pakar :
a) Dapat mengenali dan merumuskan masalah
b) Menyelesaikan masalah dengan cepat dan tepat
c) Menjelaskan solusi
d) Belajar dari pengalaman
e) Restrukturasi pengetahuan
f) Menentukan relevansi/hubungan
g) Memahami batas kemampuan
Kepakaran/keahlian (Menurut Herman Tolle) merupakan pemahaman
yang luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan,
membaca dan pengalaman. Jenis-jenis pengetahuan yang dimiliki dalam
kepakaran :
a) Teori-teori dari permasalahan
b) Aturan dan prosedur yang mengacu pada area permasalahan
c) Aturan (heuristik) yang harus dikerjakan pada situasi yang terjadi
d) Strategi global untuk menyelesaikan berbagai jenis masalah
e) Meta-knowledge (pengetahuan tentang pengetahuan)
f) Fakta-fakta
Sistem Pakar (SP) atau expert system (ES) (Jogiyanto HM, 2003)
adalah sistem informasi yang berisi dengan pengetahuan dari pakar sehingga
dapat digunakan untuk konsultasi. Sistem pakar ini dapat berisi dengan
pengetahuan (knowledge) dari satu atau lebih pakar. Pengetahuan dari pakar
didalam sistem ini digunakan sebagai dasar oleh sistem pakar untuk menjawab
pertanyaan (konsultasi). Perbandingan seorang ahli pakar (human expert) dengan
Tabel 2.4 Perbandingan Ahli Pakar dengan Sistem Pakar
Faktor Ahli Pakar Sistem Pakar
Time Availability Hari Kerja Setiap saat
S\Geografis Lokal/tertentu Dimana saja
Keamanan Tidak tergantikan Dapat diganti
Perisable/dapat habis Ya Tidak
Performansi
Sumber : Herman Tolle, 2008
Alasan mendasar mengapa ES dikembangkan untuk menggantikan
seorang pakar (Kusrini, 2006) :
a) Dapat menyediakan kepakaran setiap waktu dan berbagai lokasi
b) Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan
seorang pakar
c) Seorang pakar akan pension atau pergi
d) Seorang pakar adalah mahal
e) Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat
(hostile environtment)
2.3.1 Ciri-Cir i Sistem Pakar
Menurut ReoRid (2005) Sistem pakar memiliki cirri-ciri sebagai berikut :
a) Memiliki informasi yang handal
b) Mudah dimodifikasi
c) Heuristik dalam menggunakan pengetahuan (yang sering kali tidak
sempurna) untuk mendapatkan penyelesaiannya
d) Dapat digunakan dalam berbagai jenis computer
2.3.2 Kelebihan dan Kekur angan Sistem Pakar
Sistem pakar (menurut ReoRid, 2005) memiliki kelebihan sebagai berikut:
a. Orang awam bisa menggunakannya
b. Melestarikan keahlian seorang pakar
c. Kemampuan dalam mengakses pengetahuan
d. Bisa bekerja dalam informasi yang tidak lengkap
e. Media pelengkap dalam penelitian
f. Menghemat waktu dalam mengambil suatu keputusan
g. Proses secara otomatis
h. Keahlian sama dengan seorang pakar
i. Produktifitas
Sedangkan kekurangan dari sistem pakar adalah sebagai berikut :
a. Biaya yang sangat mahal membuat dan memeliharanya
b. Sulit dikembangkan karena keterbatasan keahlian dan ketersediaan pakar
c. Sistem pakar tidak 100% benar
2.3.3 Ar sitektur Sistem Pakar
Pada dasarnya sistem pakar terdiri dari empat komponen utama. (Arfin
Watilete, 2006) Berikut ini adalah gambar dari keempat komponen utama
Gambar 2.1 Arsitektur Sistem Pakar
Adapun penjelasan dari masing-masing komponen tersebut adalah sebagai
berikut :
1. Knowledge Acquisition Interface (antar muka akusisi pengetahuan)
Knowledge Acquisition Interface mengontrol bagaimana seorang pakar dan
rekayasa pengetahuan (Knowledge engineer) berinteraksi dengan program
untuk memasukkan pengetahuan kedalam basis pengetahuan (knowledge
base). Termasuk hal-hal yang dimaksudkan untuk membantu para pakar
dalam mengekspresikan pengetahuannya dalam bentuk yang sesuai yang bisa
diterima oleh komputer.
Proses ini mengekspresikan pengetahuan dalam basis pengetahuan yang biasa
disebut dengan akuisisi pengetahuan (knowledge acquisition). Akuisisi
pengetahuan akan menjadi sangat sulit, karena aspek dari pengembangan
2. User Interface
User Interface adalah bagian dari program yang berinteraksi dengan
pengguna. Prompt bagi pengguna digunakan untuk informasi yang diperlukan
untuk memecahkan masalah, menampilkan kesimpulan dan menjelaskan
alasannya. Fasilitas dari user interface kerapkali memasukkan :
a. Tidak menanyakan pertanyaan yang bersifat basa-basi
b. Menjelaskan alas an atas pertanyaan yang diajukan
c. Menyediakan dokumentasi dari referensi
d. Mendefinisikan istilah-istilah yang bersifat teknik
e. Laporan rekomendasi yang cukup detail
f. Pembenaran rekomendasi
g. Bantuan online (Online help)
h. Penyajian informasi berbentuk gambar
3. Knowledge Base
Knowledge Base terdiri dari detail pengetahuan tentang domain tertentu. Basis
pengetahuan sangat beda dengan basis data yang mana basis pengetahuannya
terdiri dari pengetahuan eksplisit (explicit knowledge) dan pengetahuan
implist (implicit knowledge) . Banyak pengetahuan dalam basis pengetahuan
tidak dalam kondisi eksplisit, tetapi diproses dengan mesin inferensi
(inference engine) dari penyataan eksplisit kedalam basis pengetahuan. Hal ini
membuat basis pengetahuan lebih efisien dalam penyimpanan data bila
dibandingkan dengan basis data.
Basis pengetahuan dapat terdiri dari beberapa tipe pengetahuan dan
proses mendapatkan pengetahuan untuk basis pengetahuan kerapkali berbeda
4. Inference Engine
Inference Engine secara umum memperoses rule untuk memberikan alas an
dan menggambarkan kesimpulan-kesimpulan yang tidak dapat dilihat tetapi
dapat diproses dari basis pengetahuan.
Mesin inferensi dapat dikatakan sama dengan query dalam sistem basis
data. Tugas dari modul inferensi adalah mengeksplorasi basis pengetahuan
untuk mencari solusi dari permesalahan tertentu.
Inference Engine mampu memberikan alasan simbolik, bukan hanya
alasan yang bersifat matematik. Bentuk Inference Engine diperkenankan
untuk dikembangkan dalam berbagai variasi, tergantung dari berbagai faktor,
termasuk bagaimana cara merepresentasikan pengetahuan.
Terdapat 2 metode dalam Inference Engine yaitu metode forward chaining
dan metode backward chaining.
a. Forward chaining
Forward chaining merupakan grup dari multiple inferensi yang melakukan
pencarian dari suatu masalah kepada solusinya. Jika klausa premis sesuai
dengan situasi (bernilai true), maka proses akan meng-assert konklusi.
Forward chaining dimulai dengan informasi yang tersedia dan baru konklusi
diproleh.
b. Backward chaining
Backward chaining menggunakan pendekatan goal-driven, dimulai dari
ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada
2.3.4 Representasi Pengetahuan
Representasi Pengetahuan adalah metode yang digunakan untuk
menggabungkan pengetahuan dalam basis pengetahuan dari sistem pakar.
Teknik-teknik yang digunakan untuk representasi pengetahuan antara lain :
1) Object-Attribute-Value Triplets
Didalam sistem pakar, fakta digunakan untuk membantu menguraikan
bagian-bagian dari frame, semantic network atau rule. Didalam AI (Artificial
Intelligence) dan sistem pakar, sebuah fakta sering disebut sebagai proposition.
Proposition adalah sebuah pernyataan yang salah satunya true atau false. Sebuah
fact (fakta), mungkin juga digunakan untuk menyatakan nilai dari property
tertentu dari beberapa objek. Berikut ini contoh Gambar 2.2 dari O-A-V.
Gambar 2.2 O-A-V (Object-Attribute-Value Triplets)
2) Rule
Fact (Fakta) yang ditulis oleh user merupakan operasi yang sangat penting
bagi sistem pakar. Operasi tersebut memungkinkan sistem untuk mengetahui
kondisi yang sedang terjadi. Oleh karena itu, sistem yang harus mempunyai
pengetahuan tambahan agar dapat bekerja secara intelligent dengan fakta yang ada
untuk menyelesaikan suatu masalah. Sebuah struktur pengetahuan yang
digunakan secara umum dalam sistem pakar dengan menyediakan pengetahuan
Sebuah rule adalah bentuk dari procedural knowledge yang diasosiasikan
untuk memberikan informasi bagi beberapa aksi. Struktur rule secara logic
menghubungkan satu atau beberapa alasan (premise) yang terdapat dalam
pernyataan JIKA (IF) dengan satu atau lebih kesimpulan (conclusion) yang
terdapat dalam pernyataan MAKA (THEN)
Secara umum rule dapat mempunyai beberapa alasan yang digabungkan
dengan pernyataan AND (confunction) atau pernyataan OR (disfunction) atau
dapat juga menggabungkan keduanya.
3) Frame
Frame merupakan sebuah struktur data untuk merepresentasikan
pengetahuan dari berbagai konsep atau objek. Sebuah frame juga dapat
digambarkan dalam berbagai bentuk seperti pada Gambar 2.3.
Gambar 2.3 Frame
4) Semantic network
Semantic network merupakan salah satu teknik untuk menggambarkan
representasi pengetahuan melalui semantic network dapat dilihat pada Gambar 2.4
berikut ini.
Gambar 2.4 Semantic Network
Ada beberapa keunggulan yang dimiliki oleh semantic network :
a) Kemudahan dalam penambahan node dan link, serta mudah dimengerti
b) Lebih detail dalam menggambarkan suatu object
c) Hamper sama dengan penyimpanan informasi
d) Dapat membuat alasan dan membuat definisi pernyataan antara link
yang tidak terhubung
5) Logic
Bentuk pengetahuan yang paling tua dalam merepresentasikan
pengetahuan dalam computer adalah logic. Dalam logic sendiri ada dua teknik
yang sering digunakan dalam representasi pengetahuan yaitu propositional logic
dan predicate calculus.
a) propositional logic
propositional logic merepresentasikan dan memberi alasan dengan dahlil
b) Predicate calculus
Predicate calculus membagi pernyataan menjadi beberapa bagian,
pemberian nama, karakteristik objek, keterangan lain tentang objek.
2.3.5 Verifikasi
Suatu kualitas dari basis pengetahuan dapat dilihat dari ukuran,
kompleksitas dan sifat kritikal dari aplikasi-aplikasi yang ada. Semua itu dapat
diwujudkan dari proses-proses verifikasi. Elemen ini sangat penting bagi suatu
sistem berbasis pengetahuan. Verifikasi adalah membangun sistem pakar yang
benar.
Verifikasi itu sendiri terdiri dari dua proses yaitu :
(1) Memeriksa pelaksanaan suatu sistem secara spesifik
(2) Memeriksa konsistensi dan kelengkapan dari basis pengetahuan
Verifikasi dijalankan ketika ada penambahan atau perubahan pada rule,
karena rule tersebut sudah ada pada sistem. Sedangkan tujuan verifikasi adalah
untuk memastikan adanya kecocokan antara sistem dengan apa yang sistem
kerjakan (rule base) dan juga untuk memastikan bahwa sistem itu terbebas dari
Conflicting rules terjadi jika dua buah rule atau lebih mempunyai premis yang
(3) Circular rules
Circular rules adalah suatu keadaan dimana terjadi proses perulangan dari
suatu rule. Ini dikarenakan suatu premis dari salah satu rule merupakan
konklusi dari rule yang lain.
2.3.6 Block Diagram
Block diagram merupakan susunan rule-rule yang terdapat di dalam
sebuah bidang ilmu. Dengan membuat block diagram di dalam sistem pakar maka
dapat diketahui urutan kerja sistem dalam mencari keputusan.
2.3.7 Dependency Diagram
Dependency diagram di dalam sistem pakar bersifat untuk menunjukkan
hubungan atau ketergantungan antara inputan pertanyaan, rule-rule dan
rekomendasi yang dibuat oleh prototype sistem berbasis pengetahuan. Dari block
diagram diatas apabila diteruskan menjadi dependency diagram.
2.4 Sekilas Tentang J ava
Java adalah bahasa pemrograman yang disusun oleh James Gosling yang
dibantu oleh rekan-rekannya di suatu perusahaan perangkat lunak yang bernama
Sun Microsystems, pada tahun 1991. Bahasa pemrograman ini mula-mula
diinisialisasi dengan nama “ Oak ”, namun pada tahun 1995 diganti namanya
menjadi “Java”. Menurut definisi Sun, Java adalah nama sekumpulan teknologi
untuk membuat dan menjalankan perangkat lunak pada komputer standalone
ataupun pada lingkungan jaringan. Java berdiri di atas sebuah mesin interpreter
bytecode dalam file .class dari suatu program sebagai representasi langsung
program yang berisi bahasa mesin. Java disebut sebagai bahasa pemrograman
yang portable karena dapat dijalankan pada berbagai sistem operasi.
Alasan utama pembentukan bahasa Java adalah untuk membuat
aplikasi-aplikasi yang dapat diletakkan di berbagai macam perangkat elektronik, sehingga
Java harus bersifat platform independent (tidak bergantung pada platform). Itulah
yang menyebabkan dalam dunia pemrograman Java dikenal adanya istilah ‘write
once, run everywhere’, yang berarti kode program hanya ditulis sekali, namun
dapat dijalankan di bawah platform manapun, tanpa harus melakukan perubahan
kode program.( Eko, 2006 )
2.4.1 Ar sitektur Java
Secara arsitektur, Java tidak berubah sedikitpun sejak awal mula bahasa
tersebut dirilis. Compiler Java (yang disebut dengan javac atau Java Compiler)
akan mentransformasikan kode-kode dalam bahasa Java ke dalam suatu bytecode.
Dimana bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian
dapat dieksekusi melalui sebuah mesin komputer abstrak, yang disebut dengan
JVM ( Java Virtual Machine ). JVM juga sering dinamakan sebagai interpreter,
karena sifatnya yang selalu menerjemahkan kode-kode yang tersimpan dalam
bytecode dengan cara baris demi baris.
Untuk menjalankan program Java, maka file dengan ekstensi .java harus
dikompilasi menjadi file bytecode. Dimana untuk menjalankan bytecode tersebut
dibutuhkan JRE ( Java Runtime Environment ) yang memungkinkan pemakai
untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode
2.4.2 J ava 2
Sun Microsystems telah mendefinisikan tiga buah edisi dari Java 2, yaitu :
a. Java 2 Standard Edition (J 2SE),
Java 2 Standard Edition (J2SE), adalah inti dari bahasa pemrograman Java.
JDK merupakan salah satu tool dari J2SE untuk mengkompilasi dan
menjalankan program Java. Di dalamnya terdapat tool untuk mengkompilasi
program Java dan JRE. J2SE ini digunakan pada perangkat keras seperti
komputer desktop.
b. Java 2 Enterprise Edition (J 2EE),
Java 2 Enterprise Edition (J2EE), merupakan superset dari J2SE yang
memperbolehkan kita untuk mengembangkan aplikasi-aplikasi berskala besar
(enterprise) karena dijalankan pada jaringan komputer.
c. Java 2 Micro Edition (J 2ME),
Java 2 Enterprise Edition (J2EE), merupakan subset dari J2SE yang digunakan
untuk menangani pemrograman di dalam perangkat-perangkat kecil, yang tidak
memungkinkan untuk mendukung implementasi J2SE secara penuh. Paket
J2ME digunakan pada perangkat yang memiliki memory kecil seperti ponsel,
pager atau PDA. Masing-masing kategori di atas mengimplementasikan Java Virtual Machine (JVM) yang berbeda-beda sesuai dengan kemampuan yang
dimiliki oleh platform yang menjadi tempat aplikasi tersebut
diimplementasikan. ( Eko, 2006).
2.4.3 Konsep Java Sebagai Object Oriented Pr ogram
Java merupakan bahasa pemrograman berorientasi objek. Pada bagian ini
A. Objek
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap
sebagai sebuah objek. Ada dua karakteristik utama sebuah objek, yaitu :
a) Setiap objek memiliki atribut sebagai status yang disebut state.
b) Setiap objek memiliki tingkah laku yang disebut behavior. Contoh : motor
c) Motor memiliki atribut (state) : roda, jeruji dan warna.
d) Motor memiliki tingkah laku (behavior) : kecepatan dan perpindahan gigi.
B. Class
Class merupakan prototype yang mendefinisikan variabel–variabel dan method-method secara umum. Class tidak sama dengan objek, objek pada sisi lain
merupakan instansiasi dari suatu kelas. Contoh suatu class sederhana :
C. Enkapsulasi (Pembungkusan)
Enkapsulasi merupakan bungkusan pelindung program dan data yang
sedang diolah. Pembungkusan ini mendefinisikan program dan data yang sedang
diolah agar tidak diakses sembarangan oleh program lain. Manfaat dari
enkapsulasi antara lain:
a) Kode sumber dari sebuah objek dapat dikelola secara independen dari
kode sumber objek yang lain.
b) Dapat menentukan hak akses sebuah variabel atau method dari objek,
dengan demikian bisa menyembunyikan informasi yang tidak perlu
diketahui objek lain.
Public class ContohKelas { //body class
D. Inheritance (Pewarisan)
Inheritance merupakan pewarisan atribut dan method pada sebuah class
yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan
mewarisi state (variabel) dan behavior (method) dari superclass-nya. Subclass
dapat menambahkan state dan behavior baru secara spesifik dan dapat pula
memodifikasi state dan behavior yang diturunkan oleh superclass-nya.
Manfaat dari inheritance adalah sebagai berikut:
1. Subclass menyediakan state atau behaviour secara spesifik yang
membedakannya dengan superclass, hal ini memungkinkan untuk
menggunakan ulang source code dari superclass yang telah ada.
2. Dapat mendefinisikan superclass khusus yang bersifat generik, yang
disebut abstract class, yang berfungsi untuk mendefinisikan class dengan
behaviour dan state secara umum.
Ada beberapa istilah dalam inheritance yang perlu diperhatikan,
diantaranya sebagai berikut:
a. Extends : keyword ini ditambahkan pada definisi class yang menjadi subclass.
b. Superclass : digunakan untuk menunjukkan hirarki class yang berarti class
dasar dari subclass.
c. Subclass : class anak atau turunan secara hirarki dari superclass.
d. Superclass: keyword ini digunakan untuk memanggil konstruktor dari
superclass atau menjadi variabel yang mengacu pada superclass.
f. Method Overloading : mendefinisikan method yang memiliki nama yang
sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.
E. Polimorfisme
Polimorfisme merupakan kemampuan dari suatu variabel referensi objek
untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi
method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi agar polimorfisme dapat diterapkan adalah :
a. Method yang dipanggil harus melalui variable dari basis class yaitu superclass
b. Method yang dipanggil juga harus menjadi method dari basis class.
c. Signature method harus sama baik pada superclass maupun subclass.
d. Method access attribute pada subclass tidak boleh lebih terbatas dari basis class. ( Eko, 2006)
2.5 Andr oid
Pada tahun 2005 Google mengakuisisi Android Inc yang pada saat itu
dimotori oleh Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Yang
kemudian pada tahun itu juga memulai membangun platform Android secara
intensif.
Kemudian pada tanggal 12 November 2007 Google bersama Open
Handset Alliance (OHA) yaitu konsorsium perangkat mobile terbuka, merilis
Google Android SDK, setelah mengumumkannya seminggu sebelumnya. Dan
sambutanya sangat luar biasa, hampir semua media berita tentang IT dan
Gambar 2.5 Android Timeline
Google bersama dengan OHA merilis paket software SDK yang lengkap
untuk mengembangkan aplikasi pada perangkat mobile yaitu : Sistem operasi,
Middleware dan aplikasi utama untuk perangkat mobile. Sebagai Programmer dan Developer bisa melakukan segalanya, mulai dari membuat aplikasi pengiriman
SMS hanya dengan dua baris kode, hingga mengganti event pada Home Screen
perangkat Android. Selain itu, bahkan dengan mudah bisa membuat dan
mengkustomisasi Sistem Operasinya, atau mengganti semua aplikasi default dari
Google.p
Semua aplikasi yang dibuat untuk Android akan memiliki akses yang
setara dalam mengakses seluruh kemampuan handset, tanpa membedakan apakah
itu merupakan aplikasi inti atau aplikasi pihak ketiga. Dalam kata lain dengan
platform Android ini, Programmer dan Developer secara penuh akan bisa
mengkustomisasi perangkat androidnya.
Android built in pada Linux Kernel (Open Linux Kernel), dengan sebuah
mesin virtual yang telah didesain dan untuk mengoptimalkan penggunan sumber
daya memori dan hardware pada lingkungan perangkat mobile. Dalvik adalah
nama dari Android Virtual Machine, yang merupakan interpreter virtual mesin
yang akan mengeksekusi file kedalam format Dalvik Executeable(*.dex). sebuah
format yang telah dirancang untuk ruang penyimpanan yang efisien dan eksekusi
memori yang terpetakan.
Dalvik Virtual Machine (Dalvik VM) berbasis register, dan dapat
mengeksekusi kelas yang telah terkompilasi pada compiler bahasa Java,
kemudian di transformasikan ke dalam native format dengan menggunakan tool
“dx” yang telah terintegrasi. Mungkin telah mengenal JavaVM (Java Virtual
Machines), yang saat ini bisa ditemukan pada setiap komputer desktop. Berbeda
dengan DalvikVM, JavaVM berbasis stack. DalvikVM memiliki keunggulan
dengan menggunakan Registered Based, ini karena pada prosesor perangkat
genggam telah dioptimasi untuk eksekusi berbasis register.
Android saat ini tidak hanya berjalan pada handphone, beberapa vendor
menanamkan Android pada Tablet, Internet Tablet, E-Book Reader, Laptop, dan
gadget lainnya. Dengan begitu akan sangat berharga sekali mempelajari platform
ini, dengan arsitekturnya yang terbuka, maka platform ini Android adalah
2.5.1 Pengenalan Sistem Operasi Android
Android merupakan sebuah system operasi terbuka yang diperuntukan
untuk perangkat bergerak (Mobile device). Dikembangkan oleh Open Handset
Alliance yang terdiri dari pengembang software, hardware dan provider seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVIDIA yang bertujuan
membuat sebuah standar terbuka untuk perangkat bergerak (mobile device). Pada
Juli 2005 android telah diakuisisi oleh google dan pada 5 November 2007 barulah
secara resmi Android di rilis oleh Google. Dalam pengembangan aplikasi android
menyediakan Android SDK yang menyediakan tools dan API untuk para
pengembang aplikasi dengan platform android.
Android menggunakan java sebagai bahasa pemogramannya.
Di bawah ini adalah Features yang terdapat pada android:
a. Application Framework yang memungkinkan penggunaan dan penghapusan
komponen yang tersedia
b. Dalvik Virtual Machine, yaitu mesin virtual yang dioptimalkan untuk
perangkat mobile.
c. Integrated browser based on the open source WebKit engine
d. Graphic Library, yang mendukung grafik 2D dan 3D berdasarkan OpenGLLibrary.
e. SQLite untuk penyimpanan struktur data
f. Media Supported, yang mendukung beberapa media seperti: audio, video, dan
berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
g. Hardware Independent, mendukung GSM, Bluetooth, EDGE, 3G, Wifi,
h. Rich development environment mencakup perangkat emulator, tools untuk debug, memory dan permormance profiling serta plugin untuk Eclipse IDE. (
Safaat , Nazaruddin, 2011)
2.5.1.1 Arsitektur Sistem Operasi Andr oid
Ada 4 dasar yang harus dipahami dalam membangun aplikasi berbasis android:
a. Activity, adalah tampilan grafis yang terlihat ketika menjalankan sebuah
aplikasi, aplikasi dapat memiliki lebih dari satu Activity.
b. Intent, adalah serangkaian value yang menunjukan apa yang harus
dilakukan ketika terjadi perpindahan layar.
c. Service, adalah layanan yang bekerja di Backend.
d. Content provider, memungkinkan sebuah aplikasi untuk dapat
menyimpan dan menerima data dari database.
Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap
lapisan dari tumpukan ini menghimpun beberapa program yang mendukung
fungsi-fungsi spesifik dari sistem operasi.
Berikut ini susunan dari lapisan – lapisan dari lapisan dasar hingga lapisan teratas
:
a. Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google
menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang
mencakup memory management, security setting, power management, dan
beberapa driver hardware. Kernel berperan sebaagai abstraction layer antara
kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna
mengirimkan perintah kepada hardware kamera.
b. Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime.
Android Runtime ini berisi Core Libraries dan Dalvik Viirtual Machine.
Core Libraries mencakup serangkaian inti library Java, artinya Android
menyertakan satu set library-library dasar yang menyediakan sebagian besar
fungsi-fungsi yang ada pada librarylibrary dasar bahasa pemrograman Java.
Dalvik adalah Java Virtual Machine yang member kekuatan pada sistem
Android. Dalvik VM ini di optimalkan untuk telepon seluler. Setiap aplikasi yang
berjalan pada Android berjalan pada processnya sendiri, dengan instance dari
Dalvik Virtual Machine.
Dalvik telah dibuat sehingga sebuah piranti yang memakainya dapat
menjalankan multi Virtual Machine dengan efisien. Dalvik VM dapat
mengeksekusi file dengan format Dalvik Executable (.dex) yang telah dioptimasi
untuk menggunakan minimal memory footprint. Virtual Machine ini
register-based, dan menjalankan class-class yang decompile menggunakan compiler Java
yang kemudian ditransformasi menjadi format .dex menggunakan "dx" tool yang
telah disertakan. Dalvik Virtual Machine (VM) menggunakan kernel Linux untuk
menjalankan fungsi-fungsi seperti threading dan low-level memory management.
c. Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries.
Android menyertakan satu set library-library dalam bahasa C/C++ yang
digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan
Sebagai contoh Android mendukung pemutaran format audio, video, dan
gambar. Berikut ini beberapa core library tersebut :
• System C library
diturunkan dari implementasi standard C system library (libc) milik BSD,
dioptimasi untuk piranti embedded berbasis Linux
• Media Libraries
Berdasarkan PacketVideo's OpenCORE; library-library ini mendukung
playback dan recording dari berbada format audio and video populer,
meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
• Surface Manager
mengatur akses pada display dan lapisan composites 2D and 3D graphic dari
berbagai aplikasi
• LibWebCoreweb
web browser engine modern yang mensupport Android browser maupun embeddable web view
• SGL
the underlying 2D graphics engine • 3D libraries
implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan
hardware 3D acceleration dan highly optimized 3D software rasterizer • FreeType
bitmap dan vector font rendering
• SQLite
d. Application Framewor k
Lapisan selanjutnya adalah application framework, yang mencakup
program untuk mengatur fungsi-fungsi dasar smartphone. Application
Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar - proses atau program, dan
pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi
penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk
menciptakan aplikasi yang lebih kompleks.
Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali
komponen-komponen, setiap aplikasi dapat menunjukkan kemampuannya dan
aplikasi lain dapat memakai kemampuan tersebut. Di dalam semua aplikasi
terdapat servis dan sistem yang meliputi :
• Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi
lists, grids, text boxes, buttons, dan embeddable web browser.
• Content Providers yang memungkinkan aplikasi untuk mengakses data
dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang
dimilikinya.
• Resource Manager, menyediakan akses ke non-code resources misalnya
localized strings, graphics, dan layout files.
• Notification Manager yang memungkinkan semua aplikasi untuk
menampilkan custom alerts pada status bar
• Activity Manager yang memanage life cycle dari aplikasi dan
e. Application
Pada lapisan teratas bercokol aplikasi itu sendiri. Pada lapisan inilah anda
menemukan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim
pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain.
Bagi rata-rata pengguna, lapisan inilah yang paling sering mereka akses. Mereka
mengakses fungsi-fungsi dasar tersebut melalui user interface. (Google IO, 2009)
Gambar 2.7 Arsitertur Android
2.5.2 Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada android [ Reto Meier, Profesional
a. Foreground Activity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan
tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti
mempertimbangkan siklus hidup activity, sehingga perpindahan antar
activity dapat berlangsung dengan lancar.
b. Background Service
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari
pengaturan konfigurasi semua dari prosesnya tidak tidak tampak pada
layar Contohnya aplikasi penyaringan panggilan atau sms auto respon.
c. Intermittent Activity
Aplikasi yang masih membutuhkan beberapa masukkan dari
pengguna, namun sebagian sangat efektif jika dijalankan dibackground
Contohnya pemutar musik. Untuk aplikasi yang kompleks akan sulit
untuk menentukan kategori aplikasi tersebut apalagi aplikasi memiliki
ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan
bagaimana aplikasi tersebut digunakan dan menentukan kategori
aplikasi yang sesuai. (Safaat , Nazaruddin, 2011)
2.5.3 Contoh Coding
package com.wilis.uicoding1; import android.app.Activity; import android.os.Bundle;
public class uicoding1 extends Activity {
/** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main); }
Uicoding1.java di atas berarti hanya menampilkan isi dari main.xml. hal
itu ditujukan dengan coding setContentView (R.layout.main), itu berarti user
interface aplikasi di-handle sepenuhnya di main.xml (Safaat , Nazaruddin , 2011).
Main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com /apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya TextView" /> <Button android:id="@+id/button"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya Button" /> </LinearLayout>
Di dalam main.xml ini terdiri dari dua komponen yaitu TextView dan
Button. TextView berupa tulisan “Hello saya TextView” dengan nama Variable
id/text serta Button dengan tulisan “Hello saya Button” dengan variable id/button.
Di mana kedua komponen itu ditampilkan dengan layout “wrap_content”.
Pemberian nama variable dari setiap komponen didalam main.xml diawali dengan
tanda @+. Dapat dilihat pada Gambar 2.8 hasil implementasi coding diatas
(Safaat , Nazaruddin, 2011).
2.5.4 Versi Andr oid
Seiring pembentukan Open Handset Alliance, OHA mengumumkan
produk perdana mereka, Android, perangkat bergerak (mobile) yang merupakan
modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai
pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon pertama
yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22
Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling
sedikit terdapat 18 jenis telepon seluler yang menggunakan Android. (Safaat ,
Nazaruddin, 2011)
2.5.4.1 Andr oid Versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini
dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search
(pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.
(Safaat , Nazaruddin, 2011)
2.5.4.2 Andr oid Versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler
dengan menggunakan Android dan SDK (Software Development Kit) dengan
versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan
beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton
video dengan modus kamera, mengunggah 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
2.5.4.3 Andr oid Versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan proses
pencarian yang lebih baik dibanding 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 dintegrasikan ; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech
engine, kemampuan dial kontak; teknologi text to change speech (tidak tersedia
pada semua ponsel; pengadaan resolusi VWGA) . (Safaat , Nazaruddin, 2011)
2.5.4.4 Andr oid 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 hardware,
peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan
dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2
MP, digital Zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi berikut,
Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile
terbaik (killer apps - aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi
setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang
tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah
handset Android, semakin banyak pihak ketiga yang berminatu ntuk menyalurkan
aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke
dalam sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug.