NASKAH PUBLIKASI
diajukan oleh
Fredy Setiawan
18.21.1278
kepada
FAKULTAS ILMU KOMPUTER
UNIVERSITAS AMIKOM YOGYAKARTA
YOGYAKARTA
2018
I
II
PERBANDINGAN KEKUATAN BASIS DATA PADA DATABASE
NOSQL DAN MYSQL PADA SISTEM INFORMASI
CATERING BU SOFAN
Catering Bu Sofan is a business engaged in the terbaik untuk penyimpanan data terutama pada perusahaan
culinary field. At this time, Bu Sofan’s catering does not perbankan ataupun perusahaan yang memiliki relasi pada
have an information system to process data, both ordering setiap data-datanya. Sementara itu, perusahaan yang
data and data for staffing, so that the data is not recorded berkaitan dengan sistem informasi seperti Google, Facebook,
properly. For this reason, the need for a reliable database. Twitter, Amazon dan sebagainya tidak hanya menyimpan
This study compares an information system that data-datanya menggunakan struktur ber-relasi. Berkas-berkas
uses Mysql and Nosql which have the speed, reability that HTML, ataupun file media lainnya yang tidak terstruktur
can handle an information system that will continue to memerlukan tipe penyimpanan yang baru tidak hanya
grow. sekedar bisa melakukan relasi. Google yang memiliki Big
The results of this study compare the reliablity of tabel, Oracle dengan CouchDB merupakan salah satu contoh
Bu Sofan’s catering database, which was previously penggunaan DBMS NoSQL (Not Only SQL) sebagai
proposed to use Mysql or use Nosql so that the database alternatif dalam penggunaan penyimpanan data. Sedangkan
used is right or target.. beberapa perusahaan besar yang menggunakan Mongodb
antara lain FourSquare, eBay, New York Times, dan
Keyword: Database, NoSQL, MySQL, Catering, Information Craiglist. Oleh karena itu penulis mencoba menyajikan
System penelitian sebuah perbandingan performa dan struktur
managemen data antara DBMS Mongodb dan RDBMS
1. PENDAHULUAN
MySql dengan menggunakan NodeJS dengan Framework
Sails yang Di Implementasikan ke dalam Sebuah Sistem
1.1 Latar Belakang
Informasi Sebuah Catering.
Kebutuhan akan teknologi informasi telah menjadi
1.2 Rumusan Masalah
sebuah kebutuhan primer yang harus segera dipenuhi,
banyak software atau aplikasi yang semakin kita jumpai di
Berdasarkan latar belakang yang telah dijelaskan di
kehidupan sehari-hari terutama sistem informasi, baik
atas, maka diperoleh rumusan masalah adalah sebagai
berbasis website, desktop maupun mobile aplikasi. Oleh
berikut : “Bagaimana Membandingkan kekuatan RDBMS
karena itu, para ahli basis data harus mampu mencari solusi
MySql dan DBMS NoSQL Mongodb pada system Informasi
terbaik dalam upaya menyajikan ataupun menyimpan data
Catering Bu Sofan?
para pengguna sistem informasi.
Basis data menjadi salah satu elemen yang tak
1.3 Batasan Masalah
terpisahkan dalam terselenggaranya sebuah sistem informasi,
ada banyak produk basis data yang telah beredar dipasaran
seperti contohnya mysql, Microsoft SQL Server, Oracle, Berdasarkan pada rumusan masalah diatas,maka
Postgre, contoh diatas berbasis relational.Pada saat ini untuk memfokuskan pembahasan diperoleh
MySQL merupakan database server yang sangat terkenal di batasan masalah sebagai berikut:
dunia, semua itu tak lain karena bahasa dasar yang 1. Menggunakan RDBMS MYSQL dan DBMS
digunakan untuk mengakses database yaitu SQL. SQL
MongoDB.
(Structured Query Language) pertama kali diterapkan pada
sebuah proyek riset pada laboratorium riset San Jose, IBM 2. Keduanya di bangun dengan menggunakan
yang bernama system R. Kemudian SQL juga dikembangan NodeJS (sails framework)
oleh Oracle, Informix dan Sybase. Dengan menggunakan 3. Tidak membahas tentang keamanan system.
SQL, proses pengaksesan database lebih user-friendly 4. pengukuran kecepatan adalah response time
dibandingkan dengan yang lain, misalnya dBase atau Clipper
dengan satuan ms.
karena mereka masih menggunakan perintah-perintah
pemrograman murni. Sebuah konsep penyimpanan yang 5. Tidak membahas jumlah data
saling berkaitan, ketangguhan database relational dalam hal 6. Parameter yang di gunakan untuk pengukuran
penghitungan, integritas, dan kelebihan lainnya menjadikan adalah dengan jumlah user.
RDBMS diadopsi secara luas dan dianggap sebagai alternatif
1
1.4 Tujuan Penelitian 4. Implementasi
Hasil yang diperoleh dari proses-proses yang dilalui
Adapun Tujuan yang ingin di capai oleh penulis seperti sebelumnya akan diterjemahkan dalam proses
berikut: pengembangan piranti lunak berbasis sistem operasi berbasis
1. Mengimplementasikan Basis Data baik NoSQL web.
Maupun SQL pada sebuah Sistem Informasi 5. Pengujian
Catering. Pada tahap ini, pengujian akan dilakukan agar
2. Menganalisis tiap kelebihan dan kekurangan pada Mengetahui perbedaan kapabilitas dan kecepatan Basis Data
tiap Basis Data pada Implementasi ke sebuah sistem berjenis NoSQL dengan MYSQL.
informasi.
2
2.2 Perancangan Sistem
2.2.1 workflow
2.2.3 Kebutuhan NonFungsionalitas
Pada kebutuhan non fungsionalitas yang didapat
Workflow merupakan alur dari setiap aktifitas yang selama ini
adalah seperti berikut:
di jalankan oleh semua peranan.
1.PC server baik baru maupun bekas.
Table 1 Workflow Presensi dan Penggajian
2.membutuhkan orang menghandle apps
Bagian atau Departemen
Aktifitas Karyawan Karyawan Pemilik
Dapur Pramusaji (Owner) 2.2.4 Analisis Kebutuhan Data.
Presensi 1 Mencatat 1. Mencatat
tanggal tanggal masuk
masuk kerja kerja atau Setelah melakukan proses analisis kebutuhan system,
dan juga event yang maka analisis selanjutnya adalah analisis kebutuhan data.
tanggal diikuti. Analisis ini bertujuan untuk memudahkan dalam
keluar kerja
2. Ketika 2. Ketika
perancangan informasi. Adapun analisis kebutuhan data yang
karyawan pembayaran gaji di perlukan antara lain:
dapur ingin karyawan 1.Data User.
pulang pramusaji Kriteria pada data user akan di tampilkan meliputi
,catatan menyerahkan
tanggal catatan event dan
Username, nama, alamat, password, foto ,nomor
masuk tugas yang telephone, role atau jabatan, dan nomer rekening.
selama kerja dilakukan untuk 2.Data Pemesanan
diserahkan mencairkan gaji. Kriteria pada data pemesanan akan di tampilkan
kepada
owner untuk
meliputi atas nama pemesan, menu pemesanan,
mencairkan item yang di pesan, tanggal yang pemesanan,
gaji. alamat pemesanan, siapa yang menerima pesanan,
Pembayar 1. Owner total yang harus di bayar dan juga DP.
mengecek
an Gaji dan acc 3.Data Menu
untuk Pada data menu berfungsi untuk menampilkan
pembayar
an gaji menu apa saja di dalamnya. Selain itu penjelasan
karyawan. dari nama menu, sehingga data yang di dapat
3. Mendapatkan 3. Karyawan adalah Nama menu, harga, Item, kategori,
gaji mendapatkan gaji
deskripsi, dan foto.
Tabel 2 Workflow Pemesanan
4.Data Item
Bagian atau Departemen
Aktifitas Customer Pemilik Pada data Item merupakan penjelasan item apa
(Owner) saja yang ada pada menu. sehingga pada data item
Pemesanan Memesan Masakan berisi nama item, deskripsi, harga, dan foto.
dengan memilih menu 5.Data Bukti Bayar pemesanan
beserta DP.
Owner akan
Data bukti pemesanan merupakan rekapan data-
meng ACC data pembayaran kostumer sehingga data yang
pesanan dan akan di tampilkan meliputi pesanan, foto bukti,
mencatatnya nominal yang di transfer, tanggal pembayaran, dan
ke dalam
buku
pengaprove atau penerima
Owner 6.Data Presensi
mengecek Data Presensi akan menampilkan presensi tanggal
Pesanan dan masuk dan tanggal keluar karyawan.
di buatkan
pesananya
7.Data penggajian
Pesanan Pada Data penggajian akan menampilkan
Diantar penggajian karyawan, tanggal penggajian, dan
menerima pesanan dan juga nominal yang di bayarkan.
pelunasan
Pada kebutuhan fungsionalitas di temukan seperti berikut: Dari hasil Analisis Data dan kebutuhan fungsional
1. Adanya sistem pencatat pesanan maka dibuatlah ke dalam bentuk ERD. Sehingga seperti
2. Adanya sistem untuk pencatatan presensi berikut ERD yang di buat.
3. Adanya sistem pemesanan bisa secara online.
4. Sistem pencatatan penggajian karyawan
5. Sistem yang Cepat dan handal.
6. Sistem yang mempunyai skalabilitas tinggi
3
mengetikan sebuah command maka akan tergenerate semua.
Untuk command yang di gunakan sebagai berikut.
D:/> Sails generate api (nama tabel/nama collection)
Selanjutnya struktur folder akan di generate dan file
akan otomatis, selain file dan struktur folder sails akan
mengenerate sebuah route default dan fungis-fungsi otomatis
kedalam scriptnya yang di namakan SailsBluePrint.
. Untuk menghidupkan website sails mempunyai
perintah seperti berikut.
Sails lift
Selanjutnya masuk ke tahap pengecekan
server sudah hidup atau tidak. Untuk mengecek server
Gambar 1 Rancangan Tabel DB MYSQL hidup bias dengan mengetik.
http://localhost/namamodel
2.2.6 JSON Schema untuk sample mengetikan http://localhost/user maka
Pada pemodelan JSON Schema yang menjadi struktur akan tertampil seperti pada Gambar 4.36 berikut.
untuk NoSQL maka akan di buat berbagai variasi di setiap
collection yaitu dengan relasi berupa Embeded Document
dan Reference Document dari data-data yang di inginkan
sistem yang ingin di miliki oleh pemilik maka di buatlah
seperti contoh berikut
{ "_id" : ObjectId(),
"user" : String,
"nama" : String,
"alamat" : String,
"urlfoto" : String,
"jenis_kelamin" : String,
"no_hp" : String,
"password" : string,
"role" : string,
"token" : string,
"status" : string }
Gambar 2 Pengecekan API User
2.3 Implementasi dan pengujian Setelah semua api sudah di buat selanjutnya adalah
tahap pemasangan dan ujicoba database.
2.3.1 Implementasi
Setelah membuat sebuah database dari struktur 2.3.2 Pengujian API
yang di rancang, selanjutnya agar sistem informasi dapat di Pada SubBAB ini akan membahas tentang hasil pengetestan
akses oleh beberapa platform yaitu android dan website. dengan strength test, yaitu seberapa kuat API dengan
Untuk proses pembuatan API menggunakan REST API, menggunakan DB server MYSQL dan MongoDB. Untuk
dengan JSON format, sedangkan Bahasa pemrograman yang pengujian yang di lakukan adalah dengan mengakses sample
di pakai adalah NodeJS. Pada NodeJS mempunyai sebuah mulai dari variable 5 user mengakses bersamaan sampai ke
framework bernama Sails JS yang mempunyai kelebihan fast 500 user mengakses secara bersamaan. Dengan pengetesan
deploy untuk sebuah website maupun menjadikanya secara bertahap melalui 5,10,100,500. percobaan akan di
webservice. Untuk sails sendiri sangat di rekomendasikan di lakukan tiga kali,untuk metode yang dilakukan adalah select
install secara global sehingga hanya memerlukan command dan insert,update delete dengan interval grafik response time
interval 1000ms, pengujian akan dilakukan 5 API yaitu user
D:\> Npm install sails -g
untuk Select dan insert, pemesanan update,item
Setelah command tersebut di tulis, maka otomatis select,presensi insert.
sails akan menginstall ke dalam pc dengan cara mengunduh Contoh pengujian yaitu menggunakan user test dari hasil uji
pada repository milik NPM sendiri,dan menginstallnya ke coba yang dilakukan maka di peroleh data untuk mongodb
dalam global package, untuk membuat sebuah project pada dan MYSQL saat select seperti pada tabel 4.1 dan 4.2
sails cukup dengan menggunakan perintah. berikut.
Sails new (Nama Project)
Selanjutnya project akan secara otomatis akan di
generate sampai ke kerangka bekerjanya,termasuk
penginstallan dependency dari sails. pada sailsjs selanjutnya
membuat sebuah API pada sails. Untuk membuat sebuah
API pada sails sangatlah mudah, yaitu hanya perlu
4
Tabel 3 Tabel Mongodb Response Time saat Select Dari Tabel 5 dan 6 yang di dapatkan sebuah
Sample Minimal Rata-rata Maximal perbandingan performa sehingga di buatlah grafik
User response response response perbandingan seperti pada Gambar 4.84 berikut
Akses time time time
(ms) (ms) (ms)
5 5 9 19
10 5 6 11
100 4 29 165
500 11 847 1305
3. PENUTUP
3.1 Kesimpulan
5
5.2 Saran
1. Pengujian di lakukan dengan mengidentifikasi parameter
lain yang mempengaruhi performa dan kecepatan ke dua
database.
Daftar Pustaka
Biodata Penulis