Minggu, 04 Maret 2018

NoSQL (CouchDB) Penjelasan Hingga Penggunaan (1 Jam Bisa CouchDB)

Maret 04, 2018 // by M Faqih Dulqarnain // No comments

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.

0 komentar:

Posting Komentar