Modul 6 & 7

A. Dasar Teori

Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.

  • Macam – macam shell
    Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:
    · Bourne shell(sh),
    · C shell(csh),
    · Korn shell(ksh),
    · Bourne again shell(bash), dsb.
    Masing – masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat, untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.
  • Pemrograman Shell
    Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. adalah proses – proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell.
  • Kebutuhan dasar Shell
    Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah – perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti
    · 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 <>
    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), mending pake ls -l -r saja : – ) ls -l | sort -s | more cat 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
  • Pipeline
    Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Tanda vertical ( | ) adalah tanda yang digunakan untuk pipeline. Penggunaan pipeline pada perintah-perintah Linux tidak terbatas. Misalkan sebagai contoh :
    Sebelum kita gunakan pipeline. Formatnya:
    $ find *
    dead.letter
    mbox
    test
    Setelah kita gunakan pipeline
    $ find * | grep test
    Test
    Pada contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi input dari perintah grep yang kemudian hanya mengambil kata “test” dari output find.
  • Regular Expression
    Regular expresion adalah cara untuk menentukan sebuah pola karakter untuk pencarian dan pemfilteran. Dengan regular expresion, kita tidak harus menentukan pola karakter yang eksak. Untukmenggunakan regular ekspression, kita harus mengenal karakter-karakter khusus yang memiliki arti tersendiri jika digunakan di dalam pola regular ekspression.
    Karakter Arti
    . Cocok dengan sembarang satu karakter
  • Cocok dengan sembarang lebih dari satu karakter
    ^ Cocok dengan awal baris
    $ Cocok dengan akhir baris
    \< Cocok dengan awal kata
    > Cocok dengan akhir kata
    [ ] Cocok dengan salah satu karakter yang terdapat di dalam kurung siku
    [^ ] Cocok dengan salah satu karakter yang tidak terdapat pada kurung siku
    \ Karakter selanjutnya akan dianggap literal
  • Redirection
    Redirection dalam sistem unix dan Linux merupakan salah satu cara untuk melewatkan output dari suatu program ke program lain, dengan redirection kita bisa menyimpan output suatu file baik kedalam sebuah file atau diproses dengan program lain. Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection). Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih jelasnya akan di berikan contoh untuk masing-masing redirection :
    o Output Redirection
    Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux. Syntax-nya sbb $ cat >
    Contohnya:
  1. Membuat File dengan nama test
    $ cat > test
    ini hanya sebuah test dari output redirection
  2. Melihat isi file test
    $ cat test
    ini hanya sebuah test dari output redirection
  3. Penambahan untuk file test
    $ cat >> test
    baris ini tambahan dari yang lama…
  4. Melihat kembali isi file test setelah ditambahkan beberapa kata
    $ cat test
    ini hanya sebuah test dari output redirection
    baris ini tambahan dari yang lama…
    Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
  • Pengeditan Perintah
    Dengan bash shell, kita dapat mengedit suatu baris perintah cukup dengan tombol panah dan panah kanan pada keyboard. Setelah selesai mengedit, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah.
  • History
    Dengan bash shell, kita dapat memanggil kembali perintah-perintah yang pernah diketikkan sebelumnya dengan menggunakan tombol panah atas dan bawah pada keyboard. Setelah menemukan perinta yang dimaksud, kita dapat langsung menekan tombol [ENTER] untuk menjalankan perintah ini.
  • Ediotor vi
    Editor VI (vee eye, dibaca vi ai) adalah editor berbasis text yang digunakan oleh banyak pemakai UNIX/LINUX. Editor ini pertama kali dikembangkan oleh William (Bill) Joy sewaktu ia menjadi graduate student di University of California at Berkeley pada tahun 1976.
    Perintah “vi” adalah perintah di dalam shell linux untuk mengedit teks, kalau di dalam Windows pada shell MS-Dos dengan perintah “edit”. Yang keduanya hampir mempunyai kesamaan, perbedaannya di dalam dos bisa langsung dari windows dan dapat mouse dapat dijalankan tetapi di dalam vi mouse tidak bisa digunakan untuk memilih option tersebut seperti file, edit, help dll.
    Editor VI memiliki dua mode, yaitu :
  1. Command mode (mode perintah) Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor, contoh seperti mencari teks, mengganti teks secara otomatis dan lainnya.
  2. Insert mode (mode penyisipan) Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam bufer editor. Pada bagian bawah layar akan tampil teks “INSERTING”. Pada awal vi dijalankan, maka program memasuki command mode. Dengan menekan tombol “i” maka akan memasuki editing. Untuk kembali ke command mode, tekan tombol Esc.
    Pertama kali memulai editor VI, secara default kita menemukan Command mode (mode perintah). Untuk mengaktifkan insert mode kita tinggal mengetikkan huruf i. Bila kita menekan tombol [Escape], maka kita akan kembali ke mode perintah. Selain huruf i kita juga dapat menekan tombol insert.
    Untuk memulai Editor VI kita dapat mengetikan perintah :

> vi namafile.txt

Jika file namafile.txt ditemukan, maka editor akan membuka dokumen tersebut. Tetapi jika tidak ditemukan, maka editor VI akan membuat file baru dengan nama tersebut (namafile.txt) jika disimpan. Untuk itu jangan sampai salah mengetikkan nama sebuah file yang akan diedit.
Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut :
KUNCI KETERANGAN
H Pindah kursor ke kiri satu karakter
J Pindah kursor ke kanan satu karakter
K Pindah kursor ke atas
L Pindah kursor ke bawah
O Menyisipkan teks (satu baris setelahposisi kursor)
i Menyisipkan teks (di sebelah kiriposisi kursor)
a Menyisipkan teks (di sebelah kananposisi kursor)
I (shift i) Menyisipkan teks (di posisi awalbaris)
A (shift a) Menyisipkan teks (di posisi akhirbaris)
Note : untuk keluar dari 5 model kunci insert diatas ( yaitu o, i, a,I, A) tekan ESC

KUNCI KETERANGAN
X Menghapus 1 huruf (di sebelah kananposisi kursor)
Dw Manghapus 1 kata (di sebelah kananposisi kursor)
Dd Menghapus 1 baris (di sebelah kananposisi kursor)
Yy Mengkopi 1 baris
2yy Mengkopi 2 baris
P ( Paste) Menampilkan baris kalimat yang sudah dikopi dengan kunci yy
Cw Mengganti 1 kata yang telah ditulisdi sebelah kanan posisi kursor dengan kata lain
Cc Mengganti 1 baris kalimat yang telahditulis di sebelah kanan posisikursor dengan kalimat lain
ctrl-b Mundur satu layar
ctrl-f Maju satu layar
ctrl-d Maju setengah layarB Menggerakkan kursor ke kiri satukata
W Manggerakkan kursor ke kanan satukata
^ Pergi ke awal baris
$ Pergi ke akhir baris
u Membatalkan perintah yang terakhir kali
U Membatalkan seluruh perubahan tekspada baris tempat kursor berada.
:! Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain
:wq Write dan quite, simpan berkas dan keluar
:q! Keluar vi tanpa menyimpan
:se all Menampilkan semua pilihan set status
:se nu Menampilkan nomor baris pada kiri layar
/string Mencari string ke arah depan
?string Mencari string ke arah belakang
o Meneruskan pencarian untuk arah yang sama
N Meneruskan pencarian untuk arah yang berbeda

  • Editor Nano
    GNU Nano adalah text editor berbasis console atau terminal teks sederhana. Nano pada awalnya diciptakan untuk pengganti bebas UW Pico text editor non-bebas. Sehingga tampilan Nano dibuat semirip mungkin dengan Pico. Walaupun masih kalah kuat dengan text editor setingkat Vi/Vim dan Emacs tapi nano cukup diminati oleh pengguna Linux.
    Ada satu hal yang membedakan Nano dari text editor lainnya, yaitu penggunaan “Shortcut” atau kombinasi tombol (seperti halnya dim sword) yang akan memudahkan kita dalam mengedit file. Shortcut ini sendiri dapat digunakan dengan cara menekan “Esc” duakali atau menekan “Ctrl” sambil menekan shortcut yang diinginkan.
    Untuk membuka Nano sendiri kita dapat mengetikkan command “nano” pada terminal atau “nano ” jika ingin langsung membuat file baru.
    Nano adalah text editor yang berjalan di system UNIX. editor ini tak seperti editor kebanyakan yang berjalan di tampilan visual jendela melainkan pada tampilan terminal, nano tidak berkerja menggunakan moouse , tetapi masih memiliki banyak fitur yang sangat powerfull. Untuk menginstall nano pada Linux Fedora tinggal mengetikkan di shell dengan perintah
    Kebanyakan dari perintah nano, dipanggil dengan menekan tombol Ctrl (tombol kontrol), dan menekan salah satu kunci lainnya(tombol berikutnya). Dalam teks ini, kunci pengendalian menampilkan ^ . Sebagai contoh ^ X berarti, tahan tombol CTRL dan tekan kunci x .Sebagian besar perintah-perintah umum yang penting tercantum di bagian bawah terminal anda.
    nano : untuk memulai
    ^G : untuk bantuan
    ^ R : untuk membaca file-file yang ada, ke editor nano (disisipkan pada posisi kursor)
    ^ T : untuk membuka browser yang memungkinkan anda, dapat memilih nama file dari daftar file dan direktori
    Pada navigasi, mouse biasa yang berbasis point-and-klik tidak didukung oleh nano. Jadi untuk menggunakan arah kursor shape, Gunakan tombol panah untuk bergerak di sekitar halaman nano.
    Navigasi Perintah yang lain:
    ^ A : pindah ke awal baris
    ^ E : pindah ke akhir baris
    ^ Y : bergerak ke bawah halaman
    ^ V : bergerak ke atas halaman
    ^ _ : Pindah ke baris tertentu
    ^ C : mengetahui apa garis kursor berada pada
    ^ W : mencari beberapa teks.
    Hapus perintah.
    ^ D : untuk menghapus karakter saat ini di bawah kursor
    BackSpace menghapus karakter saat ini di depan kursor
    ^ K : menghapus seluruh baris
    ^ \ : Mencari (dan mengganti)
    Potong dan sisipkan
    ^ U : untuk digunakan untuk mensimulasikan memotong dan menyisipkan:
    Menyimpan dan Keluar
    ^ O : untuk menyimpan isi tanpa keluar (Anda akan diminta nama filenya apa, dan menyimpannya di mana)
    ^ X : untuk keluar nano (nano meminta untuk menyimpan file, jika anda telah mengubah isi atau file tersebut belum tersimpan )
    ^ T : saat menyimpan file, dapat melihat daftar untuk memungkinkan anda dapat memilih nama file dan direktori penyimanan.

B. Praktikum

  • Percobaan Satu : Mengunakan Shell
  • Buka Teks Editor Vi atau nano simpan dengan berketensi.sh

Dengan cara ketik nano di terminal atau ketik vi di terminal

  • Ketik source code berikut :
#!/bin/bash
echo "What is your preferred programming / scripting language"
echo "1) Bash"
echo "2) Perl"
echo "3) Phyton"
echo "4) C++"
echo "5) I do not know !"
read case;

case $case in
	1) echo "You selected Bash";;
	2) echo "You selected Perl";;
	3) echo "You selected Phyton";;
	4) echo "You selected C++";;
	5) exit

esac
  • Hasilnya adalah :

Jika Menggunakan Nano :

Jika Menggunakan Vi :

  • Dan ketika di jalankan maka akan seperti dibawah ini :

Kita ketik chmod +x Latihan1.sh agar file berketensi.sh dapat dijalankan.

Setelah selesai kita ketik ./Latihan1.sh untuk menjalankan file tersebut.

Maka hasilnya seperti gambar di atas yaitu kita akan memilih angka 1 sampai 5 yang dimana angka tersebut sudah terdapat valuenya masing -masing . disini saya memilih angka 3 maka yang akan keluar adalah value You Selected Phyton

  • Percobaan Dua : Menggunakan Shell
  • Buka Teks Editor Vi atau nano simpan dengan berketensi.sh

Dengan cara ketik nano di terminal atau ketik vi di terminal

  • Ketik source code berikut :
  • Hasilnya adalah :

Jika Menggunakan Nano :

Kemudian Save File tersebut dengan nama Latihan2.sh dengan cara ketik CTRL+X kemudian klik ya kemudian beri nama file tersebut Latihan2.sh kemudian enter.

  • Dan setelah selesai di save selankutnya di jalankan maka akan seperti dibawah ini :

Pertama Kita ketik chmod +x Latihan2.sh agar file berketensi.sh dapat dijalankan.

Setelah selesai kita ketik ./Latihan1.sh untuk menjalankan file tersebut.

Maka hasilnya seperti gambar di atas yaitu kita akan memilih angka 1 sampai 3 yang dimana angka tersebut sudah terdapat valuenya masing -masing . dan disini dimana jika kita inputkan angka yang salah maka program akan megulang atau kembali bertanya lagi contohnya saya menginputkan angka 6 maka yang muncul adalah pertanyaan lagi dan setelah memili angka dengan benar maka value nya akan munul , contohnya saya masukan angka 2 maka yang keluar adalah value You have chosen word : Scripting

  • Percobaan 3 : Menggunakan vi
  • Memulai vi

Tulis Source code dibawah ini :

iKalimat
pertama<CR>
Kalimat 
kedua<cr>
Kalimat
ketiga<Esc>

Maka Hasilnya adalah

  • Sisipkan Judul pada awal Kalimat, diatas kalimat Pertama, gunakan cursor
  • arrows-key ke baris pertama sisipkan Latihan dengan vi<CR><Esc>
  • Sisipkan pada “Kalimat kedua” dengan kata “yang” ditengah kata kedua kata tersebut
  • Sisipkan kata pada awal baris kedua arahkan kursor ke awal baris dengan tanda ^ kemudian i untuk insert dan tulis “ini adalah”,
  • Arahkan kursor pada huruf p lalu gunakan tombol R untuk mengganti huruf dengan huruf yang di ketik sampai <Esc> ditekan.
  • Rawal yang ditulis<Esc>
  • Arahkan kursor ke depan kata “Kalimat” (huruf k), kemudian gunakan intruksi Cw, setelah itu baris “Baris”
  • Hasilnya adalah :

C. Tugas

  • Ketikan Teks dibawah ini :
Happiness doesn't always go with money
if often happens that success comes after many failures
i quite agree, though i never thought of this before
i am very happy that your health is showing signs of improvement
all i want is some peace and quiet
we have visited this island year in year out and we never get bored
everyone but myself, i said; to everyone else this be clear, but not to me
while i understand what you say i can't agree with you it gives
me pleasure to see you looking happy
he has been able to tell us more about computer than anyone can do

Gunakan perintah spell.txt

perintah ini digunakan untuk memeriksa tulisan kita apakah spelling dari teks berbahasa inggris yang kita ketkan diatas benar atau salah

Ketikan spell teks.txt
Ketika Penulisan Salah
Ketika Penulisan Benar

D. Kesimpulan

Editor VI (vee eye, dibaca vi ai) adalah editor berbasis text yang digunakan oleh banyak pemakai UNIX/LINUX. Editor ini pertama kali dikembangkan oleh William (Bill) Joy sewaktu ia menjadi graduate student di University of California at Berkeley pada tahun 1976.
Perintah “vi” adalah perintah di dalam shell linux untuk mengedit teks, kalau di dalam Windows pada shell MS-Dos dengan perintah “edit”. Yang keduanya hampir mempunyai kesamaan, perbedaannya di dalam dos bisa langsung dari windows dan dapat mouse dapat dijalankan tetapi di dalam vi mouse tidak bisa digunakan untuk memilih option tersebut seperti file, edit, help dll.

E. Daftar Pustaka

Contoh Program Bash Shell Sederhana

http://sejarahbelajarku.blogspot.co.id/2015/01/teks-editor-linux.html
http://sifafauziah42.blogspot.co.id/2012/10/perintah-perintah-editor-vi-pada-linux.html
http://davisco-lazonick.blogspot.com/2014/04/materi-tentang-shell-pada-sistem.html
https://magneticinfo.blogspot.co.id/2013/01/apa-itu-shell-pada-linux.html
http://sistemoperasiwindinolinafitri.blogspot.co.id/2016/03/pengenalan-redirection-dan-pipeline.html
http://elp-post.blogspot.co.id/2013/04/contoh-pemrograman-bash-script_24.html
https://pusathosting.com/kb/linux:bash

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

www.000webhost.com