Selasa, 11 Desember 2012

TUGAS SHELL PROGRAMING

  • PEMROGRAMAN SHELL
shell adalah command executive, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut.

  • DASAR - DASAR SHELL PROGRAMING
shell, profile, history, bash script, job control, editor vi

  • VARIABEL SHELL


  • MANAJEMEN INPUT DAN OUTPUT PADA SHELL
1. Output dengan printf
#!/bin/bash
#pr1

url="pemula.linux.or.id";
angka=32;

printf "Hi, Pake printf ala C\n\t\a di bash\n";
printf "My url %s\n %d decimal = %o octal\n" $url $angka $angka;
printf "%d decimal dalam float = %.2f\n" $angka $angka
Hasilnya:
[fajar@linux$]./pr1
Hi, Pake printf ala C
di bash
My url pemula.linux.or.id
32 decimal = 40 octal
32 decimal dalam float = 32.00
untuk menggunakan format kontrol sertakan simbol %, bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel, \n \t \aadalah karakter sekuen lepas newline,tab, dan bell,Format control keterangan
%d untuk format data integer
%o octal
%f float atau decimal
%x Hexadecimal

pada script diatas %.2f akan mencetak 2 angka dibelakang koma, defaultnya 6 angka, informasi lebih lanjut dapat dilihat via man printf

2. Input dengan read
Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar
syntax :
read -opsi [nama_variabel...]
berikut contoh scriptnya:
#!/bin/bash
#rd1

echo -n "Nama anda :"
read nama;

echo "Hi $nama, apa khabarmu";
echo "Pesan dan kesan :";
read
echo "kata $nama, $REPLY";
Hasilnya:
[tohir@linux$]./rd1
Nama anda : pinguin
Hi pinguin, apa khabarmu
Pesan & kesan :
pake linux pasti asyk - asyk aja
kata pinguin, pake linux pasti asyk - asyk aja
jika nama_variabel tidak disertakan, maka data yang diinput akan disimpan di variabel REPLY contoh lain read menggunakan opsi
-t(TIMEOUT), -p (PROMPT), -s(SILENT), -n (NCHAR) dan -d(DELIM)
#!/bin/bash

read -p "User Name : " user
echo -e "Password 10 karakter,\njika dalam 6 second tidak dimasukkan pengisian password diakhiri"
read -s -n 10 -t 6 pass
echo "kesan anda selama pake linux, _underscore=>selesai"
read -d _ kesan

echo "User = $user"
echo "Password = $pass"
echo "Kesan selama pake linux = $kesan"
Hasilnya: silahkan dicoba sendiri :-)Opsi Keterangan
-p memungkinkan kita membuat prompt sebagai informasi pengisian
-s membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password di linux)
-n menentukan banyak karakter yang diinput
-d menentukan karakter pembatas masukan
informasi secara lengkap lihat man bash

3. Output dengan konstanta ANSI
Pengaturan Warna
Untuk pewarnaan tampilan dilayar anda dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi).
syntaxnya:
\033[warnam
Dimana:
m menandakan setting color
contohnya:
[tohir@linux$]echo -e "\033[31m HELLO\033[0m"
HELLO
konstanta 31m adalah warna merah dan 0m untuk mengembalikan ke warna normal (none), tentunya konstanta warna ansi ini dapat dimasukkan ke variabel PS1 untuk mengatur tampilan prompt shell anda, contohnya:
[tohir@linux$]PS1="\033[34m"
[tohir@linux$]
berikut daftar warna yang dapat anda gunakan:
foreground
None 0m
Black 0;30 Dark Gray 1;30
Red 0;31 Light Red 1;31
Green 0;32 Light Green 1;32
Brown 0;33 Yellow 1;33
Blue 0;34 Light Blue 1;34
Purple 0;35 Light Purple 1;35
Cyan 0;36 Light Cyan 1;36
Light Gray 0;37 White 1;37
background
dimulai dengan 40 untuk BLACK,41 RED,dst
lain-lain
4 underscore,5 blink, 7 inverse
tentunya untuk mendapatkan tampilan yang menarik anda dapat menggabungkannya antara foreground dan background
[tohir@linux$]echo -e "\033[31;1;33m Bash and ansi color\033[0m"


  • STRUKTUR KONTROL SHELL

  • ARRAY PADA SHELL
FOR


  • FUNCTION PADA SHELL


Selasa, 06 November 2012

TUGAS SO PRAKTIKUM 3

nama = reinaldi ramli
nim = 201181014
sesi = 01


1, cari berapa banyak instruksi yang dapat digunakan untuk membuat file, praktekan . . contohnya : cat 1>namafile.txt
2. bagaimana cara masuk kedalam suatu directory & bagaimana cara keluar dari directory

jawab:

1. cat   : $ cat>namafile
   echo  : $ echo "isi teks" > namafile
   nano  : $ nano namafile
   touch : $ touch namafile
   vi      : $ vi namafile <enter>
              setelah itu muncul field untuk mengisi file
              wq = menyimpan file lalu keluar dari vi
              q = keluar dari vi tanpa menyimpan file

2. masuk ke dalam directory = cd (nama directory)
    keluar dari directory       = cd . .

Tugas SO praktikum 2

         Nama = reinaldi ramli
         NIM = 201181014
         sesi = 01



                PERINTAH                                   DESKRIPSI                                   FORMAT
 grep 
mencari kata/kalimat dalam file
$ root /etc/passwd
 id
 melihat identitas diri
$ id
 hostname
melihat identitas mesin
$ hostname 
 uname
melihat identitas mesin
$ uname
 w
melihat yang sedang aktif
$ w
 who
menampilkan siapa saja user yang sedang login
$ who
 whoami
menampilkan user login kita
$ whoami
 chfn
mengubah informasi finger
$ chfn (user)
 finger
melihat informasi finger
$ finger (user)
 date
melihat tanggal saat ini
$ date
 cal
melihat kalender
$ cal
 man
menggunakan manual
$ man
 clear
menghapus layar
$ clear
 apropos
mencari perintah yang kata kuncinya mengandung deskripsi yang dicari
$ apropos <perintah>
 whatis
mencari perintah yang tepat sama dengan kunci yang dicari
$ whatis <perintah>
 ls
menampilkan current working directory
$ ls
 file
melihat tipe file
$ file 
 cat
melihat isi file
$ cat (nama file)
 more
menampilkan file per satu layar penuh
$ more (nama file)
 pg
menampilkan file per satu layar penuh
$ pg (nama file)
 cp
mengcopy isi file
$ cp (file1) (file2)
 mv
memindahkan isi file
$ mv (file1) (file2)
 rm
menghapus file
$rm (nama file)

Selasa, 30 Oktober 2012

praktikum SO pertemuan 5

1.      Apa yang dimaksud dengan proses
2.      Apa yang dimaksud perintah untuk menampilkan status proses :
ps, pstree.
3.      Sebutkan opsi yang dapat diberikan perintah ps
4.      Apa yang dimaksud dengan sinyal? Apa perintah untuk mengirim sinyal?
5.      Apa yang dimaksud dengan proses foreground dan background pada job control
6.      Apa yang dimaksud perintah-perintah penjadwalan prioritas :
Top, nice, renice

Jawaban:
1. urutan pelaksanaan atau kejadian yang terjadi secara alami atau didesain, mungkin menggunakan waktu, ruang. keahlian atau sumber daya lainnya, yang menghasilkan suatu hasil. suatu proses mungkin dikenali oleh perubahan yang diciptakan terhadap sifat-sifat dari satu atau lebih objek dibawah pengaruhnya.
2. ps = digunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (process Identification Number) dari proses tersebut, proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system akan diberi nomor PID yang unik
 pstree = mempunyai fungsi yang sama untuk melihat status proses yang berjalan pada sistem. tetapi informasinya di perlihat dengan bentuk tree (pohon)
3.      a. $ ps -u
Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan.
b. $ ps –a
$ ps –au

Mencari proses lainnya gunakan opsi a (all) dan au (all user).
c. $ ps –eH 
Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah prosesparent. Proses child ditandai dengan awalan beberapa spasi.
d. $ps –e f
Tampilan serupa dengan langkah 2. Opsi –f akan menampilkan status proses dengan karakter grafis (\ dan _).
e. $pstree
Akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses pada sistem. Beberapa child dari init mempunyai child. Proses login mempunyai proses bash sebagai child. Proses bash mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya.
f. $pstree | grep mingetty
Akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Selain menampikan semua proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan.
g. $ pstree –p
Untuk melihat semua PID untuk proses gunakan opsi –p.
h. $ pstree –h
Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi –h.
i. $ ps –e | more
Opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME dan CMD.
j. $ ps ax | more
Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak dihasilkan terminal. Secara logika opsi ini sama dengan opsi –e . Terdapa 5 kolom : PID, TTY, STAT, TIME dan COMMAND.
k. $ ps ef | more
Opsi –e f akan menampilkan semua proses dalam format daftar penuh.
l. $ ps –eo pid,cmd | more
Opsi –eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.
m. $ ps –eo pid,ppid,%mem,cmd | more
Akan menampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan persentasi memory system yang digunakan proses. Jika proses hanya menggunakan sedikit memory system akan dita mpilkan 0.

4.      sinyal =  Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi dan  administrator/programmer dapat menentukan reaksi tersebut.
perintahnya =  kill [-nomor sinyal] PID
5.      foreground = Job pada foreground adalah roses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog). Pada foreground hanya diperuntukkan untuk satu job pada satu waktu. Job pada foreground akan mengontrol shell menerima input dari keyboard dan mengirim output ke layar.
background =  Job pada background tidak menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.
6.      Top = memberikan informasi (sering di refresh) tentang yang paling CPU-intensif proses yang sedang berjalan.
Nice = bagus menjalankan perintah dengan prioritas di modifikasi
Perintah bagus digunakan untuk menjalankan perintah yang diberikan dengan penjadwalan yang prioritas sisesuaikan. Prioritas berkisar pergi dari – 20(prioritas tertinggi) sampai 19(prioritas terendah).
Contoh :
$ Bagus – mencetak nilai prioritas saat ini.
$ ls bagus – Kenaikan nilai prioritas dari perintah ls dengan 10(default value)dan jalankan.
$ bagus –n 5 ls kenaikan nilai prioritas dari perintah ls dengan 5 dan jalankan.
# bagus –n -2 ls pengurangan nilai prioritas akan mengurangi tingkat prioritas dari perintah ls dengan -2 dan menjalankan.
Renice = untuk mengubah prioritas penjadwalan dari satu atau lebih menjalankan proses, prioritas berkisar pergi dari -20( prioritas tertinggi) sampai 19(prioritas terendah).
Contoh:
$ renice 1 123 – kenaikan nilai prioritas proses, yang proses ID adalah 123.

# renice 1 123 – pengurangan nilai prioritas proses, yang proses ID adalah 123. (Root hanya dapat pengurangan)

$renice 1-p 123-p 200 – sama seperti diatas. Disini tidak ada proses. Proses adalah 2.

$ renice 1-u sbharathi – kenaikan nilai prioritas dari semua proses, yang miliki oleh pengguna(sbharathi).
$ renice 1-g cadangan – kenaikan nilai prioritas daris semua proses, yang dimiliki oleh kelompok(cadangan).

Rabu, 24 Oktober 2012

SISTEM OPERASI pertemuan 4


LATIHAN 1 (Insert)
-          Buatlah sebuah Folder dengan [nama anda]

-          Masuklah kedalam folder [nama anda]

-          Buatlah 3 buah folder namai dengan [Data] [Dokument] [Galery]

-          Masuklah kedalam folder [Data], buat 3 buah file dengan nama : catatan.txt , image.jpg , index.html

-          Buatlah juga sebuah file dengan nama [identitas.txt] kemudian tuliskan identitas anda :Nim         :  [nim anda]Nama      :  [nama anda]Jurusan   : [jurusan anda]Fakultas  : [fakultas anda]

-          Keluarlah dari direktori [Data]

-          Kemudian masuk kedirektori [Dokument], buat sebuah file dengan nama [Dokumen saya.docx], kemudian ketikan :“Pelajaran Sistem operasi sudah dimulai!!!”

-          Keluarlah dari direktori [Dokument]

-          Masuklah kedirektori [Galery] buatlah 3 buah file dengan nama : gambar1.jpg , gambar2.png, movie1.mkv

-          Keluarlah dari direktori [Galery]


ScreenShot
LATIHAN 2 (Update)

-          Buka file [catatan.txt] ,Tulis sebuah memo :“Hari ini telah diadakan praktikum Sistem Operasi Pertemuan 4 di Lab E.Pada tanggal 24 10 12…”

-          Simpan file tersebut kemudian kopi isi file tersebut ke file index.html

-          Pindahkan file [image.jpg] dari direktori [Data] ke direktori [nama anda]

-          Pada direktori [Galery] , gantilah nama file gambar1.jpg menjadi gambar1.png, dan ubahlah nama file movie1.mkv menjadi film1.mkv

-          Pada direktori [Dokument] editlah file dokumen_saya.docx dengan menambahkan nim, nama serta alamat anda didalam file tersebut, terus di save kemudian copy file tersebut pada direktori yang sama.

ScreenShot



LATIHAN3 (Delete)

-          Hapuslah semua Direktori dalam [nama anda]

-          Pastikan jika di view isi direktori tersebut sudah kosong (gunakan metode yang ada untuk melihat isi direktori)
ScreenShot



SELESAI ~_~