Jumat, 21 Desember 2012

SHELL JILID 3

Nama : Bobby Setiawan
NIM : 2011-81-071
Seksi : 03

Tugas Sistem Operasi "Shell Jilid III"

1. Program untuk menampilkan menu : 


























script sudah di kirim lewat email dengan format .sh

2. Penjelasan dari fungsi menu tersebut :

1). pwd : untuk menampilkan direktori yang ada saat ini.
2). ls : menampilkan seluruh isi folder/file yang ada pada direktori yang di tuju.
3). logname : menampilkan nama logname dari sistem operasi tersebut.
4). buat direktori so : membuat direktori yang bernama so dengan fungsi mkdir (make direktory).
5). buat file nama anda : membuat file bobby dengan fungsi cat (dengan format yang diinginkan adalah txt).
6). perlihatkan file : melihat isi file yang ada dengan fungsi cat dengan penulisan cat > namafile.txt.
7). Ps Aux : berfungsi untuk melihat kegiatan user atau root.
8). Grep : berfungsi untuk mencari suatu tulisan atau karakter di dalam suatu file.
9). Touch : berfungsi sebagai edit file dengan memasukan file yang lain ke dalam file tujuan yang ingin di edit.
10). Tr : berfungsi untuk mengubah huruf kecil menjadi kapital atau sebaliknya.

Screen Shot Program :

* Isi file shell3.sh



































* Eksekusi Program dan Running Program







 

Jumat, 07 Desember 2012

Tugas Shell Programing

NAMA   : BOBBY SETIAWAN
NIM       : 2011 81 071

SEKSI    : 03
TUGAS SISTEM OPERASI (PEMOGRAMAN SHELL)


1. Pemrograman Shell adalah program yang menjembatani user dengan sistem operasi dalam hal ini Kernel (inti dari sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user dapat mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi file program (eksternal command), selain itu memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program. Jadi intinya, Shell ini digunakan sebagai jembatan antara user dengan Kernel untuk mendapatkan hasil atau output yang anda inginkan.

2. Dasar Dasar dari Pemograman Shell :

- cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...

- utilitas seperti cat, cut, paste, chmod, lpr,...

- redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:
  ls > data
    Hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
  ls >> data
    Hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
  cat < data
    File data dijadikan input oleh perintah cat
- pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
  ls -l | sort -s
    Ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending)
  ls -l | sort -s | more
  cat <data | sort > databaru


- Wildcard dengan karakter *, ?, [ ], contohnya:
  ls i*
    Tampilkan semua file yang dimulai dengan i
  ls i?i
    Tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
  ls [ab]*
    Tampilkan file yang dimulai dengan salah satu karakter a atau b.

3. Secara sederhana variabel adalah pengenal (identifier) berupa satuan dasar penyimpanan yang isi atau nilainya sewaktu-waktu dapat berubah baik oleh eksekusi program (runtime program) ataupun proses lain yang dilakukan sistem operasi. dalam dokumentasi ini saya membagi variabel menjadi 3 kategori:
  1. Environment Variable
  2. Positional
    Parameter
  3. User Defined Variable

1. Environment Variable

Dapat disebut sebagai variabel lingkungan yang digunakan khusus oleh shell atau system linux kita untuk proses kerja system seperti variabel PS1, PS2, HOME, PATH, USER, SHELL,dsb...jika digunakan akan berdampak pada system.
2. Positional Parameter
Dapat disebut sebagai parameter posisi yaitu variabel yang digunakan shell untuk menampung argumen yang diberikan terhadap shell baik berupa argumen waktu sebuah file dijalankan atau argumen yang dikirim ke subrutin.
Contoh : 




Hasilnya : 




Ada 3 argumen yang disertakan pada scriptargumen1yaitubash, shell, linux. Masing masing argumen akan disimpan pada variabel 1,2,3sesuai posisinya. variabel spesial lain yang dapat digunakan diperlihatkan pada script berikut :









Hasilnya : 







3. User Defined Variable

User Defined Variable adalah variabel yang didefinisikan sendiri oleh pembuat script sesuai dengan kebutuhannya. 

Contoh : 












Hasilnya :







4. Manajemen Input dan Output pada Shell

- Output dengan Echo

Kalimat yang mengikuti echo akan ditampilkan di layar, kemudian kursor pindah baris berikutnya tanda (opsi) –n antara echo dengan kalimat digunakan agar kursor tidak pindah ke baris berikutnya. 

Contoh :


- Output dengan Printf



- Output dengan Konstanta ANSI

    1. Pengaturan Warna
    2. Pengaturan posisi kursor

5. Struktur Kontrol pada Shell  

   1. Struktur Kontrol if-else (if then .... else ...)
   2. Struktur Kontrol if-else bertingkat (if then .... else if then .... fi ...)
   3. Struktur Kontrol if-else bertingkat - penyederhanaan (if then ... elif then ... fi ...)
   4. Struktur Kontrol Case (Case in isi 1 perintah 1 ... perintah 2 ... perintah 3)
   5. Struktur Kontrol For (For variabel do perintah1 done)
   6. Struktur Kontrol While (While kondisi do perintah 1 done)
   7. Struktur Kontrol Until (Until kondisi do perintah 1 done)

6. Array Pada Shell

Contoh Array pada shell dengan bahasa c++



7. Function pada Shell

Contoh fungsi pada shell

#!/bin/bash
function jual {
if [ -z $1 ] && [ -z $2 ]; then
echo “Tanah Tidak Terjual”
else
echo “Penjualan Tanah”
let panjang=$1
let lebar=$2
let luas=$panjang*$lebar
let “jual=($panjang*$lebar*500000)”
echo “Dengan Luas $luas m2 Telah Terjual dengan harga $jual”
fi
return 1
return 2
}
function beli {
if [ -z $1 ] && [ -z $2 ]; then
echo “Tanah Tidak Dibeli”
else
echo “Pembelian Tanah”
let panjang=$1
let lebar=$2
let luas=$panjang*$lebar
let “beli=($panjang*$lebar*750000)”
echo “dengan Luas $luas m2 Telah Dibeli dengan harga $beli”
fi
return 1
return 2
}
function sewa {
if [ -z $1 ] && [ -z $2 ]; then
echo “Tanah Tidak Tersewa”
else
echo “Penyewaan Tanah”
let panjang=$1
let lebar=$2
let luas=$panjang*$lebar
let “sewa=($panjang*$lebar*200000)”
echo “dengan Luas $luas m2 Telah Disewa dengan harga $sewa”
fi
return 1
return 2
}
rumah() {
if [ $p -eq 1 ]; then
echo “Masukan ukuran Tanah: ”
echo -n “Panjang= ”
read p
echo -n “Lebar= ”
read l
jual $p $l;
elif [ $p -eq 2 ]; then
echo “Masukan ukuran Tanah: ”
echo -n “Panjang= ”
read p
echo -n “Lebar= ”
read l
beli $p $l;
elif [ $p -eq 3 ]; then
echo “Masukan ukuran Tanah: ”
echo -n “Panjang= ”
read p
echo -n “Lebar= ”
read l
sewa $p $l;
fi
}
clear
echo “JBS Makelar Tanah ”
echo “Jual Tanah = 500000/m2″
echo “Beli Tanah = 750000/m2″
echo “Sewa Tanah = 200000/m2/tahun”
echo
echo “1. Jual Tanah Anda”
echo “2. Beli Tanah Baru”
echo “3. Sewa Tanah”
echo -n “Masukkan pilihan Anda: ”
read p
echo
echo
rumah