Anda di halaman 1dari 4

LAPORAN PRAKTIKUM

SISTEM OPERASI

Nama : Boas Bahana Putra


Nim : 14S21013
Prodi : S1-Teknik Elektro

LABORATORIUM GD 723
INSTITUT TEKNOLOGI DEL
SITOLUAMA, KEC. LAGUBOTI, KAB. TOBA
FAKULTAS INFORMATIKA DAN TEKNIK ELEKTRO
T.A 2022/2023
/*14S21013_Boas Bahana Putra*/

#include <stdio.h>
#include <stdlib.h>

const int max = 4;


int number[4] = {4,1,3,2};

void main(){

printf("Before sorting process\n");

for(int i=0; i<max; i++){


printf("%d ", number[i]);
}

for(int i=0; i<max; i++){


int minIndex = i;
for(int j=i; j<max; j++){
if(number[j]<number[minIndex]){
minIndex = j;
}
}
int temp = number[i];
number[i] = number[minIndex];
number[minIndex] = temp;
}

printf("\nAfter sorting process\n");

for(int i=0; i<max; i++){


printf("%d ", number[i]);
}
printf("\n");
}

Hasil :

Line 1 : input output operasi yang digunakan oleh bahasa C, fungsi keluaran pada C yang menampilkan data
dengan tipe data apapun ke layar.
Line 2 : mendefinisikan empat tipe variabel, beberapa makro, dan berbagai fungsi untuk menjalankan fungsi
umum.
Line 4 : program mengimport file header bernama sys/types.h yang berisi nama nama variable yang ada pada
system linux. Misalnya uid_t, pid_t dan lain lain
Line 4 : program mendefinisikan sebuah konstanta dengan menggunakan kata kunci const sebesar 4
Line 5 : Fungsi integer yang memiliki array sebesar 4
Line 7 : void di C yang bila digunakan pada satu function maka function tersebut akan tidak mengembalikan
nilai apapun.
Line 9 : menampilkan string format argumen opsilonal
Line 11 & 15 : for untuk proses pengulangan (inkrement) kegiatan pada suatu statement atau lebih secara
berulang ulang-ulang sesuai array yang di berikan
Line 18 : IF sebagai menunjukkan suatu kondisi

/*14S21013_Boas Bahana Putra*/

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(int argc, char *argv[]) {


pid_t pid;
pid = fork();

if (pid<0){
//error
fprintf(stderr, "Fork Failed\n");
return -1;
}
else if (pid==0){
//child
printf("Proses anak PID = %d\n",pid);
char *args[] = {"Home", "Documents", "tugas", NULL};
execv("./child", args);
}else{

//parents
printf("Proses induk PID = %d\n",pid);
wait(NULL);

printf("Child Complete\n");
}

return 0;
}

Hasil :
Line 1 : input output operasi yang digunakan oleh bahasa C, fungsi keluaran pada C yang menampilkan data
dengan tipe data apapun ke layar.

Line 2 : <unistd.h> digunakan untuk mendeklarasikan library untuk beberapa konstata symbolic yang memiliki
fungsi yang berbeda beda
Line 3 : Program mengimport file header bernama sys/types.h yang berisi beberapa nama variable yang ada pada
system Linux. Misalnya uid_t, pid_t dan lain lain
Line 4 : digunakan untuk memakai fungsi wait() yang digunakan untuk proses parent.
Line 5 : argc menyimpan jumlah perintah yang anda ketikkan di terminal tadi saat menjalankan program dan
argv menyimpan isi perintah yang anda ketikkan di terminal tadi saat menjalankan program
Line 6 : Merupakan deklarasi variabel pid dengan tipe data bernilai pid_t. Tipe data ini merupakan hasil dari
proses systemcall getpid() dan fork(). Nilai pengembalian dari salah dua proses tersebut sama seperti tipe data
integer.
Line 7 : Melakukan assign dari proses system call fork() ke variabel childpid, nilai yang didapat kemudian akan
digunakan untuk proses proses selanjutnya
Line 9-11 : Menunjukkan kondisi jika variabel pid lebih kecil dari 0 maka akan di tampilkan “Fork Failed”
Line 14-16 : Menunjukkan kondisi yang lain jika variabel pid membandingkan bila 0 maka di print isi variabel
pid
Line 17 : parameter/argumen yang diberikan ke program saat dipanggil . Mereka digunakan untuk mengontrol
program yang nanti akan memanggil program lanjutan di dalam terminal
Line akhir : Return akan mengembalikan nilai 0 jika fungsi main berhasil dijalankan.

Anda mungkin juga menyukai