Apa Itu Node.js ? Pengertian, Fungsi, & Cara Install


Node.js adalah software open-source yang bisa digunakan untuk membuat aplikasi jaringan dan aplikasi server-side yang real-time dan scalable (bisa dikembangkan sesuai kebutuhan).

Pada dasarnya, Node.js adalah runtime environment lintas platform single-thread yang dibangun berdasarkan engine JavaScript V8 Chrome. Pembuatan aplikasi dengan Node JS dilakukan melalui virtual private server.

Runtime ini menawarkan operasi input/output (I/O) non-blocking, serta dibangun dengan arsitektur asinkron dan event-driven untuk membantu developer membuat berbagai project dengan mudah dan efisien.

Diartikel ini, selain menjelaskan apa itu Node.js, kami juga akan membahas cara kerja Node js, fungsinya secara umum, serta perbedaan Node. js dan npm. Kemudia kami akan membantu Anda dengan cara install Node.js di Windows.

Cara Kerja Node.js

Dibandingkan dengan platform lain, Node.js memiliki alur kerja yang spesifik. Software ini beroperasi dalam satu thread (single-threaded), yang berarti tidak membuat thread baru untuk setiap permintaan. Thread adalah rangkaian intruksi yang perlu dilakukan oleh server.

Node.js menggunakan operasi I/O non-blocking. Artinya, saat client mengirim permintaan ke web server, event loop single-threaded Node JS akan mengambil permintaan tersebut lalu mengirimkannya ke worker thread untuk diproses.

Dari pada memblokir thread dan membuat-buang resource CPU dengan menunggu respons, Node JS akan terus mengerjakan tugas berikutnya. Dengan cara ini, Node.js bisa menangani sejumlah besar permintaan secara bersamaan.

Oleh karena itu, Node.js tidak cocok untuk tugas-tugas dengan penggunaan CPU yang tinggi. Sebab, tugas tersebut bisa menghalangi thread utama untuk menangani permintaan lain, yang secara efektif akan memblokirnya.

Arsitektur yang Asinkron

Jadi, seperti pembahasan di atas tadi, thread Node.js tidak menunggu sampai respons diterima untuk lanjut memproses permintaan berikutnya.

Pada arsitekturnya yang asinkron, event loop beroperasi setiap kali peristiwa terjadi (event-driven). Setelah diterima dari pelanggan API sebelumnya, respons akan dimasukan ke dalam antrean event.

Event loop akan menyelesaikan semua permintaan sebelumnya dan permintaan saat ini sebelum menjalankan fungsi callback untuk mengirimkan respons dari server ke klien.

Karena menggunakan event loop single-thread, Node.js mampu menangani banyak permintaan secara bersamaan dengan waktu eksekusi yang lebih cepat, dan menggunakan resource yang lebih sedikit.

Sebagai perbandingan, software arsitektur sinkron melakukan satu tugas pada satu waktu. Oleh karena itu, event loop biasanya hanya akan pindah ke tugas berikutnya kalau sebelumnya sudah selesai.

Fungsi Node.js

Node.js adalah solusi yang cocok untuk melakukan tugas dengan penggunaan data yang intens atau analitik waktu nyata karena memiliki arsitektur asinkron dan fitur I/O non-blocking. Umumnya, Node.js sering digunakan untuk tugas-tugas berikut:

  • Chating secara real-time. Karena menangani tugas I/O secara efektif, Node.js bisa digunakan untuk program yang menggunakan data secara intensif, seperti aplikasi chat. Node JS juga menggunakan teknologi push melalui web socket, yang memungkinkan komunikasi dua arah antara server dan client. Hasilnya, server tidak perlu mengelola thread satu persatu untuk setiap koneksi terbuka berkat arsitektur asinkron single threaded dari Node.js.
  • Data streaming. Node.js memiliki modul bawaan yang mendukung streaming data. Ini memungkinkan pembuatan stream yang bisa dibaca (readable) dan ditulis (writeable). Node.js akan membantu mengantreakan data dan mendistribusikanya secara asinkron tanpa hambatan atau ganguuan. Jadi Node JS adalah pilihan yang bagus untuk fitur streaming yang bisa memproses file saat sedang diupload.
  • Proxy sisi server.Node JS bisa mengelola banyak sekali koneksi serentak menggunakan metode non-blocking. Software ini bisa digunakan sebagai proxy server-side yang efektif, yang mengumpulkan data dari berbagai resource pihak ketiga. Terkadang, Node.js digunakan dalam pembuatan aplikasi client-side untuk mengelola aset dan permintaan API proxy/stub.
  • Dashboard untuk memantau sistem. Dengan fitur event loop Node.js, Anda bisa membuat dashboard berbasis web untuk mengecek status beberapa layanan secara asinkron. Status layanan internal dan publik bisa dilaporkan secara langsung.
  • REST API. Node.js juga memiliki sejumlah package seperti Express.js dan Koa.js yang bisa digunakan untuk membuat aplikasi. Semua ini bisa mempercepat proses integrasi API dan menjadi dasar untuk RST API yang rinagn dan cepat.
  • Single Page Application (SPA). Seluruh SPA akan dimuat pada satu halaman untuk memberikan pengalaman yang serupa dengan dekstop. Karena bisa menangani panggilan asinkron secara efisien di antara operasi I/O yang berat, Node JS memungkinkan update data yang sangat lancar bagi SPA tanpa harus merefresh halaman secara rutin.
Lebih kerenya lagi, Node.js juga mendukung pengembangan front-end dan back-end. Berikut alasan Node.js bisa digunakan untuk keduanya:
  • Kode yang bisa digunakan kembali. Beberapa komponen Node.js bisa digunakan kembali untuk backend dan front-end.
  • Efisiensi tinggi. Menggunakan Node.js bisa mengurangi perpindahan konteks antara beberapa bahasa pemrograman.

Apakah Node.js adalah Bahasa Pemrograman ?

Anda mungkin penasaran melihat embel-embel JS pada Node.js Apa hubunganya dengan JavaScript, yang sering disingkat sebagai JS juga ? Apa Node.js juga merupakan bahasa pemrograman ?

Nah, Node.js dan JavaScript adalah hal yang berbeda. Kalau JavaScript merupakan bahasa pemrograman yang dieksekusi di sisi klien (browser pengguna), Node JS adalah environment yang berjalan di sisi server untuk menjalankan kode JavaScript.

Jadi bisa disimpulkan yaa, kalau Node.js bukanlah bahasa pemrograman, walaupun masih berhubungan erat dengan kode JavaScript.

Node.js vs npm

Node.js adalah runtime environment JavaScript, sedangkan npm adalah bagian besar dari ekosistem Node.js

Node Package Manager atau npm merupakan pengelolaan package yang memungkinkan komunitas user JavaScript dan Node.js mempublikasikan serta membagikan module node miliknya dengan orang lain. Jadi proses pengembangan aplikasi bisa lebih cepat dan efisien.

npm sendiri terdiri dari dua bagian:

  • Tool antarmuka baris perintah (CLI) untuk mendownload dan mempublikasikan package.
  • Repositori online yang menyimpan package JavaScript dan Node.js
npm menampung jutaan package yang bisa didownload dan diatur dalam berbagai kategori. Bisa dibilang, npm adalah registry software terbesar di dunia. Seluruh library modul yang dikemas dalam package bisa ditemukan di website resminya.

Secara default, npm sudah disertakan dengan setiap instalasi Node JS. Anda hanya perlu mendownload package di website resmi untuk menggunakanya.

Cara Install Node.js di Windows

  • Download installer Node.js langsung dari website resminya
  • Klik dua kali file yang didownload dan jendela Node.js Setup akan terbuka. Klik Next
  • Baca EULA program dan centang i accept the terms in the License Agreement. Klik Next lagi.
  • Pilih folder tujuan, lalu klik Next.
  • Pilih fitur yang akan diinstal. Kalau tidak yakin, biarkan nilai defaultnya. Klik Next.
  • Dihalaman berikutnya, centang Automatically install the necessary tools. Klik Next, lalu install. Mungkin akan muncul prompt yang menanyakan apakah Anda mengizinkan program Setup melakukan perubahan pada PC Anda. Pilih Yes kalau bersedia.
  • Setelah penginstalan default selesai, Command Prompt akan terbuka dan menampilkan setting tambahan. Tekan dua kali tombol apa pun untuk melanjutkan
  • Setelah proses selesai, Command Prompt akan meminta Anda menekan Enter untuk menutup jendela.
  • Untuk memverifikasi versi Node.js, buka Command Prompt dan jalankan command berikut : node -v kemudian npm -v

No comments

Powered by Blogger.