Pemrograman Shell (2)

dokumen-dokumen yang mirip
Subrutin atau Fungsi. Praktikum 9 A. T U J U A N B. DASAR TEORI

1. Mengenal Profile 2. Mengerti konsep history 3. Membuat dan mengeksekusi shell script sederhana 4. Mengerti Job control

Shell Lanjutan. Praktikum 5 A. T U J U A N

Pemrograman Shell (1)

BAB VIII SHELL (Pertemuan 10 dan 11)

Zaid Romegar Mair Lisensi Dokumen: Gambaran umum : Break statement

Praktikum 5-B. Bekerja Dengan Bash Shell POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 SHELL. History pada Bash Shell Membuat Bash Shell Script

Otomasi Shell Script Lanjut

Praktikum 8. Pemrograman Shell 2

Pemrograman Shell Linux

1. Mengenal konsep proses di Linux 2. Mengerti konsep sinyal dan bagaimana cara mengelola sinyal tersebut

Pemrograman Bash Shell di Linux. agussalim

Bab 6 Konfigurasi Bash Shell

TEORI. Gbr. Shell berhubungan langsung dengan kernel sistem operasi

Praktikum 6-A POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 SHELL SCRIPT. Pemrograman Shell

KATA PENGANTAR Dengan menyebut nama Allah STW yang Maha Pengasih dan Maha Penyayang, kita panjatkan puji dan syukur atas kehadirat-nya, yang telah mel

MODUL 01 SISTEM OPERASI

I. DASAR TEORI. Perintah Dasar Linux

Tutorial J A R I N G A N. Perintah Dasar Linux (Debian 5)

Shell dan Pemrograman Shell

POSTEST SISTEM OPERASI. Disusun Oleh : : Nurul Annisa Putri. Nim : Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

PRAKTIKUM SISTEM OPERASI TEKNIK INFORMATIKA

Proses pada Sistem Operasi Linux Manajemen Proses pada Sistem Operasi Linux

I. Dasar Teori. Shell Programming

Praktikum 5. Proses dan Manajemen Proses 2 POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 KONSEP PROSES PADA SISTEM OPERASI LINUX

Mengontrol setting internal option shell. Me-load (mengambil) nilai parameter posisi pada shell.

1. Mengenal konsep proses di Linux 2. Mengerti konsep sinyal dan bagaimana cara mengelola sinyal tersebut

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

shell. Kenapa Shell? User dapat mencoba unix mereka. Shell yang pertama kali dibuat adalah Bourne shell (sh).

LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP

Praktikum 1. Perintah Dasar Sistem Operasi Linux

Modul praktikum OS. MANUAL Linux menyediakan manual secara on-line. Beberapa kunci keyboard yang penting dalam menggunakan manual adalah : Q

Perintah Perintah Dasar Pada Sistem Operasi Linux

Praktikum 2. Operasi Linux. POKOK BAHASAN: Format Instruksi pada Sistem Operasi Linux Perintah-Perintah Dasar pda Sistem Operasi Linux

Laporan Praktikum Modul 9 Sistem Operasi

PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Perulangan. Praktikum 7 A. T U J U A N B. DASAR TEORI

Praktikum 5. Bekerja Dengan Bash Shell POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 SHELL. History pada Bash Shell Membuat Bash Shell Script

Praktikum 5-A. Bekerja Dengan Bash Shell POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 SHELL. History pada Bash Shell Membuat Bash Shell Script

Pemrograman Filter (awk)

Praktikum 1. Perintah Dasar Sistem Operasi Linux. Format Instruksi pada Sistem Operasi Linux Perintah-Perintah Dasar pda Sistem Operasi Linux

BATCH FILE. Merupakan sekumpulan perintah DOS yang disusun dan disimpan dalam sebuah file yang berekstensi.bat.

Praktikum 3 Perintah DasarSistem Operasi Linux

4. Pembuatan File Batch

Managemen File. File mempunyai beberapa atribut, antara lain : Tipe file : menentukan tipe dari file, yaitu :

Perintah Dasar Shell. Praktikum 1 A. T U J U A N B. DASAR TEORI. command), ataupun perintah eksekusi suatu file progam (eksternal command),

PERTEMUAN KE <JUDUL PERTEMUAN PRAKTIKUM>

File yang berisi koleksi program yang dapat dieksekusi

Praktikum Sistem Operasi (Pertemuan 03) Ekspansi Shell. Husni

Basic Comand Line (perintah dasar) pada Linux melalui terminal

Paktikum1. Perintah Dasar Sistem Operasi Linux D3 TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET

MODUL I LINUX DASAR. etc bin usr sbin home. Coba.txt. Gambar 1 Struktur Hirarki Direktori

NAMA : FAISAL AMIR NIM : KELAS : SISTEM KOMPU PERINTAH DASAR PADA LINUX

Laporan Sistem Operasi Kode Perintah Dasar Linux

PERINTAH DASAR LINUX. Iqbal Dhea Furqon T Prakikum Sistem Operasi H. sudo

BAB 2 STATEMENT-STATEMENT PADA VBA EXCEL

LAPORAN PRAKTIKUM SISTEM OPERASI. Perintah Dasar pada Linux

Dalam Command Line Interface (CLI), kita masuk sebagai User. standart, yang tertulis hanyalah username dan hostname, contoh

LAPORAN PRAKTIKUM SISTEM OPERASI

Sistem Terminal pada Linux

Instalasi dan Konfigurasi Java

Array=(element1 element2 elementn)

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

P1 : Perintah Dasar Sistem Operasi Linux

POSTEST SISTEM OPERASI. Disusun Oleh : : Nurul Annisa Putri. Nim : Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

Command Line Interface

Praktikum 6. Bekerja Dengan Bash Shell POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 SHELL. ü History pada Bash Shell ü Membuat Bash Shell Script

BAB IV HASIL DAN UJI COBA

Pemakaian Variabel. Praktikum 4 A. T U J U A N B. DASAR TEORI

Praktikum Sistem Operasi (Pertemuan 06) Pemrograman Shell. Husni

Sistem Administrasi Linux

User yang dapat menggunakan sistem Unix dibagi menjadi 3, yaitu :

DEPARTEMEN PENDIDIKAN NASIONAL BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI

Setting local IP address dan subnet mask dari VoIP Gateway tersebut. Berikut adalah cara mengkonfigurasi modem ADSL:

Proses pada Sistem Operasi Linux Manajemen Proses pada Sistem Operasi Linux

Pemrograman Input/Output (I/O)

PEMROGRAMAN TERSTRUKTUR MENGGUNAKAN MATLAB

PRAKTIKUM IV. Shell Developer Lokasi Keterangan Brian Fox dan Free Software. TCSH Berkeley California

LABORATORIUM JARINGAN KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA PRAKTIKUM SISTEM OPERASI BAB V NIM :

DIALOG B OX Minggu ke-7

eko-dok.web.ugm.ac.id

Praktikum Sistem Operasi Proses dan Manajemen Proses. Zaid Romegar Mair, ST., M.Cs

Praktikum Modul 6 Shell Programing

PRAKTIKUM ISYARAT DAN SISTEM TOPIK 0 TUTORIAL PENGENALAN MATLAB

Writting Procedure and Function

Masuk / Keluar Sistem UNIX

MySQL J A M K E T I G A

Praktikum 2. Operasi Input Output

ls = Melihat isi direktori #ls NamaFolder

MODUL I PENGENALAN MYSQL

MODUL VII MANAJEMEN PROSES

Modul Praktikum Sistem Operasi PERTEMUAN KE-VII

BAB I PENDAHULUAN 1 BAB I PENDAHULUAN

LAPORAN PRAKTIKUM SISTEM OPERASI

Otodidak VBA MS Excel untuk Pemula

Pemrograman Komputer B

Bergaul dengan FreeBSD

MODUL 1 Perintah Dasar Pada Windows dan Linux

Transkripsi:

Praktikum 9 Pemrograman Shell (2) A. T U J U A N 1. Mengetahui variable local dan global di shell 2. Mengetahui eksekusi bersyarat 3. Mengenal fungsi dan cara memanggilnya 4. Mampu membuat user interface dan dialog utility 5. Mampu melakukan trap command B. DASAR TEORI VARIABLE LOKAL DAN GLOBAL PADA SHELL Secara umum semua variable adalah lokal. Variable lokal digunakan pada shell yang sama, jika anda me-load atau memanggil shell lainnya (dengan mengetik /bin/bash pada prompt) maka shell yang baru tersebut akan mengabaikan variable pada shell sebelumnya. Global shell didefinisikan : Anda dapat mengkopi variable shell yang lama ke shell yang baru. Untuk membuat suatu variable lokal menjadi global digunakan perintah export sintaks : export variable1, variable2,...variablen

EKSEKUSI BERSYARAT Operatornya adalah && (dibaca AND) dan (dibaca OR) sintaks : command1 && command2 command1 command2 anda dapat menggunakan keduanya sintaks : command1 && command2 command3 jika command1 sukses dieksekusi maka shell akan menjalankan command2 dan jika command1 tidak sukses maka shell akan mengeksekusi command3. 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 variable local atau

global. Hal yang perlu diperhatikan, nama variable yang digunakan dalam sebuah fungsi, jangan sampai bentrok dengan nama variable yang sama di luar fungsi, sehingga tidak terjadi isi variable berubah. USER INTERFACE DAN DIALOG UTILITY Program/Shell Script yang bagus harus dapat berinteraksi dengan user. Untuk itu kita dapat menggunakan : 1. Command line argument, misal $./coba.sh 4 3, dimana 4 dan 3 adalah command line argument bagi script coba.sh 2. Statemen echo dan read, untuk membaca input dari prompt. Selain itu dapat juga menggunakan dialog utility. sintaks : dialog --tilte {judul} --backtitle {judul belakang} {Box opsi} dimana Box opsi : --yesno {teks} {tinggi} {lebar} --msgbox {teks} {tinggi} {lebar} --infobox {teks} {tinggi} {lebar} --inputbox {teks} {tinggi} {lebar}[{init}] --textbox {teks} {tinggi} {lebar} --menu {teks} {tinggi} {lebar} {menu} {tinggi} {tag1} item1}... TRAP COMMAND Berfungsi untuk menjebak suatu command. sintaks :

trap {commands} {signal numberlist} Signal Number Keterangan 0 shell exit 1 hangup 2 interrupt (CTRL+C) 3 quit 9 kill C. LANGKAH-LANGKAH 1. Masuk ke sistem operasi Linux. 2. Login sebagai mahasiswa. 3. Lakukan operasi pembuatan variable local dan global. 4. Lakukan eksekusi bersyarat 5. Buatlah fungsi 6. Buat user interface : message box, input box, yesno box, dialog dengan menu 7. Lakukan trap command D. PERCOBAAN Percobaan 1 : Variable Local 1. Ketikkan variable berikut : $vehc=bus $echo $vehc 2. Buka shell baru (yang kedua), lihat isi variable

$/bin/bash $echo $vehc 3. Ketik variable di shell yang baru, tampilkan variable tersebut $vehc=sedan $echo $vehc 4. Keluar dari shell baru, tampilkan variable $exit $echo $vehc Percobaan 2: Variable Global 1. Ketik variable berikut : $vehc=bus $echo $vehc 2. Export variable tersebut agar menjadi global, masuk ke shell baru, lihat hasilnya $export vehc $/bin/bash $echo $vehc 3. Keluar dari shell baru $exit $echo $vehc Percobaan 3 : Eksekusi Bersyarat 1. Ketik command berikut : $rm myfile && echo File berhasil dihapus echo File tidak terhapus

Percobaan 4 : Fungsi 1. Ketik fungsi berikut setelah prompt $ Hallo() { echo Hallo $LOGNAME, have a nice day return } 2. Panggil fungsi tersebut $Hallo 3. Fungsi ini akan hilang ketika komputer di-restart. Untuk mengatasi hal ini dan untuk menambahkan fungsi anda dan untuk otomatisasi task harian, masukkan fungsi ke dalam file /etc/bashrc. Untuk ini anda harus logon sebagai root. $ su l 4. Buka file /etc/bashrc #vi /etc/bashrc 4.Tekan shift+g untuk ke akhir file, tambahkan fungsi today() berikut untuk mencetak format tanggal : # today() untuk mencetak tanggal # untuk menjalankan fungsi ini ketik today setelah prompt $ atau # today() { echo Hari ini adalah `date +"%A %d in %B of %Y (%r)"` return } 5. Simpan file, lihat file setelah dimodifikasi

#cat /etc/bashrc 6. Fungsi ini akan tersedia untuk semua user. Untuk menjalankan fungsi ini anda harus exit dahulu, lalu login kembali, kemudian jalankan fungsi ini #today $today 7. Untuk membuat fungsi bagi user tertentu dan hanya tersedia bagi user tertentu maka buka file.bashrc di home directory user $ vi.bashrc 8. Tekan (Shift+G) untuk ke akhir file, kemudian ketik contoh fungsi berikut Hai() { } echo Hai $LOGNAME! Tidak akan ada perubahan, kecuali anda login kembali! echo Tekan sembarang tombol read return 9. Simpan lalu exit. Untuk menjalankan fungsi ini anda harus exit dahulu lalu login kembali. Fungsi ini akan tersedia hanya bagi user anda, tidak bagi semua user di sistem. $ Hai Note : gunakan file.bashrc di home direktori anda untuk menambahkan alias dan fungsi Percobaan 6 : file.bash_logout 1. Untuk membuat pesan atau aksi ketika anda logout, buka file.bash_logout lalu tambahkan apa yang ingin anda jalankan ketika logout. Misal ketika logout anda ingin menampilkan pesan goodbye $vi.bash_logout 2. Lalu ketik pesan echo Goodbye $LOGNAME tekan sembarang tombol

Percobaan 7 : User Interface 1. Buat script di bawah ini untuk membaca masukan dari user $ cat > userinterf # script menggunakan echo dan read untuk interaksi user echo "Ketikkan nama anda..please :" read nama echo "Umur anda..please :" read umur umurbaru=`expr $umur + 1` echo "hallo $nama, tahun depan umurmu $umurbaru.." 2. Simpan lalu jalankan $chmod 755 userinterf $./userinterf Percobaan 8 : User Interface 1. Buat script berikut : $cat > menu1 while : do clear echo "---------------------------" echo " Menu Utama" echo "---------------------------" echo "[1] Lihat tanggal hari ini" echo "[2] Lihat file pada direktori" echo "[3] Lihat kalender" echo "[4] Buka teks editor untuk mengetik surat" echo "[5] Keluar" echo "===========================" echo -n "Pilihan anda [1-5]: " read pil case $pil in 1) echo "Hari ini `date`, tekan enter..." ; read ;; 2) echo "File di direktori `pwd`" ; ls -l ; echo "Tekan enter..." ; read ;; 3) cal ; echo "Tekan enter..." ; read ;; 4) vi ;; 5) exit 0 ;; *) echo "Ooopss..silakan pilih 1-5.."; echo "Tekan enter.." ; read ;;

esac done 2. Jalankan script tersebut Percobaan 9 : Dialog Utility 1. Ketik script berikut sebagai contoh penggunaan dialog utility. $cat > dialog1 dialog --title Linux Dialog Utility Infobox --backtitle Belajar Shell Script Linux --infobox Dialog Box ini disebut infobox, untuk menampilkan informasi di layar..tekan sembarang tombol... 7 50 ; read 2. Simpan dan jalankan $chmod +x dialog1 $./dialog1 Percobaan 10 : Message Box 1. Ketik script ini untuk membuat message box $cat > dialog2 dialog --title Linux Dialog Utility Message Box --backtitle Belajar Shell Script Linux --msgbox Dialog Box ini disebut message box, untuk menampilkan informasi di layar beserta tombol OK..Tekan sembarang tombol... 9 50 ; 2. Simpan dan jalankan $chmod +x dialog2 $./dialog2 Percobaan 11 : YesNo Box

1. Ketik script berikut untuk membuat yesno box $cat > dialog3 dialog --title Peringatan : Penghapusan File --backtitle Belajar Shell Script Linux --yesno \nyakin ingin menghapus '/usr/surat/lamarankerja' file 7 60 sel=$? case $sel in 0)echo user akan menghapus file ;; 1)echo user tidak jadi menghapus file ;; 255)echo dibatalkan user, dengan menekan tombol [ESC] ;; esac 2. Simpan dan jalankan $chmod +x dialog3 $./dialog3 Percobaan 12 : InputBox 1. Ketik script berikut untuk membuat input box $cat > dialog4 dialog --title Inputbox mengambil input dari user --backtitle Belajar Shell Script Linux --inputbox Silakan masukkan nama anda 8 60 2>/tmp/input.$$ sel=$? na=`cat /tmp/input.$$` case $sel in 0) echo Hallo $na ;; 1) echo Cancel ditekan ;; 255) echo Tombol [ESC] ditekan ;; esac rm -f /tmp/input.$$ 2. Simpan dan jalankan $chmod +x dialog4 $./dialog4

Percobaan 13 : Dialog Menu 1. Ketik script berikut untuk membuat menu dengan dialog $cat > dialogmenu dialog --backtitle Belajar Shell Script Linux --title Menu Utama --menu Gunakan panah [UP] [DOWN], [ENTER] untuk memilih 15 50 3 Tanggal Menampilkan Tanggal Kalender Melihat Kalender Editor Membuka Editor Vi 2>/tmp/menuitem.$$ menuitem=`cat /tmp/menuitem.$$` opt=$? case $menuitem in Tanggal) date;; Kalender) cal;; Editor) vi;; esac 2. Simpan dan jalankan $rm -f /tmp/menuitem.$$ $chmod +x dialogmenu $./dialogmenu Percobaan 14 : Trap Command 1. Ketik command berikut $cat > tessinyal ls -R / 2. Simpan dan jalankan $chmod +x tessinyal $./tessinyal 3. Tekan [ctrl]+c untuk menghentikannya. Ctrl+c merupakan sinyal 4. Sekarang buat script di bawah ini

$cat > tessinyal1 #Mengapa harus menjebak sinyal? Take_input() { recno=0 clear echo "Aplikasi Catatan Appointment di Linux" echo -n "Masukkan nama file database : " read filename if [! -f $filename ];then echo "Maaf, $filename tidak ada, sekarang akan dibuat $filename database" echo "Aplikasi Catatan Appointment database file" > $filename fi echo "Pemasukan data pada tanggal: `date`" >/tmp/input0.$$ while : do echo -n "Judul Appointment :" read nama echo -n "Time :" read waktu echo -n "Catatan :" read catatan echo -n "Data Okay (y/n)?" read jawaban } done if [ $jawaban = y -o $jawaban = Y ]; then recno=`expr $recno + 1` echo "$recno. $nama $waktu $catatan" >> /tmp/input0.$$ fi echo "Tambah data lagi (y/n)?" read isnext if [ $isnext = n -o $isnext = N ];then cat /tmp/input0.$$ >> $filename rm -f /tmp/input0.$$ return #stop loop fi #panggil fungsi Take_input 5. Simpan dan jalankan $chmod +x tessinyal1 $./tessinyal1

6. Setelah mengisi beberapa data, tampilkan isi database dengan perintah cat $cat namadatabase 7. Jalankan lagi file tersebut $./tessinyal1 Cukup isi satu data saja, setelah itu tekan ctrl+c sebelum menjawab pertanyaan Tambah data (y/n) maka program akan terminated(berhenti), dan temporay file akan tertinggal di /tmp direktori. 8. Cek keberadaan temporary filename $ls /tmp/input* 9. Untuk menghindari hal di atas maka kita perlu mendeteksi sinyal dengan menggunakan trap command. Untuk itu tambahkan trap statement sebelum memanggil fungsi Take_input, yaitu del_file 2. Trap statementnya yaitu fungsi del_file, 2 berarti penekanan CTRL+C. Buka file script di atas dan modifikasi sehingga menjadi sebagai berikut : $vi tessinyal1 del_file() { echo" Penjebakan penekanan tombol [ctrl]+c" rm -f /tmp/input0.$$ exit 1 } Take_input() { recno=0 clear echo "Aplikasi Pengingat Appointment di Linux" echo -n "Masukkan nama file database : " read filename if [! -f $filename ];then echo "Maaf, $filename tidak ada, sekarang akan dibuat $filename database" echo "Aplikasi Pengingat Appointment database file" >

$filename fi echo "Pemasukan data pada tanggal: `date`" >/tmp/input0.$$ while : do echo -n "Judul Appointment :" read nama echo -n "Waktu :" read waktu echo -n "Catatan :" read catatan echo -n "Data Okay (y/n)?" read jawaban } done if [ $jawaban = y -o $jawaban = Y ]; then recno=`expr $recno + 1` echo "$recno. $nama $waktu $catatan" >> /tmp/input0.$$ fi echo "Tambah data lagi (y/n)?" read isnext if [ $isnext = n -o $isnext = N ];then cat /tmp/input0.$$ >> $filename rm -f /tmp/input0.$$ return #stop loop fi #memanggil fungsi trap del_file 2 Take_input 10. Jalankan script di atas $./tessinyal1 11. Coba tekan CTRL+C ketika pengisian data. Periksa temporary file $ls /tmp/input*