0% menganggap dokumen ini bermanfaat (0 suara)
44 tayangan

Pemrograman Shell

Dokumen tersebut membahas tentang pemrograman shell pada sistem operasi Linux. Isi utamanya adalah penjelasan tentang elemen dasar pemrograman shell seperti variabel, parameter, konstruksi if-then-else, loop, dan fungsi. Dokumen ini juga berisi contoh kode shell script dan penjelasan praktikum yang telah dilakukan.

Diunggah oleh

Lusiana Diyan
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
44 tayangan

Pemrograman Shell

Dokumen tersebut membahas tentang pemrograman shell pada sistem operasi Linux. Isi utamanya adalah penjelasan tentang elemen dasar pemrograman shell seperti variabel, parameter, konstruksi if-then-else, loop, dan fungsi. Dokumen ini juga berisi contoh kode shell script dan penjelasan praktikum yang telah dilakukan.

Diunggah oleh

Lusiana Diyan
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 25

PRAKTIKUM SISTEM OPERASI

Pemrograman Shell

Kelompok 5

3 D4 Teknik Komputer B

1. Didi Alfandi 2210181033


2. Lusiana Diyan Ningrum 2210181051
3. Aditya Yuliyanto 2210181060

PROGRAM STUDI D4 TEKNIK KOMPUTER


DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
2020
BAB 1
PENDAHULUAN

POKOK BAHASAN:

 Pemrograman Shell

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:


 Mempelajari elemen dasar shell script
 Membuat program shell interaktif
 Menggunakan parameter dalam program
 Mempelajari test kondisi serta operator logic yang terkait dengan instruksi
test
 Mengenal variabel built-in dari shell
 Membuat aplikasi dengan shell menggunakan konstruksi if-then-else
 Menggunakan struktur case-case
 Loop dengan while, for, do while
 Membuat fungsi dan mengetahui cara memanggil fungsi tersebut
BAB 2
DASAR TEORI
1. SHELL
Shell script dibuat dengan editor teks (ASCII editor) dan umumnya
diberikan ekstensi “.sh” . Script selalu diawali dengan komentar, yang
dimulai dengan tanda #, disambung dengan ! dan nama shell yang
digunakan.
#!/bin/sh (1)
# Program shell (2)
#
var1=x (3)
var2=8

(1) Awal dari program shell, komentar awal ini akan dibaca oleh system,
kemudian system mengaktifkan program shell (/bin/sh) yang tertera di
situ. Program shell dapat dipilih, misalnya /bin/csh, /bin/ksh dan lainnya
(2) Adalah komentar, sebagai dokumentasi, baris ini akan diabaikan oleh
program shell
(3) Penggunaan variabel (assignment), tidak boleh ada spasi di antara nama
variabel dan konstanta

2. VARIABEL
Variabel shell adalah variabel yang dapat mempunyai nilai berupa nilai
String. Tata penulisan variabel adalah sebagai berikut :
nama_var = nilai_var
Variabel harus dimulai dengan alphabet, disusul dengan alfanumerik dan
karakter lain. Variabel dapat ditulis dalam huruf kecil atau huruf besar atau
campuran keduanya. Shell membedakan huruf besar dan huruf kecil (case
sensitive), contoh :
VPT =poltek
i=5
Pemberian nilai variabel tidak boleh dipisahkan dengan spasi, karena shell
akan menganggap pemisahan tersebut sebagai parameter, contoh :
VPT =poltek ##error
VPT= poltek ##error

Untuk melihat nilai/isi dari sebuah variabel, gunakan tanda $ di depan nama
variabel tersebut. Pada shell, instruksi echo dapat menampilkan isi variabel
tersebut, contoh :
VPT=poltek
echo $VPT

gaji=450000
echo $Gaji
echo $VPT $Gaji

Bila menggunakan string yang terdiri dari lebih dari satu kata, maka string
tersebut harus berada dalam tanda kutip atau apostrof, contoh :
VPT=poltek
VPT2=”poltek elektronika ITS”

3. MEMBACA KEYBOARD
Nilai variabel dapat diisi melalui keyboard (stdin) dengan instruksi read.

4. PARAMETER
Sebuah program shell dapat mempunyai parameter sebanyak 9 buah dan
direpresentasikan melalui variabel khusus yaitu variabel $!, $2, $3, $4, $5, $6, $7,
$8 dan $9. Nama program shell (nama script) direpresentasikan melalui variabel
$0.
Jumlah parameter dinyatakan sebagai $#. Bila tidak memberikan parameter,
maka nilai $# adalah 0.
Shell variabel $* menyatakan seluruh string yang menjadi parameter /
argument sebuah script ($@ mempunyai arti yang sama). $$ menyatakan nomor
proses id (pid) dari script yang dijalankan. PID ini akan terus berubah (umumnya)
menarik, setiap kali proses berjalan.

5. STATUS EXIT
Setiap program selesai dieksekusi akan memberikan informasi melalui
variabel special $?. Indikasi yang diberikan adalah :
 Bila program berakhir dengan sukses, $? = 0
 Bila program berakhir dengan error, $? ≠ 0
Nilai dari status exit dapat dilihat melalui instruksi exho $?

6. KONSTRUKSI IF

If akan mengeksekusi instruksi awal, dan exit status dari instruksi tersebut
akan menjadi kondisi. Bila 0, maka instruksi selanjutnya masuk ke dalam blok
then. Bila tidak 0, maka alur program diteruskan setelah kunci kata fi.

7. KONSTRUKSI IF THEN ELSE

Bila status exit tidak sama dengan 0, maka kondisi menjadi FALSE
dan instruksi setelah else akan dijalankan.

8. INSTRUKSI TEST
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test
akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak
maka hasil ≠ 0.
 Operator untuk test

 Test untuk files dan directory


Test dapat dilakukan untuk memeriksa apakah file ada (exist), dapat
dibaca, dapat ditulis, kosong dan lainnya.

Untuk memudahkan pembacaan (readability), test dapat ditulis dengan


[ ekspresi ]
[ sebenarnya adalah nama lain dari test, bedanya [ akan mencari kurung
penutup ] pada akhir ekspresi yang harus dipisahkan oleh spasi.

9. LOGICAL && DAN || (SHELL LEVEL)


Notasi && dan || digunakan untuk menggabungkan instruksi shell sebagai
alternatif untuk if then else. Notasi && dan || sering ditemukan dalam shell script
system administrator untuk menjalankan routine dari system operasi.
 Instruksi1 && instruksi2
Shell akan mengeksekusi instruksi1, dan bila exit status instruksi1 adalah
FALSE, maka hasil dari AND tersebut sudah pasti sama dengan FALSE,
sehingga instruksi2 tidak mempunyai pengaruh lagi. Oleh karena itu,
instruksi2 tidak dijalankan. Sebaliknya bila hasil instruksi1 adalah
TRUE(0), maka instruksi2 dijalankan.

 Instruksi1 || instruksi2
Shell akan mengeksekusi instruksi1, bila exit status adalah TRUE(0). Hasil
dari OR tersebut sudah pasti menghasilkan TRUE, terlepas dari hasil
eksekusi instruksi2. Oleh karena itu instruksi2 tidak perlu dijalankan. Bila
hasil instruksi1 adalah FALSE, maka instruksi2 akan dijalankan.

10. OPERATOR BILANGAN BULAT UNTUK TEST


Untuk membandingkan 2 buah bilangan, test memerlukan operator yang
berbeda dengan string.

11. OPERATOR LOGICAL (TEST LEVEL)


Logical operator terdiri dari AND, OR dan NOT. Operator ini
menggabungkan hasil ekspresi sebagai berikut :
NOT : symbol !

AND : symbol –a
OR : symbol –o

12. KONSTRUKSI IF THEN ELSE IF

Bila status exit tidak sama dengan 0, maka kondisi menjadi FALSE dan
instruksi setelag else akan dijalankan.

13. HITUNGAN ARITMETIKA


Tipe dari variabel SHELL hanya satu yaitu STRING. Tidak ada tipe lain
seperti Numerik, Floating, Boolean atau lainnya. Akibatnya variabel ini tidak
dapat membuat perhitungan aritmetika, misalnya :
A =5
B=$A +1 ##error
UNIX menyediakan utilitas yang bernama expr yaitu suatu utilitas yang
melakukan aritmetika sederhana.

14. INSTRUKSI EXIT


Program dapat dihentikan (terminated/selesai) dengan instruksi exit.
Sebagai nilai default program tersebut akan memberikan status exit 0.

15. KONSTRUKSI CASE


Case digunakan untuk menyederhanakan pemakaian if yang berantai,
sehingga dengan case, kondisi dapat dikelompokkan secara logis dengan lebih
jelas dan mudah untuk ditulis.

Case diakhiri dengan esac dan pada setiap kelompok instruksi diakhiri
dengan ;;. Pada akhir pilihan yaitu *) yang berarti adalah “default”, bila kondisi
tidak memenuhi pola sebelumnya.

16. KONSTRUKSI FOR


For digunakan untuk pengulangan dengan menggunakan var yang pada
setiap pengulangan akan diganti dengan nilai yang berada pada daftar (list).
17. KONSTRUKSI WHILE
While digunakan untuk pengulangan instruksi, yang umumnya dibatasi
dengan suatu kondisi. Selama kondisi tersebut TRUE, maka pengulangan terus
dilakukan. Loop akan berhenti, bila kondisi FALSE, atau program keluar dari
blok while melalui exit atau break.

18. INSTRUKSI DUMMY


Instruksi dummy adalah instruksi yang tidak melakukan apa – apa, namun
instruksi ini memberikan status exit 0 (TRUE). Oleh karena itu, instruksi dummy
dapat digunakan sebagai kondisi forever pada loop (misalnya while).
Simbol instruksi dummy adalah => :

19. 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 :
Variabel dapat didefinisikan dalam fungsi sebagai variabel lokal atau
global. Hal yang perlu diperhatikan, nama variabel yang digunakan dalam sebuah
fungsi, jangan sampai bentrok dengan nama variabel lain yang sama di luar fungi,
sehingga tidak terjadi isi variabel berubah.
BAB 3
PERCOBAAN
PERCOBAAN 1 : Membuat Shell Script

PERCOBAAN 2 : Variabel
PERCOBAAN 3 : Membaca Keyboard
PERCOBAAN 4 : Parameter
PERCOBAAN 5 : Status Exit

PERCOBAAN 6 : Konstruksi If
PERCOBAAN 7 : Konstruksi if then else
BAB 4
PEMBAHASAN
Pada praktikum ini, kami belajr memahami berbagai perintah atau syntax
yang digunakan untuk pemrograman shell pada sistem operasi Linux.
Berdasrakan pada percobaan 1, file yang belum diexecutable tidak dapat
dijalakan tanpa titik di depan nama program. Tanpa di executable program masih
dapat di jalankan akan tetapi di depan nama file harus ada titik. File yang sudah
diexecutable dapat dioperasikan.
Pada percobaan 2, ketika mengetikan variable yang diinginkan seperti
VPT= poltek nantinya pada saat progam membaca $VPT akan muncul poltek.
Jadi intinya pada saat menjalankan program menggunakan variable kita ketikan
variabelnya di terminal kemudian akan di baca oleh echo apa variable yang
diketikan. Ketika mengetikan VPT2=poltek elektronika terdapat pesan error, ini
dikarenakan variable tidak dapat di jalankan jika ada dua intruksi yang
menggukan spasi tanpa adanya (“….spasi….”) titik dua. Dari percobaan ini dapat
di analisis bahwa jika ada 2 intruksi didalam variable harus menggunakan (“)
supaya dapat di eksekusi. Berdasarkan percobaan langkah 3, kita dapat
menjalankan banyak variable tetapi echo hanya dapat membaca 1 variabel. Jadi
jika kita ingin menjalankan lebih dari 1 variabel kita buat variable kemudian kita
satukan semua variable di dalam satu variable dengan diawali dengan $. Makan
variable dapat di jalankan. Sebelumnya di variable v3 sudah ada intruksi
elektronika ketika di baca maka akan muncul tulisan elektronika, kita dapat
mengabungkan variable dengan string yang lain.jika di gabungkan dengan nama
variable yang belum didefinisikan (kosong) maka intruksi echo akan
menghasilkan string kosong .maka kita harus menggunakan {} kemudian tulis
poltek maka akan mucul poltek elektronika. Cmd digunakan untuk melihat
tanggal dan waktu user saat aktif. Variable dapat dijadikan input shell dan
kemudian dapat di eksekusi. Agar dapat dijalankan pada perintah berikutnya maka
isi yang ada di biodata01.sh harus diubah. File dapat di jalankan setelah di
chmod.. maka dari itu pada saat menjalankan perintah biodata.sh dan
./biodata01.sh terjadi error ini terjadi karena belum di executable. Setelah di
executable semua dapa dijalankan.
Pada percobaan 3, langkah satu merupakan syntax yang memberikan
instruksi untuk membaca nama yang diketikkan atau diinputkan. Sedangkan pada
langkah dua, merupakan perintah merupakan perintah dari file yang di gunakan
untuk membaca nama dan alamat keyboard di perintah selanjutnya. Syntax pada
langkah tiga digunakan untuk mengeksekusi file yang ada di biodata2. Opsi – n
pada langkah empat digunakan untuk secara otomatis untuk memberikan baris
baru. Pada percobaan langkah kelima ini file biodata02.sh akan menjalankan apa
yang telah diintruksikan apa yang ada di dalam file biodata02.sh, karena
menggunakan –n di dalam perintahnya sehingga pada eksekusi kali ini
tampilannya seperti di atas. Pada percobaan langkah enam kali ini merupakan
percobaan terhadap variabel kosong . Variabel ini didapat atas assignment atau
membaca dari keyboard atau variable yang belum didefinisikan. Instruksi
pwd dieksekusi lebih dahulu dengan sepasang Back Quate (tanda kutip
terbalik). Hasil dari eksekusi tersebut akan masuk sebagai nilai variable DIR.
Syntax pada langkah delapan adalah syntax yang digunakan untuk membuat file
baru dan memberikan instruksi di dalamnya. Pada percobaan langkah sembilan ini
akan di eksekusi apa yang di perintahkan yang ada di dalam file bioda03.sh.
Pada percobaan 5, percobaan langkah kesatu ini jika string tidak
ditemukan makan status exit adalah 1. Jika string di temukan maka status exit
adalah 0. Sedangkan pada langkah kedua, string di temukan maka status exit
adalah 0.
Percobaan 6 pada langkah kesatu perintah who digunakan untuk melihat
user yang aktif dengan tanggal dan jam. Dan saat menghentikan string makan jika
user terdeteksi maka status exit adalah 0. Sedangkan pada percobaan 7, di
intruksikan nanti jika file dijalankan jika benar makan file akan mejalankan sesuai
intruksi jika salah akan memnjalankan intruksi berikutnya. Pada perintah di
langkah kedua ini kita dapat mengetahui apakah user computer kita aktif. Jika
memang aktif da nada makan akan muncul aktif, apabila tidak ada maka user
tidak.
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test
akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak
maka hasil adalah <> 0. Ada beberapa jenis Operator yaitu
 Operator untuk test
 Test untuk file dan direktori
 LOGICAL && dan ||
 Operator bilangan bulat
 Operator Logical
Dalam pemrograman shell kita juga bisa menggunakan perintah
percabangan if,case dan perulangan while in.selain itu kita juga bisa membuat
sebuah fungsi yang nantinya bisa dipanggil oleh file lain.

KESIMPULAN

Berdasarkan hasil praktikum diatas dapat disimpulkan bahwa :


1. Shell script dibuat dengan editor teks (ASCII editor) dan umumnya
diberikan ekstensi “.sh”.serta Variable shell adalah variable yang dapat
mempunyai nilai berupa nilai String. Variable harus dimulai dengan
alfabet, disusul dengan alfanumerik dan karakter lain. Variabel dapat
ditulis dalam huruf kecil atau huruf besar atau campuran keduanya. Nilai
variable dapat diisi melalui keyboard (stdin) dengan instruksi read.
2. Setiap program setelah selesai dieksekusi akan memberikan informasi
melalui variable spesial $?. Indikasi yang diberikan adalah :
 Bila program berakhir dengan sukses, $? = 0
 Bila program berakhir dengan error, $? ≠ 0

Anda mungkin juga menyukai