Saturday, March 23, 2013

DATABASE MANAGEMENT SYSTEM (DBMS)



Pada setiap perangkat komputer, pasti terdapat data di dalamnya. Data adalah kumpulan item yang belum dip roses, yang dapat berupa huruf/teks, angka, gambar, audio, serta video. Kemudian, kali ini kita akan membahas mengenai Database. Database adalah kumpulan data yang terorganisir, yang memungkinkan pengguna komputer untuk melakukan akses, pengambilan, pengolahan, serta penggunaan data.
Manfaat dari sebuah Database dirasa sangatlah perlu, terlebih untuk organisasi, karena Database dapat mengurangi duplikasi data, meningkatkan integritas data,  sharing data, akses yang lebih mudah, serta mempersingkat waktu agar lebih efisien.

Software dari Database, atau yang sering disebut Database Management System (DBMS) merupakan software yang sering digunakan untuk menyimpan data, kemudian diolah oleh para pemakai software ini melalui komputer menjadi informasi. Pemakai software ini dapat membuat Database yang terkomputerisasi, me-maintain data di dalam Database, mengurutkan dan mengambil data dari Database, serta membuat form dan laporan dari data yang ada di dalam Database tersebut.

Fungsi secara umum dari DBMS adalah sebagai data dictionary (repository), maintenance dan pengambilan data menggunakan bahasa yang terdiri dari pernyataan-pernyataan sederhana seperti dalam Bahasa Inggris, yang memungkinkan pemakai untuk men-spesifikasikan data dari Database untuk ditampilkan, dicetak, atau disimpan, yang mencakup penambahan record, modifikasi data pada record yang telah ada, dan menghapus record dari Database. Kemudian untuk jendela pada layar yang menyediakan area untuk menambah atau memodifikasi data di dalam Database. Kemudian sebagai report generator, adalah fitur yang memungkinkan pengguna untuk mendesain report pada layar, me-retrieve data ke dalam desain report, lalu menampilkan atau mencetak report tersebut. Kemudian DBMS memiliki access privilege untuk setiap pengguna Database serta backup and recovery dimana sebagai fitur DBMS untuk melakukan replikasi data dan me-restore data backup ketika terjadi kerusakan pada Database utama.

Setiap Database dan DBMS berdasarkan pada data model yang spesifik. Data model terdiri dari aturan dan standar yang mendefinisikan bagaimana Database mengorganisasikan data, tetapi tidak mendefinisikan bagaimana sistem operasi mengatur data di dalam disk secara aktual. Jenis data model yang popular dan digunakan saat ini seperti Relational Database dimana Database ini yang menyimpan data dalam tabel-tabel yang terdiri dari baris dan kolom, serta menyimpan relationship data antar tabel. Di dalam tabel, setiap baris memiliki primary key dan setiap kolom memiliki nama yang unik.

Sebagian besar produk relational Database untuk komputer server dan mainframe telah include SQL (Structured Query Language), yaitu sebuah bahasa query yang memungkinkan pengguna untuk me-manage, mengubah, dan mengambil data di dalam Database. Contoh DBMS yang menggunakan data model relational adalah Microsoft Access, Adabas, FileMaker, Informix, Ingres, InterBase, MySQL, SQL Server, Sybase dan Teradata.

Kemudian, Object oriented Database (OODB), Database ini menyimpan data di dalam object. Memiliki banyak keuntungan dibanding relational Database: OODB dapat menyimpan lebih banyak tipe data, akses data lebih cepat, dan memungkinkan programmer untuk menggunakan kembali object tersebut. OODB menyimpan data yang tidak terstruktur (seperti foto, video, audio, dan dokumen) dengan lebih efisien daripada relational Database. Contoh aplikasi yang sesuai untuk OODB data mode seperti Multimedia Database yaitu untuk menyimpan gambar, audio, dan video. Seperti Database GIS (Geographic Information System) yang menyimpan peta dan data geografi lainnya. Kemudian, Groupware Database yaitu menyimpan dokumen seperti jadwal, kalender, manual, memo, dan laporan. Kemudian, Computer-aided design (CAD) Database: menyimpan data tentang engineering, arsitektur, dan desain scientific. Data di dalam Database telah include sebuah daftar komponen dari sesuatu yang didesain, relationship antar-komponen, dan draft desain di versi sebelumnya (previous version). Kemudian yang cukup sering digunakan yaitu Hypertext Database yaitu sebuah Database yang  berisi teks yang ter-link ke tipe dokumen yang lain. Dapat berupa teks, grafik, video, dan audio. Pencarian data dilakukan melalui halaman web.
Contoh DBMS yang menggunakan data model OODB seperti FastObjects, GemFire, KE Texpress, ObjectStore, dan Versant.

Kemudian, jenis selanjutnya adalah Object-relational Database dimana Database ini memiliki fitur yang merupakan kombinasi dari relational Database dan OODB. Contohnya seperti DBMS DB2, Oracle, Polyhedra, PosgreSQL, Visual FoxPro, Teradata.

Kemudian jenis yang lainnya adalah Multidimensional Database, Database ini adalah Database yang menyimpan data dalam dimensi. Relational Database adalah tabel dua dimensi, sedangkan Database multidimensional dapat menyimpan data lebih dari dua dimensi. Multiple dimensi ini dikenal dengan hypercube, yang memungkinkan pengguna untuk mengakses dan menganalisa berbagai view dari data di dalam Database. Contoh aplikasi yang menggunakan Database multidimensional adalah Data Warehouses, yakni Database besar yang menyimpan dan menyimpan dan mengelola data yang dibutuhkan untuk menganalisis history dan transaksi data saat ini.
Contoh DBMS yang menggunakan data model ini adalah D3, Essbase, dan Oracle Express Edition.



Kemudian, dalam Memanage Database perusahaan membutuhkan koordinasi dengan great deal. Role pengguna dalam administrasi Database seperti Role sebagai Database analyst dan administrator dimana Role ini Bertanggung jawab untuk me-manage dan mengkoordinasikan semua aktivitas Database. Database analyst (DA), atau data modeler, berfokus pada meaning dan penggunaan data. DA memutuskan penempatan yang sesuai dari field, mendefinisikan relationship diantara data, dan mengidentifikasi access privilege para pengguna. Database administrator (DBA) membutuhkan teknik yang lebih di dalam view data. DBA membuat dan me-maintain data dictionary, mengatur sekuritas Database, memonitor kinerja Database, dan memeriksa prosedur backup dan recovery.
Pada perusahaan kecil, peran DA dan DBA dilaksanakan oleh satu orang. Sedangkan di perusahaan yang lebih besar, tanggung jawab DA dan DBA terpisah menjadi dua orang atau lebih.

Kemudian, Role karyawan sebagai Database user. Dimana Role ini Bertugas untuk me-maintain data yang ada di dalam Database.
Beberapa DBMS yang telah popular, dan yang akan dibahas lebih lanjut dalam essay ini adalah Oracle Database, SQL Server, dan MySQL.

Yang pertama adalah Oracle Server, dimana Oracle Server ini adalah DBMS yang menyediakan pendekatan menyeluruh dan terbuka pada information management. Oracle server mampu menagani data dalam jumlah yang besar, serta dapat diakses oleh banyak user. Sama dengan DBMS yang lain, Oracle server juga mencegah user yang tidak memiliki otoritas dan mampu mengatasi failure. Oracle Server terdiri dari Oracle Instance dan Oracle Database.
Oracle menjual lisensi dari produknya. Aplikasi Database Oracle dapat didownload di situs web Oracle, kemudian pengguna dapat menginstal dan menggunakan aplikasi tersebut pada sebuah device. Untuk mendapatkan support dari Oracle dalam penggunaan aplikasi yang telah diinstal dan untuk mendapatkan Customer Support ID (CSI), pengguna harus melakukan pembelian lisensi atas produk tersebut.

Setelah lisensi dimiliki oleh pengguna, maka pengguna akan mendapatkan support penuh dari Oracle. Support yang dimaksud dapat berupa pemberitahuan tantang patch terbaru serta bagaimana menginstal patch tersebut, kemudian apabila terdapat permasalahan tentang aplikasi, atau terdapat bugs, maka pengguna dapat menghubungi Customer Care Oracle untuk mendapatkan bantuan untuk mengatasi permasalahan tersebut. Lain halnya dengan pengguna yang tidak memiliki lisensi atas aplikasi yang digunakan. Pengguna tersebut tidak mendapatkan support dari Oracle atau business partner-nya, sehingga ketika terjadi permasalahan pada aplikasi, pengguna tidak dapat melakukan complain atau menghubungi customer service Oracle untuk mendapatkan solusi atas permasalahan yang ada. Selain itu, aplikasi gratis seperti ini tidak diperbolehkan penggunaannya untuk kepentingan komersial.


Database Oracle merupakan aplikasi berlisensi yang di dalam dunia IT dikenal sebagai Database high-level. Dapat menampung data dalam jumlah yang sangat besar, yang mencapai 8 juta Gigabyte bahkan lebih. Dapat berjalan di berbagai platform sistem operasi, seperti Windows, AIX, Solaris, dan Linux. Oracle Database juga dapat diakses oleh berbagai bahasa pemrograman diantaranya Java, PHP, dan .net framework dari Microsoft.

Oracle Database adalah aplikasi Database yang rumit untuk dipelajari, sehingga dalam penggunaannya memerlukan seorang DBA (Database administrator) yang handal untuk me-manage Database tersebut. Memiliki 2 jenis aplikasi yaitu standalone dan enterprise. Untuk menggunakan Oracle Database, pengguna harus memiliki komputer dengan spesifikasi yang tinggi agar dapat berjalan dengan stabil. Sebagai contoh, penggunaan Oracle Database 10g standalone pada hardware komputer dengan spesifikasi prosesor 1,2 GHz dan memory 500MB, terasa sangat lambat. Karena memerlukan hardware spesifikasi tinggi dan juga merupakan aplikasi premium, hal ini berimplikasi pada biaya yang diperlukan untuk implementasinya, sehingga kebanyakan pengguna dari Oracle Database ini adalah perusahaan-perusahaan besar.

Karena memiliki kapasitas yang besar, Oracle Database mampu menangani data dalam ukuran yang besar dan  mengolahnya dengan cepat, serta fleksibel dalam memenuhi kebutuhan pengguna akan data yang terus meningkat jumlahnya. Oracle Database memiliki kemampuan Technology Cluster Server, yang memungkinkan 1 aplikasi Database server berjalan di beberapa unit mesin, dan seluruhnya aktif. Juga fitur flashback, dimana sistem menyimpan semua aktivitas yang dilakukan oleh para pengguna, sehingga ketika terjadi misal listrik mati secara tiba-tiba, sistem dapat me-recover aktivitas yang terjadi sebelum listrik mati pada saat sistem telah aktif kembali.

Selanjutnya adalah Microsoft SQL Server, dimana SQL Server adalah aplikasi Database yang dikembangkan oleh perusahaan IT terkemuka di dunia, Microsoft. Merupakan relational DBMS premium (berbayar), yang berjalan pada platform sistem operasi yang juga dimiliki oleh pengembangnya, yaitu Microsoft Windows. Pengguna dari aplikasi Database ini rata-rata merupakan perusahaan di skala kecil dan menengah.
SQL Server memiliki kapasitas yang besar, mampu mengolah data dalam jumlah besar. Memiliki fitur untuk manajemen user privilege. Dapat diakses oleh semua bahasa pemrograman di platform Windows seperti Visual Basic, .net, dan lain-lain. SQL server juga memiliki fitur untuk backup, rollback, dan recovery data.






Kemudian yang terakhir adalah MySQL, dimana MySQL adalah Database RDBMS open source yang berjalan sebagai server, yang melayani akses multi-user dalam sebuah Database. Yang memberikan kehandalan dan efektif dari sisi biaya, memiliki kinerja yang tinggi, dan aplikasi Database berbasis web dan tertanam di dalam sistem.
MySQL edisi premium (berbayar) juga tersedia untuk penggunaan secara komersial, dan menawarkan fungsional tambahan. Aplikasi yang menggunakan Database MySQL antara lain TYPO3, Joomla, Wordpress, phpBB, MyBB, Drupal, dan lain-lain. MySQL juga digunakan oleh banyak produk web high-profile dan berskala besar seperti Wikipedia, Google (tidak termasuk untuk pencarian/Google Search), Facebook, Twitter, Flickr, Nokia.com, dan Youtube.

Merupakan relational Database management system (RDBMS) dan di-deliver tanpa fitur GUI (Graphical User Interface) untuk administrasi Database atau me-maintain data yang ada di dalam Database. Pengguna dapat menggunakan peralatan command line, atau menggunakan MySQL front-ends, perangkat lunak desktop dan aplikasi web untuk membuat dan me-manage Database, membangun struktur Database, backup data, memonitor status, dan me-maintain record­ data. Peralatan front-end MySQL yang resmi, adalah MySQL Workbench, dikembangkan secara aktif oleh Oracle dan tersedia dalam dua edisi, yaitu edisi reguler (gratis dan open source) dan Standard Edition yang merupakan improvisasi paket fitur dari edisi Community.

MySQL dapat dijalankan di berbagai platform Operating System, seperti AIX, BSDi, FreeBSD, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenSolaris, Solaris, Symbian, SunOS, dll. Ditulis dalam bahasa C dan C++. Banyak bahasa pemrograman dengan spesifik bahasa APIs include libraries untuk mengakses Database MySQL. Juga termasuk MySQL Connector/Net untuk integrasi dengan Microsoft Visual Studio (bahasa pemrograman seperti C# dan Visual Basic yang paling umum digunakan) dan JDBC driver untuk Java. Selain itu, interface ODBC atau dikenal dengan MyODBC memungkinkan bahasa pemrograman tambahan yang mendukung interface ODBC untuk berkomunikasi dengan Database MySQL, seperti ASP atau ColdFusion.

MySQL saat ini tidak mengikuti full SQL standard untuk beberapa fungsi yang diimplementasikan, termasuk foreign key references ketika menggunakan beberapa storage engine selain InnoDB standard. Trigger saat ini dibatasi pada satu per action/timing, maksimal 1 setelah insert dan 1 sebelum insert di tabel yang sama. Tidak ada trigger pada view. Seperti RDBMS transaksional yang lain, sangat dibatasi oleh kinerja harddisk. Ini berlaku terutama dalam hal write latency.
MySQL dapat di-built dan diinstal secara manual dari source code, tetapi ini bisa menjadi membosankan sehingga secara umum MySQL diinstal dari binary package kecuali ada kebutuhan customization yang spesial/khusus. Di sebagian besar distribusi Linux, package management system dapat men-download dan instal MySQL dengan upaya yang sedikit, meski konfigurasi lebih jauh sering diperlukan untuk meningkatkan keamanan dan mengoptimalkan setting.
MySQL secara umum digunakan pada single server di skala kecil atau menengah, juga sebagai komponen berbasis LAMP (LAMP adalah akronim untuk Linux, Apache, MySQL, dan Perl/PHP/Python) atau sebagai Database server standalone. Yang menarik dari MySQL adalah relatif sederhana dan mudah digunakan, yang diaktifkan oleh ekosistem peralatan open source seperti phpMyAdmin. Dalam skala menengah, MySQL dapat diukur dengan di-deploy pada hardware yang lebih powerful, seperti server multi-processor dengan memory gigabytes.

Namun bagaimanapun juga, ada batasan seberapa jauh kinerja dapat diukur pada single server, sehingga pada skala yang lebih besar, penggunaan MySQL multi-server diperlukan untuk mendukung peningkatan performa dan kehandalan. Tipe konfigurasi high-end dapat include Database master yang powerful, yang meng-handle operasi penulisan data dan direplikasi ke multiple slave yang meng-handle seluruh operasi pembacaan data. Server master melakukan sinkronisasi secara kontinyu dengan server slave sehingga ketika ada kegagalan/kerusakan pada server master, server slave dapat di-promote untuk menjadi master yang baru, hal ini juga untuk keperluan mengurangi downtime. Peningkatan performa lebih jauh dapat dicapai dengan caching hasil dari query Database di dalam memory menggunakan memcached, atau memecah Database menjadi bagian-bagian yang lebih kecil yang dikenal dengan shard, yang dapat disebarkan di lintas cluster server tersebut.

Menurut saya, kesimpulan dari essay diatas adalah dimana setiap orang dapat membuat Database secara manual. Namun terdapat beberapa faktor yang mempertimbangkan Misalnya untuk mengumpulkan data-data seperti data keuangan, data kesehatan, data pekerjaan, dan lain-lain. Yaitu dalam perihal penggunaan dan maintenance-nya. Apabila kita melalui Database manual, Database manual tersebut tidak efektif karena rentan akan penduplikasian data dan memerlukan waktu yang lebih lama untuk mengaksesnya. Untuk mengatasi permasalahan tersebut, alangkah lebih baiknya para pengguna dapat mulai menggunakan aplikasi Database pada komputer. Yang sering disebut dengan DBMS (Database Management System) dimana dengan sistem tersebut faktor mengenai rentannya akan penduplikasian data dan jangka waktu yang lebih lama untuk mengaksesnya tersebut akan lebih singkat dan lebih efektif.

Namun, terdapat banyak aplikasi Database yang tersedia, mulai dari DBMS premium yang berbayar cukup mahal hingga DBMS yang gratis. Perbedaan aplikasi Database berikut terdapat pada fitur-fiturnya. Database yang berbayar tersebut pasti memiliki fitur yang lebih banyak dan lebih canggih serta up-to date dimana selalu diupgrade. Seperti Database Oracle yang penjualannya berbasis lisensi. Aplikasi Database Oracle tersebut dapat di download secara gratis di situs Oracle, namun penggunanya memerluka pembayaran untuk memiliki license dan mendapatkan CSI (Customer Support ID) dari penggunaan aplikasi tersebut. Demikian juga dengan MySQL, memiliki aplikasi Database yang gratis serta open source, serta yang premium. Perbedaannya hanya pada yang premium memiliki fitur yang lebih lengkap dan lebih sempurna.

No comments:

Post a Comment