BAB II TINJAUAN PUSTAKA II.1. Sistem Pakar Sistem pakar adalah aplikasi berbasis komputer yang digunakan untuk menyelesaikan masalah sebagaimana yang dipikirkan oleh pakar. Pakar yang dimaksud disini adalah orang yang mempunyai keahlian khusus yang dapat menyelesaikan masalah yang tidak dapat diselesaikan oleh orang awam. Sebagai contoh, dokter adalah seorang pakar yang mampu mendiagnosis penyakit yang diderita pasien serta dapat memberikan penatalaksanaan terhadap penyakit tersebut. Tidak semua orang dapat mengambil keputusan mengenai diagnosis dan memberikan penatalaksanaan suatu penyakit. Contoh yang lain, montir adalah seorang yang punya keahlian dan pengalaman dalam menyelesaikan kerusakan mesin motor/mobil, psikolog adalah orang yang ahli dalam memahami kepribadian seseorang, dan lain – lain. Sistem pakar, yang mencoba memecahkan masalah yang biasanya hanya bisa dipecahkan oleh seorang pakar, dipandang berhasil ketika mampu mengambil keputusan seperti yang dilakukan oleh pakar aslinya baik dari sisi proses pengambilan keputusannya maupun hasil yang diperoleh. Sebuah sistem pakar memiliki 2 komponen utama yaitu basis pengetahuan dan mesin inferensi. Basis pengetahuan merupakan tempat penyimpanan pengetahuan dalam memori komputer, dimana pengetahuan ini diambil dari pengetahuan pakar. (Kusrini; 2010:3). Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang 11
12
biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecah masalah. Beberapa aktivitas pemecahan yang dimaksud antara lain : pembuatan keputusan (decision making), pemaduan pengetahuan (knowlegde fusing), pembuatan desain (designing),
perencanaa
(planning),
prakiraan
(forecasting),
pengaturan
(regulating), pengendalian (controlling), diagnosis (diagnosing), perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising), dan pelatihan (tutoring). Selain itu sistem pakar juga dapat berfungsi sebagai asisten yang pandai dari seorang pakar. Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia disalah satu bidang. Sistem pakar mencoba mencari solusi yang memuaskan sebagaimana yang dilakukan seorang pakar. Selain itu sistem pakar juga dapat memberikan penjelasan terhadap langkah yang diambil dan memberikan alasan atas saran atau kesimpulan yang ditemukannya. Biasanya sistem pakar hanya digunakan untuk memecahkan masalah yang memang sulit untuk dipecahkan dengan pemrograman biasa, mengingat biaya yang diperlukan untuk membuat sistem pakar jauh lebih besar dari pembuatan sistem biasa. (Kusrini; 2011:11-12). II.2. Diagnosis Diagnosis adalah istilah yang menunjukkan pada nama penyakit yang ada pada pasien yang perlu dirumuskan (ditentukan) oleh dokter. Perumusan diagnosis sebenarnya sangat rumit (ruwet) sekaligus merupakan seni karena menentukan sesuatu kesimpulan dengan bahan yang sangat tidak menentukan (to make a decision with the uncertain data), sedangkan keputusan tersebut tidak boleh salah.
13
Dalam realitas pekerjaan sehari – hari, bagi para dokter ada tiga kemungkinan yaitu : a. Dokter bekerja berdasarkan rumusan masalah, sedangkan hipotesis diagnosis kerja masih sangat umum. b. Dokter berusaha merumuskan diagnosis, sebagian kasus berhasil sebagian lagi tidak sampai karena data klinik belum cukup atau perbendaharaan pengetahuan belum cukup. c. Dokter selalu berusaha sampai pada diagnosis. Apabila dokter mengambil salah satu sikap dari ketiga hal tersebut tidaklah salah, apabila bekerja dengan target (c) maka dokter tersebut berpikir lebih mendalam. Target (b) adalah yang biasa dicapai oleh dokter pada umumnya sedang target (a) kadang – kadang harus dilakukan oleh dokter umum (general practitioner) dan dokter keluarga (family physicians). Namun, yang perlu direkankan disini adalah untuk setiap target, berpikir haruslah dicapai suatu perumusan hipotesis yang berbentuk diagnosis kerja dan diagnosis banding. Buku ini berusaha membawa para pembaca, khususnya mahasiswa sampai pada perumusan hipotesis berbentuk diagnosis kerja dan diagnosis banding atau sampai pada diagnosis yang definitif (pasti). (Daldiyono 2010:49). II.3.
Pengenalan Alergi Alergi adalah perubahan reaksi tubuh/pertahanan tubuh terhadap suatu
benda asing yang terdapat didalam lingkungan hidup sehari – hari. Agar tidak terkena penyakit, tubuh mempunyai suatu cara untuk menghadapi benda asing
14
yang masuk. Cara ini disebut sistem imun. Ada dua macam sistem imun, yakni sistem imun mempesifik dan sistem imun spesifik. (M. C. Widjaja; 2010:2-3). II.3.1. Jenis Alergi Alergi dibagi menjadi dua tipe. Tipe pertama adalah alergi berdasarkan penyebab. Tipe kedua adalah alergi berdasarkan gejala yang muncul ditubuh. a.
Tipe Pertama (Berdasarkan Penyebab) Alergi yang dibedakan atas dasar penyebabnya juga terbagi atas dua macam,
yaitu penyebab yang berasal dari luar tubuh (ekstrinsik) dan penyebab yang berasal dari dalam tubuh (intrinsik). Penyebab yang berasal dari luar tubuh terdiri dari hal – hal sebagai berikut. 1. Alergi terhadap debu rumah, kapuk, dan serbuk sari bunga, biasanya berupa asma dan batuk. 2. Alergi terhadap makanan, seperti udang, kepiting, susu, dan telur, biasanya berupa alergi kulit. 3. Alergi terhadap tembaga, kulit, rantai jam tangan, dan sebagainya. 4. Alergi terhadap obat – obatan antibiotik, seperti tetrasiklin. Sementara itu, penyebab yang berasal dari dalam tubuh (intrinsik) pada umumnya merupakan faktor keturunan (genesis). b.
Tipe Kedua (Berdasarkan Gejala) 1. Tipe cepat, reaksi timbul 15 – 20 menit setelah alergen masuk ke dalam tubuh penderita. 2. Tipe lambat, reaksi baru timbul 2 atau 3 hari setelah tubuh kontak dengan alergen.
15
3. Jika terjadi pada kulit, yang timbul adalah gejala eksim. Jika terjadi pada hidung, yang timbul adalah rinitis, sinusitis, dan polip hidung. Pada bayi dapat menyebabkan peradangan usus. Kedua tipe alergi ini paling banyak ditemui di Indonesia. Dibandingkan dengan alergi tipe lambat, alergi tipe cepat kasusnya lebih banyak terjadi. Di Indonesia, kemunculan IgE lebih sering dibandingkan dengan di negara maju (Eropa). Hal ini disebabkan Indonesia terletak di wiliyah tropis, IgE juga dapat diproduksi oleh cacing, virus, dan limfosit. Alergi tipe cepat biasanya disebabkan alergen hirup, alergen makanan, dan alergen obat – obatan. Alergi lambat biasanya, selain oleh alergen makanan, juga disebabkan oleh alergen yang menempel dikulit. Alergen tipe lambat membutuhkan waktu yang agak lama dan menimbulkan reaksi lokal, seperti gejala eksim dan bintik – bintik berair di lokasi – lokasi tertentu ditubuh. Misalnya, alergi pada hidung (renitis), alergi pada saluran pernapasan (asma bronkial), alergi pada kulit (biduran, kaligata, eksim), dan alergi pada saluran pencernaan. (M. C. Widjaja; 2010:7). II.4.
Metode Teorema Bayes
Probabilitas Bayes merupakan salah satu cara untuk mengatasi ketidakpastian data dengan cara menggunakan formula bayes yang dinyatakan dengan :
P(E\H) * P(H) P(H\E) =
.................... (1) P(E)
Dimana :
16
P(H | E)
= Probabilitas hipotesis H benar jika diberikan evidence E.
P(E | H)
= Probabilitas munculnya evidence E, jika diketahui hipotesis H benar.
P(H)
= Probabilitas hipotesis H (menurut hasil sebelumnya) tanpa memandang evidence apapun.
P(E)
= Probabilitas evidence E.
Secara umum teorema bayes dengan E kejadian dan hipotesis H dapat dituliskan dalam bentuk :
P(E ∩ H) P(Hi\E) =
.................... (2) ∑p(E ∩ Hi) p(E \ Hi)P(Hi)
= ∑P(E \ Hi)P(Hi) P(E \ Hi)P(Hi) = P(E) Jika setelah dilakukan pengujian terhadap hipotesis kemudian muncul labih dari satu evidence. Maka persamaannya akan menjadi : P(e \ E,H) P(H \ E,e) = P(H \ E)
.................... (3) P(e \ E)
Dimana : e
= evidence lama.
E
= evidence baru.
17
P(H | E,e) = Probabilitas hipotesis H benar jika muncul evidence baru E dari evidence lama e. P(H | E)
= Probabilitas hipotesis H benar jika diberikan evidence E.
P(e | E,H) = Kaitan antara e dan E jika hipotesis H benar. P(e | E)
=
Kaitan antara e dan E tanpa memandang hipotesis apapun. (Pemanfaatan Teorema Bayes dalam Penentuan Penyakit THT; Sri Winiarti; 2008:191-192).
II.5.
Normalisasi Istilah normalisasi berasal dari E. F. Codd, salah seorang perintis teknologi
basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel (relasi) dalam basis data (dengan tujuan untuk mengurangi kemubaziran data), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel – tabel yang dihasilkan oleh metodologi lain. Normalisasi memberikan panduan yang sangat mebantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi ketidakefisienan. Kronke mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tak memiliki masalah tersebut. Masalah yang dimaksud oleh Kronke ini sering disebut dengan istilah anomali. (Abdul Kadir; 2010:66).
18
II.5.1. Bentuk-bentuk Normalisasi a.
Bentuk tidak normal Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja tidak lengkap dan terduplikasi. Data dikumpulkan apa adanya sesuai keadaanya.
b. Bentuk normal tahap pertama (1” Normal Form) Definisi : Sebuah table disebut 1NF jika : - Tidak ada baris yang duplikat dalam tabel tersebut. - Masing-masing cell bernilai tunggal Catatan: Permintaan yang menyatakan tidak ada baris yang duplikat dalam sebuah tabel berarti tabel tersebut memiliki sebuah kunci, meskipun kunci tersebut dibuat dari kombinasi lebih dari satu kolom atau bahkan kunci tersebut merupakan kombinasi dari semua kolom. Berikut ini akan dicontohkan normalisasi dari tabel kuliah yang memiliki atribut : kode_kul, nama_kul, sks, semester, waktu, tempat, dan nama_dos. Tabel kuliah tersebut tidak memenuhi normalisasi pertama, karena terdapat atribut waktu yang tergolong ke dalam atribut bernilai banyak. Agar tabel tersebut
dapat
memenuhi
1NF,
maka
solusinya
adalah
dengan
mendekomposisi tabel kuliah menjadi : -
Tabel kuliah (kode_kul, nama_kul, sks, semester, nama_dos).
-
Tabel jadwal (kode_kul, waktu, ruang).
19
c.
Bentuk normal tahap kedua (2nd normal form) Bentuk normal kedua (2NF) terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Sebuah tabel dikatakan tidak memenuhi 2NF, jika ketergantungannya hanya bersifat parsial (hanya tergantung pada sebagian dari primary key). Bentuk normal kedua akan dicontohkan berikut. Misal tabel nilai terdiri dari atribut kode_kul, nim dan nilai. Jika pada tabel nilai. Misalnya kita tambahkan sebuah atribut yang bersifat redundan, yaitu nama_mhs, maka tabel nilai ini dianggap melanggar 2NF. Primary key pada tabel nilai adalah (kode_kul, nim). Penambahan
atribut
baru
(nama_mhs)
akan
menyebabkan
adanya
ketergantungan fungsional yang baru yaitu nim > nama_mhs. Karena atribut nama_mhs ini hanya memiliki ketergantungan persial pada primary key secara utuh (hanya tergantungn pada nim, padahal nim hanya bagian dari primary key). Bentuk normal kedua ini dianggap belum memadai karena meninjau sifat ketergantungan atribut terhadap atribut terhadap primary key saja. d. Bentuk normal tahap ketiga (3rd normal form) Sebuah tabel dikatakan memenuhi bentuk normal ketiga (3NF), jika untuk setiap ketergantungan fungsional dengan notasi X -> A, dimana A mewakili semua atribut tunggal di dalam tabel yang tidak ada di dalam X, maka : - X haruslah superkey pada tabel tersebut.
20
- Atau A merupakan bagian dari primary key pada tabel tersebut. Misalkan pada tabel mahasiswa, atribut alamat_mhs dipecah kedalam alamat_jalan, alamat_kota dan kode_pos. Bentuk ini tidak memenuhi 3NF, karena terdapat ketergantungan fungsional baru yang muncul pada tabel tersebut, yaitu : alamat_jalan, nama_kota – kode_pos Dalam hal ini (alamat_jalan, nama_kota) bukan superkey sementara kode_pos juga bukan bagian dari primary key pada tabel mahasiswa. Jika tabel mahasiswa didekomposisi menjadi tabel mahasiswa dan tabel alamat, maka telah memenuhi 3NF. Hal itu dapat dibuktikan dengan memeriksa dua ketergantungan fungsional pada tabel alamat tersebut, yaitu : alamat_jalan, nama_kota – kode_pos kode_pos – nama_kota Ketergantungan fungsional yang pertama tidak melanggar 3NF, karena (alamat_jalan, nama_kota) merupakan superkey (sekaligus sebagai primary key) dari tabel alamat tersebut. Demikian juga dengan ketergantungan fungsional yang kedua meskipun (kode_pos) bukan merupakan supeerkey, tetapi nama_kota merupakan bagian dari primary key dari tabel alamat. Karena telah memenuhi 3NF, maka tabel tersebut tidak perlu di-dekomposisi lagi. e.
Bentuk Normal Tahap Keempat dan Kelima Penerapan aturan normalisasi sampai bentuk normal ketiga sudah memadai untuk menghasilkan tabel berkualitas baik. Namun demikian, terdapat pula
21
bentuk normal keempat (4NF) dan kelima (5NF). Bentuk Normal keempat berkaitan dengan sifat ketergantungan banyak nilai (multivalued dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional. Adapun bentuk normal tahap kelima merupakan nama lain dari Project Join Normal Form (PJNF). f.
Boyce Code Normal Form (BCNF) - Memenuhi 1st NF - Relasi harus bergantung fungsi pada atribut superkey (Kusrini; 2010 : 4143).
II.5.2. Contoh Normalisasi Berikut akan diberikan contoh proses peracangan database denga teknik normalisasi. Dokumen dasar :
Gambar II.1. Dokumen Dasar (Sumber : Kusrini; 2010 : 44)
22
Bentuk tidak ternormalisasi :
Gambar II.2. Bentuk tidak ternormalisasi (Sumber : Kusrini; 2010 : 44-45) Bentuk normal 1 :
Gambar II.3. Bentuk Normal 1 (Sumber : Kusrini; 2010 : 45)
23
Kelemahan : -
Insert : ingin memasukkan supplier tanpa transaksi
-
Delete : menghapus transaksi → supplier terhapus
-
Update : mengganti satu nama supplier → lainnya jadi tidak benar
-
Redundancy : jumlah ← hasil perhitungan qty * harga
Bentuk 2nd NF : KdFaktur
→ Tgl, Jtempo, KodeSup, NamaSup
KdFaktur, Kodebrg → NamaBrg, Qty, Harga
Bentuk BCNF : KdFaktur
→ Tgl, Jtempo, KodeSup
KdSup
→ NamaSup
KdFaktur, Kodebrg → Qty, Harga KdBrg
→ NamaBrg. (Kusrini; 2010 : 44-46).
24
II.6.
Unified Modeling Language (UML) UML adalah bahasa spesifikasi standar yang dipergunakan untuk
mendokumentasikan, menspesifikasikan dan membangun perangkat lunak. UML merupakan metodologi dalam mengembangkan sistem berorientasi objek dan juga merupakan alat untuk mendukung pengembangan sistem. UML saat ini sangat banyak dipergunakan dalam dunia industri yang merupakan standar bahasa pemodelan umum dalam industry perangkat lunak dan pengembangan sistem. Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan UML adalah sebagai berikut : -
Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dapat dikatakan use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi – fungsi tersebut. (Windu Gata ; 2013 : 4). Use case menggambarkan fungsionalitas yang disediakan sistem sebagai unit – unit yang bertukar pesan antar unit dengan aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal nama use case.
25
Actor atau aktor adalah abstraction dari orang atau sistem yang lain yang mengaktifkan fungsi dari target sistem. Untuk mengidentifikasikan aktor, harus ditentukan pembagian tenaga kerja dan tugas – tugas yang berkaitan dengan peran pada konteks target sistem. Orang atau sistem bisa muncul dalam beberapa peran. Perlu dicatat bahwa aktor berinteraksi dengan use case, tetapi tidak memiliki kontrol terhadap use case.
Gambar II.4. Diagram Use Case. (Sumber : Windu Gata; 2013 : 4)
-
Diagram Aktivitas (Activity Diagram)
Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. (Windu Gata ; 2013 : 6). Start point, diletakkan pada pojok kiri atas dan merupakan awal aktifitas. End point, akhir aktifitas.
Activities, menggambarkan suatu proses / kegiatan bisnis.
26
Decision point, menggambarkan pilihan untuk pengambilan keputusan, true atau false.
Gambar II.5. Diagram Aktivitas. (Sumber : Windu Gata; 2013 : 6)
-
Diagram Urutan (Sequence Diagram)
Sequence diagram menggambarkan kelakuan objek pada usecase dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. (Windu Gata ; 2013 : 7). Entitas Class, merupakan bagian dari sistem yang berisi kumpulan kelas berupa entitas – entitas yang membentuk gambaran awal sistem dan menjadi landasan untuk menyusun basis data. Boundary Class, berisi kumpulan kelas yang menjadi interface atau interaksi antara satu atau lebih aktor dengan sistem, seperti tampilan formentry dan form cetak. Control Class, suatu objek yang berisi logika aplikasi yang tidak memiliki tanggung jawab kepada entitas, contohnya adalah kalkulasi dan aturan bisnis yang melibatkan berbagai objek.
Gambar II.6. Diagram Sequence (Sumber : Windu Gata; 2013 : 7)
27
-
Class Diagram (Diagram Kelas)
Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan tanggungjawab entitas yang menentukan perilaku sistem. Class diagram juga menunjukkan atribut – atribut dan operasi – operasi dari sebuah kelas dan constraint yang berhubungan dengan objek yang dikoneksikan. Class diagram secara khas meliputi: Kelas (Class), Relasi, Associations, Generalization dan Aggregation, Atribut (Attributes), Operasi (Operations/Method), Visibility, tingkat akses objek eksternal kepada suatu operasi atau atribut. (Windu Gata ; 2013 : 8). Multiplicity
Penjelasan
1
Satu dan hanya satu
0...*
Boleh tidak ada atau 1 atau lebih
1....*
1 atau lebih
0....1
Boleh tidak ada, maksimal 1 Batasan antara. Contoh : 2.....4
n....n mempunyai arti minimal 2 maksimal 4
Gambar II.7. Class Diagram. (Sumber : Windu Gata; 2013 : 9)
28
II.6.1. Contoh Diagram Unified Modeling Language (UML) 1.
Use Case Diagram Update Barang Master
<< extend >> << extend >>
Update Pelanggan
Penjualan Update
Fakturis << include >> Cetak Faktur
Pelanggan
Pembayaran
Kasir
<< include >>
Cetak Kwitansi
Gambar II.8. Use Case Penjualan (Sumber : Windu Gata; 2013:13) Untuk lebih jelasnya mengenai gambar tersebut adalah sebagai berikut : -
Terdapat 3 aktor, yaitu fakturis, pelanggan, dan kasir.
-
Fakturis berhubungan secara langsung ke pada case update data, sehingga fakturis dapat melakukan pemuktahiran data barang dan pelanggan.
-
Pelanggan (berhubungan tidak langsung) dapat meminta fakturis (yang melakukan operasi komputer) untuk melakukan pemasukan data penjualan sekaligus melakukan pencetakkan faktur.
29
-
Berdasarkan faktur yang didapat oleh pelanggan, maka pelanggan melakukan pembayaran ke kasir dan mendapat kwitansi yang dicetak oleh kasir.
2. Class Diagram Pelanggan - KodePelanggan
Faktur 1
0..*
Kwitansi
- NomorFaktur
1
0..*
- NomorKwitansi
- NamaPelanggan
- TanggalFaktur
- TanggalKwitansi
- Alamat
- KodePelanggan
- NomorFaktur
1....*
FakturDetail Barang - id - KodeBarang 1
0..*
- NomorFaktur
- NamaBarang - KodeBarang - Stok - Qty - HargaStandar - Harga
Gambar II.9. Diagram Class Penjualan (Sumber : Windu Gata; 2013:14)
Penjelasan gambar tersebut diatas adalah : -
Pelanggan boleh tidak melakukan pembelian atau melakukan pembelian satu kali atau sebanyak mungkin. Sedangkan dalam faktur harus terisi kode pelanggan.
-
Faktur tidak akan tercatat dalam kwitansi apabila belum melakukan pembayaran, tetapi
akan tercatat pada kwitansi setelah melakukan
30
pembayaran. Sedangkan dalam kwitansi haruslah tercatat NomorFaktur. Id pada FakturDetail merupakan kunci. -
FakturDetail merupakan agregrasi komposit (faktur memiliki FakturDetail atau FakturDetail tidak akan ada kalau kelas faktur tidak ada), dan
-
Dalam faktur detail haruslah tertera KodeBarang minimal satu atau lebih.
3. Activity Diagram Pelanggan
Menyerahkan Belanjaan
Fakturis
Kasir
Entry Belanjaan
Cetak Faktur Menerima Faktur
Melakukan Pembayaran
Entry Kwitansi
Menerima Kwitansi
Cetak Kwitansi
Gambar II.10. Diagram Activitas (Sumber : Windu Gata; 2013:15)
Penjelasan untuk gambar activity diagram tersebut adalah : -
Terdapat alur dari kegiatan penjualan, yaitu dimulai dari pelanggan menyerahkan belanjaan kepada fakturis.
31
-
Lalu di entry data belanjaan tersebut selanjutnya dicetak faktur oleh fakturis yang kemudian diberikan ke pelanggan.
-
Setelah menerima faktur, pelanggan melakukan pembayaran melalui kasir yang datanya langsung di entry untuk dicetak kwitansi.
-
Kasir memberikan kwitansi kepada pelanggan sebagai tanda pelunasan.
4. Sequence Diagram
Kasir
FormFaktur
Buka
Pelanggan Controler
Pelanggan
Barang Controler
Faktur Controler
Faktur
Faktur Detail
Baranng
Faktur
Form Entry Kode
Tampilkan Form
Cari Pelanggan
Cari Pelanggan
Pelanggan
Entry Kode
Cari Barang
Cari Barang
Barang Entry Qty Hitung Total Simpan Faktur Save Data
Add Faktur Add Faktur Detail Kurangi Stock
Cetak Faktur
Gambar II.11. Contoh Sequence Diagram Untuk Entry Faktur (Sumber : Windu Gata; 2013:16)
<
>
32
Penjelasan gambar sequence diagram untuk entry faktur, yaitu : -
Kasir merupakan aktor yang berinteraksi langsung dengan tampilan layar dari entry faktur, yang pertamana dilakukan adalah membuka form faktur yang kemudian melakukan entry kode pelanggan, dalam tampilan form entry tersebut akan dapat secara otomatis tampil kode pelanggan dengan cara membaca didalam entitas pelanggan, sehingga akan terkirim pesan dari kode pelanggan terakir yang sudah dientri sebelumnya.
-
Selanjutnya melakukan pemasukan data barang dalam form faktur dengan cara mengirimkan pesan ke kontrol barang dan mencari data barang di entitas barang yang kemudian mengirimkan pesan kembali sehingga tampil data barang yang diinginkan.
-
Kemudian dimasukkan jumlah pembelian barang dan dilakukan penghitungan total pembelian barang.
-
Setelah semua data entry faktur sudah dilakukan maka penyimpanan data faktur dalam entitas faktur dan detail faktur, serta program melakukan pengurangan stok.
-
Pencetakan faktur dilekukan dengan menggunkan printer. (Windu Gata; 2013:17)
II.7.
Mengenal Java Java merupakan sebuah bahasa pemrograman berorientasi objek yang
dapat berjalan pada platform yang berbeda, baik di windows, linux, serta sistem operasi lainnya. Jadi, kita dapat membuat sebuah aplikasi dengan java pada sistem operasi linux dan selanjutnya menjalankan atau menginstal aplikasi tersebut pada
33
sistem operasi windows dan juga sebaliknya tanpa mengalami masalah. Dengan menggunakan java, kita dapat mengembangkan banyak aplikasi yang dapat digunakan pada lingkungan yang berbeda, seperti pada : Desktop, Mobile, Internet, dan lain – lain. Untuk menginstalasi dan menggunakan java, Sun Microsystem selaku pengembang java menyediakan paket instalasi sesuai dengan kebutuhan kita dalam membangun suatu aplikasi. Berikut ini uraian singkat mengenai paket aplikasi java yang tersedia. 1. J2ME (Java 2 Micro Edition). 2. J2SE (Java 2 Standard Edition). 3. J2EE (Java 2 Enterprise Edition). (Supriyatno ; 2010:2).
II.8.
Mengenal MySQL MySQL (My Structure Query Language) adalah salah satu Database
Management System (DBMS) dari sekian banyak DBMS seperti Oracle, Ms SQL, Postagre SQL, dan lainnya. MySQL berfungsi untuk mengolah database menggunakan bahasa SQL. MySQL Bersifat Open Source sehingga kita bisa menggunakannya
secara
gratis.
Pemrograman
PHP
juga
sangat
mendukung/support dengan database MySQL. (Anhar ; 2010:45). II.9.
Pengertian Database Banyak sekali definisi tentang database yang diberikan oleh para pakar
dibidang ini. Database terdiri dari dua penggalan kata yaitu data dan base, yang artinya berbasiskan pada data. Tetapi secara konseptual, database diartikan sebuah koleksi atau kumpulan data yang saling berhubungan (relation), disusun menurut
34
aturan tertentu secara logis, sehingga menghasilkan informasi. Sebuah informasi yang berdiri sendiri tidaklah dikatakan database. Contoh : Nomor telepon seorang pelanggan, disimpan dalam banyak tempat apakah itu di file pelanggan, di file alamat dan di lokasi yang lain. Antara file yang satu dengan file yang lainnya tidak saling berhubungan, sehingga apabila salah seorang pelanggan berganti nomor telepon dan anda hanya mengganti di file pelanggan saja, akibatnya akan terjadi ketidakcocokan data, karena di lokasi yang lain masih tersimpan data telepon yang lama. Dalam sistem database hal ini tidak boleh dan tidak bisa terjadi, karena antara file yang satu dengan file yang lain saling berhubungan. Jika suatu data yang sama anda ubah, data tersebut di file yang lain akan otomatis berubah juga. Sehingga mampu menjadi informasi yang diinginkan dan dapat dilakukan proses pengambilan, penghapusan, pengeditan, terhadap data secara mudah dan cepat (Efektif, Efisien dan Akurat). Data adalah fakta, baik berupa sebuah objek, orang dan lain – lain yang dapat dinyatakan dengan suatu nilai tertentu (angka, simbol, karakter tertentu, dan lain – lain). Sedangkan informasi adalah data yang telah diolah sehingga bernilai guna dan dapat dijadikan bahan dalam pengambilan keputusan, (Yuhefizard ; 2010 : 2). Hubungan data dan informasi dapat digambarkan sebagai berikut : Data
Proses
Informasi
Gambar II.12. Data dan Informasi. (Sumber : Yuhefizard ; 2010 : 2)
35
II.10. Entity Relationship Diagram (ERD) Pada dasarnya ERD (Entity Relationship Diagram) adalah sebuah diagram yang secara konseptual memetakan hubungan antar penyimpanan pada diagram DFD di atas. ERD ini digunakan untuk melakukan permodelan terhadap struktur data dan hubungannya. Penggunaan ERD ini dilakukan untuk mengurangi tingkat kerumitan penyusunan sebuah database yang baik. Entity dapat berarti sebuah obyek yang dapat dibedakan dengan obyek lainnya. Obyek tersebut dapat memiliki komponen – komponen data (atribut atau field) yang membuatnya dapat dibedakan dari obyek yang lain. Dalam dunia database entity memiliki atribut yang menjelaskan karakteristik dari entity tersebut. Ada dua macam atribut yang dikenal dalam entity yaitu atribut yang berperan sebagai kunci primer dan atribut deskriptif. Hal ini berarti setiap entity memiliki himpunan yang diperlukan sebuah primary key untuk membedakan anggota – anggota dalam himpunan tersebut. Atribut dapat memiliki sifat – sifat sebagai berikut : -
Atomic, atomik adalah sifat dari atribut yang menggambarkan bahwa atribut tersebut berisi nilai yang spesifik dan tidak dapat dipecah lagi. Contoh dari sifat atomik adalah field status dari tabel karyawan yang hanya berisi menikah atau single.
-
multivalued, sifat ini menandakan atribut ini bisa memiliki lebih dari satu nilai untuk tiap entity tertentu. Misalnya adalah field hobi, hobi dari tiap karyawan mungkin dan hampir pasti lebih dari satu. Misalnya karyawan A memiliki hobi : membaca, nonton TV dan bersepeda.
36
-
Composite, atribut yang bersifat komposit adalah atribut yang nilainya adalah gabungan dari beberapa atribut yang bersifat atomik. Contohnya adalah atribut alamat yang dapat dipecah menjadi atribut atomik berupa alamat, kode pos, no telepon, dan kota. (Wahana Komputer; 2010:30)
II.10.1. Contoh Desain Awal ERD Sebagai contoh, langkah – langkah desain awal ERD sebagai berikut : 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang terlibat, seperti gambar berikut :
Gambar II.13. Entiti Yang Terlibat Sumber : ( Y. Supardi ; 2010 : 79 ) 2. Menetukan atribut – atribut key dari masing – masing himpunan entitas, seperti gambar berikut :
Gambar II.14. Key Masing-Masing Entiti Yang Terlibat Sumber : ( Y. Supardi ; 2010 : 79 ) 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas – entitas yang ada beserta kunci tamu (foreign key).
37
Gambar II.15. Kunci Tamu Entiti Dan Interface (Himpunan Relasi) Sumber : ( Y. Supardi ; 2010 : 79 ) 4. Menentukan derajat / kardinalitas setiap himpunan.
Gambar II.16. Derajat Kardinalitas Sumber : ( Y. Supardi ; 2010 : 80 ) 5. Menentukan himpunan entitas dan himpunan relasi dengan atribut – atribut deskriptif (bukan kunci), karena field terlalu banyak dapat menggunkan kamus data.
Gambar II.17. Atribut Bukan Kunci Sumber : ( Y. Supardi ; 2010 : 80 )
38
II.11. Kamus Data Kamus Data (KD) atau data dictionary (DD) atau disebut juga dengan istilah system data dictionary adalah katalog fakta tentang data dan kebutuhan – kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan kamus data, analisis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap. Kamus data dibuat pada tahap analisis sistem dan digunakan baik pada tahap analisis maupun pada tahap perancangan sistem. (Jurnal Ilmiah Komputer dan Informatika. Vol1, Utami Dewi Widianti; 2012:58). Kamus Data (Data Dictionary) mencakup definisi – definisi dari data yang disimpan didalam basis data dan dikendalikan oleh sistem manajemen basis data. Figur 6.5 menunjukkan hanya satu tabel dalam basis data jadwal. Struktur basis data yang dimuat dalam kamus data adalah kumpulan dari seluruh definisi field. Definisi tabel, relasi tabel, dan hal – hal lainnya. Nama field data, jenis data (seperti teks atau angka atau tanggal), nilai – nilai yang valid untuk data, dan karakteristik – karakteristik lainnya akan disimpan dalam kamus data. Perubahan – perubahan pada struktur data hanya dilakukan satu kali didalam kamus data, program – program aplikasi yang mempergunakan data tidak akan ikut terpengaruh. (Raymond McLeod, Jr. George P. Schell; 2010:171).