• Tidak ada hasil yang ditemukan

BAB II. LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II. LANDASAN TEORI"

Copied!
19
0
0

Teks penuh

(1)

4

BAB II. LANDASAN TEORI

2.1. Database

Database dapat dijelaskan sebagai kumpilan koleksi data yang terintegrasi. Data adalah sebuah representasi dari beberapa objek fisik maupun konseptual. Database berisikan penjelasan tentang struktur yang dimilikinya. Penjelasan ini dinamakan metadata – data yang berisikan data. Database saling terintegrasi dan memiliki hubungan antar data didalamnya (Berg, Seymour, & Goel, 2013)

2.1.1. Database Management System

Database management system (DBMS) adalah sebuah paket perangkat lunak yang melakukan kontrol terhadap pembuatan, pemeliharaan dan penggunaaan sebuah database. DBMS mengizinkan beberapa user dalam mengakses sebuah program database secara bersamaan. DBMS dapat menggunakan bebrapa model database seperti seperti model relational maupun model berbasis objek untuk mendukung pengembangan sebuah aplikasi. DBMS menggunakan bahasa query yang merupakan bahasa pemrograman tingkat tinggi, dimana bahasa tersebut akan menyederhanakan program aplikasi database (Gelogo & Lee, 2012) .

2.1.2. Database Replication

(Mazilu, 2010) mejelaskan bahwa replikasi database adalah proses pembuatan dan pemeliharaan beberapa instansi dalam sebuah database yang

(2)

sama dan proses pembagian data atau perubahan rancangan database antara database tanpa harus melakukan duplikasi seluruh system database. Dalam implementasinya, sebuah server database memegang duplikasi master dari sebuah database sementara server database tambahan lainnya memegang duplikasi slave dari database tersebut. Duplikasi lain dari database tersebut akan selalu tersinkron dengan master.

Database yang asli disebut dengan Design Master sementara tiap duplikasinya disebut dengan replica. Design master dan replica membentuk sebuah replica set, hanya ada satu design master untuk tiap replica set. Sinkronisasi akan memastikan tiap duplikasi dari database memiliki objek dan data yang sama dengan database master. Ketikaproses sinkronisasi dijalankan, hanya data yang mengalami perubahan yang akan berubah di database replica, rancangan database juga dapat tersinkron dengan melakukan perubahan rancangan pada database master.

Replikasi database ini dapat berfungsi sebagai back up karena database replika dapat mengambil alih posisi database master apabila database master yang sedang berjalan mengalami down time. Hal ini dapat dijelaskan pada gambar 2.2 dibawah ini dimana database distributor yang berlaku sebagai database master memiliki database publisher sebagai database slave (replikasi).

(3)

Gambar 2.1 – Contoh Skema Replikasi Database

2.1.3. Database Sharding

Sharding adalah istilah yang digunakan untuk menjelaskan praktek penggunaan beberapa server pada sebuah database yang sama dan melakukan konfigurasi untuk dapat menyimpan data secara terpisah di server – server yang berbeda. Proses ini akan meningkatkan kinerja database karena tiap server akan menangani data yang berbeda, jika satu server database menjadi sangat besar maka akan mempengaruhi waktu eksekusi query. Kendati memiliki keuntungan yang dapat terlihat, replikasi lebih direkomendasikan daripada sharding karena replikasi menyediakan peningkatan kinerja dan reliablility (Patel, Mosin, & Vasava, 2014).

(4)

Gambar 2.2 – Contoh Arsitektur Database Sharding

2.1.4. Prediksi Kecenderungan Database di Masa Depan

Saat ini database sudah mulai memakai logika secara kompleks. Fitur lainnya yang sedang dikembangkan adalah konsep pemisahan lokasi dari konsep abstrak database itu sendiri. Fitur ini memungkinkan database untuk ditempatkan di beberapa lokasi dan melakukan proses query sebagai unit yang berkelanjutan. Hal ini mungkin terhadi karena juga ditunjang oleh peningkatan kecepatan jaringan (Berg, Seymour, & Goel, 2013). Berikut adalah beberapa point tentang kecenderungan database di masa depan :

‐ Database dana manajemen data berada pada titik balik

‐ Pergantian arsitektur seperti cloud computing dan kebutuhan untuk dapat menangani ukuran data dalam jumlah yang sangat besar

‐ Database akan digunakan diluar batas yang biasanya. Salah satu conohnya adalah Google’s Map Reduce. Koleksi data (bukan database)

(5)

semakin meningkat kepentingannya dalam mendapatkan dan menghubungkan ilmu pengetahuan. Cloud, mobile, dan aplikasi virtual akan menjadi penentu perubahan.

2.2. Relational

Database Model

Relational Database menggunakan gagasan tentang database yang diuraikan kedalam beberapa tabel dimana tiap kolom dalam tabel tersebut merepresentasikan field dan tiap baris merepresentasikan data dari tiap field. Tabel dapat terhubung antara satu sama lain dengan memanfaatkan penggunaan

foreign key. Pada level abstract, suatu tabel merepresentasikan sebuah entitas

seperti pengguna, pelanggan atau pemasok (Berg, Seymour, & Goel, 2013). Rancangan sebuah database dengan model relational dapat dijelaskan pada gambar 2.3.

Menurut (Bhat & Jadhav, 2010) Database Relational sedang menghadapi banyak tantangan diantaranya :

‐ Kinerja database yang sulit untuk diprediksi ketika bekerja dengan menggunakan database yang diakses oleh banyak aplikasi, kinerja database menjadi sulit diperdiksi karena tiap aplikasi memiliki cara yang berbeda dalam menggunakan shared database tersebut.

‐ Integritas data menjadi sulit apabila menggunakan database yang diakses oleh banyak aplikasi karena tidak ada satupun aplikasi yang memiliki kontrol data. Hal ini menyulitkan karena tidak ada kepastian bahwa semua aplikasi beroperasi dalam prinsip bisnis yang sama

(6)

‐ Database operasional memerlukan perancangan strategi yang berbeda dengan database report. Skema database operasional mencerminkan kebutuhan operasional yang aplikasi butuhkan, seringkali menyebabkan skema yang dinormalisasi dengan beberapa area yang di denormalisasi dengan alasan kecepatan. Database report memiliki skema denormalisasi yang tinggi dengan tingkat redudansi yang besar didalamnya untuk mendukung kebutuhan reporting yang luas.

Gambar 2.3 – Contoh Skema Relational Database

2.2.1. Karakteristik Database Relational

(Berg, Seymour, & Goel, 2013) menjelaskan bahwa struktur internal operasi database relational pada dasarnya selalu mengarah pada ‘baris’ yang ada pada tabel. Pengguna akan berinteraksi dengan pandangan logis dari data dan tidak perlu tahu apa-apa tentang struktur internal yang sebenarnya. Penjelasan tentang karakteristik database secara menyeluruh telah dirangkum oleh (Berg, Seymour, & Goel, 2013) ke dalam tabel berikut.

(7)

Skema Database Fungsi Database Pendekatan Database

‐ Skema Konseptual secara logika

menjelaskan seluruh isi

data dalam database

‐ Skema internal (Skema Fisik) menjelaskan

tentang bagaimana data

disimpan

‐ Skema eksternal menjelaskan data yang

digunakan oleh user

‐ Manajemen kamus data ‐ Manajemen penyimpanan

data

‐ Transformasi dan presentasi data

‐ Manajemen Keamanan ‐ Kontrol akses untuk

banyak pengguna

‐ Manajemen backup dan pemulihan

‐ Manajemen integritas data ‐ Antar muka aplikasi dan

bahasa database dalam

menunjang bahasa

pemrograman

‐ Antar muka komunikasi database ‐ Data Definition Languange (DDL) : Menjelaskan struktur database ‐ Data Manipulation Language (DML) : Melakukan penarikan, penambahan, penghapusan, serta perubahan data dalam database ‐ Data Control Language (DCL) : Kontrol akses terhadap data

2.2.2. MySQL

MySQL adalah sistem manajemen database relasional dan mengimplementasikan SQL (Structured Query Language), yang merupakan bahasa query standar database relasional. MySQL bersifat open source, dan merupakan database yang paling banyak digunakan dan dapat menangani

(8)

database yang sangat besar (Ionescu & Istoc, 2011). Karakteristik database MySQL dapat dijelaskan pada tabel 2.1 dibawah ini.

Tabel 2.2 – Karakteristik MySQL

Karakteristik MySQL Penjelasan

Kinerja yang tinggi MySQL dapat berjalan di berbagai sistem operasi seperti:

Linux, Windows, Mac OS X, Solaris.Meanwhile, ia dapat

bekerja dengan jutaan tranzactions.

Kemudahan penggunaan MySQL mudah untuk dikonfigurasi serta memiliki banyak

pilihan software untuk melakukan pengelolaan database

Skalabilitas MySQL adalah open source dan dapat dengan mudah

disesuaikan oleh pengguna dalam mengembangkan

aplikasi sesuai kebutuhan sendiri. Database ini juga dapat

mengelola database yang sangat besar.

Kecepatan Dapat dikembangkan dengan berbagai jenis bahasa

pemrograman seperti: Java, PHP, Python, C ++, C, Perl

dan memberikan kecepatan pengolahan data yang baik

Keamanan MySQL memberikan keamanan melalui penerapan

password terenkripsi dan memastikan perlindungan data

melalui mekanisme tertentu.

2.3. NoSQL

Database Model

NoSQL (Not Only SQL) merupakan salah satu jenis dari database management system yang menggunakan kelompok data yang tidak bersifat non-relational, dimana database tidak dibangun kedalam tabel – tabel, dan tidak

(9)

menggunakan SQL dalam melakukan manipulasi data. NoSQL database management systems sangat berguna ketika bekerja dengan jumlah data yang sangat besar dan data – data didalamnya tidak memerlukan model relational (Moniruzzaman & Hossain, 2013).

2.3.1. Klasifikasi NoSQL Database

Menurut (Arora & Aggarwal, 2013) , Database NoSQL model dibagi menjadi 4 jenis diantaranya :

‐ Key-Value Database

Penyimpanan data menggunakan key value dilakukan dalam sebuah form yang berisi key dan value. Tiap key bersifat unik dan key akan digunakan untuk mendapatkan value. Kecepatan query yang dihasilkan oleh database ini lebih tinggi dibandingkan dengan database relational. Dynamo dan Riak adalah contoh dari database key-value. Database ini digunakan dalam aplikasi yang skema database nya terus berkembang secara berkelanjutan.

(10)

Gambar 2.4 – Penyimpanan Key-Value Database

‐ Column Oriented Database

Penyimpanan data berbasis kolom dilakukan dengan menyimpan data data dalam sekumpulan kolom, kolom – kolom tersebut disimpan dalam sebuah file yang sama yang disebut dengan colum families. Database jenis ini biasa dipakai untuk aplikasi yang secara intensif dipakai oleh user. Hbase dan Cassandra adalah contoh database berbasis kolom.

(11)

Gambar 2.5 – Struktur Data Column Database

‐ Document Database

Penyimapanan data dalam dokumen ini hampir mirip dengan key-value database, namun data yang disimpan dalam document database ini disimpan dalam format JSON atau XML. Database jenis ini digunakan untuk aplikasi yang data – data di dalamnya sering mengalami perubahan seperti aplikasi Customer Relationship Management.

(12)

Gambar 2.6 – Struktur Data Document Database

‐ Graph Database

Database grafik menggunakan struktur grafik untuk menyimpan data. Database jenis ini cocok digunakan oleh aplikasi yang memiliki banyak interkoneksi antar data seperti aplikasi media social. OrientDB dan neo4j adalah contoh dari jenis database ini.

(13)

Gambar 2.7 – Struktur Data Graph Database

2.3.2. NoSQL Database Query

Penggunaan query adalah salah satu bagian yang dijabarkan tidak secara rinci pada database NoSQL. Salah satu kemungkinan dari proses query pada database NoSQL adalah dengan menggunakan perintah SQL yang sangat terbatas. Database NoSQL menggunakan operasi semacam get (key) untuk mendapatkan data dari key yang dipanggil, put (key, value) untuk melakukan proses insert atau update serta perintah delete (key) untuk menghapus key yang ada di database. Beberapa database NoSQL memerlukan perintah tambahan

execute (key) untuk menjalankan perintah – perintah diatas.

Distribusi data secara horizontal pada database NoSQL menyebabkan tidak didukungnya perintah join atau order by seperti yang ada pada database relational. Apabila diperlukan, maka operasi join maupun order by dapat dilakukan dari sisi client. Operasi seleksi pada database NoSQL sering dijelaskan pada level API (Pokorny, 2013).

2.3.3. Arsitektur NoSQL Database

Arsitektur dari beberapa jenis NoSQL menggunakan beberapa kemungkinan distribusi untuk memastikan ketersediaandalam mengakses replikasi data. Kebanyakan dari database NoSQL menggunakan replikasi data yang bersifat asynchronous. Hal ini akan membuat proses write ke database menjadilebih cepat karena tidak bergantung kepada lalu lintas jaringan tambahan (Pokorny, 2013). Pada tabel 2.3 akan dijelaskan karakteristik dari beberapa jenis database NoSQL dalam hal model data, cara melakukan query, metode replikasi

(14)

(A – asynchronous, S - synchronous) serta kemungkinan transaksi (L – Transaksi Lokal, N – tidak ada transaksi).

Tabel 2.3 – Perbedaan karakteristik antar jenis database NoSQL

Nama Pembuat Model Data Query Replikasi Transaksi

Big Table Google (Key, {value}) Seleksi kombinasi

antara kolom dan

baris serta

timestamp

A + S L

HBase Apache Kumpulan

kolom

JRUBY IRB

berbasis shell

A L

SimpleDB Amazon (Key,

{attribute}), attribute = (name, value) Restricted SQL. Operasi select, delete, getAttributes, putAttributes A N

Voldemort LinkeId Sama dengan

SImpleDB

Operasi get dan

put yang

sederhana

A N

MongoDB 10gen Dokumen

terstruktur yang berbasis objek Manipulasi dari koleksi objek yang ada A N

CouchDB Couchbase Dokumen

yang berisi nama item Menggunakan javascript dan MapReduce A N

(15)

Banyaknya jenis database NoSQL menjadikan sulit untuk dapat mengembangkan query standar yang dapat diterima oleh semua jenis database NoSQL. Namun demikian, (Meijer & Bierman, 2011) melakukan penelitian dan menghasilkan sebuah model matematika yang dapat digunakan oleh database NoSQL secara umum yang dinamakan key-value relationship dan menunjukkan bahwa model matematika ini bekerja seperti konsep primary key – foreign key yang ada pada database relational.

2.3.4. MongoDB

MongoDB adalah salah satu jenis database dokumen yang memberikan kinerja dan ketersediaan tinggi serta skalabilitas yang mudah. Dalam penggunaannya, MongoDB menggunakan beberapa database. Satu database memegang sekumpulan data yang disebut sebagai collections. Sebuah collection memegang sekumpulan dokumen. Sebuah dokumen berisi kumpulan pasang key, value. Dokumen memiliki skema yang dinamis. Skema yang dinamis ini berarti bahwa dokumen – dokumen yang berada pada collections yang sama tidak perlu memiliki kolom dan struktur yang sama. Kolom data dalam setiap dokumen yang ada pada collections bisa memiliki tipe data yang berbeda (MongoDB, Inc, 2013)

Seperti yang dijelaskan pada (MongoDB, Inc, 2013), berikut adalah fitur – fitur utama pada MongoDB.

(16)

MongoDB menyimpan data dalam dokumen dengan format JSON. JSON menyediakan model data yang beraneka ragam yang dapat dipetakan ke banyak bahasa pemrograman yang bersifat native.

‐ Power

MongoDB menyediakan banyak fitur yang telah tersedia pada RDBMS seperti index, query dinamis, sorting, dan aggregasi sederhana. Fitur ini yang akan memberikan fungsionalitas yang luas jika beralih dari database relational ke MongoDB dengan kelebihan fleksibilitas serta kapabilitas yang diizinkan oleh model non-relational.

‐ Kecepatan

Dengan menjaga data terkait secara sekaligus dalam sebuah dokumen, query bisa jauh lebih cepat daripada dalam database relasional di mana data terkait dipisahkan menjadi beberapa tabel dan kemudian perlu digabungkan (join). MongoDB juga memudahkan untuk melakukan skala database. Autosharding memungkinkan untuk melakukan skala cluster linear dengan menambahkan lebih banyak mesin. Hal ini akan meningkatkan kemungkinan untuk meningkatkan kapasitas tanpa harus mengalamin downtime dimana akan sangat bermanfaat bagi aplikasi yang sering diakses seperti aplikasi berbasis web.

‐ Penggunaan yang mudah

MongoDB bekerja sangat keras agar dapat dengan mudah dipasang, dikonfigurasi dan digunakan. MongoDB menyediakan beberapa pilihan konfigurasi dan sebisa mungkin tidak secara otomatis melakukan operasi tanpa persetujuan pengguna. Hal ini berarti MongoDB bekerja

(17)

diluar kebiasaan database pada umumnya dan pengguna dapat langsung mengembangkan aplikasi menggunakan MongoDB ketimbang harus menghabiskan waktu untuk proses konfigurasi database sesuai dengan kebutuhan pengguna.

2.4. Aplikasi

Berbasis

Web

Aplikasi Web mengacu pada aplikasi yang diakses melalui browser Web melalui jaringan dan dikembangkan dengan menggunakan bahasa yang didukung oleh browser seperti HTML atau Javascript. Dalam eksekusinya, aplikasi web tergantung pada Web browser dan mencakup banyak aplikasi yang sering digunakan sehari - hari seperti penjualan ritel online, lelang online, dan webmail.

Aplikasi Web dibutuhkan dalam bidang interaksi bisnis-ke-bisnis melalui jaringan, misalnya, untuk perusahaan-perusahaan di luar negeri yang melakukan proyek outsourcing satu sama lain. Penerapan infrastruktur aplikasi Web dapat menyediakan kemudahan dalam menjalankan proses - proses penting seperti transfer dana dan update informasi harga (Al-Fedaghi, 2011).

2.4.1. Kinerja Aplikasi Berbasis Web

Penelitian yang dilakukan oleh (Nabil, Mosad, & Hefny, 2011) memetakan kinerja aplikasi berbasis web ke dalam sebuah model kualitas aplikasi berbasis web. Model tersebut membagi kualitas aplikasi berbasis web menjadi 3 jenis persepektif yaitu perspektif pengunjung, pengembang dan pemilik.

(18)

Aplikasi Web digunakan oleh populasi yang beragam dari pengunjung dengan latar belakang heterogen dalam hal pengetahuan, keterampilan, dan kebutuhan. Tujuan utamanya adalah bahwa Aplikasi Web tersebut dapat memfasilitasi informasi yang dicari oleh pengunjung yang dapat meningkatkan kinerja dan persepsi mereka dalam kaitannya dengan aplikasi web yang digunakan. Oleh karena itu, faktor kualitas pengunjung menjadi isu – isu kritikal untuk pengembangan Aplikasi Web.

‐ Perspektif Pengembang

Komunikasi antara perusahaan dan pelanggan, selain diskusi tatap muka, terjadi melalui satu atau lebih media melalui interaksi dengan media oleh kedua belah pihak. Fitur antarmuka berbasis web menjadi pilihan menarik sebagai media interaksi antara perusahaan dan pelanggannya. Kebutuhan untuk mengembangkan aplikasi web yang terintegrasi dari kebutuhan pengunjung dan promosi pemilik dengan berbagai karakteristik kualitas masalah yang paling penting untuk setiap pengembang aplikasi web. ‐ Perspektif Pemilik

Banyak perusahaan telah menyadari, karena pasar mereka telah menjadi lebih global dan berorientasi layanan menggunakan aplikasi web. Aplikasi web menjanjikan potensi manfaat bagi perusahaan, termasuk biaya transaksi dikurangi, mengurangi waktu untuk menyelesaikan transaksi, mengurangi kesalahan administrasi, respon lebih cepat terhadap peluang pasar baru, meningkatkan pemantauan pilihan pelanggan, meningkatkan intelijen pasar, penyebaran lebih tepat waktu informasi kepada para pemangku kepentingan, dan lebih tinggi iklan disesuaikan

(19)

dan promosi. Berdasarkan penelitian literatur yang luas di bidang model kualitas web, kami menemukan bahwa pemilik WBA Perusahaan ini terutama berkaitan dengan tiga faktor kualitas: diferensiasi, popularitas, dan profitabilitas.

2.4.2. Python

Sebuah bahasa pemrograman open source yang berkembang pesat, Python memiliki rancangan berbasis object oriented dan dukungan modul – modul eksternal yang dapat meningkatkan produktifitas programmer. Python secara luas digunakan dalam berbagai jenis pengembangan perangkat lunak, termasuk perhitungan-intensif, pemrograman ilmiah dan pengembangan aplikasi bebasis web. Beberapa projek perhitungan ilmiah yang menggunakan python sebagai bahasa pemrogaramannya (Xia, McClelland, & Wang, 2010)

Gambar 2.8 – Contoh Penggunaan Sintaks Python

Gambar

Gambar 2.1 – Contoh Skema Replikasi Database
Gambar 2.2 – Contoh Arsitektur Database Sharding
Gambar 2.3 – Contoh Skema Relational Database
Tabel 2.2 – Karakteristik MySQL
+4

Referensi

Dokumen terkait

Berdasarkan pemikiran di atas, maka pada tahun 2015 Balai Pengembangan Pendidikan Anak Usian Dini, Nonformal dan Informal (BP-PAUDNI) Regional IV telah mengalokasikan anggaran

Botol yang keluar dari  filler   filler   dan  dan crowner  crowner   selanjutnya akan dibasuh dengan  selanjutnya akan dibasuh dengan air yang bertujuan untuk membersihkan

Huruf hijaiyah Huruf hijaiyah Huruf hijaiyah Gambar 3.16 Tampilan Belajar Tanwin Dhomah.. Pada gambar 3.16 bisa kita lihat bahwa terdapat pop up huruh tanwin dhomah dan

SEKOLAH TINGGI TINGGI ILMU KESE ILMU KESEHAT HATAN ENDERAL ACHMAD YA AN ENDERAL ACHMAD YANI NI YOGYAKARTA YOGYAKARTA 2015 2015 LEMBAR PENGESAHAN LEMBAR PENGESAHAN. SATUAN

Kejadian ini menyebabkan peningkatan iskemia pada saluran nafas yang rusak, selanjutnya Kejadian ini menyebabkan peningkatan iskemia pada saluran nafas yang rusak, selanjutnya terjadi

Tim Gabungan terus melakukan evakuasi pencarian korban longsor di dusun Dusun Jemblung Desa Sampang Kecamatan Karangkobar Kabupaten Banjarnegara.. Dari hasil pencarian

Saran yang dapat diberikan dari penelitian ini adalah: 1 guru SD, sebaiknya dapat mengembangkan media gambar seri dalam pembelajaran mengarang, sehingga memudahkan siswa dalam

terlampir dalam dokumen tersebut, surat pernyataan kesediaan untuk melakukan pengelolaan dan pemantauan lingkungan hidup yang ditandatangani oleh Ketua Koperasi