Pemrograman Shell
Shell adalah program khusus yang bisa digunakan untuk berinteraksi dengan kernel. Kernel yang dimaksud adalah kernel sistem operasi yang sedang aktif. Shell merupakan salah satu dari sekian banyak bahasa pemrograman. Shell memiliki sebuah keunikan tersendiri, Karena berjalan disebuah platform Linux atau Unix, dan memiliki konsep perintah tingkat tinggi. Shell juga dikenal dengan bahasa “command line processing” ini karena sintak yang digunakan di dalam pemrograman shell merupakan perintah-perintah dasar dari Linux atau Unix. Selain itu juga sintak Shell dapat langsung dieksekusi langsung pada terminal
console Linux atau Unix. Di dalam system operasi Linux atau Unix tipe-tipe shell sangat beragam.
Untuk melihat jenis Shell apa saja yang ada dalam sebuah system operasi Linux dapat dialkukan dengan menuliskan perintah berikut.
$ls /etc/shells <enter>
Shell apa yang sedang aktif saat ini, dapat digunakan perintah berikut.
$ echo $shell <enter>
Variabel pada SHELL
a. VARIABEL LOKAL
Yang dimaksud dengan variabel lokal adalah variabel yang nilainya langsung diisikan. Di dalam memberikan nama sebuah varibel, yang harus diperhatikan adalah nama variabel berupa karakter alphanumeric atau bisa juga diawali dengan karakater garisbawah(_), setelah itu baru bisa diikuti dengan jenis karakter yang lain. Dalam pemrograman Shell untuk mendefinisikan sebuah variabel tidak perlu diberikan bentuk atau jenis variabel tersebut, tidak seperti di pemrograman C atau Pascal dimana variabel yang akan dibuat perlu didefinisikan terlebih dahulu tipenya, Dan di dalam lingkup Shell tipe variabel hanya ada satu jenis yaitu tipe string.
Contoh dalam penulisan variabel dan pemberian nilai dalam potongan program Shell sebagai berikut :
nama=patricia
nim=201181016
status="belum menikah"
echo $nama
echo $nim
echo $status
Keterangan:
Tanda ‘$’ memiliki makna sebagai pengarah bahwa kata tersbut adalah sebuah variabel yang memiliki nilai.
Kalau isi mengandung spasi, harus di dalam tanda petik " ".
Setelah tanda sama dengan ("=") , jangan menggunakan spasi.
Contoh:
nama=patricia (penulisan yang benar)
nama= patricia (penulisan yang salah)
status=belum menikah (penulisan salah karena mengandung spasi)
status="belum menikah" (penulisan yang benar)
b. VARIABEL ENVIRONMENT
Environment variabel adalah variabel yang merupakan bawaan dari Shell itu sendiri, biasanya variabel ini berisi nilai-nilai yang merupakan konfigurasi standar dalam lingkungan program Shell. Aturan penulisan dari environment variable adalah semua nama variabel menggunakan huruf kapital. lingkup dari variabel environment adalah bersifat GLOBAL. Artinya variabel environment
berlaku untuk semua Shell yang ada.
Contoh variabel environment adalah sebagai berikut :
LOGNAME=shell14 (variabel yang berisi nama login)
SHELL=/bin/bash (variabel yang berisi nama shell yang aktif)
HOME=/home/shell14 (variabel yang berisi nama direktori user)
USER=shell14 (variabel yang berisi nama user)
Untuk mengetahui variabel apa saja yang ada dalam kelompok environment variable dapat digunakan perintah berikut:
$ env ‘enter’
Untuk merubah nilai dari variabel environment dapat dilakukan dengan menggunakan perintah sebagai berikut :
$ export LOGNAME=mrbee ‘enter’
kemudian hasilnya dapat dilihat dengan menggunakan perintah :
$ env | grep “LOGNAME”
Variabel environment juga bisa dihapus atau dihilangkan dari lingkungan daftar variabel environment dengan menggunakan perintah berikut :
$ unset LOGNAME
Ruang Lingkup Variabel Dalam Shell
Yang dimaksud dengan ruang lingkup adalah sejauh mana sebuah variabel yang didefinisikan berlaku bagi program shell dibuat. Dipemrograman lain seperti C ada variabel lokal yang hanya berlaku di dalam sebuah file skrip C, ada juga variabel global yang bisa berlaku bagi skrip C yang lain walaupun berada dalam file lainnya. Di program Shell lingkup dari sebuah variabel yang didefinisikan berlaku lokal. Lokal yang dimaksud adalah dalam suatu Shell saja. Jika dalam sebuah Shell dibuat lagi sub-Shell maka variabel tersebut sudah tidak berlaku nilainya. Sedangkan variabel environment memiliki lingkup GLOBAL, yang dimaksud dengan global adalah semua variabel berlaku dan bernilai sama disemua file skrip Shell yang dibuat. Contoh variabel LOGNAME yang memiliki nilai nama login user, akan mempunya nilai yang sama walaupun diakses dari file skrip lainnya.
STRUKTUR KONTROL
a. IF - ELSE
if instruksi 1
then
instruksi 1.1
instruksi 1.2
elif instruksi 2
then
instruksi 2.1
instruksi 2.2
else
instruksi 3.1
instruksi 3.2
fi
b. CASE
case variabel in
match1)
instruksi 1.1
instruksi 1.2
.......................
;;
match2)
instruksi 2.1
instruksi 2.2
.......................
;;
*)
instruksi 3.1
instruksi 3.2
........................
;;
esac
c. WHILE
while kondisi
do
instruksi 1
instruksi 2
done
ARRAY
Pada versi BASH 2.x terdapat fungsi untuk mendefinisikan array satu dimensi. Array memungkinkan seorang programmer mengkoleksi daftar beberapa nilai dalam sebuah variabel. Untuk mengektraksi kembali nilai-nilai tersebut dapat
dilakukan dengan menyebutkan nama varibel yang diikuti oleh nomer indek array tersebut. Pendefinisian sebuah array juga bisa dilakukan on the fly (tanpa mendefinisikan terlebih dahulu). Dan tidak ada batasan maksimum dari sebuah array yang dibuat dalam lingkungan BASH Shell. Pada saat sebuah nilai diberikan ke dalam sebuah array yang telah didefinisikan, indek array secara otomatis akan dimulai dari 0, dan bertambah naik 1 sampai semua kumpulan nilai-nilai dimasukkan.
Contoh deklarasi array :
$ declare –a nomor=(45 50 23)
$ nama=(andi hafid intan)
$ kota=(surabaya medan jakarta)
x[0]=7
x[4]=400
contoh lain :
$ declare –a nama
$ nama=(luky ani arman)
$ echo ${nama[1]}
ani
$ echo ${nama[2]}
arman
$ echo “berikut ini nama teman-temanku ${nama[*]}”
berikut ini nama teman-temanku luky ani arman
$ echo “jumlah total indek array adalah ${#nama[*]}”
jumlah total indek adalah 3
$ unset nama
Keterangan :
1. Mendeklrasikan variabel array “nama”
2. Memasukkan nilai ke dalam array “nama”
3. Menampilkan isi dari array indek ke 1
4. Menampilkan isi dari array indek ke 2
5. Menampilkan semua isi array “nama”
6. Menampilkan jumlah indek total dari array “nama”
7. Menghapus array “nama”
MANAJEMEN INPUT OUTPUT
Perintah “Read” merupakan perintah yang termasuk dalam kelompok buil-in command shell. Perintah ini berfungsi untuk membaca masukan dari user melalui perantara keyboard. Jika tidak ada opsi maka perintah ini akan membaca masukan yang diberikan oleh user tanpa memilah-milah terlebih dahulu. Batas pembacaan masukan adalah ketika mulai baris baru yang ditandai dengan penekanan tombol ‘enter’ oleh user. Berikut ini adalah format penggunaan perintah read beserta opsi yang dapat
digunakan dalam penulisan skrip BASH Shell.
Tabel 3.1 Format perintah Read
FORMAT
|
DESKRIPSI
|
read
jawaban
|
Membaca satu baris masukan dari standard
input dan disubstitusikan ke variabel jawaban
|
read
awal akhir
|
Membaca satu baris input dan dipisahkan
berdasarkan spasi, masukan pertama disubtitusikan ke variabel awal, dan
masukan kedua disubtitusikan ke variabel akhir
|
read
|
Membaca satu baris masukan dan
disubtitusikan ke variabel built-in yang bernama REPLY.
|
read
–a nama_array
|
Membaca daftar kata dari masukan dan
mensubtitusikan ke dalam variabel array nama_array.
|
read
–e
|
Digunakan
di shell intereraktif
|
read
–p prompt
|
Menampilkan prompt, menunggun masukan,
dan mensubtitusikan masukan ke dalam variabel REPLY
|
read
–r line
|
Memperbolehkan adanya karakter backslash
pada masukan yang diberikan.
|
Contoh penggunaan perintah read :
#!/bin/bash
#nama skrip : coba
echo –e “apakah kamu senang : ”
read hasil
echo “anda menjawab $hasil”
echo “siapa nama lengkap kamu ?”
read n_awal n_tengah n_akhir
echo “nama lengkap kamu adalah $n_awal $n_tengah $n_akhir”
echo “nama awal kamu adalah $n_awal”
output program adalah :
$./coba
apakah kamu senang : ya
anda menjawab ya
siapa nama lengkap kamu ? rudi hadi suwarno
nama lengkap kamu adalah rudi hadi suwarno
nama awal kamu adalah rudi
FUNGSI
Fungsi adalah program yang dapat dipanggil oleh program lainnya dengan menggunakan notasi NamaFungsi().
Fungsi memberikan exit status ($?) yang dinyatakan dengan return nr, atau nilai 0 sebagai default.
Membuat fungsi diawali dengan nama fungsi, parameter, kemudian blok program yang dinyatakan dalam {...}.
Contoh
F1 ( ) {
.........
........
return 1
}
Variabel dapat didefinisikan dalam fungsi sebagai variabel lokal atau global . Hal yang perlu diperhatikan , nama variable yang digunakan dalam sebuah fungsi, jangan sampai bentrok dengan nama variabel yang sama di luar fungsi sehingga tidak terjadi perubahan isi variabel.
No comments:
Post a Comment