BAB VIII MODEL SISTEM A. Sudut Pandang Sistem Persyaratan user harus dituliskan dalam bahasa natural karena harus dimengerti oleh orang-ornag yang bukan pakar teknik. Waluapun demikian,persyaratan sistem yang lebih rinci dapat dinyatakan dengan carta yang lebih teknis. Salah satu teknik yang banyak digunakan adalah pendokumentasian spesifikasi sistem sebagai satu set model sistem. Representasi ini juga sebagai jembatan antara analisis dengan perancangan. Model dapat digunakan pada proses analisis untuk mengembangankan pemahaman tentang sistem . Pemahaman tersebut dapat dilihat dari sudut pandang yang berbeda, yaitu: -
Sudut pandang eksternal di mana konteks atau lingkungan sistem dimodelkan.
-
Sudut pandang perilaku dimana perilaku sistem dimodelkan.
-
Sudut pandang structural dimana arsitektur sistem atau struktur data dimodelkan.
Metode terstruktur seperti analisis sistem terstruktur ( DeMarco, 1978) dan analisis berorientasi objek ( Rambaugh, 1991: Booch,1994) menyediakan kerangka kerja untuk pemodelan sistem yang rinci sebagai bagian dari elisitasi dan analisis persyaratan. Metodemetode ini biasanya mendefinisikan proses yang dapat digunakan untuk menurunkan model ini, beserta serangkaian aturandan panduan yang berlaku untuknnya. Dokumentasi standart dibuat untuk sistem. CASE tool biasanya tersedia untuk mendukung metode. Alat Bantu ini mencakup editor model, dokumentasi sistem terotomasi dan menyediakan pemeriksaan model. Namun demikian , metode analisis terstruktur memiliki kelemahan diantaranya:
89
-
Tidak menyediakan dukungan yang efektif untuk pemahaman atau pemodelan sistem non fungsional.
-
Metode ini tidak memilih-milih yaitu tidak menyertakan panduan untuk membantu user menentukan apakah metode tersebut sesuai dengan masalah tertentu atau tidak, dan biasanya tidak menyediakn saran bagaimana metode tersebut dapat diadaptasi untuk digunakan pada lingkungan tertentu.
-
Metode tersebut sering terlalu banyak dokumentasi sehingga sistem dapat tersenbunyi .
-
Model yang dihasilkan sngat detail dan user menggap sulit dipahami, sehingga tidak dapat memeriksa realisme model.
Tipe
model sistem yang berbeda didasarkan atas pendekatan yang berbeda pula
terhadap abstraksi. Model aliran data contohnya, berkonsentrasi pada aliran data dan transformasi fungsional pada data tersebut. Model ini tidak memasukkan struktur data. Kebalikannya, model relasi entitas ditujukan untuk mendokumentasikan data sistem dan hubungnnya tanpa memperhitungkan fungsi pada sistem. Contoh tipe-tipe modelsistem yang bisa dibuat adalah:
Model pemrosesan data, Diagram aliran data yang menunjukkan bagaimana data diproses pada tahap-tahap yang berbeda dari sistem
Model komposisi.
Diagram relasi entitas menunjukkan bagaimana entitas
terbentuk dari entitas yang lain
Model arsitektural. Menunjukkan subsistem utama yang emmbentuk sistem.
90
Model klasifikasi. Diagram kelas/inheritansi objek menunjukkan bagaimana entitas memiliki karakteristik yang sama.
Model Stimulus respon. Diagram transisi status menunjukkan bagaimana sistem bereaksi terhadap event internal dan eksternal.
B. Model Konteks Pada tahap dini elisitasi persyaratan dan proses analisis, harus diputuskan batasanbatasan sistem. Hal ini meliputi bekerja dengan stakeholder sistem unyuk membedakan apa yang merupakan sistem dan yang merupakan lingkungan. Selain ini juga dibutuhkan untuk membatasi biaya dan waktu. Setelah batasan sistem ditentukan, maka bagian kegiatan analisis adalah definisi dari konteks tersebut dan ketergantungannya dengan lingkungannya. Normalnya, pembuatan model arsitektural sederhana merupkan langkah utama pada kegiatan ini. Hal tersebut diilustrasikan pada gambar 7.1 tentang model arsitektural tentang struktur informasi yang mencakup jaringan auto-teller bank. Security system Branch accounting system
Account database Auto-teller system
Branch counter system
Usage database Maintenance system
91
Model arsitektural mendeskripsikan lingkungan sistem. Sistem-sistem ini dapat memakai data bersama dengan sistem yang bersangkutan,
bisa terhubung langsung, terhubung
melalui jaringan, atau tidak terhubung sama sekali.
Mereka mungkin secara fisik
menempati likasi yang sama atau terpisah pada bangunan yang berbeda. Semua hubungan ini bisa mempengaruhi persyaratan sistem dan harus dipertimbangkan. Model arsitektural sederhana biasanya dilengkapi dengan model lain yang menunjukkan kegiatan proses yang didukung oleh sistem dan model aliran data yang menunjukkan bagaimana data ditrasfer dari satu sistem dengan lingkungannya. Pada gambar 7.2 menunjukkan model proses pengadaan peralatan pada organisasi. Dan gari terputus-putu menggabungkan kegiatan yang berada di dalam batasan sistem. Delivery note
Specify equipment required
Equipment spec.
Checked spec.
Validate specification
Spec. + supplier + estimate
Equipment spec. Supplier database
Accept delivery of equipment
Get cost estimates
Supplier list Find suppliers
Choose supplier
Order notification
Order details + Blank order form
Place equipment order
Checked and signed order form
Delivery note
Check delivered items Installation instructions
Install equipment Installation acceptance Accept delivered equipment Equipment details Equipment database
Gambar 7.2 Model Proses Pengadaan peralatan
92
C. Model Perilaku Model perilakudigunakan untuk mendeskripsikan perilakuk sistem secara menyeluruh. Ada dua tipe model perilaku yaitu:
Model aliran data, yang memodelkan pemrosessan data pada sistem.
Model state machine (mesin status) yang memodelkan bagaimana sistem bereaksi terhadap event.
a. Model ALiran Data Model aliran data merupakan cara yang intuitif untuk menunjukkan bagaimana data diproses oleh sistem.
Notasi yang digunakan pada model ini merepresentasikan
permrosesan fungsional. Model ini dipakai untuk menunjukkan bagaimana data mengalir melalui serangkaian langkah pemrosesan. Langkah-langkah pemrosesan merupakan fungsi program perangkat lunak. Pengembangan model aliran adata harus menggunakan prinsip top down. Model aliran data dapat dilihat pada gambar 7.3 yang menunjukkan langkahlangkah pada pemrosesan pemesanan barang. Model ini mendeskripsikan pemrosesan data pada kegiatan 7.2. Sedangkan pada gambar 7.4 menunjukkan contoh diagram lain. Completed order form Order details + blank order form
Complete order form
Signed order form Validate order
Signed order form
Checked and signed order + order notification
Send to supplier
Record order Order details
Signed order form
Adjust available budget Order amount + account details
Orders file
Budget file
Gambar 7.3 Diagram Aliran Data dari Pemrosesan Pesanan
93
Input design
Valid design Design editor
Checked design Design cross checker
Referenced designs
and
Design analysis Design analyser
Checked design Code skeleton generator
Design database
User report Report generator
Output code
Design database
Gambar 7.4 Diagram Aliran Data dari CASE toolset
b. Model State Machine Model state machine digunakan untuk memodelkan perilaku sistem sebagai tanggapan atas event internal atau eksternal. Model ini menunjukkan status sistem dan event yang menyebbkan transisi dari satu status ke status yang lainnya. Model ini tidak menunjukkan liran data di dalam sistem. Terutama berguna untuk pemrosesan real time karena sistem ini seringkali dikendalikan oleh stimuli dari lingkungan sistem. Model state machine sebuah sistem mengasumsikan bahea , pada saat kapan pun sistem berada pada salah satu dari sejumlah status yang mungkin. Ketika stimulus diterima, transisi ke status yang berbeda bisa terjadi.
Sebagai contoh, sebuah sistem yang
mengontrol katup bisa beralih dari status “Katup terbuka” ke status “Katup Tertutup” ketika perintah operator 9stimulus ) diterima. Hal tersebut bisa dilihat pada gambar 7.5 yang mengilustrasikan model state machine dari oven microwave sederhana yang dilengkapi tombol-tombol untuk mengatur power dan timer.
94
Full power
Full power do: set power = 600
Timer
Waiting do: display time
Half power
Number Full power
Operation do: operate oven
Set time do: get number exit: set time
Half power
Door closed
Timer Door open Half power do: set power = 300
Door closed
Cancel Start Enabled do: display 'Ready'
Door open
Waiting do: display time
Disabled do: display 'Waiting'
Gambar 7.5 Model state machine untuk microwave sederhana Untuk menyederhanakan model, dianggap urutan pemakaian microwave adalah: o Pilih tingkat power (setengah atau penuh) o Masukkan waktu pemasakan o Tekan start dan makanan akan dimasak selama waktu yang ditentukan. Demi keamanan, oven tidak boleh beroperasi jika pintunya terbuka dan jika pemasakan selesai, bel akan berbunyi. Oven memiliki display untuk menampilkan berbagai pesan peringatan:
95
STATUS
KETERANGAN
Waiting
Oven menunggu input
Half Power
Power oven diatur ke 300 watt
Full Power
Power oven diatur ke 600 watt. Display menunjukkan “Full Power”
Set Time
Waktu masak diatur oleh user. Display menunjukkan waktu masak yang dipilih
Disable
Operasi oven di-disable demi keamanan.
Lampu dalam oven
menyala. Display menunjukkan “Not ready” Erfatable
Operasi
oven di-enable.
Lampu dalam oven mati.
Display
menunjukkan ’”Ready to Cook” Operation
Oven sedang dipakai. Lampu dalam oven menyala.
Display
menunjukkan perhitungan mundur waktu. Jika pemanggangan telah selesai, buzzer berbunyi selama 5 detik.
Lampu oven menyala.
Display menunjukkan “cooking complete” ketika buzzer berbunyi.
Notasi UML yang digunakan dibuat untuk mendeskripsikan model state machine dirancang untuk memodelkan perilaku objek. Persegi bersudut bulat merepresentasikan status sistem. Persegi ini juga berisi deskripsi singkat (“DO”) tentang pekerjaan yang dilakukan pada status tersebut. Tanda panah menunjukkan stimuli yang merubah dari transisi status ke status yang lain. Gambar 7.7 menunjuukan superstate yang diperluas untuk status sistem “operation”
96
Operation Checking do: check status Turntable fault
Time Cook do: run generator
OK
Emitter fault
Timeout Done do: buzzer on for 5 secs.
Alarm do: display event
Door open Disabled
Cancel Waiting
Gambar 7.7 Operation Oven Microwave
D. Model OBJEK Pendekatan berorientasi Objek ke seluruh pengembangan perangkat lunak sekarang ini umum digunakan, terutama untuk pengembangan sistem interkatif. Ini berarti bahwa persyaratan sistem dilakukan dengan memakai model objek, perancangan sistem dialkukan dengan menggunakan objek, dan pengembangan sistem dilakukan dalam bahasa pemrograman berorientasi objek seperti Java atau C++. Model objek yang dikembangkan dapat digunakan untuk merepresentasikan data sistem dan pemrosesannya. Untuk beberapa kelas sistem, model objek merupakan cara untuk merefleksikan entitas dunia nyata . Sebuah kelas objek adalah abstraksi terhadap satu set objek yang mengidentifikasikan atribut-atribut umum dan layanan atau operasi yang disediakan oleh setiap objek. Objek adalah entitas yang dapat dieksekusi dengan atribut
97
dan layanan kelas objek. Objek merupakan instansiasi dari kelas objek dan banyak objek yang berbeda dapat dibuat dari satu kelas. Umunya, model yang dikembangkan dengan menggunakan analisis terfokus pada kelas objek dan hubungannya Brtbagai model analissi berorientasi objek diusulkan oleh BOOCH, Coad dan Yordan.
Metode-metode ini banyak kesamaan. Kemudian tiga pengembang (Booch,
Rambaugh dan Jacobson) mengintegrasikan pendekatan mereka
untuk menghasilkan
metode yang terunifikasi. Unifield Modelling Language (UML) yang dipakai pada metode terunifikasi ini menjadi standart yang efektif untuk pemodelan objek. UML mencakup notasi untuk berbagai tipe model sistem. Sebuah kelas objek pada UML sebagaimana diilustrasikan pada gambar 7.8 direpresentasikan sebagai persegi berorientasi vertical dengan tiga bagian: 1. Nama kelas objek, berada pada bagian atas 2. Atribut berada pada bagian tengah 3. Operasi yang berhubungan dengan objek berada di bagian bawah. Library item Catalogue number Acquisition date Cost Type Status Number of copies Acquire () Catalogue () Dispose () Issue () Return ()
Published item
Recorded item Title Medium
Title Publisher
Book Author Edition Publication date ISBN
Magazine Year Issue
Film Director Date of release Distributor
Computer program Version Platform
Gambar 7.8 hirarkhi kelas untuk sistem perpustakaan
98
a. Model INHERITANSI Pemodelan berorientasi objek melibatkan identifikasi kelas objek yang penting pada domain yang dipelajari. Kelas-kelas ini kemudian disusun menjadi taksonomi. Taksonoki merupakan skema klasifikasi yang menunjukkan bagaimana kelas objek terkait dengan kelas-kelas lain melalui atribut dan layanan umum. Library user Name Address Phone Registration # Register () De-register ()
Reader
Borrower Items on loan Max. loans
Affiliation
Staff Department Department phone
Student Major subject Home address
Gambar 7.9 Hirarkhi kelas user.
Pada gambar 7.9 menunjukkan hirarkhi inheritas lian yang menunjukkan dua kelas user yaitu yang boleh meminjam buku dan yang hanya yang boleh membaca. PAda notasi UML inheritas ditunjukkan “ ke atas “dan bukan “ke bawah” sperti notasi berorientasi objek lainnya. MAksudnya ujung anak panah (digambarkan sebagai segi tiga) menunjukkan dari kelas yang mewarisi atribut dan operasi ke superclaass. UML tidak menggunakan istilah inheritas, melainkan lebih menyukai hubungan yang umum.
99
b. Pemodelan Perilaku Objek Untuk memodelkan perilaku objek, kita harus menunjukkan bagaimana operasi yang disediakan oleh digunakan. Pada UML, perilaku dimodelkan dengan scenario yang berdasarkan atas use case. Pada gambar 7.10 menunjukkan diagram sekuensial dengan objek sepanjangan bagian atas diagram. Operasi yang diperlihatkan dengan tanda panah dan urutan operasi adalah dari atas ke bawah.
Pada scenario ini, user perpustakaan
mengakses catalog untuk melihat apakah item yang dibutuhkan tersedia secara elektronik dan jika demikian, meminta bentuk elektronik dari item tersebut. Untuk alas an hak cipta, hal ini harus diberi lisensi sehingga ada transaksi antara item di mana user dimana lisensi disetujui. Item yang akan dikeluarkan kemudian dikirim ke objek server jaringan untuk dikenakan proses kompresi sebelum user perpustkaan. Ecat: Catalog
:Library Item
Lib1: NetServer
:Library User Lookup Display Issue Issue licence Accept licence Compress
Deliver
Gambar 7.10 perilaku Pengeluaran item elektronik
100
101