27
TUGAS SISTEM OPERASI Disusun Oleh : Nama : Nurul Annisa Putri Nim : 25012.55401.14.038 Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B Dosen : Zaid Romegar Mair, S.T., M.Cs PEMERINTAHAN KABUPATEN MUSI BANYUASIN DINAS PENDIDIKAN NASIONAL POLITEKNIK SEKAYU TAHUN AKADEMIK 2016

SISTEM OPERASI - choconr.files.wordpress.com · pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting. ... Hasil dari instruksi ini bisa

  • Upload
    ngodat

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

TUGAS

SISTEM OPERASI

Disusun Oleh :

Nama : Nurul Annisa Putri

Nim : 25012.55401.14.038

Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

Dosen : Zaid Romegar Mair, S.T., M.Cs

PEMERINTAHAN KABUPATEN MUSI BANYUASIN

DINAS PENDIDIKAN NASIONAL

POLITEKNIK SEKAYU

TAHUN AKADEMIK 2016

ii

KATA PENGANTAR

Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha Panyayang,

penulis ucapkan puji syukur atas kehadirat-Nya, yang telah melimpahkan rahmat dan

hidayah-Nya kepada penulis, sehingga penulis dapat menyelesaikan Tugas Sistem

Operasi.

Adapun Tugas Sistem Operasi ini telah penulis usahakan semaksimal mungkin.

Namun tidak lepas dari semua itu, penulis menyadari sepenuhnya bahwa ada

kekurangan baik dari segi penulisan maupun segi lainnya. Oleh karena itu, dengan

lapang dada dan tangan terbuka penulis membuka selebar-lebarnya bagi Dosen mata

kuliah khususnya Sistem Operasi dapat memberikan saran dan kritik kepada penulis

sehingga penulis dapat memperbaiki Tugas Sistem Operasi ini.

Akhir kata penulis mengharapkan semoga dari Tugas ini dapat diambil hikmah

dan manfaatnya.

Sekayu, 16 Mei 2016

Penulis

iii

DAFTAR ISI

KATA PENGANTAR ......................................................................................... ii

DAFTAR ISI ....................................................................................................... iii

BAB I : PENDAHULUAN ...................................................................... 1

1.1. Latar Belakang ..................................................................... 1

1.2. Tujuan ................................................................................... 1

BAB II : ISI ............................................................................................... 2

BAB III : PENUTUP .................................................................................. 24

3.1. Simpulan .............................................................................. 24

3.2. Saran .................................................................................... 24

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Sistem operasi (bahasa Inggris: operating system (OS)) adalah komponen

pengolah piranti lunak dasar (essential component) tersistem sebagai pengelola

sumber daya perangkat keras komputer (hardware), dan menyediakan layanan

umum untuk aplikasiperangkat lunak. Sistem operasi adalah jenis yang paling

penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi,

pengguna tidak dapat menjalankan program aplikasi pada komputer mereka,

kecuali program booting.

Sistem operasi mempunyai penjadwalan yang sistematis mencakup

perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber

daya lainnya.

Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran

dan alokasi memori, sistem operasi bertindak sebagai perantara antara program

aplikasi dan perangkat keras komputer, meskipun kode aplikasi biasanya

dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS

atau terputus oleh itu. Sistem operasi yang ditemukan pada 1ubsti semua perangkat

yang berisi computer dari ponsel dan konsol permainan video untuk super

komputer dan server web.

Contoh sistem operasi modern adalah Linux, Android, Ios, MacOSX,

dan Microsoft Windows.

1.2. Tujuan

Adapun tujuan penulis dalam membuat makalah ini yaitu :

1. Mahasiswa dapat lebih memahami redirection.

2. Memahami program bash shell.

2

BAB II

ISI

1. Melihat symbol > dan >> kemudian analisa outputnya serta berikan

kesimpulan anda!

a. Buatlah berkas dengan nama lagu1, menggunakan cat. Isinya sebagai berikut :

The greatest of all

Penyayi : George benson

Analisa : fungsi dari cat > lagu1.txt adalah membuat file baru dengan nama

lagu1 dan ekstensi file berupa txt. Diamana tanda > digunakan sebagai

pengganti standar output (redirection) berupa “The greetest of all…..”.

b. Buatlah berkas dengan nama lagu2, menggunakan cat. Isinya sebagai berikut :

Kaulah segalanya

Penyayi : Ruth Sahanaya

Analisa : fungsi dari cat > lagu2.txt adalah membuat file baru dengan nama

lagu2 dan ekstensi file berupa txt. Diamana tanda > digunakan sebagai

pengganti standar output (redirection) berupa “Kaulah segalanya…..”.

3

c. Berikan perintah :

Cat lagu1 > lagu.cat

Analisa : fungsi dari cat lagu1 > lagu.cat adalah membuat isi file lagu1

menjadi isi dari file lagu.cat. Dimana tanda > digunakan sebagai pengganti

standar output (redirection). Sehingga ketika kita melihat isi dari file lagu.cat

hasilnya akan sama dengan isi file dari lagu1. Ini dikarenakan penggunaan

fungsi redirection pada file tersebut.

d. Berikan perintah :

Cat lagu2 > lagu.cat

Analisa : fungsi dari cat lagu2 > lagu.cat adalah membuat isi file lagu2

menjadi isi dari file lagu.cat. Dimana tanda > digunakan sebagai pengganti

standar output (redirection). Sehingga ketika kita melihat isi dari file lagu.cat

hasilnya akan sama dengan isi file dari lagu2. Ini dikarenakan penggunaan

fungsi redirection pada file tersebut.

4

e. Berikan perintah :

Cat lagu1 >> lagu.cat

Analisa : fungsi dari cat lagu1 >> lagu.cat adalah membuat isi file lagu1

juga menjadi isi dari file lagu.cat. Sebelumnya file.cat berisi file dari lagu,

untuk dapat menampung isi dari kedua file (lagu1 dan lagu2) tanpa

menghilangkan isi dari salah satunya maka redirection yang digunakan adalah

(>> = symbol pengganti standar output) sehingga file lagu.cat dapat

menampung isi file sebanyak dua file berbeda. Hasil dari instruksi ini bisa

dilihat dari gambar di atas.

2. Berikan keterangan pada kolom yang disediakan tentang operator relasi

bilangan bulat untuk test berikut :

Operator Keterangan Nilai

False True

Sama dengan == 4+2 = 3+2 4+2 = 3+3

Tidak sama dengan != 4+2 != 3+3 4+2 != 3+2

Lebih dari > 5 >7 7 > 5

Kurang dari < 7 < 5 5 < 7

Kurang dari sama dengan <= x = 9 s/d 11

x <= 5

x = 1 s/d 6

x <= 5

Lebih dari sama dengan >= x = 1 s/d 5

x >= 5

x = 9 s/d 11

x >= 10

5

3. Buat program yang memeriksa nama direktori, jika parameter tersebut

adalah direktori, maka jalankan instruksi ls –ld pada direktori tersebut.

Namakan program tersebut checkdir.sh. Gunakan notasi [ -d

NamaDirektori ] dan pilih logical && atau || pada level shell.

#!/bin/sh

# file: checkdir.sh

# Usage: checkdir.sh DirectoryName

#

if [ $# -ne 1]

then

echo “Error, usage: checkdir.sh DirectoryName”

exit 1

fi

[ … ] && …

Analisa : membuat file checkdir.sh dengan gedit.

Analisa : berikut badan program yang telah di modifikasi dengan logika dan

instruksi ls –ld dimana pada program ini fungsi exit dihilangakan dengan alasan

ketika program di jalankan program akan keluar tanpa menghasilkan output.

6

Analisa : Kondisi if akan memeriksa apakah jumlah parameter kurang dari satu

atau tidak. Jika kondisi tersebut benar, maka akan dimunculkan pesan “Error!,

usage: checkdir.sh DirectoryName”. Jika kondisi tersebut bernilai false, maka

else akan dieksekusi. Instruksi yang ada di dalam else adalah jika parameter

adalah direktori, akan di eksekusi instruksi “ls –ld” berfungsi untuk menampilkan

informasi direktori seperti pid tanggal dan waktu.

4. Berikan output dari utilitas expresi berikut!

$ expr 6 + 1

$ A=7

$ expr $A + 3

7

$ expr $A – 2

$ $ expr $A \* 1

$ expr 17 % 4

8

5. Buatlah program sederhana (“lihat contoh atau modifikasi pada posttest

minggu lalu”) dengan menggunakan kontruksi for do done dan tulis

outputnya!

Analisa : Program dengan nama file fdd.sh diatas adalah program dengan

konstuksi for – do – done. Dimana variabel yang digunakan berupa nim dan

nama. nim memiliki looping yang dimulai dari 37 dan setiap looping nilainya

akan bertambah 1 dan nilai dari variabel adalah Nurul Rika Rina.

9

6. Berikan penjelasan tentang operasi perhitungan dengan menggunakan :

a. Expr

mengevaluasi suatu expresi baik itu perbandingan string atau operasi aritmatik

sederhana

b. Bc

Merupakan utilitas yang sangat bermanfaat untuk membantu melakukan

perhitungan aritmatika, baik bilangan bulat maupun pecahan

c. Ksh

Korn Shell (ksh) diciptakan oleh Dave Korn. Shell ini diciptakan dengan

menggabungkan kelebihan Bourne shell dan C shell sehingga shell ini

memiliki interaktivitas yang baik dan juga gaya pemrograman shell yang

mudah.

d. Dc

Merupakan utilitas yang sama dengan bc, perbedaannya hanya pada bentuk

notasi ekspresi aritmatikanya.

7. Berikan analisa anda dan simpulkan! Berikut perintahnya:

a. $bc

x[0]=5<enter>

x[1]=6<enter>

x[2]=7<enter>

y=x[0] + X[1] + x[2]<enter>

y<enter>

hasil

quit <enter>

10

Analisa : program diatas adalah program menyelesaikan persoalan aritmatika

diaman setiap nilai disimpal dalam variabel terlebih dahulu (variable x). dan hasil

disimpan dalam variable y.

b. $bc

Scale

0

2.56+2.789 <enter>

2.51*2.2 <enter>

17.321 % 6.21<enter>

17.321/6.21 <enter>

Analisa : persoalan di atas adalah penyelesaian operasi bilangan pecahan secara

langsung tanpa disimpan terlibih dahulu di variable. Persoalan pertama adalah

penjumlahan, kedua adalah perkalian, ketiga adalah modulus, dan yang terakhir

adalah pembagian.

11

c. $ expr 2\>3

0

$expr 2\<3

1

$_

Analisa : operasi di atas adalah operasi relasi dimana pada baris pertama 2 lebih

besar dari tinggi maka output adalah 0 (False) dan pada baris kedua 2 lebih kecil

dari 3 maka outputnya adalah (True).

d. Berikan contoh penggunaan utilitas expresi ksh

8. Gunakan nano text editor dan lengkapi program berikut:

#include <stdio.h>

#include <sys/types.h>

int main(){

printf("Hello\n");

fork();

printf("Hai\n");

fork();

printf("Apa kabar\n");

getchar ();

return 0;

}

12

Analisa : program ini dibuat mengunakan editor gedit.

a. tuliskan output dari program berikut dan berikan penjelasan anda

terhadap analisis yang dilakukan

Output yang dihasilkan program tersebut dapat dilihat pada gambar diatas.

System call fork adalah suatu system call yang membuat suatu proses baru

pada system operasi UNIX. Bila suatu program berisi sebuah fungsi fork(),

eksekusi dari program menghasilkan eksekusi dua proses. Satu proses dibuat

untuk memulai eksekusi program. Bila system call fork() dieksekusi, proses

lain dibuat.

13

b. tuliskan pohon proses dari program tersebut

Pada program tersebut output untuk Hai dan Apa kabar akan dicetak lebih

dari satu dikarenakan adanya system call fork yang mana cara prosesnya

ketika seluruh program telah dikerjakan atau dieksekusi maka system call fork

akan mengeksekusi bari program yang ada.

c. berikan kesimpulan!

Program diatas berisi sebuah fungsi fork(), diamna eksekusi dari program

menghasilkan eksekusi dua proses.

9. Gunakan nano text editor dan lengkapi program berikut:

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/types.h>

int main(){

int rv=0,i;

pid_t pid1, pid2, pid3, pid4;

pid1=fork();

if(pid1==-1) {

perror("Fork gagal");

exit(EXIT_FAILURE);

}

if(pid1==0) {

fork();

printf("Ini Child 1 \n");}

//===========================================

else

{

printf ("ini bapaknya 1\n");

pid2=fork();

if(pid2==-1){

14

perror("Fork gagal");

exit(1);

}

if(pid2==0)

printf("Ini Child 2 \n");

//===========================================

else{

pid3 =fork();

if (pid3==-1) {

perror("Fork gagal\n");

exit(1);

}

if (pid3==0)

{

fork();

printf("Ini child 3 \n");

}

//===========================================

else {

pid4==fork();

}

}

}

getchar();

}

Analisa : Program ini dibuat dengan editor gedit.

15

16

a. tuliskan output dari program berikut dan berikan penjelasan anda

terhadap analisis yang dilakukan.

Output dari program dapat dilihat pada gambar di atas. Program diatas adalah

program yang menggunakan konstruktor if-else-if. Terdapat if dalam badan

program else.

b. tuliskan pohon proses dari program tersebut.

Progrma tersebut akan menggelompokan nomor pid, jika nomor pid dirasa

cocok dengan kondisi if maka program akan dieksekusi berdasarkan output

yang ada.

c. berikan kesimpulan!

Program di atas adalah program dengan konstruktor if-else-if. Dimana setiap

kondisi diperiksa jika memenuhi maka proses di eksekusi.

10. Buat sebuah fungsi pada script confirm.sh yang memberikan konfirmasi

jawaban Yes, No atau Continue. Jika jawaban Yes, maka beri nilai balik 0,

No = 1 dan Continue = 2. Modifikasi kerangka program berikut untuk

memenuhi permintaan tersebut.

#!/bin/sh

# Confirm whether we really want to run this service

confirm() {

local YES=”Y”

local NO=”N”

local CONT=”C”

while :

17

do

echo –n “(Y)es/(N)o/(C)ontinue? {Y] “

read answer

answer=`echo “$answer” | tr „[a-z]‟ „[A-Z]‟`

if [ “$answer” = “” –0 “$answer” = $YES ]

then

return 0

elif ….

Then

return 2

elif ….

then

return 1

fi

done

}

Test fungsi diatas dengan program berikut :

$ vi testp.sh

. confirm.sh

confirm

if [ $? –eq 0 ]

then

echo “Jawaban YES OK”

elif [ $? =eq 1 ]

then

echo “Jawaban NO”

else

echo “Jawaban CONTINUE”

fi

Perhatikan baris pertama, adalah loading dari fungsi confirm yang terdapat di

script confirm.sh. Setelah eksekusi script tersebut, maka fungsi confirm dapat

digunakan

18

Confirm.sh

Testp.sh

19

Output :

Analisa : program belum sesuai dengan permintaan soal sehingga output yang

dihasilka masih seperti diatas. Program di atas menggunakan fungsi dimana

badan fungsi ada pada confirm.sh dan di panggil pada testp.sh.

20

11. Buatlah program dengan menampilkan output sebagai berikut:

a. Tulis program nya!

21

b. Gambarkan pohon proses !

Program tersebut akan menggelompokan nomor pid, jika nomor pid dirasa

cocok dengan kondisi if maka program akan dieksekusi berdasarkan output

yang ada.

c. Berikan analisis dan kesimpulan anda?

Output dari program dapat dilihat pada gambar di atas. Program diatas adalah

program yang menggunakan konstruktor if-else-if. Terdapat if dalam badan

program else. Setiap kondisi diperiksa jika memenuhi maka proses di

eksekusi.

12. Ketikkan perintah berikut dan berikan penjelasan anda berdasarkan nama,

synopsis dan deskripsi dari bagian-bagian ini:

a. Man 2 wait

22

Analisa : man 2 wait menurut pemahaman yang didapat dari output di atas

yaitu informasi program wait secara manual dimana name dari wait terdapat

wait, waitpid dan wait id yang digunakan sebagai variabel. Dan synopsis

merupakan badan program. Deskripsion mengambarkan alur program pada

synopsis.

b. Man 2 getpid

Analisa : man 2 getpid menurut pemahaman yang didapat dari output di atas

yaitu informasi program getpid secara manual dimana name dari getpid

terdapat getpid dan getppid yang digunakan sebagai variabel. Dan synopsis

merupakan badan program. Description mengambarkan alur program pada

synopsis. Errors informasi jika terdapat error.

23

c. Man 2 fork

Analisa : man 2 fork menurut pemahaman yang didapat dari output di atas

yaitu informasi program fork secara manual dimana name dari fork terdapat

fork yang digunakan sebagai variabel. Dan synopsis merupakan badan

program. Description mengambarkan alur program pada synopsis.

24

BAB III

PENUTUP

1.1. Simpulan

Tugas ini adalah tugas tentang redirection (pembelokan standar input dan

output) dan pemrogramam bash shell.

Standart input adalah masukkan atau input standard dari suatu perintah atau

program. Input standard ini adalah keyboard. Standard output adalah keluaran atau

output standard dari suatu perintah atau program. Output standard ini adalah

monitor atau terminal.

3.2. Saran

Diharapkan setelah membuat laporan serta melakukan praktikum

mahasiswa/i dapat mempelajari dan memahami redirection dan pemograman bash

shell.

Untuk memahami materi tersebut secara spesifik diperlukan latihan berulang

untuk mendapatkan pemahaman yang maksimal serta memahami teori yang dapat

mendukung pembelajaran.