9
BAB 2LANDASAN TEORI2.1 Teori Umum2.1.1 Perangkat Lunak2.1.1.1
Definisi Perangkat Lunak
Menurut Pressman (2005), definisi perangkat lunak adalah sebagai
berikut :
1. Instruksi (program komputer) yang saat dieksekusi,
menghasilkan fitur, fungsi, dan performa yang diinginkan
pengguna.
2. Struktur data yang memungkinkan program untuk memanipulasi
informasi secara handal.
3. Dokumen-dokumen, baik berupa hasil cetak maupun masih
berbentuk data, yang menggambarkan alur operasi dan kegunaan
program.2.1.1.2 Karakteristik Perangkat Lunak
Pressman (2005), menyebutkan karakteristik yang dimiliki oleh
perangkat lunak adalah sebagai berikut :
1. Perangkat lunak adalah hasil rekayasa bukan membuat dalam
pengertian klasik.2. Tidak ada jangka waktu usia pada perangkat
lunak.
3. Walaupun hampir semua industri menerapkan cara perakitan
berbasis komponen, perangkat lunak tetap dibangun secara
tradisional.2.1.2 Aplikasi MobilePerkembangan aplikasi mobile
adalah pengembangan aplikasi bagi perangkat genggam seperti telepon
seluler. Aplikasi-aplikasi mobile ini biasanya sudah terpasang pada
telepon saat proses manufaktur atau dapat juga diunduh oleh
pengguna dari internet.
(http://www.bbconsult.co.uk/Mobile-Web-Software-Development.aspx)
2.1.3 Rekayasa Perangkat Lunak2.1.3.1 Definisi Rekayasa
Perangkat LunakMengacu pada IEEE 610.12, rekayasa perangkat lunak
adalah sebuah studi dan aplikasi dari sebuah pendekatan
kuantifiabel, disiplin, dan sistematis kepada pengembangan, operasi
dan pemeliharaan perangkat lunak..
Pressman (2005) mendefinisikan rekayasa perangkat lunak sebagai
sebuah teknologi yang memiliki lapisan-lapisan, yang terdiri dari
:
1. Terpusat pada kualitas (A Quality Focus)
Seluruh teknik pendekatan apapun (termasuk rekayasa perangkat
lunak) harus berdasarkan pada komitmen suatu organisasi terhadap
kualitas produk yang dihasilkan. Budaya perbaikan proses yang
berkelanjutan inilah yang mengarahkan pengembangan perangkat lunak
yang semakin dewasa. Fondasi awal yang mendukung pengembangan
perangkat lunak adalah fokus pada kualitas.2. Proses (Process)
Lapisan ini adalah dasar dari rekayasa perangkat lunak, yang
berguna sebagai perekat lapisan-lapisan teknologi dan memungkinkan
pengembangan rekayasa perangkat lunak secara rasional dan tepat
waktu. Proses mendefinisikan framework untuk suatu Key Process
Areas (KPAs) yang harus ditetapkan agar penyampaian teknologi
rekayasa perangkat lunak berjalan dengan efektif. Key Process Areas
membentuk dasar untuk kontrol manajemen proyek perangkat lunak dan
membentuk hubungan dimana metode teknis dapat diterapkan, produk
yang dipakai dalam pekerjaan yang dihasilkan (model, dokumen, data,
laporan, dan sebagainya), penetapan pencapaian, penjaminan
kualitas, dan perubahan yang ditangani dengan tepat.3. Metode
(Method)
Lapisan ini menerangkan tentang bagaimana cara membangun
perangkat lunak secara teknis. Metode meliputi tahapan yang
mencangkup analisis kebutuhan (requirement analysis), desain
(design), pembuatan program (program construction), pengujian
(testing), dan pemeliharaan (maintenance)4. Alat (Tools)
Alat dalam rekayasa perangkat lunak berfungsi menyediakan
dukungan baik secara otomatis maupun semi-otomatis untuk proses dan
metode. Ketika alat tersebut diintegrasikan sehingga informasi yang
dihasilkan dapat dipergunakan alat lain, sistem yang digunakan
untuk mendukung perkembangan rekayasa perangkat lunak yang disebut
Computer-Aided Software Engineering (CASE), dibentuk. Case mampu
menggabungkan perangkat lunak, perangkat keras, dan basis data
untuk membangun suatu lingkungan yang sejalan dengan CAD/CAE
(Computer-Aided Design/Engineering) untuk perangkat keras.
Gambar 2.1 Lapisan Rekayasa Perangkat Lunak(Pressman,
2005)2.1.3.2 Model Proses Air Terjun (The Waterfall Process
Model)Model proses air terjun (The Waterfall Process Model), yang
sering juga disebut classic life cycle, menawarkan pendekatan yang
sekuensial dan sistematik. Model proses ini diawali dengan
pengumpulan kebutuhan pengguna (requirement), berlanjut ke proses
perencanaan (planning), pemodelan (modelling), konstruksi
(construction) dan penyebaran (deployiment) secara bertahap dan
memuncak
Gambar 2.2 Model Proses Waterfall(Pressman, 2005)2.1.3.3 Unified
Modeling LanguageMenurut Whitten dan Bentley (2007), UML adalah
satu kumpulan konvensi pemodelan yang digunakan untuk menentukan
atau menggambarkan sebuah sistem software yang terkait dengan
objek.
UML dapat digunakan untuk memvisualisasikan, menentukan,
membangun, dan mendokumentasikan artefak dari sebuah sistem
perangkat lunak yang intensif. Dengan kata lain, seperti arsitek
menciptakan rancangan pembangunanuntuk digunakan untuk konstruksi
bangunan, arsitek perangkat lunak membuat diagram UML untuk
membantu pengembangan perangkat lunak membangun perangkat lunak.
Jika anda memahami kosakata UML (diagram elemen dan artinya), anda
dapat jauh lebih mudah memahami dan menentukan sistem dan
menjelaskan desain sistem itu kepada orang lain. UML 2.0
menyediakan 13 diagram yang berbeda untuk digunakan dalam pemodelan
perangkat lunak. UML menyediakan pilihan (yang terkadang misterius)
sehingga anda dapat mengungkap semua aspek penting dari siste,.
Pada saat yang sama, anda memiliki fleksibilitas untuk menekan
bagian-bagian dari diagram yang tidak relevan dengan aspek yang
dimodelkan dalam rangka untuk menghindari kekacauan diagram dengan
rincian yang tidak relevan.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan
sintaks/sistematik. Notasi UML merupakan sekumpulan bentuk khusus
untuk menggambarkan berbagai diagram peranti lunak. Setiap bentuk
memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana
bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama
diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD
(Object-Oriented Design), Jim Rumbaugh OMT (Object-Oriented
Technique), dan Ivar Jacobson OOSE (Object-Oriented Software
Engineering).
Sejarah UML sendiri cukup panjang. Sampai era 1990 seperti yang
ketahui puluhan metodologi pemodelan berorientas objek telah
bermunculan di dunia. Diantaranya adalah: metodologi Shlaer-Mellor,
metodologi Wirfs-Brock, dan sebagainya. Masa itu terkenal dengan
masa perang metodologi (method war) dalam perdesainan berorientasi
objek. Masing-masing metodologi membawa notasi sendiri-sendiri,
yang mengakibatkan timbul masalah baru apabila bekerja sama dengan
grup/perusahaan lain yang menggunakan metodologi yang
berlainan.
Gambar 2.3 Metodologi UML
(Whitten dan Bentley, 2007)Dimulai pada bulan Oktober 1994
Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh
dikatakan metodologinya banyak digunakan mempelopori usaha untuk
penyatuan metodologi perancangan berorientasi objek. Pada tahun
1995 dirilis hasil pertama dari UML (versi 0.8). sejak tahun 1996
perngembangan tersebut dikoordinasikan oleh Object Management Group
(OMG). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru
adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh,
dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999.
Sejak saat itulah UML telah menjelma menjadi standar bahasa
pemodelan untuk aplikasi berorientas objek.
Object Management Group (OMG) adalah sebuah organisasi
internasional yang dibentuk pada 1989, didukung lebih dari 800
anggota, terdiri dari perusahaan sistem informasi, software
developer, dan para user sistem komputer. Organisasi ini salah
satunya bertugas membuat spasifikasi manajemen objek untuk
menerapkan kerangka bersama dalam rekayasa software.
Sasaran OMG adalah membantu perkembangan object-oriented
technology dan mengarahkannya dengan mendirikan Object Management
Architecture (OMA). OMA menentukan infrastruktur konseptual yang
didasarkan pada seluruh spesifikasi yang dikeluarkan OMG. OMG
kemudian mengeluarkan UML, dimana dengan adanya UML ini diharapkan
dapat mengurangi kekacauan dalam bahasa pemodelan yang selama ini
terjadi dalam lingkungan industri. UML diharapkan juga dapar
menjawab masalah penotasian dan mekanisme tukar menukar model yang
terjadi selama ini.2.1.3.4 Class DiagramMenurut Whitten dan Bentley
(2007), Class diagram menggambarkan struktur dari sistem. Serta
menampilkan Class Object yang berada didalam sistem serta hubungan
antara objek tersebut dan objek lainnya.
Untuk memodelkan class, termasuk atribut, operasi, dan hubungan
dan asosiasi dengan kelas lain. UML menyediakan class diagrams.
Class diagrams menyediakan tampilan statis atau struktural dari
sistem dan tidak menunjukkan sifat dinamis dari komunikasi antara
object dari class dalam diagram.
Class merupakan pembentukan utama dari sistem berorientasi
objek, karena class menunjukkan kumpulan objek yang memiliki
atribut dan operasi yang sama. Class digunakan untuk mengabstrakkan
elemen-elemen dari sistem yang sedang dibangun. Class bisa
mempresentasikan baik perangkat lunak maupun perangkat keras, baik
konsep maupun benda nyata.
Unsur-unsur utama dari class diagrams adalah kotak,
yangmerupakan ikon yang digunakan untuk mewakili class dan
interface. Setiap kotak dibagi menjadi bagian-bagian horisontal.
Bagian atas berisi nama class. Bagian tengah daftar atribut class.
Sebuah atribut mengacu pada suatu yang object yang sebuah class
miliki. Atribut biasanya diimplementasikan sebagai bidang
class.
Pada class diagrams juga terdapat hubungan yang sangat erat
dimana suatu class akan sangat tergantung terhadap class lainnya,
dimana apabila objek suatu class tersebut tidak ada, maka objek
dari class yang bergantung penuh terhadap class tersebut menjadi
tidak ada juga keberadaannya. Hubungan ini dinamakan composite
dimana lambangnya adalah black diamond.
Gambar 2.4 Class Diagram
(Whitten dan Bentley, 2007)2.1.3.5 Use-Case 2.1.3.5.1 Use Case
DiagramMenurut Whitten dan Bentley (2007), Use Case diagram
menggambarkan interaksi antara sistem dan sistem eksternal, serta
user. Dengan kata lain, Use Case diagram menggambarkan siapa yang
akan menggunakan sistem dan dengan jalan apa yang diinginkan user
untuk berinteraksi dengan sistem. Selain itu, Use Case digunakan
untuk secara tekstual menggambarkan urutan langkah setiap interaksi
tersebut.
Interaksi antara para pelaku tidak ditampilkan pada diagram
use-case. Jika interaksi penting untuk mendeskripsikan koherensi
perilaku yang diinginkan, mungkin sistem atau batas-batas use-case
harus kembali diperiksa atau, interaksi di antara pelaku dapat
menjadi bagian dari asumsi yang digunakan dalam use-case. Beberapa
blok diagram yang digunakan antara lain : Blok use-caseSebuah
use-case menggambarkan suatu urutan tindakan yang memberikan suatu
yang bernilai terukur untuk aktor dan digambarkan sebagai sebuah
eclipse.
Aktor
Aktor adalah orang, organisasi, atau sistem eksternal yang
berperan dalam satu atau lebih interaksi dengan sistem. Blok
batasan sistem
Blok batasan sistem digunakan untuk menunjukkan ruang lingkup
sistem. Apapun yang ada di dalam kotak mewakili fungsi yang ada di
dalam lingkup sistem.
Gambar 2.5 Use case
(Whitten dan Bentley, 2007)2.1.3.5.2 Use Case Naratif
Menurut Whitten dan Bentley (2007), use case naratif berguna
untuk menerangkan isi event secara rinci dan menjelaskan bagaimana
pengguna berinteraksi dengan sistem selama event tersebut. Use case
naratif adalah penggambaran secara tulisan mengenai event dan
penjelasan bagaimana pengguna berinteraksi dengan sistem dalam
menyelesaikan tugas.2.1.3.6 Sequence DiagramMenurut Whitten dan
Bentley (2007), Sequence diagram adalah diagram yang menggambarkan
bagaimana objek berinteraksi dengan objek lainnya melalui pesan
dalam suatu eksekusi dari sebuah Use Case atau sebuah operasi.
Sequence diagram juga mengilustrasikan bagaimana pesan dikirim dan
diterima oleh objek dan terjadi didalam suatu sequence.Pada diagram
ini mempresentasikan kelas kunci dan kejadian yang menyebabkan alir
dari kelas ke kelas. Garis lurus tanpa putus merupakan pemanggilan
fungsi dan garis dengan putus-putus berarti pengembalian terhadap
suatu aksi. Contoh sequence diagram ditunjukkan pada gambar dibawah
ini.
Gambar 2.6 Contoh Sequence Diagram (Whitten dan Bentley,
2007)
2.1.4 Pengertian Basis Data
2.1.4.1 DataMenurut Gillenson (2012), Data adalah catatan atas
kumpulan fakta. Data merupakan bentuk jamak dari datum, berasal
dari bahasa Latin yang berarti sesuatu yang diberikan. Dalam
penggunaan sehari-hari data berarti suatu pernyataan yang diterima
secara apa adanya. Pernyataan yang bentuknya dapat berupa angka,
kata-kata, atau citra.2.1.4.2 Basis Data
Menurut Gillenson (2012), Basis data didefinisikan sebagai
konsep menyusun data menjadi sebuah kumpulan data yang teratur.
Menurut OBrien (2003), Basis data adalah sebuah kumpulan yang
terintegrasi dari elemen data yang terhubung secara logikal. Elemen
data mendeskripsikan entiti-entiti dan hubungan antara
entiti-entiti.
Menurut Turban (2003), Basis data merupakan kumpulan file atau
record yang terorganisir yang menyimpan data beserta hubungan
diantara data tersebut.
Konsep dasar dari basis data adalah kumpulan dari
catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data
memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di
dalamnya: penjelasan ini disebut skema. Skema menggambarkan objek
yang diwakili suatu basis data, dan hubungan diantara objek
tersebut. Ada banyak cara untuk mengorganisasi skema, atau
memodelkan struktur basis data: ini dikenal sebagai model basis
data atau model data. Model yang umum digunakan sekarang adalah
model relational, yang menurut istilah umum mewakili semua
informasi dalam bentuk tabel-tabel yang saling berhubungan dimana
setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya
menggunakan terminologi matematika). Dalam model ini, hubungan
antar tabel diwakili dengan menggunakan nulau yang sama antar
tabel. Model yang lain seperti model hierarkis dan model jaringan
menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar
tabel.
Tujuan utama pengelolaan data dalam basis data adalah agar dapat
memperoleh data yang dicari dengan mudah dan cepat. Pemanfaatan
basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut
:
1. Kecepatan dan kemudahan (speed)
2. Efisiensi ruang penyimpanan (space)
3. Keakuratan (accuracy)
4. Ketersediaan (availability)
5. Kelengkapan (compeleteness)
6. Keamanan (security)
7. Kebersamaan pemakaian (sharability)
Dalam penggunaannya, basis data memiliki beberapa keuntungan
yaitu :
1. Mengurangi kesalahan yang disebabkan oleh faktor manusia.
Dengan menyerahkan segala tugas mekanis kepada mesin.
2. Komputer dapat mengambil dan mengubah data lebih cepat dari
manusia.
3. Akurat dan informasi terbaru selalu tersedia setiap saat.
Menghemat ruangan karena tidak perlu menyediakan ruangan
penyimpanan kertas file yang sangat banyak2.1.4.3 Database
Management SystemDefinisi Database Management System (DBMS) menurut
Connoly dan Begg (2005) adalah suatu sistem perangkat lunak yang
memungkinkan user untuk mendefinisikan (define), membuat (create),
memelihara (maintain) basis data, dan menyediakan kendali dalam
mengakses basis data, DBMS memiliki 5 komponen, yaitu :
a. Perangkat keras (Hardware)
DBMS membutuhkan perangkat keras untuk menjalankannya.
Contohnya : single personal computer, single mainframe.b.
Perangkat lunak (Software)
Karena seluruh kendali DBMS akan dilakukan oleh program aplikasi
maka DBMS harus dapat dihubungkan ke program-program
aplikasinya.
c. Data
Data yang digunakan oleh suatu organisasi harus didesain
sedemikian rupa sehingga mudah untuk digunakan.
d. Prosedur (Procedures)
Perintah-perintah yang harus dilakukan untuk menjalankan DBMS
ini.
e. Faktor manusia (People)
Ini adalah masalah keterkaitan perilaku orang yang menggunakan
sistem (user) denga sistem DBMS yang sudah didesain sebelumnya.
Manusia yang terlibat dengan sistem, termasuk dalamnya adalah :
database administrator, perancang database, pengembang aplikasi dan
pemakai akhir. Komponen-komponen dalam lingkungan DBMS dapat
digambarkan sebagai berikut :
Gambar 2.7 Komponen Dalam Lingkungan DBMS(Connoly dan Begg,
2005)Fasilitas-fasilitas dalam DBMS adalah sebagai berikut ini
:
a. Mendefinisikan basis data, biasanya menggunakan suatu Data
Definition Language (DDL) yang berguna untuk memberikan fasilitas
kepada user untuk mendeklarasikan tipe data, struktur dan isi data
yang disimpan ke dalam basis data tersebut.
b. Memperbolehkan user untuk menambahkan data, mengubah data,
menghapus data, dann menemukan data. Biasanya dengan menggunakan
suatu Data Manupulation Language (DML). Biasanya ada suatu
fasilitas untuk melayani pengaksesan data yang disebut sebagai
Query Language. Bahasa query yang paling diakui adalah Structured
Query Language (SQL), yang secara de facto merupakan standar bagi
DBMS.
c. Selain itu terdapat juga fungsi-fungsi untuk pengendalian
basis data. Sebagai contoh :
1. Sistem keamanan (security system)
Untuk mencegah user yang tidak berwenang untuk mengakses
file-file yang bukan haknya.
2. Sistem kontrol (concurrency control system)
Untuk mengijinkan data dapat dipakai bersama-sama oleh user-user
lain.3. Sistem kontrol pengembalian (recovery control system)
Untuk memperbaiki data-data juka sebelumnya terjadi
kerusakan-kerusakan pada perangkat keras atau perangkat lunak.
4. Katalog yang dapar diakses user (user accessible catalog)
Suatu catatan dari deskripsi data-data dalam database.2.1.4.4
Structured Query Language (SQL)Structured Query Language (SQL)
adalah sebuah contoh bahasa yang diciptakan dengan menggunakan
relasi untuk mengubah masukan menjadi keluaran yang dibutuhkan
(Connoly dan Begg, 2005). Bahasa ini secara de facto merupakan
bahasa standar yang digunakan dalam manajemen basis data
relasional. Saat ini hampir semua server basis data yang ada
mendukung bahasa ini untuk melakukan manajemen datanya. Sejarah SQL
dimulai dari artikel seorang peneliti dari IBM bersama E. F. Codd
yang membahas tentang ide pembuatan basis data relasional pada
bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan
bahasa standar untuk mengakses data dalam basis data tersebut.
Bahasa tersebut kemudian diberi nama SEQUEL (Structured English
Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek
pembuatan basis data relasional berbasis bahasa SEQUEL. Akan
tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun
mengubah menjadi SQL. Implementasi basis data relasional dikenal
dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang
membuat server basis data populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga
ikut populer sehingga saat ini menjadi standar de facto bahasa
dalam manajemen basis data.
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan
dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut
dengan SQL86. Standar tersebut kemudian diperbaiki pada tahun 1989
kemudian diperbaiki lagi 1992. Versi terakhir dikenal sebagai
SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau
disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi
pada SQL92. Hal ini disebabkan masing-masing server memiliki dialek
masing-masing.2.1.5 Kecerdasan Buatan (Artificial
Intelligence)Menurut Kusumadewi (2003), kecerdasan buatan
(Artificial Intelligence) adalah ilmu yang mempelajari cara membuat
komputer melakukan sesuatu seperti yang dilakukan manusia. Definisi
kecerdasan buatan lainnya juga diungkapkan oleh Rich dan Knight
(1991), kecerdasan buatan merupakan sebuah studi tentang bagaimana
membuat komputer melakukan hal-hal yang pada saat ini dapat
dilakukan lebih baik oleh manusia.
Ada tiga tujuan kecerdasan buatan, yaitu : membuat komputer
lebih cerdas, mengerti tentang kecerdasan, dan membuat mesin yang
lebih berguna. Kecerdasan adalah kemampuan untuk belajar dan
mengerti dari pengalaman, memahami pesan yang kontradiktif dan
ambigu, menanggapi dengan cepat dan baik atas situasi yang baru,
menggunakan penalaran dalan memecahkan masalah serta
menyelesaikannya dengan efektif. Adapun lingkup utama dalam
kecerdasan buatan adalah :
1. Sistem pakar (Expert System)
Komputer digunakan sebagai sarana untuk menyimpan pengetahuan
para pakar. Dengan demikian komputer akan memiliki keahlian untuk
menyelesaikan permasalahan dengan meniru keahlian yang dimiliki
oleh pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing)
Dengan adanya pengolahan bahasa alami diharapkan user dapat
berkomunikasi dengan komputer dengan menggunakan bahasa
sehari-hari.
3. Pengenalan Ucapan (Speech Recognition)
Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi
dengan komputer menggunakan suara.
4. Robotika dan Sistem Sensor (Robotics and Sensory Systems)5.
Computer VisionComputer Vision mencoba untuk dapat
menginterpretasikan gambar atau objek-objek tampak melalui
komputer.
6. Intelligent Computer-aided InstructionKomputer dapat
digunakan sebagai tutor yang dapat melatih dan mengajar
7. Game Playing2.1.6 Sistem Pakar
Menurut Kusumadewi (2003), Sistem pakar atau Expert System biasa
disebut dengan knowledge-based system adalah program penasehat
berbasis komputer yang mencoba meniru proses berpikir dan
pengetahuan dari seorang pakar dalam menyelesaikan masalah-masalah
spesifik.
Sistem ini bekerja dengan menggunakan pengetahuan (knowledge)
dan metode analisis yang telah didefinisikan terlebih dahulu oleh
pakar yang sesuai dengan bidang keahliannya. Sistem ini disebut
sistem pakar karena fungsi dan perannya sama seperti seorang ahli
yang harus memiliki pengetahuan, pengalaman dalam memecahkan suatu
persoalan. Sistem biasanya berfungsi sebagai kunci penting yang
akan membantu suatu sistem pendukung keputusan atau sistem
pendukung eksekutif.Sistem pakar terdiri dari dua komponen utama
yaitu : basis pengetahuan (knowledge base) dan alat pengambil
kesimpulan (inference engine). Biasa pengetahuan didapat dari
akumulasi pengetahuan pakar pada bidang tertentu.
Pengetahuan didefinisikan sebagai kumpulan data dan himpunan
aturan untuk memanipulasi atau mengolah data untuk menjadi
pengetahuan baru. Basis pengetahuan merupakan komponen penting dari
suatu sistem pakar, besar kecilnya kemampuan sistem pakar biasanya
ditentukan oleh kapasitas dari basis pengetahuannya, sedangkan
mesin pengambil keputusan adalah aplikasi yang membantu memandu
pengguna sistem pakar dalam memanipulasi data dan memilih
pengetahuan yang sesuai untuk mendapatkan kesimpulan.2.1.6.1 Konsep
Dasar Sistem PakarKonsep dasar dari sistem pakar yaitu meliputi
keahlian (expertise), ahli (expert), pemindahan keahlian
(transfering expertise), inferensi (inferencing), aturan (rules)
dan kemampuan memberikan penjelasan (explanation capability).
Keahlian (expertise) adalah pengetahuan yang mendalam tentang
suatu masalah tertentu, dimana keahlian bisa diperoleh dari
pelatih/pendidikan, membaca dan pengalaman dunia nyata. Ada dua
macam pengetahuan yaitu pengetahuan dari sumber yang ahli dan
pengetahuan dari sumber yang tidak ahli. Pengetahuan dari sumber
yang ahli dapat digunakan untuk mengambil keputusan dengan cepat
dan tepat.
Ahli (experts) adalah seorang yang memiliki keahlian tentang
suatu hal dalam tingkatan tertentu, ahli dapat menggunakan suatu
permasalahan yang ditetapkan dengan beberapa cara yang berubah-ubah
dan merubahnya kedalam bentuk yang dapat dipergunakan oleh dirinya
sendiri dengan cepat dan cara pemecahan yang mengesankan. Kemampuan
pemecahan masalah adalah penting, tetapi tidak cukup dilakukan
sendiri.
Ahli seharusnya dapat untuk menjelaskan hasil yang diperoleh,
mempelajari sesuatu yang baru tentang domain masalah,
merestrukturisasi pengetahuan kapan saja yang diperlukan dan
menentukan apakah keahlian mereka relevan atau saling
berhubungan.2.1.6.2 Tujuan Sistem PakarTujuan dari sistem pakar
adalah untuk memindahkan kemampuan (transfering expertise) dari
seorang ahli atau sumber keahlian yang lain ke dalam komputer dan
kemudian memindahkannya dari komputer kepada pemakai yang tidak
ahli (bukan pakar). Proses ini meliputi empat aktivitas yaitu :
1. Akusisi pengetahuan (knowledge acquisition) yaitu kegiatan
mencari dan mengumpulkan pengetahuan dari para ahli atauu sumber
keahlian lain.
2. Representasi pengetahuan (knowledge representation) adalah
kegiatan menyimpan dan mengatur penyimpanan pengetahuan yang
diperoleh kedalam komputer. Pengetahuan berupa fakta dan aturan
disimpan dalam komputer sebagai sebuah komponen yang disebut bais
pengetahuan.
3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan
melakukan inferensi berdasarkan pengetahuan yang telah disimpan
didalam komputer.
4. Pemindahan pengetahuan (knowlegde transfer) adalah kegiatan
pemindahan pengetahuan dari komputer ke pemakai yang tidak
ahli.2.1.6.3 Karakteristik Sistem PakarKarakteristik sistem pakar
adalah sebagai berikut :
1. Terbatas pada bidang spesifik.
2. Dapat memberiikan penalaran untuk data-data yang tidak
lengkap atau tidak pasti.
3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan
cara yang dapat dipahami.
4. Berdasarkan pada rule atau kaidah tertentu.
5. Dirancang untuk dapat dikembangkan secara bertahap.
6. Output-nya bersifat nasihat atau anjuran.
7. Output tergantung dari dialog dengan user.
8. Knowledge base dan inference engine terpisah.2.1.6.4 Komponen
Sistem pakarSistem pakar memiliki beberapa komponen utama, yaitu
antarmuka pengguna (user interface), basis data sistem pakar
(expert system database), fasilitas akusisi pengetahuan (knowledge
acquisition facility), dan mekanisme inferensi (inference
mechanism). Selain itu ada satu komponen yang hanya ada pada
beberapa sistem pakar, yaitu fasilitas penjelasan (explanation
facility).
Komponen-komponen dalam sistem pakar antara lain :
1. Basis Pengetahuan (Knowledge Base)
Pengetahuan merupakan kemampuan untuk membentuk model mental
yang menggambarkan objek dengan tepat dan mempresentasikannya dalam
aksi yang dilakukan terhadap suatu objek. Pengetahuan dapat
diklasifikasikan menjadi tiga, yaitu pengetahuan prosedural
(procedural knowledge), pengetahuan deklaratif (declaratif
knowledge), dan pengetahuan tacit (tacit knowledge). Pengetahuan
prosedural lebih menekankan pada bagaimana melakukan sesuatu,
pengetahuan deklaratif menjawab pertanyaan apakah sesuatu bernilai
salah atau benar, sedangkan pengetahuan tacit merupakan pengetahuan
yang tidak dapat diungkapkan dengan bahasa. Basis pengetahuan
merupakan inti program sistem pakar dimana basis pengetahuan ini
adalah representai pengetahuan (knowledge representation) dari
seorang pakar. Pengetahuan dapat dipresentasikan dalam bentuk yang
sederhana atau kompleks, tergantung dari masalahnya. Ada beberapa
model representasi yang penting yaitu : logika (logic), jaringan
semantik (semantic nets), bingkai (frame), kaidah produksi
(production rule).a. Logika (logic)
Logika merupakan suatu pengkajian ilmiah tentang serangkaian
penalaran, sistem kaidah, dan prosedur yang membantu proses
penalaran. Logika merupakan bentuk representasi pengetahuan yang
paling tua, yang menjadi dasar dari teknik representasi high
level.
b. Jaringan Sematik
Merupakan suatu gambaran dari pengetahuan yang memperlihatkan
hubungan hirarki dari objek-objek. Objek direpresentasikan dalam
bentuk node dan hubungan antara objek dinyatakan oleh garis
penghubung beratribut.
c. Bingkai (frame)
Yaitu blok-blok berisi pengetahuan mengenai objek tertentu,
kejadian, lokasi, situasi dari elemen-elemen lain yang
menggambarkan objek tersebut secara rinci, dimana rincian objek
tersebut disimpan ke dalam sebuah slot yang menggambarkan berbagai
atribut dan karakteristik dari objek.
d. Kaidah Produksi
Metode kaidah produksi biasanya dituliskan dalam bentuk jika
maka (if-then). Kaidah ini dapat dikatakan sebagai hubungan
implikasi dua bagian, yaitu: pertama jika (premis) dan yang kedua,
yaitu maka (konklusi). Apabila bagian premis dipenuhi maka bagian
konklusi akan bernilai benar
2. Basis Data (Database)
Basis data adalah bagian yang mengandung semua fakta-fakta baik
fakta awal pada saat sistem mulai beroperasi maupun fakta-fakta
yang didapatkan pada saat pengambilan kesimpulan yang sedang
dilaksanakan. Dalam praktiknya, basis data berada di dalam memori
komputer. Kebanyakan sistem pakar mengandung basis data untuk
menyimpan data hasil observasi dan data lainnya yang dibutuhkan
selama pengolahan.
3. Mesin Inferensi (Inference Engine)
Mesin inferensi adalah bagian yang mengandung mekanisme fungsi
berpikir dan pola-pola penalaran sistem yang akan menganalisis
suatu masalah tertentu dan selanjutnya akan mencari jawaban atau
kesimpulan yang terbaik. Secara deduktif mesin inferensi memilih
pengetahuan yang relevan dalam rangka mencapai kesimpulan. Dengan
demikian sistem ini dapat menjawab pertanyaan pemakai meskipun
jawaban tersebut tidak tersimpan secara eksplisit di dalam basis
pengetahuan. Mesin inferensi memulai pelacakannya dengan
mencocokkan kaidah-kaidah dalam basis pengetahuan dengan
fakta-fakta yang ada dalam basis data.
Secara umum, ada 2 macam metode inferensi, yaitu:
a. Forward Chaining (Pelacakan ke Depan)
Forward Chaining merupakan grup dari multipel inferensi yang
melakukan pencarian dari suatu masalah kepada solusinya. Jika
klausa premis sesuai dengan situasi (bernilai TRUE), maka proses
akan mengambil konklusi. Forward Chaining adalah data-driven karena
inferensi dimulai dengan informasi yang tersedia dan baru konklusi
diperoleh. Pelacakan ke depan mencari fakta yang sesuai dari bagian
IF dari aturan IF-THEN. Mula-mula sistem mencari semua aturan yang
kondisinya terdapat di memori kerja, kemudian memilih salah satunya
dan menjalankan aksi yang bersesuaian dengan aturan tersebut.
Pemilih aturan yang akan dijalankan (fire) berdasarkan strategi
tetap yang disebut strategi penyelesaian konflik. Aksi tersebut
menghasilkan memori kerja baru, dan siklus diulang lagi sampai
tidak ada aturan yang dapat dipicu (fire), atau tujuan (goal) yang
dikehendaki sudah terpenuhi.b. Backward Chaining (Pelacakan ke
Belakang)
Pelacakan ke belakang adalah pendekatan yang dimotori oleh
tujuan (goal-driven). Dalam pendekatan ini pelacakan dimulai dari
tujuan tersebut untuk kesimpulannya. Selanjutnya proses pelacakan
menggunakan pramis untuk aturan tersebut sebagai tujuan baru dan
mencari aturan lain dengan tujuan baru sebagai kesimpulannya.
Proses berlanjut sampai semua kemungkinan ditemukan.2.1.7 Object
Oriented ProgrammingObject Oriented Programming menurut Deitel
(2012) adalah suatu metode pemograman modular yang memungkinkan
para software engineer membuat perancangan program dengan lebih
produktif. Object Oriented Programming banyak digunakan karena
lebih mudah untuk dipelajari, dimodifikasi, dan diubah apabila
terjadi perubahan requirement. Konsep utama dari Object Oriented
Programming adalah enkapsulasi (encapsulation), pewarisan
(inheritance) dan polimorfisme (polymorphism):1. Enkapsulasi
(encapsulation) adalah penyembunyian seluruh attribute dan method
dalam suatu pengelompokan yang disebut class. Dengan enkapsulasi,
segala proses kerja dari class disembunyikan dari class lain.2.
Perwarisan (inheritance) adalah ciri dari object oriented
programming dimana attribute dan method dari suatu class dapat
diwariskan/diturunkan ke dalam sebuah class baru, sehingga
memungkinkan modifikasi fungsi yang ada pada class turunan.
3. Polimorfisme (polymorphism) adalah ciri dari object oriented
programming yang memungkinkan software engineer melakukan
modifikasi dan reuse dari class awal dan class turunan yang dibuat
dari class awal.2.1.8 Entity Relationship DiagramEntity
Relationship Diagram menurut Deitel (2012) adalah suatu grafik yang
menggambarkan struktur tabel basis data dan hubungan antar tabel
tersebut. Entity Relationship Diagram juga menunjukkan attribute,
tipe data, dan table key dari tabel.
Gambar 2.8 Contoh Entity Relationship DiagramPada ERD terdapat
satu attribute kunci yang unik. Attribute kunci ini akan digunakan
untuk menjadikan pembeda daripada kumpulan record lainnya sehingga
attribute lainnya akan sangat bergantung pada attribute tersebut
dan attribute tersebut dinamakan sebagai primary key. Lalu terdapat
juga foreign key yang merupakan attribute yang nilainya berasal
dari primary key tabel yang bersangkutan dengannya.Pada ERD
terdapat relasi-relasi yang terjadi antar tabel. Antara lain
sebagai berikut:
1. One to One
Pada relasi ini terjadi hubungan antar tabel yang ada dimana
hubungan yang ada berarti satu tabel akan tepat terjadi memiliki
satu tabel lainnya.
2. One to many
Pada relasi ini terjadi hubungan antar tabel yang ada dimana
hubungan yang ada berarti satu tabel bisa memiliki banyak tabel
lainnya.2.2 Teori Khusus
2.2.1 AndroidAndroid adalah sistem operasi untuk telepon seluler
yang berbasis Linux. Android menyediakan platform terbuka bagi para
pengembang untuk menciptakan aplikasi mereka sendiri untuk
digunakan oleh bermacam peranti bergerak. Android adalah platform
pertama yang bersifat terbuka dan komprehensif untuk perangkat
mobile (Meier, 2010). Awalnya, Google Inc. membeli Android Inc.,
pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian
untuk mengembangkan Android, dibentuklah Open Handset Alliance,
konsorsium dari 34 perusahaanperanti keras, peranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm,
T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5
November 2007, Android bersama Open Handset Alliance menyatakan
mendukung pengembangan standar terbuka pada perangkat seluler. Di
lain pihak, Google merilis kode-kode Android dibawah lisensi
Apache, sebuah lisensi perangkat lunak dan standar terbuka
perangkat selular. Di dunia ini terdapat dua jenis distributor
sistem operasi Android. Pertama yang mendapat dukungan penuh dari
Google atau Google Mail Services (GMS) dan kedua adalah yang
benar-benar bebas distribusinya tanpa dukungan langsung Google atau
dikenal sebagai Open Handset Distribution (OHD). Android memiliki
berbagai keunggulan sebagai software yang memakai basis kode
komputer yang bisa didistribusikan secara terbuka (open source)
sehingga pengguna bisa membuat aplikasi baru didalamnya. Android
memiliki aplikasi native Google yang terintegrasi seperti pushmail
Gmail, Google Maps, dan Google Calendar. Para penggemar open source
kemudian membangun komunitas yang membangun dan berbagi Android
berbasis firmware dengan sejumlah penyesuaian dan features
tambahan, seperti FLAC lossless audio dan kemampuan untuk menyimpan
aplikasi pada microSD card. Mereka sering memperbaharui paket-paket
firmware dan menggabungkan elemen-elemen fungsi Android yang belum
resmi diluncurkan dalam suatu carrier-sanction firmware.2.2.1.1
Android FeaturesFeatures yang tersedia dan didukung oleh Android
adalah:
Kerangka aplikasi: memungkinkan penggunaan dan penghapusan
komponen yang tersedia.
Dalvik virtual machine: mesin virtual dioptimalkan untuk
perangkat mobile Grafik: grafik di 2D dan grafis 3D berdasarkan
library OpenGL.
SQLite: untuk penyimpanan data.
Mendukung media: audio, video, dan berbagai format gambar
(MPEG4, H.264, MP3, ACC, AMR, JPG, PNG, GIF)
GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware dependent)
Kamera, Global Positioning System (GPS), kompas, dan
accelerometer (hardware dependent).2.2.1.2 SQLiteSQLite merupakan
sebuah sistem manajemen basis data relational yang bersifat
ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil,
ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat
public domain yang dikerjakan oleh D. Richard Hipp. Tidak seperti
pada paradigma client-server umumnya, inti SQLite bukanlah sebuah
sistem yang mandiri yang berkomunikasi dengan sebuah program,
melainkan sebagai bagian integral dari sebuah program secara
keseluruhan. Sehingga protokol komunikasi untama yang digunakan
adalah melalui pemanggilan API secara langsung melalui bahasa
pemrograman. Mekanisme seperti ini tentunya membawa keuntungan
karena dapat mereduksi overhead, latency times, dan secara
keseluruhan lebih sederhana. Seluruh elemen basis data (definisi
data, tabel, indeks, dan data) disimpan sebagai sebuah file.
Kesederhanaan dari sisi desain tersebut bisa diraih dengan cara
mengunci keseluruhan file basis data pada saat sebuah transaksi
dimulai. (Sumber : http://www.sqlite.org/about.html)
2.2.2 Logika Fuzzy
Menurut Kusumadewi dan Purnomo (2004) Logika fuzzy adalah suatu
cara yang tepat untuk memetakan suatu ruang input kedalam suatu
ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam
derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh
sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah
pada waktu yang sama.
Konsep logika fuzzy pertama sekali diperkenalkan oleh Professor
Lotfi A.Zadeh dari Universitas California, pada bulan Juni 1965.
Logika fuzzy merupakan generalisasi dari logika klasik yang hanya
memiliki dua nilai kenaggotaan antara 0 ddan 1. Dalam logika fuzzy,
nilai kebenaran suatu pernyataan berkisar dari sepenuhnya benar
sampai sepenuhnya salah. Dengan teori himpunan fuzzy, suatu objek
dapat menjadi anggota dari banyak himpunan dengan derajat
keanggotaan yang berbeda dalam masing-masing himpunan. Konsep ini
berbeda dengan teori himpunan klasik (crisp).Fuzzy secara bahasa
diartikan sebagai kabur atau samar-samar. Suatu nilai dapat
bernilai benar dan salah secara bersamaan. Dalam fuzzy dikenal
derajat keanggotaan yang memiliki rentang nilai 0 hingga 1. Berbeda
dengan himpunan tegas yang memiliki nilai 0 atau 1. Namun berapa
besar keberadaan dan kesalahan suatu variabel tergantung pada bobot
keanggotaan yang dimilikinya. Logika fuzzy digunakan untuk
menerjemahkan suatu besaran yang diekspresikan menggunakan bahasa,
misalkan besaran pusing yang diderita pasien yang diekspresikan
dengan sedikit pusing, pusing, sangat pusing. Dan logika fuzzy
menunjukkan mana suatu nilai itu benar dan sejauh mana suatu nilai
itu salah. Tidak seperti logika klasik,suatu nilai hanya mempunyai
2 kemungkinan yang merupakan suatu anggota himpunan atau tidak.
Alasan menggunakan logika fuzzy antara lain yaitu:
1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang
mendasari penalaran fuzzy sangat sederhana dan mudah
dimengerti.
2. Logika fuzzy sangat fleksibel.
3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak
tepat.
4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang
sangat kompleks.
5. Logika fuzzy dapat membangun dan mengaplikasikan
pengalaman-pengalaman para pakar secara langsung tanpa harus
melalui proses pelatihan.
6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendari
secara konvensional7. Logika fuzzy didasarkan pada bahasa
alami.2.2.2.1 Himpunan FuzzyMenurut Kusumadewi dan Purnomo (2004),
pada himpunan tegas (crisp), nilai keanggotaan suatu objek x dalam
suatu himpunan A, yang sering ditulis dengan A[x], memiliki 2
kemungkinan yaitu sebagai berikut :
1. Satu (1), yang berarti bahwa suatu objek menjadi anggota dam
suatu himpunan, atau
2. Nol(0), yang berarti bahwa suatu objek tidak menjadi anggota
dalam suatu himpunan.
Misalkan variabel umur dibagi 3 kategori sebagai berikut :
MUDA : umur < 35 tahun
PAROBAYA : 35 umur 55 tahun
TUA : umur > 55 tahun
Apabila seseorang berusia 34 tahun, maka ia dikatakan MUDA(MUDA
[34thn] = 1). Apabila seseorang berusia 35 tahun kurang 1 hari,
maka ia dikatakan TIDAK MUDA (MUDA [35thn 1hr] = 0). Adanya
perubahaan kecil saja pada suatu nilai mengakibatkan perbedaan
kategori yang cukup signifikan. Himpunan fuzzy digunakan untuk
mengantisipasi hal tersebut. Seseorang dapat masuk dalam 2 himpunan
yang berbeda, MUDA dan PAROBAYA, PAROBAYA dan TUA, dan sebagainya.
Seberapa besar eksistensinya dalam himpunan tersebut dapat dilihat
berdasarkan nilai keanggotaannya. Himpunan fuzzy memiliki 2 atribut
yakni sebagai berikut :
1. Linguistik adalah penamaan suatu grup yang mewakili suatu
keadaan atau kondisi tertentu dengan menggunakan bahasa alami.
Suatu variabel linguistic adalah sebuah variabel yang mewakili
nilai berupa kata-kata dalam bahasa alamiah. Setiap variabel
linguistic berkaitan dengan sebuah fungsi. Seperti : KURUS, IDEAL,
GEMUK.
2. Numeris adalah suatu nilai yang menunjukkan ukuran dari suatu
variabel seperti : 15, 25, 35
Hal-hal yang terdapat dalam sistem fuzzy yaitu sebagai berikut
:
1. Variabel fuzzy merupakan variabel yang dibahas dalam suatu
sistem fuzzy seperti umur,temperature,permintaan,dsb.
2. Himpunan fuzzy, merupakan suatu grup yang mewakili suatu
kondisi atau keadaan tertentu dalam suatu variabel fuzzy.3. Semesta
pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk
dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan
merupakan himpunan bilangan real yang senantiasa naik (bertambah)
secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat
berupa bilangan positif maupun negatif. Adakalanya nilai semesta
pembicaraan tidak dibatasi batas atasnya.
4. Domain adalah keseluruhan nilai yang diijinkan dalam semesta
pembicaraan dan boleh dioperasikan dalam himpunan fuzzy.2.2.2.2
Fungsi KeanggotaanFungsi Keanggotaan adalah suatu kurva yang
menunjukkan pemetaan titik-titik data masukan ke dalam nilai
keanggotaannya yang memiliki interval dari 0 sampai 1. Salah satu
cara yang dapat digunakan untuk mendapatkan nilai keanggotaan
adalah melalui pendekatan fungsi.2.2.2.3 Operasi Himpunan
FuzzyDalam memodifikasi dan mengkombinasi himpunan fuzzy, ada
beberapa operasi yang didefinisikan secara khusus seperti halnya
himpunan konvensional. Operator yang biasa digunakan adalah sebagai
berikut ;
a. Operator AND
Operator ini merupakan operasi interseksi pada himpunan. Hasil
operasi diperoleh dengan mengambil nilai terkecil dari keanggotaan
pada himpunan-himpunan yang terkait.
b. Operator OR
Operator ini merupakan operasi union pada himpunan. Hasil
operasi diperoleh dengan mengambil nilai keanggotaan terbesar pada
himpunan-himpunan yang terkait.
c. Operator NOT
Operator ini merupakan operasi komplemen pada himpunan. Hasil
operasi diperoleh dengan mengurangkan nilai keanggotaan pada
himpunan yang bersangkutan dari 1.2.2.2.4 Fungsi ImplikasiTiap
aturan pada basis pengetahuan sistem fuzzy pasti berhubungan dengan
suatu relasi fuzzy. bentuk umum dari aturan yang terdapat dalam
fungsi implikasi adalah :
IF a is X THEN b is Y
Dengan a dan b adalah skalar, dan X dan Y adalah himpunan fuzzy.
Proposisi yang berada setelah IF disebut sebagai anteseden,
sedangkan proposisi yang berada setelah THEN disebut sebagai
konsekuen. Bentuk tersebut bisa diperluas menggunakan operator
fuzzy,seperti:
IF (a1 is X1) ~ (a2 is X2) ~ (a3 is X3) ~..~ (aN is XN) THEN b
is YDengan ~ adalah operator fuzzy. Ada 2 fungsi implikasi yang
biasa digunakan secara umum,yaitu :
a. Min (minimum). Fungsi ini akan memotong hasil dari himpunan
fuzzy.b. Dot (produk). Fungsi ini akan mengukur hasil dari himpunan
fuzzy.2.2.2.5 Metode DefuzzifikasiMenurut Kusumadewi (2003), input
dari proses defuzzifikasi adalah suatu himpunan fuzzy yang
diperoleh dari komposisi aturan-aturan fuzzy,sedangkan output yang
dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy
tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range
tertentu, maka harus dapat diambil suatu nilai tegas tertentu
sebagai output.2.2.3 Fuzzy Inference SystemMenurut Kusumadewi
(2003), Sistem inferensi fuzzy adalah rancangan kerja perhitungan
yang berdasar pada konsep teori himpunan fuzzy, dan aturan fuzzy.
Sistem inferensi fuzzy ini telah sukses diaplikasikan pada berbagai
bidang, seperti klasifikassi data,sistem pakar, prediksi urutan
waktu, robotika dan control otomatis. Sistem interfensi fuzzy juga
dikenal juga dengan banyak nama,seperti fuzzy rule based system
(sistem berbasis aturan fuzzy), fuzzy expert system (sistem pakar
fuzzy), fuzzy model, fuzzy associative memory, fuzzy logic
controller,sistem fuzzy sederhana. 3 konsep konseptual dari
struktur dasar sistem interferensi :1. Dasar aturan yang berisi
sebuah pemilihan aturan fuzzy.2. Database yang mendefinisikan
fungsi keanggotaan yang digunakan dalam aturan fuzzy.3. Mekanisme
pemikiran yang mengerjakan prosedur inferensi sesuai aturan dan
kenyataan untuk menghasilkan output atau kesimpulan yang masuk
akal.Sistem inferensi fuzzy dapat mengambil input berupa fuzzy atau
crisp, tetapi hasil output hampir selalu berupa himpunan fuzzy.
Lalu setelah himpunan fuzzy didapatkan,dilakukan perhitungan sesuai
dengan aturan. Sebagai contoh, ada aturan IF bengkak adalah besar
AND sakit adalah sakit sekali THEN tingkat keparahan adalah sangat
parah. Maka operasi yang dijalankan adalah operasi minimum (MIN)
dari nilai fuzzy bengkak besar dan sakit sekali. Selanjutnya, hasil
dari proses tersebut juga berupa fuzzy. Oleh karena itu, metode
defuzzification digunakan untuk mendapatkan nilai crisp.2.2.3.1
Fuzzy Inference Sugeno
Penalaran dengan metode Sugeno hampir sama dengan penalaran
Mamdani, hanya saja output (konsekuen) system tidak berupa himpunan
fuzzy, melainkan berupa konstanta atau persamaan linear
(Kusumadewi, 2003). Metode ini diperkenalkan oleh Takagi-Sugeno
Kang pada tahun 1985, sehingga ini sering juga dinamakan dengan
metode TSK. Metode TSK terdiri dari 2 jenis, yaitu :
a. Model fuzzy Sugeno Orde-Nol
IF (x1 is A1) o (x2 is A2) o (x3 is A3) o o (xN is AN) THEN z =
k adalah bentuk umum model fuzzy Sugeno Orde-0.
Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden dan k
adalah suatu konstanta (tegas) sebagai konsekuen.
b. Model fuzzy Sugeno Orde-Satu
Secara umum bentuk model fuzzy Sugeno Orde-Satu adalah :
IF (x1 is A1) o o (xN is AN) THEN z = p1 * x1 + + pN * xN +
q
Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden dan pi
adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta
dalam konsekuen.
Apabila komposisi aturan menggunakan metode Sugeno maka
deffuzifikasi dilakukan dengan cara menilai rata-ratanya (Weight
Average). Adapun persamaannya dapat dilihat di bawah ini.
keterangan : w adalah nilai fuzzy, z adalah nilai dari
parameter.
Aturan Sugeno ditunjukkan pada diagram dibawah ini
Gambar 2.9 Aturan Sugeno
Gambar 2.10 Model Implementasi Fuzzy2.2.4 Fuzzy Dinamis ( Sistem
Basisdata Fuzzy )Data adalah representasi fakta dunia nyata yang
mewakili suatu obyek seperti manusia (pegawai, siswa, pembeli,
pelanggan), barang, hewan, peristiwa, konsep, keadaan dan
sebagainya yang direkam dalam bentuk angka, symbol, teks, gambar,
bunyi atau kombinasinya. Sistem basisdata merupakan lingkup yang
lebih luas lagi daripada basisdata. Sistem basisdata memuat
sekumpulan basisdata dalam suatu sistem yang mungkin tidak ada
hubungannya satu sama lain, tetapi secara keseluruhan mempunyai
hubungan sebagai sebuah sistem dengan didukung oleh komponen
lainnya.
Kata fuzzy merupakan kata sifat yang berarti kabur, tidak jelas.
Fuzziness atau kekaburan atau ketidakjelasaan atau ketidakpastian
selalu meliputi keseharian manusia. Logika fuzzy adalah suatu cara
yang tepat untuk memetakan ruang masukan kedalam ruang
keluaran.
Menurut Ma (2005), Sistem basisdata fuzzy merupakan salah satu
metode fuzzy yang menggunakan basisdata standar. Pada basisdata
standar, data diklasifikasikan berdasarkan bagaimana data tersebut
dipandang oleh user. Oleh karena itu, pada basisdata standar data
yang ditampilkan akan keluar seperti data yang telah disimpan.
Namun kenyataannya, sesoarang terkadang membuthkan informasi dari
data-data yang bersifat ambiguous. Sedangkan pada sistem basisdata
standar data yang ditampilkan tidak dapat menampilakn data yang
ambiguous. Oleh karena itu, apabila hal ini ternyata, maka
sebaiknya digunakan sistem basisdata fuzzy. Basisdata fuzzy yang
digunakan adalah sistem basisdata fuzzy Model Tahani. Pada
basisdata dengan Model Tahani masih tetap menggunakan relasi
standar,hanya saja model ini menggunakan teory himpunan fuzzy untuk
mendapatkan informasi pada query-nya dan model tersebut dapat
mendeskripsikan suatu metode pemrosesan query fuzzy dengan
didasarkan atas manipulasi bahasa yang dikenal dengan nama
SQL.2.2.5 Proses Diagnosis
Proses diagnosis kombinasi dari aktifitas manipulatif dan
intelektual. Diagnosis sebagaimana halnya seperti
penelitian-penelitian ilmiah,didasarkan atas metode hipotesis.
Diagnosis dimulai sejak awal wawancara medis dan berlangsung selama
melakukan pemeriksaan fisik. Dari proses diagnosa tersebut akan
diperoleh pertanyaan-pertanyaan yang lebih terarah, hasil
pemeriksaan fisik yang lebih rinci yang dikumpulkan untuk
menentukan pemeriksaan khusus yang akan dikerjakan. Data yang
berhasil dikumpulkan akan dibandingkan dan diklasifikasikan
berdasarkan keluhan-keluhan pasien serta hubungannya terhadap
penyakit tertentu. Berdasarkan keluhan-keluhan dari pasien dan
gejala-gejala yang bisa dikenali oleh dokter,maka pergerakan
diagnosis akan lebih terpusat pada bagian-bagian tubuh tertentu.
Dan akhirnya diperoleh hipotesis awal mengenai penyakit
tertentu.2.2.6 Fisio terapiMenurut Sumaryanti (2005), aktifitas
terapi adalah serangkaian gerak fisik yang dilakukan dalam usaha
penyembuhan atau meningkatkan kualitas hidup penderita,mengelola
penyakitnya dan menunda atau meniadakan komplikasi yang akan
ditimbulkannya. Penggunaan aktifitas fisik sebagai usaha terapi
tidak dapat berdiri sendiri, melainkan bersifat komplementer dengan
usaha terpai yang lain misalnya pengaturan makan dan pengobatan
yang telah terbukti peranannya. Fisio terapi adalah suatu
penyembuhan atau pengobatan bagi penderita kelainan fisik dengan
menggunakan tenaga, daya dan khasiat alam.2.2.7 Cidera SendiSendi
merupakan pertemuan antara dua tulang atau lebih,baik terjadi
pergerakan atau tidak terjadi pergerakan. Berdasarkan jenisnya
sendi dibagi menjadi sinarthrosis, sindemosis, amfiarthrosis dan
diartrosis. Sendi memberikan adanya segmentasi pada rangka manusia
dan memberikan kemungkinan variasi pergerakan di antara
segmen-segmen serta kemungkinan variasi pertumbuhan.Cidera sendi
adalah gangguan pada persendian yang bisa menggangu mobilitas
seseorang. Menurut Sumaryanti (2005), tanda tanda seseorang
menderita cedera sendi adalah timbulnya rasa nyeri serta kaku di
sekitar persendian yang menyebabkan ruang gerak dari sendi
terbatas. Tanda yang menyertainya berupa bengkak, merah dan panas
pada perabaan atau sensitif. 2.2.8 Diagnosis Cidera Sendi
Diagnosis Cedera Sendi dan criteria beratnya cedera berdasarkan
informasi dari jurnal dan wawancara dengan Dr.Samuel (Specialist
Chiropractic).
Diagnosis berdasarkan:
1. Besarnya bengkak2. Rasa sakit pada sendi yang cedera3. Warna
lebam pada sendi yang cedera4. Keterbatasan gerak sendi (Range of
Motion)5. Sensitifitas yang dirasakan pada sendi yang cidera8