Pemrograman User
Interface
Bisa?
Jenis-jenis pemrograman
• High level (pascal, basic, cobol, fortran)
• Midle level (C)
• Low level (assambler)
Rapid Aplication Development
•
•
•
•
Kebutuhan perangkat lunak berkualitas
semakin meningkat
Waktu pembuatan perangkat lunak
semakin singkat
Graphical User Interface (GUI)
Menerapkan konsep-konsep RAD seperti
OO, Visual Programming, Event-Driven
Programming dan Client/Server
Programming
Jenis-jenis pemrograman
•
•
•
•
•
Pemrograman Konvensional (Conventional /
Traditional Programming)
Pemrograman yang berOrientasi pada Object
(Object-Oriented Programming)
Pemrograman Visual (Visual Programming)
Pemrograman yang berbasis Event (EventDriven Programming)
Pemrograman Client-Server (Client/Server
Programming)
Interface berbasis grafik
•
•
•
•
Membutuhkan hardware yang relative
lebih mahal dari interface berbasis teks
GUI (Graphical User Interface) ----WIMP (Window, Icon, Menu and Pointer)
Direct Manipulation ----- WYSIWYG
(what you see is what you get)
Better Interface Design
Visual Computing
Visual
Programming
Computer
Graphics
Algorithm
Animation
Scientific
Visualization
User Interfaces
End User Languages
Definition
Pemrograman Visual :
Languages that use visual notations
or “Diagrams” for
expressing programming constructs,
Pemrograman Visual
•
Reusable Components
–
–
•
Memiliki berbagai jenis komponen standard siap pakai (menu,
buttons, ...)
Pemrogram bisa mengembangkan komponen baru yang
sesuai dengan kebutuhannya
Time Saving
–
–
•
Waktu development lebih singkat dibandingkan dengan
pemrograman konvensional
Pengembang sistem bisa lebih berkonsentrasi pada sistem,
bukan pada teknik pemrograman
GUI based interface
–
Secara umum, memiliki tampilan lebih menarik daripada textbased interface.
Contoh
• Foxpro for windows
• Visual Basic
• Delphi
Pembuatan Menu
Menu Name
Menu Bar
Alternate Key
Popup menu
Accelarator Key
Separator
Menu Icon
Menu item
Falsafah Menu
• Susunan: kiri->kanan, Atas ->Bawah
• Actions (Command)
menu item => arahan
• Dialog box
… more input requested
• Settings
check, disabled (grayed)
• Submenus (cascade)
• Short-Cut
alternate-underline, accellarator- key name
Jenis-jenis Menu
• Menu Utama
mengandungi menu bar dan beberapa pop-up menu
• Cascading Menu
terdapat submenu dalam menu
• Floating menu
• Menu sistem
Menu Sistem
Cascading Menu
Floating Menu
/**** RESOURCE FILE: menu.rc ******/
#include "menu.h"
MainMenu MENU
{
POPUP "&File"
{
MENUITEM "New...", IDM_FILENEW
MENUITEM "&Open...", CM_FILEOPEN
MENUITEM "&Close...", CM_FILECLOSE, GRAYED
MENUITEM "&Save", CM_FILESAVE, GRAYED
MENUITEM "Save &As...", CM_FILESAVE_AS, GRAYED
MENUITEM SEPARATOR
POPUP "Send &To"
{
MENUITEM "Floppy (A)", CM_POPUPITEM
MENUITEM "Desktop (create shortcut)", CM_POPUPDESKTOP_CREATE_SHORTCUT
MENUITEM "Notepad", CM_POPUPNOTEPAD
}
MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_FILEEXIT
}
POPUP "&Edit"
{
MENUITEM "Cu&t", IDM_EDITCUT
MENUITEM "&Copy", IDM_EDITCOPY
MENUITEM "&Paste", IDM_EDITPASTE, GRAYED
MENUITEM SEPARATOR
MENUITEM "Select A&ll", IDM_EDITSELECT_ALL
}
POPUP "&Help", HELP
{
MENUITEM "&About", IDM_HELPABOUT
}
}
/** HEADER FILE: menu.h **/
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
CM_POPUPNOTEPAD
115
CM_POPUPDESKTOP_CREATE_SHORTCUT
CM_POPUPITEM
113
IDM_HELPABOUT 111
IDM_FILEEXIT
110
CM_FILESAVE_AS 109
CM_FILESAVE
108
CM_FILECLOSE
107
CM_FILEOPEN
106
IDM_EDITSELECT_ALL
105
IDM_EDITPASTE 104
IDM_EDITCOPY
103
IDM_EDITCUT
102
IDM_FILENEW
101
114
Object-Oriented Programming
• Object-orientation sebagai suatu cara membuat
program, ia mempunyai beberapa keuntungan. Ia
membantu perkembangan pendekatan yang
didasarkan pada komponen untuk pengembangan
software sehingga pertama kali membuat suatu
sistem dengan membuat sekumpulan object.
• Kemudian saat seseorang memperluas sistem
dengan menambahkan kapasitas ke komponenkomponennya, cukup seseorang tersebut
mengunakan ulang object-object yang telah
dibuatnya ke sistem baru yang sedang ia bangun.
OBJECT DAN CLASS
• Object, yang kongkrit atau tidak, adalah segala
sesuatu disekitar kita. Object-object yang
menyusun dunia ini. Azahari, Sumanto, Inul
adalah contoh object dari class manusia.
• Object mempunyai attribut dan operasi. Attribut
dari object di atas adalah umur, tinggi, berat
badan dsb. Sedangkan operasi dari object di
atas adalah makan, minum, tidur, ngebor dsb.
• Class adalah sebuah katagori, ia merupakan
katagori dari object-object yang mempunyai
attribut dan operasi yang sama.
Dangdut Class
State
 Asal, Berat,Tinggi ... Variables
Behaviors  ngebor( ), patah( )...  Methods
Object
Inul
Asal = Jatim
Berat = 50Kg
ngebor( )
Anisa
Asal = Jabar
Berat = 60 kg
patah( )
http://jan.netcomp.monash.edu.au/java/swingtut/tut1a.html
Event-based Programming
• adalah pemrograman yang memakai
event (seperti event penekanan tombol
keyboard atau mouse) sebagai dasarnya
dan memberikan respon untuk event
tersebut.
• User bisa menginputkan informasi tanpa
tergantung urutan
Panoramic
Event-based Programming (2)
• suatu event adalah suatu aksi yang
dikenal oleh objek, misalnya event
penekanan tombol mouse, penggerakan
mouse atau penekanan tombol keyboard,
sedemikian rupa sehingga programmer
bisa menuliskan program sebagai respon
dari event tersebut.
Event-driven Programming
User click
mouse
User Press F1
WINDOWS
(OS)
App’s msg queue
WM_LBUTTONDOWN
WM_KEYDOWN
case WM_LBUTTONDOWN:
……
SendMessage(WM_KEYDOWN,F1)
break;
GetMessage()
msg
loop
WM_LBUTTONDOWN
TranslateMessage()
DispatchMessage()
WM_KEYDOWN
case WM_KEYDOWN:
……//actual operations
break;
Event-based Programming (3)
•
Event bisa terjadi karena tiga hal yaitu:
– Aksi dari user
– Aksi dari program
– Trigger dari sistem
•
•
Event bisa terjadi pada urutan apapun
dan pada posisi manapun dalam
program.
Event yang terjadi harus selalu ada
event-handler nya
Mekanisme pemrograman berbasis event
Kelemahan
• Program harus selalu siap untuk
menerima event yang terjadi.
• Style dari pemrograman berbasis event
menuntut penyelesaian suatu task dalam
waktu singkat, sehingga event-event bisa
di-handle dengan cepat dan user bisa
mendapatkan respon dengan cepat.
Client/Server Programming
• Istilah client/server dipakai untuk
menjelaskan berbagai macam topik dalam
lingkungan pemrograman
• DLL (Dynamic Link Library) dan OLE
(Object Linking and Embeding)
• Konsep client/server juga banyak dipakai
dalam konteks penyimpanan dan
manipulasi database
Bagian Client
• Client/server diartikan sebagai program
yang dijalankan pada terminal komputer
yang terhubung dalam suatu network.
• Client ini berfungsi sebagai tempat dimana
semua proses input dan output data
terjadi.
Misalnya…
• sebuah program yang dibuat dengan
Delphi berfungsi sebagai aplikasi client
yang melakukan proses input dan output
data pada suatu server database yang
berada dalam network tersebut.
Bagian Server
• Bagian server dari konsep client/server diartikan
sebagai server database yang berfungsi untuk
melayani permintaan dari program aplikasi untuk
mengambil, memanipulasi dan menyimpan data.
• Server database bisa dibayangkan sebagai
sebuah kotak hitam yang menyediakan fungsifungsi database dalam memanipulasi data.
• Suatu server database biasanya didesain untuk
mampu melayani user dan transaksi network
dalam jumlah besar.
Link
• http://home.online.no/~pethesse/uip.html
• http://ou800doc.caldera.com/SDK_charm/
• http://www.programming123.com/topics/use
r_interface_programming.html
Descargar

Dialogue Design