4. input = getInput();
result = query(“select * from db where
id=?”, input);
displayResult(result);
apa yang kebanyakan program lakukan
saat menunggu hasil dari fungsi query?
diam
7. Multithread
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
banyak pengguna
8. Event loop
input = getInput();
result = query(“select * from db
where id=?”, input);
satu pengguna
displayResult(result);
9. Event loop
banyak pengguna
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
input = getInput();
result = query(“select * from db
where id=?”, input);
displayResult(result);
10. Kenapa tidak pakai event loop?
● tidak semua bahasa pemrograman
mendukung
● bisa membuat kode tampak rumit
● kebanyakan pustaka program tidak
mendukung operasi asinkronus
12. Kenapa JavaScript?
● Mendukung pemrograman non-
blocking dan async
● Hanya perlu satu kompetensi untuk
pengembangan sistem di depan dan di
belakang
14. Node.js
platform pengembangan aplikasi diciptakan oleh Ryan Dahl (2009)
➔ ditenagai oleh mesin JavaScript V8
◆ dibuat oleh Google
◆ ECMAScript
◆ bahasa C++
➔ fokus pada kinerja cepat
◆ non-blocking
◆ async events
16. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
17. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
18. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
19.
20. var net = require('net');
var server = function(stream) {
var end = function() {
console.log('goodbyern');
}
stream.write('hellorn');
stream.on('end', end);
stream.pipe(stream);
}
net.createServer(server).listen(8000);
23. Modul
● Kumpulan pustaka program dan
peralatan pengembangan
○ Menyediakan fungsi-fungsi spesifik
● Pengembangan aplikasi semakin
mudah
● Lisensi F/OSS
24. ● Global
○ Dapat digunakan di keseluruhan sistem
○ Digunakan untuk alat bantu pengembangan
● Lokal
○ Digunakan pada spesifik pada proyek
pengembangan
■ Digunakan pada tahap pengembangan saja
■ Digunakan pada produksi saja
Modul