11
BAB II
TINJAUAN PUSTAKA
II.1. Sistem Pakar
Sistem merupakan kumpulan elemen yang saling berkaitan yang betanggung jawab memproses masukan (input) sehingga menghasilkan keluaran (output). (Kusrini:2007:11)
Langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefinisikan terlebih dahulu ruang lingkup permasalahan tersebut atau domain untuk permasalahan yang akan diselesaikan. Hal ini juga berlaku untuk pemrograman Artificial Intelligent (AI).
Professor Edward Feingenbeum dari Universitas Stanford yang merupakan seorang pelopor awal dari teknologi sistem pakar, yang mendefinisikan sistem pakar sebagai “…suatu program computer cerdas yang menggunakan knowledge (pengetahuan) dan prosedur inferensi untuk menyelesaikan masalah yang cukup sulit sehingga membutuhkan seorang ahli untuk menyelesaikannya.” Suatu Sistem Pakar adalah suatu sistem komputer yang menyamai (emulates) kemampuan pengambilan keputusan dari seorang pakar. Istilah emulates berarti bahwa sistem pakar diharapkan dapat bekerja dalam semua hal seperti seorang pakar.
(Arhami:2005:2)
Sistem Pakar adalah salah satu cabang dari AI yang membuat pengunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang
tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya.
Knowledge dalam sistem pakar mungkin saja seorang ahli, atau knowledge
yang umumnya terdapat dalam buku, majalah dan orang yang mempunyai pengetahuan tentang suatu bidang. Istilah sistem pakar, sistem knowledge-base, atau sistem pakar knowledge-base, sering digunakan dengan arti yang sama. Kebanyakan orang menggunkan istilah sistem pakr karena lebih singkat, bahkan walau belum benar-benar pakar, hanya menggunakan knowledge secara umum.
Gambar. II.1 Konsep Dasar Fungsi Sistem Pakar Sumber: (Arhami:2005:4)
Gambar II.1 menggambarkan konsep dasar suatu sistem pakar knowledge-base. Pengguna menyampaikan fakta atau informasi untuk sistem pakar dan kemudian menerima saran dari pakar atau jawaban ahlinya. Bagian dalam sistem pakar terdiri dari 2 komponen utama, yaitu knowledge-base yang berisi knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atas permintaan pengguna.
Keahlian Fakta Sistem Pakar Mesin Inferensi Knowledge-Base USER
II.1.1. Keuntungan Sistem Pakar
Ada banyak keuntungan bila menggunakan sistem pakar, di antaranya adalah (Arhami:2005:10):
1. Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2. Meningkatkan output dan produktivitas.
3. Menyimpan kemampuan dan keahlian pakar.
4. Meningkatkan penyelesaian masalah menerusi panduan pakar, penerangan, sistem pakar khas.
5. Meningkatkan reliabilitas.
6. Memberikan respons (jawaban) yang cepat. 7. Merupakan panduan yang inteligence (cerdas).
8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidakpastian.
9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat digunakan untuk mengakses basis data dengan cara cerdas.
II.1.2. Kelemahan Sistem Pakar
Selain keuntungan di atas, sistem pakar seperti halanya sistem lainnya, juga memiliki kelemahan di antaranya adalah (Arhami:2005:10) :
1. Masalah dalam mendapatkan pengetahuan di mana 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.
2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tingi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya.
3. Boleh jadi sistem tak dapat membuat keputusan.
4. Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor dominan.
II.1.3. Konsep Umum Sistem Pakar
Pengetahuan dari suatu sistem pakar mungkin dapat dipresentasikan dalam sejumlah cara. Salah satu metode yang paling umum untuk merepresentasikan pengetahuan adalah dalam bentuk tipe aturan (rule) IF...THEN (jika...maka).
Walaupun cara di atas sangat sederhana, namun banyak hal ang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan di atas. (Arhami:2005:11)
II.1.4. Struktur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkunan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) (Turban, 1995). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan lingkungan konsulatasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat di bawah ini. (Arhami:2005:14)
Gambar II.2 Arsitektur Sistem Pakar Sumber : (Arhami:2005:14)
Komponen-komponen yang terdapat dalam sistem pakar adalah sebagai berikut :
II.1.4.1. Antarmuka Pengguna (User Interface)
User interface merupakan mekanisme yang digunakan oleh pengguna
dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima informasi dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), Antar Muka Fasilitas Penjelasan Mesin Inferensi Perbaikan Pengetahuan Workplace Aksi yang direkomendasikan Basis Pengetahuan : fakta dan aturan Pemakai Pakar Knowledge engineer Fakta tentang Kejadian tertentu
LINGKUNGAN KONSULTASI LINGKUNGAN
PENGEMBANGAN
Akuisisi Pengetahuan
pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima intruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai.(Arhami:2005:14)
II.1.4.2. Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedang aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui. (Arhami:2005:15)
Dalam studi kasus pada sistem yang berbasis pengetahuan terdapat beberapa karakteristik yang dibangun untuk membantu kita dalam membentuk serangkaian prinsip-prinsip arsitekturnya. Prinsip tersebut meliputi :
a. Pengetahuan merupakan kunci kekuatan sistem pakar. b. Pengetahuan sering tidak pasti dan tidak lengkap. c. Pengetahuan sering miskin spesifikasi.
d. Amatir menjadi ahli secara bertahap. e. Sistem pakar harus fleksibel.
f. Sistem pakar harus transparan.
II.1.4.3. Akuisisi Pengetahaun (Knowledge Acquisition)
Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap ini knowledge engineer berusaha menyerap
pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan. Pengetahuan diperoleh dari pakar, dilengkapi dengan buku, basis data, laporan penelitian dan pengalaman pemakai. (Arhami:2005:16)
II.1.4.4. Mesin Inferensi
Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelasikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace dan untuk memformulasikan kesimpulan. (Arhami:2005:19)
II.1.4.5. Workplace
Workplace merupakan area dari sekumpulan memori kerja (working
memory). Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan
yang dicapai. (Arhami:2005:22) II.1.4.6. Fasilitas Penjelasan
Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai. (Arhami:2005:22)
II.1.4.7. Perbaikan Pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang akan dialaminya. (Arhami:2005:22)
II.1.5. Inferensi
Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan informasi yang tersedia.(Kusrini:2006:35)
Ada dua metode inferensi yang penting dalam system pakar, yaitu : 1. Runut Maju (Forward Chaining)
Runut maju berarti menggunakan himpunan aturan kondisi-aksi. Dalam metode ini, data digunakan untuk menetukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja.
DATA ATURAN Kesimpulan
A =1 Jika A = 1 dan B = 2
Maka C = 3 D = 4 B =2 Jika C =3 MAKA D = 4
Gambar II.3. Runut Maju (Forward Chaining) 2. Runut Balik (Backward Chaining)
Runut Balik merupakan metode penalaran kebalikan dari runut maju. Dalam runut balik, penalaran dimulai dengan tujuan merunut balik ke jalur yang akan mengarahkan ke tujuan tersebut.
SUB TUJUAN ATURAN TUJUAN
A =1 Jika A = 1 dan B = 2
Maka C = 3 D = 4 B =2 Jika C =3 MAKA D = 4
Gambar II.4. Runut Balik (Backward Chaining) Sumber : (Kusrini:2006:36)
II.2. Osteoarthritis
Pada usia lanjut rentan terhadap penyakit sendi, lebih dari 100 jenis penyakit sendi, yang dikenal dengan, Osteoarthritis (OA) merupakan kelainan sendi yang paling sering ditemukan. Penyakit ini bersifat progesif lambat, umumnya terjadi pada usia lanjut, walaupun usia bukan satu-satunya faktor resiko. OA menyerang sendi-sendi penopang tubuh seperti lutut, pinggul, bahu, maupun tulang belakang.
Ada beberapa faktor resiko yang diketahui berhubungan erat dengan terjadinya OA sendi lutut, yakni usia, jenis kelamin, pekerjaan, obesitas, genetik, suku bangsa, dan faktor lain. Gambaran klinik osteoarthritis pada umumnya penderita OA mengatakan bahwa keluhan-keluhan sudah berlangsung lama, berkembang secara perlahan-lahan.
Gangguan gerak dan fungsi pada OA sendi lutut dapat terjadi seperti: nyeri saat berjalan (antalgic gait), kaku sendi setelah duduk lama atau bangun tidur, nyeri bila lutut diluruskan penuh, atau ditekuk penuh, pembesaran sendi dan lain sebagainya.
Osteoarthritis (OA) adalah gangguan yang terjadi pada satu atau lebih
sendi lutut, awalnya oleh adanya gangguan lokal pada kartilago dan bersifat
progesif degeneratif, remodeling pada tulang subkondral dan inflamasi sekunder
membran sinovial. OA menyerang sendi-sendi penopang berat badan. Sendi yang paling banyak mengalami osteoarthritis adalah sendi lutut. Pada usia diatas 60 tahun hampir 80% osteoarthritis, mengenai sendi lutut. Dan gejala klinik yang paling menonjol adalah nyeri. (Jurnal Fisioterafi;2012:23)
II.3. PHP dan MySQL II.3.1. PHP
PHP (PHP Hypertext Preprocessor) adalah bahasa pemrograman yang berjalan dalam sebuah webserver dan berfungsi sebagai pengolah data pada sebuah server. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. (MADCOMS;2011:11)
PHP merupakan bahasa pemrograman pembuatan web yang ditemukan oleh Rasmus Lerdoff. PHP memberikan kemampuan lebih daripada HTML dan banyak digunakan karena fitur-fiturnya yang ringan, opensources. (untuk menggunakannya tidak perlu membayar) dan member banyak dukungan terhadap database(MySQL, PostgerSQL, IBM DB2, dll). (Ali Akbar:2005:21)
II.3.2. MySQL
MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah SQL (Structured Query Language). (Bunafit Nugroho:2005:1)
MySQL merupakan sebuah database server yang free, artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. Selain sebagai database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai server. Pada saat itu berarti program kita berposisi sebagai Clieny. Jadi MySQL adalah sebuah database yang dapat digunakan baik sebagai Client maupun Server.
II.4. Dreamweaver dan Web
Macromedia adalah aplikasi standar industri yang digunakan untuk membuat halaman web. Kemasyhuran Dreamweaver tidak terlepas dari pesatnya kemajuan dunia internet sekarang ini. Internet memungkinkan semua penduduk dunia saling terhubung secara instan melalui computer yang terhubung ke jaringan intrenet. (Ali Akbar:2005:11)
Halaman web merupakan salah satu wahana yang digunakan untuk berkomunikasi di dunia internet. Halaman web menjadi terkenal karena halaman web ditulis menggunakan format teks murni (plain text) yang konsekuensi ukurannya akan sangat kecil sehingga sangat efisien digunakan di jaringan internet. Halaman web ditulis menggunakan format dasar HTML yang singkatannya adalah Hypertext MarkUp Language. Selain HTML, masih ada beberapa bahasa lain seperti PHP, ASPX, CGI, JSP dan lain sebagainya.
II.5. Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk uang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain. (Munawar:2005:1)
UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modeling Technique (OMT) dan Object Oriented Software
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 iterative, yaitu: identifikasi kelas-kelas danobyek-obyek, identifikasi semantik dari hubungan obyekb dan kelas tersebut, perinciaan interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen.
Beberapa pemodelan pada UML di antaranya adalah sebagai berikut : II.5.1. Use Case Diagram
Use Case adalah deskripsi fungsi dari sebuah sistem dari perspektif
pengguna. Use case bekerja dengan cara mendeskripsikan 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 diinisialisasikan oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secar singkat bisa dikatakan use case adalah serangkain scenario yang digabungkan bersama-sama oleh tujuan umum pengguna.(Munawar:2005:63)
Dalam konteks UML, tahap konseptualisasi dilakukan dengan pembuatan
use case diagram yang sesungguhnya merupakan deskripsi peringkat tinggi
bagaimana perangkat lunak (aplikasi) akan digunakan oleh penggunanya. Selanjutnya, use case diagram tidak hanya sangat penting pada saat analisis, tetapi juga sangat penting dalam tahap perancangan (design), untuk mencari kelas-kelas yang terlibat alam aplikasi, dan untuk melakukan pengujian (testing).
Saat akan mengembangkan use case diagram, hal yang pertama kali harus dilakukan adalah mengenali actor untuk sistem yang sedang dikembangkan. Dalam hal ini, ada beberapa karakteristik untuk para actor, yaitu actor yang ada di luar sistem yang sedang dikembangkan dan actor yang berinteraksi dengan sistem yang sedang dikembangkan.(Nugroho:2009:7)
Gambar II.3 Contoh Use Case Diagram Sumber : (Adi Nugroho:2009:8) II.5.2. Sequence Diagram
Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah
skenario. Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang diletakkan diantara obyek-obyek ini didalam use case. (Munawar:2005:87)
Komponen sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical.
Nasabah (Aktor) Pembukaan Rekening Transfer AntarRekening Penutupan Rekening Penarikan Penabungan
Sequence diagram juga menampilkan interaksi anatar suatu kelas dengan kelas
yang lainnya, bagaimana suatu message (pesan) dikirimkan dari suatu kelas ke kelas yang lainnya, dengan penekanan lebih pada urutan kejadian menurut waktu. Keunggulan dari Sequence diagram memperlihatkan dengan baik urutan interaksi yang terjadi antara suatu kelas dengan kelas lainnya, tetapi mengabaikan pengorganisasiannya.(Adi Nugroho;2009:100) Cek Saldo Ambil Saldo Tampilkan Saldo Penarikan Uang Berikan Uang Cetak Slip
Gambar II.6 Contoh Sequence Diagram Sumber : (Adi Nugroho:2009:25) II.5.3. Class Diagram
Class didefenisikan sebagai kumpulan/himpunan objek yang memiliki
kesamaan dalam atribut/properti, perilaku (operasi), serta cara berhubungan dengan objek lain. (Adi Nugroho:2009:18)
Slip Rekening
ATM Nasabah
Selain itu, kita juga mendefenisikan objek sebagai konsep, abstraksi dari sesuatu dengan batas nyata, sehingga kita dapat menggambarkan secara sistematis. Pemahaman objek memiliki dua fungsi, yaitu :
a. Memudahkan untuk mempelajari secara seksama hal-hal yang ada di dunia nyata.
b. Menyediakan suatu dasar yang kuat dalam implementasi ke dalam sistem terkomputerisasi. (Adi Nugroho:2009:17)
Mengakses
Gambar II.4 Contoh Class Diagram Sumber : (Adi Nugroho:2009:39)
II.5.4. Collaboration Diagram
Colaboration Diagram adalah perluasan dari obyek diagram. (Obyek
diagram menunjukkan obyek-obyek dan hubungannya satu dengan yang lain). Collaboration diagram menunjukkan message-message obyek yang dikirimkan satu sama lain.(Munawar:2005:101)
Untuk menunjukkan sebuah pesan, buatlah tanda panah didekat garis asosiasi diantara 2 obyek. Arah panah menunjukkan obyek yang menerima pesan. Label di dekat panah menunjukkan pesannya apa. Tipikal message meminta
Nasabah No_Nasabah Nama No_Kartu PIN ... Masukkan Kartu Masukkan_Jenis_Transaksi() ... Ambil Kartu ... Mesin ATM No_Mesin Lokasi .... Tampilkan_Layar_Utama() Permintaan_PIN() Permintaan_Jenis_Transaksi() ... Mencetak_Slip() ...
kepada obyek yang menerimanya untuk menjalankan salah satu operationnya. Sepasang tanda kurung digunakan untuk mengakhiri message. Jika ada parameter bisa diletakkan diantara tanda kurung.
Collaboration diagram memungkinkan kita untuk melihat pengorganisasian
kelas-kelas yang saling berinteraksi, namun untuk kelas-kelas yang jumlahnya banyak, diagram ini sulit untuk dibaca.(Adi Nugroho:2009:101)
Nasabah
3. Tampilkan saldo 2. Ambil Saldo
4. Penarikan Uang 5. Berikan Uang
5. Cetak Slip
Gambar II.8 Contoh Collaboration Diagram Sumber : (Adi Nugroho:2009:101)
II.5.5. Activity Diagram
Activity Diagram adalah teknik untuk mendeskripsikan logika procedural,
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 prilaku paralel sedangkan flowchart tidak bisa.
(Munawar:2005:109).
ATM
Rekening Slip
Nasabah Mesin ATM Bank
Gambar II.5 Contoh Activity Diagram Sumber : (Adi Nugroho:2009:11)
Mesin ATM Menanyakan PIN Nasabah Memasukkan PIN Nasabah Memasukkan Kartu ATM Mesin ATM Mengurangi Saldo Mesin ATM Memeriksa Saldo Pemeriksaan PIN Mesin ATM mengeluarkan Kartu ATM Nasabah Mengeluarkan Uang Tunai Mesin ATM Mengeluarkan Uang Tunai Nasabah Memasukkan Jumlah Mesin ATM menanyakan Jumlah
II.6. Normalisasi
Normalisasi adalah suatu proses yang digunkan untuk menentukan pengelompokan atribut-atribut dalam sebuah relsi sehingga diperoleh relsi yang berstruktur baik.(Abdul Kadir:2009:116)
Dalam hal ini yang dimaksud dengan relasi yang berstruktur baik adalah yang memenuhi dua kondisi berikut :
a) Mengandung redudansi sedikit kemungkinan.
b) Memungkinkan baris-baris dalam relasi disisipkan, dimodifikasi dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan.
II.6.1. Bentuk normal Pertama (1NF / First normal form)
Yang disebut dengan bentuk normal pertama (1NF) adalah suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. (Abdul Kadir:2009:130)
II.6.2. Bentuk Normal Kedua (2NF / Second normal form)
Bentuk normal kedua adalah suatu bentuk yang menyaratkan bahwa relasi harus sudah berada dalam bentuk normal pertama dan tidak mengandung dependensi parsial. (Abdul Kadir:2009:132)
II.6.3. Bentuk Normal Ketiga (3NF / Third normal form)
Bentuk normal ketiga adalah suatu keadaan yang menyaratkan bahwa relasi harus sudah berada dalam bentuk normal kedua dan tidak mengandung dependensi transistif. (Abdul Kadir:2009:136)
II.6.4. Bentuk Normal Boyce-Codd (BCNF / Boyce-Codd normal form)
BCNF (Boyce-Codd Normal Form) atau bentuk normal Boyce-Codd adalah suatu keadaan yang menyaratkan bahwa setiap determinan (penentu) dalam suatu relasi berkedudukan sebagai kunci kandidat. (Abdul Kadir:2009:138)
II.7. Entity Relational Diagram (ERD)
Model E-R adalah suatu model yang digunakan untuk menggambarkan data dalam bentuk entitas, atribut dan hubungan antar entitas. Huruf E sendiri menyatakan entitas dan R menyatakan hubungan (dari kata relationship). Model ini dinyatakan dalam bentuk diagram. Itulah sebabnya model E-R acapkali juga disebut sebagai diagram E-R. perlu diketahui bahwa model seperti ini tidak mencerminkan bentuk fisik yang nantinya akan disimpan dalam database, melainkan hanya bersifat konseptual. Itulah sebabnya model E-R tidak bergantung pada produk DBMS yang akan digunakan. Contoh sebuah model E-R ditunjukkan pada gambar di bawah ini :
Gambar II.10 Contoh model E-R Sumber: (Abdul kadir:2009:30)
MataKuliah Mengambil
Mahasiswa
Secara garis besar model E-R di atas menerangkan hubungan antara : a) Mahasiswa dan matajukiah yang diambil,
b) Dosen dan mahasiswa yang dibimbing, c) Dosen dan matakuliah yang diajar.
Dalam hal ini MAHASISWA, MATAKULIAH, dan DOSEN menyatakan tipe entitas dan Mengambil, Membimbing, dan Mengajar menyatakan hubungan.
Sekedar untuk diketahui, model E-R melibatkan sejumlah notasi. Beberapa notasi dasar dalam model E-R ditunjukkan pada tabel II.1.
Tabel II.1 Sejumlah notasi pada model E-R
Simbol Kardinalitas hubungan
Sumber: (Abdul Kadir:2009:31) II.8. Kamus Data
Kamus data (KD) atau data dictionary (DD) atau disebut juga dengan istilah systems data dictionary adalah catalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan KD, analisis sistem dapat mendefinisikan data yang mengalir di sistem dengan
Entitas
Attribute
lengkap. KD dibuat pada tahap analisis sistem dan digunakan baik pada tahap analisis maupun pada tahap perancangan sistem. Pada tahap analisis, KD dapat digunakan sebagai alat komunikasi anatara analisis sistem dengan pemakai sistem tentang data yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem, KD digunakan untuk merancang input, merancang laporan-laporan dan database. KD dibuat berdasarkan arus data yang di DAD. Arus data di DAD sifatnya adalah global, hanya ditunjukkan nama arus datanya saja.