Minggu, 06 Januari 2019

DATABASE MANAGEMENT SYSTEM (DBMS)

LATAR BELAKANG
Basis data 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).
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. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kwitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS).

PENGERTIAN BASIS DATA SECARA UMUM DAN KHUSUS


Data merupakan fakta mengenai suatu objek seperti manusia, benda, peristiwa, konsep, keadaan dan sebagainya yang dapat dicatat dan mempunyai arti secara implisit. Data dapat dinyatakan dalam bentuk angka, karakter atau simbol, sehingga bila data dikumpulkan dan saling berhubungan maka dikenal dengan istilah basis data (database) [Ramez2000]. Informasi adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang [Abdul1999]. Menurut Encyclopedia of Computer Science and Engineer, para ilmuwan di bidang informasi menerima definisi standar informasi yaitu data yang digunakan dalam pengambilan keputusan. Definisi lain dari basis data menurut Fabbri dan Schwab adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan duplikasi data.  Menurut Ramez Elmasri mendefinisikan basis data lebih dibatasi pada arti implisit yang khusus, yaitu:
  1. Basis data merupakan penyajian suatu aspek dari dunia nyata (real world).
  2. Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implisit.
  3. Basis data perlu dirancang, dibangun dan data dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa user dan beberapa aplikasi yang sesuai dengan kepentingan user.
Dari beberapa definisi-definisi tersebut, dapat dikatakan bahwa basis data mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajat interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapat digunakan oleh beberapa user untuk berbagai kepentingan [Waliyanto2000].

HIRARKI DATA
Data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut:
Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin.
Rekaman merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari rekaman adalah baris atau tupel. Berkas adalah himpunan seluruh rekaman yang bertipe sama.

SISTEM BASIS DATA
adalah suatu sistem menyusun dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan.



Data Base Management System (DBMS)/Sistem Manajemen  Basis  Data (SMB)
DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memodifikasi dan memperoleh data/informasi dengan praktis dan efisien.
  
Kelebihan dari DBMS antara lain adalah:
Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya :
  • Performance yang idapat dengan penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori
  • Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam DBMS. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.
  • Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.
  • Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. kemudahan di dalam melakukan bagi pakai dengan DBMS dan juga kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar.
  • Sekuritas. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna.

Keuntungan-keuntungan dalam penggunaan DBMS antara lain adalah:
a.       Independensi data,DBMS menyediakan pendekatan yang membuat perubahan dalam data tidak membuat program harus diubah.
b.      Pengaksesan yang efisien terhadap data, DBMS menyediakan berbagai teknik yang canggih sehingga penyimpanan dan pengambilan data dilakukan secara efisien.
c.       Keamanan dan integritas data, Karena data dikendalikan oleh DBMS, DBMS dapat melakukan kendala integritas terhadap data. Segala sesuatu yang tidak sesuai dengan definisi suatu field dan kekangan yang melekat pada field akan ditolak. Sebagai contoh, jika field Jenis_Kelamin dinyatakan berupa P atau W, maka penyimpanan L ke field tersebut dengan sendirinya akan ditolak oleh DBMS.
d.      Administrasi data, Jika sejumlah pemakai berbagi data, pemusatan administrasi dapat meningkatkan perbaikan yang sangat berarti. Dengan cara seperti ini, duplikasi atau redudansi data dapat diminimalkan.
e.       Akses bersamaan dan pemulihan terhadap kegagalan, DBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang dalam waktu yang sama. Selain itu, DBMS melindungi pemakai dari efek kegagalan sistem. Jika terjadi kegagalan sistem, DBMS dapat mengembalikan data sebagaimana kondisi saat sebelum terjadi kegagalan.
f.       Waktu pengembangan aplikasi terpendek, DBMS menawarkan banyak fasilitas yang memudahkan dalam menyusun aplikasi sehingga waktu pengembangan aplikasi dapat diperpendek.

Kelemahan-kelemahan DBMS antara lain:
  1. Biaya & Harga DBMS yang Tinggi & Mahal Kebutuhan untuk medapatkan perangkat lunak dan perangkat keras yang tepat cukup mahal, termasuk biaya pemeliharaan dan sumber daya  manusia yang mengelola basis data tersebut.
  2. Sangat kompleks. Sistem basis data lebih kompleks dibandingkan dengan proses berkas, sehingga dapat mudah terjadinya kesalahan dan semakin sulit dalam pemeliharaan data.
  3. Resiko data yang terpusat. Data yang terpusat dalam satu lokasi dapat beresiko  kehilangan data selama proses aplikasi.
  4. Membutuhkan media penyimpanan yang besar
  5. Membutuhkan memory komputer yang besar
  6. Membutuhkan spesifikasi hardware yang tinggi / khusus
  7. Membutuhkan waktu yang lama untuk konversi sistem
  8. Terkadang kinerja DBMS low performance
  9. Resiko kegagalan cukup tinggi

Arsitektur DBMS
Arsitektur ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut:
a.        Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam basis data, serta jalur pengaksesan data.
b.       Level konsepsual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan, tanpa memuat deskripsi data secara detail.
c.        Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok user tersebut.


Komponen DBMS
Secara umum komponen-komponen DBMS terdiri dari:
  • Interface, yang didalamnya terdapat bahasa manipulasi data (data manipulation language)   Bahasa definisi data (data definition language) untuk skema eksternal, skema konsepsual dan skema internal.
  • Sistem kontrol basis data (Database Control System) yang mengakses basis data karena adanya perintah dari bahasa manipulasi data.
  • Perangkat Keras  ( Hardware )

Perangkat keras yang biasanya terdapat dalam sistem basis data adalah memori sekunder hardisk.

·         Sistem Operasi ( Operating System )

Sistem Operasi (Operating System) merupakan program yang mengaktifkan atau mengfungsikan sistem komputer, mengendalikan seluruh sumber daya (resource) dan melakukan operasi-operasi dalam komputer. Sistem Operasi yang banyak digunakan seperti: MS-DOS, MS-Windows 95 MS Windows NT, dan Unix.

·         Basis data ( Database )

Sebuah basis data ( Database ) dapat memiliki beberapa basis data. Setiap basis data dapat berisi atau memiliki sejumlah objek basis data seperi file atau tabel.
·         Pemakai ( User )
Bagi pemakai dapat berinteraksi dengan basis data dan memanipulasi data dalam program yang ditulis dalam bahasa pemograman.
·         Database administrator adalah orang atau group yang bertanggungjawab mengimplementasikan sistem database di dalam suatu organisasi
·         End user adalah orang yang berada di depan workstation dan berinteraksi secara langsung dengan sistem.
·         Programmer aplikasi, orang yang berinteraksi dengan database melalui cara yang   berbeda.

Contoh bahasa menggunakan komponen-komponen tersebut adalah SQL (Structured Query Language). SQL merupakan bahasa standar yang digunakan oleh kebanykan aplikasi-aplikasi DBMS.

MODEL DATA
Model data dapat dikelompokkan berdasarkan konsep pembuatan deskripsi struktur basis data, yaitu:
  1. Model data konsepsual (high level) menyajikan konsep tentang bagaiman user memandang atau memperlakukan data. Dalam model ini dikenalkan tiga konsep penyajian data yaitu:
·         Entity  (entitas)  merupakan  penyajian  obyek,  kejadian  atau  konsep  dunia  nyata  yang keberadaannya secara eksplisit didefinisikan dan disimpan dalam basis data, contohnya : Mahasiswa, Matakuliah, Dosen, Nilai dan lain sebagainya.
·          Atribute  (atribut)  adalah  keterangan-keterangan  yang  menjelaskan karakteristik dari suatu entitas seperti NIM, Nama, Fakultas, Jurusan untuk entitas Mahasiswa.
·         Relationship (hubungan) merupakan hubungan atau interaksi antara satu entitas dengan yang lainnya, misalnya entitas pelanggan berhubungan dengan entitas barang yang dibelinya.
  1. Model data fiskal (low level) merupakan konsep bagaimana deskripsi detail data disimpan ke dalam komputer dengan menyajikan informasi tentang format rekaman, urutan rekaman, dan jalur pengaksesan data yang dapat membuat pemcarian rekaman data lebih efisien.
  2. Model data implementasi (representational) merupakan konsep deskripsi data disimpan dalam komputer dengan menyembunyikan sebagian detail deskripsi data sehingga para user mendapat gambaran global bagaimana data disimpan dalam komputer. Model ini merupakan konsep model data yang digunakan oleh model hirarki, jaringan dan relasional.



Skema dan Instan Basis Data
Skema basis data merupakan deskripsi dari basis data yang spesifikasinya ditentukan dalam tahap perancangan namun tidak terlalu diharapkan diubah setiap saat. Penggambaran skema umumnya hanya berisi sebagian dari deatil deskripsi basis data. 


Sekelompok data yang tersusun dalam satu baris rekaman (record/tuple) dan tersimpan dalam basis data disebut dengan instansi (instance) atau kejadian (occurences).

MODEL DATA RELASIONAL
Pada model relasional, basis data akan “disebar”  atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut baris data (row / record) dan lajur vertikal yang biasa disebut dengan kolom (column / field).
Contoh Tabel dan keterhubungannya :



Keuntungan Basis Data Relasional
1. Bentuknya sederhana
2.  Mudah melakukan berbagai operasi data
Istilah dalam Basis Data Relasional :
  • Relasi 
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan  diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
  • Atribut
Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data.
  • Tuple
Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM, nama mahasiswa, alamat, kota, dll.
  • Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
  • Derajat (degree)
Jumlah atribut dalam sebuah relasi
  • Cardinality
Jumlah tupel dalam sebuah relasi



Relational Key
*Super key 
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi.
*Candidate key
Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas. Atribut di dalam relasi yang biasanya mempunyai nilai unik. Satu set minimal dari atribut menyatakan secara tak langsung dimana kita tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.
*Primary key
Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakilisetiap kejadian dari suatu entitas.  Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
*Alternate key
Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key.
*Foreign key (Kunci Tamu)
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Kunci tamu ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan. 



Relational Integrity Rules
  1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
  1. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
  1. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan. Bahasa Pada Basis data Relational Menggunakan bahasa query   pernyataan yang diajukan untuk mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena merupakan inti dari upaya untuk pengelolaan data.

PEMBUATAN BASIS DATA

Pembuatan Basisdata
            Dalam pembuatan basisdata terdapat beberapa tahapan, diantaranya ialah:
1)      Pengumpulan dan Analisis
·         Menentukan kelompok pemakai dan bidang-bidang aplikasinya:melakukan identifikasi bidang aplikasi dan kelompok pemakai, kemudian dipilih anggota kelompok pemakai yang dapat dipakai sebagai kunci pemakai utama yang dapat mewakili kelompoknya
·         Peninjauan dokumentasi yang ada: mempelajari dan menganalisis dokumen yang ada pada aplikasi tertentu.
·         Analisa lingkungan operasi dan pemrosesan data:mempelajari sistem yang sedang berjalan baik itu masih menggunakan sistem manusl ataupun sudah mengggunakan sistem computer
·         Daftar pertanyaan dan wawancara: pada calon pemakai yang dipandang potensial untuk meperoleh spesifikasi informasi dan proses yang diperlukan.



2)      Perancangan database secara konseptual
·         Perancangan skema konseptual: tentang organisasi data yang harus disimpan dalam basis data
·         Perancangan transaksi: yang dilakukan untuk memperoleh informasi dari sistem basis data hasil analisis pada tahap 1
3)      Proses design  database
·         Pengumpulan dan analisa requirement
·         Design basis data conceptual
·         Pemilihan DBMS
·         Mapping dari conceptual ke logical
·         Physical Design
·         Implementasi 


Pengunaan Basisdata
              Basisdata dalam arsitektur IT

DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memodifikasi dan memperoleh data/informasi dengan praktis dan efisien.

Contoh produk basisdata
-  DB2  à IBM
-  ORACLE à Oracle
-  SYBASE à Powersoft 
-  INFORMIX à Informix   
-  Microsoft Access à Microsoft

Pemakaian basisdata elektronik
Perangkat komputer dalam suatu organisasi/perusahaan biasanya digunakan untuk menjalankan fungsi pengelolaan sistem informasi dan basis data merupakan salah satu komponen utama dalam setiap sistem informasi. Tidak ada sistem informasi yang bisa dibuat/dijalankan tanpa adanya basis data.
Berikut adalah bidang-bidang fungsional yang telah umum memanfaatkan basis data:
  • Pergudangan,
  • Akuntansi,
  • Reservasi,
  • Layanan Pelanggan,
  • dan lain-lain.
Sedangkan bentuk-bentuk organisasi/perusahaan yang memanfaatkan basis data:
  • Asuransi,
  • Rumah Sakit,
  • Produsen Barang,
  • Industri Manufaktur,
  • Pendidikan,
  • Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
  • Bandara : Pengelolaan data reservasi, penjadwalan
  • Universitas : Pengelolaan pendaftaran, alumni
  • Penjualan : Pengelolaan data customer, produk, penjualan
  • Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan, agen
  • Kepegawaian: Pengelolaan data karyawan, gaji, pajak
  • Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa dan lain-lain.



Keahlian basisdata
Meningkatnya peran basisdata dalam industri, kebutuhan akan tenaga-tenaga ahli yang berhubungan dengan basisdata juga mengalami peningkatan. Beberapa keahlian yang biasanya diperlukan dunia industri dalam bidang basisdata :
  1. Bisinis analisis
  2. Data modeling
  3. Database design
  4. Database administration
  5. Database manajemen

Pengguna Basis Data

v  System Engineer

Tenaga ahli yang bertanggung jawab atas pemasangan sistem basis data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual

v  Database Administrator (DBA)

Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.

Tugas DBA

·         Mengontrol DBMS dan software-software
·         Memonitor siapa yang mengakses basis data
·         Mengatur pemakaian basis data
·         Memeriksa security, integrity, recovery dan concurency

Program Utilitas yang digunakan oleh DBA :

·         Loading Routines, Membangun versi utama dari basis data
·         Reorganization Routines, Mengatur / mengorganisasikan kembali basis data
·         Journaling Routines, Mencatat semua operasi pemakaian basis data
·         Recovery Routines, Menempatkan kembali data, sebelum terjadinya kerusakan
·         Statistical Analysis Routines, Membantu memonitor kehandalan sistem

v  End User (Pemakai Akhir)

Ada beberapa jenis (tipe) pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :

v  Programmer aplikasi

Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa pemrograman induk (seperti C, pascal, cobol, dll)

v  Pemakai Mahir (Casual User)

Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS

v  Pemakai Umum (End User / Naïve User)

Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya

v  Pemakai Khusus (Specialized/Sophisticated User)

Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dll, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.


KESIMPULAN
          DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memodifikasi dan memperoleh data/informasi dengan praktis dan efisien. Kelebihan-kelebihan dari DBMS antara lain terdapat dari faktor performance nya yang lebih efisien dalam penggunaan penyimpanan data atau memory, integritas data yang lebih terjamin, independensi, sentralisasi, dan sekuritas yang lebih fleksibel. Komponen-komponen yang terdapat dalam DBMS terdiri dari interface, database control system, hardware, operating system, database, dan user.
Dalam pembuatan basisdata terdapat beberapa tahapan antara lain pengumpulan dan analisis, perancangan database secara konseptual, dan terakhir proses design database.

Halaman