Rabu, 08 Juni 2016

BASIS DATA ( DATA BASE )

‘’BASIS DATA ( DATA BASE )’’
A.    Pengertian Data Base
Basis Data (Database), adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Istilah “basis data” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer.
Bahasa Basis Data (Database) Bahasa basis data merupakan bahasa yang digunakan oleh user untuk berkomunikasi/berinteraksi dengan DBMS yang bersangkutan. Misalnya SQL, dBase, QUEL,dan sebagainya. Secara umum bahasa basis data terdiri atas: Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek-objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder. Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali.
B.     Tujuan Data Base
a.    Kecepatan dan kemudahan (Speed)
Agar pengguna basis data dapat menyimpan data, melakukan perubahan/manipulasi terhadap data, dan menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis).
b.      Efisiensi ruang penyimpanan (Space)
Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan
c.       Keakuratan (Accuracy)
Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data, dsb.
d.   Ketersediaan (Avaibility)
Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan dalam kata lain kadaluwarsa untuk menghemat ruang penyimpanan.
e.    Kelengkapan (Completeness)
Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru.
f.     Keamanan (Security)
Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.
g.      Kebersamaan pemakaian (Sharability)
Agar data yang dikelola oleh sistem mendukung lingkungan multi user (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).
Kegunaan Basis Data Secara umum, seluruh sistem dalam kehidupan bisa menggunakan konsep basis data dalam pengelolaan informasi, karena semua sistem tersebut tak bisa lepas dari fakta. Bidang-bidang fungsional yang memanfaatkan basis data dalam hal efisiensi, akurasi dan kecepatan operasi antara lain adalah:
1.      Pergudangan (inventory), untuk perusahaan manufaktur (pabrik), grosir (reseller), apotik dan lain-lain.
2.      Akuntansi, untuk berbagai perusahaan layanan pelanggan (Customer care), untuk perusahaan yang berhubungan dengan banyak pelanggan (bank, konsultan, dan lain- lain). Bentuk-bentuk Perusahaan yang memanfaatkan Basis Data.
3.      Perbankan, dalam melakukan pengelolaan data nasabah, tabungan, pinjaman, pembuatan laporan akuntansi, pelayanan informasi pada nasabah dan lain-lain.
4.      Pendidikan / sekolah, dalam melakukan pengelolaan data siswa, penjadwalan kegiatan, perkuliahan, nilai, dan lain-lain.
5.      Telekomunikasi, dalam melakukan pengelolaan data administrasi kabel / data pelanggan, menangani gangguan, dan lain-lain
C.     Microsoft Access dan MySQL
1.      Microsoft Access
Microsoft Access (Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan, sekolahan  dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemrograman berorientasi objek.
2.      MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL
D.    Hardware Database
Perangkat keras
·         Prosesor atau CPU sebagai unit yang mengolah data
·         Memori RAM, tempat menyimpan data sementara
·         Hard drive, media penyimpanan semi permanen
·         Perangkat masukan, media yang digunakan untuk memasukkan data untuk diproses oleh
·         CPU, seperti mouse, keyboard, dan tablet
·         Perangkat keluaran, media yang digunakan untuk menampilkan hasil keluaran pemrosesan
·         CPU, seperti monitor dan printer
E.   Software Database
Perangkat Lunak Basis Data Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):
·         Microsoft SQL Server
·         Visual FoxPro
·         Oracle
·         Arago
·         Force
·         Sybase
·         Recital
·         Interbase
·         dbFast
·         Xbase
·         dbXL
·         Firebird
·         Quicksilver
·         MySQL
·         Clipper
·         PostgreSQL
·         FlagShip
·         Microsoft Access
·         Harbour 22. dBase III
·         Visual dBase
·         FoxPro
·         Paradox
F.      Hardware Database
Perangkat keras
·     Prosesor atau CPU sebagai unit yang mengolah data
·     Memori RAM, tempat menyimpan data sementara
·     Hard drive, media penyimpanan semi permanen
·     Perangkat masukan, media yang digunakan untuk memasukkan data untuk diproses oleh
·     CPU, seperti mouse, keyboard, dan tablet
·     Perangkat keluaran, media yang digunakan untuk menampilkan hasil keluaran pemrosesan
·     CPU, seperti monitor dan printer
G.    Software Database
Perangkat Lunak Basis Data Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):
·         Microsoft SQL Server
·         Visual FoxPro
·         Oracle
·         Arago
·         Force
·         Sybase
·         Recital
·         Interbase
·         dbFast
·         Xbase
·         dbXL
·         Firebird
·         Quicksilver
·         MySQL
·         Clipper
·         PostgreSQL
·         FlagShip
·         Microsoft Access
·         Harbour 22. dBase III
·         Visual dBase
·         FoxPro
·         Paradox
H.      Lotus Smart Suite Approach
Keamanan Database
Keamanan sistem computer dalam Database di katagorikan dalam beberapa aspek yaitu:
1.      Privacy / Confidentiality
Inti utama aspek privacy  atau confidentiality adalah usaha untuk menjaga informasi dari orang yang tidak berhak mengakses. Privacy lebih kearah data-data yang sifatnya privat sedangkan confidentiality biasanya berhubungan dengan data yang diberikan ke pihak lain untuk keperluan tertentu (misalnya sebagai bagian dari pendaftaran sebuah servis) dan hanya diperbolehkan untuk keperluan tertentu tersebut.
2.      Authentication
Aspek ini berhubungan dengan metoda untuk menyatakan bahwa informasi asli, orang  yang mengakses atau memberikan informasi adalah betul-betul orang yang dimaksud, atau server yang kita hubungi adalah server yang asli.
3.      Availability
Aspek availability atau ketersediaan berhubungan dengan ketersediaan informasi ketika dibutuhkan. Sistem informasi yang diserang atau dijebol dapat menghambat atau meniadakan akses ke informasi
4.      Nonrepudiation
Merupakan hal yang bersangkutan dengan sipengirim, sipengirim tidak dapat mengelak bahwa dialah yang mengirim  pesan/informasi itu.
5.      Access control
Pengaturan (user ID) Aspek ini berhubungan dengan cara pengaturan akses kepada informasi. Hal itu biasanya berhubungan dengan masalah authentication dan juga privacyAcces control seringkali dilakukan menggunakan kombinasi user id dan password atau dengan menggunakan mekanisme lainnya.

Aspek-aspek  ancaman keamanan komputer :
1.      Interruption
Merupakan suatu ancaman terhadap availibility. Informasi dan data yang ada dalam sistem komputer dirusak dan dihapus sehingga jika dibutuhkan, data atau informasi tersebut tidak ada lagi.
2.      Interception
Merupakan ancaman terhadap kerahasiaan (secrecy). Informasi yang ada disadap atau orang yang tidak berhak mendapatkan akses ke komputer dimana informasi tersebut disimpan.
3.      Modifikasi
Merupakan ancaman terhadap integritas, orang yang tidak berhak berhasil menyadap lalulintas informasi yang sedang dikirim dan diubah sesuai keinginan orang tersebut.
4.      Febrication
Merupakan ancaman terhadap integritas. Orang yang tidak berhak berhasil meniru (memalsukan) suatu  informasi yang ada sehingga orang yang menerima informasi tersebut menyangka informasi tersebut berasal dari orang yang dikehendaki oleh si penerima informasi tersebut.
I.       Pengembangan Sistem Database
Perkembangan teknologi basis data tidak lepas dari perkembangan teknologi komputer, baik pada perangkat keras (hardware) maupun perangkat lunak (software) nya. Perkembangan teknologi jaringan komputer dan komunikasi data merupakan salah satu penyumbang kemajuan penerapan basis data yang kemudian melahirkan sistem basis data terdistribusi. Dampak perkembangan ini tentu saja dapat dirasakan dalam kehidupan kita. Perkembangan pada dunia perangkat lunak, juga mempengaruhi perkembangan basis data, sehingga lahirlah basis data berorientasi objek dan basis data cerdas. Tabel berikut ini memperlihatkan perkembangan teknologi basis data.

Era
Perkembangan Basis Data
1960-an
Sistem pemrosesan berkas
DBMS
Layanan informasi secara online berbasis  manajemen teks
1970-an
Penerapan sistem pakar pada suatu sistem pendukung pengambilan keputusan
Basis data berorientasi objek
1980-an
Sistem hyperteks, yang memungkinkan untuk melihat basis data secara acak menurut suatu kunci (seperti yang diterapkan di internet)
1990-an
Sistem basis data cerdas
Sistem basis multimedia cerdas



Penerapan Sistem Pakar

‘’Penerapan Sistem Pakar’’
A.   Pengertian Sistem Pakar
Sebuah program komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar (human expert). Secara umum, sistem pakar  adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar.  Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai  sistem yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan.
B.   Ciri-ciri sistem pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut:
• Memiliki informasi yang handal.
• Mudah dimodifikasi.
• Dapat digunakan dalam berbagai jenis komputer.
• Memiliki kemampuan untuk belajar  beradaptasi.
C.  Keuntungan sistem pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain:
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
2. Bisa melakukan proses secara berulang secara otomatis.
3. Menyimpan pengetahuan dan keahlian para pakar.
4. Meningkatkan output dan produktivitas
5. Meningkatkan kualitas.
6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
7. Mampu beroperasi dalam lingkungan yang berbahaya.
8. Memiliki kemampuan untuk mengakses pengetahuan.
9. Memiliki reabilitas.
10. Meningkatkan kapabilitas sistem komputer
D.    Kelemahan sistem pakar
Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain:
1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
3. Sistem pakar tidak 100% bernilai benar.
E.     Manfaat dan keterbatasan sistem pakar
1.    Manfaat sistem pakar
Manfaat sistem pakar antara lain yaitu:
ü  Dapat meningkatkan output dan produktivitas, karena sistem pakar dapat bekerja lebih cepat dari manusia.
ü  Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan.
ü  Dapat beroperasi di lingkungan yang berbahaya.
ü  Mampu menangkap kepakaran yang sangat terbatas.
ü  Memudahkan akses ke pengetahuan.
2.      Keterbatasan sistem pakar
Metodologi sistem pakar yang ada tidak selalu mudah, sederhana dan efektif. Keterbatasan yang menghambat perkembangan sistem pakar:
·         Pengetahuan yang hendak diambil tidak selalu tersedia.
·         Kepakaran sangat sulit diekstrak dari manusia.
·         Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda beda, meskipun sama-sama benar.
·         Pengguna sistem pakar mempunyai batas kognitif alami, sehingga mungkin tidak bisa memanfaatkan sistem secara maksimal.
·         Sistem pakar bekerja baik untuk suatu bidang yang sempit.

F.   Modul penyusun sistem pakar
Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu:
1.      Modul penerimaan pengetahuan (Knowledge  Acquisition Mode)
Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2.      Modul Konsultasi (Consultation Mode)
Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.
3.      Modul Penjelasan (Explanation Mode)
Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu keputusan dapat diperoleh).
G.  Struktur  sistem pakar
Komponen utama pada struktur sistem pakar menurut Huet al (1987) meliputi:
1. Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar.  Basis pengetahuan tersusun atas fakta dan kaidah.  Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.
2. Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar.  Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Didalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan.
3. Basis Data (Database)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
4. Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan komputer.
H.    Teknik representasi pengetahuan
Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu;
1. Rule-Based Knowledge                                                                                       
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
2. Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
3. Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).
4. Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk  kesimpulan kasus (cases). Inferencing dengan Rule: Forward dan Backward Chaining Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian).
Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.
a. Backward chaining
• Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
• Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
b. Forward chaining
Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.

• Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward  chaining.