BAB
10
Model
Sistem
10.1 Pendahuluan
Bab ini membahas
model sistem, seperti formalisai standar, model interaksi dan analisis
event.Bahasan ini focus pada cara memodelkan semantic dari sebuah system
interaktif.
1.
Formalisasi standar: Notasi rekaya
perangkat lunak diguakan untuk menjelaskan perilaku yang dibutuhkan pada system
interaktif seperti formalisasi aljabar,logika temporal dan deontic.
2. Mode interaksi: Model matematika untuk
tujuan tertentu digunakan untuk menjelaskan kegunaan property pada level umum,
seperti predictability dan observability.
3. Perilaku terus-menerus: Aktivitas antara
event, objek dengan gerakan terus- menerus,model waktu.
10.2 Relasi dengan Dialog
Pemodelan dialog
berhubungan dengan semantik semantara semantik struktur dialog. Relasi keduanya mirip tetapi
berbeda. Contoh : computer
secara inheren adalah mesin matematika , tetapi manusia buankanlah seperti itu.
10.3 Formalisasi Standar
Formalisasi
rekayasa perangkat lunak standar digunakan untuk menjelaskan suatu sistem interaksi yang mengacu pada metode formal,
seperti:
1.
Berbasis
mode , untuk menjelaskan kondisi sistem dan operasinya: Z, VDM.
2.
Aljabar:
Menjelaskan efek dari urutan aksi : OBJ, larch, ACT-ONE.
3. Logika
Perluasan ( extended logic )), menjelaskan saat sesuatu terjadi dan siapa yang
bertanggung jawab: logika semantara ( temporal) dan deontik (obligasi).
10.4 Formalisasi Berbasis model
Menggunakan model mtematika secara umum seperti jumlah, himpunan, dan fungi
untuk merepresentasikan suatu kondisi dan operasi yang ada pada kondisi. Tipe
dari variabel adalah sebagai berikut:
1 1. Tipe dasar, seperti :
X-Nat – non-negative integer (0,1,2.
2. Individul item dari kumpulan, seperti:
Shpe_type ( garis, elipse, segi empat)
3. Subset dari kumpulan yang lebih besar
Pilihan seperangkat Nat – set integer atau Z untuk N
4. Function (terbatas)
Objek Nat à shape_type
10.5 Notasi Aljabar
Notasi berbasis aljabar menyediakan informasi secara impisit mengenai
kondisi sistem.
Ada beberapa isu untuk notasi aljabar:
1 1. Mudah untuk digunakan
2 2. Konsistensi internal
3, Konsistensi eksternal ,
berhubungan dengan sistem yang dieksekusi
4. Konsistensi eksternal, dibuat secara eksplisit dan dimungkinkan
otomatis untuk kebutuhan
5 5. Kekompletan
10.6 Logika Perluasan
Notasi berbasis model dan berbasis aljabar dapat
memperluas penggunaan logika proporsional
dan predikat. Pengekpresian waktu (time), pertanggung jawaban (responsibility)
dan kebebasan (freedom), serta ide, gagasan,
pikiran sering diperlukan untuk memenuhi kebutuhan interaksi manusia dan
komputer.
- ·Logika Proposisi, ekspresi yang terbuat dari istilah atomik p ,q, r ... tersusun dengan ()..... dan sebagainya.
- Logika Predikat, proposisi dengan variabel-variabel. Cotoh p(x) dan ekspresi terkuantifikasi dan ...
10.6.1 Logika Temporal
10.6.2
Logika Deontik
Logika deontik (deontic logic) meliputi konsep agen (
human, corparate dan compueter ) yang bertanggungjawab dan
saling ketergantungan di antara agen. Operator umum: permission(per) dan obligation(obl).
Ada beberapa isu untuk logika
perluasan:
·
Properti
keselamatan
·
Properti
kehidupan
·
Eksekutabilitas
vs keekspresifan
·
Isu
kelompok dan deontik
10.7 Model Interaksi
Model interaksi adalah model yang duduk diantara formalitas rekayasa
perangkat lunak dan pemahaman interaksi manusia dan komputer. Ada beberapa
metode, seperti:
· Formal, Model PIE untuk mengeksperisikan properti
interaktif umum guna mendukung tingkat kegunaan.
· Informal, arsitektur interaktif (MVC, PAC, ALV) untuk
memotivasi pemisahan dan modularisasi fungsionalitas dan presentasi.
· Semi-formal, analisis status event-event untuk melihat
potongan suatu sistem interaktif yang terentang pada beberapa layer, yang akan
dibahs lebih detail pad abab selanjutnya.
10.7.1 Model PIE
Model PIE adalah model kotak hitam (black box), tidak
untuk represntasi arsitektur
internal dan konstruksi sistem komputer, tetapi mengambarkan input dari user ke
user. Perbedaan antar Display sesaat dari sistem dan hsil yangpermanen merupaka
pusat dari model PIE.
10.7.2
Pengekspresian Properti
WYSIWYG memiliki 2 interpretasi:
1.
WYS
adalah WYou will Get di printer, bagaimana kita menentukan hasil dari display.
2.
WYS
adalah WYou have Got di sistem, apa yang display berikan tentang efek.
10.7.4
Daya Jangkau dan Pembatalan
Ada beberapa isu untuk properti PIE:
Suatu
sistem dapat dikatakan terjangkau ( reachable) jika dari satu kondisi dalam
sistem dijangkau stu kondisi lainnaya.
Undo
merupakan suatu proses pengembalian atau keterjangkauan kondisi saat ini dan
kondisi terakhir. Proses
Undo (pembatalan) tidak mungkin dilakukan, kecuali untuk sistem yang amat
sederhana di mana paling banyak terdapat dua kondisi.
10.8 Perilaku Terus-Menerus
Perilaku Intersitial merupakan suatu bentuk kejadian dari
model-model perilaku. Ada kategori, seperti :
1.
Model
terpisah: apa ayng terjadi pada event.
2.
Analisi
status-event : apa yang terjadi antara event
3.
Model
centrality: pada grafik user interface (GUI) bisa dilakukan dragging, scrolling
dan sebagainya.
Secara format aksi dan perilaku interstitial memiliki persamaan, seperti dijelaskan
berikut ini:
1.
Aksi
adalah user-event x status input x state à respons event x state baru.
2.
Perilaku
interstitial : user-event x status input x state à respons events x state baru.
Event bisa mengubah status.Contoh:
1.
Jika
saldo di bank < 1 juta rupiah, maka dibutuhkan kerja lebih keras.
2.
Jika
nilai ujian kurang baik maka perlu belajar lebih giat lagi.
10.9 Status, Analisis Event
Perbedaan
status dan event adalah beind dan Doing
Status selalu memiliki nilai yang dapat di refer. Event merupakan kejadian pada saat tertentu. Anlisis status
event ini terlihat di layer system yang berbeda, user layer (presentasi),
dialog dari aplikasi. Pencarian event tercapai disetiap level dan status
berubah pada setiap level. Penggabungan dengan analisis psikologi yang naïf
dari batasan presentasi membuat desiner dapat memprediksi kesalahan dan
perbaikan penting lainnya.
Property event : waktu
dan kalender.
10.10.
Dukungan Implementasi
Dukungan Implementasi yang berhubungan dengan IMK adalah
programming tool. Progamming tool merupakan suatu program aplikasi supaya bisa
digunakan berinteraksi antara manusia dan computer.Pengkodean tingkat lanjjjut
akan membawa peeemmmrograman dari perangkat keras spesifik ke teknik interaksi
spesifik.Lapisan dari alat antu pengembangan seperti :
1. Sistem Windowing;
2. Toolkit (alat bantu) interaksi;
3. Sistem manajemen antarmuka pengguna.
10.10.1 Elemen Sistem window
Sistem
window menyediakan kemampuan berbagi sumber dari satu konfigurasi perangkat
keras dengan beberapa salinan terminal abstrak.Masing –masing terminal abstark
berlaku sebagai proses bebas dan sistem windows akan mengkoordinasikan control
dari proses yang ada.
Arsitektur
system windowing memiliki tiga kemungkinan arsitektur perangkat lunak.
1.
Setiap aplikasi mengelola semua proses.
2.
Pembagian peran menajemen dalam kernel
sisten operasi.
3.
Pembagian peran manajemen sebagai
aplikasi terpisah: portabilitas maksimum
Arsitektur
pada system window seperti :
Arsiektur
client-server merupakan system window yang berhubungan dengan jaringan
komputer.Sekarang ini arsitektur ini dapat menggunakan lebih dari satu server
seperti web server, mail server, sever aplikasi , server database, yang
berhubungan satu dengan yang lain untuk melayani permintaan cliene.
Contoh arsitektur sederhana dari sistem window ditunjukkan
pada gambar di bawah ini.
10.10.2 Arsitektur X windows
Modle pencitraan pikel dengan beberapa mekanisme
pointing(penampilan posisi), Protokol X mendefinisikan komunikasi server-client
serta clien manajer .Windows yang berbeda menjalankan kebijakan untuk
input/output, seperti :
1. Bagaimana
mengubah focus input,
2. Iled
vs overlapping windows.
3. Transfer
data inter-client,
10.10.2 Pemrograman Aplikasi
Ada
dua paradigm pemrograman yang dapat digunakan untuk mengorganisasikan alur
control dalam aplikasi .Paradigma pertama pertama adlah Read –Evaluation Loop,
yang internal terhadap program aplikasi itu sendiri. Contohnya pada pemrograman
Macintosh.
Paradigma
pemrograman lainnya berbasis notofikasi di mana control loop utama untuk proses
event tidak ada dalam aplikasi. Pusat notifier akan menerima event dari system
windows dan menyaringnya ke program aplikasi.
Alur
control terpusat di notifier yang membebaskna program aplikasi dari proses yang
terlalu banyak, dari setiap proses event yag lewat dari system windows.
Misalkan program apliaksi akan menghasilkan kotak diaaog pre-empsi dan
menginginkan adanya konfirmasi dari user sebelum diproses. Dialog pre- empsi
menghapus secara efektif semua aksi kecuali yang dibutuhkan user untuk
memperbaikinya.
10.10.4 Menggunakan Toolkit
Toolkit
merupakan suatu alat alat bantu yang berinteraksi. Objek,input dan ouput pada hakikatnya
saling berhubungan. Toolkit menyediakan level abstraksi seperti pemrograman
degan interaksi objek ( atau teknik-teknik , widget, gadget), mempromosikan
konsistensi dan generalisasi lewat melihat dan merasa (look and feel) yang
mirip dan dapat menerima pemrograman berbasis objek.
10.10.5 Sistem Manajemen Antarmuka Pengguna
User
Interface Management System(UIMS) menambahkan level lain diatas toolkit karena
toolkit terlalu sulit untuk yang bukan pemrogram.
Dimungkinkan
untuk menggunakan UI Development System (UIDS) dan UI Development
Enviroment(UIDE) sebagai sebuah arsitektur konseptual, teknik implementasi dan
dukungan seperti Visual Basic.
Tradisi
UIMS, yaitu layer interface atau kompone logika, seperti:
Linguistik
, leksikal , sintaktik, semantik
Gambar
. Model Seeheim
Pada
model Seeheim berikut memasukkan aplikasi dan user dalam konteks dari system
interaktif meskipun tidak secar eksplisit kerana hanaya memodelkan kompoonen
logika UIMS, bukan system interaktif secara keseluruhan. Dengan tidak menbuat
aplikasi secara eksplisit berada di model, dialog control eksternal perlu
diasumsikam.
Paradigma
Model-View-Controller (MVC) dapat menangani maslah pada model Seeheim diatas .
Model MVC menunjukkan aplikasi semantic. View menangani output grafik atau teks
dari aplikasi dan pengontrol menangani input.Perilaku dasar dari model ini
adalah view da pengontrol ditempelkan/dimasukkan dalam kelas objek umum dari
smalltalk yang diwariskan dari instant dan dimodifikasi.
10.10.6
Konseptual vs Implementasi
Terdapat dua kategori
UIMS, yaitu:
1.
Teknik-teknik
untuk pengontrol UIMS, yaitu:
a.
Jaringan
menu
b.
Notasi
grammar (tata bahasa)
c.
Diagram
Transisi state
d.
Bahasa
event
e.
Bahasa
deklaratif
f.
Batasan-batasan
g.
Spesifikasi
grafis
2.
Aliran
control dialog
a.
Kontrol
interal ( contoh : perulangan baca-evaluasi)
b.
Kontrol
eksternal ( kemandirian semantic aplikasi atau presentasi)
c.
Kontrol
presentasi ( contoh : spesifikasi grafis)
1