DOSCOM
UNIVERSITY
TOPIC 1 : NODEJS
CHAPTER : BACKEND DEVELOPMENT
NODEJS
APAKAH KAMU TAU
NODEJS ?
Sebelum tahun 2009, Javascript ini hanya bisa dijalankan melalui
browser saja, karena browser mempunyai engine khusus untuk
menjalankan Javascript.
Berikut beberapa engine yang terkenal:
V8 (Chrome)
SpiderMonkey (Firefox)
Nah, pada tahun 2009, ada seseorang bernama Ryan Dahl.
Beliau ini membuat yang namanya runtime environment untuk
Javascript di dalam sistem secara langsung.
Runtime tersebut memakai V8 engine dari Chrome yang
dimodifikasi sedemikian rupa agar dapat berjalan di dalam sistem
secara langsung.
Runtime tersebut yang sekarang kita sebut dengan [Link].
NODEJS
Oke, sekarang kita lanjut buat mencoba mengeksekusi file
Javascript menggunakan [Link]. Kamu bisa mengikuti
langkah-langkah berikut ini :
1. Buatlah sebuah directory dan di dalam directory
tersebut buat sebuah file Javascript dengan nama
‘[Link]’.
2. Kalau sudah, coba buat program sederhana di dalam file
‘[Link]’ seperti contoh di samping.
3. Ketikan perintah ‘node [Link]’ dari terminal di dalam
directory tadi.
4. Kalau langkah yang kamu ikuti benar maka outputnya
akan muncul ‘hello world’.
NODEJS
Sekarang kita masuk ke module yang bertindak sebagai library di dalam [Link].
Module adalah seperangkat kode yang dapat kita pakai berdasarkan fungsi module
tersebut.
Sebagai contoh, [Link] memiliki module bernama fs (file system) yang berguna
untuk melakukan hal-hal yang terkait dengan read file, ataupun write file yang
tidak mengharuskan kita untuk menulis kode itu dari nol.
Ada tiga tipe module di dalam [Link] Yaitu:
Core Module
Third Party Module
Local Module
NODEJS
Core module
Core module adalah module yang sudah ada di dalam [Link] dan dapat
kita pakai langsung setelah instalasi [Link], module ini dibuat langsung
oleh developer [Link].
Third party module
Third party module adalah module yang dibuat oleh komunitas atau
perusahaan di luar lingkup developer [Link]. Untuk memakai Third party
module, kita harus menginstall-nya terlebih dahulu.
Local module
Local module adalah suatu module yang kita buat sendiri. Kita akan
banyak ngotak-atik module ini, karena module ini adalah inti dari aplikasi
kita.
Sebelum bisa bikin local module ini, kita harus tau dulu bagaimana
cara insialisasi project dari [Link].
NODEJS
Sebelum kita bikin project program [Link] pertama
kita, pastinya kita harus install [Link]. Oiya, ketika
kita install [Link], package manager juga sudah
otomatis terinstall yang namanya NPM.
Terus, apa sih package manager itu ?
Package manager adalah sebuah aplikasi yang digunakan untuk
mengatur(menambah / menghapus) third party module dalam project
yang kita kerjakan. Selain NPM, Yarn adalah salah satu alternatif
package manager untuk [Link]. Yarn adalah package manager
unofficial dari [Link] yang lebih sering digunakan dibanding dengan
NPM karena lebih minimalis dan cepat.
NODEJS
Kalau [Link] dan package manager kita sudah
terinstall, kita udah bisa bikin project pertama kita.
Kita bisa ikuti cara yang ada di bawah ini :
1. Buat directory baru dan masuk ke dalamnya.
2. Ketik perintah Yarn init pada terminal
3. Kalau udah, di terminal tersebut akan muncul
beberapa pertanyaan, seperti nama
project,deskripsi project, author, dll. Kaya contoh
gambar di samping.
4. Kamu boleh mengisi atau mengosongkan
pertanyaan tersebut.
NODEJS
Selamat! Kamu udah berhasil bikin project pertama
kamu. Selanjutnya, kita akan mencoba buat
mengonfigurasi package manager kita menggunakan
[Link].
NODEJS
Ketika kita membuat project menggunakan
package manager, maka secara otomatis akan
membuat sebuah file yang bernama
‘[Link]’.
File [Link] sendiri berisi informasi dari
project [Link] kita seperti contoh di samping.
NODEJS
Kalo udah, kita akan menambah satu script
dengan nama “start”. Script “start” ini akan
mengeksekusi file [Link] yang sudah kita buat
tadi.
Nah, sekarang dari terminal di dalam directory
project, coba jalan perintah ‘NPM run start’.
Tanda kalau kamu berhasil, kamu bisa melihat
tulisan
“hello world” di layar.
NODEJS
Oke, kita lanjut ya!
Sekarang kita akan mencoba menambah 2 third
party module ke dalam project kita. Kali ini kita
akan menambahkan module chalk dan nodemon.
Coba kita perhatikan kode di samping dan
bandingkan dengan file [Link]. Setelah
menambah 2 module tadi, pasti akan ada update di
file [Link]. Apa itu?
NODEJS
Update tersebut adalah adanya 2 properti baru yaitu
‘dependencies’
dan ‘devDependencies’
Dependencies adalah suatu properti yang akan muncul di
[Link] setelah kita menginstall third party module.
Properti ini akan memberitahu package manager terkait module
apa saja yangdipakai dalam project ini.
Ini sangat berguna karena ketika kita ingin mendeliver project
ini entah ke server atau ke komputer lain, kita tidak perlu
mengingat-ingat module apa saja yang perlu diinstal.
Lalu apa perbedaan antara ‘dependencies’ dan ‘devDependencies’ ?
NODEJS
Dependencies berisi daftar module yang akan kita gunakan sampai tahap production.
Artinya, module yang akan ikut nantinya akan diinstall ke server.
Sedangkan devDependencies berisi daftar module yang hanya digunakan saat
development atau saat pengerjaan project dan tidak akan ikut diinstall ke server.
Saat menginstall 2 module tadi, selain adanya update di [Link], sistem juga secara
otomatis akan menambah directory bernama “node_modules”.
Nah di dalam folder ini lah third party module disimpan.
NODEJS
Belajar module udah, bikin project juga udah. Sekarang,
kita bakal eksplorasi lebih jauh tentang penggunaan module
export & import di dalam project [Link] kita.
Untuk point ini, kita kan mencoba memakai core module
yang bernama os. Module ini kita pakai untuk mengetahui
berapa memori yang tersedia pada sistem yang menjalankan
aplikasi ini.
Kamu bisa mengetahuinya dengan membuka file [Link]
yang kita buat tadi lalu buatlah script seperti contoh gambar
di samping.
NODEJS
Export adalah suatu statement yang kita pakai untuk
mengekspos suatu data dari suatu file ke file manapun yang
mengimpornya.
Contohnya, Di sini kita akan membuat file baru bernama
[Link]. Di dalam file tersebut, coba buatlah sebuah
function bernama “luasSegitiga”. Contoh “luasSegitiga” inilah
yang kita sebut sebagai local module, yang nantinya akan kita
export.
Untuk mengekspor sesuatu di dalam file, kita menggunakan
module objek, lalu kita assign property bernama exports
dengan apapun yang ingin kita eksport.
NODEJS
Import adalah suatu statement yang kita pakai untuk
mengambil, atau memakai suatu data dari file lain
atau module lain.
Contohnya, kita bisa import file yang memiliki
function untuk menghitung luas segitiga tadi seperti
yang ditampilkan oleh kode di samping.
NODEJS
RANGKUMAN
NODEJS
[Link] adalah satu runtime Javascript yang dibuat oleh Ryan Dahl pada tahun 2009.
Runtime adalah saat dimana aplikasi itu berjalan.
Module adalah seperangkat kode yang dapat kita pakai berdasarkan fungsi modul tersebut
Ada tiga tipe module di dalam [Link], yaitu:
Core Module
Third Party Module
Local Module
Ada 2 package manager untuk [Link], yaitu NPM dan Yarn.
Export adalah suatu statement yang kita pakai untuk mengekspor suatu data dari suatu file ke file
manapun yang mengimpornya.
Import adalah suatu statement yang kita pakai untuk mengambil, atau memakai suatu data dari
file lain, atau module lain.
Dependencies berisi daftar module yang akan kita gunakan sampai tahap production.
devDependencies berisi daftar module yang hanya digunakan saat development.
NODEJS