BAB II TINJAUAN PUSTAKA
II.1.Sistem Sekelompok elemen-elemen yang trintegerasi dengan tujuan yang sama untuk mencapai tujuan organisasi terdiri dari sejumlah sumber daya manusia, material, mesin, uang, dan informasi.Sumber daya tersebut berkerjasama menuju tercapainya suatu tuajuan tertentu yang di tentukan oleh pemilik atau manajemen (Yakub ; 2012 :1).
II.1.1. Klasifikasi Sistem Sistem merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada dalam sistem tersebut. Oleh karna itu, sistem dapat di kasifikasikan dari beberapa sudut pandang diantaranya (Tata sutabri ; 2005 ; 13). a. Sistem abstrak dan sistem fisik Sistem abstrak dalah sistem yang berupa pemikiran atau ide –ide yang tidak tampak secara fisik, misalnya sistem teologia, yaitu sistem yang berupa pemikiran hubungan antara manusia dengan tuhan,sedangkan sistem fisik merupakan system sistem yang ada secara fisik, misalnya sistem computer,sistem produksi, sistem penjualan, sistem adminitrasi personalia, dan lain sebagainya (Tata sutabri ; 2005 ; 13). b. Sistem alamiah dan sistem buatan manusia 12
13
Sistem alamiah dan sistem buatan manusia adalah sistem yang terjadi melalui proses alam,tidak dibuat oleh manusia, misalnya sistem perputaran bumi, terjadinya siang, malam, pergantian misim. Seangkan sistem buatan manusia merupakan system yang melibatkan interaksi manusia dengan mesim, yang disebut human machine system. Sistem informasi bebrasis computer merupakan contoh human machine system karena menyangkut penggunaan komputer yang yang berinteraksi dengan manusia (Tata sutabri ; 2005 ; 13). c. Sistem terbuka dan sitem tertutup Sitem terbuka dan sistem tertutup merupakan sistem yang tidak berhubunga dan tidak terpengaruh oleh lingkungan luarnya. Sistem ini berkerja seara otomatis tanpa campuran tangan pihak luar. Sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkunhgan
luarnya.
Sistem
ini
menerima
masukan
dan
menghasilkankeluaran untuk subsitem lainnya (Tata sutabri ; 2005 ; 13).
II.2. Pakar Seorang induvidu yang memiliki pengetahuan khusus, pemahaman, pengalaman, dan metode yang digunakan untuk memecahkan persoalan dalam bidang tertentu (Rika rosnelly ; 2012 ; 10).
14
II.2.1. Sistem Pakar II.2.2. Pengertian Sistem Pakar Sistem pakar merupakan suatu aplikasi pertama yang muncul dari riset awal dalam bidang kecerdasan buatan. Penjelasan dari penalaran sistem pakar merupakan salah satu aplikasi pertama dari generasi bahasa alami. Hal ini disebabkan oleh kebutuhan untuk penjelasan adalah nyata, generasi dari aplikasi basis pengetahuan seperti penalaran harus secara relative dan secara langsung .Namun demikian manakala penjelasan yang bersifat universal telah diakui sebagai suatu keinginan fungsionalitas dalam sistem pakar. Generasi bahasa alami belum mengambil suatu posisi penting dalam sistem pakar. Generasi bahasa alami belum mengambil suatu posisi dalam sistem pakar. Sebagai contoh, dalam buku teks karangn Girratano dan Riley yang popular tentang sistem pakar (Rika rosnelly ; 2012 :105-106).
II.2.3. Konsep Umum Sistem Pakar Pengetahuan yang dimiliki sistem pakar direpsentasikan dalam beberapa cara. Salah satu metode yang paling umum digunakan adalah tipe rules mengunakan format IF THEN. Banyak sistem pakar yang dibangun dengan mengekspresikan pengetahuan dalam bentuk rules. Bahkan, pendekatan berbasis pengetahuan (knowlage-based approah) untuk membangun sistem pakar telah mematahkan pendekatan awal yang digunakan pada sekitar tahun 1950-an dan 1960-an yang menggunakan teknik penalaran (reosoning)
yang tidak
mengandalkan pengetahuan. Pengetahuan yang tidak tertulis yang dimiliki oleh
15
seorang pakar harus diekstrasi melalui wawancara secara ekstensif oleh knowlage engineer. Proses pengembanga sistemm pakar yang berhubungan dengan perolehan pengetahuan pakar
maupun sumber lain
dan kodingnya disebut
sebagai knolage engineering yang dilaksanakan oleh knolwlage engineer (Rika rosnelly ; 2012 : 7).
II.2.4.Karakteristik Sistem Pakar Sistem pakar umumnya diarancang untuk memenuhi beberapa karatristik umum berikut ini: 1. Kinerja sanagat baik (hig performance). Sistem harus mampu memberikan respon berupa saran (advice) dengan tingkat kualitas yang sama dengan seorang pakar atau melebihinya (Rika rosnelly ; 2012 ;20). 2. Waktu respon yang baik (adequate respon time). Sistem juga harus mampu berkerja dalam waktu yang sama baiknya (reasonable) atau lebih cepat dibandingkan dengan seorang pakar dalam
menghasilkan
keputusan (Rika rosnelly ; 2012 ;20). 3. Dapat diandalkan (good reliability). Sistem harus dapat diandalkan dan tidak mudah rusak / crash (Rika rosnelly ; 2012 ;20). 4. Dapat dipahami (understandable). Sistem harus mampu menjlaskan langka-langka penalaran yang dilakukan seperti seorang pakar (Rika rosnelly ; 2012 ;20).
16
II.2.5. Kelebihan Sistem Pakar Sistem pakar memiliki beberapa fitur menarik yang merrupakan kelebihannya seperti: 1. Meningkatkan ketersediaan (increased availability). Kepakaran atau ahli menjadi tersedia dalam sistem kamputer. Dapat dikatakan bahwa sistem pakar merupakan produksi kepakaran secara masal (massproduction) (Rika rosnelly ;2012 ; 5-6) . 2. Mengurangi biaya (reduced cost). Biaya yang diperlukan untuk menyediakan keahlian per satu orang user menjadi berkurang (Rika rosnelly ;2012 ; 5-6) . 3. Mengurangi bahaya (reduced danger). Sistem pakar dapat digunakan di lingkungan yang mungkin berbahaya bagi manusia (Rika rosnelly ;2012 ; 5-6) . 4. Permanen (permanence). Sistem pakae dan pengetahuan yang terdapat d dalamnya bersifat lebih permanen dibandingkan manusia yang dapat merasa lelah, bosan, dan pengetahuannya hilang saat sang pakar meninggal dunia (Rika rosnelly ;2012 ; 5-6) . 5. Keahlian multiple (multiple expertise). Pengetahuan dari beberapa pakar dapat di muat ke dalam sistem dan berkerja secara simultan dan kontinyu menyelesaikan suatu masalah setiap saat. Tingkat keahlian atau pengetahuan yang digabungkan dari beberapa pakar dapat lebih pengetahuan satu orang pakar (Rika rosnelly ;2012 ; 5-6) .
17
6. Meningkatkan
kehandalan
(increased
reliability).
Sistem
pakar
meningkatkan kepercayaan dngan memberikan hasil yang benar sebagai alternative pendapat dari seorang pakar atau sebagai penengah jika terjadi konfik antara beberapa pakar.Namun hal tersebut tidak berlaku jika sistem dibuat oleh salah seorang pakar, kecuai jika sang pakar melauakn kesalahan yang mungkin terjadi pada saat tertekan atau stres (Rika rosnelly ;2012 ; 5-6) .
II.2.6. Pakar (Expert) Pakar atau ahli (expert) didefinisikan sebagai seseorang yang memiliki pengetahuan atau keahlian khusus yang tidak dimiliki oleh kebanyakan orang.Seorang pakar dapat memecahkan masalah yang tidak mampu dipecahkan banyak orang.Dengan kata lain, dapat memecahkan suatu masalah dengan lebih efesien namun bukan berarti lebih murah.Pengetahuan yang dimuat kedalam sistem pakar dapat berasal dari seorang pakar atau pun pengetahuan yuang bersal dari buku, jurnal, majalah, dan dokumentasi yang di publikasikan lainnya, serta orang yang memiliki pengetahuan meskipun bukan ahli.Istilah sistem pakar (Expert system), sering di sinonimkan dengan sistem berbasis pengetahuan (knowlage-based system) atau sistem pakar berbasis pengetahuan (knowlagebased expet system) (Rika rosnelly ;2012 : 3).
18
II.2.7. Sistem Pakar Forward Chaining Sistem
Pakar adalah program computer yang merepsentasikan dan
melakukan penalaran dengan pengetahuan dari seorang pakar dalam biadang tertentu dengan pandangan untuk memecahkan masalah atau memberikan nasehat [1]. Pakar manusia (human expert) adalah seoarang yang mempunyai penguasaan yang mendalam terhadap satu masalah. Berdasarkan pengalamannya, pakar manusia mengembangkan kemampuannya dalam memecahkan masalah secara lebih efesien dan efektif. Sistem pakar juga harus dapat menjelaskan alas an dari setiap langkah dalam mencapai susatu tujuan (goal) dan menjawab pertanyaan tentang solusi yang dicapainya, sepertin halnya seorang pakar manusia (Sumber ; Riskadewi dan Hendrik). Sistem pakar forward chaining berbasisb aturan dapat di modelkan seperti Gambar I: Working Memory (fact)
Knowlage Base (Rules)
conclusion
Inference Engine Fact
Gambar II.1. Model Berbasis Aturan (Sumber ; Riskadewi dan Hendrik).
19
II.3. Inference Engine (Mesin infernsi ) Mesin infernsi merupakan oatak dari sebuah sistem pakar dan dikenal juga dengan sebutan control structure (strukttur control) atau rule interprer (dalam sistem pakar berbasi kaidah). Komponen ini mengandung mekanisme pola piker dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi disini adalah processor pada sistem pakar yang mencocokan bagian kondisi dari rule yang tersimpan didalam knowlage base dengan fakta yang tersimpan di working memory (Rika rosnelly ; 2012 ; 14).
II.4.Metode Inferensi II.4.1. Forward Chaining Forward chaining merupakan percobaan fakta atau pernyatan dimulai dari bagian sebelah kiri (IF dahulu). DEngan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaranhipotesis. Contoh aturan-aturan ditunjukan pada tabel II.1. (Rika rosnelly ; 2012 :57-58) . Tabel II.1. Aturan-aturan : NO R-1 R-2 R-3 R-4 R-5 RR-7 R-8 R-9 R-10
Aturan IF A & B THEN C IF C THEN D IF A & E THEN F IF THEN G IF F & G THEN D IF G & E THEN H IF C & E THEN I IF I & A THEN J IF G THEN J IF J THEN K
Sumber (Rika rosnelly ; 2012 :57-58)
20
Contoh : 1. Pada tabel 1 terlihat aturan yang tersimpan dalam basis data pengetahuan. Fakta awal yang diberikan hanya : A & F ( artinya A dan F bernilai benar). Ingin dibuktikan apakah K bernilai benar (hipotesis : K)? 2. Langkah-langkah inferensi adalah sebagai berikut : 3. Dimulai dari R-1. A merupakan fakta sehingga bernilai benar, sedangkan B belum bias diketahui kebenarannya, sehingga C pun juga belum bias diketahui kebenarannya. Oleh karna itu kita tidak mendapatkan informasi apapun pada R-1 ini. Sehingga keta menuju ke R-2. 4. Pada R-2, kita tidak mengetahuin informasi apapun tentang C, sehingga kita juga tidak bias memastikan kebenaran D. Oleh karna itu kita tidak mendapat informasi apapun pada R-1 ini. Sehingga kita menuju R-3 5. Pada R-3, baik A maupun C merupakan fakta sehingga jelas benar . Dengan demikian F sebagai konsekuen
juga ikut benar. Sehingga
sekarang kita mempunyai fakta baru yaitu F. Karana F bukan hhipotesis yang hendak kita buktikan (=K), maka perluasan kita lanjut ke R-4. 6. Pada R-4, A adalah fakta sehingga bernilai benar. Dengan demikian G sebagai konsekuen juga ikut benar. Shingga kita mempunyai fakta baru yaitu G. Karena Gbukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjut ke R-5. 7. Pada R-5 baik F maupun Gbernilai benar berdasarkan aturan R-3, dan R-4. Dengan demikian D sebagai konsekuenn juga ikiut benar. Sehingga kita
21
sekarang mempunyai fakta baru yaitu D. Karena D bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjut ke R-6. 8. Pada R-6, baik A maupun G adalah benar berdasarkan fakta dan R-4. Dengan demikian H sebagai konsekuen juga ikut benar. Shingga sekarang kita memmpunyai fakta baru yaitu H. Karena Hbukan hipotesis yang hendak kita buktikan (=K),maka penelusuran kita lanjutkan ke R-7. 9. Pada R-7, meskin pun H benar berdasarkan R-6, namun kita tidak tahu kebnaran C,Shingga I pun juga tidak bias diketahui kebenarannya. Oleh karna itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga kita menuju ke R-8. 10. Pada R-8, meski pun A benar karena Fakata, namun kita tidak tahu kebenaran I, sehingga I pun juga belum biasa diketahui kebenarannya. Oleh karna itu kita tidak mendapatkan informasi apapun pada R-8 ini. Sehingga kita menuju ke R-9. 11. Pada R-9, J bernila benar karena G benar berdasarkan R-4.Penelusuran lanjut ke R-10. 12. Pada R-10, Kbernilai benar karena G berdasarkan R-9. Karena H sudah merupakan hipotesis yang hendak kita buktikan (=K), maka terbukti bahwa K bernilai benar (Rika rosnelly ; 2012 :57-58). Tabel muncul fakta baru pada saat infrensi terlihat pada tabel II.2. Sedangkan alur infernsi terlihat pada tabel II.1.
22
Tabel II.2.Fakta Baru :
Aturan
Fakta Baru
R-3 R-4 R-5 R-6 R-9 R-10
F G D H J K
Sumber:(Rika rosnelly ; 2012 : 59) Aturan-aturan Forward Chaining II.1. : R10 J
R9 R4
Fakta
G
A
R3
R5 F D
Fakta
R6
E
H
Gambar II.2. Aturan Forward Chaining Sumber (Rika rosnelly ; 2012 : 60)
II.4.2.Backward Chaining
K
23
Bacward Chaining merupakan pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Denagan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut dicari harus diacari fakta-fakta yang ada dalam basis pengetahuan (Rika rosnelly ; 2012 : 60). Contoh II : Seperti halnya pada contoh 1 pada tabel 1 terlihat ada 10 atran yang tersimpan dalam basis pengetahuan . Fakta awal yang diberikan hanya: A & F (artinya : A dan F bernilai benar) (Rika rosnelly ; 2012 : 60). Ingin dibuktikan apakah K bernilai benar (hipotesis : K)? 1. Langkah-langkah inferensi adalah sebagai berikut: 2. Pertama-tama kita cari terlebih dahulu mulai dari R-1, aturan mana yang memiliki konsekuen K. Ternyata setelah ditelusur, aturan dengan konsekuen K baru di temukan pada R-10. Untuk membuktikan bahwa K benar, maka perlu dibuktikan bahwa J benar. 3. Kita cari aturan yang memiliki konsekuen J. Kita mulai dari R-1, dan ternyata kita baru menemukan aturan dengan konsekuen J pada R-8. Untuk itu membuktikannya bahwa J benar, maka perlu dibuktikan bahwa I dan A benar. Untuk membuktikan kebenaran I cari aturan dengan konsekuen I, ternyata ada di R-7. 4. Untuk membuktikan I benar di R-7, kita perlu buktikan bahwa C dan H benar. Untuk itu kita pun perlu mencari aturan dengan konsekuen C, dan ada di R-1.
24
5. Untuk mebuktikan C benar di R-1, kita perlu membuktikan bahwa A dan B benar. A jelas benar karena A adalah fakta. Sedangkan B kita tidak bias membuktikan kebenarannya, karena selain bukan fakta, didalam basis pengetahuan juga tidak ada aturan dengan konsekuren dengan aturan B. Dengan demikian maka dari penalaran ini kita tidak bias buktikan kebenaran dari hipotesis K. Namun demikian, kita masih punya alternative lain untuk melakukan penalaran. 6. Kita lakukan backraking. Kita ulangi lagi dengan pembuktian kebenaran C dengan mencari aturan lain dengan konsekuen C.Ternyata tidak ditemukan. 7. Kita lakukan lagi dengan backtracking lagi dengan mencari aturan dengan konsekuen I, ternyata juga tidak ada. 8. Kita lakukan backtracking lagi dengan mencari aturan dengan konsekuen J, ternyata kita temukanpada R-9. Sehingga kita perlu buktikan kebenaran G. 9. Kita mendapat R-4 dengan konsekuen G.Kita buktikan kebenaran A. Karena A fakta, maka terbukti bahwa G benar. Dengan demikianberdasarkanpenalaran ini bias dibuktikan bahwa K benar (Rika rosnelly ; 2012 : 61). Alur inferensi terlihat pada Gambar II.2.:
25
Fakta R10 K
J
I R8
C
A
R7 A
R1 B
H
Tidak ditemukan
(A) Pertama : Gagal Fakta R10 K
R9 J
G
R4
A
Gambar II.3.Backward Chaining Sumber (Rika rosnelly ; 2012 : 62)
II.5. Chain Saw Chainsaw merupakan alat penebang pohon mekanis yang dapat digunakan secara aman jika user mematuhi kaidah penggunaannya dan sebaliknya. Chainsaw terdiri dari tiga bagian, diantaranya body, engine, bilah dan rantai. Dalam pemakaian chainsaw ini dibutuhkan keahlian yang khusus agar tidak terjadi kecelakan kerja ( Moh Arif Rohmatullah).
26
Chain saw digunakan untuk membuat takik rebah dan takik balas, dan untuk memotong bagian-bagian kayu lainnya, baik dalam kegiatan pembersihan cabang, penebangan maupun pembagian batang ( Moh Arif Rohmatullah). Pada dasarnya gergaji terdiri dari 3 bagian utama, yaitu mesin penggerak, bilah pemadu (penghantar) dan rantai gergaji. Pada tahun 1970-an jenis gergaji yang banyak digunakan adalah gergaji buatan Amerika, seperti Mculloch, Homelite, Pioneer, Echo dsb, tetapi merek-merek tersebut sebenarnya kurang cocok untuk postur orang Asia termasuk Indonesia, disamping itu jenis tersebut bobotnya terlalu berat. Gergaji rantai buatan Eropa merupakan gergaji yang relatif ringan dan kecil, sehingga relatif sesuai untuk ukuran tubuh orang Asia. Merekmerek gergaji buatan eropa antara lain adalah STIHL, Dolmar, Hosquarna, Uran, dsb. Pada saat ini model yang paling umum adalah gergaji yang terbuat dari bahan ringan, kekuatan mesin berkisar antara 10 – 12 HP dan panjang bilah penghantarnya antara 24 – 30 inchi ( Moh Arif Rohmatullah).
II.6. Macromedia Dreamweaver 8 Macromedia Dreamweaver 8 adalah sebuah sebuah perangkat lunak aplikasi untuk mendesain dan membuat halaman web. Dengan menggunakan Dreamweaver 8, ketika membuat halaman web, tidak perlu lagi mengetik kodekode HTML atau kode-kode lainnya secara manual. Cukup melakukan klik beberapa kali, maka halaman web yang di inginkan sudah jadi. Macromedia Dreamweaver 8 dapat membuat tabel hanya dengan melakukan dua kali klik saja.
27
Macromedia Dreamweaver 8 akan menciptakan kode-kode HTML yang sesuai untuk membuat tabel yang diinginkan. Selain HTML, Macromedia Dreamweaver 8 juga mendukung CSS, JavaScript, PHP,ASP dan bahasa pemograman lainnya untuk membuat web (Arief Ramadhan, S.Kom ; 2007 : 2).\
II.6.1. PHP (Hypertext Preprocessor) PHP adalah sebuah bahasa pemograman yang didisain agar dapat disisipkan dengan mudah ke halamn HTML. PHP memberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan di berbagai jenis platform. Pada awalnya memang PHP di sistem UNIX dan varian, namun kini dapat berjalan dengan lancer dilingkungan sistem oprasi Windows. Suatu nilai tambah yang luar biasa karena proses
pengembangan program berbasis web dapat
dilakukan lintas sistem oprasi (Agus Bahtiar ; 2008 :16) . II.7. PHPmyAdmin PHPmyAdmin adalah sebuah program untuk mengolah database yang ditulis dengan mengunakan database
MSQL. Hampir semua virtual server
mendukung database MYSQL. Dengan menggunakan fasilitas yang ada pada PHPmyAdmin, programmer bias melakukan manipulasi dengan mudah tanpa harus
direpotkan
dengan
menghafalkan
perintah-perintah
MYSQL
mengunakan database MYSQL berbasis DOS (Agus Bahtiar ; 2008 ; 40).
jika
28
II.8. Pengertian Perancangan Basis Data Basisdata, menurut Stephens dan Plew (2000), adalah mekanisme yang digunakan untuk menyimpan informasi atau data, Informasi adalah sesuatu yang kita gunakan sehari-hari untuk berbagai alas an. Dengan basisdata penggunaan dapat menyimpan data secara terorganisasi.Setelah data disimpan informasih lebih mudah diambil. Kteria dapat digunakan untuk mengambil informasi . Cara data disimpan dalam basisdata menentukan seberapa mudah mencari informasi berdasarkan
banyak kteria. Data pun harus mudah ditambahkan kedalam
basisdata, dimodifikasi, dan dihapus (Janner Simarmata ; 2006 ; 32).
II.8.1. Struktur Sistem Basisdata Sistem Basisdata dibagi menjadi madul-modul yang berhubungan dengan masing-masing tanggung jawab system secara keseluruhan. Komponen fungsional system basisdata dapat dibagi menjadi komponen penyimpanan dan komponen query.pengaturan penyimpanan menjadi penting karena basisdata membutuhkan banyak ruang penyimpanan.Ukuran basisdata pada perusahaan berkisar dari ratusan gigabyte data.Karena memory utama computer tidak dapat menyimpan informasi sebayak itu, maka informasi disimpan dalam disk. Data dipindah antara penyimpan disk dam memori utama sesuai kebutuhan. Karena pergerakan data ken dan dari disk relative lambat terhadap keccepatan CPU, Sistem basisdata perlu mengatur data agar meminimalkan kebutuhan memindahkan data dari disk ke memori utama. Permrosesan query penting karena ia membutuhkan system basisdata menederhanakan dan memfasilitaskan akses ke data. View tingkat tinggi
29
membantu mencappai tujuan tersebut shingga pengguna system tidak dibebani detail fisik penerapan system yang tidak perlu. Namaun, pemrosesan update dan query yang cepat merupakan hal penting pula. Tugas system basisdata adalah menerjemahkan tingkatan logis menjadi urutan operasi pada tingkatan fisik (jnner Simarmata ; 2006 :13).
II.9. ERD ( Entity Relationship Diagram ) ERD ( Entity Relationship Diagram ) adalah alat pemodelan data utama dan akan membantu mengorganisasi data dalam suatu proyek kedalam entitasentitas dan menentukan hubungan antarentitas. Proses memungkinkan analisis menghasilkan struktur basisdata yang baik sehingga data dapat disimpan dan diambil secara efesien (Janner Simarmata ; 2006 : 67).
II.9.1. Entitas (Entity) Entitas adala suatu yang nyata yaitu abstrak dimana kita akan menyimpan data (Janner Simarmata ; 2006 : 67).. II.9.2. Relasi (Relationship) Relasi adalah hubungan alamiah yang terjadi antara satu atau lebih entitas, misalnya proses pembayaran pegawai. Kardinalitas menentukan kejadian suatu
30
entitas untuk satu kejadian pada entitas yang berhubungan (Janner Simarmata ; 2006 : 67). II.9.3. Atribut (Attribute) Atribut adalah cirri umum semua atau sebagai besar instansi pada entitas tertentu. Sebutan lain atribut adalah property, elemen data, dan field. Misalnya nama, alamat, nomor pegawai, dan gaji adalah atribut entitas pegawai. Sebuah atribut atau kombinasiatribut yang mengidentifikasikan satu dan hanya satu instansi suatu entitas disebut kunci utama atau pengenal.Misalnya , nomor pegawai adalah kunci utama untuk pegawai (Janner Simarmata ; 2006 : 67).
II.9.4. Simbol-simbol ERD ( Entity Relationship Diagram ) Adapaun simbol-simbol ERD ( Entity Relationship Diagram ) ditunjukkan pada tabel II.3 Tabel II.3. Simbol-simbol ERD ( Entity Relationship Diagram ) Simbol
Deskripsi
Nama_entitas Entitas/ entity
Persegi panjang mewakili kumpulan entitas
Atribut
Elips mewakili atribut
Nama_atribut
31
Relasi
Relasi yang menghungkan antarentitas; relasi biasanya diawali dengan kata kerja
Nama_relasi
Asosiasi/ Association
Penghubung antar relasi dan entitas dimana di kedua
1
ujungnya
memiliki
multiplicity
0..* kemungkinan jumlah pemakaian
Sumber: (Janner Simarmata ; 2006 : 60). Contoh III : a). Pada pengajar privat, satu guru satu siswa. b). Seorang guru mengajar seorang siswa, seorang siswa diajar oleh guru Id_guru
Nama_Guru
Id_siswa
Alamat
GURU
1
Mengajar
1
Nama_siswa
SISWA
Gambar II.4. Entitas, Relasi Dan Atribut (sumber : Janner Simarmata :2006 : 60-64).
Alamat
32
Contoh III.1. a). Sebuah entitas pada A berhubungan dengan satu entitas B. Sebuah entitas pada B dapat dihubungkan dengan nol atau leih entitas A.
A
B
a1
b1
a2
b2
a3
b3
a4
b4
Gambar II.5. Asosiasi (sumber : Janner Simarmata :2006 : 60-64). II.10. Normalisasi Normalisasi adalah teknik perancangan yang bayak digunakan sebagai pemandu dalam merancang basisdata relasional. Pada dasarnya, normalisasi adalah peruses dua langkah yang meletakan data dalam bentuk tabulasi dengan menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi dari table relasional. Teori normalisasi didasarkan pada konsep bentuk normal. Sebuah table relasional dikatakan berada pada bentuk normal tentu jika table memenuhi himpunan batsaan tertentu (Janner Simarmarta ; 2006 : 59). Tahapan normalisasi terdiri dari beberapa bentuk yaitu sebagai berikut: 1.
Bentuk Normal Pertama ( 1NF )
33
Contoh yang kita gunakan disini adalah sebuah persahaan yang mendapatkan barang dari sejumlah pemasok.Masing-masing pemasok berada pada satu kota. Sebuah kota dapat mempunyai lebih dari satu pemasok dan masing-masing kota mempunyai kode status sendiri.Masing-masing pemasok bias menyediakan banyak barang (Janner Simarmarta ; 2006 :80). Contoh : Tabel II.4 Bentuk normal pertama (1NF). id nama
alamat
2.
tlp
umur
kd_gejala
gejala
kd_kerusakan
kerusakan
kd_solusi
Bentuk Normal Kedua ( 2NF ) Definisi bentuk normal kedua menyatakan bahwa table dengan kunci
utama gabungan hanya dapat berda pada 1NF, tetapi tidak pada 2NF.sebuah tabel relasional berada pada bentuk normal kedua jika dia berada pada 1NF dan setiap kolom bukan kunci hyang sepenuhnya tergantung pada kunci utama. Ini berarti bahwa setiap kolom bukan kunci harus tergantung pada seluruh kolom yang membentuk kunci utama. Tabel pemasok berada pada 1NF, tetapi tidak pada 2NF karena status dan kota tergantung secara fungsional hanya pada kolom dari kunci gabungan (Janner Simarmarta ; 2006 : 81) Contoh : Tabel II.5. Bentuk normal kedua (2NF). kd_tanya* gejala pilihan_ya pilihan_tidak kerusakan_1 kerusakan_2 kerusakan_3
solusi
34
3.
Bentuk Normal Ketiga ( 3NF ) Mengharuskan semua kolom pada table relasional tergantung hanya pada
kunci utama. Secara defenisi, sebuah tabel berada pada bentuk normal ketiga (3NF) jika tabel sudah berada pada 2NF dan setiap kolom yang bukan kunci tidak tergantung secara taransitif pada kunci utamanya. DEnagn kata lain, semua atribut bukan kunci tergantung secara fungsional hanya pada kunci utama (Janner Simarmarta ; 2006 : 82). Contoh : Tabel II.6. Bentuk normal ketiga (3NF). kd_tanya* gejala pilihan_ya pilihan_tidak kerusakan_1 kerusakan_2 kerusakan_3
4.
Bentuk Normal Boyce Codd ( BCNF ) Setelah 3NF, semua masalah normalisai hanya melibatkan tabel yang
mempunyai tiga kolom atau lebih dan semuakolom adalah kunci. Banyak praktisi berpendapat bahwa menempatkan entitas pada 3NF bukan merupakan 4NF dan 5NF (Janner Simarmarta ; 2006 : 82). Contoh : Tabel II.7. Bentuk Normal Boyce Codd (BCNF). Kd_tanyk* kd_gejala** pilihanya Pilhan_tidak Kerusakan**
solusi
35
II.11. MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language). MySQL merupakan sebuah database server yang free, artinya bebas menggunakan database ini intuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL adalah sebuah program database, sedangkan SQL adalah bahasa perintah (query) dalam program MySQL (Bunafit Nugroho ; 2005: 1).
II.11.1. Kelebihan MySQL MySQL adalah sebuah database server, dapat juga berperan sebagai client /server. Database ini memiliki kelebihan dibanding database lain, di antaranya adalah : 1. MySQL sebuah Database Management System (DBMS). 2. MySQL sebagai Relation Management System (RDBMS). 3. MySQL adalah sebuah software database yang OpenSource, artinya program ini bersifat free atau bebas digunakan oleh siapa saja. 4. MySQL mampu menerima query yang bertumpuk dalam satu permintaan. 5. MySQL merupakan sebuah database yng mmpu menyimpan data berkapasitas sangat besar hingga berukuran gigabyte. 6. MySQL dapat menciptakan lebih dari 16 kunci per tabel, dan dalam satu kunci memungkinkan berisi belasan kolom (Bunafit Nugroho ; 2005: 3).
36
II.12. UML (Unified Modelling Language) UML( Unified Modelling Language ) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi objek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual
yang
memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (Sharing) dan mengkomunikasikan rancangan dengan baik (Munawar;2005:17). UML merupakan kesatuan bahasa pemodelan yang dikembangkan oleh Booch, Object Modeling Technique (OMT) dan object Oriented Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif, yaitu: identifikasi kelas-kelas dan objek-objek, identifikasi semantik dari hubungan objek dan kelas tersebut, perincian interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen. Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan entity-relationship. Tahapan utama dalam metodologi in adalah analisis, desain sistem, desain objek dan impelmentasi. Keunggulan motode ini adalah dalam penotasian yang mendukung semua konsep OO. Metode OOSE dari Jacobson lebih memberi penekanan dan use case. OOSE memiliki tiga tahapan yaitu membuat model requirement dan analisis, desain dan implementasi dan model pengujian (test Model). Keunggulan
37
metode ini adalah mudah dipelajari karena memiliki notasi yang sederhananamun mencangkup seluruh tahapan dalam rekayasa perangkat lunak. Dengan UML, metode Booch, OMT dan OOSE digabungkan dengan membuang elemen-elemen yang tidak praktis ditambah dengan elemen-elemen dari metode lain yang lebih efektif dan elemen-elemen baruyang belum ada pada metode terdahulu sehingga UML lebih ekspresif dan seragam daripada metode lainnya. Unsur-unsur yang membentuk UML ditunjukkan dalam Gambar II.3
Gambar II.6 Unsur-unsur yang membentuk UML Sumber: (Munawar;2005:18)
UML adalah hasil kerja dari konsorsium berbagai organisasi yang berhasil dijadikan sebagai standar baku dalam OOAD (Object Oriented Analysis dan Design ). UML tidak hanya dominan dalam penotasian di lingkungan OO tetapi juga populer di luar lingkungan OO. Ada tiga karakter penting yang melekat di
38
UML yaitu sketsa, cetak biru dan bahasa pemrograman. Sebagai sebuah sketsa UML bisa berfungsi sebagai sebuah cetak biru kerena sangat lengkap dan detil. Dengan cetak biru ini maka akan bisa diketahui informasi detil tentang coding program (Forward engineering ) atau bahkan membaca program dan mengiterpretasikannya kembali ke dalam diagram (reverse engineering ). Reverse engineering sangat berguna pada situasi dimana kode program yang tidak terdokumentasi asli hilang atau bahkan belum dibuat sama sekali. Sebagai bahasa pemrogaraman, UML dapat menterjemahkan diagaram yang ada di UML menjadi kode program siap untuk dijalankan. UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam view dimana salah satu diantaranya use case view. Use case view ini memegang peran khusus untuk mengintegrasikan content ke view yang lain. Model 4+1 view ditunjukkan pada gambar II.4
Gambar II.7 Model 4+1 View Sumber: (Munawar;2005:20) Kelima view tersebut tidak berhubungan dengan diagram
yang
dideskripsikan di UML. Setiap view berhubungan dengan perspektif tertentu
39
dimana sistem akan diuji. View yang berbeda akan menekankan pada aspek yang berbeda dari sistem yang mewakili tentang sistem bisa dibentuk dengan menggabungkan informasi-informasi yang ada pada kelima view tersebut. Use case view mendefinisikan perilaku eksternal sistem. Hal ini menjadi daya tari bagi end user, analis dan tester. Pandangan ini mendefinisikan kebutuhan
sistem
karena
mengandung
semua
view
yang
lain
yang
mendeskripsikan aspek-aspek tertentu dari peran dan sering dikatakan yang mendrive proses pengembangan perangkat lunak. Design view mendeskripsikan struktur logika yang mendukung fungsifungsi yang dibutuhkan di use case. Design view ini berisi definisi komponen program, class-class utama bersama-sama dengan spesifikasi data, perilkau dan interaksinya. Informasi yang terkandung di view ini menjadi perjatian para programer karena menjelaskan secara detil bagaimana fungsionalitas sistem akan diimplementasikan. Implemantasi view menjelaskan komponen-komponen fisi dari sistem yang akan dibangun. Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view. Termasuk disini diantaranya file exe, library dan database. Informasi yang ada di view dan integrasi sistem. Proses view berhubungan dengan hal-hal yang berkaitan dengan concurrency do dalam sistem. Sedangkan deployment view menjelaskan bagaimana komponen-komponen fisik didistribusikan ke lingkungna fisik seperti jaringan komputer dimana sistem akan dijalankan. Kedua view ini menunjukkan
40
kebutuhan non fungsional dari sistem seperti toleransi kesalahan dan hal-hal yang berhubungan dengan kinerja (Munawar;2005:17-21).
II.12.1. Use Case Diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara deskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut scenario. Setiap scenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian scenario yang digabungkan bersama-sama oleh tujuan umum pengguna. Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan actor. Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. Model use case adalah bagai dari model requirement. Termasuk disini adalah problem domain object dan penjelasan tentang user interface. Use case memberikan spesifikasi fungsi-fungsi yang ditawarkan oleh sistem dari perspectif user. Notasi use case menunjukkan 3 aspek dari sistem yaitu actor use case dan system/sub system boundary. Actor mewakili peran orang, system yang lain atau
41
alat ketika berkomunikasi dengan use case. Ilustrasi actor, usecase dan system ditunjukkan pada gambar II.5
Sistem UseCase
Actor
Gambar II.8. Use case Diagram Sumber: (Munawar;2005:64)
Untuk mengidentifikasi actor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks targer sistem. Actor adalah abstraction dari orang dan sistem yang lain yang mengaktifkan fungsi dari target sistem. Orang atau sistem bisa muncul dalam beberapa peran. Perlu dicatat bahwa actor berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Use case adalah abstraksi dari interaksi antara sistem dan actor. Oleh karena itu sangat penting untuk memilih abstraksi yang cocok. Use case dibuat berdasarkan keperluan actor. Use case harus merupakan ‘apa’ yang dikerjakan software aplikasi, bukan ‘bagaimana’ software aplikasi mengerjakannya. Setiap use case harus diberi nama yang menyatakan apa hal yang dicapai dari hasil interaaksinya dengan actor. Namun use case boleh terdiri dari beberapa kata dan tidak boleh ada dua use case yang memiliki nama yang sama (Munawar;2005:6366).
42
II.12.2. Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok : 1. Nama kelas 2. Atribut 3. Metode Atribut dan metode dapat memiliki salah satu sifat berikut : 1.
Private, tidak dapat dipanggil dari luar class yang bersangkutan.
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan.
3.
Public, dapat dipanggil oleh siapa saja. Class dapat merupakan implementasi dari sebuah interface, yaitu class
abstrak yang hanya memiliki metode. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Contoh diagram class dapat dilihat pada gambar II.6 dibawah ini:
43
Gambar II.9 Class Diagram Sumber: (Munawar;2005:220) II.12.3. Activity Diagram Activity Diagram adalah teknik untuk mendiskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Adapun simbol activity diagram dapat dilihat pada table II.2 : Tabel II.8. Simbol Activity Diagram Notasi
Keterangan Titik Awal
Titik Akhir
Activity
44
Pilihan untuk pengambilan keputusan
Fork digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu Rake menunjukkan adanya dekomposisi
Tanda waktu
Tanda pengiriman Tanda penerimaan
Aliran Akhir (Flow Final)
Sumber : (Munawar;2005:110)
45
II.12.4. Squence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah sekenario. Diagram ini menunjukkan sejumlah contoh objek dan pesan yang diletakkan diantaran objek-objek ini di dalam use case. Komponen utama sequence diagram terdiri atas objek yang ditulisakan dengan kotak segiempat bernama. Messege diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical. 1.
Objek /participant Objek diletakkan di dekat bagian atas diagram dengan urutan dari kiri ke
kanan. Mereka diatur dalam urutan guna menyederhanakan diagram. Setiap participant dihubungkan dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation. Bentuk participant dapat dilihat pada gambar II.7
Gambar II.10. Bentuk Participant Sumber: (Munawar;2005:88)
46
2.
Messege Sebuah messsage bergerak dari satu participant ke participant yang lain
dan dari satu lifeline ke lifeline yang lain. Sebuah participant bisa mengirim sebuah message kepada dirinya sendiri. Sebuah message bisa jadi simple, synchronous atau asynchoronous. Message yang simple adalah sebuah perpindahan (transfer), contoh dari satu participant ke participant yang lainnya. Jika sebuah participant mengirimkan sebuah messagae tersebut akan ditunggu sebelum diproses dengan urusannya. Namun jika message asynchoronous yang dikirimkan, maka jawabannya atas message tersebut tidak perlu ditunggu. Simbol message pada squnence diagram dapat dilihat pada gambar II.8
Gambar II.11. Bentuk Messege Sumber: (Munawar,2005:88)
3.
Time Time adalah diagram yang mewakili waktu pada arah vertikal. Waktu
dimulai dari ata ke bawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah.
47
Terdapat dua dimensi pada squence diagram yaitu dimensi dari kiri ke kanan menunjukkan tata letak participant dan dimensi dari atas ke bawah menunjukkan lintasan waktu. Simbol-simbol yang ada pada squence diagram ditunjukkan pada gambar II.9
Gambar II.12. Squence Diagaram Sumber: (Munawar,2005:89)