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
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.
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
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.
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.