Anda di halaman 1dari 36

BAB II TINJAUAN PUSTAKA

2.1 Pengertian Sistem Pakar Sistem pakar dapat didefinisikan sebagai sebuah program
komputer berbasis pengetahuan yang dapat memberikan pemecahan setingkat pakar dalam
bidang tertentu yang hasil pemecahannya mirip dengan pemecahan yang diberikan oleh
pakar yang sesungguhnya1. Suatu sistem pakar adalah suatu sistem komputer yang
menyamai (emulates) kemampuan pengambilan keputusan dari seorang pakar2. Basis
pengetahuan yang diperoleh, diambil dari pengalaman seorang pakar maupun teori-
teori yang ada pada bidang yang spesifik saja, oleh karena itu sistem pakar
memiliki keterbatasan. 2.2 Sejarah Singkat Sistem Pakar3 Perkembangan AI
(Artificial Intelligense) merupakan teknologi baru dalam dunia komputer. AI
berkembang

perusahaan General Electric menggunakan komputer pertama kali di bidang bisnis.


Pada tahuan 1956, istilah AI mulai dipopulerkan oleh John McCarthy sebagai suatu
tema ilmiah di bidang komputer yang diadakan di Dartmouth College.

1 2

Dologite, Development Computer Based Information System using VP-Expert, hal 1


Arhami, M. Konsep Dasar Sistem Pakar. Yogyakarta. Penerbit Andi. 2005, hal 2 3 Tim
Penerbit Andi, Pengembangan Sistem Pakar Menggunakan Visual Basic. Yogyakarta.
Penerbit Andi. 2009, hal 5

6
7

Pada tahun yang sama komputer berbasis AI pertama kali dikembangkan dengan nama
Logic Theorist yang melakukan penalaran terbatas untuk teorema kalkulus.
Perkembangan ini mendorong para peneliti untuk mengembangkan program lain yang
disebut sebagai General Problem Solver (GPS). Program ini bertujuan untuk
memecahkan berbagai jenis masalah dan ternyata tugas yang sangat besar dan sangat
berat untuk dikembangkan. Setelah GPS, ternyata AI banyak dikembangkan dalam bidang
permainan atau game, misalnya program permainan catur oleh Shannon (1955) dan
program untuk pengecekan masalah oleh Samuel (1963). Banyak juga ahli yang

mengimplementasikan AI dalam bidang bisnis dan matematika. Pada tahun 1972, Newell
dan Simon memperkenalkan Teori Logika secara konseptual yang kemudian berkembang
pesat dan menjadi acuan pengembangan sistem berbasis kecerdasan buatan lainnya.
Buchanan dan Feigenbaum juga mengembangkan

bahasa pemrograman DENDRAL, pada tahun 1978. Bahasa pemrograman ini dibuat untuk
badan antariksa Amerika Serikat, yaitu NASA, dan digunakan untuk penelitian kimia
di planet Mars. Pada tahun 1976, yaitu 2 tahun sebelum DENDRAL, sebenarnya program
sistem pakar sudah dikembangkan secara modern, yaitu MYCIN yang dibuat oleh
Shortliffe dengan bahasa pemrograman LISP. Program MYCIN menyimpan ± 500 basis
pengetahuan dan basis aturan untuk mendiagnosis penyakit
8

manusia.

Program

ini

juga mengimplementasikan metode

penelusuran dan pemecahan masalah, serta mengembangkan berbagai teori penting dalam
kecerdasan buatan seperti metode certainty factor, teori probabilitas dan teorema
fuzzy. Dewasa ini program MYCIN menjadi acuan penting untuk pengembangan sistem
pakar secara modern karena di dalamnya telah terintegrasi semua komponen standar
yang dibutuhkan oleh sistem pakar itu sendiri. 2.3 2.3.1 Konsep Dasar Sistem Pakar
Konsep Dasar Sistem Pakar Ada enam hal yang menjadi konsep dasar dari sebuah Sistem
Pakar4, yaitu : a. Keahlian (Expertise) Keahlian dapat diperoleh dari
pelatihan/training, membaca atau dari pengalaman. Keahlian itu meliputi :    
Fakta-fakta tentang area permasalahan. Teori-teori tentang area permasalahan.
Aturan-aturan tentang apa yang harus dilakukan dalam situasi permasalahan yang
diberikan. Strategi global untuk memecahkan masalah.

Arhami, Muhammad. Konsep Dasar Sistem Pakar. Yogyakarta. 2005, hal.11


9

b.

Pakar (Expert) Sulit untuk mendefinisikan apakah yang dimaksud dengan pakar itu.
Masalahnya adalah berapa banyak keahlian yang harus dimiliki oleh seseorang agar
dapat dikualifikasikan sebagai pakar. Namun berikut ini dijelaskan beberapa
kualifikasi yang harus dimiliki oleh seorang pakar :      Dapat mengenal dan
merumuskan masalah. Dapat memecahkan masalah dengan cepat dan

semestinya. Dapat menjelaskan suatu solusi. Dapat menentukan hubungan. Belajar dari
pengalaman

c.

Pemindahan Keahlian (Transferring Expertise) Tujuan dari sistem pakar adalah


memindahkan keahlian dari seorang pakar ke komputer dan kemudian ke manusia lain
yang bukan pakar. Proses ini meliputi empat kegiatan, yaitu :     Memperoleh
pengetahuan pakar. Merepresentasikan pengetahuan ke dalam komputer. Mengolah
pengetahuan sehingga dapat menghasilkan kesimpulan. Memindahkan pengetahuan ke
pengguna.

Pengetahuan disimpan dalam komputer berupa komponen yang disebut knowledge base.
Pengetahuan ini dibedakan menjadi dua, yaitu fakta dan rule.
10

d.

Menarik Kesimpulan (Inferencing) Keistimewaan dari sistem pakar adalah kemampuan

nalarnya. Komputer diprogram sehingga dapat membuat kesimpulan. Pengambilan


keputusan ini dilaksanakan dalam komponen yang disebut inference engine. e. Aturan
(Rule) Kebanyakan sistem pakar adalah sistem berbasis rule, pengetahuan disimpan
dalam bentuk rule-rule sebagai prosedur pemecahan masalah. f. Kemampuan Menjelaskan
(Explanatin Capability) Keistimewaan lain dari sistem pakar adalah kemampuan
menjelaskan darimana asal sebuah solusi/rekomendasi diperoleh. 2.3.2 Arsitektur
Sistem Pakar Komponen utama yang harus ada dalam sebuah sistem pakar adalah
knowledge base (basis pengetahuan), inference engine (mesin penarik kesimpulan),
explanation subsystem (subsistem penjelas output), dan user interface (antarmuka
pengguna). Secara umum arsitektur sistem pakar5 dapat dilihat pada gambar 2.1.

Gunawan, Ir, Pengantar ke Expert System, Indonesia : Surabaya, 2007, hal 6


11

Gambar 2.1 Arsitektur Sistem Pakar a. Basis Pengetahuan (Knowledge Base) Basis
pengetahuan merupakan bagian yang paling penting pada sistem pakar, karena keahlian
dari pakar disimpan di dalamnya. Basis pengetahuan tersebut berisi fakta-fakta yang
didapat dari seorang ahli dan diimplementasikan ke dalam sistem komputer dengan
menggunakan metode representasi

pengetahuan tertentu. Metode representasi pengetahuan adalah cara untuk


menstrukturkan pengetahuan yang dimiliki oleh pakar agar mudah diolah oleh
komputer. Jadi basis pengetahuan merupakan jantung sistem pakar, dimana bagian ini
berisi pengetahuan penting untuk mengerti, merumuskan dan memecahkan permasalahan,
yang mempunyai dua elemen dasar, yaitu fakta tentang keadaan masalah dan teori
tentang area masalah. b. Mesin Pengambil Keputusan (Inference Engine) Inference
Engine merupakan bagian dari sistem pakar yang bertugas untuk menemukan solusi yang
tepat dari banyaknya
12

solusi yang ada. Proses dilakukan dalam inference engine adalah bagaimana
pengambilan keputusan terhadap konsultasi yang terjadi dan proses penalaran pada
basis pengetahuan yang dimilikinya. Penentuan sistem pendukung keputusan dan metode
pelacakan sangat penting dalam rangka menyelesaikan masalah. Inference engine
merupakan otak dari sistem pakar6, juga dikenal sebagai struktur
kontrol/interpreter. c. Explanation Subsystem Explanation subsystem merupakan
kemampuan untuk

memberikan penjelasan atas sebuah kesimpulan yang diberikan. d. User Interface User
interface merupakan bagian dari sistem pakar yang berfungsi sebagai pengendali
input output. User interface melayani user selama proses konsultasi, mulai dari
tanya jawab untuk mendapatkan fakta-fakta yang dibutuhkan inference engine sampai
menampilkan output yang merupakan kesimpulan/rekomendasi yang dihasilkan oleh
inference engine. e. Knowledge Base Editor Knowledge base editor merupakan bagian
yang digunakan untuk menambah, menghapus dan memperbaiki basis

pengetahuan.

Durkin, John. Expert System and Development, New York : Macmillan, 1995, hal 168
13

f.

Learning Learning adalah suatu proses belajar dari suatu sistem

pakar apabila sistem tidak menemukan solusi masalah. g. Certainty Factor Certainty
factor merupakan faktor keyakinan atas fakta-fakta yang ada. 2.3.3 Metode Inferensi
Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh
pakar dalam menyelesaikan suatu masalah. Metode inferensi adalah program komputer
yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis
pengetahuan dan dalam workspace, dan untuk menformulasikan kesimpulan (Turban,
1995). Kebanyakan sistem pakar berbasis aturan menggunakan inferensi yang dinamakan
modus ponen. Berdasarkan strategi ini, jika terdapat aturan “IF A THEN B”, dan jika
diketahui bahwa A benar, maka dapat disimpulkan bahwa B juga benar. Terdapat dua
pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu
pelacakan ke depan (Forward Chaining) dan pelacakan ke belakang (Backward
Chaining). a. Pelacakan ke depan (Forward Chaining) Pelacakan ke depan adalah
pendekatan yang dimotori data (data-driven). Dalam pendekatan ini pelacakan dimulai
dari informasi masukan, dan selanjutnya mencoba menggambarkan
14

kesimpulan. Pelacakan ke depan, mencari fakta yang sesuai dengan bagian IF dari
aturan IF-THEN. b. Pelacakan ke belakang (Backward Chaining) Pelacakan ke belakang
adalah pendekatan yang dimotori oleh tujuan (goal-driven). Dalam pendekatan ini
pelacakan dimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuan
tersebut untuk kesimpulannya. Selanjutnya proses pelacakan menggunakan premis untuk
aturan tersebut sebagai tujuan baru dan mencari aturan lain dengan tujuan baru
sebagai kesimpulannya. Proses berlanjut sampai semua kemungkinan ditemukan
(Kusumadewi, 2003). 2.3.4 Ciri-ciri Sistem Pakar Adapun ciri-ciri sistem pakar
diantaranya adalah : a. Bekerja secara sistematis berdasarkan pengetahuan dan
mekanisme tertentu. b. c. Pengambilan keputusan berdasarkan kaidah-kaidah tertentu
dan dapat merespons masukkan user (melalui kotak dialog). Dikembangkan secara
bertahap dan terbatas pada bidang keahlian tertentu saja. d. Outputnya berupa saran
atau anjuran. Kategori Sistem Pakar Sistem pakar saat ini telah dibuat untuk
memecahkan berbagai macam permasalahan dalam berbagai bidang, seperti matematika,
teknik, kedokteran, kimia, farmasi, sains komputer, bisnis, hukum, pendidikan,
sampai pertahanan. Secara umum 2.3.5
15

ada beberapa kategori dan area permasalahan sistem pakar, yaitu : a. Interprestasi,
yaitu pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data
mentah, termasuk diantaranya juga pengawasan, pengenalan ucapan, analisis citra,
interprestasi sinyal, dan beberapa analisis kecerdasan. b. Proyeksi, yaitu dari
memprediksi situasi-situasi demografis, akibat-akibat tertentu, yang
7

dimungkinkan peramalan,

diantaranya ekonomi,

prediksi

peramalan

prediksi lalu lintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
c. Diagnosis, yaitu menentukan sebab malfungsi dalam situasi kompleks yang
didasarkan pada gejala-gejala yang teramati, diantaranya medis, elektronis, mekanis
dan diagnosis perangkat keras dan perangkat lunak komputer. d. Desain, yaitu
menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan
kinerja tertentu yang memenuhi kendala-kendala tertentu, diantaranya layout sirkuit
dan perancangan bangunan. e. Perencanaan, yaitu merencanakan serangkaian tindakan
yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu, diantaranya
perencanaan keuangan, komunikasi, militer, pengembangan produk, routing dan
manajemen proyek.

Arhami, Muhammad. Konsep Dasar Sistem Pakar. Yogyakarta. 2005, hal 23


16

f.

Pengawasan (Monitoring), yaitu membandingkan tingkah laku suatu sistem yang


teramati dengan tingkah laku yang diharapkan darinya, diantaranya Computer Aided
Monitoring System.

g.

Pelacakan dan Perbaikan (Debugging and Repair), yaitu menentukan dan


mengimplementasikan cara-cara untuk mengatasi malfungsi, diantaranya memberikan
resep obat terhadap suatu kegagalan.

h.

Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain


subjek, diantaranya melakukan instruksi untuk diagnosis, debugging dan perbaikan
kinerja.

i.

Pengendalian,

yaitu

mengatur

tingkah

laku

suatu

environtment yang kompleks seperti kontrol terhadap interprestasi-interprestasi,


prediksi, perbaikan dan monitoring kelakuan sistem. j. k. Seleksi, yaitu
mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan. Simulasi,
yaitu pemodelan interaksi antara komponenkomponen sistem. 2.3.6 Elemen Manusia
dalam Sistem Pakar Dalam pengembangan sebuah sistem pakar, faktor manusia ikut
menentukan keberhasilan dari sistem pakar tersebut. Adapun faktor manusia yang
dimaksud ialah8 :

Durkin, John. Expert System and Development, New York: Macmillan, 1995, hal 476-477
17

a.

Pakar (Domain Expert) Pakar adalah seorang yang mempunyai pengetahuan

khusus, pendapat, keahlian dan metode serta kemampuan untuk menggunakannya. Pakar
dapat memberikan nasehat dan

memecahkan masalah. Tugasnya menyediakan pengetahuan tentang bagaimana cara


melaksanakan tugasnya untuk kemudian diserap dan diimplementasikan ke dalam sistem
pakar. b. Perancang (Knowledge Engineer) Knowledge engineer adalah pihak yang
membantu dalam pembuatan sebuah sistem pakar. Knowledge engineer ini bertugas
menyerap pengetahuan yang dimiliki oleh para pakar dan mengimplementasikannya ke
dalam software sistem pakar. Tugas ini cukup sulit karena knowledge engineer tidak
boleh memasukkan perkiraan atau perasaannya ke dalam pengetahuan yang diperoleh.
Selain itu seorang knowledge engineer harus pandai mengorek pengetahuan pakar
karena adakalanya

seorang pakar tidak dapat menceritakan/menjelaskan semua keahliannya. c. Pemakai


(End User) Merupakan manusia yang menggunakan hasil dari

perancangan sistem pakar.


18

2.3.7
9

Alat Pengembangan Sistem Pakar Ada dua jenis alat untuk mengembangkan sistem pakar,

yaitu : a. Bahasa Pemrograman Bahasa tentunya mengacu pada bahasa pemograman yang
digunakan oleh komputer untuk membuat suatu perangkat lunak baru. Sistem pakar
dewasa ini telah dibuat atau diciptakan dengan berbagai jenis bahasa pemrograman
dan bahkan hampir semua bahasa pemograman telah digunakan untuk pembuatan sistem
pakar ini, diantaranya BASIC, C, Pascal, FoxPro, Delphi, PHP dan JAVA. Selain itu
ada juga bahasa pemrograman yang paling baik untuk sistem pakar yang memang khusus
dirancang untuk aplikasi Artificial Intelligence (AI) dan juga dapat digunakan
untuk membuat sistem pakar. Bahasa-bahasa tersebut adalah CLIPS, LISP dan PROLOG.
b. Shell Shell sistem pakar atau disebut juga generator merupakan paket perangkat
lunak yang khusus dibuat untuk membantu pembuatan sistem pakar. Shell merupakan
utility terpasang yang bisa mempermudah dan mempercepat proses pengembangan.
Beberapa generator sistem pakar sebenarnya adalah sejenis compiler. Sesudah kaidah
dimasukkan ke dalam editor, generator

Arhami, M. Konsep Dasar Sistem Pakar. Yogyakarta, Penerbit Andi. 2005, hal 170
(dikutip dari Suparman (1991)).
19

mengkompilasinya ke dalam kode terakhir, kemudian motor inferensi dan user


interface menggunakannya. 2.3.8 Kelebihan Sistem Pakar Beberapa kelebihan yang
diperoleh dari penggunaan sistem pakar adalah : a. Meningkatkan output dan
produktivitas. Sistem pakar dapat bekerja lebih cepat dari manusia. b. c.
Meningkatkan kualitas. Sistem pakar menyediakan nasihat yang konsisten dan dapat
mengurangi tingkat kesalahan. Handal (Reability). Sistem pakar tidak lelah/bosan,
juga konsisten dalam memberi jawaban. d. Merupakan arsip yang terpercaya dari
sebuah keahlian, sehingga pengguna seolah-olah berkonsultasi langsung dengan pakar,
meskipun sang pakar mungkin sudah pensiun. 2.3.9 Kelemahan Sistem Pakar Selain
memiliki kelebihan, sistem pakar juga memiliki kelemahan10 diantaranya adalah : a.
Masalah dalam mendapatkan pengetahuan, dimana

pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari
masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang
dimiliki oleh pakar berbeda-beda.

10

Arhami, Muhammad. Konsep Dasar Sistem Pakar, Yogyakarta, 2005, hal. 10-11
20

b.

Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah
sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan
pemeliharaannya.

c.

Sistem pakar tidaklah 100% bernilai benar. Oleh karena itu perlu diuji ulang secara
teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor
dominan.

2.3.10 Alasan Pengembangan Sistem Pakar Ada beberapa alasan mendasar mengapa sistem
pakar dikembangkan diantaranya: a. Dapat menyediakan kepakaran setiap waktu dan di
berbagai lokasi. b. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan
seorang pakar. c. d. e. Seorang pakar akan pensiun atau pergi. Seorang pakar adalah
mahal. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile
environtment). untuk menggantikan seorang pakar11,

2.4 2.4.1

Analisa dan Perancangan Sistem Pengertian Analisa Sistem Tahap analisa sistem
dilakukan sebelum tahap desain

sistem dan tahap perancangan sistem. Tahap analisa merupakan tahap yang kritis dan
sangat penting, karena kesalahan yang

11

Arhami, Muhammad. Konsep Dasar Sistem Pakar, Yogyakarta, 2005, hal. 7-8
21

terjadi pada tahap ini akan mengakibatkan terjadinya kesalahan pada tahap
berikutnya. Analisa sistem adalah suatu penguraian dari suatu sistem informasi yang
utuh ke dalam bagian komponennya dengan maksud untuk mengidentifikasikan dan
mengevaluasikan permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang
diharapkan sehingga 12 dapat diusulkan perbaikkannya . 2.4.2 Tujuan Analisa Sistem
Tujuan dari analisa sistem adalah sebagai berikut : a. Agar dapat mengetahui
informasi apa saja yang dibutuhkan oleh pemakai sistem yang belum dapat dihasilkan
oleh sistem lama. b. Agar dapat menemukan kelemahan-kelemahan yang lama dan dapat
diusulkan perbaikkannya. 2.4.3 Pengertian Perancangan Sistem Perancangan sistem
adalah kegiatan untuk menentukan bagaimana suatu sistem akan menyelesaikan apa yang
harus diselesaikan, tahap ini menyangkut mengkonfigurasikan komponen-komponen
perangkat lunak dan perangkat keras suatu sistem, sehingga setelah instalasi atas
sistem akan benar-benar memuaskan rancang bangun yang telah ditetapkan pada akhir
tahap analisis sistem13. 2.4.4 Tujuan Perancangan Sistem Tujuan perancangan sistem
adalah : a.
12

Untuk memenuhi kebutuhan kepada pemakai sistem

Jogiyanto, HM., Analisis & Desain Sistem Informasi Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis, ANDI, 2005, Hal. 129 13 Ibid, Hal. 196 (dikutip dari
George M. Scott)
22

b.

Untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada
pemrogram komputer dan ahli-ahl teknik lainnya yang terlibat. Untuk mencapai tujuan
ini, analis sistem harus dapat

mencapai sasaran sebagai berikut : a. Perancangan sistem harus berguna, mudah


dipahami dan nantinya mudah digunakan b. Perancangan sistem harus dapat mendukung
tujuan utama sesuai dengan yang telah didefinisikan pada tahap perencanaan dan
analisis sistem. 2.5 2.5.1 Analisis dan Desain Berorientasi Objek Pengertian
Analisis dan desain berorientasi objek adalah metode untuk menganalisa dan
merancang sistem dengan pendekatan berorientasi objek. Objek diartikan sebagai
suatu entitas yang memiliki identitas, properti dan method atau behavior. Pada
analisa, identitas sebuah objek menjelaskan bagaimana seorang user membedakannya
dari objek lain, dan behavior objek digambarkan melalui event yang dilakukannya.
Sedangkan pada perancangan, identitas sebuah objek

digambarkan dengan cara bagaimana objek lain mengenalinya sehingga dapat diakses,
dan behavior objek digambarkan dengan operasi yang dapat dilakukan objek tersebut
yang dapat mempengaruhi objek lain dalam sistem.
23

2.5.2

Keuntungan Berikut ini adalah beberapa keuntungan dari analisis dan

desain berorientasi objek : 1. Merupakan konsep umum yang dapat digunakan untuk
memodelkan hampir semua fenomena dan dapat dinyatakan dalam bahasa umum (natural
language). Kata benda menjadi objek atau class, keterangan menjadi properti atau
atribut dan kata kerja menjadi behavior atau method. 2. 3. 4. Memberikan informasi
yang jelas tentang konteks dari sistem. Memudahkan untuk mencari hal yang akan
diubah. Membuat perubahan pada area lokal tidak berpengaruh pada modul yang lain.
2.6 Pengantar Basis Data Basis data adalah himpunan kelompok data yang saling
berhubungan dan diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah14. Merancang basis data merupakan suatu hal yang sangat
penting, karena pada basis data inilah basis pengetahuan yang menjadi “jantung”
sistem pakar akan disimpan. Kesulitan utama dalam merancang basis data adalah
bagaimana merancang sehingga basis data dapat memuaskan keperluan saat ini dan masa
datang. Pada perancangan konseptual akan menunjukkan

14

Fatansyah. Basis Data. Bandung, Informatika. 2007, hal 2.


24

entity dan relasinya berdasarkan proses yang diinginkan oleh suatu institusi.
Ketika menentukan entity dan relasinya

dibutuhkan analisis data tentang informasi yang ada dalam spesifikasi di masa
mendatang. Pada perancangan model konseptual, penekanan tinjauan dilakukan pada
struktur data dan relasi antar file. Pendekatan yang dilakukan pada perancangan
model konseptual adalah menggunakan model data relasional. Pada model data
relasional hubungan antar file direlasikan dengan kunci relasi (relation key), yang
merupakan kunci utama dari masing-masing file. Perancangan basis data yang tepat
akan menyebabkan paket program relasional akan bekerja secara optimal. 2.6.1 Entity
Relationship Diagram (ERD) Entity Relationship Diagram adalah satu set konsep dan
simbol grafis yang dapat digunakan untuk menciptakan skema konseptual 15.
memperlihatkan Diagram atau ER merupakan jaringan data yang yang menggambarkan
tentang

tersimpan dari suatu sistem serta menggambarkan hubungan antar entitas dalam suatu
sistem.

15

Kroenke, M, David. Database Processing Dasar-dasar, Desain dan Implementasi.


Erlangga. 2008. hal 38.
25

Entity Relationship Diagram terdiri dari komponenkomponen sebagai berikut : a.


Entitas Segala sesuau yang dapat dijelaskan dengan data,

sekelompok benda atau objek. Simbol : b. Atribut Menunjukkan karakteristik dari


setiap atau sesuatu yang menjelaskan entitas atau hubugan. Simbol : c. Relasi atau
hubungan Adanya hubungan yang terjadi antara satu atau lebih entitas. Simbol : d.
Penghubung Media yang menghubungkan atribut dengan kumpulan entitas dan kumpulan
entitas dengan relasi. Simbol : 2.6.2 Kardinalitas Kardinalitas merupakan tingkat
hubungan yang terjadi dilihat dari segi kejadian atau banyak faktornya hubungan
antara entitas pada ERD. Ada tiga kemungkinan hubungan-hubungan yang akan terjadi,
yaitu : a. Satu ke satu/one to one (1 : 1) Yaitu tingkatan hubungan dimana satu
kejadian entitas yang pertama hanya mempunyai hubungan dengan satu kejadian pada
entitas kedua dan sebaliknya.
26

Contoh :

b.

Satu ke banyak/one to many (1 : M) atau banyak ke satu many to one (M : 1) Yaitu


tingkatan hubungan dimana satu kejadian pada entitas yang pertama mempunyai
hubungan dengan satu atau lebih dari satu kejadian pada entitas kedua dan
sebaliknya. Contoh :

c.

Banyak ke banyak/many to many (M : N) Yaitu tingkat hubungan dimana lebih dari satu
kejadian pada entitas yang pertama mempunyai hubungan lebih dari satu kejadian pada
entitas kedua dan sebaliknya. Contoh :
27

2.5.3

Normalisasi Normalisasi merupakan teknik penyederhanaan relasi-

relasi yang ada pada suatu tabel dengan cara mendefinisikan ulang relasi ke dalam
dua atau lebih relasi supaya mempunyai struktur yang tepat dan lebih efektif . Pada
saat menormalisasi basis data, ada empat tujuan yang harus dicapai, yaitu : a. b.
c. Mengatur data dalam kelompok-kelompok, sehingga masingmasing kelompok hanya
menangani bagian kecil sistem. Meminimalkan jumlah data berulang dalam basis data.
Membuat basis data yang datanya diakses dan dimanipulasi secara cepat dan efisien
tanpa melupakan integritas data. d. Mengatur data sedemikian rupa sehingga ketika
17 16

memodifikasi data, Anda hanya mengubah pada satu tempat. Definisi dari tiap tahap
normalisasi : a) Bentuk tidak normal (Unnormalized) Bentuk ini merupakan data yang
akan direkam, tidak ada keharusan mengikuti format, dapat saja data tidak lengkap
atau terduplikasi.

16

Kroenke, M., David. Database Processing Dasar-dasar, desain dan implementasi,


Erlangga, 2008, Hal. 130 17 Paryudi, I & S, Janner. Basis Data. Yogyakarta,
Penerbit Andi. 2006, hal 77
28

b)

Bentuk normal pertama (1NF) Bentuk normal pertama mempunyai ciri, yaitu setiap data
dibentuk dalam file data, data dibentuk dalam satu record demi satu record dan
field-field.

c)

Bentuk normal kedua (2NF) Bentuk normal kedua mempunyai syarat, yaitu bentuk data
telah memenuhi kriteria bentuk normal pertama. Atribut bukan kunci harus bergantung
secara fungsi pada kunci utama atau primary key.

d)

Bentuk normal ketiga (3NF) Untuk menjadi bentuk normal ketiga, maka relasi haruslah
dalam bentuk normal kedua dan semua atribut bukan primer tidak punya hubungan yang
transitif. Dengan kata lain, semua atribut bukan kunci tergantung secara fungsional
hanya pada kunci utama.

e)

Bentuk normal Boyce-Code (BCNF) Bentuk normal Boyce-Code (BCNF) adalah versi 3NF
yang lebih teliti dan berhubungan dengan tabel relasional yang mempunyai banyak
kunci kandidat, kunci kandidat gabungan dan kunci kandidat yang saling tumpang
tindih. BCNF didasarkan pada konsep penentu. Sebuah kolom penentu adalah kolom
dimana kolom-kolom lain sepenuhnya

tergantung secara fungsional. f) Bentuk normal keempat (4NF) Normalisasi bentuk


keempat didasarkan pada konsep ketergantungan multivalue. Sebuah ketergantungan
29

multivalue terjadi ketika dalam sebuah tabel relasional yang mengandung setidaknya
tiga kolom, satu kolom mempunyai banyak baris bernilai sama, tetapi kolom lain
bernilai berbeda. g) Bentuk normal kelima (5NF) Bentuk normal kelima dapat
dipandang sebagai perluasan dari 4NF, dalam arti saat ini multi-value dependency
tidak lagi bersifat independent atau melainkan menjadi bersifat dependent. 2.7
2.7.1 Pengantar Komputer Pengertian Komputer Komputer berasal dari bahasa latin,
yaitu computare yang mengandung arti menghitung. Karena luasnya bidang garapan ilmu
komputer, para pakar dan peneliti sedikit berbeda dalam mendefinisikan komputer.
Pengertian computer menurut Hamacher : “Komputer adalah mesin penghitung elektronik
yang cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai
dengan program yang tersimpan di memorinya, dan menghasilkan output berupa
informasi.” Blissmer mendefiniskan komputer sebagai berikut : “Komputer adalah
suatu alat elektronik yang mampu melakukan beberapa tugas sebagai berikut : 1.
Menerima input 2. Memproses input tadi sesuai dengan programnya 3. Menyimpan
perintah-perintah dan hasil dari pengolahan
30

4.

Menyediakan output dalam bentuk informasi.”

Sedangkan Fuori berpendapat, “…komputer adalah suatu pemroses data yang dapat
melakukan perhitungan besar secara cepat, termasuk perhitungan aritmatika dan
operasi logika, tanpa campur tangan dari manusia.” Sehingga secara umum komputer
dapat didefinisikan sebagai alat elektronik yang dapat menerima input data,
mengolah data, dan memberikan hasil dalam bentuk informasi dengan menggunakan suatu
program yang tersimpan di memori komputer dan juga dapat menyimpan program dan
hasil pengolahan yang bekerja secara otomatis sehingga akan mempermudah pekerjaan
manusia18. Untuk mewujudkan konsepsi komputer sebagai pengolah data dan
menghasilkan suatu informasi, maka diperlukan sistem komputer (computer system)
yang elemennya terdiri dari hardware, software dan brainware. Ketiga elemen sistem
komputer tersebut harus saling berhubungan dan membentuk kesatuan untuk mencapai
suatu tujuan. Hardware tidak akan berfungsi apabila tanpa software, demikian juga
sebaliknya. Dan keduanya tiada bermanfaat apabila tidak ada manusia

(brainware) yang mengoperasikan dan mengendalikannya.

18

Madcoms. Panduan Lengkap untuk Teknisi Komputer. Yogyakarta. 2008, hal. 1


31

2.7.2

Elemen Komputer Elemen yang sangat berperan sangat penting dalam

penggunaan komputer adalah : a. Hardware (Perangkat Keras) Perangkat keras komputer


adalah semua bagian fisik komputer, dan dibedakan dengan data yang berada di
dalamnya atau yang beroperasi di dalamnya, dan dibedakan dengan perangkat lunak
yang menyediakan instruksi untuk 19 perangkat keras dalam menyelesaikan tugasnya .
Perangkat keras juga juga didefinisikan, suatu alat yang bisa dilihat dan diraba
oleh manusia secara langsung yang mendukung proses komputerisasi20. b. Software
(Perangkat Lunak) Perangkat lunak adalah istilah umum untuk data yang diformat dan
disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai
informasi yang bisa dibaca dan ditulis oleh komputer21. Dengan kata lain, perangkat
lunak adalah bagian dari sistem komputer yang tidak berwujud fisik.

19 20

http://id.wikipedia.org/wiki/Perangkat_keras Madcoms. Panduan Lengkap untuk Teknisi


Komputer. Yogyakarta. 2008, hal. 1 21 http://id.wikipedia.org/wiki/Perangkat_lunak
32

c.

Brainware (Manusia) Brainware adalah bagian penting dari sebuah sistem komputer.
Perangkat keras tidak dapat bekerja tanpat perangkat lunak. Sementara perangkat
keras dan perangkat lunak memerlukan brainware untuk menggunakannya. Secara
harafiah, brainware dapat diartikan sebagai

perangkat intelektual (dalam hal ini otak manusia) yang mengoperasikan dan
mengeksplorasi kemampuan dari perangkat keras dan perangkat lunak yang ada22. 2.8
2.8.1 Pengenalan Java Sejarah Java Java adalah bahasa pemrograman berorientasi
objek yang dikembangkan oleh Sun Microsystems yang dipimpin oleh James Gosling dan
Patrick Naughton sejak tahun 1991, sebuah perusahaan besar di Amerika Serikat.
Bahasa ini dikembangkan dengan model yang mirip dengan C++ dan Smalltalk, namun
dirancang agar lebih mudah dipakai dan multiplatform, yaitu dapat dijalankan di
berbagai jenis sistem operasi dan arsitektur komputer. Pada mulanya bahasa ini
diberi nama “Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang
berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan bahasa
pemrograman yang telah ada sebelumnya,

22

Madcoms. Panduan Lengkap untuk Teknisi Komputer. Yogyakarta. 2008, hal. 6


33

maka Sun menggantinya dengan Java. Nama Java sendiri terinspirasi pada saat mereka
sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak
sengaja salah satu dari mereka menyebutkan kata Java yang mengandung arti asal
bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman
tersebut dengan nama Java. 2.8.2 Pemrograman Berorientasi Objek Java merupakan
bahasa pemrograman yang murni berorientasi objek. Konsep pemrograman berorientasi
objek adalah konsep menggabungkan antara data dan fungsi atau prosedur menjadi
sebuah kesatuan unit, unit ini dikenal dengan nama class (kelas) dan instance atau
implementasi dari class adalah object (objek). Dalam konsep pemrograman
berorientasi objek, kita melihat program sebagai sekumpulan objek yang memuat
perintah, nilai, metode dan banyak hal lainnya seperti layaknya objek pada
kehidupan nyata. Dengan konsep tersebut, kita akan dimudahkan dalam pembuatan
program yang kompleks dan dapat berkembang setiap saat. Selain itu, modifikasi
program dapat dengan mudah dilakukan karena kita hanya cukup menambahkan objek yang
diinginkan, atau menghapus objek yang tidak dibutuhkan. Tiga berorientasi
Polymorphism. pilar objek utama adalah dalam konsep pemrograman dan Encapsulation,
Inheritance
34

a.

Encapsulation Encapsulation atau Enkapsulasi adalah konsep

membungkus berbagai data dan metode dalam satu class. Namun, tidak semua data atau
metode di dalamnya dapat dimanfaatkan. Kita bisa memilah-milah data atau metode
tertentu saja yang dapat dipanggil oleh class lain (public), sedangkan metode
lainnya hanya dapat diakses dalam satu class (private). Dengan membuatnya tidak
bisa diakses dari luar, sama halnya dengan menyembunyikan proses dalam class. Class
lain hanya mengetahui output yang dihasilkan dari class tersebut jika dijalankan
pada proses input tertentu. b. Inheritance Inheritance atau pewarisan merupakan
konsep penurunan sifat, properti ataupun metode yang dimiliki oleh class yang lebih
atas (superclass) pada class dibawahnya (subclass). Dengan memanfaatkan konsep
pewarisan ini dalam pemrograman, kita hanya perlu mendefinisikan karakteristik yang
spesifik dimiliki oleh suatu class, sementara semua karakteristik yang lebih umum
akan didapatkan dari class dimana ia diturunkan. Dalam pemrograman, hal ini akan
menghemat jumlah baris kode yang harus ditulis, sekaligus meningkatkan reusability
atau

penggunaan kembali dari kode tersebut. c. Polymorphism Polymorphism berasal dari


bahasa Yunani yang berarti banyak bentuk. Konsep ini memungkinkan digunakannya
suatu interface yang sama untuk memerintah suatu objek agar
35

melakukan suatu aksi atau tindakan yang mungkin akan memberikan hasil akhir yang
serupa, tapi melalui proses yang berbeda. Dalam konsep yang lebih umum seringkali
polymorphism disebut dengan istilah ”satu interface banyak aksi”.

2.9

Netbeans IDE Netbeans IDE (Integrated Development Environment)

adalah sebuah program/alat bantu yang terdiri atas Editor, Compiler, Debugger dan
Design yang terintegrasi dalam satu aplikasi . Editor Netbeans cukup luar biasa
untuk membuat aplikasi Java, karena didukung dengan fasilitas drag and drop
komponen. Yaitu dukungan Rapid Application Development (pemrograman berbasis
visual). Satu hal lagi yang paling penting adalah produk ini bersifat free atau
gratis yang dibuat oleh Sun Microsystem. 2.10 Pengenalan UML24 Pemodelan (modeling)
adalah proses merancang peranti lunak (software) sebelum melakukan pengkodean
(coding). Model peranti lunak dapat dianalogikan seperti pembuatan blueprint pada
pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah
penting, karena kita tidak dapat memahami sistem semacam itu secara menyeluruh.
23

23

Huda, Miftahul, 2010, Membuat Aplikasi Database dengan Java, MySQL, dan Netbeans,
Jakarta : Elex Media Komputindo, hal. 23 24 Ibid, hal. 137
36

Semakin kompleks sebuah sistem, semakin penting pula penggunaan teknik pemodelan
yang baik. 2.10.1 Pengertian UML Unified Modeling Language (UML) adalah sebuah
bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem peranti lunak. UML adalah salah satu alat bantu yang
sangat handal di dunia pengembangan sistem yang berorientasi objek . Secara konsep
dasar, UML mendefinisikan delapan diagram sebagai berikut. a. Use Case Diagram
Menggambarkan fungsionalitas dari sebuah sistem (apa fungsinya), yang
mempresentasikan sebuah interaksi antara aktor dengan sistem (sebuah pekerjaan).
Misalnya menambah data/membuat laporan. Aktor adalah sebuah entitas manusia atau
mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
b. Class Diagram Class adalah sebuah spesifikasi objek yang memiliki
atribut/properti dan layanan/fungsionalitas (metode/fungsi). Class diagram
menggambarkan struktur dan deskripsi kelas, package, dan objek beserta hubungan
satu sama lain, seperti containment, pewarisan, asosisasi, dan lain-lain. Kelas
memiliki tiga hal pokok: Nama (dan stereotype), Atribut, dan Metode.
25

25

Munawar, Pemodelan Visual dengan UML, Yogyakarta : Graha Ilmu, hal. 17


37

c.

Statechart Diagram Diagram ini menggambarkan berbentuk segi transisi empat dan
perubahan sudut

keadaan suatu objek akibat dari stimulus/input yang diterimanya. State digambarkan
dengan

membulat dan memiliki nama sesuai kondisinya. Transisi antar state umumnya memiliki
d. Activity Diagram Diagram ini menggambarkan berbagai aktivitas dalam sistem yang
sedang dirancang, mulai dari titik awal, melalui kondisi (decision) yang mungkin
terjadi, kemudian sampai titik akhir. Diagram ini juga mampu menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi. Diagram ini tidak
menggambarkan perilaku/proses internal sebuah sistem maupun interaksi antara
subsistem, tetapi lebih menggambarkan prosesproses dan jalur-jalur aktivitas secara
umum (global). e. Sequence Diagram Diagram ini menggambarkan interaksi antar objek
di dalam dan di sekitar sistem berupa pesan yang digambarkan terhadap waktu.
Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal
(objek-objek yang terkait). Biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk
menghasilkan output tertentu. kondisi yang merupakan syarat

terjadinya transisi yang bersangkutan.


38

f.

Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar

objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing
objek dan bukan pada waktu penyampaian pesan. g. Component Diagram Diagram ini
menggambarkan struktur dan hubungan antar komponen peranti lunak, termasuk
ketergantungan (depency). Diantaranya modul berisi kode, baik berisi source code,
binary, library, executable. h. Deployment Diagram Deployment diagram menggambarkan
detail bagaimana komponen dibentuk dan didistribusikan (deploy) dalam

infrastruktur sistem. Dimana komponen akan terletak pada mesin, server atau peranti
keras apa. Bagaimana jaringan pada lokasi tersebut tersebut, misalnya server,
client dan hal-hal lain yang bersifat fisik. 2.11 MySQL Server 5.1 MySQL adalah
sebuah perangkat lunak sistem

manajemen basis data SQL atau yang dikenal dengan DBMS (Database Management
System), database ini multithread, multiuser26.

26

Huda, Miftahul, 2010, Membuat Aplikasi Database dengan Java, MySQL, dan Netbeans,
Jakarta : Elex Media Komputindo, hal. 181
39

Kekuatan MySQL tidak ditopang oleh sebah komunitas, seperti Apache yang
dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh
pemilik masing-masing, tetapi MySQL didukung penuh oleh sebuah perusahaan

profesional dan komersial, yakni MySQL AB dari Swedia. MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License
(GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus yang
bersifat khusus. Sebagai database server, MySQL dapat dikatakan lebih unggul
dibandingkan database server lainnya, terutama dalam kecepatan. Berikut ini
beberapa keistimewaan MySQL, antara lain : a. Portability MySQL dapat berjalan
stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X
Server, Solaris, Amiga dan masih banyak lagi. b. Multiuser MySQL dapat digunakan
oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
c. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnet mask,
nama host, dan izin akses user dengan sistem perizinan yang mendetail serta
password yang terenkripsi.
40

d.

Scalability dan Limits MySQL mampu menangani database dalam skala besar,

dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris.
Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap
tabelnya.

Anda mungkin juga menyukai