1 BAB I PENDAHULUAN 1.1 Latar Belakang Pemanfaatan teknologi telah diadaptasi oleh banyak sektor untuk memberikan kemudahan bagi manusia dalam melakukan pekerjaannya. Salah satu aspek yang paling merasakan arti perkembangan teknologi saat ini adalah Manajemen Informasi dan Komunikasi. Kebutuhan akan informasi dan komunikasi yang cepat, tepat dan akurat semakin diperlukan seiring dengan tingginya mobilitas manusia. Oleh karena itu, diperlukan sistem yang mampu menangani pengolahan data secara cepat dan akurat. Salah satu upaya yang dapat dilakukan untuk meningkatkan kinerja Manajemen Data dan Informasi di era Digital saat ini adalah dengan mengubah Sistem Pengelolaan Data dan Informasi dengan suatu sistem yang dikenal dengan Relational Database Management System (RDBMS). Database digunakan untuk menyimpan, memanipulasi, dan menyelamatkan data dalam berbagai bidang organisasi termasuk bisnis, health care, pendidikan, pemerintahan hingga perpustakaan [1]. Salah satu sektor yang saat ini ikut merasakan keberadaan dan perkembangan RDBMS adalah sektor bisnis, terutama pada proses bisnis yang terjadi. Regulasi bisnis yang seringkali berubah, kompetitor yang semakin banyak, konsumen yang semakin kritis hingga tuntutan kesejahteraan karyawan merupakan bagian dari tantangan yang dihadapi oleh para pelaku bisnis saat ini. Untuk itu, para stakeholder diharuskan untuk melakukan perbaikan kebijakan dalam rangka meningkatkan kinerja perusahaan untuk memperoleh efektivitas, efisiensi dan akuntabilitas yang baik dalam menjalankan proses bisnis sehingga dapat meningkatkan loyalitas dari para customer dengan pelayanan yang lebih baik. Penggunaan RDBMS saat ini memegang peranan cukup penting dalam memainkan proses bisnis terutama pada hal-hal yang berkenaan dengan storing, retrieving, dan querying data digital. Pada proyek berbasis Digital seperti Perancangan Dynamic Website, Accounting Information Systems, Payroll Systems 1
2 hingga Human Resource Management Systems, RDBMS berperan penting sebagai tempat penyimpanan dan pengelolaan data [2]. Terdapat tiga jenis RDBMS yang utama yakni Proprietary, Open source dan Embedded [3]. Proprietary merupakan perangkat lunak RDBMS yang bersifat komersial sehingga penggunaanya dikenakan biaya untuk mendapatkan lisensi dari vendor penyedia Perangkat lunak. Open source merupakan perangkat lunak yang pendistribusiannya bersifat gratis sehingga dapat dikembangkan dan dimodifikasi oleh pengguna maupun developer secara bebas. Sedangkan Embedded, pada umumnya merupakan perangkat lunak bawaan sebagai bagian dari paket-paket perangkat lunak lainnya seperti paket Perangkat Lunak Tax-Preparation. Database-database ini biasanya disertakan oleh perangkat-perangkat yang mana menyediakan audit berkas-berkas transaksi [3]. Para stakeholder perlu memperhatikan berbagai aspek ketika ingin memutuskan penggunaan dan pemanfaatan teknologi bagi perusahaan atau organisasi yang dinaungi, termasuk pemilihan platform RDBMS yang merupakan back office bagi perusahaan. Mereka perlu mempertimbangkan aspek seperti biaya inisialisasi konfigurasi, maintenance berkelanjutan dan tenaga-tenaga pendukung (staffing) yang ada. Di satu sisi, teknologi open source telah memberikan pengaruh yang cukup besar bagi sektor bisnis saat ini, karena memungkinkan penggunaan software atau aplikasi yang sama atau hampir sama dengan produk proprietary namun dengan biaya yang jauh lebih sedikit [4]. Meski demikian, tidak sedikit IT Manager memilih menggunakan produk proprietary dengan anggapan bahwa softwaresoftware tersebut lebih baik dari segala sisi, sehingga cenderung memberikan toleransi dalam hal biaya [4]. Anggapan tersebut tidak sepenuhnya salah karena pada dasarnya keduanya memiliki kelebihan dan kekurangan. Salah satu platform RDBMS yang saat ini paling banyak digunakan adalah Oracle yang berbasis proprietary dan PostgreSQL dikalangan open source. Menurut situs DB-Engine (http://db-engines.com/en/), per Agustus 2016 Oracle menempati posisi pertama sebagai The most popular Relational Database Management Systems, sedangkan PostgreSQL menempati
3 posisi keempat pada kategori yang sama. Dari sisi produktivitas, menurut Ilya Kosmodemyansky, seorang konsultan database management menyatakan bahwa Oracle memiliki produktivitas lebih baik dari sisi Transactions per Second (TPS), dibandingkan dengan PostgreSQL [5]. Di sisi lain, beberapa kalangan beranggapan bahwa penggunaan perangkat lunak berbayar tanpa melihat kebutuhan kinerja yang ingin dicapai akan lebih merugikan [4]. Oracle yang memiliki keunggulan TPS yang tinggi tidak akan terlalu berpengaruh jika database yang dipakai bukan database yang besar, misal hanya 100 megabyte. Sebaliknya, penggunaan PostgreSQL untuk database dengan application multi-access yang tinggi juga harus dipertimbangkan mengingat kecepatan TPS yang tidak sebaik Oracle [5]. Salah satu masalah yang saat ini dihadapi oleh para IT Manager di beberapa organisasi adalah penentuan metode komparasi kinerja dan skalabilitas antara satu RDBMS dengan RDBMS yang lain [4]. Lebih dari 67% IT Manager masih mencari produk open source yang dapat memberikan solusi dalam penanganan basis data pada perusahaan namun dengan biaya yang lebih hemat [6]. IT Manager sebagai penentu kebijakan dalam hal ini memerlukan metode komparasi antara RDBMS proprietary dan open source yang tepat untuk mendukung pengambilan keputusannya [4]. Pada dasarnya, penentuan metode komparasi ditentukan oleh analisis target yang ingin dicapai. Selain itu, dibutuhkan konstruksi mekanisme database performance evaluation yang tepat dan fleksibel sehingga dapat dijalankan dengan baik pada kedua platform baik open source maupun proprietary [4]. Berdasarkan pada pemaparan masalah tersebut, maka penelitian ini dilakukan untuk membandingkan performa beberapa software RDBMS, baik yang bersifat open source maupun proprietary yang saat ini banyak digunakan, sebagai referensi bagi para IT Stakeholder dalam menentukan kebijakan penggunaan software RDBMS yang sesuai dengan kebutuhan perusahaannya.
4 1.2 Rumusan Masalah Berdasarkan latar belakang di atas, permasalahan dalam penelitian ini dapat dirumuskan sebagai berikut. Penerapan RDBMS pada sebagian organisasi atau perusahaan seringkali tidak disesuaikan dengan kebutuhan, serta tidak dilakukan riset terlebih dahulu dalam penentuan penggunaan RDBMS yang tepat bagi organisasi atau perusahaan tersebut, baik dari sisi performa yang ingin dicapai, maupun dari sisi budgeting. Selain itu, paradigma bahwa produk proprietary lebih unggul dari semua sisi dibandingkan dengan produk open-source sudah melekat pada hampir semua kalangan. Oleh karena itu, perlu dilakukan penelitian evaluasi database performance antara RDBMS proprietary dengan open source sehingga dapat diketahui kelebihan dan kekurangan masing-masing platform RDBMS terutama dari sisi performa. Pada penelitian ini platform RDBMS yang digunakan adalah Oracle dan PostgreSQL. Keduanya merupakan vendor yang kuat di lingkungan pangsa pasar masing-masing menurut situs DB-Engines. Penelitian ini dilakukan dengan dua metode komparasi yaitu menggunakan pembandingan cost dan execution time dalam proses eksekusi suatu query serta menggunakan benchmark tool yang mengadopsi suatu standar benchmark (benchmark TPC). Cost merupakan unit pengukuran sumber daya yang digunakan oleh sistem basis data dalam melakukan eksekusi query [6]. Sumber daya yang dimaksud dalam hal ini adalah alokasi memori cache, penyimpanan I/O dan network. Suatu Sistem Basis Data dianggap unggul apabila memiliki nilai cost yang minimum dalam melakukan eksekusi suatu perintah baik berupa query tunggal maupun suatu script yang terdiri atas banyak query. Nilai Cost dalam eksekusi query dipengaruhi oleh metode perencanaan eksekusi yang digunakan oleh aplikasi RDBMS untuk mengeksekusi sebuah query, meliputi metode jalur akses data, penggunaan join serta urutan penggunaan join. Sementara itu, execution time merupakan ukuran waktu yang diperlukan oleh Sistem Basis Data untuk melakukan eksekusi query hingga dihasilkan output berupa informasi atau tabel. Setiap operasi yang dijalankan dalam proses eksekusi query tentu saja memiliki ukuran waktu untuk mengukur lamanya operasi tersebut dijalankan. Operasi dalam hal ini dapat berupa accessing table, proses
5 penggabungan atau join, sorting dan lain sebagainya. Oleh karena itu, execution time dapat diartikan sebagai akumulasi keseluruhan waktu yang dibutuhkan oleh operasi-operasi yang dilakukan dalam pengeksekusian suatu query. Selain dengan metode cost dan execution time, pengujian juga akan dilakukan dengan metode benchmarking. Berbagai penelitian telah menggunakan metode ini sebagai metode evaluasi kinerja sistem basis data. Benchmarking dapat diartikan sebagai pengukuran kinerja basis data berdasarkan jumlah workload yang dikerjakan dan menggunakan matriks pengukuran tertentu. Dalam penelitian ini, benchmarking mengikuti standar benchmark TPC-C yang merupakan pengukuran benchmark berbasis OLTP (Online Transaction Processing), yaitu transaksi yang terjadi secara langsung pada sistem yang tehubung dalam jaringan. TPC-C menggunakan matriks Transaction per Minute (tpmc) dan New Order per Minute (NOPM). Deskripsi mengenai TPC-C akan dijelaskan pada Bab berikutnya. 1.3 Tujuan Penelitian Tujuan dilakukannya penelitian ini adalah untuk mengetahui perbandingan performa kedua platform RDBMS yang saat ini paling banyak dipakai, yaitu Oracle yang mewakili produk proprietary dan PostgreSQL yang mewakili produk open source untuk mengetahui performa masing-masing RDBMS. 1.4 Manfaat Penelitian Manfaat dari penelitian ini adalah untuk mengetahui cara melakukan komparasi terhadap performa atau kinerja suatu platform RDBMS, dalam hal ini menggunakan metode penghitungan cost dalam eksekusi suatu query dan juga memahami mekanisme benchmark sistem basis data sesuai dengan standar database benchmark yang digunakan pada penelitian ini, sehingga dapat membantu para calon pengguna RDBMS dalam menentukan platform RDBMS yang sesuai kebutuhan. 1.5 Batasan Masalah Batasan masalah pada penelitian ini adalah sebagai berikut:
6 1. Pengujian dilakukan dengan menggunakan dua pendekatan yaitu berdasarkan perhitungan cost dan berdasarkan benchmark tool pada kedua platform RDBMS yaitu Oracle Database 11g dan PostgreSQL v. 9.4.9 2. Proses Normalisasi data tidak akan dijelaskan karena merujuk pada hasil penelitian yang sudah dilakukan sebelumnya serta menggunakan dataset yang sama. 3. Pengujian berdasarkan perhitungan cost dilakukan dengan mekanisme yang sama seperti yang dilakukan oleh peneliti sebelumnya, hanya saja diimplementasikan pada kedua platform RDBMS yakni Oracle dan PostgreSQL. 4. Pengujian berdasarkan perhitungan cost menggunakan database yang sudah dinormalisasi oleh peneliti sebelumnya. Database tersebut berisi tentang indeks statistik kecelakaan lalu lintas di Britania Raya pada tahun 2015. 5. Pengujian berdasarkan benchmark tool dilakukan dengan mengacu pada standar database benchmark yang dikembangkan oleh TPC (Transaction Performance Council) yang saat ini banyak digunakan. 6. Pengujian berdasarkan benchmark tool tidak menggunakan database yang digunakan pada pengujian berdasarkan perhitungan cost dikarenakan tool tersebut memiliki mekanisme generate schema yang mana skema tersebut merupakan standar skema basis data yang dibangun oleh TPC sebagai standar skema basis data TPC-C Benchmark. 1.6 Sistematika Penulisan Penulis menggunakan sistematika untuk mempermudah penulisan sebagai berikut: a. BAB I: Pendahuluan Pada Bab ini berisi penjelasan mengenai Latar Belakang Penelitian, Rumusan Masalah, Tujuan Penelitian, Manfaat Penelitian, Batasan Masalah dan Sistematika Penulisan.
7 b. BAB II: Tinjauan Pustaka dan Landasan Teori Pada Bab ini berisi mengenai tinjauan pustaka dari berbagai penelitian serupa yang telah dilakukan sebelumnya, serta landasan teori sebagai acuan dasar dalam penelitian ini. c. BAB III: Metode Penelitian Pada Bab ini berisi penjelasan mengenai metode penelitian yang dilakukan. Secara rinci Bab ini berisi tentang alat dan bahan penelitian, langkah penelitian, perancangan sistem, dan perancangan pengujian. d. BAB IV: Hasil dan Pembahasan Pada Bab ini berisi penjelasan mengenai hasil penelitian dan pembahasannya. e. BAB V: Kesimpulan dan Saran Pada Bab ini berisi tentang kesimpulan dari hasil penelitian dan saran yang berisi hal-hal yang belum dieksplorasi oleh penulis, sehingga dapat diteruskan oleh peneliti berikutnya.