Pengenalan Node.JS untuk pemula

Pengenalan Node.js Lengkap bagi Pemula - WinetSeven
Sumber gambar : Pengenalan Node.js Lengkap bagi Pemula - WinetSeven

Pengenalan Node.JS untuk pemula

Awalnya Javascript hanya digunakan untuk membuat web saja.

Namun sekarang, berkat Nodejs… kita bisa membuat aplikasi desktop, web, mobile, CLI, IoT, dll.

Apa Itu Node JS

Node.js adalah lingkungan runtime JavaScript open-source dan lintas platform. Ini adalah alat yang populer untuk hampir semua jenis proyek!

Node.js menjalankan mesin JavaScript V8, inti dari Google Chrome, di luar browser. Ini memungkinkan Node.js menjadi sangat berkinerja.

Aplikasi Node.js berjalan dalam satu proses, tanpa membuat thread baru untuk setiap permintaan. Node.js menyediakan satu set primitif I/O asinkron di pustaka standarnya yang mencegah pemblokiran kode JavaScript dan umumnya, pustaka di Node.js ditulis menggunakan paradigma non-pemblokiran, menjadikan perilaku pemblokiran sebagai pengecualian daripada norma.


Saat Node.js melakukan operasi I/O, seperti membaca dari jaringan, mengakses database atau sistem file, alih-alih memblokir utas dan membuang siklus CPU menunggu, Node.js akan melanjutkan operasi saat respons kembali.


Hal ini memungkinkan Node.js untuk menangani ribuan koneksi bersamaan dengan satu server tanpa menimbulkan beban mengelola konkurensi utas, yang bisa menjadi sumber bug yang signifikan.


Node.js memiliki keunggulan unik karena jutaan pengembang frontend yang menulis JavaScript untuk browser kini dapat menulis kode sisi server selain kode sisi klien tanpa perlu mempelajari bahasa yang sama sekali berbeda.


Di Node.js, standar ECMAScript baru dapat digunakan tanpa masalah, karena Anda tidak perlu menunggu semua pengguna memperbarui browser mereka - Anda bertanggung jawab untuk memutuskan versi ECMAScript mana yang akan digunakan dengan mengubah versi Node.js, dan Anda juga dapat mengaktifkan fitur eksperimental tertentu dengan menjalankan Node.js dengan flag.


Dasar Dasar Node.JS


Sekarang setelah kita mengetahui apa itu Node.js, mari kita jelajahi dasar-dasar alat ini.


1. Console di Node.JS


Konsol adalah modul yang disediakan oleh Node.js yang mirip dengan konsol JavaScript di browser saat Anda memeriksa halaman web. Konsol memiliki metode yang tersedia untuk kita gunakan untuk tujuan debugging.

  • console.log(): Sering digunakan untuk mencatat beberapa jenis keluaran.
  • console.warn(): Secara eksplisit memberikan peringatan ke konsol.
  • console.error(): Secara eksplisit mengirimkan pesan kesalahan ke konsol. Anda dapat mencatat kesalahan sebagai string atau sebagai objek. Jika dicatat sebagai baru Error(), traceback akan disertakan sebagai bagian dari pesan.
  • console.trace(): Mencatat traceback saat terjadi kesalahan dalam kode Anda. Memberikan nomor baris dan nomor kolom file yang mungkin terjadi kesalahan.

2. kelas Buffer di Node.js

Pada intinya, kelas Buffer di Node.js adalah solusi penyimpanan sementara untuk sistem file. Karena sifatnya yang low-level, sebagai web developer kita jarang benar-benar menggunakan kelas Buffer secara langsung. Tujuan utama dari kelas ini adalah untuk mengalokasikan memori.

Mari kita lihat beberapa metode yang disediakan oleh kelas Buffer.


3. Sistem File (Fs)


Modul sistem file (fs) memungkinkan kita untuk berinteraksi dengan file di Node.js. Ada metode sinkron dan asinkron yang dapat digunakan untuk membaca atau menulis ke file menggunakan modul fs. Berbeda dengan menggunakan console atau kelas Buffer, kita perlu mengimpor modul fs ke dalam file yang ingin kita gunakan agar dapat berfungsi.

Contoh kode di bawah ini menunjukkan cara kerja readFile, metode asinkron. Perhatikan bahwa argumen terakhir dalam metode ini adalah fungsi panggilan balik yang argumen pertamanya adalah kesalahan. Menurut definisi, panggilan balik ini akan selalu melewati kesalahan terlebih dahulu sebelum data.

  • Contoh Asinkron:

Sifat asinkron dari readFilemetode ini tidak menghalangi fungsi atau baris kode lain untuk berjalan.

Namun, metode sinkron readFileSyncmemblokir baris kode lain agar tidak berjalan hingga file selesai dibaca. Berikut ini contohnya:

const fs = require('fs') fs.readFile('data.txt', 'utf-8', (err, data) => { if (err) { console.error(err) return } let array = data.split('\n') //props are id, first_name, last_name, email, gender and ip_address let mapped = array.map(person => { let new_person = person.split(','); return new Object({ id: new_person[0], first_name: new_person[1], last_name: new_person[2], email: new_person[3], gender: new_person[4], ip: new_person[5] }) }); console.log(mapped) }); console.log("Hit!")

Contoh Sinkron:

const fs = require('fs') try { const data = fs.readFileSync('data.txt', 'utf-8') let array = data.split('\n') //props are id, first_name, last_name, email, gender and ip_address let mapped = array.map(person => { let new_person = person.split(','); return new Object({ id: new_person[0], first_name: new_person[1], last_name: new_person[2], email: new_person[3], gender: new_person[4], ip: new_person[5] }) }); console.log(mapped) } catch (err) { console.error(err) } console.log("Hit!")


Coba tempatkan

 console.log(“Hit!”)setelah fungsi untuk melihat kapan konsol benar-benar masuk. Apakah ada perbedaan antara kedua fungsi tersebut? Apa itu?

Fungsi readFileakan memulai fungsi dan kemudian segera pindah ke sisa kode sebelum fungsi selesai dan mencetak isi array kita. Jadi Anda akan melihat sesuatu seperti:

Hit!
 
[
 {
   id: '1',
   first_name: 'Annabell',
   last_name: 'Cicconetti',
   email: 'acicconetti0@example.com',
   gender: 'Female',
   ip: '219.207.16.2'
 },
 etc
]

Sebaliknya,console.log(“Hit!”)

tidak akan berjalan sampai setelah readFileSyncfungsi selesai:

[...{
   id: '37',
   first_name: 'Arnoldo',
   last_name: 'Eakly',
   email: 'aeakly10@live.com',
   gender: 'Male',
   ip: '189.110.238.26'
 },
 {
   id: '38',
   first_name: 'Janis',
   last_name: 'Didball',
   email: 'jdidball11@shinystat.com',
   gender: 'Female',
   ip: '105.74.199.165'
 }
]
Hit!

Menulis ke file dilakukan dengan cara yang sangat mirip, tetapi fungsinya disebutwriteFile() dan writeFileSync().

Dengan Node.js, menangani file cukup mudah dilakukan dengan modul fs.

Previous Post Next Post