Pahami Konsep Dan Beda Synchronous vs Asynchronous

Pahami Konsep Dan Beda Synchronous vs Asynchronous

Synchronous dan Asynchronous adalah sifat alamiah dari javascript yang harus kalian pahami jika ingin mendalami dan fokus di bahasa pemograman javascript. Ini salah satu keunggulan javascript dibanding bahasa lain semisal PHP yang secara alami adalah Synchronous.

Synchronous dan Asynchronous?

Secara mudahnya perbedaan Synchronous dan Asynchronous dapat dilihat dari cara javascript mengeksekusi baris perbaris code.

Synchronous

Kode akan dieksekusi baris perbaris. Misal code memiliki 2 baris, baris ke 2 tidak akan dieksekusi sebelum baris ke 1 selesai.

Asynchronous

Kode tetap akan dieksekusi baris perbaris tetapi tidak harus menunggu baris sebelumnya. Misal code memiliki 2 baris, baris ke 2 bisa saja dieksekusi sebelum baris ke 1 selesai dieksekusi.

Contoh Di Kehidupan Nyata

Mari kita perhatikan video berikut:

Ini adalah contoh Asynchronous di kehidupan nyata, orang yang sedang bersepeda menyalami temannya sambil tetap membiarkan sepedanya berjalan.

Konsep Asynchronous Di Fitur Upload Video Facebook

Kita tetap bisa beralih ke fitur lain sambil tetap membiarkan task pemprosesan video berjalan.

Contoh Pada Javascript

Perhatikan kedua contoh di bawah ini,

Contoh Synchronous

console.log("Baris satu");
console.log("Baris dua" );
console.log("Baris tiga");
synchronous.js

Output code diatas akan dieksekusi sesuai dengan urutan baris.

output synchronous.js

Contoh Asynchronous

console.log("Baris satu");
setTimeout (function () {
    console.log("Baris dua");
}, 2000) ;
console.log("Baris tiga");
asynchronous.js

Output sesuai tidak dieksekusi sesuai urutan baris perintah.

output asynchronous.js

Contoh Asynchronous Pada Proses Fetch

Kita akan membuat barisan code untuk menjalankan perintah upload gambar menggunakan Fetch.

fetch("https://example.com/profile/avatar", {
   method: "PUT",
   body: formData,
}).then((data) => {
   // jika gambar avatar berhasil diupload
}).catch((data) => {
  // jika gambar avatar gagal diupload
});
// kerjakan hal lain disini, tanpa harus menunggu proses upload selesai
console.log("other task");

Perhatikan bagian console.log("other task"), perintah ini dapat kita jalankan tanpa harus menunggu proses upload gambar avatar ke server selesai.

Ciri Function Yang Dapat Dijalankan Secara Asynchronous

Secara mudah kalian dapat mengetahui suatu function dapat dijalankan secara Asynchronous jika function tersebut memberi nilai return berupa Promise.

Kapan Asynchronous Umumnya Digunakan?

Umumnya Asynchronous digunakan pada task yang berpotensi berjalan secara lama. Misal, proses upload file ke server atau access user camera dan mic.

Kesimpulan

Disini dapat kita tarik kesimpulan Asynchronous ialah kondisi kita mengerjakan task b sambil menunggu task a selesai atau tanpa harus menunggu task a selesai.

Jika kalian sudah paham dengan Asynchronous dan Synchronous, wajib juga kalian paham apa itu Callback, Promise dan Async/Await. Jika masih belum paham, kalian dapat bertanya dan berdiskusi di channel Diskord Asinkron Indonesia, klik linknya dibawah ya.

Close

Silahkan Login/Sign Up

😞 Discord eklusif buat member asinkron.com

Jangan khawatir silahkan Daftar GRATIS 😎

*Link discord akan dikirim ke email yang anda gunakan untuk mendaftar.