You are on page 1of 3

LAPORAN PRAKTIKUM SISTEM OPERASI

PROGRAM TEKNOLOGI INFORMASI DAN
ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Nama
NIM
Tugas
Asisten

: Wahyu Mega Kristanto
: 145150407111042
: Bab VII
: M. Wildan Alauddin

3.3 TUGAS PRAKTIKUM
Kerjakan soal-soal berikut ini!
1. Jelaskan perbedaan dari pemrograman sekuensial dan pemrograman
multithread!
Jawab :
 Pemrograman Sekuensial adalah proses dikerjakan satu persatu, setiap
proses dilaksanakan thread satu kali (tanpa pengulangan), dan urutan
instruksi yang dikerjakan berdasarkan urutan pada algoritma.
 Pemrograman Multithread adalah memungkinkan untuk menjalankan
instruksi lebih dari satu dalam waktu yang bersamaan. Sekumpulan
instruksi dieksekusi secara independen.
2. Jelaskan keungggulan dan kelemahan dari:
a. pemrograman sekuensial
b. pemrograman multithread
jawab :

pemrograman sekuensial
 Keuntungan :
- Mudah dibuat : Sebab algoritma pemprograman sekuensial tidak
sesulit algoritma pemrograman yang digunakan pada program multi
thread. -Mudah dipahami, sebab pemrograman yang dipakai masih
tergolong pemrograman dasar.
 Kelemahan :
- Responsiveness kurang. Sebab program harus dijalankan secara
berurutan. -apabila ada kesalahan pada program yang dipakai, maka
harus memperbaiki dari awal. Karena diprogram secara berurutan.

pemrograman multithread
 Keuntungan :
- Reponsiveness : program tetap responsif meskipun sebagian dari
program sedang diblok atau sedang melakukan operasi lain yang
panjang.
- Resource sharing : mengizinkan sebuah aplikasi untuk
mempunyai beberapa thread yang berbeda dalam lokasi memori
yang sama (bila proses yang dilakukan sama).
- Economy : Dapat menghemat penggunaan dan pengalokasian
memori, serta sumber daya yang dilakukan. -Scalability : Setiap

Praktikum Sistem Operasi PTIIK UB 2014/2015

Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan.h> 3 void *threadFunc(void *arg) 4 char *str. 6 str=(char*)arg. Apakah penggunaan thread dapat mempercepat waktu komputasi program dalam menyelesaikan sebuah kasus / permasalahan? Bila iya.thread dalam satu proses dapat dieksekusi secara paralel oleh processor yang berbeda. 7 while(i < 20 ) 8 { 9 usleep(1). 5 int i = 0.Jika digunakan secara berlebihan. Thread mengerjakan proses secara bergantian namun dalam interval waktu yang sangat kecil sehingga thread seperti mengerjakan 1 proses. . sehingga tidak ada efisiensi yang hilang (mengacu kepada latency). -Multithreading menghasilkan program yang lebih kompleks. tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut. seperti cache. Penggunaan Thread membuat komputer dapat menangani lebih dari 1 proses dalam satu waktu.  Kelemahan : . materi-3. .1.h> 2 #include <stdio. . multithreading akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads.Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware.c 1 #include <pthread.Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama. 3. kasus / permasalahan seperti apakah yang pengerjaannya dapat lebih optimal bila menggunakan thread? Buktikan dengan membuat program sederhana dalam bahasa C atau JAVA! Iya. Penggunaan Thread dapat mempercepat waktu komputasi program dalam menyelesaikan sebuah kasus. tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading.

25 } 26 printf("menunggu untuk terminate thread. 20 while(i < 10) 21 { 22 usleep(1).LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA Nama NIM Tugas Asisten : Wahyu Mega Kristanto : 145150407111042 : Bab VII : M. 19 pthread_create(&pth. Wildan Alauddin 10 printf("kata thread ini : %s¥n"."Hello!"). 23 printf("thread sedang running. 12 } 13 return NULL. 11 ++i. 29 } Praktikum Sistem Operasi PTIIK UB 2014/2015 ... // this is our thread identifier 18 int i = 0.threadFunc..¥n").¥n").. 24 ++i. 28 return 0. 27 pthread_join(pth. 14 } 15 int main(void) 16 { 17 pthread_t pth.NULL.NULL).str).