Database NoSQL CouchDB
Assalamu’alaikum Wr.Wb.
Kembali lagi di blog saya. Jika pada kesempatan
sebelumnya saya membahas penjelasan tentang Basis data (bisa kalian cek di
sini), kemudian dilanjutkan dengan pembahasan database yang berjenis
SQL dan NoSQL (bisa kalian cek juga di
sini), kali ini saya akan lebih spesifik lagi ke contoh salah satu
aplikasi database NoSQL yaitu COUCHDB.
Kenapa saya ambil membahas couchDB? Ada 2 hal yang
menjadi faktor mengapa saya membahas tentang ini mulai dari umum tentang basis
data hingga spesifik ke contoh database nosql. Faktor pertama adalah
mendokumentasikan tugas kuliah saya hehehee... dari pada jadi file yang begitu saja
di dalam laptop, mending saya posting dan bagikan lagipula menurut saya jenis
database ini cukup mudah dipelajari dan diaplikasikan untuk beberapa kasus yang
ada. Kedua adalah karena ingin memberikan informasi lebih lanjut ke pembaca
sekalian bahwa tidak semata database itu SQL yang kita kenal, namun ada juga
jenis database nosql yang populer dan dapat dipelajari untuk diaplikasikan ke
contoh kasus yang ada. Patut dipelajari dan patut dipertimbangkan.
Saat ini juga memang masih sedikit artikel yang
membahas tentang jenis-jenis database nosql seperti ini, naah karena itu saya
juga berharap artikel ini bisa menjadi lebih bermanfaat untuk pengetahuan kita
kedepannya.
Mari kita simak bersama. Semoga bermanfaat bagi
kita semua.
CouchDB
Dikutip dari website Codepolitan,
CouchDB merupakan salah satu database NoSQL berbasis dokumen yang masuk
dalam pembinaan Apache Foundation. CouchDB ini merupakan database yang bersifat
Open Source. Salah satu database
NoSQL yang memiliki konsep sama dengan CouchDB adalah MongoDB. CouchDB juga menjadi salah satu pionir database NoSQL
sebelum digandrungi oleh developer di masa kini. CouchDB dibangun menggunakan
bahasa pemrograman Erlang yang mengandalkan pada reliabilitas dan konkurensi.
CouchDB juga menjadi salah satu basis dalam pengembangan IBM Cloudant, sebuah
solusi database berbasis cloud yang
ditawarkan IBM kepada enterprise.
Damien Katz adalah yang menciptakan CouchDB pada
tahun 2005 saat proyek pengembangan MySQL. Pengambilan nama Couch adalah
bersumber dari singkatan cluster of
unreliable commodity hardware. Saat itu CouchDB adalah salah satu proyek
teratas dari Apache Foundation di tahun 2008 hingga akhirnya di 2009 Damien
berhasil membangun perusahaan CouchDB ini dengan nama CouchOne. CouchDB adalah
database yang menggunakan perangkat Futon dengan user interface yang sederhana dan sangat mudah membuat developer
merancang operasional database. Tak hanya itu, Javascript juga mengambil peran
di CouchDB sebagai proses query dalam operasional database.
Saat ini CouchDB memiliki jenis lain yaitu
CouchBase yang merupakan versi enterprise
dan community dari CouchDB yang masih
ditangani langsung oleh Damien dan timnya.
Konsep CouchDB
CouchDB adalah database NoSQL yang dirancang untuk
berada dilingkungan kerja dunia website. Hal ini didukung beberapa faktor dasar
CouchDB diciptakan.
- CouchDB adalah basis data yang berbasiskan document oriented.
- Format penyimpanan data dan pengaplikasiannya adalah format JSON.
- Karena menggunakan JSON, CouchDB menggunakan Javascript untuk bahasa mengakses datanya.
- CouchDB menggunakan HTTP sebagai API pendukung karena berbasis Apache.
Jika kita melihat pada logo CouchDB, terdapat 1
kata yang menggambarkan CouchDB, “Relax”. Ataupun ada 1 slogan yang
menggambarkan CouchDB dan slogan ini juga ditampilkan pada saat akan memulai
CouchDB yang nanti akan kita bahas.
“Apache CouchDB has started. Time to Relax”
Mengapa dikatakan seperti itu...? ini karena
alasan utama CouchDB adalah database noSQL yang powerful dan mudah digunakan. Memahami
dan mempelajari CouchDB dapat dilakukan dengan mudah secara alamiah bagi
kebanyakan orang yang melakukan pekerjaan di dunia Website serta masih cukup
mudah juga jika dijelaskan ke orang-orang non-teknis untuk memahaminya.
Dikatakan “relax” juga karena CouchDB mampu
menghindari masalah-masalah internal pada server database yang sebagian besar
masalah SQL terjadi. CouchDB bersifat penyimpanan cloud yang aman dan mudah diakses. Bahkan jika ada masalah tunggal
yang terjadi dikeseluruhan sistem server, request
perbaikan tetap akan tertangani dengan baik tanpa mengganggu sistem lainnya
yang berhubungan sekalipun dengan trouble
yang terjadi.
Instalasi CouchDB (Windows)
Sebelum kita melakukan proses instalasi, saya
jelaskan sedikit tentang perangkat lunak pendukung dari CouchDB yaitu NodeJS
sebagai perangkat pendukung untuk bahasa pmerograman Javascript dari sisi
server.
Dikutip juga dari Codepolitan tentang NodeJS, adalah
sebuah perangkat lunak yang didesain untuk mengembangkan aplikasi berbasis web
dan ditulis dalam sintaks bahasa pemrograman JavaScript. Bila selama ini kita
mengenal JavaScript sebagai bahasa pemrograman yang berjalan di sisi client/browser saja, maka Node.js ada untuk melengkapi peran JavaScript
sehingga bisa juga berlaku sebagai bahasa pemrograman yang berjalan di sisi
server, seperti halnya PHP, Ruby, Perl, dan sebagainya. Node.js dapat berjalan
di sistem operasi Windows, Mac OS X dan Linux tanpa perlu ada perubahan kode
program. Node.js memiliki pustaka server HTTP sendiri sehingga memungkinkan
untuk menjalankan server web tanpa menggunakan program server web seperti
Apache atau Nginx. Untuk lebih jelasnya tentang NodeJS bisa teman-teman baca
artikel tentang NodeJS di
Codepolitan karena intinya NodeJS ini digunakan sebagai pengganti apache
sebagai sisi server.
Balik ke instalasi, berikut ini akan saya jabarkan
langkah-langkah instalasi CouchDB versi Windows.
- Silahkan lakukan akses ke website resmi CouchDB di couchdb.apache.org
- Selanjutnya langsung saja click Download untuk mendownload versi terbaru dari CouchDB (perhatikan jenis OS kalian dan tipe arsitektur PC/Laptop kalian, x64 atau x86). Namun sebagai catatan, CouchDB versi yang terbaru sampai saat artikel ini diterbitkan, masih mengalami beberapa error jika digunakan sehingga membuat versi terbaru ini belum stabil sepenuhnya. Oleh karena itu, saya menyarankan agar kalian dapat men-download versi sebelum yang terbaru dari CouchDB yang sudah stabil sepenuhnya yaitu versi 2.0.0. Kalian dapat menemukannya di website archive dari apache di sini dan memilih sesuai dengan versi PC/Laptop kalian kemudian pilih versi 2.0.0 (Pilih ekstensi .msi agar bisa diinstal dengan mudah di windows kalian).
- Setelah di-download, lakukan proses instalasi seperti biasanya proses instalasi program di windows hingga selesai.
- Setelah proses instalasi selesai, untuk membuka CouchDB ini ada 2 cara; yang pertama kalian dapat membukanya dengan memasukkan alamat ke browser kalian “localhost:5984/_utils/”; atau dengan cara kedua yang sekaligus membuktikan bahwa telah terinstal dengan baik couchDB di perangkat kalian, yaitu dengan membuka menu dan mencari ikon aplikasi Apache CouchDB Fauxton. Jika proses instalasi benar dilakukan, maka tampilan CouchDb akan seperti gambar berikut.
- Setelah berhasil membuka CouchDB, di apache couchDB tersebut lakukan pengaturan Admin untuk mendapatkan hak akses penuh sama seperti jika kita menggunakan SQL. Pada pembuatan admin ini, isikan username dan password sesuai keinginan kalian dan disarankan yang mudah untuk diingat.
- Setelah melakukan pembuatan Admin, kita belum sepenuhnya dapat menggunakan CouchDB, kita harus melakukan verifikasi CouchDB yang kita instal. Gunanya adalah untuk memastikan sistem menerima semua data dari CouchDB yang terinstal agar dapat kita gunakan dan kita dapat menggunakan semua fitur yang ada di couchDB. (Seringnya sih terverifikasi semua, kalo ada yang tidak terverifikasi silahkan uninstal, dan instal ulang kembali couchDB)
- Setelah terverifikasi semua, CouchDB berarti siap untuk kita gunakan.
Menggunakan CouchDB
Setelah tadi kita melakukan proses instalasi, kini
saatnya kita dapat menggunakan CouchDB. Di sini saya akan menjabarkan
langkah-langkah sederhana yang dapat kita lakukan untuk memulai menggunakan
database hingga menggunakannya di projek website kita secara sederhana.
- Memulai membuat database di CouchDB dengan klik menu database dan klik “Create Database” di kanan atas. Pada contoh ini, dibuat database dengan nama “mycompany”.
- Setelah database berhasil dibuat, pengguna dapat langsung menambahkan dokumen data baru. CouchDB adalah database NoSQL yang berbasis dokumen dan berwujud JSON. JSON sendiri adalah adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3-Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
- Berikut adalah contoh isi data untuk database CouchDB.
- Setelah beberapa data dibuat, maka pengguna dapat membuat “view” dengan klik all documents dan klik “new view”.
- Pengguna mengisikan nama design dan mengisikan value tampilan yang akan menjadi dokumen JSON. Setelah dibuat view pada database maka tampilan fungsi JSON yang siap digunakan terlihat seperti gambar berikut.
- Selanjutnya kita akan menggunakan hasil JSON dari couchDB ke dalam projek web.
- Pertama siapkan folder pada local disk C; dan buat folder Project dan folder “couchcompany”. Berikut dalam dilihat dari gambar-gambar berikut.
- Setelah itu dapat kita buat project baru dengan menggunakan menggunakan cmd dengan memanfaatkan tool Node.js sebagai berikut.
- Dengan menggunakan Node.js dari NPM source code untuk menggunakan JSON ini sudah tersedia lengkap dan siap digunakan. Kegunaan node.js adalah untuk membangun API baru untuk sebuah project. API ini akan menjadi server mini pada perangkat dengan menggunakan perintah dari CMD.
- Dokumentasi untuk mengetahui source code dari node.js bisa dilihat pada link berikut. “https://www.npmjs.com/package/node-couchdb”
- Berikut adalah data hasil JSON yang telah dimasukkan ke dalam web.
- Setelah berhasil mendefinisikan JSON ke dalam web app, dapat dibuat secara sederhana dari web app, proses input data dengan menggunakan CouchDB. Hasil dari pembuatan web app sederhana tersebut memiliki sistem dari halaman web, mengirim data JSON untuk disimpan ke database dan dari CouchDB akan kembali mengirim hasil data yang juga berupa JSON.
Untuk lebih jelasnya disertai demonstrasi lengkap dari penjabaran yang saya
jelaskan mulai dari awal CouchDB, instalasi, hingga penggunaan, teman-teman
dapat melihatnya secara lebih detail di video berikut:
Dalam video tersebut, saya dan teman-teman saya menjabarkan apa yang tertulis di artikel ini secara lebih detail. Selain itu, dalam video tersebut juga saya dan teman-teman saya ada menjelaskan hal-hal yang tidak kami jelaskan pada artikel ini karena mungkin panjangnya cerita jika dijabarkan dalam tulisan maupun karena mungkin lebih enak dibicarakan daripada dijelaskan secara tulisan.
Penutup
Demikian postingan kali ini. Saya berharap apa
yang saya sampaikan dapat bermanfaat dan menambah wawasan kita seputar dunia
database. Segala yang ada dalam artikel ini, juga saya terangkan dalam bentuk
video agar teman-teman lebih mudah memahaminya. Lebih kurangnya mohon dimaafkan
dan bila ada kesalahan mohon koreksi saya di kolom komentar. Sekian dari saya,
Terima Kasih dan Wassalamu’alaikum Wr.Wb.
Terima Kasih dan Wassalamu’alaikum Wr.Wb.