BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II TEORI PENUNJANG

SISTEM PENDUKUNG KEPUTUSAN Oleh : Saripudin PENGAMBILAN KEPUTUSAN Pengambilan keputusan merupakan proses pemilihan alternative tindakan untuk

SISTEM PENDUKUNG KEPUTUSAN

BAB 2 LANDASAN TEORI

BAB II. KAJIAN PUSTAKA. Sebelum munculnya logika fuzzy, dikenal sebuah logika tegas (Scrisp

PENGENALAN MySQL. Riana Sepriyanti. Abstrak. Pendahuluan.

KEKURANGAN KELEBIHAN APLIKASI DATA BASE

BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Sistem Definisi Sistem

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

STRUCTURE QUERY LANGUAGE (SQL)

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang

FUZZY MULTI-CRITERIA DECISION MAKING

PENGERTIAN PHP DAN MYSQL

BAB II. KAJIAN PUSTAKA

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

SISTEM PENDUKUNG KEPUTUSAN. Sistem Informasi Pariwisata

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Bab 2. Tinjauan Pustaka

Erwien Tjipta Wijaya, ST.,M.Kom

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Dalam kondisi yang nyata, beberapa aspek dalam dunia nyata selalu atau biasanya

BAB 2 LANDASAN TEORI

Himpunan Fuzzy. Sistem Pakar Program Studi : S1 sistem Informasi

WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL. Agustina Purwatiningsih., S.Kom

BAB III LANDASAN TEORI. permasalahan yang dibahas dan juga menjelaskan aplikasi-aplikasi yang akan

BAB II DASAR TEORI 2.1. Logika Fuzzy Defenisi Logika Fuzzy Himpunan Fuzzy

Kontrak Kuliah. Pengantar Mysql. Edi Sugiarto, S.Kom, M.Kom

LOGIKA FUZZY. Kelompok Rhio Bagus P Ishak Yusuf Martinus N Cendra Rossa Rahmat Adhi Chipty Zaimima

BAB 2 LANDASAN TEORI. Bab ini akan menjelaskan masalah-masalah teoritis yang berkaitan dalam pembuatan

FUZZY LOGIC CONTROL 1. LOGIKA FUZZY

VII. LOGIKA FUZZY. Antara input dan output terdapat suatu kotak hitam yang harus memetakan input ke output yang sesuai. Misal : Ruang Input

MATERI KULIAH (PERTEMUAN 12,13) Lecturer : M. Miftakul Amin, M. Eng. Logika Fuzzy. Politeknik Negeri Sriwijaya Palembang

SISTEM PENUNJANG KEPUTUSAN MENGGUNAKAN SISTEM BASIS DATA FUZZY UNTUK PEMBELIAN RUMAH PERUMNAS

BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang

BAB III LANDASAN TEORI. dengan istilah web adalah sebuah sistem terhubung dari hypertext document yang

BAB 2 LANDASAN TEORI

Aplikasi Prediksi Harga Bekas Sepeda Motor Yamaha. Menggunakan Fuzzy Logic

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB II LANDASAN TEORI. lingkungan, interaksi unsur dengan suatu tujuan yang akan dicapai. Berikut ini pengertian sistem menurut beberapa ahli:

BAB II LANDASAN TEORI

MODUL 7 STRUCTURED QUERY LANGUAGE

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

dan kesatuan nyata yang dapat digunakan dalam pengambilan keputusan. [JOG99]

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

Perancangan Aplikasi Rekomendasi Pemilihan Lokasi Rumah dengan Memanfaatkan Fuzzy Database Metode Tahani

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

BAB 2 LANDASAN TEORI

DASAR-DASAR SQL SERVER 2005

Sistem Pendukung Keputusan Manajemen

BAB II LANDASAN TEORI

Modul 3. Oleh : Mohammad Sholikin. 1

BAB III LANDASAN TEORI

BAB II. KAJIAN PUSTAKA. A. Kinerja Pegawai di Universitas Muhammadiyah Purwokerto

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

Modul 1 Pengenalan Struktur dan Tabel

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Dalam tinjauan pustaka dibawah ini terdapat 5 referensi dan 1 referensi dari

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

BAB 2 LANDASAN TEORI. merupakan beberapa komputer yang terhubung satu sama lain dengan memakai kabel

BAB II LANDASAN TEORI. Menurut Fathansyah Basis data (Database) dapat didefinisikan dalam sejumlah sudut pandang seperti:

BAB 2 LANDASAN TEORI

LOGIKA FUZZY DALAM SISTEM PENDUKUNG KEPUTUSAN UNTUK ANALISA PENDISTRIBUSIAN RASKIN ( STUDI KASUS DI KECAMATAN BUKIT SUNDI )

PENGANTAR BASIS DATA

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Sistem Pendukung Keputusan (SPK), adalah suatu sistem informasi berbasis

BAB II LANDASAN TEORI

SISTEM BASIS DATA By Novareza Klifartha

BAB II LANDASAN TEORI. diperlukan dalam pembangunan website e-commerce Distro Baju MedanEtnic.

SISTEM PENDUKUNG KEPUTUSAN UNTUK PENENTUAN PENERIMA BERAS MISKIN MENGGUNAKAN BASIS DATA FUZZY

BAB III LANDASAN TEORI. sistem, pengertian sistem informasi, sumber dari sistem informasi, dan metodemetode. lainnya yang dipakai dalam pembahasan.

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

: Sistem Pendukung Keputusan, Siswa berprestasi, Tsukamoto

BAB II LANDASAN TEORI

Pengantar Kecerdasan Buatan (AK045218) Logika Fuzzy

PEMROGRAMAN WEB 2 DATABASE,MYSQL. Rio andriyat krisdiawan, m.kom

BAB 2 LANDASAN TEORI. 2.1 Logika Fuzzy Konsep Kekaburan (fuzziness) dan Sejarah Logika Fuzzy

BAB II LANDASAN TEORI. seorang pimpinan atau manajer didalam organisasi untuk mencapai tujuan

PENGERTIAN DATABASE MySQL

BAB II LANDASAN TEORI. Dalam pembangunan suatu sistem informasi, terdapat dua kelompok

BAB 2 TINJAUAN PUSTAKA

MENENTUKAN HARGA MOBIL BEKAS TOYOTA AVANZA MENGGUNAKAN METODE TSUKAMOTO

BAB III LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

Bab 2. Tinjauan Pustaka

BAB III LANDASAN TEORI

KECERDASAN BUATAN LOGIKA FUZZY

BAB II LANDASAN TEORI. lingkungan, interaksi unsur dengan suatu tujuan yang akan dicapai. Berikut ini pengertian sistem menurut beberapa ahli:

BAB II LANDASAN TEORI. 2.1 Penelusuran Minat dan Kemampuan (PMDK) diselenggarakan oleh suatu perguruan tinggi secara mandiri.

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

SISTEM INFORMASI PENDUKUNG KEPUTUSAN

BAB 2 LANDASAN TEORI. Definisi lain dari sistem adalah kumpulan dari bagian-bagian yang bekerja sama

BAB II TINJAUAN PUSTAKA

BAB III METODE PENELITIAN. sistem yang digunakan untuk menggambarkan aliran data secara keseluruhan

DECISSION SUPPORT SYSTEM MODELS DENGAN FUZZY TAHANI UNTUK PROMOSI KARYAWAN

BAB II LANDASAN TEORI. pengenalan komputer aplikasi merupakan sistem yang dirancang dan disusun

BAB 1 PENDAHULUAN. berbentuk buku dan kartu-kartu yang berisi data-data buku. Sistem ini sudah dianggap

BAB I PENDAHULUAN 1.1 Latar Belakang

Transkripsi:

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

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. 8 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 sumbersumber 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 semistruktur. 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.

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 datadata 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 9

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 komponenkomponen 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. 10

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 11

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 12

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 13

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

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

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

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

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

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 19

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 : 0; x a µ[x] = (x - a) / (b - a); 1; a x b x b 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. 20

Gambar 2.2. Representasi Linear Turun Fungsi keanggotaan : 1; x a µ[x] = (b - x) / (b - a); 0; a x b x b c) Representasi Kurva Segitiga. Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear. Gambar 2.3. Representasi Kurva Segitiga 21

Fungsi keanggotaan : µ[x] = 0; (x - a) / (b - a); (c - x) / (c - b); 1; x a a x b b x c x c 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 : 0; x a atau x d µ[x] = (x - a) / (b - a); 1; (d - x) / (d - c); a x b b x c x c 22

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

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 datadata 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 : 24

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

1 MUDA PAROBAYA TUA µ[x] 0 30 35 40 45 Umur ( tahun ) 50 Gambar 2.5. Fungsi Keanggotaan untuk Variabel Usia Fungsi keanggotaan : 1; x 30 µ MUDA [x] = µ PAROBAYA [x] = (40 - x) / 10; 0; 0; (x - 35) / 10; (50 - x) / 5; 30 x 40 x 40 x 30 atau x 50 35 x 45 45 x 50 µ TUA [x] = 0; (x - 40) / 10; 1; x 40 40 x 50 x 50 Tabel berikut menunjukkan tabel karyawan berdasarkan umur dengan derajat keanggotaannya pada setiap himpunan. 26

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. 1 BARU LAMA µ[y] 0 5 10 15 25 Masa Kerja ( tahun ) Gambar 2.6. Fungsi Keanggotaan untuk Variabel Masa Kerja Fungsi keanggotaan : 1; y 5 µ BARU [y] = (15 - y) / 10; 0; 5 y 15 y 15 27

µ TUA [y] = 0; (y - 10) / 15; 1; y 10 10 y 25 y 25 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. 1 RENDAH SEDANG TINGGI µ[z] 0 300 500 800 1000 1500 2000 Gaji ( x1000 Rp/bl ) Gambar 2.7. Fungsi Keanggotaan untuk Variabel Gaji 28

Fungsi keanggotaan : µ RENDAH [z] = µ SEDANG [z] = µ TINGGI [z] = 1; (800 - z) / 500; 0; 0; (z - 500) / 500; (1500 - z) / 500; 0; (z - 1000) / 1000; 1; z 300 300 z 800 z 800 z 500 atau z 1500 500 z 1000 100 z 800 z 1000 1000 z 2000 z 2000 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 29

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. NIP Nama Umur (th) Tabel 2.7. Hasil query1 Derajat Keanggotaan ( [x] ) Gaji/bl (Rp) 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. 30

NIP Nama Umur (th) Tabel 2.8. Hasil query2 Derajat Keanggotaan ( [x] ) Gaji/bl (Rp) 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.] 31