Anda di halaman 1dari 8

PERBANDINGAN KEKUATAN BASIS DATA PADA DATABASE

NOSQL DAN MYSQL PADA SISTEM INFORMASI


CATERING BU SOFAN

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

Fredy Setiawan1), Kusrini2),


1)
Informatika Universitas Amikom Yogyakarta
2)
Magister Teknik Informatika Universitas Amikom Yogyakarta
Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email : fredy.setiawan@students.amikom.ac.id1), kusrini@amikom.ac.id2)

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.

1.5 Manfaat penelitian 2. PEMBAHASAN


2.1 Landasan teori
Adapun manfaat yang diharapkan dari penelitian adalah 2.1.1 Pengertian Sistem
sebagai berikut : Sistem sebagai sekelompok elemen – elemen yang
1. Manfaat yang diperoleh bagi penulis adalah : terintegrasi dengan maksud yang sama untuk mencapai suatu
a. Menambah pengetahuan dalam bidang tujuan. Secara umum, sistem didefinisikan sebagai
pemrograman basis data terutama pemrograman sekumpulan komponen atau jaringan kerja dari prosedur –
basis data NoSQL MongoDB. prosedur yang saling berkaitan dan saling bekerja sama
b. Sebagai bahan penyampaian ilmu yang didapat membentuk suatu jaringan kerja untuk mencapai sasaran atau
penulis kepada masyarakat. tujuan tertentu.[1]
2.1.2 Pengertian Informasi
2. Bagi Universitas AMIKOM YOGYAKARTA Informasi adalah data yang diolah menjadi bentuk yang
a. Dokumentasi karya ilmiah mahasiswa dalam bentuk lebih berguna danlebih berarti bagi penerimanta. Sumber
laporan skripsi. informasi adalah data. Data kenyataan yang
b. Sebagai referensi karya ilmiah mengenai mengGambarkan suati kejadian – kejadian dan kesatuan
pengaplikasian Basis Data Berbasis NoSQL nyata. Kejadian - kejadian (event) adalah kejadian yang
MongoDB menggunakan PHP. terjadi pada saat tertentu.[1]
2.1.3 Pengertian BasisData
1.6 Metode Penelitian Database adalah suatu aplikasi yang menyimpan
sekumpulan data. Setiap database mempunyai API/Library
Dalam pelaksanaan penelitian ini, dibutuhkan tertentu untuk membuat, mengakses, mengatur, mencari, dan
sebuah rangka metode penelitian yang akan digunakan oleh menyalin data yang ada di dalamnya.[2]
penulis. Metode - metode yang akan digunakan oleh penulis 2.1.4 Pengertian SQL
dalam menyelesaikan permasalahan yang akan disusun pada SQL (Structured Query Language) adalah bahasa
skripsi yang akan ditulis adalah sebagai berikut : pemrograman khusus yang digunakan untuk memanajemen
1. Pengumpulan Data data dalam RDBMS. SQL biasanya berupa perintah
Metode yang digunakan penulis dalam sederhana yang berisi instruksi-instruksi untuk manipulasi
mengumpulkan data atau informasi yang diperlukan pada data. Perintah SQL ini sering juga disingkat dengan sebutan
saat penelitian adalah dengan mengumpulkan referensi dari ‘query‘.[3]
berbagai sumber buku baik yang didapatkan dari 2.1.5 Pengertian NoSQL
perpustakaan atau ebook yang dibagikan gratis secara online. IstilahNoSQL dikemukakan pertama pada tahun 1998,
Selain itu penulis juga mencari berbagai tutorial dan cara dikembangkan oleh Walter W.Hobbs dari di bawah RAND
troubleshooting yang membantu dalam proses pembuatan Organization. NoSQL didefinisikan sebagai generasi baru
aplikasi. basis data yang bersifat non-relational, terdistribusi/tersebar,
2. Analisa Data dan open source, Basis data dengan NoSQL menyediakan
Penulis menggunakan metode analisa workflow mekanisme yang lebih mudah dan sederhana untuk
berdasarkan data-data yang dikumpulkan. Hal ini menyimpan dan mengambil data, dibanding dengan basis
dikarenakan metode analisa workflow mampu menganalisa data relasional.[4]
secara mendalam mengenai berbagai aspek mengidentifikasi 2.1.6 Javascript
berbagai kendala JavaScript merupakan bahasa skript populer yang
3. Perancangan Aplikasi dipakai untuk menciptakan halaman web yang dapat
Merupakan Gambaran pedoman yang dapat berinteraksi dengan pengguna dan dapat merespon event
digunakan dalam proses perencanaan aplikasi. Pada yang terjadi pada halaman.[5]
perancangan database NoSQL yang menggunakan 2.1.7 NodeJS
MongoDB, penulis menggunakan dua metode untuk Node.js adalah perangkat lunak yang didesain untuk
menerangkan hubungan antar data yang disimpan dalam mengembangkan aplikasi berbasis web dan ditulis dalam
database menggunakan references atau embedded sintaks bahasa pemrograman JavaScript.[6]
documents. Untuk MYSQL menggunakan perancangan
design table

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

2.2.2 Kebutuhan Fungsionalitas 2.2.5 Pembuatan Struktur pada SQL

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

Tabel 4 Tabel MYSQL Response Time saat Select


Sample Minimal Rata-rata Maximal
User response response response Gambar 4 Grafik perbandingan Insert Data pada User
Akses time time time API
(ms) (ms) (ms)
5 17 22 25 Pada Gambar 4 pengujian Insert pada API dapat di
10 16 19 28 simpulkan bahwa kemampuan saat Insert MongoDB
100 46 485 653 sangatlah jauh tertinggal disbanding dengan SQL yang masih
500 411 2839 4609 mampu mengcover 100 user,sedangkan Mongo sudah tidak
mampu mengcover 100 user. Selain mengcover pada saat
Dari Tabel 3 dan 4 sehingga di dapatkan hasil pengujian 500 user menginsert MongoDB terkena pukulan
perbandingan berupa grafik seperti pada Gambar berikut. sangat telak yaitu terjadi kegagalan atau error sebesar 13 data
hilang,

3. PENUTUP

3.1 Kesimpulan

Berdasarkan pembahasan yang telah dibahas pada


halaman sebelumnya dan dengan adanya penelitian pada
catering Bu Sofan dan pembuatan laporan skripsi dengan
Gambar 3 Grafik Perbandingan response time Select judul “Implementasi Basis Data NoSQL dan SQL pada
pada User Sistem Informasi Catering Bu Sofan” maka dapat ditarik
Dari Gambar 3 ,pengujian di dapat bahwa kecepatan kesimpulan sebagai berikut:
akses saat melakukan select pada MongoDB lebih cepat 1. Secara struktur management data antara basis data
dibandingkan MYSQL dimana saat 500 orang hanya MongoDB dan Basis data MYSQL memiliki perbedaan,
menyentuh kecepatan rata-rata response time sebesar 847 MongoDB mempunyai struktur json dan MYSQL berbentuk
sedangkan pada MYSQL berada 2839 dimana hal ini Tabel yang terstruktur.
MYSQL kalah saat memproses data select. Dan hasil yang di 2. Secara keseluruhan hasil yang di peroleh dari
peroleh saat Insert test dapat di lihat pada Tabel 4.3 dan 4.4 pengujian menunjukan bahwa dari segi kecepatan response
Tabel 5 Tabel Mongodb Response Time saat Insert time MongoDB dan MYSQL, MongoDB lebih cepat dari
Sample Minimal Rata- Maxima Error MYSQL. Hal ini di jelaskan pada BAB IV dengna pengujian
User response rata l s yang mempunyai hasil seperti berikut:
Akses time response response
(ms) time time a. Pada pengujian Select NoSQL lebih cepat 2,5 kali
(ms) (ms) dari MYSQL pada pengujian Select User
5 75 80 90 b. Pada pengujian Insert dengna metode form MYSQL
10 76 73 81 lebih unggul karena pada NOSQL terjadi error data
100 106 4849 6232 saat pengujian 500 user. Dan mempunyai response
500 1919 21688 31730 13 data time 3 kali dari MYSQL
gagal
c. Pada pengujian update kecepatan NOSQL 9 kali
lebih cepat dari MYSQL.
Tabel 6 Tabel MYSQL Response Time saat Insert d. Pengujian dengan Select NoSQL dengan relasi
Sample User Minimal Rata-rata Maximal Errors embedded mempunyai kecepatan 3 kali dari
Akses response response response time MYSQL.
time time (ms) e. Pengujian pada Insert dengan metode json kecepatan
(ms) (ms)
NOSQL 6 kali lebih cepat dibanding MYSQL.
5 61 72 85 0
10 61 143 341 0
100 354 1186 1802 0
500 660 5728 9819 0

5
5.2 Saran
1. Pengujian di lakukan dengan mengidentifikasi parameter
lain yang mempengaruhi performa dan kecepatan ke dua
database.

Daftar Pustaka

[1]Hutahaean, Jeperson. 2015. Konsep Sistem Informasi.


Yogyakarta: Deepublish.
[2] Kusrini, 2007, Strategi Perancangan dan Pengolahan
Basis Data, Yogyakarta, Andi Offset
[3] James R, Groff. Paul N,Weinberg & Andrew J.
Oppel. 2010. SQL: The Complete Reference (Third
Edition), McGraw Hi
[4] http//medium.com/javanlabs/mengenal-mongodb-
sebagai-alternatif- database4260d4148d6c, diakses
6 mei 2018 jam 16.50
[5] Sianipar, R.H. 2015. Pemrograman Javascript Teori
dan Implementasi. Bandung : Informatika Bandung.
[6] Kontributor Wikipedia, "Node.js," Wikipedia,
Ensiklopedia Bebas,
https://id.wikipedia.org/wiki/Node.js (diakses pada
tanggal 5 Juni 2018).

Biodata Penulis

Fredy Setiawan, memperoleh gelar Sarjana Komputer


(S.Kom), jurusan Informatika Universitas Amikom
Yogyakarta, lulus tahun 2018.

Kusrini, memperoleh gelar Sarjana Komputer (S.Kom),


Jurusan Ilmu Komputer Universitas Gadjah Mada
Yogyakarta, lulus tahun 2002. Memperoleh gelar Master
Ilmu Komputer (M.Kom), Jurusan Ilmu Komputer
Universitas Gadjah Mada Yogyakarta, lulus tahun 2006.
Memperoleh gelar Doktor dalam bidang ilmu komputer
dengan gelar (Dr.), Jurusan Ilmu Komputer Universitas
Gadjah Mada Yogyakarta, lulus tahun 2010. Saat ini menjadi
Dosen Universitas AMIKOM Yogyakarta.

Anda mungkin juga menyukai