skip to Main Content
Tutorial Node.js #03 – Modularization

Tutorial Node.js #03 – Modularization

Modularization

Semakin kompleks program yang dikembangkan, semakin kompleks juga kode yang dituliskan. Jika kode dituliskan dalam satu berkas saja maka akan sangat sulit untuk membaca serta memelihara kode tersebut. Biasanya, satu file JavaScript hanya menjalankan satu tanggungjawab saja.  Bila lebih dari satu, berarti kalian perlu berkenalan dengan modularisasi.

Modularisasi dalam pemrograman merupakan teknik pemisahan kode menjadi modul-modul yang bersifat independen namun bisa saling digunakan untuk membentuk suatu program yang kompleks. Pemisahan kode menjadi modul-modul terpisah inilah yang dapat membuat kode JavaScript lebih terorganisir dan mudah di-maintain.

Pada Node.js, sudah ada modul bawaan (build-in) yang bisa kita manfaatkan dalam membuat aplikasi. Modul build-in ini tidak perlu kita install dengan NPM karena sudah disediakan sejak kita install Node.js, Berikut adalah beberapa modul bawaan dari Node.js: 

  • http untuk melakukan HTTP Request dan membuat server HTTP.
  • fs untuk bekerja dengan file sistem.
  • url untuk parsing string dari URL.
  • querystring untuk bekerja query string.
  • os menyediakan informasi tentang sistem operasi.

Masih banyak modul bawaan Node.js lainnya yang dapat kita lihat listnya di Node.js Built-in Modules. Pada Node.js, setiap berkas JavaScript adalah modul dan kita bisa membagikan nilai variabel, objek, class, atau apa pun itu antar modul. Untuk melakukan hal tersebut kita perlu mengekspor nilai pada module tersebut dengan cara simpanlah nilai tersebut pada properti module.exports. Seperti contoh di bawah ini:

book.jsconst book = {
    name: 'Math',
    price: 20000,
}
 
 
module.exports = book;

Setelah itu, nilai coffee dapat digunakan pada berkas JavaScript lain dengan cara mengimpor nilainya melalui fungsi global require().

app.jsconst book = require('./book');
 
console.log(book);
 
// node app.js  output:{ name: 'Math', price: 20000 }//

Perhatikan nilai parameter yang diberikan pada require(). Parameter merupakan lokasi dari module target impor. Jika Kalian hendak mengimpor modul lokal (local module), selalu gunakan tanda ./ di awal alamatnya.

Contoh lain jika file book.js diletakkan di folder yang berbeda dengan app.js, contohnya memiliki struktur seperti ini:

Maka kita perlu mengimpornya dengan alamat:

app.jsconst book = require('./lib/book');

Kita juga bisa menggunakan tanda ../ untuk keluar dari satu level folder. Ini berguna bila ingin mengimpor module yang berbeda hirarki seperti ini.

Untuk keluar dari satu level folder kalian bisa tambahkan “.” di depan alamatnya. Ini berguna bila ingin mengimpor modul yang berbeda hirarki seperti di bawah ini:

Jika kita ingin mengimpor book ke bookHanler.js maka kita akan menggunakan tanda ../ untuk keluar dari satu level folder.

Bila kalian menggunakan VSCode, Kalian akan terbantu dengan fitur auto import yang disediakan. Melalui fitur tersebut Kalian tidak perlu repot-repot menuliskan alamat modul secara manual. Tinggal tulis saja nilai yang kita ingin impor, VSCode akan menangani penulisan fungsi require().

Dalam melakukan impor dan ekspor nilai, kita bisa memanfaatkan object literal dan object destructuring agar dapat mengimpor dan mengekspor lebih dari satu nilai pada sebuah modul. Sebagai contoh:

Terakhir untuk mengimport modul bawaan lokasi module dituliskan tidak seperti local module. Lokasi modul bawaan bersifat mutlak (modul bawaan disimpan folder lib pada lokasi Node.js dipasang) sehingga kita cukup menuliskan nama modulnya saja.

Contoh: 

// Mengimpor core module http
const http = require('http');

Ada 3 jenis modul pada Node.js sebagai berikut:

  • local module:  module yang dibuat secara lokal berlokasi pada Node.js project kita.
  • built-in module:  module bawaan Node.js berlokasi di folder lib di mana Node.js terpasang pada komputer kita. Built-in module dapat digunakan di mana saja.
  • third party module:  module yang dipasang melalui Node Package Manager. Bila third party module dipasang secara lokal, maka modul akan disimpan pada folder node_modules di Node.js project kita. Bila dipasang secara global, ia akan disimpan pada folder node_modules di lokasi Node.js dipasang.

Untuk contoh third party module bisa kita lihat pada materi NPM sebelumya dimana kita menginstall module menggunakan NPM.

Demikian pembahasan kita kali ini, jangan khawatir kita akan kembali melanjutkan pembahasan tentang Node.js lainnya pada artikel selanjutnya.

Dan untuk Kalian yang berminat belajar lebih lanjut tentang pemrograman javascript dan bahasa pemrograman lainnya, silahkan kunjungi social media Xsis Academy untuk info lebih lanjut mengenai Bootcamp Xsis Academy atau instagram Xsis Academy.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back To Top