MENGGUNAKAN MODEL MULTI FORMALISME
PADA KANTOR DINAS KOMUNIKASI DAN INFORMATIKA
KABUPATEN SARMI
Rasna
Program Studi Sistem Informasi, Universitas Yapis Papua
Jl. Dr. Sam Ratulangi No 11 Dok V Atas, Telp (0967) 534012, 550355, Jayapura rasna.irjii@gmail.com
Abstrak
Kantor Dinas Komunikasi dan Informatika Kabupaten Sarmi saat ini masih menggunakan sistem basis data relasional, kendala yang dialami perusahan ini adalah skalabilitas yang berimabas pada performa, yakni ukuran data yang semakin besar dari waktu ke waktu sedangkan konsistensi dan kecepatan tetap diperlukan untuk pengolahan data. Kompleksitas data yang saling berelasi antara banyaknya entitas dapat mengurangi perfoma pengolahan, sedangkan untuk mendapatkan peningkatan performa relasional basis data sangat terbatas karena cara yang dapat dilakukan adalah dengan meng-upgrade komponen perangkat keras dalam node server tersebut. Pada penelitian ini dilakukan penerapan document oriented database NoSQL agar skalabilitas dan fleksibilitas terhadap kecepatan pengolahan data, dan besarnya ukuran data tetap diatur konsistensi terhadap relasional basis data. Penelitian ini menggunakan pemodelan NoSQL MongoDb. Hasil dari pengujian kinerja NoSQL MongoDB adalah ditemukan pengolahan data yang lebih cepat dibandingkan dengan menggunakan RDBMS MySQL. Sehingga desain database menggunakan pemodelan NoSQL MongoDB memiliki karakteristik yang dinamis dan dapat disesuaikan dengan kebutuhan.
Kata kunci : NoSQL, MongoDB, RDBMS, MySQL, document Abstract
The Sarmi Regency Communication and Information Office is currently still using a relational database system, an obstacle experienced by this company is the scalability that has a berimabas on performance, namely the size of the data that is getting bigger over time while consistency and speed are still needed for data processing. The complexity of interrelated data between the number of entities can reduce processing performance, whereas to get an increase in database relational performance is very limited because the way that can be done is to upgrade hardware components in the node server. In this study the application of NoSQL document oriented databases is done so that scalability and flexibility in data processing speed, and the size of the data are still regulated by the consistency of relational databases. This study uses NoSQL MongoDb modeling. The results of the NoSQL MongoDB performance test are found to be processing data that is faster than using MySQL RDBMS. So that database design using NoSQL MongoDB modeling has dynamic characteristics and can be tailored to needs.
Keywords : NoSQL, MongoDB, RDBMS, MySQL, document
1. Pendahuluan
Kantor Dinas Komunikasi dan Informatika saat ini masih menggunakan sistem basis data relasional yang mengakibatkan kinerja untuk pengolahan data yang besar mengalami kekurangan dalam hal kecepatan pada saat pengolahan. Kompleksitas data yang saling berelasi antara banyaknya entitas dapat mengurangi performa pengolahan, sedangkan untuk mendapatkan peningkatan performa relasional basis data sangat terbatas karena cara yang dapat dilakukan adalah dengan meng-upgrade komponen
perangkat keras dalam node server tersebut (Firdausillah, Hidayat and Dewi, 2012).
Masalah yang muncul adalah ditemukan kesulitan dalam pemeliharaan database yang disebabkan oleh tidak dinamisnya database sehingga pengolahan data menjadi lebih lambat saat dilakukan pengolahan query.
Salah satu cara untuk mengatasi kendala diatas adalah dengan menerapkan basis data non-relasional atau dikenal sebagai NoSql database (Adeyi, Abdullahi and State, 2013). Teknologi basis data ini memiliki skalabilitas dan fleksibilitas terhadap kecepatan pengolahan data, besarnya ukuran data,
dan jenis data yang digunakan, namun tetap menggunakan aturan konsistensi yang terdapat pada relasional basis data. Relational database sudah tidak cukup tepat dalam distributed processing jika melibatkan data yang sangat besar (Nadzari, 2018). Sehubungan dengan hal tersebut, teknologi database yang terdistribusi (distributed database) mulai popular dikarenakan kemampuannya yang lebih baik daripada teknologi database yang tradisional (Shahriari and Baraani-dastjerdi, 2016). Terdapat beberapa alasan diperlukannya distributed processing. Pada satu sisi, sebuah program harus scalable dan harus dapat memanfaatkan beberapa sistem dan mampu memaksimalkan pemakaian arsitektur multicore CPU (Unal and Zheng, 2017). Terdapat beberapa alasan diperlukannya distributed processing. Pada satu sisi, sebuah program harus scalable dan harus dapat memanfaatkan beberapa sistem dan mampu memaksimalkan pemakaian arsitektur multi-core CPU. Disisi lain, server sebuah website harus didistribusikan secara global untuk mengurangi latency dan failover (Nadzari, 2018)
Dalam beberapa tahun terakhir, banyak perusahaan yang mengadopsi beberapa tipe NoSQL database dan mulai memunculkan banyak aplikasi menggunakan database tersebut, dan mendapat minat pasar yang luas. Setiap tipe NoSQL database memiliki pendekatan yang berbeda-beda. Salah satu keuntungan penggunaan NoSQL database, tidak seperti relational database, NoSQL database dapat menangani unstructured data seperti dokumen, email, multimedia dan social media secara efisien (Okman et al., 2011).
NoSQL database dapat bekerja lebih cepat dibandingkan basis data relasional. Pertumbuhan website yang sangat pesat menyebabkan berkembangnya NoSQL karena menjadi alternative untuk mempercepat akses disbanding menggunakan basis data relasional (Kadyrov, Drugov and Zapevalov, 2018). Sehingga berdasarkan uraian latar belakang masalah tersebut maka dibuat penelitian “Evaluasi Kinerja Aplikasi Big Data NoSQL Menggunakan Model Multi Formalisme Pada Kantor Dinas Komunikasi dan Informatika Kabupaten Sarmi”.
2. Tinjauan Pustaka 2.1 Penelitian Terdahulu
Permasalahan dalam penelitian adalah melakukan analisa perbandingan database NoSQL dengan SQL dalam hal kinerja, fleksibilitas, dan skalabilitas. Setelah terbukti database mana yang lebih unggul dari keduanya maka akan diterapkan untuk aplikasi ERP Retail yang berorientasikan multitenancy. Dengan begitu diharapkan ERP Retail yang dibangun akan memiliki performa yang optimal dalam hal store data. Juga menjadikan aplikasi yang bersifat fleksibel agar mampu mensupport penyimpanan data yang dinamis berdasarkan skema setiap tenant, dan perkembangan proses bisnis yang akan selalu berkembang
kedepannya. Dan menjadi aplikasi yang scalable dalam artian mampu mengatasi jumlah data yang selalu berkembang dengan distributed database. Arsitektur database pada pada penelitian ini menerapkan shared database dengan shared schema. Dengan tujuan menghemat jumlah database untuk menangani banyak tenant dengan optimal (Bhaswara, Sarno and Sunaryono, 2018).
Untuk mengatasi permasalahan volume data dan heterogenitas tipe data, dirancang manajemen penyimpanan yang disebut IOTMDB yang berdasarkan NoSQL yang menjadi solusi penyimpanan data IoT yang besar dan heterogen. Sistem IOTMDB dibagi menjadi 4 bagian utama, yaitu master node yang menjadi manajer dari setiap cluster, standbye node berfungsi menjadi pengganti saat terjadi error pada master node, data reception node berfungsi sebagai penerima data sensor, dan slave node untuk menyimpan seluruh data (Arganata, Pramukantoro and Yahya, 2018).
Penelitian lain yang berjudul “An IoT-Oriented Data Storage Framework in Cloud Computing Platform” dirancang sebuah data storage yang terdiri dari Hadoop Distributed File System (HDFS) untuk menyimpan data tidak terstruktur, dan data storage relasional yaitu SQL digabung dengan data storage non relasional yaitu MongoDB (Djedjig et al., 2018).
2.2 Landasan Teori
NoSQL merupakan sebuah bahasa permintaan atau perintah untuk mengolah basis data. Berbeda dengan SQL yang hanya merupakan bahasa permintaan terstruktur, NoSQL memilki pesan yang mengartikan tidak hanya bahasa permintaan tersturktur, hal ini sering disebut sebagai Not-only SQL (Firdausillah, Hidayat and Dewi, 2012).
NoSQL sering digunakan dalam basis data berjenis non-relasional, meskipun begitu beberapa manajemen basis data memungkinkan melakukan relasional. NoSQL sampai saat ini masih dalam pengembangan karena basis data tipe NoSQL tidak memiliki aturan baku seperti basis data relasional. Basis data tipe NoSQL lebih diperuntukkan untuk memanajemen basis data dengan skalablitas data yang besar dan dipakai dalam pengembangan perangkat lunak berbasis web.
NoSQL pertama kali digunakan pada tahun 1998 oleh Carlo Strozzi untuk basis data relasional dengan menghilangkan SQL, lalu Eric Evans pada tahun 2009 kembali memperkenalkan NoSQL ketika Jon Oskarsson (salah satu developer Last.fm) mengatur acara untuk membahas pendistribusian basis data open-source.
Pada perkembangannya NoSQL memiliki banyak varian, NoSQL menawarkan fitur yang disebut BASE (Basically Available, Soft state, dan Eventually consistent), hal ini sangat bertentangan dengan konsep relasional basis data yang memiliki konsep ACID (Atomic, Consistent, Isolate, dan Durability).
Saat ini pengklasifikasian tentang NoSQL memiliki sudut pandang tertentu terhadap tujuan masing-masing, berikut contoh pengklasifikasian data model NoSQL (Unal and Zheng, 2017) :
1. Key-value store
Key-value store adalah tipe basis data yang berkonsep seperti sebuah larik (array) asosiatif, pengolahannya menggunakan pementaan atau yang disebut array mapping seperti halnya dalam suatu buku kamus. Manajemen basis data ini memungkinkan untuk melakukan pengurutan data dengan bantuan key yang dimiliki dalam tiap-tiap data, beberapa vendor lain menggunakan kemampuan RAM untuk melakukan penyimpanan data.
Berikut contoh sitem manajemen basis data yang cukup populer untuk jenis Key-value : Dynamo, FoundationDB, MemcacheDB, Redis, Riak, FairCom c-treeACE.
2. Column store
Column store memiliki sinonim dengan istilah Wide-column store. Tipe basis data ini menerapkan konsep penyimpannan data dengan dukungan menyimpan tabel data dalam sebuah record table (column), atau dapat diibaratkan sebuah record data bukan hanya dapat diisi dengan nilai yang konstan, melainkan dapat diisi dengan arsitektur sebuah tabel lainnya yang mana tabel tersebut dapat memiliki data juga (data tabel dalam record). Berikut contoh sitem manajemen asis data yang cukup populer untuk jenis Coulmn store : Accumulo, Cassandra, Druid, Hbase.
3. Document store
Document store memiliki konsep yang menganggap bahwa data dapat diibaratkan seperti tumpukan dokumen yang dikelompkokkan dengan penamaan yang disebut koleksi. Document store menerapkan konsep ini untuk format pengkodean atau encoding dari setiap data dalam sebuah informasi, umumnya format yang ditawarkan untuk jenis basis data ini menggunakan XML, YAML, JSON ataupun BSON (bentuk binari dari JSON). Berikut contoh sistem manajemen basis data yang cukup populer untuk jenis Document-store : Clusterpoint, Apache CouchDB, Couchbase, MarkLogic, MongoDB.
4. Graph data store
Graph data store diciptakan berdasarkan teori keterkaitan variabel dalam sebuah bagan grafik, manajemen basis data ini dirancang untuk tumpukan data yang saling berelasi. Relasional data yang terdapat didalanya distimulasikan atau direpresentasikan dalam sebuah grafik yang saling mengaitkan data-data yang saling terhubung.
Berikut contoh sitem manajemen basis data yang cukup populer untuk jenis Graph data store : Allegro, Neo4J, InfiniteGraph, OrientDB, Virtuoso, Stardog
3. Metodologi Penelitian
A. Analisis Kebutuhan Hardware.
Hardware yang digunakan dalam penerapan NoSQL terlihat seperti pada Tabel 3.1
Tabel 3.1 Spesifikasi kebutuhan hardware Nama Hardware Spesifikasi
Processor Dual Core 1.0 GHz
RAM 512 GB
Hard Drive 5 Gb
B. Analisis Kebutuhan Software.
Software yang dibutuhkan dalam penerapan NoSQL terlihat seperti pada Tabel 3.2
Tabel 3.2 Spesifikasi Kebutuhan Software Nama Software Spesifikasi
Sistem Operasi Windows, Mac OSX, Linux
Web Server NodeJS
Database Server MySQL MongoDB
Web Browser Firefox
C. Analisis user.
User yang digunakan adalah seorang database administrator yang mempunyai hak akses terhadap database server yang dibuat. Tujuannya adalah user mempunyai konsep relasional database yang dapat berinteraksi dengan command query yang dibuat pada sistem.
D. Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional membahas perancangan sistem yang dibangun dalam bentuk analisis diagram-diagram UML (Unified Modelling Language), UML digunakan sebagai alat untuk menganalisis kebutuhan fungsional terhadap sistem yang dibangun.
- Use Case Diagram
Use Case Diagram digunakan untuk memodelkan proses interaksi atau mempresentasikan interaksi antara aktor dengan sistem. Aktor disini adalah pengguna, yang dapat memulai penerapan non-relasional basis data NoSQL seperti terlihat pada Gambar 3.1.
- Use Case Scenario
Tiap bagian use case memiliki skenario yang menunjukkan proses apa saja yang terjadi, pengguna memberikan perintah dalam bentuk interaksi yang telah disajikan dalam tiap use case, dan respon apa yang diberikan sistem kepada pengguna terhadap interaksi tersebut.
Tabel 3.3 Use Case Scenario Identifikasi
Nama use case Export model
Tujuan Menginstruksi sistem untuk
membentuk pemodelan data
collection pada suatu
database
Aktor Pengguna
Deskripsi Skenario utama
Kondisi awal Pengguna berada pada
halaman konversi
Aksi aktor Reaksi sistem
1. Memilih salah satu model dari daftar model
2. Menekan tombol ”Export’
3. Mengeksekusi perintah
export
4. Memberi output berupa respon data
Kondisi Akhir Pengguna melihat output yang ditampilkan sistem pada container pesan.
- Activity Diagram
Activity diagram mendeskripsikan alur aktivitas dari setiap Use case. Activity diagram pada perangkat lunak ini ditunjukkan pada Gambar 3.2.
Gambar 3.2 Activity Diagram : Export Model - Sequence Diagram
Sequence diagram menggambarkan interaksi antar masing-masing objek pada setiap use case dalam runtunan waktu. Interaksi ini berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi, berikut disajikan pada Gambar 3.3.
Gambar 3.3 Sequence Diagram : Export Model
- Class Diagram
Class diagram menggambarkan struktur dan hubungan antar objek-objek yang ada pada sistem. Struktur tersebut meliputi atribut dan method yang ada pada masing-masing class seperti yang disajikan pada Gambar 3.4.
Gambar 3.4 Class Diagram 4. Perancangan Implementasi
Perancangan sistem merupakan kegiatan untuk merancang aplikasi yang akan di bangun, tahapannya dimulai dari perancangan model basis data non- relasional NoSQL MongoDB, dan perancangan antarmuka.
4.1. Perancangan Model Basis Data NoSQL Perancangan model basis data non-relasional NoSQL MongoDB terdiri dari URL routing, data awal RDBMS dan konversi pemodelan RDBMS ke non-relasional NoSQL MongoDB, dan penambahan data terhadap skema non-relasional NoSQL MongoDB.
4.2 Perancangan Antarmuka
Perancangan antarmuka bertujuan untuk memberikan gambaran visual tentang aplikasi yang akan dibangun, sehingga akan mempermudah dalam proses perancangan pemodelan basis data non-relasional basis data NoSQL MongoDB.
a. Perancangan Tampilan Konversi
Perancangan tampilan konversi bertujuan untuk mengambil pemodelan tabel RDBMS MySQL berserta constraint terhadap tabel lain, kemudian sistem akan melakukan pembacaan query yang sering digunakan pada studi kasus penelitian, selanjutnya untuk dijadikan data masukan terhadap suatu collection yang merupakan salah satu basis data dari non-relasional NoSQL MongoDB yang telah ditentukan, berikut pada Gambar 4.1.
Gambar 4.1 Perancangan Tampilan Konversi Keterangan Gambar 4.1 adalah sebagai berikut :
1. Menuju ke F02.
2. Tombol reload, ketika diklik akan memuat ulang daftar collection (4)
3. Tombol reload, ketika diklik akan memuat ulang daftar model (5)
4. Daftar collection suatu basis data MongoDB 5. Daftar model.
6. Tombol show data, ketika diklik akan menampilkan result pada Container pesan (M01), yang merupakan hasil eksekusi. 7. Tombol show model, ketika diklik akan
menampilkan result pada Container pesan (M01), yang merupakan hasil eksekusi 8. Tombol export, ketika diklik akan
menampilkan result pada Container pesan (M01), yang merupakan hasil eksekusi. b. Perancangan Tampilan Performansi Query
Gambar 4.2 Perancangan tampilan performansi
query
Gambar 4. 2 menunjukkan perancangan tampilan perintah query yang merupakan tampilan pengujian perintah query yang dapat dilakukan pengguna terhadap basis data yang digunakan didalamnya, baik SQL MySQL ataupun NoSQL MongoDB.
Keterangan Gambar 4.2 adalah sebagai berikut :
1. Menuju ke F01.
2. TextEditor MongoDB query, tempat
pengguna mengetikkan query.
3. TextEditor MongoDB query, tempat
pengguna mengetikkan query.
4. Tombol submit, ketika diklik akan
menampilkan result pada Container pesan (M01), yang merupakan hasil eksekusi. c. Perancangan tampilan pesan
Perancangan tampilan hasil pengujian merupakan tampilan hasil dari setiap perintah yang dilakukan terhadap sistem, tampilan ini menghasilkan tampilan dalam bentuk parsing text berformat JSON, berikut terdapat pada Gambar 4.3.
Gambar 4.3 Perancangan tampilan pesan Keterangan Gambar 4.3 adalah sebagai berikut: 1. Container pesan, tampilan hasil yang
merupakan tampilan respon yang dipicu ketika pengguna berinteraksi dengan pengekseskusian sistem pada F01 dan F02. 2. Tombol Close, ketika diklik akan menutup
Container pesan
d. Rancangan Implementasi Hardware Komponen hardware yang digunakan untuk implementasi adalah :
1. Single core processor 1,0 GHz 2. Random access memory 512 MB 3. Drive storage 10 GB
4. Monitor 13”
5. Keyboard dan mouse
e. Rancangan Implementasi software
Komponen perangkat lunak yang digunakan untuk mengiplementasikan sistem adalah :
1. Operating system Ubuntu 14.04.1 LTS 2. Command-prompt shell Linux Terminal
3. Database server MongoDB 2.6.7 dan MySQL 5.5.40
4. Web-server NodeJS 0.10.35
5. Web-browser Google chrome canary 42.0.2291.0 6. Text editor ACE editor
f. Implementasi Antarmuka
Implementasi antarmuka dilakukan berdasarkan perancangan sistem yang telah dijelaskan sebelumnya. Implementasi antarmuka yang dijelaskan dalam subbab ini merupakan yang
halaman aplikasi sistem yang berjalan dalam client- side yang dibuat dengan pengkodean dalam bentuk file program.
Tabel 4.1 Implementasi kode program antar muka
Tampilan Nama file Dependensi Keterangan
View Controller class
Konversi
pemodelan convertion.jade ConvertionCtrl Halaman yang dapat digunakan untuk konversi / export melalui pemodelan data. (convertion.
js)
Performansi
query query.jade QueryCtrl Halaman yang digunakan untk uji query MySQL ataupun MongoDB (query.js)
Index index.jade bootstrap
bootswatch jquery chartjs underscore backbone pretty-json codemirror
Template halaman yang digunakan sebagai index atau penampung
Sub halaman.
5. Kesimpulan
Berdasarkan hasil implementasi dan pengujian sistem untuk pemodelan data NoSQL MongoDB pada RDBMS MySQL dalam studi kasus ini, maka dapat diambil kesimpulan desain basis data dengan menggunakan pemodelan NoSQL MongoDB bersifat dinamis, pemodelan data dapat disesuaikan sesuai kebutuhan.
Daftar Pustaka
Adeyi, T. S., Abdullahi, S. E. and State, K. (2013) ‘DualFetchQL System: A Platform for Integrating Relational and NoSQL Databases’, 2(12), pp. 1973–1981.
Arganata, G., Pramukantoro, E. S. and Yahya, W. (2018) ‘Pengembangan Sistem Penyimpanan Data Berbasis MongoDB dan GridFS Untuk Menyimpan Data Yang Beragam Dari Node Sensor’, Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer (J-PTIIK) Universitas Brawijaya, 2(7), pp. 2549–2557. Bhaswara, F. A., Sarno, R. and Sunaryono, D. (2018)
‘Perbandingan Kemampuan Database NoSQL dan SQL dalam Kasus ERP Retail’, Jurnal Teknik ITS, 6(2), pp. 510–514. doi: 10.12962/j23373539.v6i2.24031.
Djedjig, N. et al. (2018) ‘Trust Management in the Internet of Things’, pp. 122–146. doi: 10.4018/978-1-5225-5736-4.ch007.
Firdausillah, F., Hidayat, E. Y. and Dewi, I. N. (2012) ‘NoSQL : Latar Belakang , Konsep , dan Kritik’, Semantik, 2012(Semantik), pp. 432–438.
Kadyrov, M. A., Drugov, D. A. and Zapevalov, V. N. (2018) ‘Issues of Investment Attraction Development in the Energy Sector’, 8(6), pp. 1–7.
Nadzari, G. (2018) ‘Isu Terkini pada basis data NOSQL’, Knsi 2018, pp. 711–716.
Okman, L. et al. (2011) ‘Security issues in NoSQL databases’, Proc. 10th IEEE Int. Conf. on Trust, Security and Privacy in Computing and Communications, TrustCom 2011, 8th IEEE Int. Conf. on Embedded Software and Systems, ICESS 2011, 6th Int. Conf. on FCST 2011, (December), pp. 541–547. doi: 10.1109/TrustCom.2011.70.
Shahriari, F. and Baraani-dastjerdi, A. (2016) ‘A Method of Query over Encrypted Data in HBase Database by Using Bloom Filter Algorithm’.
Unal, S. and Zheng, Y. (2017) ‘Distributed Databases : SQL vs NoSQL’, pp. 1–5.