Facebook Ilmuwebsite

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

Posting Komentar

1 Komentar

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

    => Pengonaq Media

    BalasHapus