• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
25
0
0

Teks penuh

(1)

7

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.

(2)

8

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.

(3)

9 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

(4)

10

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.

(5)

11 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

(6)

12

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

(7)

13 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

(8)

14

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

(9)

15 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 :

(10)

16

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.

(11)

17 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.

(12)

18

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.

(13)

19 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

(14)

20

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

(15)

21 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

(16)

22

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

(17)

23 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.

(18)

24

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 :

(19)

25 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.

(20)

26

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

(21)

27 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

(22)

28

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

(23)

29 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] =

(24)

30

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.

(25)

31 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.]

Gambar

Tabel 2.1. Java pada berbagai sistem operasi
Gambar 2.1. Representasi Linear Naik  Fungsi keanggotaan :
Gambar 2.3. Representasi Kurva Segitiga µ[x] = 1; (b - x) / (b - a); 0; x ≤ a a ‹ x ‹ b x ≥ b
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
+7

Referensi

Dokumen terkait

Pendidikan kokurikulum di SK NAMA SEKOLAH adalah suatu usaha berterusan ke arah memperkembangkan potensi individu dalam kegiatan sukan, permainan,

Penelitian ini dilakukan untuk membuktikan efek antioksidan ekstrak biji jintan hitam ( Nigella sativa .Linn) terhadap tikus model fibrosis hati, dengan paramater berupa kadar kadar

P.30/Menhut-II/2012 tentang Penatausahaan Hasil Hutan yang Berasal dari Hutan Hak Pasal 9 ayat (1) menyatakan bahwa SKAU diterbitkan oleh Kepala Desa/ Lurah, sehingga data hasil

Sebuah dawai dipetik dan menghasilkan nada atas pertama, nada yang dihasilkan ini beresonansi dengan nada atas kedua dari pipa organa tertutup yang panjangnya x cm, jika cepat

Dengan demikian, kondisi seseorang dapat dilihat secara komprehensif (Suharmiati, 2003). Pada bulan April tanggal 15 dan 21 serta pada bulan Mei tanggal 21 penulis melakukan

Pengamatan lama waktu proses pembuatan bokhasi limbah pelepah dan daun kelapa sawit secara fisik telah matang dan menjadi pupuk kompos dengan ditandai suhu dan pH

untuk menggambarkan isoterm sorpsi air pada tepung singkong terfermentasi angkak diperkuat dengan penelitian yang dilakukan Cahyanti (2016) tentang isoterm sorpsi air pada

Tidaklah mungkin suatu masyarakat bangsa atau gabungan bangsa dapat melakukan suatu perobahan berskala besar dan sistematik jika tidak dilandaskan pada hasil