bab ii tinjauan pustaka · integrasi model-model dalam sistem informasi manajemen yang ......
TRANSCRIPT
7
BAB II TINJAUAN PUSTAKA
BAB II
TINJAUAN PUSTAKA
2.1. Sistem Pendukung Keputusan
Pengambilan keputusan merupakan proses pemilihan alternatif
tindakan untuk mencapai tujuan atau sasaran tertentu. Pengambilan
keputusan dilakukan dengan pendekatan sistematis terhadap
permasalahan melalui proses pengumpulan data menjadi informasi serta
ditambah dengan faktor-faktor yang perlu dipertimbangkan dalam
pengambilan keputusan.
Menurut Herbert A. Simon ( Kadarsah, 2002:15-16 ), tahap-tahap
yang harus dilalui dalam proses pengambilan keputusan sebagai berikut:
a) Tahap Pemahaman ( Inteligence Phace )
Tahap ini merupakan proses penelusuran dan pendeteksian
dari lingkup problematika serta proses pengenalan masalah. Data
masukan diperoleh, diproses dan diuji dalam rangka
mengidentifikasikan masalah.
b) Tahap Perancangan ( Design Phace )
Tahap ini merupakan proses pengembangan dan pencarian
alternatif tindakan / solusi yang dapat diambil. Tersebut
merupakan representasi kejadian nyata yang disederhanakan,
sehingga diperlukan proses validasi dan vertifikasi untuk
mengetahui keakuratan model dalam meneliti masalah yang ada.
c) Tahap Pemilihan ( Choice Phace )
Tahap ini dilakukan pemilihan terhadap diantara berbagai
alternatif solusi yang dimunculkan pada tahap perencanaan agar
ditentukan dengan memperhatikan kriteria-kriteria berdasarkan
tujuan yang akan dicapai.
d) Tahap Impelementasi ( Implementation Phace )
Tahap ini dilakukan penerapan terhadap rancangan sistem
yang telah dibuat pada tahap perancanagan serta pelaksanaan
alternatif tindakan yang telah dipilih pada tahap pemilihan.
8
BAB II TINJAUAN PUSTAKA
Keputusan- keputusan yang dibuat pada dasarnya dikelompokkan
dalam 2 jenis, antara lain ( Herbert A. Simon ) :
a) Keputusan Terprogram
Keputusan ini bersifat berulang dan rutin, sedemikian hingga
suatu prosedur pasti telah dibuat menanganinya sehingga
keputusan tersebut tidak perlu diperlakukan de novo (sebagai
sesuatu yang baru) tiap kali terjadi.
b) Keputusan Tak Terprogram
Keputusan ini bersifat baru, tidak terstruktur dan jarang
konsekuen. Tidak ada metode yang pasti untuk menangani
masalah ini karena belum ada sebelumnya atau karena sifat dan
struktur persisnya tak terlihat atau rumit atau karena begitu
pentingnya sehingga memerlukan perlakuan yang sangat khusus.
Sistem pendukung keputusan merupakan suatu sistem interaktif
yang mendukung keputusan dalam proses pengambilan keputusan
melalui alternatif-alternatif yang diperoleh dari hasil pengolahan data,
informasi dan rancangan model.
Menurut Keen dan Scoot Morton :
“Sistem Pendukung Keputusan merupakan penggabungan sumber-
sumber kecerdasan individu dengan kemampuan komponen untuk
memperbaiki kualitas keputusan. Sistem Pendukung Keputusan juga
merupakan sistem informasi berbasis komputer untuk manajemen
pengambilan keputusan yang menangani masalah-masalah semi-
struktur”.
Dengan pengertian di atas dapat dijelaskan bahwa sistem
pendukung keputusan bukan merupakan alat pengambilan keputusan,
melainkan merupakan sistem yang membantu pengambil keputusan
dengan melengkapi mereka dengan informasi dari data yang telah diolah
dengan relevan dan diperlukan untuk membuat keputusan tentang suatu
masalah dengan lebih cepat dan akurat. Sehingga sistem ini tidak
dimaksudkan untuk menggantikan pengambilan keputusan dalam proses
pembuatan keputusan.
Dari pengertian sistem pendukung keputusan maka dapat
ditentukan karakteristik antara lain :
a) Mendukung proses pengambilan keputusan, menitik beratkan
pada management by perception.
9
BAB II TINJAUAN PUSTAKA
b) Adanya interface manusia / mesin dimana manusia ( user )
tetap memegang kontrol proses pengambilan keputusan.
c) Mendukung pengambilan keputusan untuk membahas
masalah terstruktur, semi terstruktur dan tak struktur.
d) Memiliki kapasitas dialog untuk memperoleh informasi sesuai
dengan kebutuhan.
e) Memiliki subsistem-subsistem yang terintegrasi sedemikian
rupa sehingga dapat berfungsi sebagai kesatuan item.
f) Membutuhkan struktur data komprehensif yang dapat
melayani kebutuhan informasi seluruh tingkatan manajemen.
Suatu sistem pendukung keputusan ( SPK ) memiliki tiga
subsistem utama yang menentukan kapabilitas teknis sistem pendukung
keputusan, antara lain :
a) Subsistem Manajemen Basis Data
Subsistem data merupakan bagian yang menyediakan data-
data yang dibutuhkan oleh Database Management Subsistem
(DBMS). DBMS sendiri merupakan susbsistem data yang
terorganisasi dalam suatu basis data. Data-data yang merupakan
dalam suatu sistem pendukung keputusan dapat berasal dari luar
lingkungan. Keputusan pada manajemen level atas seringkali
harus memanfaatkan data dan informasi yang bersumber dari luar
perusahaan.
Kemampuan subsistem data yang diperlukan dalam suatu
sistem pendukung keputusan adalah antara lain :
o Mampu mengkombinasikan sumber-sumber data yang
relevan melalui proses ekstraksi data.
o Mampu menambah dan menghapus secara cepat dan
mudah.
o Mampu menangani data personal dan non-official,
sehingga user dapat bereksperimen dengan berbagai
alternatif keputusan.
o Mampu mengolah data yang bervariasi dengan fungsi
manajemen data yang luas.
b) Subsistem Manajemen Basic Model
Subsistem model dalam sistem pendukung keputusan
memungkinkan pengambil keputusan menganalisa secara utuh
10
BAB II TINJAUAN PUSTAKA
dengan mengembangkan dan membandingkan alternatif solusi.
Integrasi model-model dalam sistem informasi manajemen yang
berdasarkan integrasi data-data dari lapangan menjadi suatu
sistem pendukung keputusan.
Kemampuan subsistem model dalam sistem pendukung
keputusan adalah antara lain :
o Mampu menciptakan model-model baru dengan cepat dan
mudah.
o Mampu mengkatalogkan dan mengelola model untuk
mendukung semua tingkat pemakai.
o Mampu menghubungkan model-model dengan basis data
melalui hubungan yang sesuai.
o Mampu mengelola basis model dengan fungsi manajemen
yang analog dengan database manajemen.
c) Subsistem Dialog
Subsistem dialog merupakan bagian dari sistem pendukung
keputusan yang dibangun untuk memenuhi kebutuhan
representasi dan mekanisme kontrol selama proses analisa dalam
sistem pendukung keputusan ditentukan dari kemampuan
berinteraksi anatara sistem yang terpasang dengan user. Pemakai
terminal dan sistem perangkat lunak merupakan komponen-
komponen yang terlibat dalam susbsistem dialog yang
mewujudkan komunikasi antara user dengan sistem tersebut.
Komponen dialog menampilkan keluaran sistem bagi pemakai
dan menerima masukkan dari pemakai ke dalam sistem
pendukung keputusan. Adapun subsistem dialog dibagi menjadi
tiga, antara lain :
o Bahasa Aksi ( The Action Language )
Merupakan tindakan–tindakan yang dilakukan user dalam
usaha untuk membangun komunikasi dengan sistem.
Tindakan yang dilakukan oleh user untuk menjalankan dan
mengontrol sistem tersebut tergantung rancangan sistem yang
ada.
11
BAB II TINJAUAN PUSTAKA
o Bahasa Tampilan ( The Display or Presentation
Langauage )
Merupakan keluaran yang dihasilkan oleh suatu sistem
pendukung keputusan dalam bentuk tampilan–tampilan akan
memudahkan user untuk mengetahui keluaran sistem
terhadap masukan–masukan yang telah dilakukan.
o Bahasa Pengetahuan ( Knowledge Base Language )
Meliputi pengetahuan yang harus dimiliki user tentang
keputusan dan tentang prosedur pemakaian sistem pendukung
keputusan agar sistem dapat digunakan secara efektif.
Pemahaman user terhadap permasalahan yang dihadapi
dilakukan di luar sistem, sebelum user menggunakan sistem
untuk mengambil keputusan. [6.]
2.2. Java
2.2.1. Pendahuluan
Java adalah bahasa pemrograman serba guna. Java dapat
digunakan untuk membuat suatu program sebagaimana Anda
membuatnya dengan bahasa seperti Pascal atau C++. Yang lebih
menarik, Java juga mendukung sumber daya internet yang saat ini
populer, yaitu World Wide Web atau yang sering disebut Web saja. Java
juga mendukung aplikasi client/server, baik dalam jaringan lokal ( LAN
) maupun jarungan berskala luas ( WAN ).
Java dikembangkan oleh Sun Microsystems pada Agustus 1991
dengan nama semula Oak. Konon Oak adalah pohon semacam jati yang
terlihat dari jendela tempat pembuatnya, James Gosling, bekerja. Ada
yang mengatakan bahwa Oak adalah singkatan dari Object Application
Kernel, tetapi ada yang menyatakan hal itu muncul setelah nama Oak
diberikan. Pada Januari 1995, Karena nama Oak dianggap kurang
komersial, maka diganti menjadi Java.
Dalam sejumlah literatur disebutkan bahwa Java merupakan hasil
perpaduan sifat dari sejumlah bahasa pemrograman, yaitu C, C++,
Object-C, SmallTalk, dan Common LISP. Selain itu, Java juga
dilengkapi dengan unsur keamanan. Yang tak kalah penting adalah
bahwa Java menambahkan paradigma pemrograman yang sederhana.
Jika Anda telah mengenal C atau C++, yang mengandalkan pointer dan
12
BAB II TINJAUAN PUSTAKA
Anda dapat merasakan keruwetannya, Java justru meninggalkannya
sehingga Anda akan memperoleh kemudahan saat menggunakannya.
2.2.2. Java Tidak Bergantung Platform
Program Java bersifat tidak bergantung platform. Artinya, Java
dapat dijalankan pada sebarang komputer dan bahkan pada sebarang
sistem operasi. Beberapa platform dan sistem operasi yang didukung
oleh Java dapat dilihat pada tabel berikut ini :
Tabel 2.1. Java pada berbagai sistem operasi
Sistem Operasi Vendor
AIX IBM
DG/UX Data General Corporation
Digital OpenVMS Digital Equipment Corporation
Digital UNIX Digital Equipment Corporation
HP-UX Hewlett Packard
IRIX Silicon Graphics
Linux Banyak Perusahaan
MacOS Apple
Netware Novell
OS/2 IBM
OS/390 dan OS/400 IBM
Solaris Sun Microsystem
Keluarga Windows Microsoft Corporation
Ketidakbergantungan terhadap platform sering dinyatakan
dengan istilah portabilitas. Yang menarik, tingkat portabilitas Java tidak
hanya sebatas pada program sumber (source code), melainkan juga pada
tingkat kode biner yang biasa disebut bytecode. Dengan demikian bila
Anda telah mengkompilasi program Java pada komputer bersistem
operasi Windows, Anda dapat menjalankan hasil kompilasi pada
Machintosh secara langsung, tanpa perlu mengkompilasi ulang. Kode yang disebut bytecode dapat dijalankan pada berbagai
sistem operasi karena kode ini berbeda dengan kode mesin. Kode mesin
sangat bergantung pada platform, sedangkan bytecode dapat dimengerti
oleh semua platform yang telah dilengkapi dengan interpreter Java.
Mengingat bahwa hasil kompilasi Java dijalankan pada sebarang sistem
13
BAB II TINJAUAN PUSTAKA
operasi ataupun prosesor, Java sering dikatakan bersifat netral terhadap
arsitektur komputer.
2.2.3. Java Adalah Bahasa Pemrograman Berorientasi Obyek
Sebagaimana halnya C++, salah satu bahasa yang mengilhami
Java, Java juga merupakan bahasa pemrograman berorientasi obyek
(suatu model pengembangan perangkat lunak yang saat ini sangat
populer). Sebagai bahasa pemrograman berorientasi obyek, Java
menggunakan kelas untuk membentuk suatu obyek. Sejumlah kelas
sudah tersedia dan Anda dapat menggunakannya dengan mudah, dan
bahkan Anda dapat mengembangkannya lebih jauh melalui konsep
pewarisan. Pewarisan adalah salah satu sifat yang ada pada bahasa
pemrograman berorientasi obyek, yang memungkinkan sifat-sifat suatu
obyek diturunkan dengan mudah ke obyek lain.
2.2.4. Jenis Program Java
Program Java dapat dibedakan menjadi dua jenis, yaitu applet
dan aplikasi.
a) Applet
Adalah program yang dibuat dengan Java, dapat diletakkan
pada Web Server dan diakses melalui Web Browser. Dalam hal
ini browser yang digunakan adalah yang memiliki kemampuan
Java ( misalnya Netscape Navigator, Internet Explorer, dan Hot
Java ).
b) Aplikasi
Adalah program yang dibuat dengan Java yang bersifat
umum. Aplikasi dapat dijalankan secara langsung, tidak perlu
perangkat lunak browser untuk menjalankannya. Aplikasi dapat
Anda bayangkan seperti program yang Anda tulis dengan bahasa
C atau Pascal. Setelah dikompilasi, Anda dapat mengeksekusinya
secara langsung. [3.]
2.3. MySQL
2.3.1. Pendahuluan
MySQL merupakan database yang dikembangkan dari bahasa
SQL (Structure Query Language). SQL sendiri merupakan bahasa yang
terstruktur yang digunakan untuk interaksi antara script program dengan
14
BAB II TINJAUAN PUSTAKA
database server dalam hal pengolahan data. Dengan SQL, kita dapat
membuat tabel yang nantinya akan diisi dengan data, memanipulasi data
( misalnya menambah data, menghapus data dan memperbaharui data ),
serta membuat suatu perhitungan dengan berdasarkan data yang
ditemukan.
MySQL merupakan software resmi yng dikembangkan oleh
perusahaan Swedia bernama MySQL AB, yang waktu itu bernama TcX
Data Konsult AB. Pada awalnya MySQL memakai nama mSQL atau
“mini SQL” sebagai antarmuka yang digunakan, ternyata dengan
menggunakan mSQL itu mengalami banyak hambatan, yaitu sangat
lambat dan tidak fleksibel. Oleh karena itu, Michael Widenius berusaha
mengembangkan interface yang tersebut hingga ditemukan MySQL.
Kala itu, MySQL didistribusikan secara khusus, yakni untuk keperluan
nonkomersial bersifat gratis, sedangkan untuk kebutuhan komersial
diharuskan membayar lisensi. Barulah sejak versi 3.23.19, MySQL
dikategorikan software berlisensi GPL, yakni dapat dipakai tanpa biaya
untuk kebutuhan apapun.
2.3.2. SQL
SQL ( Structured Query Language ) merupakan bahasa query
yang digunakan untuk mengakses database relasional. SQL sekarang
sudah menjadi bahasa database standar dan hampir semua sistem
database memahaminya. SQL terdiri dari berbagai jenis statement.
Semuanya didesain agar dia memungkinkan untuk dapat secara
interaktif berhubungan dengan database.
Penggunaan SQL pada DBMS ( Database Management System )
sudah cukup luas. SQL dapat dipakai oleh berbagai kalangan, misalnya
DBA ( Database Administrator ), progammer ataupun pengguna. Hal ini
disebabkan karena :
a) SQL sebagai bahasa administrasi database
Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta
mengendalikan pengaksesan database.
b) SQL sebagai bahasa query interaktif
Pengguna dapat memberikan perintah-perintah untuk
mengakses database yang sesuai dengan kebutuhannya.
15
BAB II TINJAUAN PUSTAKA
c) SQL sebagai bahasa pemrograman database
Pemrogram dapat menggunakan perintah-perintah SQL dalam
program aplikasi yang dibuat.
d) SQL sebagai bahasa client / server
SQL juga dipakai sebagai untuk mengimplementasikan sistem
client / server. Sebuah client dapat menjalankan suatu aplikasi
yang mengakses database. Dalam hal ini sistem operasi antara
server dan client bisa berbeda.
Di samping hal tersebut di atas SQL juga diterapkan pada internet
atau intranet untuk mengakses database melalui halaman-halaman web
untuk mendukung konsep web dinamis.
2.3.3. Kelompok Pernyataan SQL
Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok DDL,
DML, DCL, pengendali transaksi dan pengendali programatik.
a) DDL ( Data Definition Language )
DDL merupakan kelompok perintah yang berfungsi untuk
mendefinisikan atribut-atribut database, table, atribut (kolom),
batasan-batasan terhadap suatu atribut serta hubungan antartable.
Yang termasuk kelompok DDL ini adalah :
o CREATE untuk menciptakan table atau indeks.
o ALTER untuk mengubah struktur table.
o DROP untuk menghapus table atau indeks.
b) DML ( Data Manipulation Language )
Adalah kelompok perintah yang berfungsi untuk
memanipulasi data, misalnya untuk pengambilan, penyisipan
pengubahan dan penghapusan data. Yang termasuk DML adalah :
o SELECT untuk memilih data.
o INSERT untuk menambah data.
o DELETE untuk menghapus data.
o UPDATE untuk mengubah data.
c) DCL ( Data Control Language )
Berisi perintah-perintah untuk mngendalikan pengaksesan
data. Yang termasuk DCL adalah :
16
BAB II TINJAUAN PUSTAKA
o GRANT untuk memberikan kendali pada pengaksesan
data.
o REVOKE untuk mencabut kemampuan pengaksesan data.
o LOCK TABLE untuk mengunci table.
d) Pengendali transaksi
Adalah perintah-perintah yang berfungsi untuk
mengendalikan pengeksekusian transaksi. Yang termasuk
kelompok ini adalah :
o COMMIT untuk menyetujui rangkaian perintah yang
berhubungan erat yang telah berhasil dilakukan.
o ROLLBACK untuk membatalkan transaksi yang dilakukan
karena adanya kesalahan atau kegagalan pada salah satu
rangkaian perintah.
e) Pengendali Programatik
Mencakup pernyataan-pernyataan yang berhubungan dengan
pemanfaatan SQL dalam bahasa lain ( SQL yang dilekatkan ).
Yang termasuk dalam kelompok ini adalah :
o CLOSE untuk menutup kursor.
o DECLARE untuk mendeklarasikan kursor.
o FETCH untuk mengambil nilai baris berikutnya.
o OPEN untuk membuka kursor.
2.3.4. Kelebihan MySQL
Ada beberapa alasan mengapa MySQL menjadi program
database yang sangat populer dan digunakan oleh banyak orang.
Alasan-alasan tersebut diantaranya adalah sebagai berikut :
a) MySQL adalah software database yang bersifat free atau
gratis.
b) MySQL adalah database yang memiliki kecepatan yang tinggi
dalam melakukan pemrosesan data, dapat diandalkan, dan mudah
digunakan serta mudah dipelajari.
c) Fully Multi Threaded dengan kernel thread. artinya adalah
bisa dengan mudah mempergunakan multiple CPU bila ada.
d) API ( Application Programming Interface) dengan C, C++ ,
Eiffel, Java, Perl, PHP, Python dan Tel.
17
BAB II TINJAUAN PUSTAKA
e) MySQL mendukung banyak bahasa pemrograman seperti C,
C++, Perl, Phyton, Java, dan PHP. Selain itu, dengan bantuan
ODBC, MySQL juga mampu berinteraksi dengan berbagai
pemrograman visual seperti Delphi, Visual Basic, Java, dan
sebagainya.
f) MySQL dapat melakukan koneksi dengan client menggunakan
protocol TCP/IP, Unix socket (Unix), atau Named Pipes ( NT ).
g) MySQL dapat menangani data dengan skala yang sangat besar
dengan jumlah record mencapai lebih dari 50 juta, menampung
60 ribu tabel, dan juga bisa menampung 5 milyar baris data.
h) Dalam hal relasi antartabel MySQL menerapkan metode one-
sweep multijoin, sehingga sangat efisien dalam mengelola
informasi yang kita minta dari beberapa tabel sekaligus
i) Multiuser, yaitu dalam satu database server pada MySQL
dapat diakses oleh beberapa user dalam waktu yang sama tanpa
mengalami konflik atau kemacetan sistem.
j) Security yang dimiliki database MySQL dikenal baik, karena
memiliki lapisan sekuritas seperti level subnetmask, nama host
dan izin akses user dengan sistem perizinan yang khusus serta
password yang dimiliki setiap user dalam bentuk data terenkripsi.
2.4. Fuzzy Logic
2.4.1. Pendahuluan
Fuzzy Logic diperkenalkan oleh Prof. Lotfi Zadeh pada tahun
1965. Merupakan metode yang mempunyai kemampuan untuk
memproses variabel yang bersifat kabur atau yang tidak dapat
dideskripsikan secara eksak / pasti seperti misalnya tinggi, lambat,
bising, dll. Dalam fuzzy logic, variabel yang bersifat kabur tersebut
direpresentasikan sebagai sebuah himpunan yang anggotanya adalah
suatu nilai crisp dan derajat keanggotaannya ( membership function )
dalam himpunan tersebut. Logika fuzzy berbeda dengan logika digital biasa, dimana logika
digital biasa hanya mengenal dua keadaan yaitu: Ya dan Tidak atau ON
dan OFF atau High dan Low atau "1" dan "0". Sedangkan Logika Fuzzy
meniru cara berpikir manusia dengan menggunakan konsep sifat
kesamaran suatu nilai. Dengan teori himpunan fuzzy, suatu objek dapat
menjadi anggota dari banyak himpunan dengan derajat keanggotaan
yang berbeda dalam masing-masing himpunan.
18
BAB II TINJAUAN PUSTAKA
Beberapa alasan mengapa orang menggunakan logika fuzzy,
antara lain:
a) Konsep logika fuzzy mudah dimengerti. Konsep matematis
yang mendasari penalaran fuzzy sangat sederhana dan mudah
dimengerti.
b) Logika fuzzy sangat fleksibel.
c) Logika fuzzy memiliki toleransi terhadap data-data yang tidak
tepat.
d) Logika fuzzy mampu memodelkan fungsi-fungsi non-linear
yang sangat kompleks.
e) Logika fuzzy dapat membangun dan mengaplikasikan
pengalaman-pengalaman para pakar secara langsung tanpa harus
melalui proses pelatihan.
f) Logika fuzzy dapat bekerja sama dengan teknik-teknik kendali
secara konvensional.
g) Logika fuzzy didasarkan pada bahasa alami.
Hal yang perlu diketahui dalam memahami sistem fuzzy, adalah
antara lain :
a) Variabel fuzzy.
Merupakan variabel yang hendak dibahas dalam suatu sistem
fuzzy. Contoh : umur, temperatur, permintaan, dsb.
b) Himpunan fuzzy.
Merupakan suatu grup yang mewakili suatu kondisi atau
keadaan tertentu dalam suatu variabel fuzzy.
Contoh :
o Variabel umur, terbagi menjadi 3 himpunan fuzzy, yaitu
MUDA, PAROBAYA, dan TUA.
o Variabel temperatur, terbagi menjadi 5 himpunan fuzzy,
yaitu DINGIN, SEJUK, NORMAL, HANGAT, dan PANAS.
Himpunan fuzzy mempunyai 2 atribut, yaitu antara lain :
o Linguistik
Yaitu penamaan suatu grup yang mewakili suatu keadaan
atau kondisi tertentu dengan menggunakan bahasa alami,
seperti : MUDA, PAROBAYA, TUA.
19
BAB II TINJAUAN PUSTAKA
o Numeris
Yaitu suatu nilai (angka) yang menunjukkan ukuran dari
suatu variabel seperti : 4., 25, 50, dsb.
c) 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.
Nilai semesta pembicaraan dapat berupa bilangan positif maupun
negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi
batas atasnya.
Contoh :
o Semesta pembicaraan untuk variabel umur adalah [0 +∞].
o Semesta pembicaraan untuk variabel temperatur adalah
[0 40].
d) Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang
diijinkan dalam semesta pembicaraan dan boleh dioperasikan
dalam suatu himpunan fuzzy. Seperti halnya dengan 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 :
o MUDA = [0, 45]
o PAROBAYA = [35, 55]
o TUA = [45, +∞]
o DINGIN = [0, 20]
o SEJUK = [15, 25]
o NORMAL = [20, 30]
o HANGAT = [25, 35]
o PANAS = [30, 40]
2.4.2. Fungsi Keanggotaan
Fungsi keanggotaan (membership function) adalah suatu kurva
yang menunjukkan pemetaan titik-titik input data ke dalam nilai
keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang
20
BAB II TINJAUAN PUSTAKA
memiliki interval antara 0 sampai 1. Salah satu cara yang dapat
digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui
pendekatan fungsi. Ada beberapa fungsi yang dapat digunakan :
a) Representasi Linear Naik.
Kenaikan himpunan dimulai pada nilai domain yang memiliki
derajat keanggotaan 0 bergerak ke kanan menuju ke nilai domain
yang memiliki derajat keanggotaan lebih tinggi.
Gambar 2.1. Representasi Linear Naik
Fungsi keanggotaan :
b) Representasi Linear Turun.
Merupakan kebalikan dari representasi linear naik. 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.
µ[x] =
0;
(x - a) / (b - a);
1;
x ≤ a
a ‹ x ‹ b
x ≥ b
21
BAB II TINJAUAN PUSTAKA
Gambar 2.2. Representasi Linear Turun
Fungsi keanggotaan :
c) Representasi Kurva Segitiga.
Kurva segitiga pada dasarnya merupakan gabungan antara 2
garis linear.
Gambar 2.3. Representasi Kurva Segitiga
µ[x] =
1;
(b - x) / (b - a);
0;
x ≤ a
a ‹ x ‹ b
x ≥ b
22
BAB II TINJAUAN PUSTAKA
Fungsi keanggotaan :
d) Representasi Kurva Trapesium.
Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya
saja ada beberapa titik yang memiliki nilai keanggotaan 1.
Gambar 2.4. Representasi Kurva Trapesium
Fungsi keanggotaan :
µ[x] =
0;
(x - a) / (b - a);
(c - x) / (c - b);
1;
x ≤ a
a ‹ x ≤ b
b ‹ x ‹ c
x ≥ c
µ[x] =
0;
(x - a) / (b - a);
1;
(d - x) / (d - c);
x ≤ a atau x ≥ d
a ‹ x ‹ b
b ≤ x ≤ c
x › c
23
BAB II TINJAUAN PUSTAKA
2.4.3. Operasi Dasar Zadeh untuk Operasi Himpunan Fuzzy
Seperti halnya himpunan konvensional, ada beberapa operasi
yang didefinisikan secara khusus untuk mengkombinasi dan
memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari
operasi 2 himpunan sering dikenal dengan fire strength atau - predikat.
Ada 3 operator dasar yang diciptakan oleh Zadeh, yaitu :
a) Operator AND
Operator ini berhubungan dengan operasi interseksi pada
himpunan. α-predikat sebagai hasil operasi dengan operator AND
diperoleh dengan mengambil nilai keanggotaan terkecil antar
elemen pada himpunan-himpunan yang bersangkutan.
µA∩B = min(µA[x], µB[y])
b) Operator OR
Operator ini berhubungan dengan operasi union pada
himpunan. α-predikat sebagai hasil operasi dengan operator OR
diperoleh dengan mengambil nilai keanggotaan terbesar antar
elemen pada himpunan-himpunan yang bersangkutan.
µAUB = max(µA[x], µB[y])
c) Operator NOT
Operator ini berhubungan dengan operasi komplemen pada
himpunan. α-predikat sebagai hasil operasi dengan operator NOT
diperoleh dengan mengurangkan nilai keanggotaan elemen pada
himpunan yang bersangkutan dari 1.
µA’ = 1 - µA[x]
2.4.4. Fuzzy Database Model Tahani
Database adalah kumpulan dari data yang saling berhubungan
satu dengan yang lainnya, tersimpan di perangkat keras komputer dan
digunakan perangkat lunak untuk memanipulasinya. Database sistem
adalah suatu sistem informasi yang mengintegrasikan kumpulan data
yang saling berhubungan satu dengan lainnya dan membuatnya tersedia
untuk beberapa aplikasi dalam suatu organisasi.
Sebagian besar database standar diklasifikasikan berdasarkan
bagaimana data tersebut dipandang oleh user. Misalkan kita memiliki
data karyawan yang tersimpan pada tabel dt_karyawan dengan field
NIP, nama, tgl lahir, th masuk, dan gaji per bulan.
24
BAB II TINJAUAN PUSTAKA
Tabel 2.2. Data Mentah Karyawan
NIP Nama Tgl Lahir Th Masuk Gaji/bl (Rp)
01 Lia 03-06-1972 1996 750.000
02 Iwan 23-09-1954 1985 1.500.000
03 Sari 12-12-1966 1988 1.255.000
04 Andi 06-03-1965 1998 1.040.000
05 Budi 04-12-1960 1990 950.000
06 Amir 18-11-1963 1989 1.600.000
07 Rian 28-05-1965 1997 1.250.000
08 Kiki 09-07-1971 2001 550.000
09 Alda 14-08-1967 1999 735.000
10 Yoga 17-09-1977 2000 860.000
Kemudian dari tabel dt_karyawan, kita olah menjadi suatu tabel
temporer untuk menghitung umur karyawan dan masa kerjanya.
Tabel 2.3. Data Karyawan setelah Diolah
NIP Nama Umur (th) Th Masuk Gaji/bl (Rp)
01 Lia 30 1996 750.000
02 Iwan 48 1985 1.500.000
03 Sari 36 1988 1.255.000
04 Andi 37 1998 1.040.000
05 Budi 42 1990 950.000
06 Amir 39 1989 1.600.000
07 Rian 37 1997 1.250.000
08 Kiki 32 2001 550.000
09 Alda 35 1999 735.000
10 Yoga 25 2000 860.000
* Misal sekarang tahun 2002
Dengan menggunakan database standar, kita dapat mencari data-
data dengan spesifikasi tertentu dengan menggunakan query. Misal kita
ingin mendapatkan informasi tentang nama-nama karyawan yang
usianya kurang dari 35 tahun, maka kita bisa ciptakan suatu query :
25
BAB II TINJAUAN PUSTAKA
SELECT Nama
FROM Karyawan
WHERE (Umur < 35)
Sehingga muncul nama-nama Lia, Kiki, dan Yoga. Apabila kita
ingin mendapatkan tentang nama-nama karyawan yang gajinya lebih
dari 1 juta rupiah, maka kita bisa ciptakan suatu query :
SELECT Nama
FROM Karyawan
WHERE (Gaji < 1000000)
Sehingga muncul nama-nama Iwan, Sari, Andi, Amir, dan Rian.
Apabila kita ingin mendapatkan tentang nama-nama karyawan yang
masa kerjanya kurang dari atau sama dengan 5 tahun tetapi gajinya
lebih dari 1 juta rupiah, maka kita bisa ciptakan suatu query :
SELECT Nama
FROM Karyawan
WHERE (Gaji < 1000000)
Sehingga muncul nama-nama Andi, dan Rian.
Pada kenyataannya, seseorang kadang membutuhkan informasi
dari data-data yang bersifat ambiguous. Apabila hal ini terjadi, maka
kita bisa menggunakan fuzzy database. Selama ini sudah ada penelitian
tentang fuzzy database. Salah satu diantaranya adalah model Tahani.
Fuzzy database model Tahani masih tetap menggunakan relasi standar,
hanya saja model ini menggunakan teori himpunan fuzzy untuk
mendapatkan informasi query-nya.
Misalkan kita mengkategorikan usia karyawan di atas ke dalam
himpunan : MUDA, PAROBAYA, dan TUA.
26
BAB II TINJAUAN PUSTAKA
Gambar 2.5. Fungsi Keanggotaan untuk Variabel Usia
Fungsi keanggotaan :
Tabel berikut menunjukkan tabel karyawan berdasarkan umur
dengan derajat keanggotaannya pada setiap himpunan.
x ≤ 30
30 ≤ x ≤ 40
x ≥ 40
1;
(40 - x) / 10;
0;
µ MUDA[x] =
x ≤ 40
40 ≤ x ≤ 50
x ≥ 50
0;
(x - 40) / 10;
1;
x ≤ 30 atau x ≥ 50
35 ≤ x ≤ 45
45 ≤ x ≤ 50
0;
(x - 35) / 10;
(50 - x) / 5;
µ PAROBAYA[x] =
µ TUA[x] =
Umur ( tahun ) 50 45 40 35 30
µ[x]
1
0
TUA PAROBAYA MUDA
27
BAB II TINJAUAN PUSTAKA
Tabel 2.4. Karyawan Berdasarkan Umur
NIP Nama Umur (th) Derajat Keanggotaan ( [x] )
MUDA PAROBAYA TUA
01 Lia 30 1 0 0
02 Iwan 48 0 0,4 0,8
03 Sari 36 0,4 0,1 0
04 Andi 37 0,3 0,2 0
05 Budi 42 0 0,7 0,2
06 Amir 39 0,1 0,4 0
07 Rian 37 0,3 0,2 0
08 Kiki 32 0,8 0 0
09 Alda 35 0,5 0 0
10 Yoga 25 1 0 0
Variabel masa kerja dikategorikan dalam himpunan : BARU, dan
LAMA.
Gambar 2.6. Fungsi Keanggotaan untuk Variabel Masa Kerja
Fungsi keanggotaan :
1;
(15 - y) / 10;
0;
µ BARU[y] =
y ≤ 5
5 ≤ y ≤ 15
y ≥ 15
Masa Kerja ( tahun ) 25 15 10 5
µ[y]
1
0
LAMA BARU
28
BAB II TINJAUAN PUSTAKA
Tabel di bawah ini menunjukkan tabel karyawan berdasarkan
masa kerja dengan derajat keanggotaannya pada setiap himpunan.
Tabel 2.5. Karyawan Berdasarkan Masa Kerja
NIP Nama Masa Kerja Derajat Keanggotaan ( [y] )
BARU LAMA
01 Lia 6 0,9 0
02 Iwan 17 0 0,467
03 Sari 14 0,1 0,267
04 Andi 4 1 0
05 Budi 12 0,3 0,133
06 Amir 13 0,2 0,200
07 Rian 5 1 0
08 Kiki 1 1 0
09 Alda 3 1 0
10 Yoga 2 1 0
Variabel gaji dikategorikan dalam himpunan: RENDAH,
SEDANG, dan TINGGI.
y ≤ 10
10 ≤ y ≤ 25
y ≥ 25
0;
(y - 10) / 15;
1;
µ TUA[y] =
Gambar 2.7. Fungsi Keanggotaan untuk Variabel Gaji
2000
Gaji ( x1000 Rp/bl )
1500 1000 800 500 300
µ[z]
1
0
TINGGI SEDANG RENDAH
29
BAB II TINJAUAN PUSTAKA
Fungsi keanggotaan :
Tabel berikut ini menunjukkan tabel karyawan berdasarkan gaji
dengan derajat keanggotaannya pada setiap himpunan.
Tabel 2.6. Karyawan Berdasarkan Gaji
NIP Nama Gaji/bl (Rp) Derajat Keanggotaan ( [x] )
RENDAH SEDANG TINGGI
01 Lia 750.000 0,1 0,50 0
02 Iwan 1.255.000 0 0,49 0,255
03 Sari 1.500.000 0 0 0,500
04 Andi 1.040.000 0 0,92 0,040
05 Budi 950.000 0 0,9 0
06 Amir 1.600.000 0 0 0,600
07 Rian 1.250.000 0 0,50 0,250
08 Kiki 550.000 0,5 0 0
09 Alda 735.000 0,13 0 0
10 Yoga 860.000 0 0 0
0;
(z - 500) / 500;
(1500 - z) / 500;
µ SEDANG[z] =
z ≤ 1000
1000 ≤ z ≤ 2000
z ≥ 2000
z ≤ 300
300 ≤ z ≤ 800
z ≥ 800
1;
(800 - z) / 500;
0;
µ RENDAH[z] =
z ≤ 500 atau z ≥ 1500
500 ≤ z ≤ 1000
100 ≤ z ≤ 800
0;
(z - 1000) / 1000;
1;
µ TINGGI[z] =
30
BAB II TINJAUAN PUSTAKA
Ada beberapa query yang dapat diberikan, misalkan:
Query 1 :
Siapa sajakah karyawan yang masih muda tapi memiliki gaji
tinggi?
SELECT Nama
FROM Karyawan
WHERE (Umur=”MUDA”) AND (Gaji = “TINGGI”)
Tabel di bawah ini menunjukkan hasil query1, yaitu nama-nama
karyawan yang masih muda tapi memiliki gaji yang tinggi.
Tabel 2.7. Hasil query1
NIP Nama Umur
(th) Gaji/bl
(Rp)
Derajat Keanggotaan ( [x] )
MUDA TINGGI MUDA &
TINGGI
03 Sari 36 1.500.000 0,4 0,5 0,4
07 Rian 37 1.250.000 0,3 0,25 0,25
06 Amir 39 1.600.000 0,1 0,6 0,1
04 Andi 37 1.040.000 0,3 0,04 0,04
01 Lia 30 750.000 1 0 0
02 Iwan 48 1.255.000 0 0,255 0
05 Budi 42 950.000 0 0 0
08 Kiki 32 550.000 0,8 0 0
09 Alda 35 735.000 0,5 0 0
10 Yoga 25 860.000 1 0 0
Query 2 :
Siapa sajakah karyawan yang masih muda atau karyawan yang
memiliki gaji tinggi?
SELECT Nama
FROM Karyawan
WHERE (Umur=”MUDA”) OR (Gaji = “TINGGI”)
Tabel di bawah ini menunjukkan hasil query2, yaitu nama-nama
karyawan yang masih muda atau yang memiliki gaji yang tinggi.
31
BAB II TINJAUAN PUSTAKA
Tabel 2.8. Hasil query2
NIP Nama Umur
(th) Gaji/bl
(Rp)
Derajat Keanggotaan ( [x] )
MUDA TINGGI MUDA ||
TINGGI
01 Lia 30 750.000 1 0 1
10 Yoga 25 860.000 1 0 1
08 Kiki 32 550.000 0,8 0 0,8
06 Amir 39 1.600.000 0,1 0,6 0,6
03 Sari 36 1.500.000 0,4 0,5 0,5
09 Alda 35 735.000 0,5 0 0,5
04 Andi 37 1.040.000 0,3 0,04 0,3
07 Rian 37 1.250.000 0,3 0,25 0,3
02 Iwan 48 1.255.000 0 0,255 0,255
05 Budi 42 950.000 0 0 0
[1.]