Praktikum Modul 1 Sistem Operasi
Soal Shift:
- Buatlah shell script yang dapat mengkonversi suhu-suhu, dengan asumsi sebagai berikut: Celcius ke reamur dan sebaliknya, celcius ke Fahrenheit dan sebaliknya, celcius ke Kelvin dan sebaiknya, reamur ke Fahrenheit dan sebaliknya, reamur ke Kelvin dan sebaliknya *lengkap dengan error handling*
- Buatlah program Calculator++ yang minimal dapat melakukan operasi tambah,kurang,kali,bagi,dengan menggunakan shell scripting (*scientific lebih baik,*zenity nilai tambah)
- Buatlah program yang bisa mengganti extensi suatu file dalam suatu directory menjadi extensi file yang diinginkan user
jawaban :
- function convert(){operator=`zenity --title "Konversi Suhu" --text "Selamat Datang Kawan" --list -- radiolist --column "Pilihan" --column "Temperature" True Celcius True Fahrenheit True Reamur True Kelvin`
#operasi untuk celciusif [ $operator = "Celcius" ]thenvalue=$(zenity --entry --text "Masukkan suhu anda (celcius):")fahrenheit=$(echo "scale=2; $value * 9 / 5 + 32" |bc)reamur=$(echo "scale=2; $value * 4 / 5" |bc)kelvin=$(echo "scale=2; $value + 273.15" |bc)
zenity --list \--title="Hasil anda" \--column="Temperature" --column="suhu" \--print-column= fahrenheit "$fahrenheit" reamur "$reamur" kelvin "$kelvin"
#operasi untuk fahrenheitelif [ $operator = "Fahrenheit" ]thenvalue=$(zenity --entry --text "Masukkan suhu anda (Fahrenheit):")celcius=$(echo "scale=2; ($value-32) * 5 / 9" |bc)reamur=$(echo "scale=2; ($value-32)/2.25" |bc)kelvin=$(echo "scale=2; ($value + 459.67)/1.8" |bc)
zenity --list \--title="Hasil anda" \--column="Temperature" --column="suhu" \--print-column= celcius "$celcius" reamur "$reamur" kelvin "$kelvin"
#operasi untuk reamurelif [ $operator = "Reamur" ]thenvalue=$(zenity --entry --text "Masukkan suhu anda (Reamur):")celcius=$(echo "scale=2; $value / 0.8" |bc)fahrenheit=$(echo "scale=2; $value * 2.25 +32" |bc)kelvin=$(echo "scale=2; $value / 0.8 + 273.15" |bc)
zenity --list \--title="Hasil anda" \--column="Temperature" --column="suhu" \--print-column= celcius "$celcius" reamur "$fahrenheit" kelvin "$kelvin"
#operasi untuk kelvinelif [ $operator = "Kelvin" ]thenvalue=$(zenity --entry --text "Masukkan suhu anda (Kelvin):")celcius=$(echo "scale=2; $value - 273.15" |bc)fahrenheit=$(echo "scale=2; $value * 1.8 - 459.67" |bc)reamur=$(echo "scale=2; ($value-273.15)* 4/5 " |bc)
zenity --list \--title="Hasil anda" \--column="Temperature" --column="suhu" \--print-column= celcius "$celcius" reamur "$fahrenheit" kelvin "$reamur"elsezenity --info --text "Error"fi}
function kalkulator()
{
zenity --info --text "hello, ini kalkulator sederhana";
a=$(zenity --entry --text "pick a number");
#memilih operator
op=`zenity --title "Kalkulator" --text "Silahkan Pilih Operator" --list --radiolist -- column "Pilihan" --column "Answer" False "+" False "-" False "/" False "*"`
b=$(zenity --entry --text "pick a number");
#loop sampai var a='='
until [ $a == '=' ]
do
case $op in
"+")let hasil=$a+$b;;
"/")let hasil=$a/$b;;
"-")let hasil=$a-$b;;
"*")let hasil=$a*$b;;
esac
hasil=$(zenity --info --text hasil=$hasil);
a=$(zenity --entry --text "pick a number");
op=`zenity --title "Kalkulator" --text "Silahkan Pilih Operator" --list --radiolist --column "Pilihan" --column "Answer" False "+" False "-" False "/" False "*"`
b=$(zenity --entry --text "pick a number");
done
}3. function rubahext()
{
input=$(zenity --entry --text "Masukkan nama file:")
if [ -f $input ]
then
eks=$(zenity --entry --text "Masukkan jenis ekstensi file:")
mv ${input} ${input}.$eks
zenity --info --text=$input"."$eks"Sukses"
else
zenity --error --text="Anda salah memasukkan nama file"
fi
}
disini kami membuat 3 soal diatas menjadi satu tampilan sehingga ditambahkan fungsi main :
#main
ans=`zenity --title "Pilih Program" --text "Selamat Datang" --list --radiolist --column "Pilihan" --column "Program" True Kalkulator True KonversiSuhu True RubahEkstensi`
case $ans in
"Kalkulator")kalkulator;;
"KonversiSuhu")convert;;
"RubahEkstensi")rubahext;;
esac
Tampilannya seperti berikut:
kemudian pilih kalkulator:
klik ok dan muncullah kata pembukaan dari kalkulator sederhana
klik ok dan tampillah kotak dimana kita diminta untuk memasukkan angka pertama yang ingin kita proses
klik ok dan pilihlah operasi mana yang ingin dikerjakan
Pada contoh diatas kita mencoba operasi penjumlahan kemudian klik ok
Setelah itu muncullah kotak dimana kita diminta memasukkan angka kedua yang ingin diproses
Kemudian muncullah hasil dari operasi diatas .
Aneh. Malah sesuatu yang sangat besar seperti Zenity ini sepi pengunjung dan sepi komentator. Justru saya yakin sekali Zenity ini (atau Kdialog dan semacamnya) adalah tonggak masa depan Linux desktop. Inilah Autoit untuk Linux! Dan ini akan sangat mengurangi kerumitan. Anda bisa mencari pahala dengan memudahkan kerja orang lain. Salah satunya dengan Zenity ini.
BalasHapusAkang, teruslah menulis. Akang sendiri mungkin tidak tahu betapa besar manfaat Zenity ini sesungguhnya. Saya sangat senang. Saya simpan tulisan ini. Terima kasih.
keren , aku lihat buat referensi tugas. makasih
BalasHapus