KATA PENGANTAR
Puji syukur kita panjatkan kehadirat Allah SWT. karena atas limpahan
Rahmat dan Hidayah-Nya, penulis dapat menyelesaikan Makalah dengan judul
“ANALISIS DAN PERANCANGAN SISTEM”. Salawat serta salam selalu
tercurahkan kepada Rasulullah SAW, para keluarga, sahabat-sahabat, dan para
pengikutnya sampai hari penghabisan. Makalah ini di buat bertujuan untuk
memenuhi tugas mata kuliah, dengan adanya makalah ini diharapkan dapat
bermanfaat untuk menambah pengetahuan bagi para pembaca dan dapat
digunakan sebagai salah satu pedoman dalam proses pembelajaran.
Gita Widi
ii
DAFTAR ISI
REFERENSI ............................................................................................................. 17
iii
DAFTAR GAMBAR
1
BAB I
PENDAHULUAN
Secara tradisional rekayasa perangkat lunak dan manajemen basis data yang
ada merupakan disiplin ilmu yang terpisah. Teknologi basis data momfokuskan pada
aspek-aspek statik media penyimpanan informasi, sedangkan rekayasa perangkat
lunak merupakan model aspek dinamik dari perangkat lunak.
Dengan adanya generasi ketiga dari sistem manajemen basis data yang
disebut Object Database Management Systems (ODBMSs), dua disiplin ilmu tadi
telah dikombinasikan untuk menyediakan modelling yang dapat berjalan bersama
yaitu data dan aksi pemrosesan terhadap data. ODBMSs sering disebut Object
Oriented DBMSs atau Object Data Management Systems.
Object oriented merupakan suatu pendekatan baru dari pembuatan perangkat
lunak yang sangat menjanjikan untuk memecahkan beberapa masalah klasik dari
pengembangan perangkat lunak. Konsep yang mendasari teknik objek ini adalah
bahwa seluruh software sebaiknya dapat dibangun melebihi standar, komponen-
komponen dapat digunakan kembali apabila dimungkinkan.
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, seperti transaksi
throughput, response time, run – waktu platform, lingkungan pengembangan, atau
bahasa pemrograman.
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar
dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara
struktur data dan perilaku dalam satu entitas. Model berorientasi objek bermanfaat
untuk memahami masalah, komunikasi dengan ahli aplikasi, pemodelan suatu
organisasi, menyiapkan dokumentasi serta perancangan program dan basis data.
Pertama-tama suatu model analisis dibuat untuk menggambarkan aspek dasar dari
domain aplikasi, di mana model tersebut berisi objek yang terdapat dalam domain
2
aplikasi termasuk deskripsi dari keterangan objek dan perilakunya.
3
BAB II
PEMBAHASAN
6
prinsip antara lain[Coad and Yourdon]: 4 (empat) prinsip yang pertama, yaitu:
abstraction, encapsulation, modularity dan hierarchy merupakan prinsip utama yang
harus dimiliki oleh sebuah objek, sedangkan 3 (tiga) prinsip yang terakhir, yaitu:
typing, concurrency, dan persistence merupakan prinsip yang mendukung (optional)
ke empat prinsip utama tersebut.
OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan
objek, yaiut
analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA
adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus
dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang
ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk
mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek
sistem atau subsistem.
7
Gambar 3. Interface
Kelas Objek
Kelas merupakan gambaran sekumpulan Objek yang terbagi dalam atribut,
operasi, metode, hubungan, dan makna yang sama. Suatu kegiatan
mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur
data sama ke dalam satu grup. Kelas Objek merupakan wadah bagi Objek. Dapat
digunakan untuk menciptakan Objek. Objek mewakili fakta/keterangan dari
sebuah kelas.
Istilah-istilah Objek
Atribut : Data item yang menegaskan Objek.
Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku
kelas.
Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon
terhadap permintaan objek lain di dalam sistem).
8
Teknik Pemodelan dalam OOD
Model Objek :
Model objek Menggambarkan struktur statis dari suatu objek dalam sistem dan
relasinya
Model objek berisi diagram objek. Diagram objek adalah graph dimana
nodenya adalah kelas yang mempunyai relasi antar kelas.
Model Dinamik
Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.
Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.
Model dinamik berisi state diagram. State diagram adalah graph dimana
nodenya adalah state dan arc adalah tarnsisi antara state yang
disebabkan oleh event.
Model Fungsional
Model fungsional menggambrakan transformasi nilai data di dalam sistem.
Model fungsional berisi data flow diagram. DFD adalah suatu graph
dimananodenya menyatakan proses dan arcnya adalah aliran data.
9
Algoritma untuk teknik berorientasi objek seperti pola desain, Anda dapat
menyalin foto yang digunakan, didasarkan pada "object-oriented," terampil dan
pemahaman mendalam tentang dasar pengetahuan empiris. Pegang premis pola
desain berorientasi obyek adalah yang pertama untuk menguasai "berorientasi
objek!"
Dari pemahaman intuitif bahasa pemrograman berorientasi obyek antara
berbagai bahasa pemrograman berorientasi obyek yang berbeda, tetapi mereka
dapat melihat tiga mekanisme utama dukungan berorientasi objek, yaitu:
"enkapsulasi, pewarisan, polimorfisme,"
- Paket, pelaksanaan internal yang tersembunyi
- Warisan, menggunakan kembali kode yang sudah ada
- Multi-state, ditulis ulang objek perilaku
Pembungkusan
Dalam istilah berorientasi-objek, pembungkusan berkaitan dengan
penyembunyian informasi. System-sistem yang tidak berorientasi-objek
berdasarkan pada rutin dan subprogram yang berbagi-pakai data global, atau
yang menerima data yang dikirimkan oleh pemanggil.Pendekatan berorientasi-
objek, di pihak lain, mengadopsi konsep bahwa
10
2. Pewarisan
pewarisan adalah keuntungan besar dalam pemrograman berbasis object
karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara
otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode
method hanya sekali dan mereka dapat digunakan oleh semua subclass.
Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru
yang masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan
dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-
sifat orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua kelas di
dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
3. Polimorfisme
Polimorfisme (polymorphism) erat kaitannya dengan Pewarisan.
Polimorfisme adalah pemikiran bahwa objek dinamis suatu kelas dasar dapat
berperilaku seperti kelas turunan. Ketika objek tersebut menunjuk kelas dasar,
objek tersebut berperilaku seperti kelas dasar, tetapi ketika objek tersebut
menunjuk kelas turunan, objek tersebut berperilaku seperti kelas turunan. Dalam
hal ini objek dapat memiliki beberapa bentuk, tergantung pada saat itu kelas
mana yang ditunjuk. Yang perlu menjadi catatan, bahwa perubahan perilaku ini
dari kelas dasar kepada kelas turunan, tidak dapat objek kelas turunan menunjuk
kelas dasar.
Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis
(dynamic binding). Ikatan dinamis adalah ikatan yang terjadi pada saat program
dijalankan (run-
time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan
dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang
dinamis juga, dalam hal ini metode virtualnya (maya).
1.3 UML (Unified Modelling Language)
Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar
untuk merancang model sebuah sistem.Dengan menggunakan UML kita dapat
membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi
tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun,
serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga
11
menggunakan class dan operation dalam konsep dasarnya, maka ia lebih
cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi objek
seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat
digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti
bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax /semantik.
Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan
berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML
syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat
dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada
sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT
(Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented
Software Engineering).
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita
ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di
dunia.
12
Use case diagram dapat sangat membantu bila kita sedang menyusun
requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan
merancang test case untuk semua feature yang ada pada sistem. Sebuah use
case dapat meng- include fungsionalitas use case lain sebagai bagian dari
proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-
include akan dipanggil setiap kali use case yang meng- include dieksekusi
secara normal. Sebuah use case dapat di- include oleh lebih dari satu use
case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara
menarik keluar fungsionalitas yang common . Sebuah use case juga dapat
meng- extend use case lain dengan behaviour -nya sendiri. Sementara
hubungan generalisasi antar use case menunjukkan bahwa use case yang satu
merupakan spesialisasi dari yang lain.
B. Class Diagram
2. Atribut
3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut :
Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-
anak yangmewarisinya
- Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari
class lain dan mewarisi semua atribut dan metoda class asalnya dan
menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang
diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di- passing dari satu
class kepada class lain. Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian.
C. Statechart Diagram
14
berwarna penuh dan berwarna setengah.
D. Activity Diagram
E. Sequence Diagram
15
desain
berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Activation baru menunjukkan lamanya eksekusi sebuah proses, biasanya diawali
dengan diterimanya sebuah message.
F. Collaboration Diagram
G. Component Diagram
H. Deployment Diagram
jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat
fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang
digunakan untuk men- deploy komponen dalam lingkungan sebenarnya.
Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.
16
Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
17
dan sebagainya. Petakan komponen ke dalam node.
- Pendekatan use case , dengan meng- assign setiap use case kepada tim
pengembang tertentu untuk mengembangkan unit code yang lengkap dengan
tes.
- Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim
pengembang tertentu.
Tool Yang Mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool
komersial maupun opensource. Beberapa diantaranya adalah:
- Together (www.togethersoft.com)
- Jvision (www.object-insight.com)
- Objecteering (www.objecteering.com)
- MagicDraw (www.nomagic.com/magicdrawuml)
Diagram use case adalah representasi grafis dari interaksi antara sistem
dan aktor-aktor yang berpartisipasi dalam suatu sistem atau proses
bisnis. Diagram ini digunakan dalam analisis dan perancangan sistem
untuk memodelkan fungsionalitas yang diinginkan dari perspektif
pengguna atau aktor.
Berikut adalah elemen-elemen utama dalam diagram use case:
1. Aktor: Aktor adalah entitas eksternal yang berinteraksi dengan
sistem. Aktor dapat berupa pengguna manusia, perangkat keras, atau
sistem lain yang berinteraksi dengan sistem yang sedang dianalisis.
Aktor tidak terlibat dalam proses internal sistem, tetapi mempengaruhi
18
atau menerima pengaruh dari sistem. Aktor direpresentasikan
sebagai bentuk persegi panjang dalam diagram.
2. Use Case: Use case adalah suatu fungsi atau tugas yang dapat
dilakukan oleh sistem. Use case adalah representasi dari satu tugas
atau fitur yang diinginkan oleh aktor dalam sistem. Use case
direpresentasikan sebagai bentuk oval dalam diagram.
3. Hubungan Antara Aktor dan Use Case: Garis panah yang
menghubungkan aktor dengan use case menunjukkan keterlibatan
aktor dalam use case tertentu. Ini menunjukkan bahwa aktor tertentu
terlibat dalam eksekusi atau penggunaan fitur atau tugas tersebut.
4. Hubungan Antara Use Case: Garis hubungan antara use case
menunjukkan keterkaitan atau hubungan antara berbagai use case
dalam sistem. Ini dapat mengindikasikan urutan atau hubungan logis
antara use case.
5. Include Relationship: Hubungan "include" menunjukkan bahwa satu
use case membutuhkan atau memasukkan fungsionalitas dari use
case lain. Use case yang memasukkan fungsionalitas disebut use
case induk, sementara use case yang memberikan fungsionalitas
disebut use case inklusi.
6. Extend Relationship: Hubungan "extend" menunjukkan bahwa satu
use case dapat memperluas atau mengembangkan fungsionalitas
dari use case lain. Use case yang memperluas fungsionalitas disebut
use case induk, sementara use case yang diperluas disebut use case
ekstensi.
7. Diagram use case membantu dalam memahami kebutuhan pengguna
dan fungsionalitas sistem dari sudut pandang pengguna. Ini adalah
alat yang berguna dalam analisis dan perancangan sistem karena
memungkinkan tim pengembangan untuk fokus pada apa yang harus
dicapai oleh sistem dan bagaimana pengguna akan berinteraksi
dengannya.
19
BAB III
PENUTUP
Berikut adalah 10 pertanyaan dan jawaban yang dapat diambil dari materi "Teknik
Pemodelan dalam OOD dan UML":
1. Pertanyaan: Apa yang dimaksud dengan Desain Berorientasi Objek (OOD) dan
mengapa penting dalam pengembangan perangkat lunak?
Jawaban: Desain Berorientasi Objek (OOD) adalah sebuah teknik yang memusatkan
desain pada object dan class berdasarkan skenario dunia nyata. Penting dalam
pengembangan perangkat lunak karena memungkinkan representasi yang lebih dekat
dengan domain implementasi, meningkatkan kebebasan pengembangan,
mempermudah pemeliharaan, dan meningkatkan penggunaan kembali software.
Jawaban: Hasil pemodelan atau pengumpulan objek dari OOA digunakan oleh OOD,
dan hasil dari OOD digunakan sebagai basis untuk OOP.
20
4. Pertanyaan: Apa itu Unified Modeling Language (UML) dan mengapa digunakan
dalam pengembangan perangkat lunak?
Jawaban: UML adalah bahasa standar industri untuk visualisasi, merancang, dan
mendokumentasikan sistem perangkat lunak. Digunakan untuk membuat model sistem
secara grafis dan memberikan representasi yang jelas dari berbagai aspek
pengembangan perangkat lunak.
Jawaban: Model Objek menggambarkan struktur statis dari objek dalam sistem dan
relasinya. Ini termasuk diagram objek yang merupakan graph dengan node kelas yang
memiliki relasi antar kelas.
7. Pertanyaan: Apa itu Pewarisan dalam berorientasi objek dan mengapa itu penting?
Jawaban: Polimorfisme adalah pemikiran bahwa objek dari suatu kelas dasar dapat
berperilaku seperti kelas turunan. Objek dapat memiliki beberapa bentuk tergantung
pada kelas mana yang ditunjuk.
Jawaban: Desain Pola menggambarkan solusi untuk masalah umum dan menjelaskan
proses desain berorientasi objek. Pola desain berorientasi objek memodelkan desain
21
dan menggambarkan solusi umum untuk masalah kelas.
10. Pertanyaan: Apa fungsi dari Diagram Use Case dalam UML?
Jawaban: Diagram Use Case dalam UML adalah representasi grafis dari interaksi antara
sistem dan aktor-aktor yang berpartisipasi dalam suatu sistem atau proses bisnis. Ini
membantu dalam memodelkan fungsionalitas dari perspektif pengguna atau aktor.
22
REFERENSI
Booch Grady, et al. Object Oriented Analysis & Design With Applications,
3rd Edition.2007.Pearson Education
http://aimyaya.com/id/komputer/desain-berorientasi-objek/
http://eprints.ums.ac.id/778/1/Emitor_RNR_CaseTool.pdf
http://tanzir.staff.gunadarma.ac.id/Downloads/files/6970/OOSysDev.ppt
http://www.softcov.com/id/design-and-optimization/object--oriented-design-
patterns-and- principles-1.html
http://id.wikipedia.org/wiki/UML
http://sa3o.net/ringkasan-tentang-
ooad/
http://iirc.ipb.ac.id/jspui/bitstream/123456789/17981/1/G08rha_abstract.pdf
http://www.softcov.com/id/design-and-optimization/object-oriented-relational-
database- design.html
http://bimoananto.students-blog.undip.ac.id/
http://adesta2008.wordpress.com/
http://repository.usu.ac.id/bitstream/123456789/16461/5/Chapter%
20I.pdf http://ariefnote.blogspot.com/2009/03/diagram-object-object-
oriented.html
http://www.softcov.com/id/design-and-optimization/new--perspective-on-object-oriented-
design.html
ratih.staff.gunadarma.ac.id/Downloads/files/.../OBJECT+ORIENTED.ppt
ayuliana_st.staff.gunadarma.ac.id/.../Pertemuan+07+-
++(OOA+and+OOD+Testing).pdf http://wibisoni.students-
blog.undip.ac.id/2010/02/09/object-oriented-design-and- quality-software/
http://zulvani.wordpress.com/2010/08/16/metodologi-booch%E2%80%99s-object-
oriented- analysis-design-ooad/
lecturer.eepis-
its.edu/~arna/.../8.%20Desain%20Object%20Oriented.pdf
http://dewa-hendra.blogspot.com/2010/04/i.html
http://blog.unsri.ac.id/destyrodiah/object-oriented-analysis-design-ooad/resume-
ooad/pdf/7415/ http://sa3o.net/ringkasan-tentang-ooad/
http://trista-dears.blogspot.com/2010/05/object-oriented-database-ood.html
23
http://saiiamilla.wordpress.com/2010/06/04/ooad-object-oriented-analysis-dan-design/
http://logsmylife.wordpress.com/2010/04/28/konsep-dasar-object-oriented-programming-
oop-di- java/
24