• Tidak ada hasil yang ditemukan

GRAPHICAL USER INTERFACE (GUI)

N/A
N/A
Protected

Academic year: 2021

Membagikan "GRAPHICAL USER INTERFACE (GUI)"

Copied!
9
0
0

Teks penuh

(1)

GRAPHICAL USER

INTERFACE

(GUI)

Praktikum

14

A. T U J U A N

1. Membuat aplikasi GUI untuk kotak dialog menggunakan script zenity. 2. Membuat beberapa kotak dialog seperti question, calendar, entry, error, file

selection, list, notification, progress, warning, scale, info dan text info dialog.

B. DASAR TEORI

Zenity

Zenity mempunyai peran sebagai pembuat GUI pada shell programing atau yang disebut Grafik User Interface dimana mempunyai fungsi mempermudah user untuk mengoperasikan programnya melalui grafis secara interaktif. Zenity mempunyai banyak opsi seperti:

--entry : meminta input dari keyboard

--info : menampilkan text yang dimana berfungsi sebagai sebuah info --list : membuat list berdasarkan column dan row secara tertabel dan lain-

lain.

Dengan opsi seperti diatas zenity dapat digunakan untuk membuat sebuah question dialog box. Disamping itu zenity juga dapat digunakan untuk aplikasi yang lain seperti calendar, entry, error, info, file selection, list, notification, progress, warning, scale dan text info. Pada bab ini akan di ilustrasikan bagaimana membuat aplikasi zenity dialog.

(2)

Kalender Dialog

Dengan menggunakan option –-calendar dapat dibuat sebuah kalender dialog. Pada kalender dialog ini user diijinkan untuk memilih inisial yang khusus pada perintah date yaitu dengan menggunakan option :

--text=text

Spesikasi “text” digunakan untuk menampilkan teks pada kalender dialog.

--day=day

Spesifikasi “day” digunakan untuk memilih tanggal di dalam kalender dialog. Day harus diberi nilai angka untuk tanggal dari 1 sampai 31.

--month=month

Spesifikasi “month” digunakan untuk memilih bulan di dalam kalender dialog. Month harus diberi nilai untuk bulan dari 1 sampai 12.

--year=year

Spesifikasi “year” digunakan untuk memilih tahun di dalam kalender dialog.

--date-format=format

Menentukan kembali format dari dialog kalender setelah seleksi tanggal (date). Format standar tergantung pada system lokal dan format yang dapat diterima oleh fungsi strftime misalnya %A %d/%m/%y.

File Selection Dialog

Untuk membuat file selection dialog digunakan opsi --file-selection. Zenity akan melakukan seleksi file atau direktori ke output standard. Mode default file selection dialog adalah buka file. File selection dialog memiliki beberapa opsi:

--filename=filename

(3)

--multiple

Menentukan pemilihan beberapa nama file dalam dialog pemilihan file.

--directory

Menentukan pilihan direktori pada dialog pemilihan file.

--save

Set dialog pemilihan file ke mode save. --separator=separator

Menentukan string yang digunakan untuk membagi kembali daftar nama file.

List Dialog

Menggunakan opsi --list Untuk membuat list dialog. Zenity akan mengembalikan entry dalam kolom pertama baris teks yang dipilih ke output standar. Data untuk dialog kolom harus ditentukan menurut kolom, baris demi baris. Data dapat disediakan untuk dialog melalui input standar. Setiap entri harus dipisahkan oleh karakter baris baru. Jika menggunakan opsi --checklist atau --radiolist, setiap baris harus dimulai dengan ’TRUE’ atau ’FALSE’. List dialog memiliki opsi berikut:

--column=column

Menentukan header kolom yang ditampilkan dalam list dialog. Harus ditentukan opsi –colomn untuk setiap kolom yang ingin ditampilkan dalam dialog.

--checklist

Menentukan bahwa kolom pertama pada list dialog berisi kotak cek.

--radiolist

Menentukan bahwa kolom pertama pada list dialog berisi kotak radio.

--editable

Memungkinkan ditampilkan item yang akan diedit.

--separator=separator

Menentukan string apa yang digunakan ketika dialog mengembalikan daftar entry yang dipilih.

--print-column=column

Menentukan apakah kolom harus dicetak pada seleksi. Default kolom adalah '1 '. ‘ALL’ yang dapat digunakan untuk encetak semua kolom dalam list.

(4)

Untuk melihat penjelasan lebih detail tentang penggunaan zenity, dapat dilihat di terminal dengan mengetik man zenity, maka akan muncul petunjuk penggunaan zenity.

C. PROSEDUR

1. Masuk ke sistem operasi Linux.

2. Login sebagai user yang telah ditentukan.

3. Gunakan gedit/text editor untuk editor penulisan program, perintah eog, dan zenity pada pemrograman shell.

4. Catatlah hasil dari setiap program pada prosedur no.3 sebagai laporan sementara.

D. PERCOBAAN

Percobaan 1 : Kalender Dialog

1. Membuat kalender dialog melalui baris perintah pada prompt.

$ szDate=$(zenity calendar text "Pick a day" --title "Medical Leave" --day 23 --month 5 --year 2008); echo $szDate

2. Membuat kalender dialog dengan program shell.

#!/bin/bash

szDate=$(zenity calendar text "Pick a day" --title "Medical Leave" --day 23 --month 5 --year 2008); echo $szDate

3. Menggunakan perintah if pada program kalender dialog.

#!/bin/bash

if zenity --calendar \ --title="Select a Date" \

--text="Click on a date to select that date." \ --day=20 --month=8 --year=2010

then echo $?

else echo "No date selected" fi

Percobaan 2 : File Selection Dialog

(5)

$ szSavePath=$(zenity file-selection save

--confirm-overwrite);echo $szSavePath

2. Membuat file selection dialog untuk memilih file.

#!/bin/bash

FILE=$(zenity --file-selection --confirm-overwrite);echo $FILE

3. Membuat file selection dialog untuk memilih dan menyimpan file.

#!/bin/bash

FILE=$(zenity --file-selection –-save --confirm-overwrite);echo $FILE

4. Membuat file selection dialog untuk memilih file dengan statement case.

#!/bin/bash

FILE=`zenity --file-selection --title="Select a File" case $? in

0)

echo "\"$FILE\" selected.";; 1)

echo "No file selected.";; -1)

echo "No file selected.";; esac

Percobaan 3 : Entry Dialog

1. Memasukan teks jawaban pada entry dialog dan menampilkan pada terminal.

$ jawab=$(zenity entry text "di mana kamu?" --entry-text "di rumah"); echo $jawab

2. Memasukan password/teks tersembunyi pada entry dialog dan menampilkan pada terminal.

#!/bin/sh

if zenity --entry \

--title="Add an Entry" \

--text="Enter your _password:" \ --entry-text "password" \

--hide-text then echo $?

else echo "No password entered" fi

Percobaan 4 : Information Dialog

(6)

a. $ zenity --info --text "Join us at http//:www.eepis-its.edu. Shell programming #2Telkom."

b. $ gksudo lsof | zenity --text-info --width 530

2. Memilih file dan menampilkan sebagai informasi kemudian perubahan isinya disimpan pada file baru (tmp.txt)

#!/bin/bash FILE=`zenity --file-selection \ --title="Select a File"` case $? in 0) zenity --text-info \ --title=$FILE \ --filename=$FILE \ --editable >/home/student/tmp.txt;; 1)

echo "No file selected.";; -1)

echo "No file selected.";; esac

Jalankan program, pilih satu file untuk ditampilkan isinya pada info dialog, edit isi file tersebut kemudian close info dialognya. Bandingkan isi file yang telah diedit dengan file tmp.txt.

Percobaan 5 : Error Dialog

1. Menampilkan pesan error pada proses instalasi.

$ zenity --error --text "Installation failed!"

2. Menampilkan pesan error penulisan program.

#!/bin/bash

zenity --error \

--text="bash: ./zenity3.sh: /bin/hash: bad interpreter: No such file or directory."

Percobaan 6 : Question Dialog

1. Menampilkan pertanyaan pada proses shutdown.

$ zenity --question --text "Are you sure you want to shutdown?"; echo $?

2. Menampilkan pertanyaan suatu proses.

#!/bin/bash

zenity --question \

(7)

Percobaan 7 : Warning Dialog

1. Menampilkan peringatan untuk menghentikan proses.

$ zenity --warning --text "This will kill, are you sure?";echo $?

2. Menampilkan peringatan untuk koneksi kabel.

#!/bin/bash

zenity --warning \

--text="Disconnect the power cable to avoid electrical shock."

Percobaan 8 : Progress Dialog

1. Menampilkan progres hasil perintah gksudo lsof pada file lsof.txt.

$ gksudo lsof | tee >(zenity --progress --pulsate) >lsof.txt

2. Menampilkan progres update sistem log.

#!/bin/sh (

echo "10" ; sleep 1

echo "# Updating mail logs" ; sleep 1 echo "20" ; sleep 1

echo "# Resetting cron jobs" ; sleep 1 echo "50" ; sleep 1

echo "This line will just be ignored" ; sleep 1 echo "75" ; sleep 1

echo "# Rebooting system" ; sleep 1 echo "100" ; sleep 1

) | zenity --progress \

--title="Update System Logs" \ --text="Scanning mail logs..." \ --percentage=0

if [ "$?" = -1 ] ; then zenity --error \

--text="Update canceled." fi

Percobaan 9 : Notification Icon Dialog

1. Menampilkan file gambar sebagai notification icon. a. dari prompt

$ zenity --notification --window-icon="bich6.gif" --text "Please update your system."

b. dari program .sh

#!/bin/bash

zenity notification window-icon="bich6.gif" --text "Please update your system."

(8)

2. Menampilkan info sebagai notification icon.

#!/bin/bash

zenity --notification\

--window-icon="info" \

--text "There are system updates necessary!"

Percobaan 10 : Scale dan List Dialog

1. Menampilkan dialog untuk pengaturan nilai skala.

#!/bin/bash

ans=$(zenity --scale --text "pick a number" --min-value=2 --max-value=100 ----min-value=2 --step 2);echo $ans

2. Menampilkan list dialog dalam bentuk radio (radiolist).

#!/bin/bash

ans=$(zenity --list --text "Is linux.byexamples.com helpful?" --radiolist --column "Pick" --column

"Opinion" TRUE Amazing FALSE Average FALSE "Difficult to follow" FALSE "Not helpful"); echo $ans

3. Menampilkan list dialog dalam bentuk check list.

#!/bin/sh

ans=$(zenity --list --text "How linux.byexamples can be improved?" checklist column "Pick" --column "options" TRUE "More pictures" TRUE "More complete post" FALSE "Includes Installation

guidelines" FALSE "Create a forum for question queries" --separator=":"); echo $ans

4. Menampilkan list dialog dalam bentuk daftar tabel (kolom).

#!/bin/sh

zenity --list \

--title="Choose the Bugs You Wish to View" \

--column="Bug Number" --column="Severity" --column="Description" \

992383 Normal "GtkTreeView crashes on multiple selections" \

293823 High "GNOME Dictionary does not handle proxy" \

393823 Critical "Menu editing does not work in GNOME 2.0"

E. Latihan

1. Buatlah GUI kotak dialog dengan program shell untuk recovery file dengan ketentuan sebagai berikut:

(9)

step1: ketika program dijalankan akan muncul kotak dialog info yang memberitahukan proses recovery file dengan cara harus memilih tanggal, bulan dan tahun recovery.

Step2: jika waktu pada step1 yang dipilih tidak sesuai akan muncul pesan error.

Step3: jika pemilihan pada step1 benar proses recovery file dilaksanakan hingga recovery file lengkap.

2. Buatlah program untuk mencari file gambar jpg atau png dan hasilnya ditampilkan pada list dialog.

3. Dari entry dialog terdapat permintaan untuk memasukan nama, jika diisikan nama maka muncul info dialog yang manyapa pemilik nama tersebut dengan teks hello yang dikuti nama yang dimasukan.

4. Pada kalender dialog terdapat teks pertanyaan “Kapan anda ulang tahun?”, apabila user manjawab dengan memilih tanggal yang tepat akan muncul progres dialog kemudian info dialog ucapan “selamat ulang tahun” dan gambar sebagai icon pesta ulang tahun.

Referensi

Dokumen terkait

Berdasarkan data hasil penelitian tindakan kelas tersebut maka dapat disimpulkan bahwa dengan penerapan strategi pembelajaran Everyone Is A Teacher Here dapat meningkatkan

[r]

Juang Jaya Abdi Alam maka konsumen diarahkan menuju ke bagian kasir kantor untuk pembayarannya kemudian konsumen akan mendapatkan semacam nota pembayaran yang

Pada TT asertif, penutur dan mitra tutur menggunakan bahasa untuk menceritakan apa yang mereka ketahui atau percaya yang terkait dengan fakta. Tujuan TT asertif adalah

Pada penelitian ini dilakukan persilangan antara entok jantan dengan itik cihateup betina dan entok jantan dengan itik alabio (Anas platyrhynchos borneo) betina,

Hal ini terjadi apabila FBIR meningkat, menunjukkan telah terjadi peningkatan pendapatan operasional diluar luar pendapatan bunga lebih besar dari pada peningkatan

Rp 3.96 Trillion Motor Vehicles Rp 3.39 Trillion Motor Vehicles Rp 0.51 Trillion Spare Parts Rp 0.23 Trillion Financial Services Rp 0.18 Trillion Car Leasing Rp 0.28 Trillion

Berdasarkan angka sementara hasil pencacahan lengkap Sensus Pertanian 2013, jumlah usaha pertanian di Kabupaten Garut sebanyak 269 ribu dikelola oleh rumah