Syarifudin Anwar On Monday, September 2, 2013

MENGENAL
SISTEM OPERASI
DAN ARSITEKTUR
SISTEM OPERASI
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MENGENAL SISTEM OPERASI
DAN
ARSITEKTUR SISTEM OPERASI
EDISI I - 2007
1.1 PENDAHULUAN
1.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI : Mengenal Sistem Operasi Dan Arsitektur
Sistem Operasi
SUB KOMPETENSI : Pendahuluan
KRITERIA KERJA : -
LINGKUP BELAJAR : • Definisi Sistem Operasi
• Bebarapa Sistem Operasi
• Manajemen Sistem Operasi
• Test
1.2 Definisi Sistem Operasi
Sistem operasi adalah perangkat lunak komputer yang mengatur
dan mengendalikan operasi dasar sistem komputer. Tugas dari sistem
operasi diantaranya :
• Melakukan fungsi manajemen sistem berkas
• Mengendalikan berbagai sumber pada sistem, seperti disk
dan printer
• Mengatur sejumlah pemakai yang menggunakan sistem
bersamaan
• Membentuk penjadualan proses-proses didalam sistem.
Beberapa sifat dan keistimewaan sistem operasi yang diturunkan dan
diadopsi dari sistem operasi UNIX.
Gambar 1.1 Sifat Dan Keistimewaan UNIX
Portabilitas
Portabilitas berarti ketidakbergantungan pada suatu perangkat keras yang
memungkikan pemakai tidak perlu terpaku pada satu vendor dan mudah
untuk diadaptasikan ke sistem komputer yang lain. Berikut adalah tabel
yang menggambarkan perbandingan system operasi dengan erangkat
keras.
Multitasking
Portabilitas
Dukungan
Utilitas
Sistem
Berkas
Hierarkis
Multiuser
Lain-lain
UNIX
KOMPUTER SISTEM OPERASI
JENIS DOS OS/2 UNIX
Notebook
PC
Workstation
Komputer Mini
Mainframe
Komputer Super
Tabel 1.1 Perbandingan Sistem Operasi Dan Kompabilitas Dengan
Perangkat Keras
MultiUser
Multiuser berarti sejumlah orang (pemakai) dapat menggunakan system
secara bersamaan dan berbagi sumber (disk, printer dan sebagainya).
Keuntungan dengan adanya sifat multiuser :
• Penghematan perangat keras
Perangkat keras (misalnya printer, disk) dapat dipakai oleh banyak
pemakai.
• Data dapat diakses oleh banyak pemakai secara serentak
Ini berarti tidak ada penduplikasian data, Selain itu konsistensi data
lebih terjamin.
Multitasking
Seorang pemakai dapat melakukan beberapa pekerjaan dalam waktu
yang bersamaan dari sebuah terminal. Pekerjaan-pekerjaan yang tidak
memerlukan interaksi dari pemakai (seperti melakukan pengurutan data
dan pengecekan kosa kata) bisa dilaksanakan di latar belakang.
Pemrosesan ini memungkinkan saat suatu pekerjaan sedang
dilaksanakan oleh system, pemakai dapat melakukan tugas-tugas yang
lain. Kemampuan system operasi ynag memungkinkan seseorang dapat
melaksanakan beberapa tugas pada saat bersamaan dinamakan
multitasking.
Sistem Berkas Yang Hierarkis
Sistem berkas yang hierarkis memungkinkan pemakai mengorganisasikan
informasi atau data dalam bentuk yang mudah untuk diingat dan mudah
untuk mengaksesnya. Informasi-informasi yang ada dapat diatur misalnya
dikelompokan per pemakai atau berdasarkan suatu departemen.
Utilitas
Sistem operasi tersusun atas sejumlah program, yang antara lain
beberapa utilitas. Utilitas-utilitas mempunyai tugas yang bermacammacam,
antara lain berhubungan dengan :
• Manajemen berkas
• Penyunting berkas
• Pendukung komunikasi
• Pendukung pengembangan perangkat lunak
Dengan mengombinasikan utilitas-utilitas yang ada, pemakai dapat
membuat program baru untuk melaksanakan tugas seperti yang
diharapkan. Hal ini dapat dilakukan dengan cepat dan mudah.
Shell UNIX / LINUX (Lain-Lain)
Shell UNIX (LINUX) menjadi jembatan antara pemakai dan system. Ia
bertindak sebagai penerjemah perintah yang sangat bermanfaat bagi
pemakai. Kemampuan shell mencakup dua hal :
• Modus interaktif dan
• Modus pemrograman.
Pada mode interakif, pemakai dapat memberikan perintah dan kemudian
shell akan mengerjakan perintah yang diberikan. Hal ini dapat diulangulang.
Sebab begitu shell telah selesai menjalankan peritah, shell akan
menunggu pemakai memberikan perintah kembali.
Pada modus pemrograman, pemakai dapat menyusun suatu program
yang berupa sejumlah perintah yang biasa disebut skrip shell.
Selanjutnya, shell akan mengerjakan perintah-perintah tersebut secara
berurutan. Hal seperti ini sangat bermanfaat untuk menangani pekerjaan
yang bersifat rutin. Pada modus ini pemakai dapat membuat suatu
prototype suatu kegiatan tanpa harus menggunakan bahasa
pemrograman seperti C.
Baik pada mode interaktif maupun pemrograman, pemakai dapat dengan
mudah mengarahkan keluaran-keluaran perintah yang normalnya ke layer
menjadi ke suatu berkas. Bahkan pemakai dapat juga mengatur agar hasil
suatu perintah menjadi masukan bagi perintah yang lain.
1.3 Beberapa Sistem Operasi
Sebagian besar sistem operasi berbasis UNIX tidak menggunakan
nama UNIX, seperti yang ditujukan pada tabel berikut, umumnya namanama
yang digunakan mengandung UX, IX, X atau U. Beberapa
diantaranya seperti PC/IX, XENIX, VENIX, Minix, dan Coherent diterapkan
pada PC.
Nama Organisasi / Vendor
AIX IBM
A/UX Apple (Macintosh)
BSD University of California
CLIX Fairchild
Coherent Mark William Company
Concentrix Alliant
CTIX Convergent Technology
DG/UX Appolo Computer
Digital Unix DEC
Distrix Convergent Technology
Domain/X Appolo Computer
Dynix Sequent
DVIX Northern Telecom
Eunice The Wollongong Group
Genix National Semiconductor
GNU Free Software Foundation
HP/UX Hawlett-Packard
IDRIS Whitesmiths
INIX Compugraphics
LINUX Berbagai Vendor
Mach Carnegi Mellon University
Minix Prof. Andre Tanenbaum
MPX Philips
MS-UX NEC
Mxelos Perkin-Elmer
NDIX Norsk Data
OSF/1 Open Software Foundation
Osx Pyramid
PSC/1X Interactive System Corporation
Primix Prime
Scenix Scientific Computer Systems
SCO UNIX SCO
SINIX Siemens
Solaris SUNSOFT
SunOS Sun Microsystems
System V/AT Microport
TOS Noxdorf
UCOS Honeywell-Bull
Ultrix DEC
UniCOS Cray Research
UNIX AT&T, SCO, Sun Microsystem
UnixWare Novell
UNOS Charles River Data System, Inc
Utek Textronix
UTS Amdah & Fujitsu
UTX/32 Gould
VENIX VenturCom, Inc
XENIX SCO / Microsoft
XINU Doug Corner
Tabel 1.2 Nama-nama Sistem Operasi UNIX dan semacam UNIX
Walaupun banyak sekali versi UNIX, sebenarnya saat ini terdapat tiga
versi yang menonjol, yaitu :
• System V Release 3,
• System V Release 4 (SVR4), dan
• BSD (Barkeley Software Distribution) UNIX.
Linux sebagai Sistem Operasi yang semacam UNIX diimplementasikan
dengan menggabungkan fitur-fitur yang dimiliki oleh ketigabversi tersebut
plus berbagai utilitas GNU. Itulah sebabnya, secara prinsip jika kita
mempelajari Linux pada dasarnya kita juga sedang mempelajari UNIX.
1.4 Manajemen Sistem Operasi
Manajemen Sistem Operasi pada UNIX berhubungan erat antara
perangkat lunak dan perangkat keras dilukiskan pada gambar berikut.
Gambar 1.2 Interaksi antara pemakai dan Sistem Operasi
Komponen-komponen penting dalam system operasi UNIX / LINUX
berupa :
• Kernel
• Shell
• Utilitas
• Aplikasi
Kernel
Kernel adalah inti dari system UNIX, yang mengontrol perangkat keras
dan membentuk berbagai fungsi beraras rendah. Fungsi-fungsi yang
dilaksanakan oleh kernel :
• Pelayanan tanggal dan jam system
• Manajemen berkas dan penanganan sekuriti
• Pelayanan operasi masukan dan keluaran
• Manajemen dan penjadwalan proses
• Manajemen memori
• Melakukan kegiatan akuntansi sistem
• Melakukan penanganan kesalahan dan interupsi
Shell
Utilitas
Aplikasi
Perintah
Gambar 1.3 Mekanisme pemanggilan sistem
Bagian-bagian lain dari UNIX, seperti aplikasi dan shell, memanggil kernel
untuk membentuk layanan kepadanya. Unix menyediakan antarmuka
antara bagian luar kernel dan kernel sendiri, berupa system call
(pemanggilan sistem). Setiap pemanggilan system menginstruksikan
kernel unuk membentuk layanan tertentu sesuai permintaan program yang
memanggilnya. Sebagai contoh kalau suatu program hendak membaca
data dari terminal, program perlu menyampaikan permintaan ke kernel.
Kernel akan melakukan tindakan yang sesuai dengan permintaan
program, kemudian menyampaikan hasilnya ke program. Gambar diatas
memberikan ilustrasi operasi pemanggilan system.
Shell
Shell adalah penerjemah pada system UNIX / LINUX. Perangkat lunak
inilah yang menjadi jembatan antara pemakai dan system UNIX / LINUX.
Pemakai cukup memberikan perintah dan shell yang akan menanganinya.
Perintah sendiri dapat berupa :
• Perintah built-in
Perintah yang merupakan bagian internal dari shell
• Perintah eksternal
Perintah yang bukan bagian internal dari shell (dapat berupa
utilitas atau program aplikasi)
Ada beberapa jenis shell yang beredar saat ini. Empat diantaranya yang
sangat menonjol adalah :
Program
Pemakai
Kernel
(Menyediakan layanan)
Permintaan
layanan
Hasil
layanan
• Bourne shell,
• C shell,
• Korn shell, dan
• Bourne Again shell.
Nama shell Nama program Pencipta
Bourne shell sh Stephen R. Bourne
C shell csh Bill Joy
Korn shell ksh David G. Korn
Bourne Again bash Brian Fox dan Chet Ramey
Tabel 1.3 Empat shell yang terkenal
Bourne shell adalah jenis shell yang tertua pada system UNIX. Nama shell
ini berdasarkan nama penciptanya Stephen R. Bourne, dari Laboratorium
Bell, AT&T. Shell ini diperkenalkan pertama kali pada akhir 70-an dan
dipakai sebagai shell utama pada UNIX yang berpatokan pada AT&T.
C shell diciptakan oleh Bill Joy. Shell ini menjadi standar pada sistem
UNIX versi Barkeley. Format perintah menyerupai bahasa C. Kini muncul
versi pengembangannya yang disebut tesh.
Korn shell adalah shell yang diciptakan oleh David Korn di Laboratorium
Bell, AT & T pada tahun 1983. Namun shell ini baru dipublikasikan pada
tahun 1986. Shell ini bersifat kompatible dengan Bourne shell, artinya
perintah-perintah yang didukung Bourne shell juga dapat dijalankan pada
Korn shell. Di lingkungan LINUX terdapat versi Korn shell yang disebut
Public Domain Korn Shell (pdksh).
Bourne Again shell (bash) populer di lingkungan Unix. Shell ini dibuat
dengan menyertakan fitur yang terdapat pada Korn Shell dan C Shell dan
tentu saja bersifat kompatible dengan Bourne shell.
Utilitas
Utilitas adalah program yang disediakan sistem UNIX / LINUX untuk
melaksanakan tugas tertentu. Jumlahnya sangat banyak dengan fungsi
yang beraneka ragam. Beberapa kelompok utilitas dilihat dari fungsinya :
• Utilitas manajemen berkas dan direktori
Utilitas kelompok ini sangat bemanfaat untuk melakukan tugas
yang berhubungan dengan berkas dan direktori, misalnya untuk
membuat direktori dan menghapus berkas.
• Utilitas penyunting berkas
Utilitas ini sering disebut editor, sangat bermanfaat untuk membuat
program atau menyimpan informasi tertentu ke dalam berkas.
• Utilitas penunjang komunikasi dan jaringan
Utilitas ini bermanfaat untuk melakukan komunikasi antar pemakai.
Bahkan pemakai dapat mentransfer data antar sistem.
• Utilitas administrasi sistem
Utilitas ini berguna bagi administrator sistem untuk mengelola
sistem. Misalnya untuk menciptakan nama pemakai baru dan
mendaftarkan printer pada sistem.
• Utilitas pemrograman C
Utilitas ini berguna untuk membuat program aplikasi dengan
bahasa C.
• Utilitas penganalisis unjuk kerja sistem
Utilitas ini dapat digunakan oleh administrator sistem untuk
menganalisis unjk kerja sistem, sehingga dapat melakukan
penyetelan guna meningkatkan unjuk kerja.
• Utilitas untuk keperluan backup dan restore
Utilitas ini bermanfaat untuk menyalin atau memindahkan data atau
program ke media ekternal seperti magnetic tape, atau sebaliknya.
Program Aplikasi
Aplikasi adalah program-program yang dibuat oleh pemakai, untuk
memenuhi kebutuhannya sendiri. Program-program ini dapat dibuat
dengan menggunakan sejumlah utilitas, perintah built-in milik shell, atau
dibangun dengan bahasa pemrograman seperti C, COBOL, atau Python
dan berbagai development tool seperti Oracle dan Informix. Bisa juga
berupa program paket yang dibeli dari pemasok perangkat lunak.
1.5 Test / Latihan 1
5.1 Pertanyaan
5.1.1 Unix adalah nama sebuah ...
5.1.2 Multiuser adalah istilah yang menunjukan …
5.1.3 Kemampuan sistem operasi yang memungkinkan seseorang dapat
melaksanakan beberapa tugas pada saat bersamaan dinamakan …
5.1.4 Komponen yang penting dalam perangkat lunak UNIX / LINUX …
5.1.5 Kernel adalah …
5.1.6 Sebutkan fungsi-fungsi yang dilaksanakan kernel …
5.1.7 Shell adalah …
5.1.8 Utilitas adalah …
5.1.9 Manfaat dari Utilitas manajemen berkas dan direktori …
5.1.10 OpenOffice termasuk dalam …
5.2 Jawaban
5.2.1 Sistem Operasi yang dikembangkan oleh Laboratorium Bell, AT & T.
5.2.2 Multiuser berarti sejumlah orang (pemakai) dapat menggunakan system
secara bersamaan dan berbagi sumber (disk, printer dan sebagainya).
5.2.3 MultiTasking.
5.2.4 Kernel, Shell, Utilitas, dan Aplikasi.
5.2.5 Kernel adalah inti dari system UNIX, yang mengontrol perangkat keras
dan membentuk berbagai fungsi beraras rendah.
5.2.6 Fungsi yang dilaksanakan kernel antara lain :
• Pelayanan tanggal dan jam system
• Manajemen berkas dan penanganan sekuriti
• Pelayanan operasi masukan dan keluaran
• Manajemen dan penjadwalan proses
• Manajemen memori
• Melakukan kegiatan akuntansi sistem
• Melakukan penanganan kesalahan dan interupsi
5.2.7 Shell adalah penerjemah pada system UNIX / LINUX yang menjadi
jembatan antara pemakai dan system UNIX / LINUX.
5.2.8 Utilitas adalah program yang disediakan sistem UNIX / LINUX untuk
melaksanakan tugas tertentu.
5.2.9 Utilitas manajemen berkas dan direktori bemanfaat untuk melakukan
tugas yang berhubungan dengan berkas dan direktori, misalnya untuk
membuat direktori dan menghapus berkas.
5.2.10 Program Aplikasi.
MEMAHAMI FORMAT
PERINTAH DAN PERINTAH
DASAR UNTUK
MENGOPERASIKAN
SISTEM OPERASI LINUX
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI FORMAT PERINTAH DAN
PERINTAH DASAR UNTUK
MENGOPERASIKAN SISTEM OPERASI
LINUX
EDISI I - 2007
2.1 PENDAHULUAN
2.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI FORMAT PERINTAH DAN
PERINTAH DASAR UNTUK
MENGOPERASIKAN SISTEM OPERASI
LINUX
SUB KOMPETENSI : Perintah Dasar Sistem Operasi LINUX
KRITERIA KERJA : -
LINGKUP BELAJAR : • Format Perintah
• Perintah Informasi User
• Perintah Dasar
• Latihan
2.2 Format Perintah
Format lengkap perintah dalam Sistem Operasi LINUX berbentuk :
nama_perintah [pilihan] [argumen...]
Keterangan :
• Kurung siku menyatakan bahwa yang ada di dalamnya bersifat
opsional. Bisa ada, bisa tidak ada.
• Tanda titik tiga kali (...) menyatakan bahwa komponen di depan
tanda ini bisa diulang beberapa kali.
• nama_perintah dapat berupa perintah built-in ataupun program
(utilitas, skrip shell dan aplikasi). Menyatakan perintah yang akan
dijalankan oleh shell.
• pilihan (opsi) untuk mengubah atau menambah default tindakan
dari perintah.
• argumen menyatakan obyek yang akan diproses oleh perintah.
Bagian ini umumnya berupa berkas. Tetapi bisa juga berisi data
yang akan diproses.
Sebagai contoh, suatu perintah mempunyai format sebagai berikut :
wc [-wc1] berkas ...
Artinya bentuk salah satu perintah berikut diperkenalkan :
wc -w file1
wc -w -file1 file2
wc file1 file2
wc -wc1 file1
Apabila anda mengetikkan suatu perintah apapun dan anda mengakhirinya
dengan menekan tombol <Enter>, baris yang anda ketik disebut
sebagai baris perintah (command line). Contoh beberapa baris perintah,
baik yang melibatkan pilihan, argumen ataupun tidak melibatkan pilihan,
argumen ataupun tidak melibatkan kedua komponen itu.
1. ls
2. ls -1
3. ls -1/etc/passwd
4. ls -1/etc/passwd/etc/group
Pada contoh pertama, tidak ada argumen maupun pilihan. Contoh kedua
melibatkan pilihan. Contoh ketiga melibatkan pilihan maupun argumen.
Contoh terakhir melibatkan pilihan dan dua buah argumen.
Gambar 2.1 Baris Perintah
Pada saat mengetikkan perintah, antar bagian didalam sebuah baris
perintah harus dipisahkan oleh satu atau beberapa karakter :
• spasi
• tab
Karakter-karakter tersebut bisa disebut spasi putih (whitespaces). Sebagai
contoh, untuk menuliskan perintah :
ls -1 /etc/passwd
penulisan-penulisan berikut akan memberikan hasil yang sama.
ls<spasi>-1<spasi>/etc/passwd
ls<spasi>-1<tab>/etc/passwd
ls<tab>-1<spasi>/etc/passwd
ls<tab>-1<tab>/etc/passwd
Setiap deretan karakter yang bukan berupa spasi putih disebut kata
(word). Jadi :
ls -1 <spasi>/etc/passwd
terdiri dari kata
Pilihan (Opsi)
Sebuah pilihan adalah bagian dari baris perintah, berupa sebuah kata
yang diawali dengan tanda minus (-), yang mengontrol tindakan dari suatu
perintah. Sebagai contoh ls adalah utilitas yang digunakan untuk
Argumen
ls -1 /etc/passwd
Baris
Pilihan
Nama perintah
menampilkan isi direktori. Perintah ls bisa tidak mengandung pilihan
maupun argumen. Hasilnya berupa nama-nama berkas pada direktori
kerja (Tindakan default-nya). Untuk mengubah tindakan default dari ls,
pilihan -1 (menampilkan informasi berkas, seperti ukuran berkas dan
pemilik berkas) dapat ditambahkan.
# ls
blank kosong passwd
#_
# ls -1
total 4
-rw-r--r-- 1 andi alpha 0 Jan 20 21:30 blank
-rw-r--r-- 1 andi alpha 0 Jan 20 21:30 kosong
-rw-r--r-- 1 andi alpha 1429 Jan 20 21:30 passwd
#_
Adakalanya pilihan yang perlu diberikan ke suatu perintah tidak hanya
sebuah. Sebagai contoh, pada ls terdapat pilihan -r yang akan menampilkan
daftar berkas dengan urutan nama secara terbalik (descending).
# ls -r
passwd kosong blank
#_
Apabila diinginkan untuk memadukan opsion -r dan -1, kita dapat
memberikan perintah sebagai berikut :
# ls -1 -r
total 4
-rw-r--r-- 1 andi alpha 0 Jan 20 21:30 passwd
-rw-r--r-- 1 andi alpha 0 Jan 20 21:30 kosong
-rw-r--r-- 1 andi alpha 1429 Jan 20 21:30 blank
#_
Selain menggunakan cara diatas, pilihan -1 dan -r dapat digabungkan
menjadi sebuah kata. Dengan demikian penulisan :
ls -1r
ls -r1
ekivalen dengan ls -1 -r. Urutan pilihan yang dikombinasikan seperti itu
dapat dibolak-balik.
Catatan : meskipun umumnya suatu pilihan diawali dengan karakter -, ada
beberapa perintah yang menggunkan karakter + untuk mengawali pilihan.
Contoh pada Korn shell dan Bourne Again shell :
Set +0vi
Pada contoh ini +0 berkedudukan sebagai pilihan.
Argumen
Argumen mempunyai istilah lain berupa parameter. Argumen adalah bagian
dari baris perintah yang digunakan untuk menyebutkan informasi – data,
berkas, dan sebagainya - yang akan dikenai tindakan oleh perintah.
Berbeda dengan pilihan, argumen tidak mempunyai tanda khusus yang
akan digunakan untuk mengawalinya.
Untuk melihat efek pemberian argumen, ls dapat digunakan. Sebagaimana
pada contoh didepan, ls -1 menampilkan informasi berkas-berkas (nama
beserta atributnya). Namun jika anda memberikan perintah seperti :
ls -1/etc/passwd
maka berkas yang diproses hanyalah /etc/passwd.
# -1 /etc/passwd
-rw-r--r-- 1 root root 1428 Jan 20 21:30 /etc/passwd
#_
2.3 Perintah Informasi User
Perintah untuk informasi user diantaranya adalah :
2.3.1 id
2.3.2 hostname
2.3.3 uname
2.3.4 w
2.3.5 who
2.3.6 who am i
2.3.7 chfn
2.3.8 finger
2.3.1 id
Perintah id digunakan untuk menampilkan nama pemakai beserta nomor
identitas dari pemakai serta grup dan nomor identitas grup. Contoh :
# id
2.3.2 hostname
Perintah hostname digunakan untuk setting atau menampilkan nama dari
host sistem yang sedang aktif saat ini atau yang sedang digunakan. Contoh
# hostname
2.3.3 uname
Perintah uname digunakan untuk menampilkan nama simpul dari sistem
LINUX. Contoh :
$ uname
2.3.4 w
Perintah ini digunakan untuk memeriksa siapa saja yang login kedalam
sistem anda, yang juga akan menampilkan informasi seperti yang
ditampilkan perintah uptime. Contoh :
# w
2.3.5 who
Perintah who digunakan untuk menampilkan pemakai yang sedang
menggunakan sistem.
$ who
andi tty1 Jan 20 21:30
root tty2 Jan 20 21.35
arif tty3 Jan 20 21.40
$_
Penjelasan :
• Nama-nama seperti andi, root dan arif adalah nama-nama pemakai.
Pada contoh diatas terdapat tiga pemakai yang sedang
menggunakan sistem.
• Informasi pada kolom kedua (tty1 ....tty3) menyatakan nama (port)
terminal dari masing-masing pemakai.
• Informasi setelah kode terminal menyatakan tanggal dan jam saat
pemakainmelakukan login.
2.3.6 whoami
Perintah whoami digunakan untuk mengetahui nama-nama pemakai yang
menggunakan terminal yang sedang anda hadapi. Contoh :
$ whoami
localhost.localdomain!andi tty1 Jan 20 21:30
$
Cohtoh diatas menunjukkan, nama pemakai andi login melalui terminal tty1
pada tanggal 20 Januari jam 21:30.
2.3.7 chfn
Perintah chfn digunakan untuk mengubah full name dari user, office
number, office extension, informasi nomor telpon user. Contoh :
# chfn
2.3.8 finger
Perintah finger digunakan untuk menampilkan informasi yang berkaitan
dengan user pada sebuah sistem atau komputer, termasuk komputer lain
yang terhubung pada sebuah jaringan. Contoh :
# finger
2.4 Perintah Dasar
Yang termasuk perintah dasar didalam sistemoperasi LINUX diantaranya
adalah :
2.4.1 date
2.4.2 cal
2.4.3 man
2.4.4 clear
2.4.5 apropos
2.4.6 whatis
2.4.7 ls
2.4.8 file
2.4.9 cat
2.4.10 more
2.4.11 pg
2.4.12 cp
2.4.13 mv
2.4.14 rm
2.4.15 grep
2.4.1 date
Perintah date digunakan untuk menampilkan tanggal dan jam sistem.
Contoh :
$ date
2.4.2 cal
Perintah cal tanpa argumen digunakan untuk memberikan hasil berupa
informasi bulan sekarang. Untuk mengetahui tanggal pada suatu bulan dan
tahun tertentu, anda harus memberikan argumen kode bulan (1 s/d 12) dan
tahun secara lengkap. Contoh :
$ cal 2 2002
March 2002
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
$ _
2.4.3 Man
Perintah man digunakan untuk menampilkan dokumentasi online dari suatu
perintah LINUX. Contoh :
$ man
2.4.4 Clear
Perintah ini digunakan untuk membersihkan layar. Contoh :
$ clear
2.4.5 Apropos
Perintah apropos digunakan untuk mencari perintah yang diberikan sesuai
dengan kata kunci kedalam database sistem dan menampilkan hasilnya
kedalam standard output. Contoh :
# apropos
2.4.6 Whatis
Perintah whatis digunakan untuk mencari file-file perintah pada database
sesuai dengan kata kunci yang diberikan dan menampilkan hasilnya
kedalam standard output. Contoh :
# whatis
2.4.7 Is
Perintah ls digunakan untuk menampilkan informasi dari berkas. Contoh
$ ls
2.4.8 file
Perintah file digunakan melakukan uji coba sesuai dengan spesifikasi file
dan kemudian melakukan klasifikasi terhadap file tersebut. Terdapat tiga
aturan yang ada pada file, diantaranya adalah uji coba terhadap file sistem,
uji coba pada magic number, dan yang terakhir adalah uji coba terhadap
bahasa. Uji coba yang berhasil diterapkan pada ketiga tipe tersebut akan
ditampilkan pertama kali. Contohnya :
# file
2.4.9 Cat
Perintah cat digunakan untuk menampilkan isi berkas. Contoh :
$ cat
2.4.10 More
Perintah more digunakan untuk menampilkan isi suatu berkas teks per
layar. Contoh :
$ more
2.4.11 pg
Perintah pg digunakan untuk menampilkan isi suatu berkas teks per layar.
Contoh :
$ pg
2.4.12 cp
Perintah cp digunakan untuk menyalin satu atau beberapa berkas. Contoh :
$ cp
2.4.13 mv
Perintah mv digunakan untuk merubah nama direktori. Contoh :
$ mv
2.4.14 rm
Perintah rm digunakan untuk menghapus berkas. Contoh :
$rm
2.4.15 grep
Perintah grep digunakan unuk mencari berkas-berkas yang mengandung
kata tertentu. Contoh :
$ grep
2.5 Latihan
2.5.1 Sebelum anda mngerjakan latihan dibawah ini, anda harus terlebih
dahulu masuk dalam root shell Linux. Sebagai contoh bila anda
memiliki CD KNOPPIX, anda dapat mengikuti step berikut :
• Klik KDE > KNOPPIX > Root Shell. Kemudian secara default
muncul baris perintah berikut :
root@tty1[KNOPPIX] #
(Catatan : anda dapat menjalankan dengan berbagai distro
Linux yang lainnya).
2.5.2 Kerjakan latihan berikut untuk menampilkan perintah :
• Perintah-perintah informasi user
• Perintah-perintah dasar
2.5.3 Buat kesimpulan dari latihan yang anda kerjakan.
MEMAHAMI KONSEP
PROSES INPUT OUTPUT
DAN PEMBELOKAN, PIPA
DAN FILTER
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI KONSEP PROSES INPUT
OUTPUT DAN PEMBELOKAN, PIPA DAN
FILTER
EDISI I - 2007
3.1 PENDAHULUAN
3.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI KONSEP PROSES INPUT
OUTPUT DAN PEMBELOKAN, PIPA DAN
FILTER
SUB KOMPETENSI : Operasi Input Output
KRITERIA KERJA : -
LINGKUP BELAJAR : • Pembelokan (redirection) : >, <, >>
• Pipa (pipeline) : |
• Filter : more, sort, grep, wc, cut, uniq
• Latihan
3.2 Pembelokan (Redirection)
Yang termasuk pembelokan (redirection), diantaranya
3.2.1 >
3.2.2 <
3.2.3 >>
3.2.1 >
Shell operator ini dikenal dengan sebutan standard output yang berguna
untuk mengirimkan keluaran dari sebuah program compile atau device
lainnya. Untuk menampilkan isi dari sebuah directori kedalam sebuah file
yang harus anda lakukan berikut ini :
# ls -l > isi_dir.txt
jika didalam directori kerja anda, sudah terdapat file isi_dir.txt, file tersebut
akan langsung ditimpa dengan file yang baru. Anda juga dapat
mengirimkan standard output tersebut langsung ke device seperti pada
contoh berikut ini.
# cat isi_dir.txt > /dev/lp0
Perintah ini akan mengirimkan isi dari file isi_dir.txt ke printer dan
mencetaknya.
3.2.2 <
Perintah ini merupakan kebalikan dari perintah diatas, shell operator ini
dikenal dengan nama standard input. Jika perintah ini diberikan, ia akan
mengendalikan isi dari sebuah program menjadi input atau masukan bagi
device lainnya. Sebagai contoh, anda dapat menggunakan operator ini
untuk menampilkan isi dari file data dan mengurutkannya dalam sebuah
file dan menyimpan hasilnya. Contohnya :
# sort < data > urut.txt
3.2.3 >>
Perintah ini tidak akan mengganti file untuk standard output dan standard
input akan tetapi keluaran dari program akan dimasukan pada akhir file
yang merupakan standard inputnya. Perintah ini sering digunakan,
misalnya untuk membuat file log, misalnya :
# cat file_baru.txt >> file_lama.txt
Isi dari file file_baru.txt tidak menggantikan file_lama.txt akan tetapi hanya
ditambahkan pada akhir dari baris file_baru.txt.
3.3 Pipa (Pipeline)
Pipa adalah fasilitas yang memungkinkan untuk mengalihkan keluaran
dari suatu perintah (standard output) menjadi masukan bagi perintah lain.
PROGRAM1 | PROGRAM2
Gambar 3.1 Pipa
Fasilitas ini dapat digunakan untuk menyederhanakan penggunaan simbol
pengalihan arah keluaran (>). Sebab, sebuah pipa mempunyai efek yang
sama dengan :
• meletakkan keluaran dari suatu perintah ke berkas sementara
• menggunakan berkas sementara sebagai berkas masukan bagi
perintah selanjutnya
• menghapus berkas sementara
sebagai contoh, untuk mengirim hasil dari perintah ls ke printer, perintah
tanpa menggunakan pipa adalah sebagai berikut :
ls -1> berkas.tmp
lp berkas.tmp
rm berkas.tmp
Mula-mula hasil dari perintah ls -1 perlu dikirim ke berkas berkas.tmp.
selanjutnya berkas tersebut dijadikan sebagai argumen dari perintah lp.
Pada kasus seperti ini diperlukan berkas yang bersifat sementara
misalnya berkas.tmp. berkas sementara ini akhirnya dihapus setelah tidak
diperlukan lagi.
Kalau menggunakan pipa, perintah yang diperlukan berupa :
ls –l | p
tampak, tidak ada berkas sementara yang diperlukan. Dalam hal ini,
simbol | (garis tegak) disebut simbol pipa. Spasi di depan dan di belakang
simbol pipa bersifat opsional. Jadi :
PROGRAM1 STANDARD PIPA
OUTPUT
STANDARD
INPUT
PROGRAM2
ls-1|lo
ls-1<Spasi>|<Spasilp
ls-1|<Spasi>lp
ls-1<Spasi>|lp
akan memberikan efek yang sama bentuk seperti :
ls-1 | lp
sering disebut baris pipa (pipeline), yaitu baris yang melibatkan simbol
pipa.
Sebuah baris pipa dapat melibatkan sejumla hsimbol |. Sebagai contoh :
who | cut –f1 –d””|sort|uniq|wc-1
Merupakan sebuah baris pipa yang melibatkan 4 buah simbol |. Pada
contoh ini :
• Keluaran who menjadi masukan bagi cut
• Keluaran cutmenjadi masukan bagi sort
• Keluaran sortmenjadi masukan bagi uniq, dan
• Keluaran uniqmenjadi masukan bagi wc.
Baris pipa di atas digunakan untuk memperleh jumlah pemakai pada
sistem. Jika ada dua atau pemakai dengan nama yang sama akan
dihitung sebagai satu. Tentang maksud masing-masing perintah akan
dibahas nanti.
Sebuah perintah yang sangat berguna pada pemakaian pipa adalah teefungsinya
menyerupai sambungan pipa berbentuk T. Perintah ini menyalin
masukan (standard input) ke standar output dan juga menyalin ke berkasberkas
yang menjadi argumennya.
3.4 Filter
Yang termasuk Filter diantaranya adalah :
3.4.1 More
3.4.2 Sort
3.4.3 Grep
3.4.4 Wc
3.4.5 Cut
3.4.6 Uniq
3.4.1 More
Perintah ini digunakan untuk melakukan filtering pada file yang terkompresi
dan menampilknan isinya. Contoh :
# more
3.4.2 Sort
Perintah ini digunakan untuk melakukan sorting dan menuliskan hasilnya
kedalam standard output. Contoh :
# sort.
3.4.3 Grep
Perintah grep digunakan untuk menampilkan string yang sesuai dengan
input yang berasal dari perintah lainnya. Contoh :
# grep
3.4.4 Wc
Perintah ini digunakan untuk menampilkan jumlah baris, word, byte, untuk
setiap spesifikasi file dan jumlah line keseluruhan. Contoh :
# wc
3.4.5 Cut
Perintah ini digunakan untuk menampilkan bagian dari teks dan menjadi
masukan pada standard output. Contoh :
# cut
3.4.6 Uniq
Perintah ini digunakan untuk menghapus file yang terduplikasi pada filefile
yang dalam keadaan tersortir. Contoh :
# uniq
3.5 Latihan
3.5.1 Kerjakan latihan-latihan diatas.
3.5.2 Buat kesimpulan dari latihan yang anda kerjakan.
MEMAHAMI ORGANISASI
FILE DAN DIREKTORY.
MENCIPTAKAN DAN
MEMANIPULASI DIREKTORY.
MEMAHAMI KONSEP LINK
DAN SYMBOLIC LINK
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI ORGANISASI FILE DAN
DIREKTORY.
MENCIPTAKAN DAN MEMANIPULASI
DIREKTORY.
MEMAHAMI KONSEP LINK DAN SYMBOLIC
LINK
EDISI I - 2007
4.1 PENDAHULUAN
4.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI ORGANISASI FILE DAN
DIREKTORY.
MENCIPTAKAN DAN MEMANIPULASI
DIREKTORY.
MEMAHAMI KONSEP LINK DAN SYMBOLIC
LINK
SUB KOMPETENSI : Operasi File Dan Struktur Directory
KRITERIA KERJA : -
LINGKUP BELAJAR : • Perintah directory : pwd, cd, mkdir, rmdir
• Manipulasi File : cp, mv, rm, file, find,
whice, locate, dan grep
• Symbolic Link (hard dan soft) : ln
• Latihan
4.2 Perintah Directory
Yang termasuk perintah directory, diantaranya
4.2.1 pwd
4.2.2 cd
4.2.3 mkdir
4.2.4 rmdir
4.2.1 pwd
Perintah ini digunakan untuk memberitahukan directory kerja anda saat
itu. Contoh :
# pwd
4.2.2 cd
Perintah ini merupakan digunakan untuk berpindah directory. Pada
dasarnya perintah ini memiliki, tiga cara untuk pindah kesuatu directory.
cd .. Pindah / keluar 1 directory diatasnya. Contoh :
# cd ..
cd ~
Masuk ke dalam homedirectori Anda masing-masing.
Jika anda login sebagai user andi, dengan
mengetikkan perintah ini, anda akan langsung
masuk ke dalam directory /home/andi.
# cd ~
cd nama_directory
Perintah kedalam directori sesuai dengan yang
nama directori yang anda berikan
# cd nama_directory
4.2.3 mkdir
Perintah ini digunakan untuk membuat directory baru. Contoh :
# mkdir
4.2.4 rmdir
Perintah ini digunakan untuk menghapus direktori kosong, jika didalam
direktori tersebut terdapat isi seperti file atau subdirektori, Anda tidak
dapat menghapus direktori tersebut. Contoh :
# rmdir
4.3 Manipulasi File
Yang termasuk manipulasi file, diantaranya
4.3.1 cp
4.3.2 mv
4.3.3 rm
4.3.4 file
4.3.5 find
4.3.6 which
4.3.7 locate
4.3.8 grep
4.3.1 cp
Perintah ini digunakan untuk melakukan perintah copy, Anda dapat
menggunakan perintah ini dengan sintaks seperti dibawah ini :
# cp file1 file2
4.3.2 mv
Perintah ini digunakan untuk memindahkan sebuah objek dari satu lokasi
ke lokasi lainnya. Jika argumen terakhir yang Anda berikan adalah sebuah
direktori, file akan dipindahkan ke direktori tersebut. Perintah ini juga
digunakan untuk melakukan rename.
# mv
4.3.3 rm
Perintah ini digunakan untuk menghapus file.Perintah rm jika diikuti oleh
option –r, Jika Anda mengetikan perintah –r * / sebagai seorang root,
Anda akan menghapus semua file yang ada pada partisi root.
# rm
4.3.4 file
Perintah ini digunakan untuk melakukan pengecekan terhadap sebuah
argumen dengan tiga kaegori, yaitu : filesistem, magic number, dan
bahasa. Untuk jelasnya seperti contoh berikut :
[root@localhost bin]# file /home/andi/isi.txt
/home/andi/isi.txt : ASCII English text
[root@localhost bin]#
4.3.5 Find
Perintah find digunakan untuk melakukan pencarian. Find dapat
digunakan untuk mencari file atau directory sesuai dengan parameter dan
argumen yang diberikan sebagai contoh :
[root@localhost bin]# find *.log /etc/rc.local-print
setup.log
/etc/rc.local
[root@localhost bin]#
4.3.6 Which
Perintah ini digunakan untuk mencari suatu perintah, sumber perintah,
dan juga manual page.
# which
4.3.7 Locate
Perintah ini digunakan untuk menampilkan lokasi dari file. Anda dapat
menggunakan program in dengan cepat karena dijalankan pada modus
text, dan juga ia hanya mencari file yang termasuk dalam sebuah lokasi
database pada locatedb yang berada pada directory /var/lib.
# locate
4.3.8 Grep
Perintah grep digunakan untuk menampilkan string yang sesuai dengan
input yang berasal dari perintah lainnya. Contoh :
# grep
4.4 Simbolic Link
Yang termasuk Simbolic link adalah : ln
4.1 Ln
Perintah ln merupakan program untuk membuat simbolic link atau
menduplikasikan file (hard link). Biasanya digunakan dengan perintah ln –
s. Contoh :
# ln -s
4.5 Latihan
4.5.1 Kerjakan latihan-latihan diatas.
4.5.2 Buat kesimpulan dari latihan yang anda kerjakan.
MEMAHAMI KONSEP
PROSES.
MEMAHAMI HUBUNGAN
PROSES PARENT DAN
CHILD.
MEMAHAMI SINYAL DAN
PENGIRIMAN SINYAL.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI KONSEP PROSES.
MEMAHAMI HUBUNGAN PROSES PARENT
DAN CHILD.
MEMAHAMI SINYAL DAN PENGIRIMAN
SINYAL.
EDISI I - 2007
5.1 PENDAHULUAN
5.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI KONSEP PROSES.
MEMAHAMI HUBUNGAN PROSES PARENT
DAN CHILD.
MEMAHAMI SINYAL DAN PENGIRIMAN
SINYAL.
SUB KOMPETENSI : Proses Dan Manajemen Proses
KRITERIA KERJA : -
LINGKUP BELAJAR : • Perintah untuk menampilkan status proses
: ps, pstree
• Variasi opsi pada perintah ps
• Perintah mengirim sinyal : kill
5.2 Perintah Untuk Menampilkan Status Proses
Yang termasuk perintah untuk menampilkan status proses, diantaranya
5.2.1 ps
5.2.2 pstree
5.2.1 ps
Utilitas ps berguna untuk menampilkan status dari proses yang sedang
berjalan pada sistem. Contoh :
# ps
PID TTY TIME CMD
8907 tty2 00:00:00 bash
9203 tty2 00:00:00 ps
#_
Arti dari informasi di atas :
• Kolom PID menyatakan nomor proses
• Kolom TTY menyatakan identitas terminal yang berkaitan dengan
proses
• Kolom TIME menyatakan waktu total CPU untuk menjalankan
proses (dalam satuan detik)
• Kolom COMMAND adalah nama proses yang sedang berjalan.
5.2.2 pstree
-
5.3 Variasi Opsi Pada Perintah PS
5.3.1 Menampilkan Informasi Yang Lengkap
Dengan menyertakan pilihan -f (dari kata “full listing”), informasi dari
setiap proses akan menjadi lebih lengkap.
# ps -f
UID PID PPID C STIME TTY TIME CMD
andi 8907 1094 0 21:30 tty2 00:00:00 ~bash
andi 9205 8907 0 21:45 tty2 00:00:00 ps -f
# _
Arti dari informasi di atas :
• Kolom PID menyatakan nomor proses
• Kolom TTY menyatakan identitas terminal yang berkaitan dengan
proses
• Kolom TIME menyatakan waktu total CPU untuk menjalankan
proses (dalam satuan detik)
• Kolom COMMAND adalah nama proses yang sedang berjalan.
• UID menyatakan nama pemakai yang menjalankan proses
• STIME menyatakan saat awal proses dimulai
• PPID menyatakan proses induk dari proses yang sedang berjalan.
5.3.2 Menampilkan Semua Proses
Dengan memberikan pilihan -e (dari kata “everything”), semua proses
yang sedang berjalan pada sistem akan ditampilkan.
# ps -e
PID TTY TIME CMD
1 ? 00:00:04 init
2 ? 00:00:00 keventd
3 ? 00:00:00 kamp-idled
4 ? 00:00:00 ksoftirqd_CPU0
5 ? 00:00:00 kswapd
6 ? 00:00:00 kreclaimd
7 ? 00:00:00 bdflush
8 ? 00:00:00 kupdated
9 ? 00:00:00 mdrecoveryd
13 ? 00:00:00 kjournald
88 ? 00:00:00 khubd
213 ? 00:00:00 kjournald
214 ? 00:00:00 kjournald
215 ? 00:00:00 kjournald
216 ? 00:00:00 kjournald
669 ? 00:00:00 syslogd
674 ? 00:00:00 klogd
694 ? 00:00:00 portmap
722 ? 00:00:00 rpc, statd
834 ? 00:00:00 apmd
890 ? 00:00:00 sshd
923 ? 00:00:00 xinetd
963 ? 00:00:00 sendmail
982 ttys0 00:00:00 gpm
1000 ? 00:00:00 crond
1050 ? 00:00:00 xfs
1086 ? 00:00:00 atd
1094 tty2 00:00:00 login
1095 tty3 00:00:00 login
1096 tty4 00:00:00 mingetty
1097 tty5 00:00:00 mingetty
1098 tty6 00:00:00 mingetty
8906 tty1 00:00:00 login
8907 tty2 00:00:00 bash
9072 tty1 00:00:00 bash
9112 tty3 00:00:00 bash
9207 tty2 00:00:00 ps
#_
Semakin banyak pemakai yang sedang menggunakan sistem, maka akan
bertambah banyak proses yang akan ditampilkan. Tanda ? menyatakan
bahwa proses tersebut adalah proses daemon (proses yang hidup terus
selama sistem hidup dan berjalan di latar belakang).
5.3.3 Tanpa Menyertakan Pemimpin Grup Proses
Sejumlah proses yang ditampilkan melalui ps -e berkedudukan sebagai
pemimpin grup proses (proses group leader), yaitu proses yang
menjalankan proses yang lain. Sebagai contoh, jika anda memberikan
perintah :
ps -f
maka hasil yang diperoleh :
# ps -f
UID PID PPID C STIME TTY TIME CMD
andi 8907 1094 0 21:30 tty2 00:00:00 ~bash
andi 9205 8907 0 21:45 tty2 00:00:00 ps -f
# _
proses sh sebenarnya adalah pemimpin grup proses. Tampak bahwa PID
dari sh tercantum pada PPID dari proses ps -f.
Untuk memperoleh proses selain pemimpin grup proses, Anda dapat
memberikan pilihan -d.
Contoh :
# ps -d
PID TTY TIME CMD
1 ? 00:00:04 init
2 ? 00:00:00 keventd
3 ? 00:00:00 kamp-idled
4 ? 00:00:00 ksoftirqd_CPU0
5 ? 00:00:00 kswapd
6 ? 00:00:00 kreclaimd
7 ? 00:00:00 bdflush
8 ? 00:00:00 kupdated
9 ? 00:00:00 mdrecoveryd
13 ? 00:00:00 kjournald
88 ? 00:00:00 khubd
213 ? 00:00:00 kjournald
214 ? 00:00:00 kjournald
215 ? 00:00:00 kjournald
216 ? 00:00:00 kjournald
1050 ? 00:00:00 xfs
8907 tty2 00:00:00 bash
9072 tty1 00:00:00 bash
9112 tty3 00:00:00 bash
9210 tty2 00:00:00 ps
#_
Proses-proses di ataslah yang sebenarnya dalam keadaan aktif.
5.3.4 Menampilkan Proses yang Terkait dengan Seorang Pemakai
ps juga menyediakan pilihan yang digunakan untuk melihat proses-proses
yang terkait dengan seorang pemakai. Pilihan yang diperlukan adalah -u.
Contohnya :
# ps -u andi
PID TTY TIME CMD
9072 tty1 00:00:00 bash
9212 tty1 00:00:00 vi
# _
5.3.5 Menampilkan Proses yang Terkait dengan Seorang Pemakai
Dengan memberikan pilihan -t, proses yang terkait dengan suatu terminal
akan ditampilkan. Contoh :
# ps -t tty05
PID TTY TIME CMD
8906 tty1 00:00:00 login
9072 tty1 00:00:00 bash
9212 tty1 00:00:00 vi
# _
5.4 Perintah Mengirim Sinyal
Yang termasuk perintah mengirim sinyal : kill
5.4.1 Kill
Karakter kill bermanfaat untuk membatalkan semua karakter yang telah
diketikkan. Tombol yang biasa digunakan untuk menghasilkan karakter kill
adalah sebagai berikut :
Kode Spesial Tombol
@
Kill Ctrl+X
Ctrl+U
Tombol yang digunakan karakter kill bergantung oleh sistem yang anda
miliki. Untuk mengetahuinya anda dapat memanfaatkan perintah stty
dengan pilihan -a, seperti halnya pada <erase>.
# stty -a
ed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill ^U; <dan seterusnya>
# _
Pada contoh diatas, tombol yang digunakan untuk membangkitkan kode
kill adalah <Ctrl+U>.
# datte <kill>
_
# _
Contoh diatas, perintah datte diabaikan, shell menunggu perintah
selanjutnya.
MELAKUKAN
PENGONTROLAN PROSES
PADA SHELL.
MEMAHAMI PENJADWALAN
PRIORITAS
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MELAKUKAN PENGONTROLAN PROSES
PADA SHELL.
MEMAHAMI PENJADWALAN PRIORITAS
EDISI I - 2007
6.1 PENDAHULUAN
6.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MELAKUKAN PENGONTROLAN PROSES
PADA SHELL.
MEMAHAMI PENJADWALAN PRIORITAS
SUB KOMPETENSI : Proses Dan Manajemen Proses
KRITERIA KERJA : -
LINGKUP BELAJAR : • Proses background dan foreground.
• Perintah penjadwalan prioritas : top, nice,
renice.
• Latihan.
6.2 Proses Background Dan Foreground
6.3 Perintah Penjadwalan Prioritas
Yang termasuk perintah penjadwalan proses, diantaranya :
6.3.1 top
6.3.2 nice
6.3.3 renice
6.3.1 top
Perintah ini digunakan untuk menampilkan proses pada CPU. Perintah ini
bisa digunakan untuk menampilkan proses dan penggunaan resource
yang paling aktif. Contohnya :
# top
6.3.2 nice
Perintah ini digunakan untuk melakukan modifikasi terhadap program
yang akan mendapatkan prioritas penjadwalan proses. Contoh :
# nice
6.3.3 renice
Perintah ini digunakan untuk memberikan prioritas pada proses yang
sedang berjalan. Contonya :
# renice
6.4 Latihan
MEMAHAMI SHELL.
MENGGUNAKAN DAN
MENGUBAH FEATURE
HISTORY PADA BASH SHELL.
MEMBUAT DAN
MENGEKSEKUSI SHELL
SCRIPT.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI SHELL.
MENGGUNAKAN DAN MENGUBAH FEATURE
HISTORY PADA BASH SHELL.
MEMBUAT DAN MENGEKSEKUSI SHELL
SCRIPT.
EDISI I - 2007
7.1 PENDAHULUAN
7.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI SHELL.
MENGGUNAKAN DAN MENGUBAH
FEATURE HISTORY PADA BASH SHELL.
MEMBUAT DAN MENGEKSEKUSI SHELL
SCRIPT.
SUB KOMPETENSI : Bekerja Dengan Bash Shell
KRITERIA KERJA : -
LINGKUP BELAJAR : • Pengenalan File . bashrc.
• Perintah history.
• Menggunakan editory vi
• Membuat shell skrip sederhana
• Latihan.
7.2 Pengenalan File .Bashrc
7.3 Perintah History
7.4 Menggunakan Editory vi
vi adalah editor standard yang sering digunakan pada sistem operasi
Linux yang dikembangkan oleh Bill Joy di Universitas California, Barkeley.
Teks editor vi merupakan nama lain dari sebuah editor yang dikenal
sebagai vim (VI iMproved).
Editor vi merupakan editor layar. Artinya, teks yang disunting ditampilkan
dalam sebuah layar dan pemakai dengan leluasa dapat mengarahkan
kursor pada bagian layar yang hendak diperbaiki.
Penyuntingan teks pada vi dilaksanakan pada area yang disebut
“penampung kerja”. Segala perubahan pada penampang kerja tidak
mempengaruhi isi berkas pada disk, sampai terdapat perintah untuk
menyimpan isi penampung kerja ke berkas. Seandainya pemakai
bermaksud keluar dari penampung kerja tanpa melakukan perintah untuk
menyimpan ke berkas, isi penampung kerja tidak bisa didapatkan lagi.
Gambar 7.1 Penampang Kerja vi
7.4.1 Memulai vi
Apabila anda bermaksud menciptakan berkas, prosedur yang perlu
dilakukan adalah sebagai berikut :
1. Tentukan nama berkas yang hendak dibuat.
2. Berikan perintah :
PENAMPUNG
KERJA
DIBACA
DISIMPAN
vi nama_berkas
contoh :
vi teks1
Pada layar akan segera tertampil seperti terlihat pada gambar 7.2.
Tampak adanya kursor yang berkedip dibagian kiri atas. Kemudian
terdapat sejumlah baris yang diawali dengan tanda ~ (tilde). Tanda ini
menyatakan bahwa baris-baris tersebut belum pernah disentuh oleh
pemakai. Di bagian bawah tercantum :
“teks1” [New berkas]
yang menyatakan bahwa berkas tersebut adalah berkas baru.
Munculnya kursor seperti terlihat pada gambar 7.2 menunjukkan bahwa
editor siap menerima instruksi dari pemakai.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
“teks1” [New berkas}
Gambar 7.2 Tampilan vi untuk berkas baru.
7.4.2 Keluar Dari vi
Untuk keluar dari vi, ada beberapa cara yang dapat ditempuh. Semua
perintah yang diberikann harus dilakukan dari modus perintah.
Perintah Keterangan
:q<Enter>
Keluar dari vi. Hanya dapat dilakukan jika Anda
tidak pernah melakukan perubahan pada
penampung kerja.
ZZ Menyimpan ke berkas dan keluar dari vi
:wq<Enter> Sama dengan ZZ
:x<Enter> Sama dengan ZZ
:q!<Enter>
Memaksa keluar dari vi tanpa perlu menyimpan
perubahan-perubahan pada penampung kerja ke
berkas.
7.5 Menggunakan Shell Skrip Sederhana
7.6 Latihan
MEMPELAJARI DASARDASAR
SHELL SCRIPT DAN
MEMBUAT SHELL SCRIPT
UNTUK PEMECAHAN
PERMASALAHAN DAN
MENJALANKANNYA
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMPELAJARI DASAR-DASAR SHELL SCRIPT
DAN MEMBUAT SHELL SCRIPT UNTUK
PEMECAHAN PERMASALAHAN DAN
MENJALANKANNYA
EDISI I - 2007
8.1 PENDAHULUAN
8.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMPELAJARI DASAR-DASAR SHELL
SCRIPT DAN MEMBUAT SHELL SCRIPT
UNTUK PEMECAHAN PERMASALAHAN
DAN MENJALANKANNYA
SUB KOMPETENSI : Pemrograman Shell
KRITERIA KERJA : -
LINGKUP BELAJAR : • Elemen dasar shell script.
• Menggunakan parameter.
• Menggunakan instruksi test untuk tes
kondisi dan operator logika yang terkait.
• Menggunakan variabel built in
• Membuat aplikasi dengan konstruksi ifthen
else.
8.2 Elemen Dasar Shell Script
8.3 Menggunakan Parameter
Banyak sekali perintah UNIX yang melibtkan argumen (parameter)
misalnya untuk menciptakan berkas bernama a, b dan c. Anda perlu
menuliskan perintah berupa :
Touch a b c
Dalam hal ini, a, b dan c masing-masing disebut sebagai argumen baris
perintah. Argumen-argumen seperti ini dapat dikenalii pada skrip shell dan
biasa disebut sebagai parameter posisi.
Bourne shell, bourne
Again shell, dan Korn
Shell
C shell Keterangan
## ##argv Jumlah parameter
#0
#0
#argv[0]
Nama skrip shell
#1
#1
#argv[1]
Parameter pertama
#2
#2
#argv[2]
Parameter kedua
...
#{10}
#{10}
#argv[10]
Parameter kesepuluh
#* #argv[*] Semua parameter
Tabel 8.1 parameter yang berhubungan dengan parameter posisi
Contoh skrip pada Bourne / Bourne Again / Korn shell :
# cat parameter.sh
:
# ---------------------------------------------------------
# parameter.sh
#
# Contoh pemrosesan parameter
# pada Bourne / Bourne Again / Korn Shel1
# ---------------------------------------------------------
echo “Jumlah parameter = ##”
echo “Semua parameter = #*”
echo ‘Isi# 0 : ‘ # 0
echo ‘Isi# 1 : ‘ # 1
echo ‘Isi# 2 : ‘ # 2
Hasil eksekusi :
# parameter.sh selamat belajar mas
Jumlah parameter = 3
Semua parameter = selamat belajar mas
Isi #0 : ./parameter.sh
Isi #1 : selamat
Isi #2 : belajar
#_
Contoh skrip pada C shell :
# cat parameter.chs
# ---------------------------------------------------------
# parameter.csh
#
# Contoh pemrosesan parameter
# pada C shell
# ---------------------------------------------------------
echo “Jumlah parameter = ##argv”
echo “Semua parameter = #*”
echo ‘Isi# 0 : ‘ # 0
echo ‘Isi# 1 : ‘ # 1
echo ‘Isi# 2 : ‘ # 2
#_
Hasil eksekusi :
% parameter.csh apa kabar, mas?
Jumlah parameter = 3
Semua parameter = apa kabar, mas
Isi #0 : parameter.csh
Isi #1 : apa
Isi #2 : kabar
#_
Shell menyediakan perintah bernama shift yang erat kaitannya dengan
pemrosesan parameter. Jika shift dieksekusi (tanpa parameter), maka
parameter terkiri akan disingkirkan. Jika shift diikuti dengan suatu angka,
maka parameter-parameter paling kiri sebanyak angka terseut akan
dibuang. Sebagai contoh ditunjukkan pada skrip berikut :
# cat geser.sh
# ---------------------------------------------------------
# geser.sh
#
# Contoh untuk memperlihatkan efek shift
# ---------------------------------------------------------
echo “Parameter sekarang : #*”
shift
echo “Parameter sekarang : #*”
shift
echo “Parameter sekarang : #*”
contoh eksekusi :
# geser mawar melati anggrek semuanya indah
Parameter sekarang : mawar melati anggrek semuanya indah
Parameter sekarang : melati anggrek semuanya indah
Parameter sekarang : anggrek semuanya indah
#_
8.4 Menggunakan Instruksi Test Untuk Test Kondisi Dan
Operator Logika yang terkait
8.5 Mengenal Variabel Built In
Variabel adalah suatu nama yang dapat digunakan untuk menampung
suatu nilai dan nilai yang ada padanya daapt diubah. Contoh variabel
yang sering Anda jumpai dalam buku ini adalah HOME (yaitu yang berisi
nama direktori login atau home directory). Contoh yang lain adalah PATH
atau path, yang diperkenalkan di awal bab ini.
Variabel seperti HOME dan PATH adalah variabel bawaan sheel. Selain
variabel bawaan seperti itu, pemakai bisa menciptakan sendiri suatu
variabel. Kegunaannya misalya untuk menampung secara sementara
hasil suatu operasi aritmetika. Contoh yang lain yaitu untuk meletakkan
data yang berasal dari keyboard
Cara Menamakan Variabel
Nama suatu variabel bisa mengandung :
• huruf,
• angka, atau
• garis-bawah
Namun, nama variabel harus diawali dengan h huruf atau garis bawah.
Adapun huruf kecil dan kapital dianggap berbeda
Beberapa contoh nama variabel buatan :
• nama
• kuartal_1
• a
Cara memberikan nilai ke variabel
Pemberian nilai ke suatu variabel dapat dilakukan melalui penugasan.
Caranya adalah seperti berikut :
(a) Pada Bourne shell, Bourne Again Shell, dan Korn Shell
Variabel – nilai
Apabila nilai mengandung karakter khusus seperti tab atau spasi, nilai
harus ditulis dalam tanda petik.
Contoh.
Nama=”Andi Setiawan”
Memberikan string “Andi Setiawan” ke variabel nama. Perlu dikethaui,
tepat sebelum dan sesudah tanda sama dengan (=) tidak bole ada spasi.
(b) Pada shell
Perintah serupa pada Bourne / Bourne Again / Korn shell di atas pada C
shell berupa :
Set nama =” Andi Setiawan”
Pemberian nilai ke variabel pada C shell diawali dengan kata set.
Sebelum dan sesudah tanda sama dengan (i) harus mengandung minimal
sebuah spasi (tetapi ada juga sistem yang boleh tidak menyertakan spasi
pada posisi tersebut).
Khusus untuk variabel yang menampung nilai numerik, bentuk
penugasannya berupa :
@ variabel = nilai_numeris
Perlu diketahui, antara @ dan nama variabel perlu dipisahkan oleh
minimal sebuah spasi.
Hasil suatu perintah dapat diletakkan ke variabel, dengan meletakkan
perintah di dalam tanda backquote, contoh :
Info=’date’ # pada Bourne/Buorne Again/Korn shell
Set info ‘date # pada C shell
Dengan cara seperti itu, hasil dari date akan ditaruh ke variabel info.
Cara Memperoleh isi Variabel
Untuk memperoleh isi suatu variabel, variabel perlu dawali dengan tanda
#.
Contoh 1 :
Echo #PATH
Digunakan untuk menampilkan isi variabel PATH
Contoh 2 :
a=#b
Merupakan contoh untuk memberikan nilai variabel b ke variabel a pada
Bourne, Bourne Again dan Korn shell.
Catatan :
Khusus pada C shell, jika suatu variabel yang diacu ternyata belum ada,
pesan semacam berikut akan ditampilkan.
% set a = #b
B : undefined variable.
%_
8.6 Membuat Aplikasi Dengan Konstruksi If-Then-Else
Normalnya pengeksekusian perintah di dalam skrip adalah secara
sekuensial. Dalam prakteknya, seringkali suatu skrip mengandung
perintah pencabangan dengan kondisi yang menentukan cabang yang
akan dijalankan. Hal ini memungkinkan suatu perintah atau beberapa
perintah hanya dieksekusi kalau suatu kondisi terpenuhi (bernilai benar).
Perintah yang mendukung hal seperti ini adalah if dan case (Bourne /
Bourne Again/Korn shell) atau if dan swicthc (C shell).
Sebelum membicarakan perintah-peritnah ini ada baiknya untuk
mengetahui nilai keluar dan juga perintah test, yang menentukan nilai
kondisi.
Nilai Keluar (exit Code)
Nilai keluar adalah sutu nilai yang diberikan oleh suatu perintah setelah
selesai dikerjakan. Nilai ini bermanfaat untuk memberikan isyarat tentang
keberhasilan tuas yang diemban oleh suatu perintah. Nilai keluar berkisar
antara 0 sampai 255.
Nilai keluar suatu perintah dapat diketahui dengan memeriksa isi variabel :
• ? pada Bourne/Bourne Again/Korn shell
• status pada C shell
sebagai contoh :
# grep AMIR tgllahir.dat
# echo #?
1
#_
Nilai 1 di atas menyatakan nilai keluar perintah grep. Karena hasilnya
tidak berupa nol berarti ada sesuatu kegagalan pada grep. Dalam hal ini
menyatakan bahwa AMIR tidak ada pada berkas tgllahir.dat
Perintah test
Perintah test adalah perintah built-in pada Bourne shell dan juga Bourne
Again shell yang berguna untuk menguji suatu kondisi.
Perintah : Test
Kategori : built-in shell
Fungsi : menguji suatu kondisi string, angka atau berkas
Format :
Test ungkapan
Kriteria Hasil BENAR jika
String tidak kosong
-n string panjang string > 0
-z string panjang string = 0
String 1 = string2 sama
String1 ! = string2 tidak sama
Ungakpan bilangan bulat
(bentuk intl operator int1)
Kriteria Hasil BENAR jika
-gt intl lebih besar daripada int2
-ge intl lebih besar daripada atau
sama dengan int2
-eq intl sama dengan int2
-ne intl tidak sama dengan int2
-le intl kurang dari atau sama
dengan int2
-lt intl kurang dari int2
Ungkapan nama berkas :
Kriteria Hasil BENAR jika
-r nama file ada danmempunyai akses
READ
-w namafile ada dan mempunyai akses
WRITE
-f namafile ada dan bukan direktori
-d namafile ada dan direktori
-s namafile ada dan berukuran > 0 byte
Operator untuk mengombinasikan ungkapan-ungkapan di atas :
! bukan (not)
-adan
-o atau
(ungkapan) pengelompokkan
Hasil : Benar (0) atau salah (tidask nol). Hasil dapat
diperiksa
dengan #?
Contoh :
# test2 –gt b
# echo #?
0 􀀥 menyatakan bahwa 2 memang lebih besar daripada 1
#_
# test2 –lt 1
# echo #?
1 􀀥 menyatakan bahwa 2 memang lebih besar daripada 1
#_
# tes –f adakah
# echo #?
1 􀀥 menyatakan bahwa berkas adakah tidak ada atau bukan berkas
biasa
#_
# tes –s adakah
# tes –f adakah
# echo #?
1 􀀥 menyatakan bahwa berkas adakah berukuran tidak lebih dari 0
Byte
# test”YOGYA” = “yogya”
# echo #?
1 􀀥 menyatakan bahwa kedua string tidak sama
#_
Perintah if pada Bourne / Bourne Again / Korn Shell
Bentuk sederhana perintah if adalah sebagai berikut :
if perintah_kondisi
then
perintah
fi
Pada bentuk ini, perintah akan dieksekusi hanya kalau perintah_kondisi
bernilai benar.
Contoh skrip yang menggunakan if.
# cat cekpar.sh
# ---------------------------------------------------------
# cekpar.sh
#
# Contoh penggunaan if untuk memeriksa
# jumlah parameter posisi
# Kalau parameter posisi tidak sama dengan 2
# akan muncul pesan kesalahan
# ---------------------------------------------------------
if test ## - ne 2
then
echo “penggunaan: cekpar.sh parameter1 parameter2”
exit
fi
echo “parameter pertama : #1”
echo “parameter kedua : #2”
Pada contoh di atas, jika jumlah parameter posisi tidak sama dengan dua
(diuji melalui test ## -ne2) maka epsan
Penggunaan : cekpar.sh parameter1 parameter2
Ditampilkan dan dieksekusi dihentikan (melalui perintah exit)
Kalau parameter posisi ada dua buah, kedua perintah tersebut tida
kpernah dijalankan.
Contoh eksekusi :
#cekpar.sh
Penggunaan : cekpar.sh parameter1 parameter2
#_
#cekpar.sh ab
Parameter pertama : a
Parameter kedua : b
#_
Bentuk kedua perinta if berupa :
If perintah_kondisi
Then
perintah_1
else
perintah_2
fi
pada bentuk ini :
• perintah_1 dijalankan kalau perintah_kondisi bernilai
benar, dan
• perintah_2 dijalankan kalau perintah_kondisi bernilai
salah.
Contoh skrip yang menggunakan if-else :
# cat voucher.sh
# ---------------------------------------------------------
# voucher.sh
#
# Contoh menentukan pemberian voucher
# voucher diberikan kalau nilai pembelian di atas
# atau sama dengan Rp. 100.000
# ---------------------------------------------------------
echo “Total pembelian:”
read total
if test #toal –lt 100000
then
echo “Tidak dapat voucher”
else
echo “Dapat voucher”
fi
#_
Contoh eksekusi :
# voucher.sh
Total pembelian :
100000<enter>
Dapat voucher
#_
# voucher.sh
Total pembelian :
100000<enter>
Tidak dapat voucher
#_
Bentuk ketiga perintah if
If perintah_kondisi_1
then
perintah_1
elit perintah_kondisi_2
then
perintah_2
elif...
....
Elit perintah_kondisi_m
then
Perintah_m
Bentuk ketiga ini bermanfaat untuk menangani suatu persoalan yang
ditentukan oleh bermacam-macam kondisi. Sebagai contoh adalah
penentuan bonus berdasarkan total suatu pembelian. Misalnya kriteria
yang digunakan adalah sebagai berikut :
Kriteria Bonu
Total > 1.000.000 Kipas angin kotak
500.000 < total < 1.000.000 Radio mini
100.000 < total < 500.000 Setrika listrik
50.000 < total < 100.000 Voucher Rp. 5.000,-
Implementasinya :
# cat voucher.sh
# ---------------------------------------------------------
# bonus.sh
#
# Contoh menentukan bonus
# berdasarkan total pembelian
# ---------------------------------------------------------
echo “Total pembelian : “
read total
if test #total –lt 50000
then
echo “Bonus: Tak ada”
elif test #total –lt 100000
then
echo “Bonus: voucher Rp. 5.000,-“
elif test #total –lt 50000
then
echo “Bonus: setrika listrik”
elif test #total –lt 100000
then
echo “Bonus: Radio mini”
else
echo “Bonus: Kipas angin kotak”
fi
#_
Perintah if pada C shell
Bentuk if paling sederhana pada C shell :
If (ungkapan) perintah
Pada bentuk ini antara if dan perintah harus terletak dalam satu aris.
Ungkapan yang digunakan sebagai kondisi harus diletakkan di dalam
tanda kurung. Hal ini berlaku untuk semua bentuk if. Dalam hal ini
perintah hanya akan dikesekusi kalau ungkapan bernilai benar. Untuk
pembandingan nilai numerik, operator-operator relasional seperti ==, =, >,
<, <=, serta >= dapat digunakan. Jika opeator ! diletakkan di depan
operator relasiona, maka operator dinegasikan. Misalnya!< berarti tidak
kurang dari.
Untuk pembandingan string, opertor != dan == bisa dipakai. Khusus untuk
operasi berkas, ungkapan yang digunakan dapat dilihat pada tebel 23.2.
Ungkapan BENAR jika
-e nama_berkas Ada
-r nama_berkas Ada dan memiliki permisi READ
-w nama_berkas Ada dan memiliki permisi WRITE
-f nama_berkas Ada dan berupa berkas biasa
-d nama_berkas Ada dan berupa direktori
Tabel 8.1 ungkapan kondisi yang berhubungan dengan berkas
Apabila perintah terdiri atas beberapa buah, bentuk berikut yang
digunakan :
if (ungkapan) then
perintah_perintah
endif
contoh skrip shell :
% cat cekpar.csh
# ---------------------------------------------------------
# cekpar.csh
#
# Contoh Penggunaan if untuk memeriksa
# Jumlah parameter posisi
# Kalau parameter posisi tidak sama dengan 2
# akan muncul pesan kesalahan
# ---------------------------------------------------------
If (##argv !=2) then
Echo “penggunaan: cekpar.chs parameter1 parameter2”
Exit
Endif
Echo “parameter pertama : #1”
Echo “parameter kedua : #2
%_
Contoh di atas mempunyai fungsi serupa dengan skrip cekpar.sh.
Bentuk kedua perintah if:
If (ungkapan) then
Perintah_1
else
perintah_2
endif
Pada bentuk ini, perintah_1 dieksekusi hanya kalau ungkapan bernilai
benar. Kalau ungkapan bernilai salah, perintah_2-lah yang dijalankan.
Pemakaian bentuk if di atas digunakan pada contoh berikut :
% cat voucher.chs
# ---------------------------------------------------------
# voucher.csh
#
# Contoh menentukan pemberian voucher.
# voucher diberikan kalau nilai pembelian di atas
# atau sama dengan Rp. 100.000
# ---------------------------------------------------------
If (##argv ! = 1) then
echo “Penggunaan : voucher.csh total_pembelian”
exit
endif
set total =#1
if (#total <100000) then
echo “Tidak dapta voucher”
else
echo “Dapat voucher”
endiff
%_
Berbeda pada contoh voucher.sh, pada skrip shell ini, data total
pembelian harus dimasukkan sebagai argumen (ini sengaja dibuat karena
tidak semua C shell menyediakan perintah untuk membaca data dari
keyboard).
Contoh eksekusi :
% voucher.csh
Tidak dapat voucher
%_
Bentuk if bertingkat pada C shell adala seperti berikut :
if (unkapan) then
perintah
else if (ungkapan) then
perintah
else if (ungkapan) then
...
Else
Perintah
Endif
Contoh penerapannya dapat dilihat pada skrip shell berikut :
% cat bonus.csh
# ---------------------------------------------------------
# bonus.sh
#
# Contoh menentukan bonus
# berdasarkan total pembelian
# ---------------------------------------------------------
If ( ##argv ! =1_ then
echo “Penggunaan : bonus.csh total_pembelian”
exit
endif
set total =#1
if ( #total < 50000 ) then
echo “Bonus: Tak ada”
if ( #total < 100000 ) then
echo “Bonus < voucher Rp. 5.000,-“
if ( #total < 500000 ) then
echo “Bonus: Setrika listrik”
if ( #total < 1000000 ) then
echo “Bonus: Radio mini”
else
echo “Bonus: Kipas angin kotak”
endif
%_
Pada skrip ini, data yang menjadi penentu jenis bonus harus dimasukkan
sebagai parameter pada saat pamanggilan skrip ini. Contoh eksekusi :
% bonus 70000
Bonus : voucher Rp. 5.000,-
%_
MEMPELAJARI DASARDASAR
SHELL SCRIPT DAN
MEMBUAT SHELL SCRIPT
UNTUK PEMECAHAN
PERMASALAHAN DAN
MENJALANKANNYA
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMPELAJARI DASAR-DASAR SHELL SCRIPT
DAN MEMBUAT SHELL SCRIPT UNTUK
PEMECAHAN PERMASALAHAN DAN
MENJALANKANNYA
EDISI I - 2007
9.1 PENDAHULUAN
9.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMPELAJARI DASAR-DASAR SHELL
SCRIPT DAN MEMBUAT SHELL SCRIPT
UNTUK PEMECAHAN PERMASALAHAN
DAN MENJALANKANNYA
SUB KOMPETENSI : Pemrograman Shell
KRITERIA KERJA : -
LINGKUP BELAJAR : • Menggunakan struktur case-esac.
• Looping dengan while, for dan do while.
• Membuat fungsi.
• Latihan.
9.2 Menggunakan Struktur Case-Esac
Perintah case memungkinkan untuk melakukan sejumlah tindakan
berbeda terhadap sejumlah kemungkinan nilai. Bentuk perintah ini :
Case nilai in
Pola_1) perintah1;;
Pola_2) perintah2;;
Pola_3) perintah3;;
...
esac
Pada bentuk di atas :
• Masing-masing perintah dapat berupa satu atau beberapa
perintah
• Perintah_1 dijalankan kalau nilai cocok dengan pola_1.
setelah Perintah_1 dijalankan, eksekusi dilanjutkanke akhri case (esac).
• Perintah_2 dijalankan kalau nilai coock dengan pola_2.
setelah Perintah_2 dijalankan, eksekusi dilanjutkan ke akhir case (esac)
• Perintah_3 dijalankan kalau nilai cocok dengan pola_3.
setelah Perintah_3 dijalnakan, eksekusi dilanjutkan ke akhir case (esac)
Contoh penerapan case yaitu untuk menentukan tindakan terhadap suatu
pilihan seperti ditunjukkan pada skrip berikut :
# cat menu.sh
:
# ---------------------------------------------------------
# menu.sh
#
# Contoh pemakaian case
# untuk menangani pilihan menu
# ---------------------------------------------------------
Clear # haups layar
Echo “MENU MAKAN SIANG :”
echo “”
echo “1. Nasi – Soto Ayam Nikmat”
echo “2. Nasi – Sop Buntut Enak Betul”
echo “3. Nasi – Kare Ayam Gurih”
echo “”
echo –n “pilihan Anda (1,2,3) : “
read pilihan
echo “ “
case #pilihan in
1) echo “pilihan Anda : Nasi – soto Ayam Nikmat)
echo “Sebentar lagi akan dihidangkan”
;;
2) Echo “Pilihan Anda: Nasi – Sop Buntut Enak Betul”
Echo “Sebentar lagi akan dihidangkan”
;;
3) Echo “Pilihan Anda : Nasi – Kare Ayam gurih”
Echo “Sebentar lagi akan dihidangkan”
;;
4) Echo “Pilihan Anda tidak dimengerti”
Echo “Silahkan pilih-pilih dulu””
;;
Esac
#_
Pada contoh ini, pola * berarti kalau pilihan bernilai selain 1,2 atau 2.
contoh berikut menunjukkan hasil eksekusi skrip menu.sh:
# menu.sh
MENU MAKAN SIANG :
1. Nasi – Soto Ayam Nikmat
2. Nasi – Sop Buntut Enak Betul
3. Nasi – Kare Ayam Gurih
Pilihan Anda (1, 2, 3) : 1<Enter>
Pilihan Anda : Nasi – Soto Ayam Nikmat
Sebentar lagi akan dihidangkan
#_
Adapun contoh skrip berikut digunakan untuk memberikan komentar
pilihan yang dimasukkan benar atau salah. Contoh ini sekaligus
menunjukkan pemakaian simbol | pada bagian pola yang berarti “atau”
# cat pilih.sh
# ---------------------------------------------------------
# pilih.sh
#
# Contoh validasi pilihan
# ---------------------------------------------------------
echo –n “pilihan (1,2,3) : “
read pilihan
case #pilihan in
1|2|3) echo “pilihan benar”;;
*) echo “pilihan salah”;;
Esac
#_
9.3 Looping Dengan While, For Dan Do While
Seringkali kita melakukan suatu pengulangan proses. Hal seperti ini
dapat ditangani dengan mudah dengan menggunakan perintah-perintah
pengulangan. Pada Bourne shell, Bourne Again shell, dan Korn shell
perintah-perintah berikut berguna untuk melakukan pengulangan proses:
• for
• until
• while
Pada C shell:
• foreach
• while
• repeat
Catatan :
Pada C shell pengulangan proses juga bisa dibentuk melalui goto.
Perintah for pada Bourne Shell, Bourne Again Shell, dan Korn Shell
Perintah for memungkinkan sejumlah perintah dapat dieksekusi berkalikali
untuk setiap nilai yang terletak dalam suatu daftar. Bentuk perintah
ini:
for indeks [in daftar_ argumen]
do
perintah
done
Secara bergantian, indeks akan berisi nilai-nilai yang tercantum pada
daftar argumen. Untuk masing-masing nilai tersebut, perintah akan
dijalankan. Sebagai contoh:
# cat for1.sh
:
# -----------------------------------------------------
# for1.sh
#
# Contoh pemakaian for dengan memproses
# perintah untuk setiap nilai
# yang ada pada daftar yang mengikuti
# kata in
# -----------------------------------------------------
for nama in "Abu Nawas" "KSatria gaja Hitam" superman
do
echo #nama
done
#_
Hasil eksekusi skrip di atas:
# forl.sh
Abu Nawas
Ksatria Baja Hitam
Superman
#_
Dengan melibatkan wildcard (misalnya *) pada bagian daftar argumen
(setelah kata in), for dapat dipakai untuk memperoleh nama-nama
berkas yang cocok pada suatu direktori. Contoh:
# cat for2.sh
:
# ---------------------------------------------------
# for2.sh
#
# contoh pemakaian for untuk mendapatkan
# nama-nama berkas pada direktori
# /usr/bin yang berawalan b
# dengan panjang nama 5 karakter
# ---------------------------------------------------
for nama_berkas in /usr/bin/b????
do
echo "Nama lengkap : #nama_berkas"
echo "rvama berkas . 'basename #nama_berkas
echo ""
done
#_
Contoh eksekusi skrip di atas:
# for2.sh
Nama lengkap : /usr/bin/batch
Nama berkas : batch
Nama lengkap : /usr/bin/bison
Nama berkas : bison
Nama lengkap : /usr/bin/burst
Nama berkas : burst
Nama lengkap : /usr/bin/byacc
Nama berkas : bycat
Nama lengkap : /usr/bin/bzcat
Nama berkas : bzcat
Nama lengkap : /usr/bin/bzip2
Nama berkas : bzip2
#_
Pada contoh berikut, bagian in dan yang mengikutinya tidak disertakan:
# cat for3.sh
:
# ----------------------------------------------------------
# for3.sh
#
# Contoh pemakaian for untuk mendapatkan
# nama-nama parameter posisi
# ----------------------------------------------------------
I= 0
for parameter
do
i='expr #i + 1' # Naikkan i sebesar 1
echo "#i. #parameter"
done
#_
Dengan cara seperti ini, parameter akan berisi parameter posisi.
Perlu diketahui, operasi aritmetika pada Bourne shell (khususnya) biasa
dilakukan dengan menggunakan utulitas expr. Agar hasil expr dikirimkan
ke variabel maka expr perlu ditulis dalan tanda bacquote (‘).
Contoh eksekusi skrip fo r 3. s h :
# for3.sh merapi merbabu muria
1. merapi
2. merbabu
3. muria
#_
Perintah foreach pada C shell
Perintah serupa for pada C shell berupa foresach. Bentuk
pemakaiannya :
Foreach indeks (daftar_argument)
Perintah
End
% cat forl1.csh
# ------------------------------------------------------
# for1.csh
#
# Contoh pemakaian foreach dengan memproses
# perintah untuk setiap nilai
# yang ada pada daftar yang mengkut
# kata in
# ------------------------------------------------------
Foreach nama (“Abu Nawas” “Ksatria Baja Hitam” Superman)
Echo #nama
End
#_
Sedangkan bentuk skrip pada C shell yang serupa dengan for2.sh
adalah seperti di bawah ini:
% cat forl2.csh
# ------------------------------------------------------
# for2.csh
# Contoh pemakaian foreach untuk mendapatkan
# nama-nama berkas pada direktori
# /usr/bin yang berawalan b
# dengan panjang nama 5 karakter
# ------------------------------------------------------
foreach nama_berkas ( /usr/bin/b???? )
echo "tvama lengkap : #nama_berkas"
echo "Nama berkas . _basename #nama_berkas""
echo ""
end
_%
Adapun bentuk skrip for3. sh dapat diimplementasikan pada C shell
seperti berikut:
% cat for3.csh
# ------------------------------------------------------
# for3.csh
#
# Contoh pemakaian foreach untuk mendapatkan
# nama-nama parameter posisi
# ------------------------------------------------------
@ i = 0
Foreach parameter ( #argv [*] )
@ i + = 1 # Naikkan i sebesar 1
echo "#i. #parameter"
end
%_
Perintah until pada Bourne Shell, Bourne Again Shell, dan
Korn Shell
Perintah until digunakan untuk mengulang suatu proses hingga kondisi
pengulangan bernilai benar. Bentuk pemakaiannya:
Until perintah_ koncfisi
do
perintah
done
contoh skrip yang menggunakan until :
# ------------------------------------------------------
# until.csh
#
# Contoh pemakaian until untuk membaca
# data bilangan dari keyboard
# ------------------------------------------------------
bil=xxx
until echo #bil | grep – v “ [^0-9]” > /dev/null
do
echo “Masukkan sebuah bilangan bulat positif”
rad bil
done
#_
Pernytaan kondisi pada skrip di atas tampak kompleks :
Echo #bil | grep –v “[^0-9]” > /dev/null
Baris pipa di atas akan memberikan nilai keluar tidak sama
dengan nol kalau terdapat karakter yang bukan berupa digit.
Sontoh eksekusi :
# until.sh
Masukkan sebuah bilangan bulat positif
-5<Enter>
Masukkan sebuah bilangan bulat positif
0.5<Enter>
Masukkan sebuah bilangan bulat positif
23<Enter>
#_
Perintah while pada Bourne Shell, Bourne Again Shell, dan
Korn Shell
Perintah while pada Bourne / Bourne Again / Korn shell
mempunyai fungsi serupa dengan until. Perbedaannya
pengulangan pada while dilakukan selama kondisi bernilai benar.
Format :
while perintah_kondisi
do
perintah
done
Contoh skrip yang menggunakan while
# cat while.sh
:
# ---------------------------------------------------------
# while.sh
#
# contoh pemakaian while untuk
# menampilkan bilangan genap kurang dari 20
# ---------------------------------------------------------
bil = 0
while test #bil –1t 20
do
echo #bil
bil=’espr #bls + 2’ # naikkan bil sebesar 2
done
#_
Contoh eksekusi :
# while.sh
0
2
4
6
8
10
12
14
16
18
#_
Perintah while pada C Shell
C shell jug mempunyai perintah while, Format :
while (ungkapan)
perintah
end
contoh skirp pada C shell yang serupa dengan while.sh:
%cat while.sh
#
# ---------------------------------------------------------
# while.csh
#
# contoh pemakaian while untuk
# menampilkan bilangan genap kurang dari 20
# ---------------------------------------------------------
@ bil = 0
while (#bil < 20)
echo #bil
@ bil + = 2 # Naikkan bil sebesar 2
end
%_
contoh eksekusi
# while.sh
0
2
4
6
8
10
12
14
16
18
#_
Perintah repeat pada C shell
C shell mempunyai perintah repeat yang berguna untuk mengulang suatu
perintah. Format pemakaiannya:
Repeat jumlah perintah
Dalam hal ini, perintah akan diulang sebanyak numlah kali.
Contoh:
%repeat 5 echo “Halo”
halo
halo
halo
halo
halo
%_
9.4 Membuat Fungsi
9.5 Latihan
MENGETAHUI BAGAIMANA
PEMBUATAN,
MENGEKSEKUSI DAN
MENUNGGU PROSES.
MENGETAHUI MANAJEMEN
MEMORY.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MENGETAHUI BAGAIMANA PEMBUATAN,
MENGEKSEKUSI DAN MENUNGGU PROSES.
MENGETAHUI MANAJEMEN MEMORY.
EDISI I - 2007
10.1 PENDAHULUAN
10.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MENGETAHUI BAGAIMANA PEMBUATAN,
MENGEKSEKUSI DAN MENUNGGU
PROSES.
MENGETAHUI MANAJEMEN MEMORY.
SUB KOMPETENSI : UNIX System Call Dan Manajemen Memory
KRITERIA KERJA : -
LINGKUP BELAJAR : • Perintah manajemen proses : fork, wait
dan exec.
• Perintah manajemen memory : free, ps,
cat/proc/meminfo.
• Latihan.
10.2 Perintah Manajemen Proses
Yang termasuk dalam perintah manajemen proses, diantaranya :
10.2.1 fork
10.2.2 wait, dan
10.2.3 exec
10.3 Perintah Manajemen Memory
Yang termasuk dalam perintah manajemen memory, diataranya :
10.3.1 free
10.3.2 ps
10.3.3 cat/proc/meminfo
10.4 Latihan
MEMAHAMI ATRIBUT FILE,
IJIN AKSES DAN MENGUBAH
IJIN AKSES.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI ATRIBUT FILE, IJIN AKSES DAN
MENGUBAH IJIN AKSES.
EDISI I - 2007
11.1 PENDAHULUAN
11.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI : MEMAHAMI ATRIBUT FILE, IJIN AKSES
DAN MENGUBAH IJIN AKSES.
SUB KOMPETENSI : Sistem File
KRITERIA KERJA : -
LINGKUP BELAJAR : • Melihat atribut file dan ijin akses.
• Perintah mengubah ijin akses :chmod.
• Latihan.
11.2 Melihat Atribut File Dan Ijin Akses
11.3 Perintah Mengubah Ijin Akses
Perintah mengubah ijin akses
11.4 Latihan
MEMAHAMI BAGAIMANA
MELIHAT PERANGKAT
KERAS YANG ADA DAN
MELAKUKAN MANAJEMEN
PERANGKAT KERAS.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI BAGAIMANA MELIHAT
PERANGKAT KERAS YANG ADA DAN
MELAKUKAN MANAJEMEN PERANGKAT
KERAS.
EDISI I - 2007
12.1 PENDAHULUAN
12.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI BAGAIMANA MELIHAT
PERANGKAT KERAS YANG ADA DAN
MELAKUKAN MANAJEMEN PERANGKAT
KERAS.
SUB KOMPETENSI : Manajemen Perangkat Keras
KRITERIA KERJA : -
LINGKUP BELAJAR : • Melihat perangkat keras pada sistem
melalui directory /dev.
• Melakukan akses perangkat
menggunakan perintah mount dan
umount.
• Latihan.
12.2 Melihat Perangkat Keras Pada Sistem Melalui
Directory /dev
12.3 Melakukan Akses Perangkat Menggunakan Perintah
Mount Dan Umount
12.4 Latihan
MENGETAHUI DAN
MELAKUKAN INISIALISASI
PROSES BOOTING
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MENGETAHUI DAN MELAKUKAN INISIALISASI
PROSES BOOTING.
EDISI I - 2007
13.1 PENDAHULUAN
13.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI : MENGETAHUI DAN MELAKUKAN
INISIALISASI PROSES BOOTING.
SUB KOMPETENSI : Linux Booting Process
KRITERIA KERJA : -
LINGKUP BELAJAR : • Melihat inisialisasi proses pada file
/etc/inittab.
• Mengubah inisialisasi proses booting.
• Latihan.
13.2 Melihat Inisialisasi Proses Pada File /etc/inittab
13.3 Mengubah Inisialisasi Proses Booting
13.4 Latihan
MEMAHAMI BAGAIAMAN
PROSES PENAMBAHAN,
PENGHAPUSAN, MODIFIKASI
USER DAN GROUP.
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMAHAMI BAGAIAMAN PROSES
PENAMBAHAN, PENGHAPUSAN, MODIFIKASI
USER DAN GROUP.
EDISI I - 2007
14.1 PENDAHULUAN
14.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MEMAHAMI BAGAIAMAN PROSES
PENAMBAHAN, PENGHAPUSAN,
MODIFIKASI USER DAN GROUP.
SUB KOMPETENSI : Manajemen User Dan Group
KRITERIA KERJA : -
LINGKUP BELAJAR : • Melihat file /etc/passwd dan /etc/shadow.
• Perintah Group : groupadd, groupdel,
groupmod.
• Perintah User : useradd, userdel,
usermod.
• Latihan.
14.2 Melihat File /etc/passwd dan /etc/shadow
14.3 Perintah Group
Yang termasuk perintah Group, diantaranya :
14.3.1 groupadd,
14.3.2 groupdel, dan
14.3.3 groupmod
14.4 Perintah User
Yang termasuk perintah User, diantaranya :
14.4.1 useradd,
14.4.2 user, dan
14.4.3 usermod
14.5 Latihan
MEMPELAJARI BAGAIMANA
MELAKUKAN INSTALASI DAN
KOMPILASI APLIKASI
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MEMPELAJARI BAGAIMANA MELAKUKAN
INSTALASI DAN KOMPILASI APLIKASI
EDISI I - 2007
15.1 PENDAHULUAN
15.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI : MEMPELAJARI BAGAIMANA MELAKUKAN
INSTALASI DAN KOMPILASI APLIKASI.
SUB KOMPETENSI : Manajemen Aplikasi
KRITERIA KERJA : -
LINGKUP BELAJAR : • Menggunakan perintah rpm.
• Menggunakan perintah tar, dan gzip.
• Latihan.
15.2 Menggunakan Perintah rpm
15.3 Menggunakan Perintah tar dan gzip
15.4 Latihan
MENGETAHUI KEMAMPUAN
MAHASISWA DALAM
MENGOPERASIKAN SISTEM
OPERASI LINUX DAN
MANAJEMEN SISTEM
OPERASI
EDISI I - 2007
MATA DIKLAT :
SISTEM OPERASI
PROGRAM KEAHLIAN :
SEMUA PROGRAM KEAHLIAN
DEPARTEMEN PENDIDIKAN NASIONAL
BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI
2007
MENGETAHUI KEMAMPUAN MAHASISWA
DALAM MENGOPERASIKAN SISTEM OPERASI
LINUX DAN MANAJEMEN SISTEM OPERASI
EDISI I - 2007
16.1 PENDAHULUAN
16.1.1 Deskripsi
NAMA MODUL : SISTEM OPERASI
KOMPETENSI :
MENGETAHUI KEMAMPUAN MAHASISWA
DALAM MENGOPERASIKAN SISTEM
OPERASI LINUX DAN MANAJEMEN
SISTEM OPERASI.
SUB KOMPETENSI : Posttest
KRITERIA KERJA : -
LINGKUP BELAJAR :
• Review semua topik yang sudah diajarkan
melalui manajemen proses, file dan
directory, perangkat keras, user dan
group, manajemen aplikasi.
16.2 Review semua topik yang sudah diajarkan melalui
manajemen proses, file dan directory, perangkat
keras, user dan group, manajemen aplikasi

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Powered by Blogger.