NodeJS + MongoDB = Masa Depan Dunia Web Development??

Ngeri! Mungkin hanya satu kata itu yang bisa menggambarkan tentang decak kagumnya para web developer dunia terhadap keunikan dan keluarbiasaan NodeJS. Hanya satu kata, tiada banyak bicara, walau kita berjumpa dan saling menyapaaaaa... Dan lupa waktuuuuu... STOP!

Lalu sebetulnya di mana sih letak kehebatan NodeJS di padu MongoDB ? Sampai berani sekali menulis judul yang kontroversial, seperti judul artikel ini. Kita akan saksikan sehebat apakah... Hebat sekali, atau bahkan tidak hebat sekali.

NodeJS, memang terdengar asing bagi kebanyakan orang, tapi tidak dengan orang-orang dengan bahasa aneh yang kelakuannya juga aneh, (biasanya begitu orang menyebut programmer, orang sunda menyebutnya jalmi teu puguh). NodeJS jadi hembusan angin segar yang diramalkan oleh para web developer senior di luaran bisa menjadi masa depan dunia web development? Woghhhh... apa iya??

Paling tidak ada beberapa yang mungkin perlu Anda tahu sebelum masuk ke dunia web development menggunakan NodeJS ini.

Keistimewaan NodeJS

Sepertinya memang tidak asik jika melihat keistimewaan sebuah fitur dari sesuatu tanpa membandingkan sesuatu yang memiliki keluarbiasaan fitur. Pada kali ini saya akan coba jelaskan di mana letak kehebatan nodejs jika dibandingkan dengan PHP. Salah satu bahasa pemrogaman yang teramat populer yang bahkan mengalahkan populernya bahasa sunda di tengah-tengah kegilaan para programmer. Itu yang dibelakang jangan senyum-senyum sendiri. Biasa aja ah :). Hiiii...

Baiklah, server side programming seperti php, dan yang lain-lain lah ya, Anda sebutkan sendiri, kita telah mengetahui bahwa jenis pemrogaman seperti ini adalah berbasis thread. Ketika berbasis thread maka suatu tugas baru bisa dijalankan jika tugas yang sebelumnya selesai. Sebagai contohnya, kita membuat sebuah script php yang digunakan untuk membaca file, dan melakukan tugas yang lain setelah processor selesai membaca baru bisa melaksanakan tugas yang lain. Ada waktu menunggu yang dimana procesor dalam process idle karena tidak melakukan apa-apa hanya karena menunggu suatu proses thread tadi selesai.



Contoh logikanya seperti, kita analogikan php dan nodejs seperti dua restoran, yakni restoran php dan restoran nodejs.

Suatu hari ada pemesan yang menelepon ke restoran siap saji php, untuk memesan beberapa jenis makanan.  Maka operator akan mengangkat telepon dan menanyakan akan memesan makanan apa, sekaligus mencatatnya. Operator sambil mengangkat telepon kemudian mengirimkan daftar makanan yang dipesan, lalu menunggu makanan yang dipesan tersebut siap. Jika makanan sudah siap maka operator (sambil mengangkat telepon si pemesan) memberitahukan bahwa makanan sudah siap tinggal di kirimkan. Setelah makanan yang dipesan semuanya selesai maka operator kemudian menutup telepon, dan baru bisa kembali mengangkat telepon untuk pemesan selanjutnya. Sehingga jika ada 10 pemesan berbarengan maka diperlukan 10 operator. Jika dalam kondisi server yang sesungguhnya terjadi kelambatan karena memakan resource server yang berlebihan untuk menangani request dari user.

Yang terjadi di nodejs adalah seperti ini. Direstoran nodejs operatornya sangat terdidik dan terlatih sehingga apabila ada pemesan menelepon, maka operator akan mengangkat menanyakan dan mencatat makanan apa yang dipesan kemudian langsung menutup telepon. Setelah makanan siap barulah operator menelepon kembali si pemesan, bahwa makanan telah siap dan langsung dikirimkan. Sehingga si operator bisa melayani beberapa pesanan sekaligus. Tanpa ada waktu tunggu yang terlalu lama.

Begitulah yang terjadi pada nodejs. Lebih cepat, lebih ringan, lebih efisien.

Keistimewaan MongoDB

Mongodb merupakan salah satu jenis database dari NoSQL. Meski namanya aneh tapi kehandalannya sudah dibuktikan oleh website-website dengan big trafic, dan tentunya big database, seperti Foursqure, Disney, Forbes, Sourceforge, ataupun Github. Mongo sebetulnya database yang tidak memiliki relasional, berbeda dengan MySQL yang memang dibuat untuk menangani relasi database. Justru mongo memang dibuat menggunakan manajemen database berorientasi document oriented.

Jika Anda yang terbiasa menggunakan MySQL mungkin cukup kebingungan di mongodb, karena dalam mongoDB tidak ada table-table dalam database, dan tentunya tidak ada relasi.

Perbandingan RDBMS seperti MySQL dengan MongoDB, koleksi diibaratkan dengan tabel, sedangkan dokumen diibaratkan dengan baris / record dalam tabel tersebut.

 Tapi jika ANda sudah mengetahui struktur JSON , begitulah struktur dari MongoDB. MongoDB memiliki konsep key dan value layaknya sebuah array dalam JSON. Data pada model MongoDB disebut BSON dengan struktur yang mirip dengan JSON. Strukturnya cukup mudah dibaca. Dengan konsep key-value pada MongoDB, setiap dokumen akan otomatis memiliki index id yang unik. Sehingga dapat membantu mempercepat proses pencarian data secara global.

Jelas-jelas bahwa karena mengadopsi konsep JSON maka MongoDB memiliki kecepatan jauh yang lebih baik ketimbang MySQL.

Namun sayang belum Ada hosting di Indonesia yang mendukung NodeJS ini, paling tidak Anda bisa menyewa VPS sendiri.

NodeJS yang di padu dengan MongoDB dipercaya akan menghasilkan teknik web development di masa depan. Beberapa startup di luar negeri sudah mulai memikirkan ulang untuk pindah dari php ke nodejs. :). Seperti www.yummly.com , www.shutterstock.com , www.klout.com , www.learnboost.com, dan banyak lagi...

Sangking kerennya NodeJs sampai enukesoftware membahas "Will PHP Survive the Attack of Node.js"

Kedepannya kita akan belajar bagaimana programming ria menggunakan NodeJS.


Salam

Loka Dwiartara
Admin Ilmuwebsite.com
Founder kaffah.biz
DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0838 1157 5876, atau bisa pesan secara online di sini)

Admin Ilmuwebsitecom

Phasellus facilisis convallis metus, ut imperdiet augue auctor nec. Duis at velit id augue lobortis porta. Sed varius, enim accumsan aliquam tincidunt, tortor urna vulputate quam, eget finibus urna est in augue.

1 komentar:

  1. memang menarik kalau sudah membahas tentang NodeJS ini.
    trima kasih infonya min.

    => Pengonaq Media

    BalasHapus