Top Banner
BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Perangkat Lunak 2.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. 8
72

2012-1-00516-IF Bab2001

Sep 13, 2015

Download

Documents

Agus Cjdw

LITERATURE
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

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