2.1. Desain Sistem Secara Umum
A. Tujuan Deseain Sistem Secara Umum
Tujuan dari desain sistem
secara umum adalah untuk memberikan gambaran secara umum kepada user tentang
sistem yang baru. Desain sistem merupakan persiapan dari desain terinci dan
mengidentifikasikan komponen-komponen sistem informasi yang akan didesain
secara rinci. Desain terinci dimaksudkan untuk pemrograman komputer dan ahli
teknik lainnya yang akan mengimplementasikan sistem. Tahap desain sistem secara
umum dilakukan setelah tahap analisis sistem selesai dilakukan dan hasil
analisis disetujui oleh manajemen.
Pada desain sistem informasi,
semua teknik-teknik yang digunakan di tahap analisis sistem dapat juga
digunakan pada tahap ini, misal flowchart dan formulir-formulir. Di samping itu
terdapat beberapa teknik lain yang dapat diterapkan pada tahap desain sistem
ini yiatu teknik sketsa (dilakukan dengan menggunakan lembar kosong untuk
sketsa desain) dan prototyping (pembuatan asuatu model kerja dari
sistem final) secepat mungkin. Sistem prototype ini kemudian dapat
diperiksa oleh user untuk menentukan apakah sudah sesuai dengan yang
diinginkan. Pendekatan prototype pada tahp desain sistem ini disebut dengan design
by prototyping. Prototype di review olwh user, perubahan-perubahan baru
kemudian di kembangkan. Proses ini disebut dengan prototype Loop.
B. KOMPONEN DESAIN SISTEM SECARA UMUM
i.
Desain
Model Secara Umum
Sistem analisis dapat mendesain
model dari sistem informasi yang diusulkan dalam bentuk Physical System dan
Logical Model. Bagan alir sistem (systems flowchart) merupakan alat yang yang
tepat digunakan untuk menggambarkan physical system. Dan Logical Model dapat
digambarkan dengan Data Flow Diagram (DFD).
Ø Physical
System
System flowchart dapat
didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan
dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada
di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
Simbol dan Notasi Flowchart
dipakai sebagai alat Bantu menggambarkan proses di dalam program. Dan dibagi
menjadi tiga kelompok :
Flow Direction Symbols
Dipakai untuk menggabungkan
antara symbol yang satu dengan symbol lainnya.
Processing symbols
Menunjukkan jenis operasi
pengolahan dalam suatu prosedure.
Input-output symbols
Menyatakan jenis peralatan yang
digunakan sebagai media input atau output.
Contoh flowchart menentukan
bilangan genap dan bilangan ganjil
Ø Logical
Model
Data Flow Diagram digunakan
untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan
dikembangkan secara logika.
DFD berfungsi untuk
menggambarkan proses aliran data yang terjadi di dalam sistem dari tingkat yang
tertinggi sampai yang terendah, yang memungkinkan kita untuk melakukan
dekomposisi, mempartisi atau membagi sistem kedalam bagian-bagian yang lebih
kecil dan yang lebih sederhana (Hartono, 1999:684).
Beberapa simbol dalam DFD
antara lain:
Tingkatan
– tingkatan pada DFD adalah sebagai berikut:
v Diagram
konteks : Diagram ini adalah diagram level tertinggi dari DFD yang
menggambarkan hubungan system dengan lingkungannya.
v Diagram
level Zero : Diagram ini adalah dekomposisi dari diagram konteks. Merupakan
diagram yang menggambarkan proses-proses utama system dan alur datanya.
v Diagram
level satu : Diagram ini merupakan dekomposisi dari diagram level zero.
v DFD
level dua,tiga, … : Diagram ini merupakan dekomposisi dari level sebelumnya.
v Entity
Relationship Diagram : Model Entity Relationship adalah suatu penyajian data
dengan menggunakan Entity dan Relationship
Pedoman Menggambarkan Data Flow
Diagram
§ Identifikasikan
terlebih dahulu semua kesatuan luar yang terlibat di sistem
§ Identifikasikan
semua input dan output yang terlibat dengan kesatuan luar.
§ Gambarkan
terlebih dahulu suatu disgram konteks. Dari diagram konteks ini akan digambar
dengan lebih rinci lagi yang disebut dengan level 0. Tiap-tiap proses di level
0 akan digambar secara lebih rinci lagi disebut dengan level 1. Tiap- tiap
proses di level 1akan digambar secara lebih rinci lagi disebut dengan level 2
dan seterusnya sampai tiap-tiap proses tidak dapat digambar lebih terinci lagi.
§ Gambarkan
bagan berjenjang untuk semua proses yang ada di sistem terlebih dahulu. Bagan
berjenjang digunakan untuk mempersiapkan penggambaran DAD ke level-level lebih
bawah lagi.
§ Gambarlah
sketsa DAD untuk diagram level 0 berdasarkan proses di bagan berjenjang.
§ Gambarlah
DAD untuk level-level berikutnya yaitu level 1 dan seterusnya untuk tiap-tiap
proses yang dipecah-pecah sesuai dengan bagan berjenjangnya.
ii.
Desain
Input Secara Umum
Langkah-langkah desain
input secara umum adalah :
1. Menentukan
kebutuhan input dari sistem informasi
2. Menentukan
parameter dari desain input tersebut.
Contoh
:
Data Mahasiswa
iii.
Desain
Output Secara Umum
Langkah-langkah desain output
secara umum adalah :
1. Menentukan
kebutuhan output dari sistem informasi
2. Menentukan
parameter dari desain output tersebut
Contoh
:
iv.
Desain
Database Secara Umum
Database dibentuk dari kumpulan
file. Sedangkan file dibentuk dari kumpulan record. Dan record dibentuk dari
kumpulan field. Sedangkan field merupakan kumpulan dari item data. Item data
dapat berupa huruf, angka, atau simbol-simbol khusus.
Langkah-langkah desain database
secara umum :
1. Menentukan
kebutuhan file pada sistem informasi
2. Menentukan
parameter dari desain database tersebut : Type File, Media File, Organisasi
File & key field dari file tersebut.
Contoh
Nama File
|
Tipe File
|
Media File
|
Organisasi File
|
Primary Key
|
Mahasiswa
|
Master
|
Harddisk
|
Direct Access File
|
NIM
|
Dosen
|
Master
|
Harddisk
|
Direct Access File
|
Kode_Dosen
|
Mata Kuliah
|
Master
|
Harddisk
|
Direct Access File
|
Kode_Mk
|
Prodi
|
Master
|
Harddisk
|
Direct Access File
|
Kode_Prodi
|
KRS
|
Transaksi
|
Harddisk
|
Direct Access File
|
No_KRS
|
Data Biaya
|
Master
|
Harddisk
|
Direct Access File
|
No_Kuitansi
|
Jadwal
|
Transaksi
|
Harddisk
|
Direct Access File
|
Kode_Jadwal
|
Nilai
|
Master
|
Harddisk
|
Direct Access File
|
Kode_Nilai
|
v.
Desain
Teknologi Secara Umum
Untuk tahap desain teknologi
secara umum, langkah pertama perlu dilakukan oleh analis adalah
mengidentifikasi jenis dari teknologiyang dibutuhkan, baik yang berkaitan
dengan penggunaan hardware (perangkat keras), software (perangkat lunak) dan
brainware yaitu personil yang terlibat dengan sistem informasi. Kemudian
langkah kedua adalah menentukan jumlah yang dibutuhkan dalam penggunaan
hardware maupun software untuk sistem informasi tersebut.
2.2. Desain
Sistem Secara Terinci
A. Definisi
Desain
sistem secara terinci merupakan komponen – komponen sistem informasi yang
dirancang dengan tujuan untuk dikomunikasikan kepada programmer agar dapat
dituangkan dalam bentuk program aplikasi. Pembuatan rancang bangun yang jelas
dan lengkap untuk nantinya digunakan untuk pembuatan program komputernya.
B.
Komponen Desain Sistem
Secara Terinci
1. Desain
Input Terinci
Masukan
(input) merupakan awal dimulainya proses informasi. Bahan mentah dari informasi
adalah data yang terjadi dari transaksi-transaksi yang dilakukan oeh organisasi
. Data dari hasil transaksi merupakan masukan untuk sistem informasi.
Dokumen
dasar merupakan formulir yang digunakan untuk menangkap (capture) data yang
terjadi. Data yang sudah dicatat di dokumen dasar kemudian dimasukkan sebagai
input ke sistem informasi untuk diolah.
Mengatur
Tata Letak Isi Input
Tujuannya
:
v Bagi
pemakai sistem digunakan untuk menilai isi dan bentuk dari input apakah sudah
sesuai dengan yang diinginkan atau belum.
v Bagi
programmer akan digunakan sebagai dasar pembuatan program untuk menghasilkan
input yang diinginkan. Programmer membutuhkan desain input ini untuk menentukan
posisi kolom, baris, dan informasi yang arus disajikan di suatu input.
2. Desain
Output Terinci
Pada
tahap desain output secara umum, desain output ini hanya dimaksudkan untuk
menentukan kebutuhan output dari sistem baru. Output apa saja yang dibutuhkan
untuk sistem yang baru? Desain output secara umum dimaksudkan untuk menjawab
pertanyaan ini. Bagaimana dan seperti apa bentuk dari output-output tersebut?
Desain
output terinci dimaksudkan untuk menjawab pertanyaan ini. Desain output yang
akan dibahas pada bab ini adalah untuk output berbentuk laporan dimedia keras
seperti kertas. Desain output di media lunak dalam bentuk dialog di layar
terminal akan dibahas selanjutnya.
Bentuk
Laporan
Bentuk
dari laporan yang dihasilkan oleh sistem informasi, yang paling banyak
digunakan adalah dalam bentuk tabel dan berbentuk grafik atau bagan.
Mengatur
Tata Letak Isi Output
Pengaturan
isi dari output akan secara langsung menentukan kemudahan dari output untuk
dipahami dan dimengerti. Pengaturan tata letak output merupakan pekerjaan
desain yang penting dan sangat diperlukan baik bagi pemakai sistem maupun bagi
programmer. Bagi pemakai sistem digunakan untuk menilai isi dan bentuk dari
output apakah sudah sesuai yang diinginkan atau belum.
Bagi
programmer akan digunakan sebagai dasar pembuatan program untuk menghasilkan
output yang diinginkan. Programmer membutuhkan desain output ini untuk
menentukan posisi kolom, baris dan informasi yang harus disajikan disuatu
output. Pengaturan tata letak isi output yang akan dicetak diprinter dapat
digunakan alat bagan tata letak printer (printer layout chart) dan kamus data
output.
3. Desain
Dialog Layar Terminal
Merupakan
rancang bangun dari percakapan antara pemakai sistem (user) dengan komputer.
Percakapan ini dapat terdiri dari proses memasukkan data ke sistem, menampilkan
output informasi kepada user atau dapat keduanya.
Terdapat
beberapa strategi membuat dialog layar komputer :
v MENU
Banyak
digunakan dalam dialog karena merupakan jalur pemakai (user interface) yang
mudah dipahami dan mudah digunakan. Menu berisi dengan beberapa
alternatif atau option atau pilihan yang disajikan kepada user.
v KUMPULAN
INSTRUKSI (Instruction Set)
Strategi
dialog ini dilakukan dengan menuliskan suatu instruksi oleh user dan sistem
akan mengaktifkan instrusi tersebut serta memberikan respon jawaban.
v DIALOG
PERTANYAAN ( Question Dialog)
Sistem
akan menampilkan terlebih dahulu pertanyaan dan user akan menjawabnya
4. Desain
Database Terinci
Ditahap
desain secara umum sebelumnya, desain database hanya dimaksudkan untuk
mengidentifikasi kebutuhan file-file database yang diperlukan oleh sistem
informasi saja. Pada tahap desain terinci ini, desain database dimaksudkan
untuk mengidentifikasi isi atau struktur dari tiap-tiap file yang telah
diidentifikasi didesain secara umum.
Elemen-elemen
data disuatu file database harus dapat digunakan untuk pembuatan suatu output.
Demikian juga dengan input yang akan direkam di database, file-file database
harus mempunyai elemen-elemen untuk menampung input yang dimasukkan. Untuk
dapat merancang database terinci digunakan teknik normalisasi.
5. Desain
Teknologi Terinci
Pada
desain teknologi secara umum telah ditentukan jenis dan jumlah dari teknologi
yang akan digunakan. Yang belum didefinisikan secara pasti pada tahap ini
adalah kapasitas dari teknologi simpanan luar yang akan digunakan. Kapasitas
simpanan luar yang telah didefinisikan pada tahap desain secara umum hanya
ditaksir secara kira-kira terlebih dahulu berdasarkan pengalaman analis sistem.
Setelah
file-file database berhasil didesain secara rinci, kebutuhan kapasitas simpanan
luar sekarang dapat dihitung dengan lebih tepat. Besarnya kapasitas simpanan
luar yang dibutuhkan oleh sistem informasi dapat dihitung berdasarkan besarnya
file-file database yang akan menimpan data untuk satu periode tertentu.
2.3. Desain
Sistem Terstruktur
A.
Definisi
Metode ini diperkenalkan pada tahun 1970, yang
merupakan hasil turunan dari pemrograman terstruktur.
Perancangan terstruktur merupakan aktivitas
mentransformasikan hasil analisis kedalam suatu perencanaan untuk dapat
diimplementasikan. Harus ada alat dan teknik-teknik yang dibutuhkan di dalam
suatu pengembangan sistem untuk melengkapi metode SSAD ini, agar hasil akhirnya
bisa menghasilkan sistem yang strukturnya terdefinisi dengan baik dan juga
jelas.
Dengan menggunakan metode ssad atau metode
terstruktur, masalah yang cukup kompleks di dalam suatu organisasi bisa
dipecahkan dengan mudah dan mudahnya dalam memaintenance sistem, pemakai lebih
puas, adanya dokumentasi yang baik, fleksibel, sesuai dengan anggaran yang
telah ditentukan, produktivitas meningkat serta kualitasnya akan jauh lebih
baik.
Analisis dan Desain Sistem Terstruktur adalah
salah satu metodologi dalam mengembangkan sistem maupun perangkat lunak.
Metodologi ini digunakan dalam menjalankan 3 fase di SDLC yaitu fase analisis,
desain dan implementasi sebuah sistem dan perangkat lunak. Selain dari
metodologi SSAD ini juga terdapat metodologi Object Oriented System Analisys
and Design (OOSAD) yang berarti Analisis dan Desain Sistem Berorientasi Objek.
Jika OOSAD beorientasi pada objek dan kelas-kelas sedangkan SSAD berorientasi
data dan proses. Contoh bahasa pemrograman tertrukur adalah C dan Pascal.
B.
Karakteristik
Analisis
dan desain perangkat lunak terstruktur memiliki beberapa karakteristik penting,
yaitu :
1.
Berdasarkan
modul
Dalam metodologi ini semua
proses di bagi menjadi modul-modul yang independen atau dapat berdiri sendiri
sehingga setiap modul dapat digunakan kembali di projek lain. Setiap modul
mengandung proses-proses yang mengolah data lebih detail. Antara setiap proses
itu memiliki keterikatan sehingga di kelompokkan kedalam modul.
2.
Pendekatan
Top-Down
Pendekatan Top-Down memiliki
arti bahwa dalam perancangannya sistem di definisikan lebih dahulu secara umum
lalu turun ke level ke yang lebih spesifik. Pendekatan ini sering di lakukan
dengan menggunakan Diagram Arus Data atau Data Flow Diagram(DFD).
3.
Iterasi
Perancangan dan implementasi
sistem di lakukan secara iterasi yaitu berulang ulang kali sehingga kesalahan
kesalahan dari iterasi sebelumnya dapat di perbaiki. Contoh metode iterasi
adalah metode spiral.
4.
Paralel
Karena setiap modul dapat
bekerja secara independen maka dalam pengembangannya dapat dilakukan secara
terpisah. Pengembangan secara terpisah dapat mempercepat proses pembuatan
sistem ini sehingga sumberdaya yang dikeluarkan menjadi lebih sedikit.
C.
Pada Desain Sistem terstruktur dibedakan atas dua
pendekatan
1.
Pendekatan
berorientasi proses
Pada pendekatan proses, hal
yang dilakukan adalah memeriksa input, proses dan juga output pada sistem.
Seorang profesional sistem harus mengetahui lebih detail mengenai input, proses
dan output pada sistem tersebut agar pendekatan berorientasi proses dapat
berjalan dengan baik. Fokus dari pendekatan ini adalah penggunaan, aliran dan
juga transformasi yang ada di dalam suatu sistem. Biasanya untuk menggunakan
pendekatan ini juga digunakan tool seperti DFD, Flowchart, dan tool lainnya
yang berfungsi untuk menggambarkan proses aliran data.
2.
Pendekatan
beorientasi data
Jika proses sistem seperti
input, proses dan output belum ditentukan maka pendekaran berorientasi data
akan digunakan. Hal yang dilakukan di dalam pendekatan berorientasi data adalah
mengecek keputusan yang dibuat sistem serta mengidentifikasi data yang dibutuhkan
untuk mendukung keputusan tersebut. Fokus dari pendekatan ini adalah untuk
menentukan kebutuhan yang akan menunjang keputusan yang berbasis pada data.
D.
Kelebihan Pendekatan Terstruktur
1. Mudahnya
dalam manajemen proyek dikarenakan milestone yang jelas.
2. Karena
menggunakan pendekatan visual metode SSAD atau pendekatan terstruktur menjadi
lebih mudah untuk dipahami oleh pengguna ataupun programmer.
3. Metode
SSAD menjadi lebih bagus untuk digunakan karena adanya penggunaan analisis
grafis dan tool seperti DFD.
4. Pada
berbagai industri SSAD adalah metode yang telah diketahui secara umum.
5. Karena
metode ini sudah ada cukup lama, membuat metode ini semakin layak dan matang
untuk digunakan.
6. Pendekatan
terstruktur memungkinkan untuk melakukan validasi antara berbagai kebutuhan.
E.
Kekurangan Pendekatan Terstruktur
1. Kebutuhan
non-fungsional diabaikan karena metode ini berorientasi utama pada proses.
2. Manajemen
langsung pada SSAD yang masih sedikit.
3. SSAD
memiliki prinsip dasar non-terative (waterfall), akan tetapi kebutuhan pada
setiap proses akan berubah.
4. Interaksi
antara pengguna dan analis masih kurang kompleks, ini dikarenakan sistem sudah
di definisikan sejak awal, akibatnya sistem tidak adaptif terhadap berbagai
perubahan.
5. Pengguna
lebih sulit untuk melakukan evaluasi karena tool yang tidak cukup untuk
melakukan komunikasi dengan pengguna.
6. SSAD
atau pendekatan terstruktur tidak selalu memenuhi kebutuhan pengguna.
7. Sulit
memutuskan kapan menghentikan dekomposisi dan mulai melakukan pengerjaan
sistem.
F.
Tools atau Alat dalam Pendekatan Terstruktur
1. DFD
(Data Flow Diagram )
2. Kamus
Data
3. Entity
Relationship Diagram (ERD)
4. State
Transition Diagram (STD).
Pada pendekatan terstruktur contoh bahasa
pemrograman yang bisa digunakan adalah bahasa Pascal, C, C# dll.
2.4. Desain
Sistem Berorientasi Objek
A. Object Oriented Analysis
(OOA)
Object-oriented
analysis (OOA) telah ada sejak 1988. orang yang telah memakai metode ini adalah
Shlaer-Mellor, Jacobson, Coad-Yourdon, and Rumbaugh. Hasil sukses dalam
penerapan metode ini dibuktikan di AT & T Bell Labs. AT & T Bell Labs
menerapkan metode ini dalam project besar yang disebut Call Attempt Data
Collection System (CADCS). Dari proyek tersebut didapat bahwa penggunaan metode
ini mengurangi 8% dari total waktu untuk spesifikasi kebutuhan project dan
pengurangan 30% staff effort.
Ada
hubungan yang sangat erat antara Object-oriented analysis dan teknologi object
oriented yang lain. Diantaranya yaitu Object-Oriented Database, Object-Oriented
Design, and Object-Oriented Programming Languages. Dalam penerapannya semua
metode itu digunakan secara keseluruhan dalam project disebut dengan metode
object-oriented. Jika hanya melakukan analisis saja dengan metode
object-oriented dan tidak diikuti dengan design dan programming dengan metode
yang sama tentunya akan menambah kesulitan dalam pengambangannya. Dalam
kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain. Karena
memang untuk mendapatkan hasil yang maksimal dari metode object-oriented, ketiganya
harus ada.
OOA
mempelajari permasalahan dengan menspesifikasikannya atau mengobservasi
permasalahn tersebut dengan menggunakan metode berorientasi objek. Biasanya
analisa sistem dimulai dengan adanya dokumen permintaan (requirement)
yang diperoleh dari semua pihak yang berkepentingan. (Mis: klien,developer,
pakar, dll)
Dokumen permintaan
memiliki 2 fungsi yaitu :
·
memformulasikan kebutuhan klien dan
·
membuat suatu daftar tugas
Analisis berorientasi obyek (OOA) melihat
pada domain masalah, dengan tujuan untuk
memproduksi sebuah model konseptual informasi yang ada di daerah yang sedang
dianalisis. Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan
apapun yang mungkin ada, seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun.
Kendala pelaksanaan ditangani selama desain berorientasi objek (OOD). Analisis
dilakukan sebelum Design Sumber-sumber untuk analisis dapat persyaratan
tertulis pernyataan, dokumen visi yang formal, wawancara dengan stakeholder
atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi
beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang
diminati, masing-masing dianalisis secara terpisah.
Contoh dari OOA:
Hasil analisis
berorientasi objek adalah deskripsi dari apa sistem secara
fungsional diperluan untuk melakukan, dalam bentuk sebuah model konseptual. Itu biasanya
akan disajikan sebagai seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram interaksi. Tujuan dari analisis berorientasi
objek adalah untuk mengembangkan model yang menggambarkan perangkat lunak
komputer karena bekerja untuk memenuhi seperangkat persyaratan yang ditentukan
pelanggan.
UML (Unified Modeling
Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk
memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah
sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri
juga memberikan standar penulisan sebuah sistem blue print, yang meliputi
konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik,
skema database, dan komponen-komponen yang diperlukan dalam sistem software.
Unified Model Language (UML) adalah bahasa universal untuk :
·
memvisualisasikan grafis model yang tepat
·
menetapkan model yang tepat, lengkap , dan
tidak ambigu untuk mengampil semua keputusan penting dalam analisis, desain dan
implementasi
·
membangun model yang dapat dihubungkan
langsung dengan bahasa pemrograman
·
mendokumentasikan semua informasi yang
dikumpulkan oleh tim sehinngga memungkinkan untuk berbagi informasi
Object-Oriented Analysis
·
Object-oriented analysis adalah suatu metoda
analisis yang memeriksa syarat-syarat dari sudut pandang kelas-kelas dan
objek-objek yang ditemui pada ruang lingkup permasalahan.
·
Mendefinisikan kebutuhan-kebutuhan sistem
melalui skenario atau penggunaan kasus-kasus.
·
Kemudian, membuat suatu model obyek dengan
kemampuan memenuhi kebutuhan-kebutuhan.
·
Output: Model kebutuhan-kebutuhan, biasanya
menggunakan CRC Cards.
·
Memberikan gambaran rinci dari suatu sistem.
·
Mengidentifikasi “WHAT” kebutuhan fungsional
(Use Cases)
·
Identifikasi: objects, classes, operations
·
Identifikasi: object relationships, object
interations
·
Bangun model-model di dunia nyata menggunakan
tampilan OO
·
Tujuan dari OOA adalah untuk memahami domain
masalah dan meningkatkan ketelitian,konsistensi, kelengkapan
B. Object Oriented Design (OOD)
OOD
mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek
memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap
non-fungsional – teknologi atau lingkungan – kendala.
OOD seperti:
Transaksi throughput,
response time, run – waktu platform, lingkungan pengembangan, atau bahasa
pemrograman.
Object-Oriented Design
·
Object-oriented design adalah metoda untuk
meng-arahkan arsitektur perangkat lunak yang didasarkan pada manipulasi
objek-objek sistem atau subsistem.
·
Model kebutuhan-kebutuhan yang dibuat pada
fase analisis diperkaya dalan fase perancangan.
·
Kadang-kadang ditambahkan lebih banyak lagi
atribut dan pelayanan.
·
Ditambahkan antarmuka obyek-obyek.
·
Memberikan blueprint untuk implementasi
·
Menspesifikasi “HOW”
·
Menspesifikasi: class definitions, class
categories
·
Menspesifikasi: subsystems, system
architectures
·
OOA + Rincian Implementasi
·
Tujuan dari OO Design adalah mengoptimalkan
maintainability, reusability, enhancebility dan Reliability.
C. Object Modeling Technique
(OMT)
Object
Modeling Technique (OMT) adalah bahasa pemodelan obyek untuk pemodelan dan
desain perangkat lunak. Dikembangkan oleh Rumbaugh, Blaha, Premerlani, Eddy dan
Lorensen sebagai metode untuk pengembangan sistem berorientasi obyek dan
mendukung pemrograman berorientasi obyek.
Object-Oriented
Software Engineering (OOSE) teknik desain perangkat lunak yang digunakan dalam
pemrograman berorientasi obyek. OOSE dikembangkan oleh Ivar Jacobson tahun
1992. OOSE adalah metodologi desain berorientasi obyek yang menggunakan use
case dalam desain perangkat lunak. Termasuk di dalam OOSE model persyaratan
(requirement), analisis, desain, implementasi dan testing.
Tujuan
pemodelan menuru Raumbaugh (1991) Melakukan testing fisik dari entiti sebelum
membangunnya (simulasi), Komunikasi dengan konsumen, Visualisasi (alternatif
dari presentasi informasi). Mengurangi kompleksitas.
Terdapat 3 jenis model
utama
1. Model Obyek : konsep
utama adalah class dan asosiasi dengan atribut dan operasi. Relasi antar class
berupa agregasi dan generalisasi
2. Model Dinamis :
merepresentasikan state/transisi model. Konsep utama adalah state, transisi
antar state dan event yang menyebabkan transisi. Aksi dimodelkan sebagai
kejadian dalam state
3. Model Fungsional :
menangani proses dari model, hubungan ke diagram alir data. Konsep utama adalah
proses, data store, data flow dan aktor.
SIKLUS OOSE
Ø Requirements Engineering
(Rekayasa Persyaratan) :
·
Memperoleh persyaratan (requirement)
·
Analisa berorientasi obyek
·
spesifikasi
Ø Desain OO:
·
Desain arsitektur
·
Desain detail
·
Keduanya membutuhkan transformasi dari
persyaratan fungsional menjadi elemen desain OO
Ø Implementasi atau Coding:
·
Pemrograman menggunakan bahasa pemrograman OO
dan tool.
Ø Testing:
·
Testing unit: metode tes dalam setiap obyek
·
Testing integrasi: kolaborasi tes antar obyek
·
Testing sistem: tes keseluruhan sistem sebagai
kumpulan obyek
·
Testing penerimaan (acceptance testing): tes
untuk standarisasi dan kepuasan konsumen.
D. Object Oriented Software
Engineering (OOSE).
OOSE
adalah suatu rekayasa perangkat lunak yang digunakan untuk membangun sebuah software
dengan melalui serangkaian proses terlebih dahulu. Sedangkan object oriented
software engineering merupakan salah satu model/konsep dalam perancangan suatu
rekayasa piranti perangkat lunak sebelum melakukan pengkodean. konsep ini mulai
banyak digunakan tetapi konsep object oriented ini tidak dapat menjangkau
formalitas yang dapat dicapai oleh bahasa spesifikasi formal. Konsep ini
menggunakan metode Unified Modelling Laguange (UML) yaitu suatu metode
modeling generasi ketiga dan bahasa spesifikasi yang sifatnya
non-proprietary. Sebenarnya penggunaan dari UML itu sendiri tidak terbatas
hanya pada dunia software modeling, tetapi bisa pula digunakan untuk modeling
hardware (engineering systems) dan sering digunakan sebagai modeling untuk
proses bisnis dan juga modeling untuk struktur organisasi.
Kegunaan OOSE:
·
Sebagai salah satu sumber utama Unified
Modeling Language (UML), konsep dan notasi dari OOSE telah dimasukkan ke
dalam UML.
·
Alat OOSE telah diganti dengan alat yang
mendukung UML dan RUP.
·
OOSE sebagian besar telah digantikan oleh
notasi UML dan oleh metodologi RUP.
E. Tools Perancangan
Berorientasi Objek
1. Object Oriented Analysis
(OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon
[1990].
2. Object Modeling Technique
(OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan
William Lorensen [1991].
3. Object Oriented Software
Engineering (OOSE) dan Ivar Jacobson [1992].
4. Booch Method dan Grady
Booch [1994].
5. Sritrop dan Steve Cook
dan John Daniels [1994].
6. UML (Unified Modeling
Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
F. Kelebihan
·
Dibandingkan dengan metode SSAD, OOAD lebih
mudah digunakan dalam pembangunan sistem.
·
Dibandingkan dengan SSAD, waktu pengembangan,
level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih
tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
·
Tidak ada pemisahan antara fase desain dan
analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal
hingga akhir pembangunan sistem.
·
Analis dan programmer tidak dibatasi dengan
batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat
dikonfirmasi dengan berbagai lingkungan eksekusi.
·
Relasi obyek dengan entitas (thing) umumnya
dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan
dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
·
Memungkinkan adanya perubahan dan kepercayaan
diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi
resiko pada pembangunan sistem yang kompleks (Booch, 2007).
·
Encapsliation data dan method, memungkinkan
penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain,
pemrograman dan reduksi harga.
·
OOAD memungkinkan adanya standarisasi obyek
yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
·
Dekomposisi obyek, memungkinkan seorang analis
untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang
dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode
ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk
ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah
dalam memelihara.
G. Kekurangan
·
Pada awal desain OOAD, sistem mungkin akan
sangat simple.
·
Pada OOAD lebih fockus pada coding
dibandingkan dengan SSAD.
·
Pada OOAD tidak menekankan pada kinerja team
seperti pada SSAD.
·
Pada OOAD tidak mudah untuk mendefinisikan
class dan obyek yang dibutuhkan sistem.
·
Sering kali pemrogramam berorientasi obyek
digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode
OOAD tidak berbasis pada fungsional sistem.
·
OOAD merupakan jenis manajemen proyek yang
tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur.
Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk
berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama (
Hantos, 2005).
·
Metodologi pengembangan sistem dengan OOAD
menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang
menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap
reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos,
2005).
Tidak ada komentar:
Posting Komentar