Kegiatan Belajar 1: Pemodelan Perangkat Lunak Show
A. Capaian Pembelajaran Mata Kegiatan Peserta dapat memahami pemodelan perangkat lunak yang berorientasi objek B. Sub Capaian Pembelajaran Mata Kegiatan
Definisi model sendiri mempunyai Pengertian yang beragam sesuai dengan dunianya mulai dari pengertian sehari-hari everyday sense sampai technical sense. Contoh dari everyday sense, adalah artis merupakan foto model yang mendapat peran untuk memamerkan model-model pakaian karya disainer terkenal. Model matematik hanya salah satu jenis dari model dalam lingkup technical sense. Dalam banyak aplikasi engineering, model didefinisikan sebagai representasi dari sistem yang disederhanakan. Representasi ini pun juga bermacam-macam mulai dari yang bersifat physical, pictorial, verbal, schematic dan symbolic dimana:
Jadi Pemodelan merupakan suatu proses dalam representasi abstrak suatu model. Proses pemodelan menampilkan deskripsi suatu proses dari beberapa perspektif tertentu. Proses pemodelan perangkat lunak merupakan aktifitas yang saling terkait koheren untuk me nspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak. www.ilmukomputer.com, Pemodelan Data, 2005 . Pada tingkat teknik, rekayasa perangkat lunak dimulai dengan serangkaian tugas pemodelan. Model analisis sebenarnya merupakan serangkaian model yang merupakan representasi teknis yang pertama dari system. Di dalam suatu industri dikenal berbagai macam proses, demikian juga Halnya dengan industri perangkat lunak Mukhamat Djafar, 2015 . Perbedaan proses yang digunakan akan menguraikan aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda. Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan. Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam aktivitas-aktivitas ini. Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya pembuatan perangkat lunak. Presentasi ini terus bertambah karena lebih banyak perangkat lunak dihasilkan dan dipelihara. Pembuatan perangkat lunak untuk suatu perubahan adalah penting. Proses perangkat lunak komplek dan melibatkan banyak aktivitas. Proses pemodelan analisis memiliki atribut dan karakteristik seperti:
Tetapi Pada saat ini ada dua landskap pemodelan analisis. Yaitu yang pertama analisis terstrutur adalah metode pemodelan klasik. Dimana analisis terstruktur ini merupakan aktifitas pembangunan model, dan yang kedua adalah analisis berorientasi Objek. 2. Kebutuhan Sistem Berorientasi ObjekUntuk mengetahui kebutuhan sistem berorientasi objek, maka perlu dilakukan analisis. Analisis yang dimaksudkan sebagai berikut: Analisis adalah Penguraian suatu pokok atas berbagai bagiannya dan penelaahan bagian itu sendiri serta hubungan antar bagi an untuk memperoleh pengertian yang tepat dan pemahaman arti keseluruhan. Studi dari suatu permasalahan dengan cara memilah-milah permasalahan tersebut sehingga dapat dipahami dan dievaluasi, sebelum diambil tindakan-tindakan tertentu. Agar kebutuhan sistem dapat diketahui, perlu digunakan suatu metode dalam analisisisnya. Metodologi adalah cara sistematis untuk mengerjakan pekerjaan analisis dan desain. Dengan metodologi, pihak yang membangun suatu sistem dapat merencanakan dan mengulangi pekerjaan di lain waktu. Metodologi menghilangkan kesalahpahaman dan menghilangkan perbedaan notasi untuk suatu hal yang sama. Metode yang digunakan harus sesuai dengan kebutuhan aplikasi yang akan dibangun. Selain itu metode juga harus mudah digunakan dan dimengerti oleh pengembang perangkat lunak. Metodologi orientasi objek yang digunakan dalam analisis berorientasi objek antara lain: a. Metode BoochDikenal dengan nama Metode Desain Object Oriented. Metode ini menjadikan proses analisis dan desain ke dalam empat tahapan yang iteratif dapat berulang, yaitu identifikasi kelas -kelas dan objek-objek, identifikasi semantik dan hubungan objek dan kelas tersebut, perincian interface dan implementasi.
Metode ini berdasarkan pada analisis terstruktur dan pemodelan entity- relationship. Tahapan utama dalam metodologi ini adalah analisis, desain sistem dan desain objek, dan implementasi. Keunggulan metode ini adalah dalam penotasian yang mendukung semua konsep object oriented.
Metode yang mengandung elemen-elemen dari Object Oriented lainnya. Metode ini memberi penekanan lebih pada use-case. OOSE memiliki tiga tahapan yaitu membuat model requirement dan analisis, desain dan implementasi, dan model pengujian tes model. Keunggulan metode ini adalah mudah untuk dipelajari karena memiliki notasi yang sederhana, mencakup seluruh tahapan dalam rekayasa software. d. Metode Coad dan YourdonMetode ini didasarkan pada pemodelan Object Oriented dan entity- relationship. Metode ini mempunyai perancangan yang berfokus pada empat komponen yaitu Problem domain componet, Human interaction componet, Data management component dan Task management component. e. Metode Wirfs-BrockResponsibility Driven Design/-Class Responsibility Collaboration RDD/CFC Metode ini diarahkan pada desain, tetapi sangat berguna untuk memunculkan ide dalam tahap analisis. Keunggulannya adalah mudah digunakan, metode ini juga mengidentifikasikan hirarki kelas dan subsistem-subsistem.
Metode yang menggunakan teknik pemodelan informasi tradisional yang menjelaskan entitas dalam sistem, menggunakan state diagram untuk memodelkan keadaan state entitas, menggunakan data flow diagram untuk memodelkan alur data dalam sistem. Metode ini menghasilkan tiga jenis model yaitu: information model, state model dan process model. Keunggulan metode ini adalah dalam memandang masalah dari sudut pandang yang berbeda, mudah dibuat dikonversi dari metode struktural. 3. Alur Kerja Sistem Berorientasi ObjekSiklus pemodelan atau hubungan dengan langkah-langkah pemodelan dalam mengembangkan suatu sistem sebagai berikut:
Yaitu menyangkut pengumpulan kebutuhan requirement gathering pada level sistem dengan sejumlah analisis serta top desain. Yaitu kebutuhan Perangkat Lunak, proses requirement gathering difokuskan, khususnya pada Perangkat lunak. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan sistem maupun Perangkat Lunak didokumentasikan dan direview bersama user Memiliki fokus terhadap 4 hal, yaitu:
Proses desain menerjemahkan kebutuhan kedalam representasi Perangkat Lunak sebelum dimulai coding. 4. Unified Modeling Language UMLUnified Modeling Language UML adalah notasi yang lengkap untuk membuat visualisasi model suatu sistem. Sistem informasi dan fungsi, tetapi secara normal digunakan untuk memodelkan sistem komputer Kasman Arif, 2014 . Didalam pemodelan objek guna menyajikan sistem yang berorientasi pada objek dan pada orang lain, akan sangat sulit dilakukan jika pemodelan tersebut dilakukan dalam bentuk kode bahasa pemrograman. Kesulitan yang muncul adalah timbulnya ketidakjelasan dan salah interprestasi didalam pembacaan kode pemrograman untuk pemodelan objek tersebut Verdi Yasin, 2012 Unified Modeling Language UML adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek” Adi Nogroho, 2010: 6. Unified Modeling Language UML disebut bahasa pemodelan bu kan metode. Bahasa pemodelan sebagai an besar grafik merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci untuk komunikasi. Pemodelan ini merupakan bahasa standar untuk digunakan dalam visualisasi, spesifikasi, pembentukan dan pendokumentasian alat – alat dari sistem perangkat lunak.
Unified Modeling Language UML merupakan bahasa pemodelan yang memiliki pembendaharan kata dan cara untuk mempresentasikan secara fokus pada konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang intensif membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama seperti menyusun atau mengembangkan sistem development life cycle. Dengan Unified Modeling Language UML akan memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi Unified Modeling Language UML tidak dapat memberitahukan model apa yang akan dibangun dan kapan akan membangun model tersebut. 2. UML sebagai bahasa untuk mengambarkan sistem UML tidak hanya merupakan rangkain simbol grafikal, cukup dengan setiap simbol pada notasi UML merupakan penerapan simantik yang baik. UML menggambarkan modael yang dapat dimengerti dan dipresentasikan kedalam model tekstual bahasa pemrograman. Contohnya kita dapat menduga suatu model dari sistem yang berbasis web tetapi tidak secara langsung dipegang dengan mempelajari code dari sistem. 3. UML sebagai bahasa untuk menspesifikasikan sistem UML membangun model yang sesuai dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desain dan implementasi yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem software intensif. 4. UML sebagai bahasa untuk pendokumentasian sistem UML menunjukan dokumentasi dari arsitektur sistem dan detail dari semuanya. Tujuan Unified Modeling Language UML diantaranya adalah.
5. UML dengan aplikasi StarUMLPemodelan merupakan suatu hal yang tidak bisa dilepaskan dari pembangunan aplikasi. Sebagai cikal-bakal dari suatu aplikasi, proses memodelkan tentu bukan hal yang mudah. Namun seiring berkembangnya teknologi, pemodelan yang notabene memakan banyak waktu bisa diselesaikan lebih cepat dan terorganisasi. Hal tersebut bisa terjadi dengan bantuan aplikasi pemodelan. StarUML adalah software permodelan yang mendukung UML Unified Modeling Language. Berdasarkan pada UML version 1.4 dan dilengkapi 11 macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga mendukung pendekatan MDA Model Driven Architecture dengan dukungan konsep UML. StarUML dapat memaksimalkan produktivitas dan kualitas dari suatu software project. Jika dikomputer Anda telah terpasang StarUML, maka silakan melanjutkan ke bahasan berikut. a. Use Case DiagramUse Case diagram merupakan suatu diagram yang menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case dapat memrepresentasikan interaksi antara aktor dengan sistem. Use Case Diagram adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan systemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan kontruksi untk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkn use case diagram memfalisitasi komunikasi di antara analis dan pengguna serta analis dan client. Penjelasan bagian bagian use case diagram, ada 6 tool yang terpenting pada use case diagram : 1 SystemMenyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya di luar sistem dan fitur -fitur yang harus disediakan dalam sistem. Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram. 2 ActorAktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut: SIAPA yang akan menggunakan sistem? APAKAH sistem tersebut akan memberikan NILAI bagi aktor? 3 Use caseMengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai misalnya,Pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada .ada 2 triger pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa. 4 AssosiationMengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa berarah garis dengan anak panah jika komunikasi satu arah, namun umumnya terjadi kedua arah tanpa anak panah karena selalu diperlukan demikian. 5 DependencyDependensi <<include>>
<<include>> pada garis. d Arah mata panah sesuai dengan arah pemanggilan. Dependensi <<extend>>
6 GeneralizationMendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit Berikut ialah contoh sederhana cara membuat use case diagram dengan starUML:
dan pilih Use Case Diagram a. Gambar 1. 1. Memulai Use Case Diagram
Gambar 1. 3. Pemberian nama actor
Gambar 1. 4. Objek Use Case
b. Activity DiagramActivity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya internal processing. Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Activity diagram memodelkan workflow proses bisnis dan urutan aktivitas dalam sebuah proses. Diagram ini sangat mirip dengan flowchart karena memodelkan workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke status. Menguntungkan untuk membuat activity diagram pada awal pemodelan proses untuk membantu memahami keseluruhan proses. Activity diagram juga bermanfaat untuk menggambarkan parallel behaviour atau menggambarkan interaksi antara beberapa use case. Berikut ini adalah simbol-simbol dari activity diagram. Tabel 1. 1 Berikut contoh activity diagram dengan actor mahasiswa dan petugas perpustakaan. Gambar 1. 5. Contoh activity diagram Untuk membuat membuat activity diagram menggunakan starUML, berikut akan diuraikan secara tahap-demi tahap :
c. Sequence DiagramSequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal waktu dan dimensi horizontal objek -objek yang terkait. Sequence diagram dapat digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang mentrigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Sequence diagram adalah suatu penyajian perilaku yang tersusun sebagai rangkaian langkah-langkah percontohan dari waktu ke waktu. Sequence diagram digunakan untuk menggambarkan arus pekerjaan, pesan yang sampaikan dan bagaimana elemen-elemen di dalamnya bekerja sama dari waktu ke waktu untuk mencapai suatu hasil. Tabel 1. 2. Simbol pada squence diagram Berikut adalah contoh gambar dari squence diagram: Berikut contoh sederhana membuat sequence diagram dengan starUML:
Gambar 1. 6. Menu squence diagram
Gambar 1. 7. Toolbox squence diagram
Gambar 1. 8. Contoh squence diagram
menggunakan stimulasi yang terletak pada toolbox.
d Dalam object kasir terdapat garis melengkung kebawah yang menunjukkan suatu proses yang disebut setstimulasion.
Statechart diagram menunjukkan siklus hidup dari obyek tunggal, dari saat dibuat sampai obyek tersebut dihapus. Diagram ini adalah cara tepat untuk memodelkan perilaku dinamis sebuah kelas. Statechart diagram tidak dibuat untuk setiap kelas, bahkan kadang-kadang untuk suatu proyek system informasi tidak menggunakan sama sekali. Berikut ini adalah simbol-simbol dari statechart diagram. Tabel 1. 3. Simbol-simbol dari statechart diagram Untuk menjalankan statechart diagram, dilakukan melalui menu model à statechart diagram, seperti yang ditujukan pada gambar di bawah ini. Gambar 1. 9. Menjalankan statechart diagram Berikut ini contoh dari statechart diagram tentang peminjaman barang Gambar 1. 10. Contoh statechart diagram
Deployment diagram merupakan gambaran proses-proses berbeda pada suatu sistem yang berjalan dan bagaimana relasi di dalamnya. Hal inilah yang mempermudah user dalam pemakaian sistem yang telah dibuat dan diagram tersebut merupakan diagram yang statis. Misalnya untuk mendeskripsikan sebuah situs web, deployment diagram menunjukkan komponen perangkat keras (“node”) apa yang digunakan (misalnya, web server, server aplikasi, dan database server), komponen perangkat lunak (“artefak”) apa yang berjalan pada setiap node (misalnya, aplikasi web, database), dan bagaimana bagian-bagian yang berbeda terhubung (misalnya JDBC, REST, RMI). Node digambarkan sebagai kotak, dan artefak yang dialokasikan ke setiap node digambarkan sebagai persegi panjang di dalam kotak. Node mungkin memiliki subnodes, yang digambarkan sebagai kotak nested. Sebuah node tunggal secara konseptual dapat mewakili banyak node fisik, seperti sekelompok database server. Simbol dari deployment diagram dapat dilihat pada gambar di bawah ini: Tabel 1. 4. Simbol deployment diagram Untuk menjalankan deployment diagram, dilakukan melalui menu model à deployment diagram pada starUML, seperti yang ditunjukkan pada Gambar di bawah ini. Gambar 1. 11. Menjalankan Deployment Diagram Contoh deployment diagram Gambar 1. 12. Contoh Deployment Diagram
Kolaborasi diagram atau collaboration diagram adalah suatu diagram yang memperlihatkan/menampilkan pengorganisasian interaksi yang terdapat disekitar objek (seperti halnya sequence diagram) dan hubungannya terhadap yang lainnya. Berikut ini simbol-simbol yang ada pada kolaborasi diagram. Tabel 1. 5. Simbol-simbol pada kolaborasi diagram Contoh dari kolaborasi diagram Gambar 1. 13. Contoh kolaborasi diagram Penjelasan Collaboration Diagram Administrator. Pada saat masuk awal muncul screen login yang harus diinputkan. Admin yang mempunyai hak akses untuk menginputkan UserID & password untuk masuk ke halaman admin.
Komponen adalah bagian fisik atau replaceable dari sistem yang bersesuaian dan menyediakan realisasi dari sekumpulan interface. Diagram komponen menunjukkan organisasi dan ketergantungan antar komponen Diagram komponen tidak hanya penting untuk visualisasi, spesifikasi, dan dokumentasi, tapi juga mengembangkan executable system. Berikut ini adalah simbol-simbol yang terdapat dalam komponen diagram Tabel 1. 6. Simbol dalam Komponen Diagram Untuk menjalankan dari starUML, dapat diakses melalui menu Model à componen diagram, seperti yang ditunjukkan dalam gambar di bawah ini. Gambar 1. 14. Menjalankan komponen diagram Contoh dari componen diagram Gambar 1. 15. Contoh komponen diagram |