BAB I PENDAHULUAN 1 BAB I PENDAHULUAN 1.1 Latar Belakang Sejak awal penggunaan komputer, penyimpanan dan manipulasi data merupakan fokus utama dari suatu aplikasi sehingga mendorong para peneliti untuk merancang suatu metode yang baik dalam penyimpanan dan pengolahan data. Penyimpanan dan pengolahan data hingga saat ini telah berkembang dari manajemen berbasis file menjadi manajemen basis data. Pada tahun 1970, Edgar F. Codd mengusulkan suatu representasi data baru yang disebut model data relasional. Model data inilah yang menjadi cikal bakal dari basis data relasional (Florescu dan Fourny, 2013). Kata "relasional" merujuk kepada pengertian bahwa tabel-tabel pada basis data dapat dihubungkan satu dengan lainnya untuk mengakomodasi skema yang diinginkan sehingga basis data relasional memiliki struktur yang lebih logis terkait cara penyimpanan data. Basis data relasional menjadi paradigma Database Management System (DBMS) yang paling dominan sampai saat ini. Relational Database Management System (RDBMS) sebagai sistem yang mengatur penyimpanan, akses, keamanan dan integritas data pada basis data relasional telah mengalami perkembangan yang pesat seiring dengan kompleksitas penanganan data. Berkembangnya aplikasi yang memerlukan pengolahan data dalam skala besar melahirkan paradigma baru dalam teknologi basis data. Beberapa website seperti Facebook, Twitter, Foursquare, Digg, Google, Amazon, dan SourceForge menyimpan dan mengolah data puluhan gigabyte (GB) setiap harinya, dan total keseluruhan data yang disimpan oleh aplikasi tersebut sudah mencapai ukuran petabyte (1 petabyte = 1.048.576 GB) (Firdausillah dkk, 2012). Ukuran data yang sangat besar ini dapat menimbulkan permasalahan dari segi kinerja dan skalabilitas pada RDBMS karena pertambahan data yang terjadi setiap saat. Akibat proses normalisasi yang dilakukan pada konsep basis data relasional,
1
2
pengambilan dan manipulasi data pada RDBMS menjadi sangat lambat untuk basis data yang kompleks dengan jumlah data yang sangat besar. Salah satu cara yang diterapkan oleh perusahaan berskala besar untuk mengatasi permasalahan tersebut adalah dengan menggunakan NoSQL. NoSQL atau yang sering juga diartikan sebagai Not Only SQL adalah sebuah konsep mengenai penyimpanan data non-relasional. NoSQL merupakan sebuah paradigma basis data yang dapat mengesampingkan aturan-aturan konsistensi yang terdapat pada basis data relasional (Kaur dan Rani, 2013). Berbeda dengan model basis data relasional yang selama ini digunakan, NoSQL menggunakan beberapa metode yang berbeda-beda. Metode ini bergantung dari jenis basis data yang digunakan sehingga pada implementasinya terdapat banyak jenis dari NoSQL. Beberapa vendor besar yang memanfaatkan NoSQL sebagai media penyimpanan data diantaranya Google yang memanfaatkan BigTable, Facebook yang menggunakan basis data Cassandra, dan MongoDB yang digunakan oleh Foursquare (Bonnet dkk, 2011). Kelebihan yang ditawarkan oleh NoSQL telah membuat perusahaan-perusahaan mulai meliriknya sebagai pondasi pengolahan data yang menjanjikan. Salah satu basis data NoSQL yang populer saat ini adalah MongoDB. MongoDB merupakan basis data yang menggunakan model penyimpanan data berorientasi dokumen. MongoBD saat ini mulai banyak diminati karena kehandalanya dalam mengakomodasi data dalam jumlah besar dan berbasis open source. Apabila dibandingkan, MongoDB memiliki performa yang lebih baik dibandingkan RDBMS seperti MS SQL dalam proses pengaksesan dan manipulasi data dalam jumlah besar (Li dan Manoharan, 2013). Konsep document-oriented yang diusung oleh MongoDB serta penggunaan data berformat Binary Javascript Object Notation (BSON) dapat memudahkan pengimplementasian basis data ini karena sudah cukup familiar bagi developer. Pada kenyataanya, untuk beralih dari basis data relasional ke suatu basis data NoSQL bukanlah perkara yang mudah terlebih lagi jika data yang dimiliki sangat kompleks. Permasalahan ini terjadi pula pada MongoDB. Berdasarkan dokumentasi yang telah dilakukan oleh beberapa perusahaan global terkait penggunaan MongoDB, dapat disimpulkan bahwa proses migrasi dari RDBMS ke
3
MongoDB memerlukan waktu yang cukup lama. Proses yang memakan waktu cukup banyak adalah analisis kebutuhan dan transformasi skema yang terdapat pada basis data relasional menjadi model data berorientasi dokumen pada MongoDB (Anonim, 2013). Dari dokumentasi yang dilakukan oleh Apollo Group tentang proses migrasi dari penggunaan RDBMS Oracle ke MongoDB, tim proyek menghabiskan 25% waktu yang ada untuk melakukan pemodelan data (Lamoreaux, 2012). Proses pemodelan skema ini merupakan inti dari proses migrasi yang dilakukan. Para developer atau database engineer memodelkan skema pada basis data relasional ke dalam model dokumen yang diinginkan pada MongoDB sesuai dengan kebutuhan sistem yang ada secara manual. Semakin kompleks skema yang ada pada basis data relasional, maka akan dibutuhkan waktu yang semakin lama dan usaha yang semakin besar untuk menyelesaikan proses migrasi basis data. Saat ini beberapa tool ETL (Extract Transform Load) seperti Informatica, Pentahu, dan Talend telah memiliki fitur untuk melakukan migrasi dari basis data relasional ke MongoDB, akan tetapi fitur-fitur tersebut hanya mengakomodasi proses perpindahan data. Data yang ada pada basis data relasional akan diekstraksi sedemikian rupa sesuai dengan format yang ada agar dapat diubah menjadi bentuk dokumen pada MongoDB. Walaupun telah melalui tahap ekstraksi agar data siap dipindahkan, namun kekurangan yang ada pada fitur-fitur ini adalah model dokumen yang ada pada MongoDB harus dibuat terlebih dahulu oleh para developer atau database engineer secara manual sebelum data siap dipindahkan. Berdasarkan pemaparan diatas, maka pembuatan sistem transformasi skema basis data relasional menjadi model data berorientasi dokumen pada MongoDB diharapkan dapat mengakomodasi proses migrasi basis data yang dilakukan. Sistem ini diharapkan pula mampu memberikan solusi untuk pembentukan model dokumen pada MongoDB sesuai dengan skema basis data relasional yang digunakan. Tujuan lain dikembangkannya sistem ini adalah meningkatkan efisiensi sumber daya dan waktu yang dibutuhkan pada proses migrasi basis data sehingga tidak menganggu proses bisnis yang ada pada suatu institusi atau perusahaan.
4
1.2 Perumusan Masalah Berdasarkan latar belakang permasalahan yang telah dipaparkan, maka secara garis besar dapat dirumuskan permasalahan yang akan dikaji pada penelitian ini antara lain : 1. Bagaimana melakukan proses transformasi skema basis data relasional menjadi model data berorientasi dokumen pada MongoDB? 2. Bagaimana merancang sistem yang mampu melakukan proses transformasi skema basis data relasional menjadi model data berorientasi dokumen pada MongoDB secara otomatis dan menjamin setiap data yang terdapat pada basis data relasional dapat direpresentasikan secara utuh dan konsisten pada model dokumen yang dihasilkan?
1.3 Batasan Masalah Penelitian yang akan dilakukan memiliki batasan masalah sebagai berikut : 1. Relational Database Management System (RDBMS) yang digunakan pada penelitian ini sebagai implementasi basis data relasional adalah MySQL. 2. Output yang dihasilkan oleh sistem berupa model data berorientasi dokumen pada MongoDB dalam bentuk dokumen tunggal, embedded document, dan referenced document. 3. Penelitian yang dilakukan berfokus pada hasil transformasi skema basis data, sehingga untuk masalah optimasi waktu proses transformasi dan sumber daya yang digunakan tidak diperhitungkan.
1.4 Keaslian Penelitian Berdasarkan studi pustaka yang telah dilakukan penulis, penulis dapat mengatakan bahwa penelitian yang membahas tentang Transformasi Skema Basis Data Relasional menjadi Model Data Berorientasi Dokumen pada MongoDB belum pernah dilakukan sebelumnya. Namun, sebelumnya telah dilakukan penelitian mengenai metode transformasi basis data relasional ke bentuk lain dan eksplorasi model data MongoDB yang akan dipaparkan pada tinjauan pustaka.
5
1.5 Tujuan Penelitian Tujuan dari penelitian ini adalah membangun sebuah sistem yang dapat memodelkan data pada MongoDB dalam bentuk embedded atau referenced document dari suatu skema basis data relasional.
1.6 Manfaat Penelitian Manfaat yang diharapkan dari penelitian yang dilakukan adalah: 1. Memberikan solusi untuk pembentukan model dokumen pada MongoDB sesuai dengan skema basis data relasional yang digunakan. 2. Membantu developer untuk meningkatkan efisiensi dari sisi sumber daya dan waktu pada proses migrasi basis data relasional ke MongoDB.
1.7 Metodologi Penelitian Penelitian ini dilakukan dengan mengikuti langkah-langkah sebagai berikut: 1.
Mempelajari pustaka dan literatur acuan: tahap ini dilakukan dengan membaca serta memahami buku teks, jurnal, dan karya ilmiah lainnya yang terkait dengan penelitian.
2.
Analisis: kegiatan ini meliputi analisis terhadap algoritme transformasi yang dibangun, sepesifikasi perangkat lunak, dan fungsionalitas sistem.
3.
Perancangan: pada tahap ini dilakukan perancangan terhadap sistem yang dibangun meliputi arsitektur sistem, rancangan basis data, rancangan antarmuka, serta proses transformasi skema basis data relasional menjadi model dokumen pada MongoDB yang di dalamnya mencakup pembentukan algoritme transformasi dan penanganan spesifikasi dokumen.
4.
Implementasi: pada tahapan ini dilakukan pengembangan perangkat lunak berdasarkan perancangan yang telah dilakukan sebelumnya.
5.
Evaluasi dan perbaikan: pada tahap ini dilakukan evaluasi dari sistem serta memperbaikinya jika terdapat kesalahan yang terjadi.
6
6.
Pengujian dan analisa akhir: tahap ini meliputi pengujian kualitas dan kinerja dari sistem transformasi yang dibangun.
7.
Penulisan laporan: pada tahap ini dilakukan penulisan laporan dari hasil penelitian yang telah dilakukan.
1.8 Sistematika Penulisan Penulisan tesis ini terdiri dari 7 bab yaitu pendahuluan, tinjauan pustaka, landasan teori, analisis dan perancangan sistem, implementasi sistem, hasil dan pembahasan, serta kesimpulan dan saran. BAB I PENDAHULUAN Bab I membahas latar belakang masalah sehingga perlu dilakukan penelitian ini, perumusan masalah, batasan masalah, keaslian penelitian, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan penelitian. BAB II TINJAUAN PUSTAKA Pada bab II diuraikan secara sistematis tentang penelitian-penelitian yang pernah dilakukan sebelumnya serta menghubungkannya dengan penelitian yang dilakukan. Penelitian yang diacu meliputi penelitian-penelitian yang terkait dengan transformasi basis data relasional serta penelitian mengenai pemodelan data pada MongoDB. BAB III LANDASAN TEORI Pembahasan dalam landasan teori meliputi teori-teori yang digunakan dalam penelitian yang meliputi pembahasan tentang basis data relasional, model data berorientasi dokumen, dan MongoDB. BAB IV ANALISIS DAN PERANCANGAN SISTEM Pada bab IV ini berisi mengenai rancangan sistem yang dapat memodelkan data pada MongoDB dalam bentuk dokumen tunggal, embedded document, dan referenced document dari suatu skema basis data relasional. BAB V IMPLEMENTASI SISTEM Pembahasan pada implementasi sistem berisi mengenai implementasi dari rancangan sistem yang telah dibuat sebelumnya. Pada bab ini dibahas
7
tentang implementasi rancangan algoritme pembentukan model dokumen serta implementasi rancangan antarmuka sistem. BAB VI HASIL DAN PEMBAHASAN Pembahasan pada bab VI meliputi hasil dari implementasi yang telah dilakukan. Bab ini akan memuat pembahasan mengenai mekanisme pembentukan model dokumen pada MongoDB serta pengujiannya terhadap itegritas data. BAB VII KESIMPULAN DAN SARAN Bab VII merupakan bab terakhir yang membahas mengenai kesimpulan dari hasil penelitian yang telah dilakukan dan juga rekomendasi atau saran-saran berdasarkan penelitian yang telah dilakukan untuk dapat dikembangkan pada penelitian selanjutnya.