MODUL 5
PEMROGRAMAN SHELL (2)
NIM : 20104410052
NAMA : Putri Merly Deleo Karina
JURUSAN : Teknik Informatika
KELAS : TI P2K
TGL. PRAKTEK : 29 Juli 2022
MODUL 5
PEMROGRAMAN SHELL (2)
NIM : 20104410052
NAMA : Putri Merly Deleo Karina
JURUSAN : Teknik Informatika
KELAS : TI P2K
TGL. PRAKTEK : 29 Juli 2022
Disetujui,
NIDN. 0710058506
PENDAHULUAN
Sistem file (file system) atau sistem berkas merupakan struktur logika yang
digunakan untuk mengendalikan akses terhadap data yang ada pada disk. Dengan
kata lain, sistem file merupakan database khusus untuk penyimpanan, pengelolaan,
manipulasi dan pengambilan data, agar mudah ditemukan dan diakses. Hubungan
antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan
interface yang menghubungkan sistem operasi dengan disk. Ketika program
menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem
operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan.
Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file
tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya
bisa dibaca oleh pengguna.
a. -z VarString TRUE jika panjang VarString bernilai zero atau tidak ada teks.
b. String1 == String2 TRUE jika String1 sama dengan String2
a. ekspresi1 -o ekpresi2 TRUE jika salah satu ekspresi benar (or, ||)
b. ekspresi1 -a ekspresi2 TRUE jika ekspresi1 dan ekspresi2 benar (and, &&)
c. !ekspresi TRUE jika ekspresi tidak benar (not!)
TUGAS PRAKTIKUM
1. Buatlah program salin.sh yang menyalin file (copy ) sebagai berikut : salin.sh
file-asalfile-tujuan Dengan ketentuan :
a. Bila file asal tidak ada, berikan pesan, salin gagal.
Penjelasan : untuk memberikan pesan gagal digunakan perintah if, jadi apabila
$# -ne 2 maka akan muncul error lalu diikuti perintah selanjutnya. Setelah itu
dilakukan exit menggunakan perintah exit -1.
b. Bila file tujuan ada dan file tersebut adalah directory, beri pesan bahwa file
tidak bisadisalin ke direktori
c. Bila file tujuan ada dan file biasa, beri pesan apakah file tersebut akan
dihapus, bila dijawab dengan “Y”, maka copy file tersebut.
Penjelasan : untuk memberikan pesan apakah file tersebut akan dihapus, bila
dijawab dengan “Y” dapat dilakukan dengan menggunakan perkondisian if , lalu
menampilkan kalimat menggunakan echo yaitu “file sudah ada? Apakah file akan
dihapus?” Setelah itu user melakukan penginputan (y/n) yang disimpan pada
variable timpa. Setelah itu membuat perkondisian apabila inputan user Y atau y
akan dilakukan pengcopyan file tersebut, apabila tidak maka akan out.
d. Bila file tujuan belum ada, lakukan copy Untuk mengambil nama file,
gunakan parameter $1 dan $2.
Penjelasan : untuk memberika output error apabila diinputkan file yang belum ada
dapat menggunakan perkondisian if dengan $# -ne 2 maka akan muncul error lalu
diikuti perintah selanjutnya. Lalu dapat dilakukan exit.
Penjelasan : pada file .salin.sh memuat keempat perintah pada soal nomor 1 mulai
dari copy file dengan konfirmasi, lalu copy file tetapi file belum tersedia sehingga
muncul error. Penjelasan dari masing-masing perintah dapat dilihat pada halaman
sebelumnya.
Penjelasan : pada tugas pertama ini menggunakan opsi if dan else untuk membuat
percabangan Menggunakan opsi -f untuk mengecek apakah yang diinputkan berupa
file Menggunakan opsi -d untuk mengecek apakah yang di inputkan berupa directory-
Mengggunakan opsi -o untuk membuat atau.
Penjelasan : Maksud dari [ -d $dir ] && ls -ld $dir adalah. Pertama akan di cek
apakah termasukdirectory atau tidak, dan jika yang dimasukkan merupakan directory
maka akandilakukan perintah ls -ld.
3. Dengan shell script pph.sh, hitung PPH per tahun dengan ketentuan sebagai
berikut:
a. 10 juta pertama PPH 15%
Penjelasan : perintah diatas untuk perhitungan Aritmatika PPH apabila masih ada
sisa maka mendapat PPH 35%
Penjelasan : pada file .pph.sh memuat ketiga perintah pada soal nomor 2 mulai
dari perhitungan pph sebesar 10 jt hingga 25 jt menggunakan perhitungan
aritmatika. Penjelasan dari masing-masing perintah dapat dilihat pada halaman
sebelumnya.
Penjelasan : Maksud dari script fungsi confirm diatas adalah melakukan pengulangan
hingga kitamemilih no atau melakukan return 1, jika kita memilih Y maka akan
mereturn 0, jikakita memilih N maka akan me-return 1 dan jika kita memilih C maka
akan me-return2. program akan berhenti mengulang jika status exit sama dengan 1
atau ketika kita pilih NO. Untuk $ answer=`echo "$answer" | tr '[a-z]' '[A-Z]'` Berfungsi
agar jawaban yangkita simpan pada variabel aswer di translate dari [a-z] ke [A-Z]
maksudnya dari hurufkecil ke besar, misal kita meng inputkan ‘asd’ maka hasilnya
akan menjadi ‘ASD’.
IMPLEMENTASI PRAKTIKUM
Penjelasan : Perintah echo $VPT digunakan untuk melihat isi VPT. Sedangkan
saat kitamemasukkan perintah tersebut ternyata isinya kosong. Hal tersebut
dikarenakan kita gagal menginput kata “Teknik Informatika” pada VPT
Penjelasan : Pertama membuat 3 variable dengan nama V1, V2, V3. Cara
membuat variablemenggunakan perintah seperti pada gambar. Missal $
V1=’Teknik Informatika’. Membuat V4 dengan perintah $ v4=$V1$V2$V3. Ingat
menggunakan v kecil pada v4 (sifat case sensitive). Kemudian membaca isi file
v4 dengan perintah $ echo $v4.
Penjelasan : Perintah $ echo $V3 digunakan untuk membaca isi file V3. Sehingga
outputnya adalah unisba, karena unisba adalah isi dari file V3.
e. Variabel dapat berisi instruksi, yang kemudian bila dijadikan input untuk
shell, instruksitersebut akan dieksekusi
Penjelasan : membaca isi variable nama dengan perintah echo $(nama variable)
. sama seperti saat membaca isi variable VPT
Penjelasan : maksud dari program diatas adalah pertama mencetak “ nama anda
:” kemudiankita akan disuruh memasukkan nama yang akan disimpan dalam
variable nama (perintah read nama). Selanjutnya program akan mencetak “
alamat:” kemudian akan disuruh memasukkan alamat yang akan disimpan
didalam variable alamat (perintah read alamat).
LAPORAN KE- 5 PRAKTIKUM SISTEM OPERASI
Putri Merly Deleo Karina (20104410052)
c. Eksekusi program prog02.sh
Penjelasan : kode program ini sama dengan program kode dengan sebelumnya
hanya saja ditambahkan –n yang berarti menghilangkan baris baru setelah
mencetak kata.
Penjelasan : Terlihat outputnya kita menginputkan nama, alamat, dan kota berada
disamping, bukan bawahnya. Perhatikan gambar prog2 sebelum ini.
f. Variabel kosong adalah variable yang tidak mempunyai nilai. Variabel ini
didapat atasassignment atau membaca dari keyboard atau variable yang
belum didefinisikan$ read nama.
Penjelasan : Read nama adalah untuk mengisi variable nama, kemudina kita
menginputkan <CR>dan saat kita baca dengan echo $nama ternyata isinya
adalah <CR>. Variable tersebut bukan termasuk variable kosong Kemudian kita
membuat variable A tanpa isi, dan variable b tanpa isi juga. Membuatvariable
kosong bisa dengan 2 cara diatas.
LAPORAN KE- 5 PRAKTIKUM SISTEM OPERASI
Putri Merly Deleo Karina (20104410052)
g. Variabel dapat disubtitusikan dengan hasil eksekusi dari sebuah instruksi.
Pada contohdibawah, instruksi pwd dieksekusi lebih dahulu dengan
sepasang Back Quate (tanda kutipterbalik). Hasil dari eksekusi tersebut
akan masuk sebagai nilai variable DIR
Penjelasan : Maksud dari program diatas adalah output dari perintah Whoami
akan disimpandidalam variable NAMA dan kemudian kita mencetak “ Nama
pengguna aktif adalah (output whoami)”
i. Eksekusi prog03.sh
Penjelasan : Output dari program tersebut terlihat pada gambar, yang mana
output dari Whoami adalah whoami.
Penjelasan : pertama membuat file prog04,sh dengan cara yang sama dengan
membuat file prog)1.sh, prog02.sh, ataupun prog03.sh. Maksud dari program
diatas adalah pertama pada baris nama program adalah $0. $0 maksudnya
adalah menampilkan parameter nol yaitu berupa nama program. Program yang
digunakan adalah program bash maka outputnya adalah bash. Baris selanjutnya
parameter 1 adalah $1.
Penjelasan : Pada file prog04.sh versi 2 ini hanya ada tambahan baris “ jumlah
parameter yangdiberikan $# ”. Maksud dari $# adalah menghitung parameter
yang diberikan.
Penjelasaan : perintah $ grep xyz /etc/passwd adalah mencari file xyz didalam
directory etc didalam passwd Maksud dari status exit adalah jika file yang dicari
ditemukan maka status exitnya adalah 1. Cara mengecek status exit adalah
dengan $?
Penjelasan : Saat mencari suatu file dan ternyata ketemu maka status exit akan
menunjukan 0.Contohnya pada percobaan ini mencari user (user ubuntu saya:
putri) dietc/passwd dan ketemu. Maka saat dilakukan pengecekkan status exit
menunjukkan 0.
Penjelasan : Perintah who menunjukan semua user. Perintah who | grep <user>
bermaksud mencari kata putri didalam output dari perintah who, dan ternyata kata
putri ditemukan dari who, sehingga saat dilakukan pengecekkan status exitnya
adalah 0.
Penjelasan : maksud dari perintah if diatas adalah mengecek status exit dengan
konstrksi if.- Maksud dari program diatas adalah Jika status exit 0 maka ia akan
mencetak pemakai tersebut aktif
c. Nomor (1) dan (2) diatas dapat disederhanakan dengan$ if who|grep <user>
>/dev/null
Penjelasan : Pertama kita mengecek user yang sedang aktif dengan perintah
who. Kemudian kita menjalankan program yang telah kita buat dengan memberi
(titik)didepan file . prog05.sh Kemudian kita inputkan nama user yang sedang aktif
sesuai yang muncul pada perintah who. Lihat gambar karena user yang sedang
aktif adalah putri, dan saya menginputkan kata putri maka program mencetak “
putri sedang aktif Selanjutnya kita jalankan lagi program prog05.sh dan kita
menginputkan kata merly.Karena merly bukan merupakan user yang aktif maka
program mencetak “merly tidakaktif ”.
Penjelasan : Cara membuat file prog06.sh sama dengan membuat file sebelum
sebelumnya.- Maksud dari program diatas adalah pertama kita diminta
memasukkan nama.
Penjelasan : Ternyata ada error pada sintax then. Tapi program ini dimaksudkan
memiliki fungsi yang sama dengan program sebelumnya.
b. File prog99.sh tidak ada, karena itu exit status adalah FALSE dan instruksi
echo tidakdijalankan
Penjelasan : Pada percobaan ini diatas dijelaskan bahwa jika prog99.sh tidak ada
maka program echo tidak dijalankan.
Penjelasan : Perintah tersebut maksudnya adalah saat file prog01.sh ada, maka
akan menjalankan program . prog01.sh dan outputnya adalah program
prog01.sh.
Penjelaasan : File prog99.sh tidak ada, karena itu exit status adalah FALSE, hasil
masih tergantungatas exit status instruksi ke dua, karena itu instruksi echo
dijalankan.
Penjelasan : Perintah diatas adalah operator bilangan bulat untuk test Variabel
i berisi 5 maka dengan notasi test, variabel I eq (sama dengan) 5 dan
apabiladijalankan instruksi echo $? status exit bernilai 0 karena i memang berisi
dengan nilai5.
b. Menggunakan operator dengan notasi [ ] (penganti notasi test)
Penjelasan : Ini adalah cara lain untuk mengetest operator bilangan bulat yaitu
dengan notasi [ ]
Penjelasan : Maksud dari program diatas adalah jika income antara 0 sampai
dengan 10000 maka akan mencetak biaya =10, jika income antara 10000
sampai dengan 50000 maka akan mencetak biaya = 25. Jika lebih dari keduanya
maka akan mencetak biaya=35.
Penjelasan : Ekpresi penulisan expr antara lain adalah: Dipisahkan oleh ruang
disetiap item Digunakan backslash (\) untuk shell tertentu.
Penjelasan : Lihat saat kita menginputkan angka satu maka akan muncul
pengguna yansedang aktifdan lain sebagainya.
Penjelasan : Perintah tersebut adalah perintah pada kontruksi for do done. Yang
mana diawali dengan for yaitu variable nama ada Putri, Merly, Deleo, dan
Karina. Dan di jalankan dengan perintah do dan diakhiri dengan done Maksud
dari program diatas menampilkan semua kata dalam Putri Merly Deleo Karina
c. Buatlah file prog12.sh yang berisi konstruksi for dan wildcard, program ini
akanmenampilkan nama file yang berada di current direktori.
Penjelasan : Output dari program diatas berupa isi dari current directory.
e. Modifikasi file prog12.sh, program ini akan menampilkan long list dari file
yangmempunyai ekstensi txt
Penjelasan : Program diatas akan menampilkan seluruh data yang berada pada
current directoryyang mempunyai extensi txt
Penjelasan : Karena pada directory yang saat ini di gunakan tidak terdapat file
yang berformat txt maka program tersebut tidak menemukan adanya file
tersebut sehingga munculnotifikasi No such file or directory.
Penjelasan : Pada program ini termasuk program dummy yang mana variable A
dinyatakan dengannilai -gt 10. Kemudian setelah nilai dimasukkan akan
mencetak OK.
Penjelaasan : Pada program ini kita telah membatasi nilai dengan 1-100.
Sehingga saat kitamenginputkan nilai antara 1-100 maka program akan
mencetak OK, tetapi saat kitamenginputkan dengan nilai diluah 1-100 maka
program tidak mencetak OK danlangsung berhenti.
Penjelasan : Pada program ini berisi fungsi untuk return 1 yaitu echo “fungsi f1
dan juga menampilkan status exit.
Penjelasan : Pada program ini saat dijalankan hasilnya seperti Digambar. Yaitu
pertama kitamencetak fungsi f1.
PENUTUP
4.1 Kesimpulan
Pada praktikum kelima pada matakuliah Praktikum Sistem Operasi dengan judul
“PEMROGRAMAN SHELL (2)” dapat disimpulkan bahwa dengan menggunakan
terminal atau command prompt atau shel, pengguna dapat berinteraksi dengan
computer. Penggunaan bash dan pemrograman shell padalinux sangatlah mudah
dan dapat mempermudah pekerjaan sehari hari, seperti dalam daily task.Kita juga
dapat membuat script shell yang nantinya akan berjalan secara otomatis yang
membuatkerja kita lebih efisien dan cepat. Pemrograman shell juga dapat
memudahkan dalam penggunaan linux. Shell atau Command Bash Shell, merupakan
program yang menungguinstruksi dari pemakai, memeriksa sintaks dari instruksi
yang diberikan,kemudian mengeksekusi perintah tersebut. Feature prompt shell bisa
diubah seperti color setting strings. Kita dapat membuat Script untuk melakukan
beberapa penjadwalan padasistem operasi linux. Pemogram pada shell secara
konsep tidak berbeda jauh dengan pemogramanyang lain.
4.2 Saran
Pada praktikum PEMROGRAMAN SHELL (2) ini disarankan untuk lebih memahami
materi yang terkait dengan praktikum yaitu tentang pemrograman shell supaya dapat
memperlancar dalam mengerjakan latihan dan tugas praktikum. Hal ini juga untuk
menunjang praktikum selanjutnya.
Admin. (2021, September 13). Bash scripting – Variabel Dijelaskan Dengan Contoh. emka.web.id.
Retrieved August 2, 2022, from https://emka.web.id/tutorial/tutorial-linux/bash-scripting-
variabel-dijelaskan-dengan-contoh/
Ellingwood, J. (2020, December 1). Cara membaca Dan Mengatur Variabel Lingkungan Dan Shell
Pada Linux. DigitalOcean. Retrieved August 2, 2022, from
https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-
shell-variables-on-linux-id
HelpLogics. (2022, January 13). Bash 'untuk' loop: Tutorial Dan Contoh. HelpLogics.net. Retrieved
August 2, 2022, from https://helplogics.net/id/bash-untuk-loop-tutorial-dan-contoh
Musa Amin. (2016, September 11). Bash script: Seleksi if Dan Case • Musa Amin. Musa Amin.
Retrieved August 3, 2022, from https://musaamin.web.id/bash-script-seleksi-if-dan-case/
Written By Bayu Kanigoro, Kanigoro, B., & Concentration Content Coordinator - Network Systems
| School of Computer Science. (n.d.). Pengenalan Linux. School of Computer Science.
Retrieved August 2, 2022, from https://socs.binus.ac.id/2019/11/06/pengenalan-
linux/#:~:text=Shell%20adalah%20program%20(penterjemah%20perintah,shell%20(internal
%20command)%2C%20ataupun