Anda di halaman 1dari 24

Pemrograman User

Interface
Jenis-jenis pemrograman
• Pemrograman Konvensional (Conventional /
Traditional Programming)
• Pemrograman yang berOrientasi pada Object
(Object-Oriented Programming)
• Pemrograman Visual (Visual Programming)
• Pemrograman yang berbasis Event (Event-
Driven Programming)
• Pemrograman Client-Server (Client/Server
Programming)
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
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
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 komponen-
komponennya, 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. Amir, Ali, Imron 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, membaca dsb.
• Class adalah sebuah katagori, ia merupakan
katagori dari object-object yang mempunyai
attribut dan operasi yang sama. 
Konsep berorientasi object
• Abstraction
• Inheritance
• Polymorphism
• Encapsulation
• Message sending
• Assosiations
• Aggregation
ABSTRACTION
• Abstraction secara sederhana dikatakan
filter property object-object dan operasi.
• Type yang berbeda dari persoalan
memerlukan nilai informasi yang berbeda,
sehingga hanya attribut-attribut dan
operasi-operasi yang diperlukan saja yang
didefinisikan. Metode ini dikenal dengan
istilah abstraction dari suatu object.
INHERITANCE
• Object adalah instance suatu kelas, maka object
mempunyai semua karakteristik dari suatu kelas.
Attribute dan operasi yang ditentukan dalam
class akan ter-inheritance ke masing-masing
object dalam kelas tersebut.
• Class dapat pula mewarisi sifat-sifat class
lainnya. Washing machine, refrigenerator,
microwave ovens, radio, televisi dan sebagainya
adalah class peralatan listrik, mereka mewarisi
attribute dari class peralatan misalnya type, dan
mewarisi operasi misalnya turn-on dan turn off.
POLYMORPHISM
• Kadang-kadang sebuah operasi mempunyai
nama yang sama pada class yang berbeda.
Sebagai contoh, membuka jendela, membuka
pintu, membuka surat kabar, membuka
percakapan.
• Dalam masing-masing persoalan dapat
dilakukan operasi yang berbeda-beda walaupun
dengan nama yang sama. Konsep di atas
dikenal dengan istilah polymorphism, yaitu suatu
opersi dengan nama yang sama, tetapi jika
dikenakan pada object yang berbeda akan
mengakibatkan operasi yang berbeda
ENCAPSULATION
• Ketika seseorang menonton televisi,
biasanyaseseorang tersebut tidak
memperdulikan tentang kompleksitas rangkaian
elektronika yang ada di dalamnya, mereka tidak
memperdulikan bagaimana rangkaian
elektronika itu bekerja, mereka hanya
memperhatikan tombol-tombol apa saja yang
bisa digunakan untuk mengoperasikannya.
• Konsep ini dikenal dengan istilah encapsulation,
yaitu menyembunyikan operasi-operasinya dari
dunia luar dan dari object-object lain.
MESSAGE HADING
• Bagaimana object-object dalam sistem
bekerja bersama-sama?.
• Mereka melakukan ini dengan mengirim
pesan dari salah satu object ke object
yang lainnya.
• Suatu object mengirimkan pesan ke object
lainya untuk melakukan sebuah operasi,
dan juga dapat menerima pesan dari
object lainya untuk melakukan operasi
ASSOSIATION
• Sebagai contoh, saat seseorang turn-on
sebuah televisi maka menurut terminologi
object-oriented, seseorang tersebut
sedang ber-assosiasi dengan televisi.
• Sebuah class dapat diassosiasikan
dengan lebih dari satu class. Seseorang
dapat mengendarai sebuah mobil, dan
seseorang juga dapat mengendarai
sebuah bus.
AGGREGATION
• Komputer terdiri dari box CPU, keyboard,
mouse, monitor, CD-ROM drive, harddisk,
modem disk drive, printer dsb. Didalam
box CPU mungkin terdapat CPU, card
grafic, sound card dan peralatan lainya.
• Komputer adalah sebuah aggregation,
komputer terdiri dari sejumlah komponen-
komponen yang berbeda yang
menyusunnya.
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 text-
based interface.
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
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-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 fungsi-
fungsi database dalam memanipulasi data.
• Suatu server database biasanya didesain untuk
mampu melayani user dan transaksi network
dalam jumlah besar.

Anda mungkin juga menyukai