Sunday, September 8, 2019

DBMS (Database Management System)

         Pengertian DBMS 

Pengertian DBMS adalah suatu sistem atau software yang dirancang khusus untuk mengelola suatu database dan menjalankan operasi terhadap data yang diminta oleh banyak pengguna.Tujuan utama penggunaan DBMS dalam jaringan komputer adalah untuk menghindari kekacauan dalam hal pengolahan data yang jumlahnya besar.DBMS merupakan perantara bagi pengguna dan database (baca: pengertian database), dan agar dapat berinteraksi dengan DBMS maka pengguna harus memakai bahasa database yang sudah ditentukan.Ada dua jenis bahasa komputer yang dapat digunakan dalam berinteraksi dengan DBMS, yaitu:
  • Data Definition Language (DDL); digunakan untuk menggambarkan desain dari basis data secara keseluruhan, mulai dari membuat tabel baru, memuat indeks, maupun mengubah tabel.
  • Data Manipulation Language (DML); digunakan untuk memanipulasi dan mengambil data dari database, menghapus data dari database, dan mengubah data pada suatu database.
Agar lebih memahami arti DBMS, maka kita dapat merujuk pada pendapat para ahli berikut ini:

1. Rogayah

Menurut Rogayah, pengertian DBMS adalah suatu sistem yang dapat menyusun dan mengelola berbagai record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/ perusahaan sehingga dapat menyediakan informasi yang optimal yang dibutuhkan dalam proses mengambil keputusan

2. Waliyanto
Menurut Waliyanto, pengertian DBMS adalah suatu gabungan dan juga perpaduan antara basis data (database) dengan Database Management System (DBMS) atau sistem manajemen basis data (SMBD).

3. C.J. Date
Menurut Date C.J. Date, definisi DBMS adalah tempat atau lokasi untuk sekumpulan berkas data yang sudah terkomputerisasi dengan tujuan untuk memelihara informasi, dan juga memuat informasi tersebut, terutama apabila informasi tersebut sedang dibutuhkan.

4. S. Attre
Menurut S. Attre, pengertian DBMS adalah semua yang berkaitan dengan software, hardware (baca: pengertian hardware), firmware dan berbagai prosedur yang mengelola database. Firmware adalah software yang telah menjadi modul yang tertanam pada hardware (ROM).

5. Gordon C. Everest
Menurut Gordon C. Everest, pengertian DBMS adalah manajemen yang efektif untuk mengorganidit sumber daya data. Dengan kata lain, Sistem Basis Data adalah sistem pengorganisasian dan sistem pengolahan Database pada komputer.

Sejarah tentang DBMS

Ini adalah landmark penting dari sejarah DBMS :
  • 1960 - Charles Bachman perancang pertama sistem DBMS.
  • 1970 - Cood memperkenalkan IBM'S Information Management System (IMS).
  • 1976 - Peter Chen membuat dan mendefiniskan model hubungan entity-relationship   model yang dikenal sebagai ER model.
  • 1980 - Relational model menjadi komponen database yang umum
  • 1985 - DBMS berorientasi menjadi objek yang berkembang
  • 1990 - Penggabungan objek-objek dalam DBMS relational
  • 1991 - Microsoft menggirimkan MS acces,DBMS pribadi dan menggantikan semua DBMS pribadi lainnya
  • 1995 - Aplikasi pertama Database
  • 1997 - XML digunakan untuk mengolah data.Banyak penjual mulai menginstegrasikan XML menjadi DBMS
Tujuan DBMS

Seperti yang sudah disinggung pada pengertian DBMS (Database Management System) yang mana berfungsi sebagai perangkat yang berguna untuk mengorganisasi sumber daya data perusahaan, maka berikut ini beberapa tujuan penggunaan DBMS pada jaringan komputer perusahaan:
  • Agar basis data dapat digunakan secara bersama
  • Agar proses akses data lebih mudah dan cepat
  • Untuk menghemat ruang penyimpanan data
  • Membantu menjaga keamanan data
  • Mencegah dan menghilangkan duplikasi dan inskonsistentsi data
  • Menangani data dalam jumlah yang besar
Macam-Macam DBMS

Dalam penerapannya, terdapat beberapa jenis software DBMS yang sering diaplikasikan untuk mengelola database perusahaan yaitu diantaranya:

1. MySQL
Image result for MySQL
Perangkat lunak DBMS yang pertama adalah MySQL yang banyak digunakan karena memang tersedia secara gratis. Sehingga aplikasi ini cocok digunakan untuk bisnis-bisnis yang sedang berkembang.
Meskipun tidak berbayar, namun tingkat keamanannya cukup baik dengan kecepatan akses data yang selalu stabil. Akan tetapi perangkat ini kurang kompatibel dengan bahasa pemograman Foxpro, Visual Basic (VB) dan Delphi serta kurang mampu menangani data yang jumlahnya terlalu besar.

2. Oracle
Image result for Oracle Database
Jika Anda menginginkan perangkat lunak DBMS yang bagus dan berbayar bisa memilih software Oracle. Perangkat ini memiliki beragam fitur yang dapat memenuhi tuntutan fleksibilitas perusahaan besar. Bahkan perangkat ini juga memiliki pemrosesan transaksi dengan peforma yang sangat tinggi.
Dengan kemampuan yang mumpuni tersebut sehingga tidak heran jika software ini dijual dengan harga yang sangat mahal dengan sistem komputerisasinya yang rumit. Namun untuk memenuhi kriteria seperti pada pengertian DBMS/ Database Management System, perangkat ini tidak perlu diragukan lagi dalam hal keamanan.

3. Microsoft SQL Server
Image result for SQL Server
Selain Oracle, perangkat lunak DBMS ini juga cocok diaplikasikan pada sistem jaringan komputer perusahaan-perusahaan besar karena memiliki kemampuan mengelola data yang besar.
Microsoft SQL Server memiliki sistem pengamanan data yang baik dan memiliki fitur back up, recovery dan rollback data. Namun sayangnya perangkat ini hanya bisa berjalan pada OS Windows saja.

4. Firebird
Image result for firebird database
Perangkat lunak DBMS lainnya adalah Firebird sebagai sistem manajemen basis data yang relasional. Firebird menawarkan  fitur yang sesuai dengan standar SQl-2003 dan ANSI SQL-99 serta dapat bekerja pada OS Windows dan Linux.

Komponen DBMS

Pada umumnya DBMS memiliki beberapa komponen fungsional atau modul. Adapun beberapa komponen DBMS adalah sebagai berikut:

1. File Manager
Komponen yang mengelola ruang di dalam disk dan juga struktur data yang digunakan untuk merepresentasikan informasi yang tersimpan pada disk.

2. Database Manager

Komponen yang menyediakan interface antar data low-level yang terdapat pada basis data dengan program aplikasi serta query yang diberikan ke suatu sistem.

3. Query Processor
Komponen yang berfungsi menterjemahkan perintah dalam bahasa query ke instruksi low-level yang dapat dimengerti database manager.

4. DML Precompiler

Komponen yang mengkonversi perintah DML, yang ditambahkan pada suatu program aplikasi ke pemain prosedur normal dalam bahasa induk.

5. DDL Compiler

Komponen yang mengkonversi berbagai perintah DDL ke dalam sekumpulan tabel yang mengandung meta data.

Kelebihan dan Kekurangan DBMS

Meskipun sebenarnya banyak kelebihan yang bisa didapatkan dengan menerapkan program DBMS pada jaringan komputer, namun ternyata masih terdapat beberapa kekurangan DBMS.

1. Kelebihan DBMS
  • Dapat mengendalikan pengulangan data
  • Memberikan data yang konsisten
  • Kemampuan mendapatkan informasi yang lebih banyak dan jumlah data yang sama
  • Pengguna dapat memakai data secara bersama-sama
  • Memperbaiki integritas data
  • Menjaga keamanan
  • Membantu penetapan standarisasi
  • Perbandingan skala ekonomi
  • Dapat menyeimbangkan konflik kebutuhan
  • Mempercepat akses dan respon data
  • Mempercepat produktifitas
  • Meningkatkan pemeliharaan data melalui data independen
  • Meningkatkan konkurensi
  • Meningkatkan layanan backup dan recovery
2. Kekurangan DBMS
  • Penggunaannya cukup kompleks
  • Kompleksitas DBMS mengakibatkan ukurannya yang besar
  • Biaya DBMS tidak sama tergantung pada lingkungan dan fungsi yang disediakan
  • Ada tambahan biaya untuk hardware
  • Diperlukan biaya konversi untuk penggunaan DBMS yang baru
  • Umumnya performa kinerja menurun seiring waktu
  • Performa yang menurun mengakibatkan kegagalan yang lebih besar
NoSQL

NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horizontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang di dalamnya mencakup sistem menejemen database relasional. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horizontal (horizontal scale).
           NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. Dimana data saling memanggil ke beberapa permintaan, tambahan data baru, perubahan data, dan lain-lain dengan key yang sama. Karena faktor hubungan antar data yang sama terjadi terus-menerus, mendorong faktor redudansi data, data menjadi berlipat-lipat, dan pada akhirnya akan menyebabkan crash pada database berkonsep RDBMS (Relational Database Manajement System).
      Harus ada cara lain untuk menanggulangi masalah ini,  dan NoSQL lah solusinya. NoSQL menyederhanakan proses yang terjadi dalam sistem basis data relasional. Dimana hal-hal yang menyebabkan redudansi, dihilangkan sehingga trafik server akan seimbang. Penyederhanaan proses ini memungkinkan data direplikasi di banyak server secara mudah dan menjamin ketersediaan data.

Konsep Penyimpanan NoSQL
Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem database relasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.

Dilihat dari cara penyimpanan data saja basis data NOSQL tersebar dari cara penyimpanan :
  • Key-value based (disimpan dalam bentuk kunci-isi berpasangan)
  • Document based (disimpan dalam bentuk dokumen-dokumen)
  • Column based (disimpan dalam bentuk kolom-kolom)
  • Graph based (disimpan dalam bentuk grafik atau diagram)
Contoh Jenis-jenis Aplikasi Database NoSQL
Secara singkat, berikut ini juga akan saya sampaikan beberapa database NoSQL yang populer digunakan di dunia.

1. MongoDB












MongoDB merupakan basis data yang paling populer diantara basis data NoSQL lainnya untuk saat ini. Hal ini dikarenakan pemasangan maupun penggunaan mongoDB tidaklah sulit atau merepotkan penggunanya. Selain itu mongoDB juga merupakan salah satu basis data yang open source sehingga pengembangan mongoDB sendiri cukup pesat karena setiap orang bisa berpartisipasi untuk mengembangkannya.

MongoDB merupakan basis data NoSQL yang document based. Ia menyimpan data-datanya dalam suatu dokumen JSON yang disebut BSON (Binary JSON).

Dikembangkan sejak tahun 2009, mongoDB sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat berinteraksi dengan mongoDB. Tak hanya bahasa pemrograman, beragam framework terkenal pun sudah dapat menggunakan mongoDB untuk menyimpan datanya sehingga kita tidak akan kesulitan untuk mengintegrasikan aplikasi yang kita buat dengan basis data ini.

2. CouchDB








Apache CouchDB, biasa disebut dengan CouchDB saja, merupakan basis data NoSQL yang dikembangkan oleh Apache. CouchDB lebih dulu muncul jauh sebelum mongoDB yaitu pada tahun 2005. CouchDB tidak menyimpan datanya dalam tabel melainkan dalam dokumen seperti halnya mongoDB.

Basis data ini juga merupakan proyek open source serta dikembangkan dalam bahasa pemrograman Erlang oleh karena itu kita bisa ikut berkontribusi dalam pengembangan CouchDB agar basis data ini lebih baik.

3. Cassandra














Cassandra merupakan sebuah sistem penyimpanan data terdistribusi untuk menangani jumlah data yang sangat besar dan terstruktur. Cassandra juga dikembangkan Apache, pengembang yang sama untuk basis data CouchDB. Kemampuan Cassandra dalam menyimpan data dengan jumlah yang sangat besar tidak diragukan lagi, puluhan perusahaan besar telah mempercayakan Cassandra sebagai salah satu penunjang kerja mereka diantaranya: Facebook, Digg, IBM, Reddit, Rackspace, Apple, Twitter dan beberapa lainnya.
Cassandra juga merupakan aplikasi open source yang ditulis dalam bahasa Java dengan lisensi Apache License 2.0.

Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra Query Language (CQL).

4. Redis








Redis adalah basis data open source dan merupakan basis data berbasis key-value paling populer menurut situs DB-Engines.com. Redis merupakan singkatan dari REmote DIctionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory, networked, dan durabilitas tinggi.

Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.

5. Riak








Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan fitur high availabilityfault toleranceoperational simplicaity, dan scalability. Riak memiliki dua versi yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan.

Rilis pertama Riak muncul pada tanggal 17 Agustus 2009. Basho Technologies merupakan perusahaan yang mengembangkan Riak.

6. Neo4j








Neo4j merupakan basis data NoSQL dengan sistem graf. Apabila berurusan dengan basis data berbasis graf, maka Neo4j lah yang paling dikenal. Neo4j menyimpan relasi antar objek dalam struktur seperti graf, dimana setiap objek merujuk ke objek lainnya secara langsung.

Dalam menambahkan maupun mengambil data, Neo4j memiliki bahasa sendiri yang disebut Cypher.

Neo4j ditulis dalam bahasa Java dengan lisensi GPL V3 oleh Neo Technologies artinya Neo4j termasuk basis data yang open source.

7. OrientDB










OrientDB merupakan basis data graf terdistribusi generasi kedua. Basis data ini dibuat dalam bahasa Java oleh Orient Technologies LTD dan dirilis pertama kali tahun 2010. OrientDB diklaim sangat cepat dan mampu menyimpan 220.000 record per detik diperangkat standar.

OrientDB menawarkan dua edisi yakni Community Edition yang tersedia secara gratis dan Enterprise Edition yang merupakan aplikasi komersial dikembangkan oleh tim yang sama yang mengembangkan engine OrientDB.

Jika anda pernah menggunakan mongoDB maupun Neo4j, anda bisa melihat perbedaan diantara OrientDB vs mongoDB dan OrientDB vs Neo4j disitus resminya.

OrientDB dapat digunakan bersama JavaScript, .NET, node.js, php, Scala, Ruby, Python, C, Clojure, Java, dan Perl.

Sumber : 


Sekian dan Terima Kasih.Semoga Bermanfaat !