Skip to main content
Software Design Notations

Notasi desain digunakan untuk mendeskripsikan tujuan suatu perangkat lunak yang digunakan dalam perancangan perangkat lunak. Notasi desain dikategorikan ke dalam notasi Structural Descriptions (Statis) dan Behavioral Descriptions (Dinamis).

Kriteria Notasi Desain


Dalam membuat notasi desain terdapat kriteria-kriteria yang harus dicapai untuk menjadi notasi desain yang baik, yaitu :

o Automatic processing : memungkinkan desainer untuk memverifikasi kebenaran dan
   kualitas desain

o Modularity : notasi mendukung pengembangan perangkat lunak modular

o Structure enforcement : memberlakukan penggunaan konstruksi pemrograman terstruktur

o Ease of editing : mudah untuk melakukan modifikasi desain

o Data representation : kemampuan untuk menggambarkan data local dan global secara
   langsung

o Maintainability : pemeliharaan konfigurasi

o Logic verification : mampu melakukan verifikasi logika untuk meningkatkan kecukupan pengujian

o Overall simplicity : mudah untuk dipelajari, digunakan dan penulisannya

o Machine readability : notasi dapat menjadi masukan secara langsung ke dalam pembangunan sistem

o Easily converted to program source code : memudahkan dan mempercepat dalam pembuatan kode 
   program

Kategori Notasi Desain

Notasi desain dikategorikan ke dalam notasi Structural Descriptions (Statis) dan Behavioral Descriptions (Dinamis).

a. Structural Descriptions (Statis)
Structural Descriptions menggambarkan dan mewakili aspek structural dari perancangan perangkat lunak, yang meliputi :

o Architecture description languages (ADL) :
Bahasa yang digunakan untuk menggambarkan arsitektur perangkat lunak dalam hal komponen dan konektor.
https://www.todaysoftmag.com/images/articles/tsm55/a33.png
data Simple state map doc pres gest upd =
    Simple { present :: LayerFn state doc 
     (map, state) pres
    , interpret :: LayerFn (map, state) gest 
      state upd
} 
sumber : https://www.todaysoftmag.com/article/2241/architecture-description-languages

o Component diagrams : Digunakan untuk merepresentasikan sekumpulan komponen dari sebuah sistem, realisasi dari sekumpulan antarmuka dan hubungan timbal baliknya
https://i0.wp.com/cakhasan.com/wp-content/uploads/2019/09/contoh-componen-diagram-pegawai.jpg?w=640&ssl=1
sumber : https://ngampus.id/contoh-component-diagram/

o Deployment diagrams : Digunakan untuk memodelkan aspek fisik suatu sistem yang mewakili satu set simpul (fisik) dan keterkaitannya
https://i1.wp.com/cakhasan.com/wp-content/uploads/2019/09/contoh-deployment-diagram-asuransi.png?w=640&ssl=1
sumber : https://ngampus.id/contoh-deployment-diagram/

o Interface description languages (IDL) : Bahasa seperti pemrograman yang digunakan untuk mendefinisikan antarmuka (nama dan jenis operasi yang diekspor) dari komponen perangkat lunak
https://image3.slideserve.com/5634568/contoh-interface-dalam-java-l.jpg
sumber : https://www.slideserve.com/carney/konsep-interface-membangun-interoperabilitas

o Class and object diagrams : Digunakan untuk mewakili sekumpulan kelas (dan objek) dan keterkaitannya


o Entity-relationship diagrams (ERD) : Digunakan untuk menggambarkan model konseptual data yang disimpan dalam sistem informasi



o Structure charts
- Digunakan untuk menggambarkan
struktur pemanggilan program

- Menguraikan komponen utama menjadi
bagian bagian kecil

- Digunakan dalam analisis sistem
terstruktur/desain terstruktur

- Setiap grafik merupakan suatu proses



b. Behavioral Descriptions (Dinamis)
Behavioral descriptions digunakan untuk menggambarkan perilaku dinamis perangkat lunak dan komponen, yang meliputi :

o Communication diagram : Digunakan untuk menunjukkan interaksi yang terjadi di antara sekelompok objek, di mana penekanannya adalah pada objek, tautannya, dan pesan yang mereka tukarkan pada tautan

https://i0.wp.com/cakhasan.com/wp-content/uploads/2019/09/collaboration-diagram-service.jpg?w=640&ssl=1
sumber : https://ngampus.id/contoh-collaboration-diagram/


o Decision tables and diagrams : digunakan untuk mewakili kombinasi kondisi dan tindakan yang kompleks
https://blogger.googleusercontent.com/img/proxy/AVvXsEglCEA-A6PBiY8S7FzEpstqWJ5DeqXuc0NosXIlEIyiL4V-KII4XQ-oJtPqFFCu9dptLr_kxUUTEWmxY4mN3dohfQKxegYq4d5Fh5aJPV6gdh0IMnVATisMZaqdPKSFQxXfSiC3sSrk_JD5PYe2xSUBrMT7Xz-lOW85-rtxbSbUhLrXaJ_BUWuSZhyphenhyphen22UHgtLpAyw=
sumber : http://www.mcr.org.in/sureshmudunuri/stm/unit6.php

o State transition and state chart diagrams : digunakan untuk menunjukkan aliran kontrol dari negara ke negara di mesin negara

sumber : http://purnama141.blogspot.com/2017/02/state-transition-diagram.html

o Formal specification languages : bahasa tekstual yang menggunakan gagasan dasar dari matematika (misalnya, logika, set, urutan) untuk secara ketat dan abstrak mendefinisikan antarmuka dan perilaku komponen perangkat lunak, seringkali dalam hal kondisi sebelum dan kondisi sesudah
PDF] A Formal Specification Language for the Description of ...
sumber : https://www.semanticscholar.org/paper/A-Formal-Specification-Language-for-the-Description-Canal-Pimentel/58c173b43e44a699f1245b048ad556743e729935


o Data flow diagrams (DFD) : Merepresentasikan sebuah sistem atau perangkat lunak pada beberapa
level abstraksi dan untuk mengambarkan aliran data dalam sistem, sumber dan tujuan data, proses yang mengolah data tersebut, dan tempat penyimpanan datanya.

o Activity Diagrams : Digunakan untuk menunjukkan aliran kontrol dari aktivitas

sumber : https://www.geeksforgeeks.org/unified-modeling-language-uml-activity-diagrams/

o Flowchart: merupakan diagram alir yang menunjukkan apa yang terjadi dalam suatu program dan bagaimana data mengalir di sekitarnya. Flowchart dapat mewakili proses bisnis, menunjukkan keputusan yang diambil dan hasil dari keputusan itu 
 
sumber : https://www.lucidchart.com/pages/templates/flowchart/system-flowchart-template

o Sequence diagram: digunakan untuk menunjukkan interaksi di antara sekelompok objek, dengan
penekanan pada urutan waktu pesan.

  
sumber : https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/?ref=rp

o Pseudocode : Notasi desain yang berkaitan erat dengan bagaimana logika suatu program akan bekerja, umumnya pada tahap desain terperinci, perilaku prosedur atau metode.

o Penulisan pseudocode
- INPUT - menunjukkan pengguna akan memasukkan sesuatu
- OUTPUT - menunjukkan bahwa output akan muncul di layar
- WHILE - loop (iterasi yang memiliki kondisi di awal)
- FOR - loop penghitungan (iterasi)
- REPEAT – UNTIL - loop (iterasi) yang memiliki kondisi di akhir
- IF – THEN – ELSE - keputusan (pemilihan) di mana pilihan dibuat

Comments

Popular posts from this blog

Contoh Flowmap Prosedur Pembayaran di Rumah Makan

Flowmap Pengertian Flowmap Flowmap adalah campuran peta dan flow chart,yang menunjukan pergerakan benda dari satu lokasi ke lokasi lain, seperti jumlah orang dalam migrasi, jumlah barang yang diperdagangkan, atau jumlah paket dalam jaringan. Flowmap menolong analisis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternaitf-alternatif lain dalam pengoprasian. Pedoman-pedoman dalam membuat FlowMap Bila seorang analis dan programmer akan membuat flowmap , ada beberapa petunjuk yang harus diperhatikan, sepeti : Flowmap digambarkan dari halaman atas ke bawah dan kiri ke kanan. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat di mengerti oleh pembacanya. Kapan aktivitas dimulai dan berakhir harus di tentukan secara jelas. Setiap langkah dari aktivitas harus berada pada urutan yang benar. Lingkup dan range dari aktifitas yang sedang di gambarkan harus di...

Perancangan Perangkat Lunak

Apa itu perancangan perangkat lunak?      Perancangan perangkat lunak adalah sebuah proses yang menghasilkan sebuah model atau representasi yang menampilkan ketegasan, komoditas, dan kemudahan untuk dipahami yang memenuhi kebutuhan kebutuhan perangkat lunak. Perancangan perangkat lunak juga merupakan tahapan transformasi analisis kebutuhanmenjadi bentuk yang dapat diimplementasikan menggunakan bahasa pemrograman. Prinsip Perangkat Lunak 1. Abstraction Bagaimana berfokus dalam memandang objek dan mengambil hal penting dari objek tersebut, misalnya: abstraksi prosedur, data, dan iterasi. 2. Coupling & Cohesion Coupling merupakan ukuran saling ketergantungan antara modul dalam program komputer, sedangkan cohesion merupakan ukuran kekuatan asosiasi unsur-unsur dalam modul 3. Decompositon & Modularization Penguraian PL yang besar menjadi modul – modul lebih kecil yang menggambarkan interaksi antar modul dan bertujuan untuk memberikan fungsi dan tangg...