Langsung ke konten utama

SOFTWARE DESIGN NOTATIONS

Pengertian Software Design Notations

Software Design Notation merupakan suatu notasi desain yang digunakan untuk merancang perangkat lunak yang berfungsi untuk mendeskripsikan tujuan suatu perangkat lunak. Notasi desain yang baik dapat menklarifikasikan hubungan dan interaksi yang terjadi di dalam perangkat lunak.

Kriteria Penilaian Design Notation

  • Automatic processing :
    Memungkinkan desainer untuk memverifikasi kebenaran kualitas desain.
  • Modularity :
    Notasi mendukung pengembangan perangkat lunak.
  • Structure enforcement :
    Memberlakukan penggunaan konstruksi pemrograman terstruktur.
  • Ease of editing :
    Mudah untuk melakukan modifikasi desain.
  • Data representation :
    Kemampuan untuk menggambarkan data local dan global secara langsung.
  • Maintability :
    Pemeliharaan konfigurasi.
  • Login verification :
    Mampu melakukan verifikasi logika untuk meningkatkan kecukupan pengujian.
  • Overall simplicity :
    Mudah untuk dipelajari, digunakan dan kualitas penulisannya.
  • Machine readability :
    Notasi dapat dibaca oleh device dan menjadi masukan secara langsung ke dalam pembangunan sistem.
  • Easily converted to program source code :
    Memudahkan dan mempercepat dalam pembuatan kode program.
Software Design Notation dibagi menjadi 2 kategori, yaitu: structural (statis) dan behavorial (dinamis).

Structural Descriptions

Structural Descriptions menggambarkan dan mewakili aspek structural dari perancangan perangkat lunak, yang meliputi :
  • Architecture description languages (ADL) :
    Bahasa yang digunakan untuk menggambarkan arsitektur perangkat lunak dalam hal komponen dan konektor.
  • Component diagrams :
    Digunakan untuk merepresentasikan sekumpulan komponen dari sebuah sistem, realisasi dari sekumpulan antar muka dan hubungan timbal baliknya.
  • Deployment diagrams :
    Digunakan untuk memodelkan aspek fisik suatu sistem yang mewakili satu set simpul (fisik) dan keterkaitannya.
  • Interface description languages (IDL) :
    Bahasa seperti pemrograman yang digunakan untuk mendefinisikan antarmuka (nama dan jenis operasi yang diekspor) dari komponen perangkat lunak .
Contoh dari notasi desain statis yang sering digunakan, yaitu : class diagram, object diagram, ERD, dan structure charts.

Class Diagram

Digunakan untuk mewakili sekumpulan kelas dan hubungannya antar kelas lain. Class diagram berasal dari ERD dan terbatas dari hubungan biner.
Contoh gambar:
sumber gambar: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=2ahUKEwj29v39v7jpAhX1meYKHeLlBEgQFjACegQIAhAB&url=https%3A%2F%2Fcs.uwaterloo.ca%2F~gweddell%2Fcs446%2FDesignNotations.pdf&usg=AOvVaw2KoPZpfhq8SBNHMeX424JR

Object Diagram

Hampir mirip dengan class diagram. Diagram ini digunakan untuk mewakili sekumpulan objek dan hubungannya antar objek lain hanya saja object diagram berasal dari structure charts.
Contoh gambar:
sumber gambar: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=2ahUKEwj29v39v7jpAhX1meYKHeLlBEgQFjACegQIAhAB&url=https%3A%2F%2Fcs.uwaterloo.ca%2F~gweddell%2Fcs446%2FDesignNotations.pdf&usg=AOvVaw2KoPZpfhq8SBNHMeX424JR

Entitiy Relation Diagram (ERD)

Digunakan untuk menggambarkan model konseptual data yang disimpan dalam sistem informasi
Contoh gambar : 

Sumber gambar : slide 7 PPT Software Design Notations oleh Universitas Pendidikan Indonesia, Dian Anggraini

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
Contoh gambar :
Sumber gambar : https://www.geeksforgeeks.org/software-engineering-structure-charts/

Behavioral Descriptions

Behavioral Descriptions digunakan untuk menggambarkan perilaku dinamis perangkat lunak dan komponen, yang meliputi:
  • 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.
  • Decision tables and diagrams :
    Digunakan untuk mewakili kombinasi kondisi dan tindakan yang kompleks.
  • State transition and state chart diagrams :
    Digunakan untuk menunjukkan aliran kontrol dari daerah ke daerah di mesin daerah.
  • 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, sering kali dalam hal kondisi sebelum dan sesudah kondisi.
Contoh dari notasi desain dinamis yang sering digunakan, yaitu : DFD, activity diagrams, flowchart, sequence diagram, dan pseudocode.

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.
Contoh gambar :

Sumber gambar : https://www.visual-paradigm.com/tutorials/how-to-create-data-flow-diagram/

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.
Contoh gambar :

Sumber gambar : https://www.edrawsoft.com/flowchart-definition.html

Activity Diagrams

Digunakan untuk menunjukkan aliran kontrol dari aktivitas. Diagramnya hampir mirip dengan flowchart.
Contoh gambar :

Sumber gambar : https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/

Sequence Diagram

Digunakan untuk menunjukkan interaksi di antara sekelompok objek, dengan penekanan pada urutan waktu pesan.
Contoh gambar :

Sumber gambar : https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/

Pseudocode

Notasi desain yang berkaitan erat dengan bagaimana logika suatu program akan bekerja, umumnya pada tahap desain terperinci, perilaku prosedur atau metode.
Aturan 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 kondisidi akhir.
  • IF–THEN–ELSE : Keputusan (pemilihan) di mana pilihan dibuat.
Contoh gambar :

Sumber gambar :  https://www.bbc.co.uk/bitesize/guides/zw472hv/revision/1

Sumber : 

  • Slide PPT Software Design Notations oleh Universitas Pendidikan Indonesia, Dian Anggraini
  • https://www.bbc.co.uk/bitesize/guides/zw472hv/revision/1
  • https://www.visual-paradigm.com/tutorials/how-to-create-data-flow-diagram/
  • https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/
  • https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/ 
  • https://www.edrawsoft.com/flowchart-definition.html 
  • https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=2ahUKEwj29v39v7jpAhX1meYKHeLlBEgQFjACegQIAhAB&url=https%3A%2F%2Fcs.uwaterloo.ca%2F~gweddell%2Fcs446%2FDesignNotations.pdf&usg=AOvVaw2KoPZpfhq8SBNHMeX424JR
  • https://www.geeksforgeeks.org/software-engineering-structure-charts/

Komentar

Postingan populer dari blog ini

Flowmap dan Contoh Permasalahnya

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 membantu analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan membantu 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, seperti : 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 telusuri dengan ...

Macam-Macam Model Proses Pembangunan Perangkat Lunak

Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Berikut ini penjelasan dari beberapa model proses. 1. Incremental Model     Incremental model adalah perbaikan dari model waterfall yang pengembangannya dilakukan secara bertahap, untuk mengulang proses tidak harus mengunggu satu siklus selesai. Satu siklus dianggap sebagai satu increment. Berikut merupakan proses tahapan dari Incremental Model : Requirement  , Proses penentuan kebutuhan / analisis kebutuhan. Specification, Proses spesifikasi atau penyesuaian kebutuhan menggunakan analisis kebutuhan. Architectur...

Arsitektur Perangkat Lunak

ARSITEKTUR PERANGKAT LUNAK 1. Pengertian Arsitektur Perangkat Lunak Apa yang dimaksud dengan "Arsitektur Perangkat Lunak"? Definisinya menurut para ahli, antara lain:   1. IEEE: "Arsitektur adalah organisasi mendasar pada sebuah system yang mewujudkan komponen-komponen, hubungan antara satu dengan yang lainnya, dan dengan lingkungan, dan prinsip yang mengarahkan rancangan dan evolusi. " 2. Grady Booch, Philip Krutchen, Kurt Bittner, dan Rich Reitman: "Arsitektur perangkat lunak mencakup serangkaian keputusan-keputusan penting tentang organisasi sistem perangkat lunak, yaitu: pemilihan elemen struktural dan interface yang menyusun sistem; perilaku seperti spesifikasi dalam kolaborasi antar unsur-unsur; komposisi struktural dan perilaku elemen-elemen dalam membentuk subsistem yang lebih besar; dan gaya arsitektur yang memandu organisasi."    - Booch, P. Krutchen, K. Bittner and R. Reitman. The Rational Unified Process - An Introduction. 1999. Defini...