1 BAB 2 LANDASAN TEORI 2.1 Teori

advertisement
BAB 2
LANDASAN TEORI
2.1
Teori-teori Umum
Teori – teori umum adalah teori yang mendasari untuk pengembangan
aplikasi sistem pakar untuk mendeteksi penyakit tanaman dengan layanan
berbasis lokasi seperti kecerdasan buatan, sistem informasi geografis, teori dasar
rekayasa perangkat lunak, software development life cycle, bahasa pemrograman
yang akan digunakan dalam pengembangan aplikasi seperti HTML, CSS, PHP,
JAVA, teori mengenai database, MySQL, serta istilah framework, API dan
SDK.
2.1.1
Kecerdasan Buatan
Kecerdasan buatan adalah entitas kecerdasan ilmiah yang umumnya
dapat melakukan perhitungan seperti mesin tetapi berpikir dan bertindak seperti
layaknya manusia sehingga dapat mengambil keputusan, belajar dan
memecahkan masalah yang rumit. (Russell & Norvig, 2010, p2)
2.1.1.1
Sejarah
Menurut Jones (2008, p3), pada tahun 1950 adalah ide awal untuk
kecerdasan buatan (Artificial Intelligence) mulai terbentuk, salah satunya adalah
dengan membangun mesin cerdas. Pada saat itu, seorang ilmuwan Alan Turing
bertanya apakah mesin bisa berpikir. Alan Turing kemudian memperkenalkan
konsep mesin universal abstrak yang sederhana dan bisa memecahkan masalah
9
10
matematika (albiet dengan beberapa kompleksitas). Hasil penelitian ini disebut
Tes Turing (Turing Test). Dalam tes Turing, jika mesin bisa mengelampaui
manusia dalam berpikir, maka tes kecerdasan dapat dinyatakan lulus.
Tes Turing diawali dengan berkomunikasi dengan agen lain melalui
keyboard. Pertanyaan diminta dari pengguna lain (pakar ahli) melalui teks
tertulis, dan tanggapan yang diberikan melalui terminal. Pengguna lain (pakar
ahli) yang cerdas dan berpengetahuan diperlukan untuk memiliki percakapan
cerdas, pengguna juga harus mampu mengurai dan memahami bahasa alami
sehingga menghasilkan respon berupa bahasa alami pula. Pertanyaan tersebut
melibatkan keterampilan penalaran (seperti pemecahan masalah).
Program kecerdasan buatan pertama kali ditulis untuk komputer disebut
"The Theorist Logic” pada tahun 1956 oleh Allen Newell, Herbert Simon, dan
JC Shaw untuk menemukan bukti sebuah persamaan. Hal yang paling unik
tentang program ini adalah bahwa ditemukan bukti yang lebih baik daripada
yang ada sebelumnya untuk persamaan yang diberikan. Kemudian pada tahun
1957, Herbert Simon dan Allen Newell mengembangkan General Problem
Solver (GPS) sebagai lanjutan pengembangan dari penelitian sebelumnya.
General Problem Solver (GPS) digunakan sebagai alat analisis untuk
memecahkan masalah, tetapi secara umum dibatasi untuk masalah permainan
berbentuk matematika kompleks.
Pada tahun 1970-an, kecerdasan buatan telah menghasilkan ketertarikan
yang cukup luas dan besar kepada komunitas riset. Salah satu sistem pakar
pertama yang menunjukkan aturan berbasis arsitektur disebut MYCIN, dan
dikembangkan oleh Ted Shortliffe mengikuti disertasinya pada temporary
11
subject di Stanford University pada tahun 1974. MYCIN dioperasikan di bidang
diagnosa medis dan menunjukkan representasi pengetahuan dan inferensi.
Kemudian dalam dekade ini, disertasi lain yang dibuat oleh Bill
VanMelles di Stanford University dibangun pada arsitektur MYCIN dan
berfungsi sebagai model untuk kerangka sistem pakar yang masih digunakan
sampai sekarang. Tujuan dari sistem di era zaman ini adalah pengembangan
sistem pakar untuk menjawab pertanyaan cerdas. Untuk memahami pertanyaan
dinyatakan dalam bahasa alami, pertanyaan pertama harus dipecah menjadi
bagian fundamentalnya atau yang paling mendasar.
2.1.2 Sistem Informasi Geografis
Sistem informasi geografis adalah alat dengan basis komputerisasi yang
memungkinkan untuk mengolah data spasial dan non spasial untuk menjadi
sebuah informasi yang berkaitan dengan permukaan bumi serta digunakan untuk
analisis, manipulasi, pengumpulan, penyimpanan dan menampilkan data yang
digunakan untuk referensi pengambilan keputusan. (Heywood, Cornelius, &
Carver, 2006, p18)
2.1.2.1
Komponen
Menurut Heywood, Cornelius, dan
Carver (2006, p19), sistem
informasi geografis memiliki beberapa komponen pembangun utama yaitu :
12
1. Sistem Komputer dan Software
Sistem informasi geografis dapat berjalan di sistem komputer
personal hingga komputer dengan banyak pengguna dan dapat berjalan
pada program dengan bahasa pemrograman yang berbeda. Adapun
elemen
yang dibutuhkan
sebuah
sistem
komputer
agar
dapat
menjalankan sebuah sistem informasi geografis yaitu input atau output
devices, layar dengan resolusi tinggi, memori untuk menyimpan data dan
processor untuk menjalankan software.
2. Data Spasial
Sistem komputer dan software pada sistem informasi geografis
pada dasarnya digunakan untuk mengolah data spasial atau data
berkenaan dengan informasi geografis. Data spasial meliputi longitude
dan latitude, yaitu referensi geografis untuk tata letak sebuah lokasi pada
permukaan bumi, informasi detail tentang koneksi permukaan bumi
seperti jalan, menara cuaca penghubung data meteorologis dan yang
terakhir data non spasial seperti suhu, kecepatan angin dan arah.
3. Manajemen Data dan Prosedur Analisis
Manajemen data dibutuhkan untuk proses input data, konversi
data lama dengan yang baru, proses pengambilan dan menampilkan data
untuk kebutuhan analisis dalam referensi pengambilan keputusan.
Semuanya diatur dengan Database Management System (DBMS).
13
2.1.3 Rekayasa Perangkat Lunak
2.1.3.1
Definisi
Pendekatan secara sistematis dan penggunaan prinsip rekayasa untuk
pengembangan, pengoperasian dan pemeliharaan sebuah perangkat lunak atau
software yang efisien dan ekonomis. (Pressman, 2010, p1)
2.1.3.2 Definisi Perangkat Lunak
Sebuah
instruksi
(program
komputer)
yang
ketika
dijalankan
menyediakan fitur, fungsi, dan kinerja yang diinginkan. Adapun beberapa jenis
perangkat lunak atau software menurut Pressman (2010, p7-p9) yaitu:
1. System Software
Program yang terdiri dari beberapa subprogram yang dikembangkan
untuk melayani program lainnya. System software terdiri dari compiler,
editor, dan utilitas manajemen file serta proses yang kompleks tetapi
memiliki informasi yang terstruktur dengan baik.
2. Application Software
Program untuk memecahkan kebutuhan bisnis yang spesifik seperti
memfasilitasi operasi bisnis atau manajemen serta membantu dalam
keputusan teknis.
14
3. Engineering / Scientific Software
Program yang disusun dari beberapa jumlah algoritma untuk membantu
operasi di bidang sains atau teknik seperti computer aided design dan
interactive system simulator.
4. Embedded Software
Program atau sistem yang digunakan untuk mengontrol fitur dan fungsi
sebuah produk atau alat bagi pengguna akhir dan untuk sistem itu sendiri.
Program yang tertanam dapat melakukan fungsi terbatas misalnya
tombol cancel pada Anjungan Tunai Mandiri (ATM) untuk membatalkan
transaksi.
5. Product-line Software
Program yang dirancang untuk memberikan kemampuan khusus atau
spesifik kepada tiap-tiap penggunanya seperti
word processor,
spreadsheet, grafik komputer, multimedia, hiburan, manajemen database,
dan aplikasi keuangan pribadi dan bisnis.
6. Web Application
Program yang terdiri dari satu file hypertext terkait yang menyajikan
informasi menggunakan teks dan grafis yang terbatas yang dijalankan
dalam jaringan komputer. Pada masa sekarang web application memiliki
banyak fungsi seperti keperluan komputasi, menyajikan konten kepada
pengguna bahkan terintegrasi dengan database berskala enterprise untuk
keperluan bisnis.
15
7. Artificial Intelligence Software
Program yang memanfaatkan algoritma untuk memecahkan masalah
kompleks. Artificial intelligence software meliputi robotika, sistem
pakar, pengenalan pola (gambar dan suara), jaringan saraf tiruan,
membuktikan teorema dan games.
2.1.3.3 Proses Rekayasa Perangkat Lunak
Menurut Pressman (2010, p14-p15), rekayasa perangkat lunak memiliki
beberapa aktifitas utama dalam satu kali proses terjadinya yaitu :
1. Komunikasi
Sebelum melakukan semua pekerjaan teknis sangat penting untuk
berkomunikasi dan berkolaborasi dengan pelanggan atau pengguna
perangkat lunak. Tujuannya adalah untuk memahami tujuan proyek
perangkat lunak nantinya dan untuk mengumpulkan persyaratan yang
membantu menentukan fitur dan fungsi perangkat lunak.
2. Perencanaan
Sebuah perangkat lunak dalam pengembangannya pasti akan
melalui proses yang panjang dan rumit. Oleh sebab itu dibutuhkan
sebuah perencanaan yang baik seperti pembagian tugas, sumber daya,
biaya produksi dan jadwal kerja untuk membantu mengarahkan dalam
proses pengerjaan dan pengembangan perangkat lunak.
16
3. Model
Pembuatan model perangkat lunak sangat dibutuhkan untuk
membuat detail yang lebih jelas dalam upaya untuk lebih memahami
masalah dan bagaimana cara mengatasinya.
4. Konstruksi
Kegiatan menggabungkan code yang telah dibuat sebelumnya
(baik secara manual atau otomatis) dan pengujian yang diperlukan untuk
mengungkap kesalahan dalam code.
5. Deployment
Kegiatan dimana perangkat lunak yang telah selesai dibangun,
dikirimkan dan diimplementasikan kepada pelanggan yang nantinya
mengevaluasi produk yang disampaikan oleh pengembang dan
memberikan umpan balik berdasarkan hasil evaluasi.
2.1.4 Unified Modeling Language
Unified Modeling Language adalah sebuah gambaran berdasarkan objek
yang berorientasi pada analisis dan desain menggunakan model untuk membantu
dalam pengembangan perangkat lunak, pemahaman yang berkelanjutan, dan
memberikan cara komunikasi yang lebih baik dalam merepresentasikan alur
maksud dan tujuan. (Whitten & Bentley, 2008, p293)
17
2.1.4.1 Diagram Unified Modeling Language
Adapun diagram-diagram yang menggunakan notasi Unified Modelling
Language (UML) dalam pengembangan perangkat lunak menurut Whitten dan
Bentley (2008, p185-p561) adalah sebagai berikut:
1. Use-Case Diagram
Diagram yang mendefinisikan urutan interaksi antara pelaku
(objek yang terlibat dalam sebuah sistem) dan sistem itu sendiri.
Pelaku/actor digambarkan sebagai objek berupa stick figure pada usecase diagram, sedangkan batasan sistem digambarkan sebagai sebuah
kotak. Untuk pelaku yang bertindak sebagai sistem ditambah label
<<system>> (Whitten & Bentley, 2008, p185).
Gambar 2. 1 Contoh Use-Case Diagram (Whitten & Bentley, 2008)
18
Selain itu terdapat pula pelaku yang bukan merupakan bagian
dari sistem utama tetapi bertindak sebagai pengatur waktu. Biasanya
pelaku tersebut diberi label “Time”. Tindakan atau kegiatan yang
dilakukan atau dikenakan kepada pelaku digambarkan dengan bentuk
sebuah ellips. Tindakan atau kegiatan yang dilakukan oleh pelaku
tersebut merupakan salah satu bagian rangkaian komponen dalam sistem
sehingga dibutuhkan batasan-batasan sistem.
Tabel 2. 1 Tabel Simbol pada Use-Case Diagram
Indikator
Keterangan
Actor / Pelaku dalam Sebuah Sistem
Actor1
System
System Boundaries / batasan-batasan sistem
Use Case / Tindakan atau kegiatan yang dilakukan
UseCase1
atau dikenakan kepada pelaku
Relationship / Hubungan antara objek atau pelaku
dalam sistem dengan use case
Time / Pengatur Waktu
19
Bentuk yang menghubungkan para pelaku dengan tindakan atau
kegiatannya sangat berperan serta dalam mendefinisikan tujuan dari
sistem tersebut.
2. Class Diagram
Diagram yang mengklasifikasikan objek dalam bentuk sebuah
class, kemudian digambarkan dalam objek yang berbentuk kotak, dan
dihubungkan dengan sebuah garis yang merepresentasikan sebuah
bentuk
hubungan
yang
memiliki
tujuan
(relationship).
Untuk
pengembang perangkat lunak, dibutuhkan simbol visibility, untuk
membantu proses pemindahan dari diagram ke kode program. (Whitten
& Bentley, 2008, p324)
Tabel 2.2 Tabel Simbol Visibility pada Class Diagram
Simbol
#
Keterangan
Protected
Kegunaan
Dapat mengakses class dan turunan
class dari class tertentu
+
Public
Dapat diakses seluruh sistem
-
Private
Hanya dapat mengakses class itu sendiri
~
Package
Dapat mengakses class yang hanya
terdapat pada package yang sama
20
Gambar 2. 2 Contoh Class Diagram (Whitten & Bentley, 2008)
21
Adapun 3 bentuk hubungan (relationship) dalam class diagram adalah
sebagai berikut :

Association yaitu bentuk hubungan statis antara dua atau
lebih class. Association memiliki bentuk berupa garis dengan
panah hitam kecil untuk menunjukan arah class yang dituju.
Pada setiap akhir garis biasanya terdapat label yang
menjelaskan banyaknya jumlah association di class yang
dituju. Banyaknya jumlah association menentukan berapa
banyak instansi dari satu class yang dapat berhubungan
dengan instansi dari class lain.
Tabel 2. 3 Tabel Indikator Relationship pada Class Diagram
Indikator
Keterangan
0..1
Zero to One
1
One only
0..*
Zero to Many/More
1..*
One to Many/More
N
Only n (Where n < 1)
*
Many/More
0..n
Zero to n (Where n < 1)
1..n
One to n (Where n < 1)
n..m
n to m ((Where both n and m < 1)
n..*
N to ManyMore (Where n < 1)
22

Composition adalah bentuk hierarki hubungan yang
bersifat keseluruhan. Composition diwakili dengan objek
berbentuk segi empat dengan warna hitam yang
merepresentasikan penuh atau keseluruhan. Aggregation
adalah bentuk hierarki hubungan yang bersifat sebagian.
Aggregation diwakili dengan objek berbentuk segi empat
berongga yang merepresentasikan sebagian.
Gambar 2. 3 Contoh penerapan Association pada Aggregation dan
Composition (Whitten & Bentley, 2008)

Generalization / Specialization adalah hubungan yang
bersifat warisan (inheritance). Sebuah Generalization /
Specialization
digambarkan
sebagai
panah
yang
bergabung antara subclass (anak) dengan superclass
(induk), dengan panah menyentuh kotak superclass dari
subclass.
23
Gambar 2. 4 Contoh Generalization dan Specialization (Whitten & Bentley,
2008)
Tiap relationship pada class diagram menghubungkan antar class
dengan class lainnya. Dalam pengembangannya, class diagram dapat
menghubungkan antara pengembang perangkat lunak dengan pengguna.
3. Sequence Diagram
Diagram untuk menggambarkan interaksi antara objek-objek
dalam urutan waktu. Sequence diagram adalah diagram dua dimensi di
mana
objek-objek
yang
berpartisipasi
dalam
interaksi
tersebut
digambarkan secara horizontal dan garis putus-putus pada dimensi
vertikal adalah gambaran untuk waktu. (Whitten & Bentley, 2008, p554)
24
Tabel 2. 4 Tabel Simbol pada Sequence Diagram
Indikator
Object1
Keterangan
Object Lifeline / garis waktu hidup
sebuah
objek
atau
pelaku
yang
berperan dalam sebuah sistem
Activation / Masa aktif sebuah pelaku
dalam sistem
Message(call) / Pesan yang dikirim ke
aktor atau objek lain
Message / Pesan yang dikirim ke aktor
atau objek lain secara sinkron
Message / Pesan yang dikirim ke aktor
atau objek lain secara asinkron
Message / Pesan yang dikirim ke aktor
yang bersifat respon dari sistem
Message1
Self Call / Pesan yang dikirim ke aktor
atau objek lain tersebut sendiri
25
Gambar 2. 5 Contoh Sequence Diagram (Whitten & Bentley, 2008)
4.
Activity Diagram
Diagram yang menggambarkan aliran kontrol dan urutan antar
kegiatan. Sebuah activity diagram menunjukkan urutan kegiatan,
keputusan, perulangan, dan kegiatan yang dilakukan bersamaan. Activity
diagram yang banyak digunakan dalam pemodelan alur kerja , misalnya
untuk aplikasi berorientasi layanan. (Whitten & Bentley, 2008, p309)
26
Tabel 2. 5 Tabel Simbol pada Activity Diagram
Indikator
Keterangan
Initial State / Kondisi Awal
Final State / Kondisi Akhir
Control Flow / Aliran Kegiatan
Transition
- Join (Menggabungkan 2 control
flow menjadi 1 arah)
- Fork (Membuat cabang dari 1
control flow menjadi beberapa
bagian)
State / Kondisi kegiatan
Decision / Pilihan Keputusan
Parti
tion1
Partition (Swimlane)/Pengklasifikasian
pelaku yang terlibat dalam sebuah
aktifitas atau kegiatan
27
Gambar 2. 6 Contoh Activity Diagram dengan Partition (Whitten
& Bentley, 2008)
28
2.1.5 Software Life Cycle
2.1.5.1 Definisi
Pendekatan bertahap untuk mengembangkan perangkat lunak dengan
kiriman spesifik dan tonggak dalam setiap fase. (Gomaa, 2011, p29)
2.1.5.2 Definisi Software Life Cycle Model
Abstraksi dari proses pengembangan perangkat lunak yang digunakan
dengan baik untuk tujuan perencanaan. (Gomaa, 2011, p29)
Menurut Ragunath et.al (2010), fungsi dari software life cycle model
adalah meningkatkan kontrol manajemen atas proyek yang dikerjakan dengan
membagi tugas yang kompleks menjadi beberapa bagian untuk dikelola dan
menentukan secara deskriptif atau preskriptif bagaimana sebuah perangkat lunak
itu harus dikembangkan.
2.1.5.3 Spiral Model
Spiral model adalah pendekatan yang dikembangkan oleh Boehm tahun
1988 untuk mengatasi masalah pada waterfall model. Spiral Model ini
dimaksudkan untuk mencakup model siklus hidup lainnya, seperti waterfall
model, incremental development model, dan throwaway prototyping. (Gomaa,
2011, p34)
29
Model spiral terdiri dari empat kuadran berikut yaitu :
a. Tentukan tujuan, alternatif, dan kendala. Perencanaan rinci untuk siklus
mengidentifikasi tujuan dan pendekatan alternatif untuk mencapai tujuan
pengembangan perangkat lunak.
b. Menganalisis risiko. Rinci penilaian risiko proyek saat ini, rencana kegiatan
yang akan dilakukan untuk mengurangi risiko tersebut.
c. Mengembangkan produk. Bekerja pada pengembangan produk, seperti
persyaratan analisis, desain, atau coding.
d. Rencanakan siklus berikutnya. Menilai kemajuan yang dibuat pada siklus
ini dan mulai merencanakan untuk siklus berikutnya.
Setiap siklus model spiral beriterasi pada empat kuadran. Tujuan dari
spiral model adalah dihasilkan sebuah analisa risiko untuk menindaklanjuti
kemungkinan terjadi kesalahan pada pengembangan software. (Gomaa, 2011)
Gambar 2. 7 Spiral Model (Gomaa, 2011)
30
Menurut analisis Ragunath et.al (2010), keuntungan penggunaan spiral
model adalah tingginya jumlah analisis risiko sehingga membuat jumlah
kesalahan yang akan terjadi dalam pengembangan perangkat lunak dapat
diperkecil, sangat baik untuk proyek perangkat lunak berskala besar yang
fokus dan kritis pada tujuan pengembangannya, serta perangkat lunak dapat
diproduksi pada awal siklus hidup.
Adapun kekurangan dari spiral model adalah mahal, membutuhkan
keahlian yang sangat spesifik, tingkat keberhasilan proyek sangat tergantung
pada tahap analisis resiko dan tidak dapat bekerja dengan baik untuk proyek
berskala kecil.
2.1.6 Database
Menurut Connolly dan Begg (2010, p65), database adalah sekumpulan
dari data bersama yang terkait secara logis dan deskripsinya, yang didesain
untuk memenuhi kebutuhan organisasi. Database biasanya memiliki ukuran,
baik kecil dengan struktur sederhana hingga besar dengan struktur yang
kompleks. Umumnya, database juga berbentuk sebuah file maupun kumpulan
dari beberapa file yang berisi sebuah data tentang informasi yang aktual.
Dalam database dikenal pula istilah relational database, yaitu
sekumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang
berbeda. Basis data ini menghubungkan antara satu tabel dengan tabel lain
dalam satu basis data. Relational database selalu menggunakan field kunci
untuk mendefinisikan relasi antar tabel. Semakin banyak tabel yang ada,
31
semakin banyak relasi yang diperlukan untuk menghubungkan semua tabel.
Sebuah tabel tidak harus langsung berhubungan dengan setiap tabel lain, tetapi
setiap tabel dalam basis data terhubung satu sama lain (tidak ada tabel yang
berdiri sendiri). Jadi tabel dapat berhubungan dengan setiap tabel lain dengan
hubungan langsung atau tidak langsung.
Berikut adalah objek-objek yang terdapat pada database:
1. Tabel, yaitu objek yang berisi tipe-tipe data.
2. Kolom, yaitu sebuah tabel berisi kolom untuk menampung data. Kolom
mempunyai tipe dan nama yang unik.
3. Tipe data, yaitu sebuah kolom mempunyai sebuah tipe data. Tipe data yang
dapat dipilih misalnya character, numeric, dan sebagainya.
4. Primary key, yaitu kata kunci utama yang menjamin data agar unik, hingga
dapat dibedakan dari data yang lain.
5. Foreign key, merupakan kolom-kolom yang mengacu pada primary key dari
tabel yang lain. Dengan kata lain, primary key dan foreign key digunakan
untuk menghubungkan sebuah tabel dengan tabel lain .
2.1.6.2 Database Management System (DBMS)
Menurut Connolly dan Begg (2010, p66), DBMS adalah suatu sistem
perangkat lunak yang memungkinkan pengguna untuk mendefinisikan,
menciptakan, memelihara dan mengontrol akses ke database.
Secara khusus, DBMS menyediakan fasilitas berikut :
a. Memungkinkan pengguna untuk menentukan database, biasanya melalui
Data Definition Language (DDL). DDL memungkinkan user untuk
32
menentukan tipe user dan struktur data mendorong data untuk disimpan
ke database.
b. Memungkinkan pengguna untuk melakukan insert, update, delete dan
retrieve dari database, biasanya melalui Data Manipulation Language
(DM L) serta menyediakan akses terkontrol pada database.
. 2.1.6.3 Peran dan Ruang Lingkup Database
Adapun peran dan ruang lingkup database menurut Connolly dan Begg (2010,
p71-p73) yaitu:
1. Data dan Database Administrator
Orang yang bertanggung jawab atas pengelolaan sumber data
termasuk perencanaan, pengembangan dan pemeliharaan dengan standar,
kebijakan dan prosedur, serta desain konseptual/logis basis data.
Administrator data berkonsultasi dan memberikan saran kepada manajer,
untuk memastikan bahwa arah pengembangan database mendukung
tujuan perusahaan sepenuhnya.
2. Perancang Database
Ada dua macam perancang yaitu perancang basis data logis dan
perancangan basis data fisik. Perancangan basis data logik berhubungan
dengan identifikasi data, hubungan antara data satu dengan yang lain,
serta kendala-kendala di dalam data yang harus disimpan di dalam basis
data. Perancang basis data fisik menentukan bagaimana desain basis
data logis direalisasikan secara fisik. Perancang basis data fisik harus
mampu memilih strategi-strategi penyimpanan yang sesuai dan
memperhitungkan
penggunaannya.
Berbeda
dengan
perancang
33
konseptual/logis yang berkaitan tentang data apa saja yang diperlukan
(what), perancang basis data fisik berkaitan bagaimana metodenya (how).
3. Pengembangan Aplikasi
Setelah database diimplementasikan, program aplikasi yang
menyediakan
fungsi
yang
diperlukan
untuk
pengguna
harus
diimplementasikan. Ini adalah tanggung jawab para pengembang
aplikasi. Biasanya, para pengembang aplikasi bekerja dari spesifikasi
yang dihasilkan oleh sistem analis.
4. Pengguna Akhir (End User)
End-user adalah ‘klien’ untuk basis data, yang telah dirancang
dan dilaksanakan, dan sedang dipertahankan untuk melayani kebutuhan
informasi mereka. End-user dapat diklasifikasikan menurut cara
pengguna menggunakan sistem :
a. Naive users: Pengguna mengakses melalui program khusus
yang ditulis untuk membuat operasi sesederhana mungkin.
b. Sophisticated users: Pengguna yang dapat menggunakan
bahasa tingkat tinggi seperti SQL untuk melakukan operasi
yang dibutuhkan.
2.1.6.4 Structured Query Language (SQL)
Menurut Connolly dan Begg (2010, p184), Structured Query Language
(SQL) merupakan bahasa yang dirancang untuk menggunakan relasi untuk
mengubah masukan menjadi keluaran yang diharapkan.
SQL dimaksudkan untuk memenuhi keputusan berikut:
34
1. Membuat database dan struktur relasi dengan melakukan tugas dasar
manajemen data, seperti pemasukan, modifikasi dan penghapusan
data dari relasi.
2. Melakukan query sederhana dan kompleks.
Standar SQL memiliki dua komponen:
1.
Data Definition Language (DDL) untuk menetapkan struktur
database dan mengontrol akses ke data.
Contoh : CREATE, ALTER.
2.
Data Manipulation Language (DML) untuk mendapatkan kembali
(retrieve) dan memperbahurui data.
Contoh : INSERT, SELECT, UPDATE, DELETE.
.2.1.6.5 Fact-finding Techniques
Menurut Connolly dan Begg (2010, p341), fact-finding techniques
adalah proses formal menggunakan teknik seperti wawancara dan kuisioner
untuk mengumpulkan fakta tentang sistem, kebutuhan dan pilihan. Terdapat 5
teknik yang digunakan dalam fact-finding techniques, yaitu:
1. Examining documentation
Dengan
memeriksa
dokumen
dan
laporan
terkait
yang
berhubungan dengan sistem saat ini.
2. Interviewing
Mengumpulkan informasi yang berhubungan dengan sistem yang
ada saat ini dengan melakukan wawancara secara langsung ke
perusahaan.
35
3. Observing the organization in operation
Dengan mengamati secara langsung aktivitas kerja di perusahaan
untuk mempelajari mengenai sistem yang ada saat ini.
4. Research
Dengan mengumpulkan sumber-sumber penelitian yang berasal
dari referensi buku dan artikel-artikel yang berasal dari internet.
5. Questionnaire
Dengan membuat pertanyaan-pertanyaan yang berhubungan
dengan sistem basis data yang akan dibuat untuk dijawab oleh
responden yang ditunjuk untuk mengisi kuisioner tersebut
2.1.7 MySQL
Menurut Valade (2010, p12), MySQL adalah aplikasi database yang
cepat dan mudah menggunakan RDBMS (Relational Database Management
System) yang digunakan pada web application pada umumnya. Namun,
meskipun fitur MySQL kurang lengkap dibandingkan dengan pesaing komersial,
MySQL memiliki semua fitur yang dibutuhkan oleh mayoritas database
pengembang. Selain itu juga lebih mudah untuk diinstal, digunakan, dan selisih
harga pun sangat mendukung daripada pesaing komersial.
36
2.1.7.1 Keuntungan
Keuntungan dari menggunakan MySQL menurut Valade (2010, p13) antara lain:
a. Cepat, murah, aman dan mudah digunakan.
b. Bisa dijalankan di berbagai macam platform atau operating system.
c. Dukungan teknis yang tersedia secara luas dari komunitas MySQL dari
seluruh dunia.
d. Mendukung database besar dengan struktur yang kompleks.
e. Dapat memodifikasi MySQL sehingga cocok dengan lingkungan
pengembangnya.
2.1.8 SQLite
Menurut Allen dan Owens (2010, p1), SQLite adalah database yang
prosesnya berdiri sendiri dan biasanya tertanam pada sebuah perangkat keras
atau mesin yang menjalankan fungsi mengelola data secara mandiri atau
Embedded Database. SQLite tidak memerlukan konfigurasi jaringan atau proses
administrasi seperti database pada umumnya yang memerlukan host untuk
menjalankannya, dalam arti lain, SQLite dapat mengurangi overhead pada
perangkat keras dan membuat waktu lebih efisien untuk mengurangi hal-hal
teknis seperti konfigurasi jaringan dan proses administrasi.
37
2.1.8.1 Keuntungan
Keuntungan dari menggunakan SQLite menurut Allen dan Owens (2010,
p8-p10) antara lain:
a.
Tidak memerlukan konfigurasi yang rumit
b.
Portable dan kompatibel di beberapa sistem operasi seperti
Windows, Mac OS X, Linux, BSD dan sistem komersil berbasis UNIX
lainnya
c.
Ringan dan tidak membutuhkan server database eksternal
d.
Sederhana dan fleksibel
e.
Gratis dan bebas royalti dalam pengembangannya.
2.1.9 Hypertext Preprosessor (PHP)
PHP
singkatan
dari
Hypertext
Preprocessor
adalah
bahasa
pemprograman yang dirancang khusus oleh Rasmus Lerdorf untuk membuat
suatu web dan ini merupakan alat untuk membuat halaman web yang dinamis.
PHP merupakan software open source yang disebarkan dan dilisensikan secara
gratis
serta
dapat
http://www.php.net/.
didownload
secara
Pengembang
dapat
bebas
dari
mengubah
situs
source
resminya
code
dan
mendistribusikannya secara bebas diedarkan secara gratis. (Valade, 2010, p15)
38
Menurut Valade (2010, p15), sintaks dari bahasa PHP mirip dengan
sintaks bahasa pemrograman C, jadi jika pengembang memiliki pengalaman
dengan bahasa pemrograman C, tentu saja akan merasa nyaman ketika
mengembangkan perangkat lunak dengan bahasa pemrograman PHP. Bahasa
pemrograman PHP sebenarnya lebih sederhana daripada bahasa pemrograman
C karena tidak menggunakan beberapa konsep dari bahasa pemrograman bahasa
C yang sedikit lebih rumit tetap dirancang khusus untuk bahasa pemgrograman
tingkat tinggi. PHP memiliki kemampuan untuk berinteraksi dengan database.
2.1.10 Hypertext Markup Language (HTML)
Hypertext Markup Language adalah markup yang dikembangkan pada
1980-an dan awal 1990-an untuk menggambarkan halaman web. HTML kini
diabadikan dalam deskripsi standar banyak (spesifikasi) dari World Wide Web
Consortium (W3C). Spesifikasi HTML terakhir dilakukan pada tahun 1999.
XHTML merupakan versi pengembangan terbaru dari HTML yang didasarkan
pada Extensible Markup Language (XML). XHTML menggunakan sintaks yang
sangat teratur dan dapat diprediksi yang lebih mudah untuk perangkat lunak
yang menanganinya. (Tittel & Noble, 2011, p9)
39
HTML memiliki beberapa komponen pembangun menurut Tittel dan Noble
(2011, p16-p18) yaitu :
1. Elemen
Mengidentifikasi bagian-bagian yang berbeda dari sebuah halaman
HTML dengan menggunakan tag.
2. Atribut
Informasi tentang sebuah bagian dari elemen.
3. Entitas
Berbentuk teks dalam karakater non ASCII seperti simbol copyright (©)
dan huruf beraksen (E). Entitas berasal dari Bahasa Markup Standar
Generik (SGML).
2.1.11 Cascading Style Sheet (CSS)
Kumpulan modul yang memberikan kontrol untuk format pada halaman
web, seperti font, warna untuk latar belakang, warna teks dan lain sebagainya.
CSS dapat mengatur tiap aspek pada halaman web, memberikan perubahan
secara menyeluruh pada halaman web dan membuat tampilan halaman web
terlihat lebih dinamis. (Tittel & Noble, 2011, p129)
40
2.1.12 Web Server
Perangkat lunak yang berfungsi membuat sebuah halaman web dapat
diakses di seluruh dunia. Cara kerja sebuah web server adalah ketika seseorang
mengetik alamat sebuah web melalui browser, alamat tersebut akan dikirimkan
melalui sebuah pesan ke web server dan kemudian web server akan
mengirimkan file HTML agar dapat dibaca di browser. Web server merespon
dengan mengirimkan file sesuai yang diminta. Browser akan membaca file
HTML dan menampilkan halaman web. Selain itu, web server memproses file
ketika adanya aksi pada form HTML yang terdapat pada halaman web. (Tittel
& Noble, 2011, p14)
Beberapa komponen standar yang harus dipenuhi alamat sebuah halaman web
agar bisa diproses oleh web server menurut Tittel dan Noble (2011, p16)
adalah sebagai berikut :
1. Protokol:
Menentukan protokol browser berikut untuk meminta file. Contoh http://
2. Domain:
Penunjuk sebuah situs web pada umumnya (contoh : www.sun.com) di
mana sebuah halaman web tersebut berada.
3. Path:
Urutan nama folder dimana harus dinavigasikan untuk mendapatkan file
tertentu. Misalnya, untuk mendapatkan file dalam folder evangcentral
yang
berada
di
folder
/developer/evangcentral/path.
pengembang
harus
mengakses
41
4. Filename
Menentukan mana file dalam jalur direktori yang akan diakses browser.
Contoh .php, .html dan lain sebagainya.
2.1.13 Java
Bahasa pemrograman dan platform komputasi pertama kali dirilis oleh
Sun Microsystems pada tahun 1995. Bahasa pemrograman Java mendukung
beberapa teknologi termasuk utilitas, permainan, dan aplikasi bisnis. Bahasa
pemrograman Java mendukung kecepatan pengembangan sebuah aplikasi,
keamanan, dan handal. Bahasa pemrograman Java merupakan bahasa yang
sangat multi-platform, dapat ditemui di laptop, pusat data, konsol game, super
computer ilmiah maupun dari ponsel hingga ke web. (Java, 2010).
2.1.13.1 Keuntungan
Dikutip dari website resmi Java (2010), bahasa pemrograman java
memiliki beberapa keuntungan untuk pengembang yaitu :
1. Mengembangkan perangkat lunak tidak hanya pada satu platform tetapi
dapat menjalankannya pada hampir semua platform lain (multiplaftform).
2. Mengembangkan perangkat lunak yang dapat dijalankan pada web
browser dan mengakses layanan web yang tersedia.
3. Mengembangkan aplikasi server-side untuk forum online, toko online,
chat, HTML form, dan aplikasi bisnis berskala besar.
42
4. Dapat mengkombinasikan aplikasi atau layanan menggunakan bahasa
pemrograman Java untuk membuat aplikasi yang sesuai dengan
keinginan.
5. Dapat mengembangkan aplikasi yang efektif dan efisien untuk ponsel,
dengan
spesifikasi
hardware
yang
tidak
kompleks
sehingga
menghasilkan produk yang dapat dijual murah kepada konsumen.
2.1.14 Framework
Framework adalah seperangkat pustaka dari sebuah perangkat lunak
yang telah terintegrasi (seperti class, objek dan komponen-komponen) yang
berkolaborasi untuk menyediakan desain arsitektur dari sebuah aplikasi yang
dapat digunakan kembali untuk membangun aplikasi sejenis yang terkait.
(Sommerville, 2011, p431)
2.1.14.1 Jenis – Jenis Framework
Menurut Sommerville (2011, p32-p33), framework dibedakan menjadi
beberapa jenis yaitu :
1. System Infrastructur Framework adalah framework yang mendukung
pengembangan infrastruktur sistem seperti komunikasi, user interface,
dan compiler.
2. Middleware Integration Framework adalah framework yang terdiri dari
satu set standar dan kelas objek terkait yang mendukung komponen
komunikasi dan pertukaran informasi. Contoh: Microsoft NET.
Framework dan Enterprise Java Beans (EJB).
43
3. Enterprise Application Framework adalah framework yang spesifik
pada domain aplikasi seperti telekomunikasi atau sistem keuangan.
Framework ini mendukung tujuan End-Development User.
4. Web Application Framework (WAF) adalah jenis framework yang
terbaru saat ini. Arsitektur WAF yang biasanya didasarkan pada
Model-Views-Controller (MVC) pattern. Web application framework
biasanya menyertakan satu atau lebih kerangka kerja khusus yang
mendukung fitur aplikasi secara spesifik.(Sommerville, 2011)
Web Application Framework memiliki fitur-fitur seperti:
- Security Web Application Framework (WAF), kelas untuk membantu
menerapkan otentikasi pengguna (login) dan kontrol akses untuk
memastikan bahwa pengguna hanya dapat mengakses fungsi yang
diizinkan dalam sistem.
- Dynamic Web Page, kelas disediakan untuk membantu menentukan
template halaman web sistem dan untuk mengisinya ini secara dinamis
dengan data spesifik dari sistem database.
- Database Support, fitur database yang terpisah, seperti MySQL.
Framework dapat memberikan kelas yang menyediakan antarmuka
abstrak ke beberapa database yang berbeda.
- Session Management, kelas untuk membuat dan mengelola sesi
(sejumlah tindakan terhadap sistem oleh pengguna) biasanya bagian
dari sebuah WAF.
44
- User Interaction, web application framework sekarang memberikan
dukungan AJAX yang memungkinkan halaman web lebih interaktif
terhadap pengguna.
2.1.14.2 Model – Views – Controllers pattern
Model – Views – Controllers (MVC) pattern awalnya diusulkan pada
tahun 1980-an sebagai pendekatan untuk desain GUI yang memungkinkan
untuk presentasi beberapa obyek dan gaya yang terpisah antar function dengan
tujuan yang spesifik. Hal ini memungkinkan untuk pemisahan aplikasi inti
dengan user interface. Sebuah kerangka kerja MVC mendukung presentasi
data dengan cara yang berbeda dan memungkinkan interaksi dengan masingmasing function. (Sommerville, 2011, p155)
2.1.14.3 Keuntungan dan Kerugian
Keuntungan menggunakan framework adalah dapat menggunakan
kembali source code yang telah dibuat sehingga aplikasi yang baru dapat
dijamin dan mengurangi beban programming dalam pembuatannya serta
framework membantu menciptakan latihan pemrograman yang lebih baik.
Kekurangan framework adalah memakan biaya dan waktu serta framework yang
dibuat dapat menjadi lebih kompleks. (Sommerville, 2011, p155)
45
2.1.15 CodeIgniter
Sebuah open source web application framework yang dibangun dengan
bahasa pemrograman PHP. CodeIgniter memiliki fitur dan dokumentasi yang
lengkap. CodeIgniter menggunakan Model-Views-Controller (MVC) pattern
yang memudahkan dalam pengembangan web application. (Griffiths, 2010, p7)
Menurut Griffiths (2010, p7), CodeIgniter memiliki fitur Active Record
yang berfungsi ketika pengembang menulis query SQL yang kompleks, tetapi
tetap membuat hal tersebut mudah untuk dibaca. Active record juga
memungkinkan pengembang aplikasi dengan mudah mengubah database
driver.
Menurut Griffiths (2010, p7), contohnya adalah memungkinkan
pengembang untuk menulis script dengan bahasa pemrograman PHP dan masih
menggunakan DBMS seperti MySQL, tetapi memberikan pilihan untuk beralih
ke DBMS lain seperti Oracle tanpa harus menulis ulang query dalam aplikasi
yang sudah dibuat sebelumnya. CodeIgniter juga dilengkapi dengan sejumlah
pustaka yang sangat berguna kumpulan fungsi yang membantu pengembang
dalam membangun aplikasi. Hal ini membuat pengembang untuk fokus pada
bagian kecil dari aplikasi (bekerja dengan sistem modul).
46
2.1.16 Application Programming Interface
Seperangkat dokumentasi dari metode pemrograman yang telah
dikembangkan
oleh
pengembang
perangkat
lunak
sebelumnya
yang
memungkinkan pengembang perangkat lunak lain untuk mengembangkan
program sejenis menggunakan dokumentasi dari metode pemrograman tersebut.
(Hemmer, 2008, p324)
2.1.17 Software Development Kit
Seperangkat alat pengembangan yang menyediakan fitur tertentu dari
sebuah perangkat lunak untuk digunakan kembali dalam program yang akan
dikembangkan nantinya. Software Development Kit (SDK) biasanya mencakup
Application Programming Interface (API). (Hemmer, 2008, p324)
47
2.2 Teori-teori Khusus
2.2.1 Sistem Pakar
Sistem pakar adalah program komputer yang berasal dari Artificial
Intelligence (AI) yang dibangun dengan tujuan untuk memahami kecerdasan
dengan cara menunjukkan perilaku cerdas itu sendiri. Hal ini berkaitan dengan
konsep dan metode inferensi simbolik, atau penalaran, oleh komputer dan
bagaimana pengetahuan yang digunakan untuk membuat kesimpulan tersebut
direpresentasikan oleh mesin. Terdapat perbedaan antara algoritma perangkat
lunak konvensional dan sistem pakar. Algoritma konvensional memiliki hasil
yang jelas sedangkan sistem pakar dapat memberikan jawaban dengan tingkat
probabilitas tertentu. Sistem pakar biasanya berbasis pengetahuan umum yang
dapat didefinisikan sebagai sistem komputer yang menyimpan pengetahuan
dalam ruang lingkup solusi masalah. Seorang ahli pada dasarnya mengandalkan
pengalaman serta pengetahuannya. Hal ini adalah alasan mengapa masalah
perilaku pemecahan tidak dapat dilakukan dengan menggunakan algoritma
sederhana. Pengalaman dapat dianggap sebagai semacam pengetahuan khusus
diciptakan oleh interaksi yang kompleks peraturan dan keputusan. Sistem pakar
(Expert Systems) disebut juga sebagai Knowledge Based Rules. (Hemmer, 2008,
p9)
Sistem pakar dianggap sebagai perwujudan dalam pengetahuan komputer
berdasarkan komponen dari keterampilan pakar yang sedemikian rupa hingga
membentuk sebuah sistem yang dapat menawarkan solusi cerdas atau
mengambil keputusan tentang fungsi dari pengolahan data yang didapat.
48
Karakteristik tambahan yang akan mempertimbangkan dasar adalah kemampuan
dari sistem pakar itu sendiri didapat dari permintaan untuk membenarkan
penalaran secara langsung sehingga dapat langsung diterapkan dalam sebuah
penyelidikan. (Kendall & Creen, 2007)
2.2.1.1 Model dan Konsep
Menurut Hemmer (2008, p10), pendekatan sebuah sistem pakar
diibaratkan sebuah model standar dalam ilmu manajemen pengetahuan berupa
piramida pengetahuan, yang pada dasarnya menggambarkan hubungan
kuantitatif dan logis antara data, informasi, pengetahuan, dan aksi.
1. Data
Data merupakan dasar dari piramida pengetahuan dan merupakan
hasil dari pengukuran, pengamatan, dan perhitungan yang biasanya
tersedia dalam jumlah besar. Pada dasarnya, dibutuhkan data tambahan
yang menjelaskan teknik pengukuran, parameter, kondisi, dan atribut,
seperti pengenal sampel data tambahan yang menggambarkan konteks
biasanya disebut sebagai Metadata.
2. Information
Data akan memasuki proses dimana mengubahnya menjadi
representasi yang berbeda, dianalis atau ditafsirkan. Dari proses tersebut
menghasilkan informasi. Sebagai contoh saja pada grafik data. Dapat
dilihat langkah menciptakan grafik dari data yang diukur sebagai
pendekatan pertama untuk membuat informasi dari sebuah data. Grafik
49
dapat ditafsirkan jauh lebih efisien daripada hanya berupa titik-titik data
mentah saja.
3. Knowledge
Konsep
pengetahuan
adalah
sedikit
berbeda
dari
yang
sebelumnya. Pengetahuan adalah sesuatu yang dapat hasil dari informasi
penafsiran secara berkelanjutan dari informasi menyebabkan probabilitas
berhubungan dengan struktur entitas tertentu.
4. Action
Langkah terakhir dalam model dan konsep piramida pengetahuan
menerapkan pengetahuan untuk membuat keputusan dan akhirnya
mengambil tindakan tertentu dari hasil menerapkan pengetahuan
tersebut.
Gambar 2. 8 Piramida Pengetahuan Sistem Pakar (Hemmer, 2008)
50
2.2.1.2 Struktur dan Elemen
Sistem pakar (Expert System) / Knowledge Base Rules memiliki empat
komponen utama menurut Hemmer (2008, p10-p29) yaitu knowledge base,
working memory, inference engine dan user interface.
1. Knowledge Base
Knowledge base / rule base merupakan inti dari sebuah program
sistem pakar. Knowledge base / rule base ini merupakan representasi
pengetahuan dari seorang pakar. Knowledge base / rule base tersusun
atas fakta berupa informasi tentang obyek dan rules yang merupakan
informasi tentang cara bagaimana membangkitkan fakta baru dari fakta
yang telah diketahui sebelumnya.
2. Working Memory
Working memory merupakan seperangkat fakta dalam ruang
lingkup. Unsur-unsur mencerminkan keadaan saat ini yang didapat dari
hasil jawaban atas pertanyaan yang diberikan oleh sistem pakar kepada
pengguna dan berkaitan dengan apa yang dibutuhkan oleh sistem. Dalam
sistem pakar, working memory biasanya berisi informasi tentang contoh
tertentu masalah yang sedang ditangani. Working memory adalah media
penyimpanan dalam sistem berbasis aturan dan membantu sistem fokus
pemecahan masalah tersebut.
51
3. Inference Engine
Inference engine adalah alat untuk mendapatkan informasi baru
tentang masalah tertentu menggunakan aturan atau pola dalam
knowledge base dan pengetahuan akan situasi tertentu dalam working
memory.
Secara umum ada dua teknik utama yang digunakan dalam
inference engine untuk menguji aturan, yaitu penalaran maju (forward
chaining) dan penalaran mundur (backward chaining). (Sasikumar et al.,
2007)
a.
Forward Chaining
Pada dasarnya menggunakan pola data driven, artinya sistem
dimulai dengan memberikan inisialisasi awal elemen dalam working
memory dan terus menerapkan aturan sampai tidak ada aturan yang dapat
diterapkan atau tujuan telah tercapai. Akibatnya, sistem ini bergerak
maju dari kondisi saat ini menuju goal state. Tugas-tugas untuk
perencanaan, desain dan sintesis pada umumnya paling cocok untuk
forward chaining.
52
b. Backward Chaining
Backward chaining menggunakan pola goal driven. Backward
chaining memecah sebuah masalah menjadi sub-masalah dan pemecahan
masing-masing dari tiap masalah tersebut. Artinya, tujuan direduksi
menjadi sub-tujuan dan setiap sub-tujuan berkurang jauh, dan seterusnya,
sampai mereka dipecahkan secara langsung.
4. User Interface
Fungsi dari user interface adalah untuk menyajikan pertanyaan
dan informasi kepada operator dan untuk memasok respon operator
terhadap inference engine. Setiap nilai pengembangan alat untuk sistem
pakar dimasukkan oleh pengguna harus diterima dan diinterpretasikan
oleh user interface.
User interface menginformasikan pengguna segala bentuk hasil
proses dari sistem pakar, merepresentasikannya dan mengkonfirmasikan
kepada pengguna bahwa apabila terjadi kesalahan maka harus diperbaiki.
Gambar 2. 9 Hubungan Antar Elemen Sistem Pakar (Hemmer, 2008)
53
2.2.2 Logika Fuzzy
Logika fuzzy adalah metode untuk penalaran dengan ekspresi logis
menggambarkan keanggotaan dalam fuzzy set (himpunan fuzzy). Teori himpunan
fuzzy merupakan sarana menentukan seberapa baik sebuah objek memenuhi
sebuah deskripsi benar atau salah tetapi tidak sepenuhnya memenuhi nilai atas
deskripsi tersebut. Sebagai contoh, perhatikan preposisi "Budi bertubuh tinggi."
Apakah benar jika Budi memiliki tinggi tubuh 150 cm? Kebanyakan orang yang
ditanyai pertanyaan tersebut, akan ragu-ragu untuk menjawab "Benar" atau
"Salah” dan lebih memilih untuk mengatakan "Kurang lebih". Jadi dapat diambil
kesimpulan, bahwa logika fuzzy menentukan bahwa nilai deskripsi kebenaran
suatu pernyataan dapat bernilai diantara 0 dan 1. (Russell & Norvig, 2010, p240)
2.2.2.1 Fuzzy Control dan Fuzzy Reasoning
Ada dua jenis logika fuzzy yaitu fuzzy control dan fuzzy reasoning. Dasar
fuzzy control dicirikan dengan mengubah input yang berupa angka
diubah
menjadi linguistik (fuzzyfikasi). Sedangkan fuzzy reasoning adalah logika fuzzy
yang secara penalarannya tidak dapat dideskripsikan secara menyeluruh, dalam
artian menalar pemikiran manusia tetapi tanpa ukuran atau skala. (Siller &
Buckley, 2005, p5)
54
2.2.2.2 Cara Kerja
Secara umum cara kerja logika fuzzy ada empat tahap (Sutojo, Mulyanto,
& Suhartono, 2010, p232-p233), yaitu:
1. Fuzzyfikasi
Proses untuk mengubah input sistem yang mempunyai nilai tegas
menjadi variabel linguistik menggunakan fungsi sistem yang berada di
dalam basis pengetahuan fuzzy.
2. Pembentukan basis pengetahuan fuzzy
Kumpulan peraturan-peraturan fuzzy dalam bentuk pernyataan.
3. Mesin inferensi
Proses untuk mengubah input menjadi output dengan cara mengikuti
aturan-aturan (IF-THEN Rules) yang telah ditetapkan pada basis
pengetahuan fuzzy.
4. Defuzzyfikasi
Proses mengubah output fuzzy yang di peroleh dari mesin inferensi
menjadi nilai tegas menggunakan fungsi yang sesuai dengan saat di
lakukan fuzzyfikasi.
55
Gambar 2. 10 Diagram Cara Kerja Logika Fuzzy (Sutojo, Mulyanto, & Suhartono,
2010)
2.2.2.3 Decision Tree
Decision Tree atau pohon keputusan adalah struktur pohon yang
digunakan untuk menggambarkan suatu keadaan secara hierarkis. Pohon
keputusan biasanya terdiri dari beberapa node. Node yang terletak pada level
paling awal biasanya disebut node “akar”. Sedangkan percabangannya disebut
node “perantara”. (Sutojo, Mulyanto, & Suhartono, 2010, p37-38)
Gambar 2. 11 Denah Decision Tree atau Pohon Keputusan
56
2.2.3
Layanan Berbasis Lokasi
Layanan berbasis lokasi adalah kelas umum dari layanan tingkat program
komputer yang di gunakan untuk menyertakan kontrol khusus untuk data lokasi
dan waktu sebagai fitur kontrol dalam program komputer. Layanan berbasis
lokasi memberikan pengguna sebuah layanan yang berasal dari lokasi geografis
pengguna mobile devices. (Schiller & Voilard, 2004, p10)
Menurut Schiller dan Voilard (2004), permintaan untuk lokasi bisa
berasal dari mobile devices atau entitas lain seperti penyedia aplikasi atau
jaringan operator untuk menyediakan nilai tambah bagi pengguna. Hal ini
dimungkinkan untuk secara otomatis memicu layanan berbasis lokasi ketika
mobile devices berada pada lokasi khusus.
2.2.3.1 Sejarah
Menurut Schiller dan Voilard (2004, p11-p13), pada tahun 1970,
Departemen Pertahanan AS telah mengoperasikan global positioning system
(GPS), infrastruktur satelit yang melayani posisi manusia dan objek. Awalnya,
GPS digunakan untuk tujuan militer, tetapi pemerintah AS memutuskan pada
tahun 1980 untuk membuat data positioning system dengan layanan bebas
tersedia untuk industri lain di seluruh dunia. (Jones, 2008) Sejak itu, banyak
industri yang mengambil kesempatan untuk mengakses data posisi melalui GPS
dan sekarang menggunakannya untuk meningkatkan produk dan layanan
mereka.
Misalnya, industri otomotif telah mengintegrasikan sistem navigasi
dalam mobil untuk beberapa waktu. Dalam sistem penentuan posisi tradisional,
57
informasi lokasi yang biasanya telah diturunkan oleh perangkat dan dengan
bantuan sistem satelit (misalnya, penerima GPS). Namun, minat yang luas dalam
layanan berbasis lokasi / Location Based Service (LBS) dan teknologi yang
mendasari ketika jenis baru teknologi lokalisasi dan minat pasar baru di layanan
data dipicu oleh operator jaringan mobile.
Pada sekitar tahun 1997, jaringan seluler yang banyak digunakan di
Eropa, Asia, dan Amerika Serikat, dan pendapatan dari layanan telepon telah
terbukti menjadi signifikan untuk operator mobile. Namun, meskipun layanan
mobile voice terus menjadi generator pendapatan utama bagi Telcos,
pertumbuhan telepon seluler terbatas dan harga per menit menurun. Akibatnya,
operator mulai mencari-cari cara untuk menstabilkan bottom line mereka dan
menemukan daerah baru untuk pertumbuhan di masa depan. Salah satu cara
utama untuk meraup keuntungan tambahan dari jaringan mobile selain suara
adalah untuk menawarkan layanan data, banyak yang akan menjadi lokasi
peningkatan. Sekitar 15% dari pendapatan operator saat ini di Eropa Barat dan
20% di Asia sudah didasarkan pada layanan data. Sebagian besar pendapatan ini
berasal dari Short Message Services (SMS). Untuk mengembangkan bisnis data
lebih lanjut, operator perlu berinvestasi dalam teknologi baru, terutama di ponsel
selain sistem GPS, pesan (misalnya, MMS, IM, email) dan Mobile Internet
(Wireless
Application
Protocol
[WAP]),
dan
mencari
cara
untuk
mengoptimalkan pengalaman pengguna dari domain ini. Layanan berbasis lokasi
adalah dimensi penting dalam data berbasiskan layanan terbaru.
58
2.2.3.2 Komponen
Menurut Kushwaha (2011) layanan berbasis lokasi memiliki arsitektur
yang dibagi menjadi beberapa komponen pembangun yaitu :
1.
Location Based Service (LBS) Application terdiri dari komponen
yang memiliki sejumlah sensor dan komponen pada server
berpotensi yang meliputi aplikasi data secara spesifik seperti
informasi penanda lokasi.
2. Location Based Service (LBS) Middleware memiliki fitur utama pada
layanan berbasis lokasi (seperti tracking location, GIS provider dan
location collection services) untuk menyediakan antarmuka yang
konsisten untuk LBS Application.
3. Tracking Location, komponen yang menyimpan jejak lokasi
pengguna. Ini merupakan komponen fundamental dalam generasi
Location Based Service (LBS) karena mengandung data yang
memungkinkan rute pengguna harus ditentukan dan berpotensi
diprediksi. Secara khusus, komponen ini biasanya akan memiliki
fungsi yaitu menyimpan catatan tentang lokasi pengguna saat ini dan
masa lalu, memberitahu komponen lain ketika pengguna tertentu telah
pindah dari lokasinya, atau ketika pengguna lain tersebut bergerak
masuk atau keluar dari suatu daerah. Ini mendukung pemberitahuan
berbasis lokasi yang dikirim ke pengguna, menentukan dimana
pengguna berada dalam lokasi yang ditetapkan (geocasting) dan
menghasilkan pola gerakan atau perpindahan lokasi dari pengguna.
59
4. GIS Provider, komponen yang menyediakan fungsionalitas berupa
data Location Based Service (LBS) geospasial seperti informasi peta,
visualisasi peta dan layanan direktori.
5. Location
Collection
Services,
komponen
yang
melakukan
pengumpulan lokasi untuk mendapatkan lintang dan bujur untuk
pengguna tertentu. Tergantung pada teknologi, komponen ini dapat
diakses melalui LBS Middleware (misalnya, jaringan triangulasi
selular melalui penyedia layanan) atau langsung (misalnya, melalui
penerima GPS di Smartphone).
Gambar 2. 12 Arsitektur dari Komponen Pembangun pada Layanan
Berbasis Lokasi (Kushwaha, 2011)
2.2.3.3 Kategori
60
Layanan berbasis lokasi dapat dikategorikan berdasarkan orientasi
aplikasinya menurut Schiller dan Voilard (2004, p13) yaitu:
1. Person Oriented Location Based Service (LBS) di mana layanan ini
berbasiskan pengguna. Dengan demikian, fokus penggunaan aplikasi
adalah untuk posisi seseorang. Biasanya, para pengguna yang
terlokasi secara baik dapat mengontrol layanan.
2. Device Oriented Location Based Service (LBS) dimana layanan
terdapat pada aplikasi eksternal kepada pengguna. Dalam device
oriented location based service, orang atau objek terletak biasanya
tidak mengendalikan layanan (misalnya Tracking System).
Selain
itu layanan berbasis lokasi dapat dikategorikan berdasarkan
desain aplikasinya menurut Schiller dan Voilard (2004, p14) yaitu:
1. Push Services. Layanan berbasis lokasi dimana pengguna menerima
informasi sebagai akibat dari lokasinya atau keberadaannya tanpa harus aktif
memintanya. Informasi dapat dikirim ke pengguna dengan persetujuan
terlebih dahulu atau tanpa persetujuan terlebih dahulu.
2. Pull Services. Layanan berbasis lokasi dimana pengguna aktif menggunakan
aplikasi dan dalam konteks ini, '' menarik'' informasi dari jaringan. Informasi
ini mungkin menjadi lokasi yang disempurnakan.
61
2.2.4 Global Positioning System (GPS)
GPS adalah suatu kumpulan satelit yang memungkinkan penerima untuk
mendapatkan lokasi dimana penerima berada dalam kurun waktu 24 jam atau
sebuah teknik yang relatif baru tentang pengumpulan data lapangan yang telah
mendukung penemuan tertentu oleh pengguna sistem informasi geografis
dengan menggunakan sistem satelit navigasi. (Heywood, Cornelius, & Carver,
2006, p63)
2.2.4.1 Cara Kerja
Menurut Heywood, Cornelius dan Carver (2006, p64), GPS memerlukan
dua receiver, yang tetap di lokasi yang dikenal dengan istilah base station dan
lainnya di lokasi yang tidak diketahui yaitu roving receiver. Seorang pengguna
GPS dapat melihat posisi tepat dimana ia berada pada receiver. Jika kedua
receiver ditetapkan secara persis sama dan menggunakan satelit yang sama
untuk menghitung lokasi mereka, maka kesalahan posisi akan direkam oleh
kedua receiver. Untuk mendapatkan posisi yang sangat akurat, dapat diperoleh
untuk penerima keliling dengan mengurangi kesalahan posisi hitung pada base
station.
Untuk mengurangi hambatan – hambatan seperti konfigurasi yang tidak
tersedia dengan baik di daerah kutub dan jarak antara satelit dan receiver yang
terhalang oleh bangunan, jalan dan bagian tanah yang curam, maka sinyal GPS
akan ditambahkan sinyal geostationer dan groundstation yang didapat dari
satelit. Perkembangan terbaru dalam komunikasi portabel dan mobile telah
62
membuka area baru aplikasi GPS untuk konsumen barang elektronik pribadi.
Hasil olahan dari data sistem informasi geografis yang ditampilkan oleh GPS
pada aplikasi mobile melalui jaringan tanpa kabel dan WAV yaitu berupa
layanan berbasis lokasi / location based service.
2.2.5 Android
Android adalah platform berupa sistem operasi yang opensource dan
komprehensif pertama untuk perangkat mobile, perangkat lunak untuk
menjalankan ponsel tetapi tanpa hambatan kepemilikan sehingga meningkatkan
inovasi dalam teknologi mobile. (Meier, 2010, p4)
2.2.5.1 Sejarah
Android sendiri dirilis oleh Open Handset Alliance pada bulan
November tahun 2007. Android sebenarnya dikembangkan menggunakan kernel
Linux 2.6 dan beberapa kelebihan pada Android adalah tidak adanya biaya untuk
persetujuan lisensi distribusi dan pelepasan, GSM, EDGE 3G untuk telepon, IPC
Messaging, Background Process and Application, Shared Process Data, kontrol
perangkat keras dan perangkat multimedia yang lengkap dan API untuk layanan
berbasis lokasi seperti GPS / Global Positioning System. (Meier, 2010, p9)
2.2.5.2 Struktur
Adapun struktur aplikasi dengan sistem operasi berbasis Android
menurut Meier (2010, p13-p14) adalah sebagai berikut :
63
1. Application Layer
Android memiliki satu set aplikasi inti termasuk email client, program
SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi yang
dibangun menggunakan Java. Setiap aplikasi bertujuan untuk melakukan tugas
yang spesifik.
2. Application Framework Layer
Lapisan berikutnya adalah application framework. Ini termasuk programprogram yang mengelola fungsi dasar telepon seperti alokasi sumber daya,
aplikasi telepon dan program yang dapat melacak lokasi fisik telepon.
Pengembang aplikasi memiliki akses penuh ke application framework pada
Android. Hal-hal ini
memungkinkan pengembang untuk mengambil
keuntungan dari kemampuan pemrosesan Android dan fitur dukungan ketika
membangun sebuah aplikasi Android. Dapat disimpulkan bahwa application
framework layer pada Android sebagai alat dasar dimana pengembang dapat
membangun alat yang jauh lebih kompleks.
3. Library Layer
Lapisan berikutnya berisi pustaka / library pada Android. Pustaka ini
semua ditulis dalam bahasa pemrograman C atau C++, dikompilasi untuk
arsitektur perangkat keras tertentu yang digunakan oleh ponsel dan dipasang
oleh perusahan vendor ponsel.
4. Android Runtime Layer
Android Runtime Layer termasuk Dalvik Virtual Machine (DVM) dan
satu set pustaka inti bahasa pemrograman java. Dalvik Virtual Machine
64
(DVM) dibuat pada perangkat agar dapat menjalankan mesin virtual secara
efisien dan mengeksekusi file dengan ekstensi.dex (Dalvik format executable)
dengan penggunaan memori yang kecil.
5. Kernel Linux
Lapisan ini mencakup program manajemen memori Android, pengaturan
keamanan, perangkat lunak untuk manajemen daya dan beberapa driver yang
digunakan untuk mengakses hardware, file sistem, jaringan dan komunikasi
antar proses.
Gambar 2. 13 Struktur Aplikasi Sistem Operasi Android . (Meier, 2010)
65
2.2.5.3 Keuntungan dalam Mengembangkan Aplikasi Berbasis Android
Beberapa fitur unik ditawarkan oleh Android, yang juga merupakan
keuntungan dalam mengembangkan aplikasi dengan sistem operasi berbasis
Android. Keuntungan menggunakan sistem operasi Android menurut Meier
(2010, p11) adalah sebagai berikut:
1. Aplikasi Google Maps
Aplikasi Google Maps for Mobile telah sangat populer, dan Android
menawarkan Google Maps sebagai kontrol yang dapat digunakan kembali dalam
aplikasi yang akan dibuat. Komponen Maps View memungkinkan pengembang
menampilkan, memanipulasi, dan menambahkan keterangan pada Google Maps
dalam pembuatan aplikasi oleh pengembang.
2. Background Services
Background services membiarkan pengembang membuat sebuah aplikasi
yang menggunakan model-event sementara aplikasi lain sedang berjalan atau
saat ponsel sedang tidak dalam keadaan aktif / idle. Background services
memberikan layanan notifikasi apabila aplikasi sudah selesai dijalankan ketika
sedang berjalan bersamaan baik berupa lampu LED yang menyala atau berupa
nada seperti ringtone.
3. Shared Data dan Interprocess Communication
66
Dengan menggunakan komponen berupa intent dan content provider,
Android memungkinkan aplikasi pengembang bertukar pesan, melakukan
pengolahan, dan berbagi data. Pengembang juga dapat menggunakan mekanisme
untuk memanfaatkan data dan fungsionalitas yang disediakan oleh aplikasi
Android asli. Untuk mengurangi resiko dari strategi terbuka, setiap proses
aplikasi, penyimpanan data, dan file pribadi kecuali secara eksplisit dibagi
dengan aplikasi lain melalui mekanisme izin keamanan.
4. Semua aplikasi diciptakan sama, Android tidak membedakan antara aplikasi
asli dan yang dikembangkan oleh pihak ketiga.
Hal tersebut memberikan pengembang keleluasaan dalam mengubah
tampilan dan nuansa dari perangkat pengembang dengan membiarkan
pengembang sepenuhnya menggantikan setiap aplikasi asli dengan alternatif
pihak ketiga yang memiliki akses ke data dan hardware yang sama.
2.2.6 Google Maps
Google Maps adalah sistem pemetaan online yang dimiliki oleh Google
yang memanfaatkan fungsi-fungsi protokol, perintah, fungsi atau yang dikenal
dengan istilah Application Programming Interface (API) yang dapat digunakan
oleh pengembang saat membangun perangkat lunak untuk aplikasi tertentu.
(Svennerberg, 2010, p2)
2.2.6.1 Sejarah
Google Maps diperkenalkan dalam sebuah tulisan pada halaman blog
Google pada Februari 2005. Google Maps merevolusi peta jalan pada halaman
67
web dengan mengizinkan pengguna mengakses peta untuk navigasi. Penemuan
sistem peta terbaru yang digunakan membutuhkan server khusus yang
diperuntukan untuk peta dengan tidak mengurangi sisi interaktif dari aplikasi.
Google Maps pada awalnya dikembangkan oleh dua orang bersaudara
asal Denmark, Lars dan Jens Rasmussen. Lars dan Jens Rasmussen mendirikan
“Where 2 Technologies”, sebuah perusahaan yang didirikan untuk menciptakan
solusi pemetaan. Perusahaan ini diakuisisi oleh Google pada Oktober 2004.
Rasmussen bersaudara kemudian menciptakan Google Maps. Lars dan Jens
Rasmussen juga orang-orang di belakang terciptanya teknologi yaitu Google
Wave. (Svennerberg, 2010, p2-p3)
2.2.7 Web Service
Sebuah sistem perangkat lunak yang dirancang untuk mendukung
interupsi antara mesin ke mesin interaksi melalui jaringan. Web service
mewakili
paradigma
arsitektur
baru
untuk
aplikasi.
Web
service
mengimplementasikan kemampuan yang tersedia untuk aplikasi lain (atau
bahkan web service lainnya) melalui jaringan standar industri dan antarmuka
aplikasi dan protokol. Sebuah aplikasi dapat menggunakan web service hanya
dengan menerapkannya ke seluruh jaringan tanpa harus mengintegrasikannya.
Dengan demikian, web service merupakan blok pengembangan perangkat lunak
yang dapat digunakan kembali dengan mengakses alamat situs yang
menyediakan akses web service tersebut. ( Hollar & Murphy, 2006, p7)
2.2.7.1 Standar Umum
68
Berikut adalah standar umum untuk web service menurut Hollar dan
Murphy (2006, p7-p10):
1. Extensible Markup Language (XML)
Extensible Markup Language (XML) adalah standar untuk
data mark up yang didukung oleh World Wide Web Consortium, yang
telah ditandai sebagai format universal untuk dokumen terstruktur
dan data di web.
2. Simple Object Access Protocol (SOAP)
Simple Object Access Protocol adalah standar untuk bertukar
pesan-pesan berbasis XML melalui jaringan komputer atau sebuah
jalan untuk program yang berjalan pada suatu sistem operasi (OS)
untuk berkomunikasi dengan program pada OS yang sama maupun
berbeda dengan menggunakan HTTP dan XML sebagai mekanisme
untuk pertukaran data.
3. Universal Description, Discovery and Integration (UDDI)
Universal Description, Discovery and Integration adalah
spesifikasi untuk registri informasi untuk layanan web. UDDI
mendefinisikan sarana untuk mempublikasikan dan, lebih penting lagi,
menemukan (atau mencari) informasi tentang layanan web, termasuk
file WSDL.
4. Web Service Description Language (WSDL)
Web Service Description Language mendefinisikan pesanpesan (baik abstrak maupun konkrit) yang dikirim menuju web
69
service, koleksi-koleksi digital dari pesan-pesan (port type,
antarmuka), bagaimana port type yang ditentukan dijadikan wire
protocol dimana service ditempatkan.
Gambar 2. 14 Standar Umum Web Service .(Hollar & Murphy, 2006)
2.2.8 JavaScript Object Notation
Format pertukaran data yang ringan, mudah dibaca dan ditulis oleh
pengembang, serta mudah diterjemahkan dan dibuat oleh komputer. Format ini
dibuat berdasarkan bagian dari bahasa pemrograman Javascript. JavaScript
Object Notation (JSON) merupakan format teks yang tidak bergantung pada
bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum
digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript,
Perl, Python dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON
ideal sebagai bahasa pertukaran data. (Crockford, 2006)
2.2.8.1 Struktur dan Format
Pada dasarnya, semua bahasa pemrograman terbaru mendukung struktur
data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut
demikian karena format data mudah dipertukarkan dengan bahasa-bahasa
70
pemrograman yang juga berdasarkan pada struktur data ini. Adapun format
JSON (JavaScript Object Notation) menurut Crockford (2006):
1. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek
dimulai
dengan { (kurung
dengan } (kurung
kurawal
kurawal
tutup).
buka)
Setiap
dan
diakhiri
nama
diikuti
dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan
oleh , (koma).
2. Larik
(array)
adalah
kumpulan
yang
terurutkan.
Larik
(array) dimulai dengan [ (kurung kotak buka) dan diakhiri
dengan ] (kurung
kotak
tutup).
Setiap
nilai
dipisahkan
oleh, (koma).
3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda,
atau angka, atau true atau false atau null, atau sebuah objek atau
sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.
4. String adalah kumpulan dari nol atau lebih dari satu karakter
Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam
string dapat digunakan backslash escapes "\" untuk membentuk
karakter khusus. Sebuah karakter mewakili karakter tunggal pada
string. String sangat mirip dengan string C atau Java.
5. Mirip dengan angka di C atau Java, kecuali format oktal dan
heksadesimal tidak digunakan.
71
2.2.9 Kopi
Jenis tumbuhan kayu cemara dikotil (berbiji dua) yang dimiliki family
Rubiaceae. Karena tumbuh di ketinggian yang relatif besar, umumnya tanaman
kopi berbentuk pohon. Kopi memiliki banyak varietas jenis yang tersebar
diseluruh dunia, tetapi hanya terdapat 2 jenis kopi yang menjadi varietas utama
untuk dikembangkan di masa sekarang yaitu Arabika dan Robusta. Coffea
arabica, yang dikenal sebagai kopi Arabika, menyumbang 75-80 persen dari
produksi dunia. Coffeacanephora, yang dikenal sebagai kopi robusta,
menyumbang sekitar 20 persen dan berbeda dari kopi Arabika dari segi rasa.
Sementara biji kopi Robusta lebih kuat daripada biji kopi Arabika, dengan
kandungan kafein yang lebih tinggi. Baik Robusta dan Arabika tanaman kopi
dapat tumbuh hingga ketinggian 10 meter. Namun negara-negara penghasil akan
mempertahankan
tanaman
kopi
pada
ketinggian
yang
wajar
untuk
mempermudah proses panen. (CoffeeResearch.org, 2006)
2.2.9.1 Sejarah
Menurut International Coffee Organization (2007), penyebaran global
kopi mulai tumbuh di Afrika. Menurut legenda, pohon kopi berasal dari provinsi
Ethiopia dari Kaffa. Hal ini dicatat bahwa buah tanaman, yang dikenal sebagai
buah kopi, dimakan oleh budak yang diambil dari Sudan dan dibawa ke Yaman
serta Saudi melalui pelabuhan besar. Kopi dibudidayakan di Yaman pada abad
ke-15. Dalam upaya untuk mencegah budidaya di tempat lain, orang-orang Arab
menerapkan larangan ekspor biji kopi subur, tetapi akhirnya larangan ini tidak
72
dipatuhi oleh orang-orang Belanda, yang lebih memilih membawa tanaman kopi
ke Belanda untuk ditanam di rumah kaca pada tahun 1616.
Pada tahun 1600-an Belanda mencoba menanam kopi di Malabar di India
pada tahun 1699 dan mengambil beberapa tanaman untuk dibawa ke Batavia di
pulau Jawa, yang sekarang dikenal dengan ibukota provinsi DKI Jakarta yang
berada di Negara Indonesia. Kopi merupakan komoditas penting dalam
perekonomian dunia. Kopi adalah salah satu produk utama yang paling memiliki
nilai jual tinggi kedua dalam perdagangan dunia setelah minyak sebagai sumber
devisa bagi negara produsen. Kopi sangat penting dalam bidang ekonomi dan
politik di negara-negara berkembang, karena banyak ekspor kopi untuk negaranegara berkembang, menghasilkan lebih dari 50 persen pendapatan devisa dan
merupakan komoditas berjangka yang diperdagangkan di bursa komoditas
utama.
2.2.9.2 Tanaman Kopi di Indonesia
Menurut data statistik International Coffee Organization (2010), pada
tahun 2010 tercatat bahwa Indonesia memiliki 2 jenis komoditas utama kopi
yang diproduksi yaitu Arabika dan Robusta dengan tingkat produksi mencapai
9.129.000 karung per tahunnya. Tingkat konsumsi kopi di Indonesia juga relatif
tinggi yaitu mencapai 0,86 kg per kapita. Data statistik juga menunjukan bahwa
jumlah ekspor kopi arabika per tahun yaitu 792.327 per karung/60kg dan jumlah
ekspor kopi robusta per tahun yaitu 4.462.620 per karung/60kg sehingga didapat
total nilai pendapatan dari total ekspor kopi untuk semua komoditas yaitu 157
juta US dollar per tahunnya.
73
2.2.9.3 Penyakit Penting pada Tanaman Kopi
Menurut data Direktorat Jenderal Bina Produksi Perkebunan (2002, p45p49), terdapat beberapa penyakit penting pada tanaman kopi yaitu :
1. Penyakit Karat Daun Kopi / Coffee Leaf Rust
Penyakit karat daun kopi disebabkan oleh H. vastatrix yang dapat
menyerang di pembibitan sampai tanaman dewasa. Gejala tanaman
terserang adalah daun yang sakit timbul bercak kuning kemudian
berubah menjadi coklat. Lalu, permukaan bercak pada sisi bawah daun
terdapat uredospora seperti tepung berwarna oranye atau jingga.
Pada serangan berat pohon tampak kekuningan, daunnya gugur
dan akhirnya pohon menjadi gundul. Penyebaran penyakit melalui
uredospora yang dapat dibentuk sepanjang tahun. Perkembangan
penyakit dipengaruhi oleh kelembaban. Spora yang telah matang dapat
disebarkan oleh angin dan untuk perkecambahannya diperlukan tetesan
air yang mengandung udara.
Pengendalian penyakit dengan memperkuat kebugaran tanaman
melalui pemupukan berimbang, pemangkasan dan pengaturan naungan
untuk mengurangi kelembaban kebun dan memberikan sinar matahari
yang cukup pada tanaman.
74
Gambar 2. 15 Karat Daun pada Tanaman Kopi (Direktorat Jenderal Bina
Produksi Perkebunan, 2002)
2. Penyakit Bercak Daun Kopi / Brown Eye Spot of Coffee
Penyakit ini disebabkan oleh jamur C. coffeicola yang dapat
muncul di pembibitan sampai tanaman dewasa serta menyerang buah
kopi. Daun yang sakit timbul bercak berwarna kuning yang tepinya
dikelilingi halo (lingkaran) berwarna kuning. Buah yang terserang timbul
bercak berwarna coklat, biasanya pada sisi yang lebih banyak menerima
cahaya matahari. Bercak ini membusuk dan dapat sampai ke biji
sehingga menurunkan kualitas.
Penyakit ini umumnya dijumpai di pertanaman yang kurang
mendapat pemeliharaan. Penyebaran penyakit dibantu oleh keadaan
lingkungan yang lembab dan pola tanam yang kurang baik. Penyebaran
penyakit melalui spora yang terbawa angin dan aliran air hujan serta alatalat pertanian. Pengendalian penyakit dengan sanitasi kebun dan
75
membuang bagian-bagian yang sakit, kemudian membenamkannya di
dalam tanah.
Dapat juga dengan mengurangi kelembaban kebun dengan
pemangkasan, pengaturan naungan dan membuat parit drainase. Serta
melakukan pemupukan dan menghindari penggunaan bibit yang telah
terserang penyakit ini.
Gambar 2. 16 Bercak Daun Kopi (Direktorat Jenderal Bina Produksi
Perkebunan, 2002)
3. Nematoda
Pratylenchus coffeae dan Radopholus similis adalah jenis
nematoda endoparasit yang berpindah-pindah. Daur hidup P. coffeae
sekitar 45 hari dan R. similis
sekitar 1 bulan. Tanaman kopi yang
terserang penyakit ini kelihatan kerdil, daun menguning dan gugur.
Pertumbuhan cabang-cabang primer terhambat sehingga menghasilkan
sedikit bunga, buah prematur dan banyak yang kosong. Bagian akar
serabut membusuk dan putus sehingga habis.
76
Pada serangan berat tanaman akhirnya mati. Nematoda parasit
dapat menyebar dari satu tempat ke tempat lain melalui aliran air atau
tanah yang terbawa pada alat-alat pertanian dan pekerja kebun.
Pengendalian dilakukan dengan memberikan pupuk kandang 12
kg/ pohon/tahun atau membongkar pohon kopi yang terserang berat.
Untuk mencegah penularannya perlu dibuat parit isolasi disekeliling
tanaman sakit (dalam 40 cm dan lebar 30 cm) pada jarak 60 cm dari
pangkal akar. Bisa juga dengan menanam jenis kopi yang tahan untuk
digunakan sebagai batang bawah, misalnya: kopi ekselsa, kopi robusta
klon BP 961.
Gambar 2. 17 Nematoda yang Menyerang Akar Tanaman Kopi (Kanan)
(Direktorat Jenderal Bina Produksi Perkebunan, 2002)
4. Jamur Upas / Root Fungus
Jamur C. salmonicolor dapat menyerang batang, cabang, ranting
dan buah kopi. Infeksi jamur ini pertama kali terjadi pada sisi bagian
bawah cabang ataupun ranting. Serangan dimulai dengan adanya benang-
77
benang jamur tipis seperti sutera, berbentuk sarang laba-laba.
Selanjutnya pada bagian tersebut terjadi nekrosis kemudian membusuk
sehingga warnanya menjadi coklat tua atau hitam.
Nekrosis pada buah bermula dari pangkal buah disekitar tangkai,
kemudian meluas keseluruh permukaan dan mencapai endosperma.
Jamur ini menyebar melalui tiupan angin atau percikan air. Keadaan
lembab dan kurang sinar matahari sangat membantu perkembangan
penyakit ini.
Cara pengendalian penyakit ini adalah batang dan cabang yang
terkena penyakit dipotong sampai 10 cm di bawah pangkal dari bagian
yang sakit lalu potongan-potongan ini dikumpulkan kemudian di bakar
atau memetik buah-buah yang sakit, dikumpulkan dan dibakar atau
dipendam. Bisa juga dengan pemangkasan pohon pelindung untuk
mengurangi kelembaban kebun sehingga sinar matahari dapat masuk ke
areal pertanaman kopi.
Gambar 2. 18 Jamur Upas yang Menyerang Buah Tanaman Kopi
(Direktorat Jenderal Bina Produksi Perkebunan, 2002)
78
5.
Jamur Akar Coklat, Hitam dan Putih
Ada tiga jenis penyakit jamur akar pada tanaman kopi, yaitu
jamur akar coklat, jamur akar hitam dan jamur akar putih. Ketiganya
menular melalui kontak akar. Penyakit ini dapat terjadi pada berbagai
umur tanaman dan dapat mematikan tanaman. Gejala tanaman terserang
warna daun hijau kekuningan, kusam, layu dan menggantung. Seluruh
daun menguning kemudian layu secara serempak, akhirnya mengering di
cabang.
Gejala khas jamur akar coklat adalah akar tunggang tertutup oleh
kerak yang terdiri dari butir-butir tanah yang melekat kuat. Diantara
butir-butir tanah tampak adanya anyaman benang jamur coklat
kehitaman. Lalu, kayu akar yang sakit membusuk, kering dan lunak.
Gejala khas jamur akar hitam, pada pangkal batang dan permukaan kayu
akar terdapat titik-titik hitam.
Gambar 2. 19 Jamur Akar yang Menyerang Tanaman Kopi
(Direktorat Jenderal Bina Produksi Perkebunan, 2002)
79
Jamur akar putih pada permukaan akar terdapat benang jamur
berwarna putih menjalar sepanjang akar dan pada ujungnya meluas
seperti bulu. Penyebaran dan perkembangan penyakit lebih cepat pada
tanah berpasir dan lembab.
Cara pengendalian penyakit ini adalah dengan membongkar
pohon terserang sampai keakarnya, lalu membakar. Lubang bekas
bongkaran dibiarkan terbuka selama + 1 tahun. Pohon sehat disekitar
pohon sakit dan pohon-pohon sisipan ditaburi Trichoderma 200 gr/pohon
dan pupuk kandang/pupuk organik. Diulang setiap 6 bulan sampai areal
tersebut bebas dari jamur akar.
Download