Script shell yang selama ini Kita pelajari baru membuat sekumpulan perintah-perintah saja tidak ubahnya seperti batch file di DOS. Script shell tidak berhenti hanya sampai di situ saja, script shell pun dapat dibuat menjadi sebuah program yang sempurna.
Fungsi shell selain sebagai antar muka untuk bekerja mengendalikan komputer juga dapat berfungsi layaknya interpreter (contohnya seperti basica yang merupakan interpreter). Karena itu script shell dapat berfungsi seperti layaknya software untuk pengembangan aplikasi.
Untuk itu, suatu software umumnya harus dapat memilih berdasarkan suatu kondisi, menggunakan perulangan. Untuk itu dalam postingan ini dan postingan berikutnya akan mengajarkan untuk menggunakan kondisi pemilihan dan perulangan.
Kondisi pemilihan memungkinkan seurutan perintah hanya dapat dikerjakan apabila suatu kondisi terpenuhi. Kondisi pemilihan di script shell ini ada 2 macam, yaitu dengan menggunakan if dan menggunakan case.
- Kondisi dengan if
Format dari perintah if adalah:
Perintah if dapat menggunakan perintah test untuk melakuan pengujian data, tetapi Kita juga dapat menggunakan tanpa perintah test. Berikut contoh dengan menggunakan perintah ifCode:if Kondisi-Kode-Exit then Perintah-perintah bila $? bernilai 0 fi
Code:echo “Script untuk menghapus file” echo “Nama file yang akan dihapus: “ read NamaFile rm NamaFile if test $? -eq 0 then echo “File telah dihapus” fi Code:echo “Mencoba bentuk if yang lain: “ if test 2 -lt 3 then echo “ternyata 2 lebih kecil dari 3” fi Code:echo “Script untuk menghapus file” echo “Nama file yang akan dihapus: “ read NamaFile rm NamaFile if [ $? -eq 0 ] then echo “File telah dihapus” fi Lihatlah pada dua contoh terakhir, ternyata perintah test dapat digantikan dengan menggunakan tanda kurung siku “[ ]”. Ingat sesudah kurung siku pembuka dan sebelum kurung siku penutup harus diberi spasiCode:echo “Mencoba bentuk if yang lain: “ if [ 2 -lt 3 ] then echo “ternyata 2 lebih kecil dari 3” fi
Seringkali Kita dihadapkan pada 2 keputusan yang harus dijalankan. Pada contoh sebelumnya, kondisinya hanya 1 saja, untuk itu Kita akan mencoba bentuk if yang lainnya. Formatnya adalah sebagai berikut:
Contoh:Code:if Kondisi-Kode-Exit then Perintah-perintah bila $? bernilai 0 else Daftar-perintah bila kondisi bernilai bukan 0 fiContoh di atas dapat menangani untuk 1 atau 2 kondisi. Sekarang bagaimana bila terdapat 3 kondisi atau lebih? Di dalam penggunaan perintah if, Kita juga dapat membuat perintah if di dalam perintah if itu sendiri.
Code:echo “Script untuk menghapus file” echo “Nama file yang akan dihapus: “ read NamaFile rm NamaFile if test $? -eq 0 then echo “File telah dihapus” else echo “File tidak ditemukan” fi Code:echo “Mencoba bentuk if yang lain: “ if test 2 -lt 3 then echo “ternyata 2 lebih kecil dari 3” else echo “Kok bisa ya, kalau 3 lebih kecil dari 2” fi Code:echo “Script untuk menghapus file” echo “Nama file yang akan dihapus: “ read NamaFile rm NamaFile if [ $? -eq 0 ] then echo “File telah dihapus” else echo “File tidak ditemukan” fi Code:echo “Mencoba bentuk if yang lain: “ if [ 2 -lt 3 ] then echo “ternyata 2 lebih kecil dari 3” else echo “Benaran aneh deh, kenapa 3 bisa lebih kecil dari 2” fi
Format dari perintah IF ini adalah:
Bentuk seperti di atas, dapat Kita singkat menjadi:Code:if Kondisi-Kode-Exit then if [Kondisi-Kode-Exit] then perintah else perintah fi else if [Kondisi-Kode-Exit] then perintah else perintah fi fi
Sekarang kita coba untuk membuat script yang lebih kompleks lagi dengan memanfaatkan if bersarang tersebut.Code:if Kondisi-Kode-Exit then if [Kondisi-Kode-Exit] then perintah else perintah fi elif [Kondisi-Kode-Exit] then perintah else perintah fi
Code:#!/bin/bash echo "Script untuk menghitung luas bangun" echo "" echo "1) Luas Persegi Panjang" echo "2) Luas Segitiga" echo "3) Luas Lingkaran" echo "Pilihan Anda? " read pilihan if [ $pilihan -eq 1 ] then echo "Masukkan panjang persegi: " read panjang echo "masukkan lebar persegi: " read lebar let "hasil=$panjang * $lebar" elif [ $pilihan -eq 2 ] then echo "Masukkan tinggi segitiga: " read tinggi echo "Masukkan panjang alas segitiga: " read alas let "hasil=$tinggi * $alas / 2" elif [ $pilihan -eq 3 ] then echo "masukkan jari-jari lingkaran: " read jari let "hasil=$jari ** 2 * 3,14" fi echo "Luas dari bangun yang Anda pilih: $hasil"- Kondisi dengan case
Sebelumnya Kita telah belajar untuk kondisi dengan menggunakan perintah if yang bersarang. Sebenarnya masih ada 1 fungsi yang lebih sederhana ketimbang menggunakan if yang bersarang. Perintah tersebut adalah perintah case. Format perintahnya adalah
Setiap blok perintah untuk suatu kondisi, harus diakhiri dengan tanda ;; untuk memisahkan dengan blok kondisi yang lainnya.Code:case variabel in nilai_1) perintah ;; nilai_2) perintah ;; [nilai_n]) perintah ;; esac
Sekarang kita akan coba menggunakan contoh sebelumnya, tetapi dengan menggunakan perintah case.
Code:#!/bin/bashecho "Script untuk menghitung luas bangun" echo "" echo "1) Luas Persegi Panjang" echo "2) Luas Segitiga" echo "3) Luas Lingkaran" echo "Pilihan Anda? " read pilihan case $pilihan in 1) echo "Masukkan panjang persegi: " read panjang echo "masukkan lebar persegi: " read lebar let "hasil=$panjang * $lebar" ;; 2) echo "Masukkan tinggi segitiga: " read tinggi echo "Masukkan panjang alas segitiga: " read alas let "hasil=$tinggi * $alas / 2" ;; 3) echo "masukkan jari-jari lingkaran: " read jari let "hasil=$jari ** 2 * 3,14" ;; esac echo "Luas dari bangun yang Anda pilih: $hasil"









Reply With Quote






Maunya sih nggak cuma perl aja, tapi juga ke phyton, dsb. tapi apa daya, waktunya udah nggak ada lagi. 

Bookmarks