Anda di halaman 1dari 3

Laporan Praktikum

Pengembangan Aplikasi Sistem Terdistribusi

Week 3 – Sesi 3
“Concurrency and Parallelism in Golang”

Disusun Oleh :

KELOMPOK 09:

11321045 Yoas Hutapea


11321039 Putra Manurung
11321027 Sio Siahaan
11321055 Amanda Simbolon

Diploma III Teknologi Informasi IT Del 2021

Sitoluama, Laguboti 2021


Sebelum melihat ilustrasi dari perbedaan dari 3 konsep yaitu parallelism, asynchronous, dan
concurrency, terlebih dahulu dibahas pengertian dari ketiganya:
Concurrency adalah ketika eksekusi beberapa tugas disisipkan, alih-alih setiap tugas dieksekusi
secara berurutan satu demi satu.
Paralelisme adalah ketika tugas-tugas ini benar-benar dijalankan secara paralel.
Asynchronous adalah konsep yang terpisah (meskipun terkait dalam beberapa konteks). Hal ini
mengacu pada fakta bahwa satu peristiwa mungkin terjadi pada waktu yang berbeda (tidak
sinkron) dengan peristiwa lain. Diagram di bawah ini mengilustrasikan perbedaan antara
eksekusi sinkron dan asinkron, di mana para aktor dapat berhubungan dengan thread, proses,
atau bahkan server yang berbeda.
Ilustrasi dari perbedaan concurrency ,parallelism, dan asynchronous.
 Concurrency
Anggaplah Anda diberi tugas untuk bernyanyi dan makan pada waktu yang sama. Pada saat
tertentu, Anda bisa bernyanyi atau makan karena dalam kedua kasus tersebut mulut Anda
terlibat. Jadi untuk melakukan hal ini, Anda akan makan selama beberapa waktu dan kemudian
bernyanyi dan mengulanginya hingga makanan Anda habis atau lagu selesai. Jadi, Anda
melakukan tugas-tugas Anda secara bersamaan.

Konkurensi berarti menjalankan beberapa tugas pada saat yang sama tetapi tidak harus secara
bersamaan. Dalam aplikasi konkurensi, dua tugas dapat dimulai, dijalankan, dan diselesaikan
dalam periode waktu yang tumpang tindih, misalnya Tugas-2 dapat dimulai bahkan sebelum
Tugas-1 selesai.
 Parallelism
Anggaplah Anda diberi dua tugas yaitu memasak dan berbicara dengan teman Anda melalui
telepon. Anda dapat melakukan kedua hal ini secara bersamaan. Anda bisa memasak dan
berbicara melalui telepon. Sekarang Anda melakukan tugas-tugas Anda secara paralel.

Paralelisme berarti melakukan dua tugas atau lebih secara bersamaan. Komputasi paralel dalam
ilmu komputer mengacu pada proses melakukan beberapa perhitungan secara bersamaan.
Dalam dunia ilmu komputer, cara bagaimana konkurensi dicapai dalam berbagai prosesor
berbeda. Dalam lingkungan inti tunggal (yaitu prosesor Anda memiliki satu inti), konkurensi
dicapai melalui proses yang disebut pengalihan konteks. Jika lingkungannya multi-inti,
konkurensi dapat dicapai melalui paralelisme.

Bagaimana konkurensi dapat terkait dengan paralelisme?


Konkurensi dan Paralelisme mengacu pada arsitektur komputer yang berfokus pada bagaimana
tugas atau komputasi dilakukan.
Dalam lingkungan inti tunggal, konkurensi terjadi dengan tugas-tugas yang dieksekusi pada
periode waktu yang sama melalui pengalihan konteks, yaitu pada periode waktu tertentu, hanya
satu tugas yang dieksekusi.
Dalam lingkungan multi-core, konkurensi dapat dicapai melalui paralelisme di mana beberapa
tugas dieksekusi secara bersamaan.

 Aynchronous
Bayangkan Anda ditugaskan untuk membuat sandwich dan mencuci pakaian di mesin cuci. Anda
dapat memasukkan pakaian Anda ke dalam mesin cuci dan tanpa menunggu sampai selesai,
Anda dapat pergi dan membuat sandwich. Di sini Anda melakukan melakukan dua tugas ini
secara asinkron.
Dalam model pemrograman asinkron, ketika satu tugas dieksekusi, Anda dapat beralih ke tugas
lain tanpa menunggu tugas sebelumnya selesai.

Anda mungkin juga menyukai