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
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
ii
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
iii
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.
1
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…..”.
2
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.
3
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
Sama dengan Tidak sama dengan Lebih dari Kurang dari Kurang dari sama dengan
== != > < <=
Lebih dari sama dengan
>=
4
Nilai False 4+2 = 3+2 4+2 != 3+3 5 >7 7<5 x = 9 s/d 11 x <= 5 x = 1 s/d 5 x >= 5
True 4+2 = 3+3 4+2 != 3+2 7>5 5<7 x = 1 s/d 6 x <= 5 x = 9 s/d 11 x >= 10
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. 5
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
6
$ expr $A – 2
$ $ expr $A \* 1
$ expr 17 % 4
7
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.
8
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>
9
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. 10
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; }
11
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. 12
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
#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){ 13
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. 14
15
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 : 16
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 17
Confirm.sh
Testp.sh
18
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.
19
11. Buatlah program dengan menampilkan output sebagai berikut: a. Tulis program nya!
20
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
21
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.
22
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.
23
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.
24