BAB II Sistem Pakar
BAB II Sistem Pakar
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
1 2
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
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.
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.
Pengetahuan disimpan dalam komputer berupa komponen yang disebut knowledge base.
Pengetahuan ini dibedakan menjadi dua, yaitu fakta dan rule.
10
d.
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
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.
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.
f.
g.
h.
i.
Pengendalian,
yaitu
mengatur
tingkah
laku
suatu
Durkin, John. Expert System and Development, New York: Macmillan, 1995, hal 476-477
17
a.
khusus, pendapat, keahlian dan metode serta kemampuan untuk menggunakannya. Pakar
dapat memberikan nasehat dan
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
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
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
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
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
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
Contoh :
b.
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
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
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
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.
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
18
2.7.2
19 20
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
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.
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
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
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
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
f.
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.