< Previous 211 Basis Data a. Tujuan Pembelajaran. Setelah mengikuti kegiatan belajar 17 ini diharapkan peserta didik dapat: Memahami Konsep sistem manajemen basis data (SMBD) Memahami Sistem manajemen basis data relasional (RDBMS) Membedakan berbagai jenis SMBD b. Uraian materi. 1) Definisi Sistem manajemen basis Data Sistem manajemen basis data (database management system, DBMS), atau sering disingkat SMBD, adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. Contoh tipikal SMBD adalah akuntansi, sumber daya manusia, dan sistem pendukung pelanggan. SMBD telah berkembang menjadi bagian standar di bagian pendukung (back office) suatu perusahaan atau organisasi. Contoh SMBD adalah Oracle, SQL server 2000/2003, MS Access, MySQL dan sebagainya. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah yang besar. DBMS juga dirancang untuk dapat melakukan manipulasi data secara lebih mudah. Sebelum ada DBMS, data pada umumnya disimpan dalam bentuk flat file, yaitu file teks yang ada pada sistem operasi. Sampai sekarangpun masih ada aplikasi yang menimpan data dalam bentuk flat secara langsung. Menyimpan data dalam bentuk flat file mempunyai kelebihan dan kekurangan. Penyimpanan dalam bentuk ini akan mempunyai manfaat yang optimal jika ukuran filenya relatif kecil, seperti file passwd pada sistem operasi Unix dan Unix-like. File passwd pada umumnya hanya digunakan untuk menyimpan nama yang jumlahnya tidak lebih dari 1000 orang. Selain dalam bentuk flat file, penyimpanan data juga dapat dilakukan dengan menggunakan program bantu seperti spreadsheet. Penggunaan perangkat lunak ini memperbaiki beberapa kelemahan dari flat file, seperti bertambahnya kecepatan dalam pengolahan data. Namun demikian metode ini Kegiatan belajar 17: Sistem manajemen basis data 212 Basis Data masih memiliki banyak kelemahan, diantaranya adalah masalah manajemen dan keamanan data yang masih kurang. Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya : 1. Performa yang dapat 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 2. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam flat file. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan. 3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS. 4. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. Kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar. 5. Keamanan. 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. 2) Sistem manajemen basis data relasional Sebuah sistem manajemen basis data relasional atau dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang dirancang untuk mengatur atau mengelola sebuah basis data sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi data atas permintaan penggunanya. Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki 213 Basis Data perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan (pada saat itu standar yang diminta dapat dikatakan sangat tinggi) untuk mendukung jumlah data yang besar, saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehinggal dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan. Edgar F. Codd memperkenalkan istilah RDBMSi pada makalah seminarnya yang berjudul "A Relational Model of Data for Large Shared Data Banks". Salah satu definisi yang cukup dikenal secara luas atas sebuah sistem basis data relasional adalah 12 hukum Codd. Namun demikian, pada awal implementasinya banyak model relasional yang tidak mengikuti seluruh elemen-elemen yang terdapat dalam hukum-hukum Codd tersebut yang menjadikan terminologinya berkembang untuk mendeskripsikan sebuah tipikal sistem basis data yang lebih luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria berikut: menyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel beriisi sekumpulan baris dan kolom) menyediakan operator relasional untuk memanipulasi data dalam bentuk tabular Sistem yang pertama kalinya yang secara relatif memenuhi implementasi atas sebuah model relasional adalah Pusat Studi Ilmiah IB, Inggris, di Peterlee; IS1 (1970-1972) dan implementasi lain yang mengikutinya PRTV (1973-1979). Sistem yang pertama kalinya dijual secara komersil sebagai RDBMS adalah Multics Relational Data Srore pada tahun 1978. Yang lainnya adalah Berkeley Ingres QUEL dan IBM BS12. 3) Hukum Codd Hukum cood adalah suatu ketentuan atau aturan dan definisi standar dari sebuah sistem basis data relasional, yang diperkenalkan oleh Edgar F. Codd. Hukum Codd terdiri dari dua belas kriteria atau ketentuan yaitu : 1. Hukum 0: Suatu sistem harus memenuhi kualifikasi sebagai relasional, sebagai basisdata, dan sebagai sebuah sistem manajemen: 214 Basis Data 2. Hukum 1: Hukum informasi: Seluruh informasi yang terdapat dalam basisdata harus bisa direpresentasikan hanya dalam satu cara, yaitu dalam bentuk nilai-nilai yang terisi dalam bentuk tabular baris dan kolom. 3. Hukum 2: Hukum Jaminan akses:Seluruh data harus bisa diakses tanpa ada kerancuan (ambiguity). Hukum ini merupakan penegasan dari kebutuhan mendasar atas sebuah kunci primer. Hukum tersebut menjelaskan bahwa setiap nilai skalar dalam basisdata haruslah memiliki alamat secara logikal dengan cara menspesifikasikan nama dari tabel, nama dari kolom, dan nilai kunci primer dari baris data dalam tabel tersebut. 4. Hukum 3: Perlakuan sistematik terhadi nilai NULL:Sebuah sistem manajemen basisdata harus mengijinkan setiap field terisi dengan nilai NULL (kosong). Sistem harus mendukung representasi dari "Hilangnya informasi dan Ketidakbergunaan informasi" secara sistematis, membedakan secara jelas dari nilai-nilai yang lain (contoh: "perbedaan antara nol dengan nilai-nilai numerik lain," dalam kasus nilai-nilai numerik), dan tipe data yang bersifat independen. Termasuk pula representasi tersebut harus dapat dimanipulasi oleh DBMS melalui langkah-langkah yang sistematis. 5. Hukum 4: Katalog online yang aktif haruslah berbasis model relasional: Sistem harus mendukung sebuah katalog relasional yang bersifat online, inline yang bisa diakses untuk pengguna yang sah dalam arti melalui bahasa kueri reguler. Lebih jelas lagi, pengguna harus dapat mengakses struktur data tersebut (katalog) dengan cara yang sama menggunakan bahasa kueri yang digunakan pula untuk mengakses data. 6. Hukum 5: Hukum sub-bahasa data yang komprehensif: Sistem harus mendukung setidaknya satu bahasa relasional yang a. Memiliki sintaksis linear b. Dapat digunakan secara interaktif maupun melalui program aplikasi c. Mendukung operasi pendefinisian data (termasuk pendefinisan view), operasi manipulasi data, aspek kemanan dan pembatasan integritas, operasi-operasi manajemen transaksi (begin, commit, dan rollback). 215 Basis Data 7. Hukum 6: Hukum pembaruan/update view:Semua view yang secara teoritis dapat diupdate dalam implementasinya juga harus dapat diupdate oleh sistem. 8. Hukum 7: Level tingkat tinggi dalam operasi insert, update, dan delete: Sistem harus mendukung serangkaian operasi-operasi insert, update, and delete dalam satu masa waktu yang sama. 9. Hukum 8: Data secara fisik bersifat independen: Perubahan pada level fisik (bagaimana suatu data disimpan, menggunakan larik ataupun senarai berantai dsb.) harus tidak mengakibatkan perubahan pada struktur di sisi aplikasi pada level yang lebih tinggi. 10. Hukum 9: Data secara logikal bersifat independen: Perubahan pada level logikal (Tabel, kolom, baris) harus tidak mengakibatkan perubahan pada level struktur di sisi aplikasi pada level ang lebih tinggi. Hukum ini secara relatif lebih suli dicapai daripada hukum 8. 11. Hukum 10: Integritas data bersifat independen: Integritas data harus dispesifikasikan secara terpisah dari program aplikasi dan disimpan dalam katalog/struktur dan harus memungkinkan untuk melakukan perubahan terhadap struktur tersebut ketika dibutuhkan tanpa memengaruhi aplikasi yang telah ada. 12. Hukum 11: Distribusi yang bersifat independen: Distribusi atas sebagian dari basisdata ke berbagai lokasi harus dapat diatur sedemikian rupa sehingga tidak terlihat oleh pengguna dari basisdata tersebut. Begitu pula aplikasi-aplikasi yang ada harus tetap dapat beroperasi secara normal seperti biasanya ketika: a. saat versi dari DBMS yang terdistribusi pertamakali diperkenalkan; dan/ataupun b. ketika data-data yang terdistribusi tersebut diredistribusikan ke seluruh sistem. 13. Hukum 12: Hukum nonsubversion: Jika sebuah sistem menyediakan antarmuka tingkat rendah, maka antarmuka tersebut tidak dapat digunakan untuk menggagalkan sistem, sebagai contoh, membypass aturan-aturan yang terkait dengan keamanan data, ataupun integritasnya. 216 Basis Data 4) Ragam jenis SMBD Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam membuat aplikasi program basis data dan sangat populer antara lain adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL. Sementara di pasaran terdapat sejumlah software DBMS baik yang komersial atau open source antara lain adalah sebagai berikut: : a. DBMS yang bersifat komersial: 4th Dimension, Dataphor, Daffodil database, DB2, FileMaker Pro, FrontBase, Informix, InterBase, Matisse [1], Microsoft Access, Microsoft SQL Server, Microsoft Visual FoxPro, Mimer SQL, Netezza, NonStop SQL, Oracle, Progress 4GL, Sand Analytic Server (sebelumnya dikenal sebagai Nucleus), SmallSQL, Sybase Adaptive Server Anywhere (sebelumnya dikenal sebagai Watcom SQL), Sybase Adaptive Server Enterprise, Sybase Adaptive Server IQ, Teradata, ThinkSQL [2], VistaDB, VMDS. b. DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2, HSQLDB, Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine 5) MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basisdata relasional (RDBMS) yang mendukung sistem multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang 217 Basis Data mendirikan MySQL AB adalah : david axmark, allan larsson, dan Michael “monthy widenius. MySQL memiliki beberapa kelebihan dan keistimewaan antara lain adalah sebagai berikut : 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed/unsigned integer, float, double, char, text, date, timestamp, 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket(UNIX), Named Pipes (NT). 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 218 Basis Data 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. 6) Oracle Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. RDBMS Oracle pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut: Dapat bekerja di lingkungan client/server (pemrosesan tersebar) Menangani manajemen space dan basis data yang besar Mendukung akses data secara simultan Performansi pemrosesan transaksi yang tinggi Menjamin ketersediaan yang terkontrol Lingkungan yang terreplikasi Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal. Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat 219 Basis Data memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar. Kelebihan oracle adalah fleksibilitas sistem yaitu kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar. Kelebihan lainnya adalah skalabilitas yang mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat. . 7) FireBird Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya perusahaan Borland pada tahun 2000 mengeluarkan versi beta dari aplikasi yaitu InterBase 6.0 dengan sifat open source. Pengembangan basis data ini diawali dari Firebird 1, dengan merubah kode berbasis C ke dalam bahasa C++ dan merupakan 220 Basis Data pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini dikembangkan oleh FirebirdSQL Foundation. DBMS ini merupakan turunan dari Interbase versi open source milik Borland. Beberapa kelebihan open source DBMS ini antara lain: 1. Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Firebird support dengan savepoint pada transaksi dan bisa melakukan rollback kembali ke savepoint (fungsi ini seperti fasilitas pada Oracle). 2. Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key. 3. Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version 4. Concurrency system. Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. 5. Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi pengguna 6. Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. 7. Firebird support dengan multiple data file dan dapat menggunakan lebih dari satu file sebagai single logic database. 8. Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon 9. Library connection untuk Firebird sudah tersedia seperti driver untuk ODBC, JDBC bahkan .NET database provider dan PHP 10. Memiliki banyak komunitas di internet. Next >