LAPORAN ORGANISASI KOMPUTER
DAN SISTEM OPERASI
TUGAS MANDIRI 2
MEMBUAT PROGRAM BEBAS BERBASIS THREAD
Disusun Oleh :
Kelompok E
Kelompok E
Denny Arie Suryo (065001600006)
Mardiani Trisno Putri (065001600016)
Nadya Hastono Putri (065001600001)
Saffanah Dwi Larasati (064001600029)
PROGRAM S1
TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS TRISAKTI
2017
TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS TRISAKTI
2017
I. Judul Praktikum : Membuat Program Bebas Berbasis Thread
II. Tujuan Praktikum
Untuk menyelesaikan matakuliah Organisasi computer dan Sistem Operasi. Selain itu, hal ini juga beguna sebagai panduan umum penggunaan fungsi thread terminal pada operasi sistem linux.
III. Teori Singkat
Thread adalah bagian kecil dari proses, biasa disebut light proses (proses ringan). Seperti yang kita ketahui, proses akan menjalankan satu persatu command yang ada didalamnya dari atas kebawah. Jadi command yang berada dibawah harus menunggu command atas selesai baru bisa dijalankan. Dengan adanya thread ini, kita bisa menjalakan command bawah tanpa harus menunggu command atas selesai. Dengan kata lain, bersamaan.
Untuk meningkatkan kemampuan Thread Linux, dukungan kernel dan penulisan ulang pustaka thread sangat diperlukan. Dua project yang saling bersaing menjawab tantangan ini. Sebuah tim yang terdiri dari pengembang dari IBM membuat NGPT (Next Generation POSIX Threads). Sementara pengembang dariRed Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah task dibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.
IV. Langkah - Langkah Percobaan
1. Buka terminal pada Linux terlebih dahulu
2. Membuat file thread, disini kami membuat file orkomthread.c dengan perintah vi
3. Tulis sourcodenya seperti gambar berikut
V. Data-Data Percobaan
VI. Kesmipulan
2. Membuat file thread, disini kami membuat file orkomthread.c dengan perintah vi
$vi musicplayer.c
3. Tulis sourcodenya seperti gambar berikut
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<pthread.h>
#include<unistd.h>
pthread_t tid[1];
int choice;
char lagu[100], tmp[1000];
int length;
void stop()
{
int i;
for(i=1;i<=length;i++)
{
sleep(1);
}
system("pkill vlc");
system("clear");
}
void cont()
{
int i;
for(i=1;i<=length;i++)
{
sleep(1);
}
system("pkill -SIGCONT vlc");
system("clear");
}
void pos()
{
int i;
for(i=1;i<=length;i++)
{
sleep(1);
}
system("pkill -SIGSTOP vlc");
}
void menu()
{
printf("2 - Melihat Play list\n");
printf("3 - Play Lagu\n");
printf("4 - Pause Lagu\n");
printf("5 - Continue Lagu\n");
printf("6 - Stop Lagu\n");
}
void *play(void *args)
{
system("clear");
snprintf(tmp, sizeof(tmp), "cvlc ~/Modul3/1/Playlist/%s.mp3", lagu);
system(tmp);
system("clear");
}
int main()
{
int i=0;
int err;
int ke=0;
char temp;
printf("Selamat datang di naive Music Player\n");
printf("Tekan 1 untuk melihat menu");
while (1)
{
printf("\n1 - Help\n");
scanf("%d",&choice);
if(choice==1)
{
system("clear");
menu();
}
else if(choice==2)
{
system("clear");
system("ls Playlist | grep mp3");
}
else if(choice==3)
{
system("clear");
system("pkill vlc");
printf("Masukan Judul Lagu : ");
memset(lagu,0,sizeof(lagu));
scanf("%s",lagu);
err=pthread_create(&(tid[ choice]),NULL,&play,NULL);
if (err!=0)
printf("Cant create thread : [%s] ",strerror(err));
}
else if(choice==4)
{
printf("Input waktu Pause : ");
scanf("%d",&length);
pos();
system("clear");
}
else if(choice==5)
{
printf("Input waktu Continue : ");
scanf("%d",&length);
cont();
system("clear");
}
else if(choice==6)
{
printf("Input waktu stop : ");
scanf("%d",&length);
stop();
}
else
{ system("clear");
printf("INPUTMU SALAH CUK! BACA YANG BENER!");
}
}
pthread_join(tid[1],NULL);
return 0;
}
4. Keluar dari editor dan save dengan cara tekan Esc lalu kami ketikkan :wq untuk menyimpan codingan tersebut
5. Kompilasi musicplayer.c dengan :
$gcc -o player musicplayer.c -lpthread
6. Lalu jika sudah tidak ada error, eksekusi program dengan perintah
$ ./player
7. Maka program akan berjalan, dan menunjukkan proses thread yang terjadi kemudian liat hasil outputnya
8. Selesai.
VI. Kesmipulan
Thread merupakan sebuah alur kontrol proses yang dapat dijadwalkan pengeksekusiannya oleh sistem operasi. Selanjutnya, bayangkan sebuah program main mempunyai berbagai prosedur (fungsi) dan fungsi-fungsi tersebut dapat dijalankan secara serentak dan atau bebas dijalankan oleh sistem operasi. Dan itulah yang disebut sebagai multithread.
Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi. Dengan menggunakan Thread dari proses, kita mendapat beberapa keuntungan :1. Membuat thread baru lebih cepat daripada membuat proses baru2. Menghentikan thread lebih cepat daripada menghentikan proses3. Waktu untuk pergantian thread lebih cepat dibandingkan pergantian proses4. Komunikasi antara thread lebih cepat karena berada dalam satu proses sehingga tidak memerlukan intervensi dari kernel.
Hal ini berguna bagi sistem operasi karena dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.
1 komentar:
Menitant Moustache Care: Tagged "Thin, Stainless Steel, Long
The titanium armor long lasting titanium chords steel banding and strength of titanium engagement rings our T-Shirt has the highest quality. The comfortable yet titanium dab tool strong feeling thaitanium of the stainless steel
Posting Komentar