Senin, 12 November 2018


LAPORAN PRAKTIK KE-7

 Unified Modelling Language
(UML)





Disusun oleh :
Hanif Satriya                                 (145410026)
Alfin Dwi Yakzhan                        (175410032)
Fransisco S. B. Thorion                (175410020)
Muhammad Fadhil Jamaluddin  (175410023)
Saffinah Indah Asri                       (175410022)




SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2018
A.    Definisi UML
UML adalah sekumpulan alat yang digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak berbasis objek. UML merupakan singkatan dari Unified Modeling Language. UML juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang berkelanjutan. Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat menghambat pengembangan karena developer harus melakukan penelusuran dan mempelajari kode program. UML juga dapat menjadi alat bantu untuk transfer ilmu tentang sistem atau aplikasi yang akan dikembangkan dari satu developer ke developer lainya. Tidak hanya antar developer terhadap orang bisnis dan siapapun dapat memahami sebuah sistem dengan adanya UML.
UML diciptakan oleh Object Management Group yang diawali dengan versi 1.0 pada Januari 1997. Dalam pengembangan berorientasi objek ada beberapa prinsip yang harus dikenal:
·         Object
·         Class
·         Abstraction
·         Encapsulation
·         Inheritance
·         Polymorphism
Dalam UML sendiri terdapat beberapa diagram yang wajib dikuasai yaitu:
Structural Diagram
·         Class Diagram, diagram ini terdiri dari class, interface, association, dan collaboration. Diagram ini menggambarkan objek - objek yang ada di sistem.
·         Object Diagram, diagram ini menggambarkan hasil instansi dari class diagram. Diagram ini digunakan untuk membuat prototype
·         Component Diagram, diagram ini menggambarkan kumpulan komponen dan hubungan antar komponen. Komponen terdiri dari class, interface, atau collaboration
·         Deployment Diagram, diagram ini menggambarkan kumpulan node dan hubungan antar node. Node adalah entitas fisik dimana komponen di-deploy. Entitas fisik ini dapat berupa server atau perangkat keras lainnya.
Behavioral Diagram
·         Use case Diagram, diagram ini menggambarkan kumpulan use case, aktor, dan hubungan mereka. Use case adalah hubungan antara fungsionalitas sistem dengan aktor internal/eksternal dari sistem.
·         Sequence Diagram, diagram ini menggambarkan interaksi yang menjelaskan bagaimana pesan mengalir dari objek ke objek lainnya.
·         Collaboration Diagram, diagram ini merupakan bentuk lain dari sequence diagram. Diagram ini menggambarkan struktur organisasi dari sistem dengan pesan yang diterima dan dikirim.
·         Statechart Diagram, diagram ini menggambarkan bagaimana sistem dapat bereaksi terhadap suatu kejadian dari dalam atau luar. Kejadian (event) ini bertanggung jawab terhadap perubahan keadaan sistem.
·         Activity Diagram, menggambarkan aliran kontrol sistem. Diagram ini digunakan untuk melihat bagaimana sistem bekerja ketika dieksekusi.
Tujuan atau fungsi dari penggunaan UML, yang diantaranaya:
·            Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam pemerograman maupun proses rekayasa.
·            Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
·            Dapat memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara mudah.
·            Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
·            Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan untuk memodelkan perangkat lunak (software) saja.
·            Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh manusia maupun oleh mesin.
UML umum digunakan di dunia kerja dan dunia pendidikan. Dunia kerja menggunakan UML untuk menggambarkan sistem dan aplikasi berbasis objek yang sudah ada sebelumnya atau merancang sistem dan aplikasi di awal pengembangan sebelum memasuki tahap coding. Beberapa posisi pekerjaan yang sering bersinggungan dengan UML antara lain system analyst, software architect, dan technical writer. System analyst selain perlu memiliki kemampuan coding, sudah tentu wajib menguasai UML, jika akan mengembangkan aplikasi atau sistem berbasis objek agar dapat menjadi acuan formal bagi para developer yang bekerja sama dengannya. Tidak hanya itu system analyst pun terkadang dituntut untuk menguasai pembuatan diagram lain seperti data flow diagram, flowchart, entity relationship diagram, dan lainnya. Sedangkan UML menjadi kemampuan wajib bagi seorang technical writer. Pekerjaan di posisi ini cukup banyak dibutuhkan oleh beberapa perusahaan yang kesulitan dalam membuat dokumentasi sistem atau aplikasi yang mereka kembangkan. Selain membuat user guide, technical writer diperlukan untuk membangun keseluruhan dokumentasi dalam UML dari aplikasi atau sistem, sehingga keberadaannya dapat menambah nilai aplikasi menjadi lebih tinggi.
UML pun digunakan sebagai alat dalam beberapa mata kuliah di perguruan tinggi yang membuka jurusan ilmu komputer, teknik informatika, sistem informasi, manajemen informatika, dan komputerisasi akuntansi. Mata kuliah yang biasa diberikan bernama Metodologi Berorientasi Objek dan Pemrograman Berorientasi Objek. Bahasa pemrograman yang digunakan umumnya Java, C#, dan PHP, kemudian mahasiswa akan mempelajari juga bagaimana merancang sebuah sistem atau aplikasi menggunakan UML terhadap suatu kasus dan membuat aplikasinya ketika memasuki tahap coding. Tidak hanya sebatas kuliah, beberapa perguruan tinggi yang mempunyai jurusan informatika, kadang mewajibkan penggunaan UML untuk digunakan sebagai alat bantu di skripsi, tesis, dan disertasi. Karena tidak semua akademisi dapat membaca semua kode program yang datang dari berbagai bahasa pemrograman, maka UML menjadi sarana untuk memahami aplikasi dan sistem yang dikembangkan akademisi lainnya.
Berikut ini adalah beberapa alat yang membantu kita untuk menggunakan UML disebut dengan CASE (computer aided software engineering). Ada beberapa CASE yang umum digunakan oleh para profesional yang menggunakan UML, diantaranya:
·         Sybase Power Designer
·         Rational Rose
·         Microsoft Visio
·         Enterprise Architect
Ada juga beberapa CASE yang open source dan dapat digunakan secara bebas tanpa terbentur dengan masalah pembayaran lisensi seperti berikut:
·         StarUML
·         DIA Diagram Editor
·         Umbrello
·         ArgoUML
·         Software Ideas Modeller
·         Eclipse UML2
Beberapa alat yang berbayar mempunyai kemampuan untuk melakukan forward engineering dan reverse engineering. Forward engineering adalah sebuah fitur dari suatu CASE dimana UML yang telah dirancang dapat menghasilkan kode program yang akan menjadi pijakan dan panduan untuk mengawali pengembangan aplikasi. Sehingga koherensi antara aplikasi dan UML dapat terjaga. Reverse engineering adalah fitur dimana suatu CASE dapat membaca kode program dan menghasilkan UML dari kode program yang telah ada atau sedang dibuat.
B.     Diagram UML
a.      Use Case diagram
Use Case Diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantaranya yang memperkenalkan suatu sistem. Use case diagram tidak menjelaskan secara detil tentang penggunaan use case, tetapi hanya memberi gambaran singkat hubungan antara usecase, aktor, dan sistem.Didalam use case ini akan diketahui fungsi - fungsi apa saja yang berada pada sistem yang dibuat.

Gambar contoh use case diagram

Element - elemen pada Use Case Diagram

Actor : Mempresentasikan seseorang atau sesuatu(seperti perangkat,sistem lain) yang berinteraksi dengan sistem.Actor hanya berinteraksi dengan use case tetapi tidak memiliki kontrol atas use case.

Use Case : Adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.

Association : Menghubungkan link antar element.

<<Include>> : Yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.

Relasi Dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram: 
1. Association, menghubungkan link antar element. 
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya. 
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya. 
4. Aggregation, bentuk assosiation  dimana sebuah elemen berisi elemen lainnya.

b.      Activity Diagram

Activity diagram, sesuai dengan namanya diagram ini menggambarkan tentang aktifitas yang terjadi pada sistem. Dari pertama sampai akhir, diagram ini menunjukkan langkah – langkah dalam proses kerja sistem yang kita buat. Sebagai contoh, langkah – langkah memasak air. Tetapi kita akan menjelaskannya dengan bentuk grafik.  Struktur diagram ini juga mirip dengan flowchart.
Notasi yang digunakan dalam activity diagram adalah sebagai barikut:
1.      Activity: Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
2.      Transition: Notasi yang digunakan untuk memperlihatkan jalan aliran control dari activity ke activity.
3.      Decision: Notasi yang menandakan kontro cabang aliran berdasarkan decision point.
4.      Synchronization bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara bersamaan (pararel).
c.       Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan system berorientasi objek.           
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype.
Kelemahan:
·         Sulit untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
·         Pengimplementasian struktur data sukar dilakukan

Class memiliki 3 area pokok :
1.      Name (dan stereotype);
2.      Attribute;
3.      Method.


Penjelasan dari gambar di atas yaitu class pegawai memiliki hubungan langsung dengan slass department, class pelanggan memiliki keteterhubungan langsung dengan class transaksi, class transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class produk yang dapat terbentuk tanpa adanya class transaksi, lalu class perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke class produk.


d.      Sequence Diagram
Sequence Diagram adalah salah satu dari diagram - diagram yang ada pada UML, sequence diagram ini adalah diagram yang menggambarkan kolaborasi dinamis antara sejumlah object. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object. Sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.

Dalam UML, object pada sequence diagram digambarkan dengan segi empat yang berisi nama dari object yang digarisbawahi. Pada object terdapat 3 cara untuk menamainya yaitu : nama object, nama object dan class, dan nama class. Berikut contoh dari ketiga cara tersebut :
Dalam sequence diagram, setiap object hanya memiliki garis yang digambarkan garis putus-putus ke bawah. Pesan antar object digambarkan dengan anak panah dari object yang mengirimkan pesan ke object yang menerima pesan.
Komponen – komponen
Berikut komponen - komponen yang ada pada sequence diagram :
·         Object - adalah komponen berbentuk kotak yang mewakili sebuah class atau object. Mereka mendemonstrasikan bagaimana sebuah object berperilaku pada sebuah system.
·         Activation boxes - adalah komponen yang berbentuk persegi panjang yang menggambarkan waktu yang diperlukan sebuah object untuk menyelesaikan tugas. Lebih lama waktu yang diperlukan, maka activation boxes akan lebih panjang.
·         Actors - adalah komponen yang berbentuk stick figure. Komponen yang mewakili seorang pengguna yang berinteraksi dengan system.
·         Lifeline - adalah komponen yang berbentuk garis putus - putus. Lifeline biasanya memuat kotak yang berisi nama dari sebuah object. Berfungsi menggambarkan aktifitas dari object.

Contoh Sequence Diagram
Berikut merupakan contoh sederhana dari Sequence Diagram :

Penjelasan
Pada Sequence Diagram diatas, bisa dilihat bahwa yang menjadi Actors adalah Administrator. Activation boxes biasanya memilik garis yang memberitahu aktifitas yang terjadi ketika actors atau objects berinteraksi ke object lain.

                     

DAFTAR PUSTAKA
·         https://www.codepolitan.com/mengenal-diagram-uml-unified-modeling-language   diakses pada 12/11/2018 21:24
·          

Senin, 24 September 2018

Laporan Praktik Analisis Desain Berorientasi Objek


LAPORAN PRAKTIK KE-1

Paradigma Analisis dan Desain Berorientasi Objek dan Terstruktur
(OOAD & SSAD)






Disusun oleh :
Hanif Satriya                                 (145410026)
Alfin Dwi Yakzhan                        (175410032)
Fransisco S. B. Thorion                (175410020)
Muhammad Fadhil Jamaluddin  (175410023)
Saffinah Indah Asri                       (175410022)




SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2018


A.    Pengertian dan Konsep SSAD dan OOAD
Terdapat dua paradigma utama dalam metode analisis dan perancangan perangkat lunak yaitu:
§  Object Oriented Analylis and Design (OOAD).
§  Structure System analysis and Design (SSAD) atau juga disebut dengan pendekata Konvensional.

Object Oriented Analylis and Design (OOAD)
·         Analisis dan Desain Berorientasi Objek (Object Oriented Analysis and Design(OOAD)) adalah suatu pendekatan rekayasa perangkat lunak dari sebuah sistem yang terdiri dari sekelompok objek yang saling berinteraksi, dan setiap objek itu mewakili beberapa entitas. Yang ditandai dengan adanya sebuah kelas, elemen data dan perilaku dari objek tersebut.
·         Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode yang memeriksa syarat 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.
·         Karakteristik Object
Ada 2 karakteristik dari objek :
a.       Objek/Object
1.      Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
2.      Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadwalan dalam multiprocessing pada sistem operasi.
3.      Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.



Gambar 1. Macam-macam Objek



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).

b.      Kelas/Class
Kelas merupakan gambaran sekumpulan Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang sama.
1.      Suatu kegiatan mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup.
2.      Kelas Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek.
3.      Objek mewakili fakta/keterangan dari sebuah kelas.



Gambar 2. Kelas dan Objek


c.       Karakteristik Metodologi Berorientasi Objek

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :
1.        Pengkapsulan (Encapsulation)
·          Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
·          Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
·          Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

2.        Pewarisan (Inheritance)
·         Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
·         Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
·         Inheritance menggambarkan generalisasi sebuah kelas.

3.        Polomorfisme (Polymorphism)
·         Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
·          Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
·         Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.

Structure System analysis and Design (SSAD)
Metodologi yang umumnya digunakan dalam pembangunan sistem berbasis komputer dalam dunia bisnis dan industri saat ini adalah metode analisis dan design terstruktur (Structured Analisys and Design / SSAD). Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.
Melalui SSAD, permasalahan yang komplek di organisasi dapat dipecahkan dan hasil dari sistem akan mudah untuk dipelihara, fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik, tepat waktu, sesuai dengan anggaran biaya pengembangan, dapat meningkatkan produktivitas dan kualitasnya akan lebih baik (bebas kesalahan).

Elemen Perancangan Terstruktur:
1.     Modul merupakan sebuah instruksi atau sekumpulan instruksi program yang terdiri dari : input(masukan), output(keluaran), fungsi, mekanisme dan data internal. Contoh : Foxpro / Pascal (Procedure, function), COBOL (Program, section,paragraph), FORTRAN (subroutine).
2.   Bagan terstruktur (Structured Chart) : Menggambarkan partisi sistem ke dalam : modul-modul, organisasi, dan komunikasi. Keuntungannya ; Menggunakan gambar, Dapat dipartisi, Fleksibel, Input sangat berguna pada implementasi, Membantu pemeliharaan (maintenance) dan modifikasi.
3.   Strategi Perancangan : Mentransformasikan hasil analisis (DFD) menjadi Bagan Terstruktur, untuk diimplementasi. DFD memperlihatkan aliran data dan informasi dari sistem. Jika dalam suatu DFD aliran datanya ditentukan oleh suatu data item, misalnya ‘T’ yang mempunyai nilai/ karakteristik tertentu, kemudian nilai ini akan mempengaruhi atau menentukan arah aliran data (men-trigger arah), maka titik proses dimana terjadi percabangan arah aliran data tsb disebut titik pusat transaksi
4.   Optimasi dari perancangan (Design Heuristic). Metodologi Perancangan Terstruktur

5.  Metodologi pemecahan fungsional : Metodologi ini menekankan pada pemecahan sistem ke dalam subsistem-subsistem yang lebih kecil, sehingga akan lebih mudah untuk dipahami, dirancang, dan diterapkan.
6.   Metodologi berorientasi data : Metodologi ini menekankan pada karakteristik data yang akan diproses.
7. Prescriptive methodologies : Metodologi ini merupakan metodologi yang dikembangkan oleh sistem house dan pabrik-pabrik perangkat lunak dan tersedia secara komersial dalam paket-paket program.

B. Kelebihan Dan Kekurangan Model Perancangan SSAD dan OOAD
    1. Structure System analysis and Design (SSAD) 
        a. Kelebihan
·         Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
·         SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
·         Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
·         SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
·         SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
·         SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
·         SSAD relatif simpel dan mudah dimengerti.

           b.      Kekurangan
·   SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
·        Sedikit sekali manajemen langsung terkait dengan SSAD
·       Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
·   Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
·    Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
·        Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
·         SSAD tidak selalu memenuhi kebutuhan pengguna.
·         SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

2.      Object Oriented Analylis and Design (OOAD)
a.       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.

        c.       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).

C.    Permodelan Perancangan SSAD dan OOAD
               a.       Pemodelan SSAD:
Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas.

Didalam DFD terdapat 3 level, yaitu :
1.      Diagram Konteks : menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.

2.      Diagram Nol (diagram level-1) : merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke diagram Nol. di dalam diagram ini memuat penyimpanan data. 3.

3.      Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol.

Komponen Data Flow Diagram

Contoh Diagram Konteks

b.      Pemodelan OOAD
UML adalah sekumpulan alat yang digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak berbasis objek. UML merupakan singkatan dari Unified Modeling Language. UML juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang berkelanjutan. Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat menghambat pengembangan karena developer harus melakukan penelusuran dan mempelajari kode program. UML juga dapat menjadi alat bantu untuk transfer ilmu tentang sistem atau aplikasi yang akan dikembangkan dari satu developer ke developer lainya.

Dalam UML sendiri terdapat beberapa diagram yang wajib dikuasai yaitu:
Structural Diagram
·         Class Diagram, diagram ini terdiri dari class, interface, association, dan collaboration. Diagram ini menggambarkan objek - objek yang ada di sistem.
·         Object Diagram, diagram ini menggambarkan hasil instansi dari class diagram. Diagram ini digunakan untuk membuat prototype
·         Component Diagram, diagram ini menggambarkan kumpulan komponen dan hubungan antar komponen. Komponen terdiri dari class, interface, atau collaboration
·         Deployment Diagram, diagram ini menggambarkan kumpulan node dan hubungan antar node. Node adalah entitas fisik dimana komponen di-deploy. Entitas fisik ini dapat berupa server atau perangkat keras lainnya.
Behavioral Diagram
·         Use case Diagram, diagram ini menggambarkan kumpulan use case, aktor, dan hubungan mereka. Use case adalah hubungan antara fungsionalitas sistem dengan aktor internal/eksternal dari sistem.
·         Sequence Diagram, diagram ini menggambarkan interaksi yang menjelaskan bagaimana pesan mengalir dari objek ke objek lainnya.
·         Collaboration Diagram, diagram ini merupakan bentuk lain dari sequence diagram. Diagram ini menggambarkan struktur organisasi dari sistem dengan pesan yang diterima dan dikirim.
·         Statechart Diagram, diagram ini menggambarkan bagaimana sistem dapat bereaksi terhadap suatu kejadian dari dalam atau luar. Kejadian (event) ini bertanggung jawab terhadap perubahan keadaan sistem.
·         Activity Diagram, menggambarkan aliran kontrol sistem. Diagram ini digunakan untuk melihat bagaimana sistem bekerja ketika dieksekusi.
Contoh Use Case Diagram



  

DAFTAR PUSTAKA

20/09/2018 20:15
24/09/2018 21:18
·         http://darmastuti.staff.gunadarma.ac.id  24/09/2018 21:21
24/09/2018 21:37



LAPORAN PRAKTIK KE-7   Unified Modelling Language (UML) Disusun oleh : Hanif Satriya                                ...