BAB 2
LANDASAN TEORI
2.1. Logika Fuzzy
Teori himpunan logika samar dikembangkan oleh Prof. Lofti Zadeh pada tahun 1965. Zadeh berpendapat bahwa logika benar dan salah dalam logika konvensional tidak dapat mengatasi masalah gradasi yang berada pada dunia nyata. Untuk mengatasi masalah gradasi yang tidak terhingga tersebut, Zadeh mengembangkan sebuah himpunan fuzzy. Tidak seperti logika boolean, logika fuzzy mempunyai nilai yang kontinue. Samar 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 (Kusumadewi, 2004).
2.1.1. Himpunan Fuzzy (Fuzzy Set)
Himpunan fuzzy (fuzzy set) adalah sekumpulan obyek x dimana masing-masing obyek memiliki nilai keanggotaan (membership function) “µ” atau disebut juga dengan nilai kebenaran. Jika X adalah sekumpulan obyek dan anggotanya dinyatakan dengan x maka himpunan fuzzy dari A di dalam X adalah himpunan dengan sepasang anggota atau dapat dinyatakan dengan (Kusumadewi, 2004)
𝐴 =
{
A(𝑥) | 𝑥 ∶ 𝑥 ∈ X,𝐴(𝑥) ∈[
0,1]
∈ ℜ}
(2.1)Contoh, jika A = “bilangan yang mendekati 10” dimana : A = (x, A(x)) | A(x ) = (1+(x-10)2)-1
Maka grafik yang mewakili nilai A(x) adalah :
5 10 15
0 1
0.5
Gambar 2.1. Grafik himpunan fuzzy untuk bilangan yang mendekati 10
Terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas menimbulkan kerancuan. Keduanya memiliki nilai pada interval [0,1]. Namun interpretasi nilainya sangat berbeda antara kasus-kasus tersebut. Keanggotaan fuzzy memberikan suatu ukuran terhadap pendapat atau keputusan, sedangkan probabilitas mengindikasikan proporsi terhadap keseringan suatu hasil bernilai benar dalam jangka panjang. Misalnya, jika nilai keanggotaan suatu himpunan fuzzy MUDA adalah 0,9 maka tidak perlu dipermasalahkan berapa seringnya nilai itu diulang secara individual untuk mengharapkan suatu hasil yang hampir muda. Dilain pihak, nilai probabilitas 0,9 muda berarti 10 % dari himpunan tersebut tidak muda.
Himpunan fuzzy memiliki 2 atribut, yaitu :
1. Linguistik, yaitu penamaan suatu grup yang memiliki suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, TUA.
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel seperti : 5, 10, 15 dan sebagainya.
Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu : 1. Variabel fuzzy
Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperatur, permintaan, dan lain-lain.
2. Himpunan fuzzy
Himpunan fuzzy merupakan suatu grup yang memiliki suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh: Variabel temperatur
terbagi menjadi 5 himpunan fuzzy, yaitu: DINGIN, SEJUK, NORMAL, HANGAT dan PANAS. Gambar 2.2.
Gambar 2.2. Himpunan fuzzy pada variabel temperatur
3. Semesta Pembicaraan
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 atau sebaliknya. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif.
Contoh semesta pembicaraan:
a. Semesta pembicaraan untuk variabel umur: [0 +∞] b. Semesta pembicaraan untuk variabel temperatur: [0 40]
4. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh dioperasikan dalam suatu himpunan fuzzy. Semesti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif.
Contoh domain himpunan fuzzy: a. DINGIN = [0, 20] b. SEJUK = [15, 25] c. NORMAL = [20, 30] d. HANGAT = [25, 35] e. PANAS = [30, 40] 0 28 40 0 Temperatur (0C) derajat keanggotaan µ [x] 1 Bahu Kiri Bahu Kanan TEMPERATUR
2.1.2. Jenis-Jenis Fungsi Keanggotaan (Kusumadewi, 2004)
Ada dua cara mendefinisikan keanggotaan himpunan fuzzy, yaitu secara numeris dan fungsional. Definisi numeris menyatakan fungsi derajat keanggotaan sebagai vektor jumlah yang tergantung pada tingkat diskretisasi. Misalnya, jumlah elemen diskret dalam semesta pembicaraan.
Definisi fungsional menyatakan derajat keanggotaan sebagai batasan ekspresi analitis yang dapat dihitung. Standar atau ukuran tertentu pada fungsi keanggotaan secara umum berdasar atas semesta X bilangan real. Fungsi keanggotaan fuzzy yang sering digunakan antara lain :
2.1.2.1. Fungsi Representasi Linier
Pada representasi linier, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Keadaan linier himpunan fuzzy terdiri dari dua keadaan linier naik dan linier turun.
Pada linier naik, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju nilai domain yang memiliki derajat keanggotaan lebih tinggi dengan fungsi keanggotaan :
0; x ≤ a µ [x] = (x-a) / (b-a); a ≤ x ≤ b (2.2) 1; x ≥ b a b 0 domain derajat keanggotaan µ [x] 1
Sedangkan pada linier turun, garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah dengan fungsi keanggotaan.
(b-x) / (b-a); a ≤ x ≤ b µ [x] = 0; x ≥ b (2.3) a b 0 domain derajat keanggotaan µ [x] 1
Gambar 2.4. Fungsi Representasi Linier Turun
2.1.2.2. Fungsi Keanggotaan Segitiga
Fungsi keanggotaan segitiga ditandai oleh adanya 3 (tiga) parameter {a,b,c} yang akan menentukan koordinat x dari tiga sudut. Kurva ini pada dasarnya merupakan gabungan antara dua garis (linier). Adapun persamaan untuk bentuk segitiga ini adalah :
0; x ≤ a atau x ≥ c
µ [x] = (x-a) / (b-a); a ≤ x ≤ b
(c-x)/(c-b) b ≤ x ≤ c (2.4)
Gambar gafik fungsi keanggotaan segitiga adalah:
a b c 0 domain derajat keanggotaan µ [x] 1
2.1.2.3. Fungsi Keanggotaan Trapesium
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1. Adapun persamaan untuk kurva trapesium ini adalah :
0; x ≤ a atau x ≥ d
(x-a) / (b-a); a ≤ x ≤ b
µ [x] = 1; b ≤ x ≤ c
(d-x) / (d-c) c ≤ x ≤ d (2.5)
Adapun gambar grafik fungsi keanggotaannya adalah :
a b d 0 domain derajat keanggotaan µ [x] 1 c
Gambar 2.6. Grafik Fungsi Keanggotaan Trapesium
2.1.2.4. Representasi Kurva Bahu
Representasi fungsi keanggotaan fuzzy dengan menggunakan kurva bahu pada dasarnya adalah gabungan dari kurva segitiga dan kurva trapesium. Daerah yang terletak di tengah-tengah suatu variabel yang direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun. Tetapi terkadang pada salah sisi dari variabel fuzzy yang ditinjau ini terdapat nilai yang konstan, yaitu pada himpunan ekstrim kiri dan ekstrim kanan. Hal ini dapat dilihat pada gambar 2.7.
0 28 40 0 Temperatur (0C) derajat keanggotaan µ [x] 1 Bahu Kiri Bahu Kanan TEMPERATUR
DINGIN SEJUK NORMAL HANGAT PANAS
Gambar 2.7. Representasi Kurva Bahu
2.1.3. Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy
Misalkan himpunan A dan B merupakan dua himpunan fuzzy pada semesta pembicaraan U dengan fungsi keangotaan µA(x) dan µB(x) untuk setiap x Є X. Nilai
keanggotaan sebagai hasil dari operasi himpunan A dan B disebut juga sebagai fire strength atau α-predikat.
Adapun operasi-operasi dasar himpunan fuzzy terdiri dari :
1. Penggabungan (Union). Gabungan dua himpunan fuzzy A dan B adalah himpunan fuzzy C yang didefinisikan sebagai :
C = (A B) (t) = max{A(t),B(t)} = A(t) B(t), t Є X . C memiliki derajat keanggotaan :
µc(x) = max (µA(x) , µB(x))
= (µA(x) µB(x)) untuk semua x Є X (2.6)
2. Irisan (Intersection). Irisan dua himpunan fuzzy A dan B adalah himpunan fuzzy C dan didefinisikan sebagai :
C = (A ∩B)(t) = min{A(t),B(t)} = A(t) B(t), t Є X. Himpunan fuzzy C memiliki derajat keanggotaan :
µc(x) = min (µA(x) , µB(x))
= (µA(x) µB(x)) untuk semua x Є X (2.7)
Gambar 2.9. Operasi Intersection Himpunan Bagian A dan B
3. Ingkaran (Complement). Komplemen himpunan bagian A diberi tanda Ā (NOT A) dan didefinisikan sebagai (-A)(t) = 1–A(t). A memiliki derajat keanggotaan : µĀ (x) = 1 - µA(x). (2.8)
2.2. Database
Dalam arti khusus database adalah sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum database adalah sekumpulan data yang diproses dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktivitas dari satu atau lebih organisasi yang berelasi.
Informasi adalah suatu bentuk penyajian data yang melalui mekanisme pemrosesan, berguna bagi pihak tertentu misalnya manajer. Bagi pihak manajer informasi merupakan bahan bagi pengambilan keputusan.
Data Proses
Informasi
Gambar 2.10. Pengolahan data menjadi informasi
2.2.1. Database Relasional
Prinsrip dari model relasional pertamakali dikenalkan oleh Dr. E.F. Cood pada bulan Juni 1970 pada papernya yang berjudul “A Relational Model of Data for Large Shared Data Banks”. Pada paper tersebut Dr. E.F. Codd mengusulkan model relasional untuk sistem database.
Model relasional lebih popular daripada tipe model database lain seperti hirarki dan network, karena kesederhanaanya. Relational database management system (RDBMS) menjadi sangat popular karena mudah digunakan strukturnya bersifat fleksibel. Komponen dari medel relasional adalah:
a. Kumpulan objek atau reasi yang menyimpan data.
b. Kumpulan operator yang dapat digunakan pada relasi untuk menghasilkan relasi yang lain.
c. Integrasi data untuk akurasi dan konsistensi.
Database relasional menggunakan relasi atau tabel dua dimenasi untuk menyimpan infromasi. Sebagai contoh, misal akan disimpan informasi tentang pegawai dalam suatu perusahaan, maka pada database relasional dibuat beberapa tabel untuk menyimpan kumpulan infromasi tentang pegawai semisal tabel pegawai, tabel departemen dan tabel gaji.
2.3. Structure Query Language (SQL)
Secara garis besar prosedur dalam bentuk SQL dapat direpresentasikan sebagai beikut ini:
1. SQL biasanya mempunyai bentuk :
SELECT A1, A2, ..., An FROM r1, r2, ..., rn WHERE P Dimana struktur dasar dari ekspesi SQL terdiri dari 3 klausa:
a. Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu query.
b. Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
c. Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atribut-atribut dari relasi yang muncul dalam klausa from.
2. Operasi Himpunan
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except. Union identik dengan ∪, intersect identik dengan ∩ dan except identik dengan - pada aljabar relasional.
2.4. Fuzzy Database
Dalam sebuah database biasa, hanya menyimpan data crisp untuk dapat memberikan suatu informasi. Namun, karena ketidaktepatan (imprecision), ketidakjelasan (vagueness), ketidakpastian (uncertainty), ketidaklengkapan, atau ambiguitas suatu data dalam penyajian informasi, maka fuzzy database dapat digunakan untuk memodelkan ke dalam suatu database (Zadrożny, De Tré, De Caluwe, & Kacprzyk, 2008).
di dalam suatu database, yang memungkinkan menyimpan informasi fuzzy (Bosc, 1999; De Caluwe & De Tré, 2007; Galindoet al., 2006; Petry, 1996). Suatu teknik sederhana untuk menambah fleksibilitas dalam fuzzy database adalah dengan menambahkan derajat keanggotaan fuzzy dari masing-masing atribut dalam rentang [0,1].
Fuzzyfikasi query diasumsikan sebuah query konvensional (nonfuzzy), DBMS yang akan mencoba membuat dan menerapkan sebuah sistem dasar logika fuzzy query (fuzzy logic based querying system). Kelebihan query fuzzyfikasi yaitu dapat mencapai kelenturan (flexibility) dari DBMS, penanganan error otomatis, pencarian yang fleksibel, dan kesanggupan merespon kosong.
Konsep dari sebuah relasi fuzzy dalam sebuah DBMS menggunakan derajat keanggotaan (μ) yang didefinisikan pada kumpulan domain X = {X1,…Xn}, dan telah di-generate pada relasi luar oleh nilai tengah fuzzy (Janusz Kacprzyk. 1995). Sintaks query yang di gunakan adalah sebagai berikut:
Gambar 2.11. Fuzzifikasi Query
Awal penanganan ketidak pastian dengan manajemen sistem basis data dikembangkan di dalam kerangka manajemen sistem basis data yang bukan fuzzy. Biasanya, sistem ini berhadapan dengan evaluasi dan konstruksi tentang fuzzy query dengan database yang bersifat tegas, dan mengabaikan permasalahan dalam penyajian langsung dari data fuzzy di DBMS (Mashkuri Hj Yaacob, 1997:43).
2.4.1. Fuzzy Database Model Tahani
Fuzzy database model Tahani ini masih tetap menggunakan relasi standar, hanya saja model ini menggunakan teori himpunan fuzzy untuk mendapatkan infromasi pada query-nya (Hari dan Kusumadewi, 2004). Tahani mendeskripsikan suatu metode pemrosesan query fuzzy dengan didasarkan atas manipulasi bahasa yang dikenal dengan nama SQL. Dengan menggunakan basis data standar, dapat dicari data
SELECT [N|T|N,T] <select list> FROM <table list>
karyawan dengan spesifikasi tertentu dengan menggunakan query. Misalnya diinginkan informasi tentang nama-nama karyawan yang usianya kurang dari 35 tahun, maka bisa diciptakan suatu query berikut:
SELECT NAMA FROM KARYAWAN WHERE (umur < 35) Sehingga muncul nama-nama Lia, Kiki, dan Yoga.
Apabila diinginkan informasi tentang nama-nama karyawan yang gajinya lebih dari 1 juta rupiah, maka bisa diciptakan query berikut :
SELECT NAMA FROM KARYAWAN WHERE (gaji > 1000000) Sehingga muncul nama-nama iwan, Sari, Andi, Amir, dan Rian.
Apabila diinginkan informasi tentang nama-nama karyawan yang masa kerjanya kurang dari atau sama dengan 5 tahun tetapi gajinya sudah lebih dari 1 juta rupiah, maka bisa diciptakan suatu query:
SELECT NAMA FROM KARYAWAN WHERE MasaKerja<=5) and (Gaji > 1000000). Sehingga muncul nama-nama Andi dan Rian.
2.5. Sistem Pendukung Keputusan
Sistem pendukung keputusan (decision support systems disingkat DSS) adalah bagian dari sistem informasi berbasis komputer (termasuk sistem berbasis pengetahuan (manajemen pengetahuan) yang dipakai untuk mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan. Dapat juga dikatakan sebagai sistem komputer yang mengolah data menjadi informasi untuk mengambil keputusan dari masalah semi-terstruktur yang spesifik.
Menurut Moore dan Chang, SPK dapat digambarkan sebagai sistem yang berkemampuan mendukung analisis ad hoc data, dan pemodelan keputusan, berorientasi keputusan, orientasi perencanaan masa depan, dan digunakan pada saat-saat yang tidak biasa.
Tahapan SPK:
a. Definisi masalah
b. Pengumpulan data atau elemen informasi yang relevan
c. Pengolahan data menjadi informasi baik dalam bentuk laporan grafik maupun tulisan
d. Menentukan alternatif-alternatif solusi (bisa dalam persentase) Tujuan dari SPK:
a. Membantu menyelesaikan masalah semi-terstruktur b. Mendukung manajer dalam mengambil keputusan
c. Meningkatkan efektifitas bukan efisiensi pengambilan keputusan Dalam pemrosesannya, SPK dapat menggunakan bantuan dari sistem lain seperti Artificial Intelligence, Expert Systems, Fuzzy Logic, dll.
2.5.1. Komponen Sistem Pendukung Keputusan
Sistem pendukung Keputusan terdiri atas tiga komponen utama atau subsistem yaitu: 1. Subsistem pengelolaan data (database).
2. Subsistem pengelolaan model (model base).
3. Subsistem pengelolaan dialog (user system interface).
Hubungan antara ketiga komponen di atas tampak pada gambar 2.12.
Pengelolaan Data Pengelolaan Model Pengelolaan Dialog Pemakai
2.6. Unified Modeling Language (UML )
UML adalah sebuah bahasa standart pemodelan yang digunakan untuk pemodelan sistem perangkat lunak yang beragam kompleksitas. UML tidak berdasarkan pada bahasa pemrograman tertentu. Standar spesifikasi UML dijadikan standart defacto oleh OMG (Object Management Group) pada tahun 1997. UML yang berorientasikan objek mempunyai beberapa notasi standart. Spesifikasi ini menjadi populer dan standar karena sebelum adanya UML, telah ada berbagai macam spesifikasi yang berbeda. Hal ini menyulitkan komunikasi antar pengembang perangkat lunak. Untuk itu beberapa pengembang spesifikasi yang sangat berpengaruh berkumpul untuk membuat standart baru. UML dirintis oleh Grady Booch, James Rumbaugh pada tahun 1994 dan kemudian Ivar Jacobson. UML mendeskripsikan OOP (Object Oriented Programming) dengan beberapa diagram, diantaranya:
1. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang disediakan oleh sistem untuk entitas eksternal. Di dalam use case diagram penekanannya adalah “apa” yang dibuat oleh sistem, dan bukan “bagaimana”. Sebuah use case diagram terdiri dari aktor, use case dan relasi. Aktor bertindak sebagai subjek (pelaku) dalam suatu proses, dan use case adalah proses yang menggambarkan semua transaksi yang munkin dilakukan oleh sistem ketika aktor memulai suatu kejadian atau tindakan, yang mana use case berbentuk ellips. Gambar 2.13 Bentuk Use Case Diagram.
<Aktor>
<Use Case>
Gambar 2.13. Bentuk Use Case Diagram
2. Class Diagram
Sebuah class diagram menunjukkan struktur yang statis dari beberapa class dalam suatu sistem. Class-class merepresentasikan suatu keadaan
(atribut/properti) dan yang akan dikerjakan oleh sistem (metoda/fungsi). Class memiliki tiga area pokok : nama, atribut dan metoda. Atribut dan metoda dalam class diagram dapat memiliki salah satu sifat seperti private, hanya dapat diakses oleh class itu sendiri, protected, hanya dapat diakses oleh class itu sendiri dan turunan dari class tersebut, public, dapat diakses oleh class selain dari class yang bersangkutan. Gambar 2.14 merupakan bentuk class diagram secara umum.
Nama Class Attribut Metoda
Gambar 2.14. Bentuk Class Diagram 3. Sequence Diagram
Sequence Diagram merupakan diagram yang mengambarkan kolaborasi yang dinamis antara obyek satu dengan yang lain. Kolaborasi ini ditunjukkan dengan adanya interaksi antar obyek di dalam dan disekitar sistem yang berupa pesan atau instruksi yang berurutan. Umumnya digunakan untuk menggambarkan suatu skenario atau urutan langkah-langkah yang dilakukan baik oleh actor maupun sistem yang merupakan respon dari sebuah kejadian untuk mendapatkan hasil atau output. Gambar 2.15 Bentuk sequence diagram.
<Aktor>
Nama Class Nama Class
1. <peasan>
2. <peasan>