Disusun oleh :
Adhyaksa Asshidiqi
210210501005
B. Tujuan Praktikum
• Mahasiswa harus memahami apa itu threading, perbedaan antara
threading dan proses, serta mengapa threading penting dalam
pemrograman.
• Mahasiswa perlu menguasai modul threading yang disediakan oleh
bahasa pemrograman Python atau bahasa pemrograman lain yang
mereka pelajari.
• Mahasiswa harus dapat membuat dan menjalankan thread, serta
memahami cara mengirim argumen ke dalam thread.
C. Teori Pendukung
Threading dalam pemrograman komputer adalah suatu teknik yang
memungkinkan aplikasi untuk menjalankan beberapa alur eksekusi atau tugas
secara bersamaan. Ini memiliki dampak yang signifikan pada berbagai aspek
dalam pengembangan perangkat lunak. Salah satu manfaat utama dari
threading adalah kemampuan untuk mencapai konkurensi, yang
memungkinkan tugas-tugas yang berbeda untuk berjalan secara bersamaan,
meningkatkan efisiensi eksekusi program. Dengan peningkatan CPU multi-
core yang semakin umum, threading memungkinkan aplikasi untuk
memanfaatkan potensi perangkat keras ini, dengan mendorong berbagai tugas
untuk berjalan pada core yang berbeda secara bersamaan. Hal ini mendorong
peningkatan kinerja aplikasi, terutama dalam hal pemrosesan data yang
intensif.
E. Jalannya Praktikum
1. Buka Software Visual Studio Code.
2. Untuk mengerjakan contoh pertama dari materi threading buatkan 1 File
Yang Bernama Contoh1.
3. Berikut isi kode pada File :
• Contoh1.py
4. Untuk mengerjakan contoh kedua kita akan mengubah kode program di
atas dengan mengimplementasikan threading. buatkan 1 File Yang
Bernama Contoh2.
F. Hasil Ujicoba
• Screenshoot Contoh1.py
• Screenshoot Contoh2.py
Analisis yang saya dapat dari perbandingan hasil antara kedua kode
program tersebut adalah kedua kode program memiliki tujuan yang sama, yaitu
mengambil panjang konten dari beberapa URL. Namun, mereka menggunakan
pendekatan yang berbeda dalam pemrosesan dan pengambilan data. Kita
analisis perbandingan antara kedua kode program tersebut :
Kode Pertama (Tanpa Threading) :
• Kode pertama menjalankan pengambilan panjang konten dari
beberapa URL secara berurutan, artinya kode akan mengambil
panjang konten dari URL pertama, kemudian URL kedua, dan
seterusnya.
• Proses pengambilan panjang konten dari setiap URL dilakukan
secara berurutan, sehingga kode ini berjalan secara serial.
• Waktu eksekusi total program adalah waktu yang dibutuhkan
untuk mengeksekusi semua URL satu per satu.
Perbandingan :
• Kode pertama adalah pendekatan sederhana yang berjalan secara
berurutan dan lebih mudah dipahami. Namun, itu akan memakan
waktu lebih lama jika ada banyak URL yang harus diambil.
• Kode kedua menggunakan threading untuk mempercepat proses
pengambilan konten URL, sehingga potensial lebih cepat daripada
kode pertama. Namun, penggunaan threading bisa lebih kompleks
dan memerlukan manajemen yang baik untuk menghindari
masalah seperti deadlock.
• Screenshoot Latihan.py
G. Kesimpulan
Threading dalam pemrograman adalah konsep yang memungkinkan
aplikasi untuk menjalankan tugas secara bersamaan, meningkatkan kinerja dan
responsivitas. Namun, ini juga memunculkan tantangan seperti race condition
dan deadlock, yang harus dikelola dengan benar. Pemahaman tentang
penggunaan thread, manajemen sumber daya bersama, dan konsep Global
Interpreter Lock (GIL) dalam Python adalah penting dalam threading. Dengan
pemahaman ini, pengembang dapat merancang aplikasi yang efisien dan
responsif.