Secara umum, asynchronous — dari bahasa Yunani asyn- (“tidak bersama”) dan chronos (“waktu”) — menggambarkan objek atau peristiwa yang tidak terkoordinasi dalam waktu.

Dalam dunia IT, asynchronous menggambarkan hubungan antara dua atau lebih objek atau peristiwa yang saling berinteraksi dalam satu sistem, namun tidak terjadi pada interval waktu yang telah ditentukan atau tidak saling bergantung untuk bisa berfungsi. Peristiwa-peristiwa ini tidak terkoordinasi satu sama lain, jadi bisa saja terjadi secara bersamaan, tapi tidak harus, karena masing-masing punya agenda sendiri-sendiri.

Asynchronous vs. synchronous

Komunikasi menjadi asynchronous ketika media yang digunakan cukup kompleks untuk bisa memproses dan menyimpan informasi yang dikomunikasikan seiring waktu. Ini memungkinkan para partisipan untuk berkomunikasi dalam lebih dari satu jalur tanpa harus bergantung pada struktur yang linear.

Banyak teknologi punya metode synchronous dan asynchronous. Bahkan, banyak alat komunikasi secara bawaan bersifat synchronous. Percakapan antara dua orang, dalam bentuk paling dasarnya, mengandalkan pola panggilan dan respon dari dua partisipan secara berurutan.

JavaScript adalah contoh lain dari mode komunikasi yang awalnya synchronous. Namun, telah dimodifikasi sehingga bisa menjadi asynchronous, memungkinkan program untuk melakukan multitasking dan membuat hidup programmer jadi lebih mudah.

Penggunaan asynchronous

Asynchronous adalah istilah luas dan punya banyak penerapan. Karena maknanya yang mencakup banyak hal, kadang sulit menyatukan definisinya secara umum dengan penerapannya yang beragam. Di dunia IT sendiri, istilah ini dipakai dalam berbagai konteks. Dalam kebanyakan kasus IT, asynchronous mengacu pada gaya komunikasi yang terjadi baik antara manusia maupun antara komponen teknologi.

Cara simpel untuk memahami asynchronous adalah melalui lensa komunikasi personal. Email atau pesan teks adalah contoh komunikasi asynchronous karena tidak harus dilakukan secara bersamaan. Setiap pesan bisa dikirim pada waktu yang tidak teratur karena informasinya disimpan sampai penerima siap membacanya. Peristiwa terjadi secara independen dan tidak punya agenda waktu yang tetap.

Bandingkan dengan percakapan tatap muka atau video conference. Itu adalah metode komunikasi synchronous karena percakapan harus terjadi secara berurutan dan dalam rentang waktu tetap — yaitu selama para partisipan masih aktif terlibat dalam percakapan. Setiap peristiwa saling bergantung dan membentuk struktur linear.

Intinya: Dalam komunikasi personal yang synchronous, penerima harus langsung merespons; sedangkan dalam komunikasi asynchronous, mereka bisa merespons kapan pun. Pola umum ini berlaku di sebagian besar konteks asynchronous. Variabelnya hanya ada pada unit informasi — yang disebut objek atau peristiwa — dan media yang digunakan untuk menyampaikannya.

Beberapa contoh penting penggunaan istilah ini bisa ditemukan dalam:

  • Pemrograman komputer, di mana program berkomunikasi dengan komputer.
  • Telekomunikasi, di mana sinyal dikirim dengan kecepatan tertentu dan memengaruhi kualitas informasi yang dibawa berdasarkan kecepatan itu.

Asynchronous dalam telekomunikasi

Dalam sinyal telekomunikasi — baik di dalam maupun antar jaringan — sinyal asynchronous dikirim dengan kecepatan clock yang berbeda dari sinyal lainnya. Sinyal plesiochronous hampir sinkron tapi tidak sepenuhnya, dan ada metode untuk menyesuaikannya. Sinyal synchronous berjalan dengan kecepatan clock yang sama.

Contoh sinyal asynchronous dalam telekomunikasi adalah kejernihan transmisi. Saat pakai perangkat seperti radio atau telepon, kejernihan transmisi itu penting banget. Untuk menjaga kejernihan ini, data yang dikirim harus diproses oleh kedua pihak sesuai fase dan kecepatan yang sama. Kalau ini dilakukan pakai clock terpusat, itu disebut transmisi synchronous.

Tapi bisa juga dilakukan secara asynchronous. Asynchronous Transfer Mode (ATM) adalah protokol yang memungkinkan transmisi data secara asynchronous tanpa perlu sinyal melewati mainframe atau clock terpusat. Sebagai gantinya, ATM membuat jalur di dalam jaringan untuk data dan menetapkan kontrak lalu lintas yang menjamin data diproses sesuai kesepakatan antara klien dan jaringan. Ini bisa menjamin bit rate tetap untuk panggilan telepon, biar suara penelpon nggak terputus atau delay.

Asynchronous dalam pemrograman komputer

Dalam dunia pemrograman, operasi asynchronous berarti suatu proses berjalan secara independen dari proses lainnya. Sementara itu, operasi synchronous hanya akan jalan kalau proses sebelumnya sudah selesai atau diserahkan.

Misalnya saat transfer file dari satu file ke file lain, mungkin menggunakan protokol synchronous. Titik penerima akan memberi respons apakah berhasil atau harus dikirim ulang. Setiap pengiriman data baru harus menunggu respons dari pengiriman sebelumnya.

Contoh nyata dari program yang bekerja secara asynchronous adalah perangkat lunak di dalam printer. Saat printer ngasih notifikasi toner rendah, dia tetap lanjut mencetak. Printer nggak akan berhenti cuma buat kirim notifikasi itu. Bagian program yang kirim alert itu nggak bergantung pada bagian yang menangani pencetakan. Keduanya bisa berjalan bersamaan karena bekerja secara independen.

Contoh yang lebih abstrak adalah pemakaian metode asynchronous di bahasa pemrograman populer seperti JavaScript, Python, dan C#. Istilah lainnya adalah nonblocking code, di mana program bisa menjalankan kode lain sambil nunggu tugas berat selesai. Tugas berat ini jalan di latar belakang, sementara kode lainnya tetap dijalankan.

Fitur yang bikin pemrograman asynchronous bisa jalan disebut callback function. JavaScript, misalnya, akan mengirim semua operasi di dalam fungsi ke aplikasi web atau database. Di sana, data dikumpulkan, sementara program utama tetap berjalan. Setelah semua data lengkap, hasilnya dikirim balik dan diterapkan ke fungsi yang membutuhkannya — makanya disebut callback.

Asynchronous dalam komunikasi tempat kerja

Istilah asynchronous juga menggambarkan tren yang makin berkembang dalam komunikasi kerja. Karyawan pakai aplikasi kolaborasi tim untuk ngobrol tanpa harus ikutin format linear. Jadi, mereka nggak harus nunggu respon buat lanjut ngobrol.

Format komunikasi ini bikin fleksibel, karena karyawan bisa terlibat tanpa terikat oleh waktu atau lokasi. Daripada ngobrol langsung yang butuh kedua pihak hadir dan respon real-time, mereka bisa pakai alat kolaborasi buat ngobrol dari mana saja, kapan saja.

Beberapa contoh alat kolaborasi yang dipakai antara lain Slack, Microsoft Teams, dan Jira. Fitur yang memungkinkan kerja tim tanpa harus selalu online bareng antara lain:

  • Berbagi file.
  • Papan tulis online.
  • Chat.

Dengan begitu, karyawan tetap bisa terhubung tanpa harus terikat pada waktu seperti percakapan langsung. Bahkan karyawan beda zona waktu pun bisa tetap aktif dan produktif dalam sistem komunikasi asynchronous ini.

Keuntungan dan kekurangan

Keuntungan dari format komunikasi asynchronous antara lain:

  • Struktur pertukaran informasi jadi lebih fleksibel.
  • Tidak tergantung pada skala waktu atau urutan logis universal dalam percakapan.

Tapi, kekurangannya adalah bisa muncul kompleksitas tambahan yang bisa bikin komunikasi jadi rumit atau bahkan gagal.

Hal ini juga terjadi dalam kode program asynchronous. Kalau terlalu banyak pakai callback, kode bisa jadi kacau dan susah dianalisis. Fitur sintaks seperti promises dan pola async/await bisa bantu merapikan kode dan bikin lebih mudah dibaca. Tapi tetap aja, ini nambah lapisan kompleksitas.

Synchronous lebih cocok kalau programnya cuma buat tugas sederhana dan berurutan. Proses data, misalnya, cocok pakai metode synchronous karena bisa menoleransi jeda. Sebaliknya, asynchronous lebih cocok buat program yang harus merespons peristiwa, kayak antarmuka pengguna (UI) grafis.

Keuntungan dan kekurangan asynchronous juga terlihat pada alat kolaborasi tim. Selain fleksibel, alat-alat ini nyimpen rekaman semua komunikasi yang bisa dilihat ulang. Plus, karyawan punya waktu buat mikirin respon karena nggak perlu buru-buru jawab.

Namun, kalau dipakai tanpa struktur yang jelas, obrolan bisa jadi berantakan. Karena semua orang bisa komen kapan aja dan dari mana aja, pembicaraan bisnis bisa melenceng karena kebanyakan masukan. Selain itu, tiap orang harus aktif pantau banyak percakapan. Kalau ada yang ketinggalan atau lupa ikutan diskusi, bisa berdampak negatif ke kerjaan tim lain yang bergantung padanya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *