Package Diagram

0

Hasil gambar untuk gambar Package Diagram

Pengertian Package diagram

Package diagram merupakan salah satu jenis UML yang digunakan untuk  mengelompokkan elemen-elemen model dari use case ataupun class diagram. biasanya package diagram digunakan pada kumpulan sistem yang besar. karena dengan adanya diagram ini, dapat mempermudah pembacaan dan pembuatan sistem dengan cara mengumpulkan atribut-atribut yang sejenis.

Adapun Fungsi dari package diagram :
1.    Memperlihatkan bagaimana elemen model diorganisasikan/dikelompokkan ke dalam packages
2.    Biasanya dipakai pada use case diagram atau class diagram
3.    Packages digambarkan sebagai sebuah direktori (file folders) yang berisi model-model elemen
4.    Packages dapat diterapkan pada sembarang diagram UML
5.    Walaupun package secara resmi bukanlah diagram UML, namun kegunaannya cukup signifikan
6.   Penjelasan package diagram pada masing-masing diagram UML

Simbol yang digunakan pada package diagram :

package diagram.PNG

contoh :

cotoh package.PNG

Contoh element-element pada pack age diagram :

Contoh Sub Package:

Referensi :

http://jamanit12.blogspot.com/2016/11/package-diagram.html

http://dian-indrian.blogspot.com/2013/06/package-diagram.html?m=1

 

 

Advertisements

DEPLOYMENT DIAGRAM

0

DEPLOYMENT DIAGRAM

 

Pengertian Deployment Diagram

Deployment diagram adalah salah satu model diagram dalam UML untuk mengerahkan artifact dalam node. Deployment diagram digunakan untuk memvisualisasikan, menspesifikasikan, dan mendokumentasikan proses yang terjadi pada suatu sistem perangkat lunak berbasis Object Oriented yang akan dibangun. Tujuan atau fungsi dari deployment diagram yaitu untuk menggambarkan/memvisualisasikan secara umum proses yang terjadi pada suatu sistem/software.

Node dalam UML merepresentasikan hardaware atau software execution environments. Node bisa terhubung melalui communication path untuk membuat system jaringan dari arbitrary complexity. Artifacts dalam UML mempresentasikan Spesifikasi dari bentuk physic informasi yang digunakan atau dihasilkan development process.

Fungsi dari deployment diagram adalah :

  • Menunjukkan dimana setiap komponenkomponen perangkat kerasperangkat lunak diinstal(atauditempatkan) (node).
  • Menunjukkanhubungan komunikasi antarakomponen perangkat keras.
  • Menunjukkan strukturdari sistemrun-time

Berikut adalah simbol-simbol yang ada pada diagram deployment:

simbol-diagram-deployment

Ada beberapa hal yang sering digambarkan dalam deployment diagram yaitu:

1. Manifestation

Manifestation adalah hubungan abstraction yang mepresentasikan physical rendering atau hasil implementasi satu atau lebih model element dari artifact. Atau pemanfaatan model element dari konstruksi artifact. Artifact memanifest atau menunjukan satu atau lebih dari model element. Artifact bisa memiliki satu atau lebih manifestation. Setiap darinya memepresentasikan packageable element.

##

2. Deployment target

Artifacts dikerahkan ke deployment targets. Deployment target adalah lokasi untuk artifact yang telah dikerahkan. Deployment target tidak memiliki notation sendiri, tapi melihat notations untuk subclasses.

3. Node

Node adalah deployment target yang merepresentasikan sumber daya komputasi dimana artifact bisa menggunakan untuk mengeksekusi. Node diasosiasikan dengan deployment dari artifacts dan dapat diasosiasikan secara tidak langsung dengan packageable elements yang melibatkan ke dalam manifestation dari artifact yang dikerahkan ke node. Node dapat saling berhubungan dengan communication path.

Node dapat digambarkan dengan bentuk kubus tiga dimensi. Node juga dapat digambarkan dalam bentuk visual atau gabungan antara node dan visual.

Node dibagi menjadi dua yaitu device dan execution environment.

  • Device merepresentasikan hardware seperti : pc, laptop, handphone, dll
  • Execution environment merepresentasikan software containers seperti : OS, JVM, application servers, portal servers, dll

4. Communication Path
Communication path adalah asosiasi antara dua deployment target, melalui pertukaran sinyal dan pesan. Communication path digambarkan dengan bentuk garis utuh yang menghubungkan anatra dua node. Jenis komunikasi yang dimodelkan dapat ditampilkan menggunakan stereotip yang tepat. Saat deployment targetnya adalah execution environments. Communication path akan merepresentasikan bebeberapa protocol

##

5. Deployment

Deployment adalah hubungan dependency yang mendeskripsikan alokasi dari artifact ke deployment target. Deployment juga dapat didefinisikan instansi level sebagai alokasi spesifik instansi artifact menuju ke spesifik instansi dari deployment target

Component deployment adalah deplyomnet dari satu atau lebih artifact atau instansi artifact, bersifat opsional yang terparameterisasi oleh deployment spesifiacation

Deployment bisa diperlihatkan melalui tiga cara yaitu :

  • Dengan deployed artifact yang terkandung di deployment target,
  • Dengan bentuk tulisan daftar deployed artifact dalam deployment target
  • Dengan bentuk persegi panjang dengan nama deployment yang terletak dipojok kiri atas.

Kata deployment di heading disingkat menjadi dep

##

6. Dependency

Dependency adalah hubungan yang menandakan bahwa satu atau sekumpulan model element membutuhkan model element lainnya untuk spesifikasi atau implementasinya. Dependency biasa juga disebut supplier yang menyediakan sesuatu untuk client. Memodifikasi supplier dapat mempengaruhi client element

7. Deployment Specification

Deployment specification adalah artifact yang menyespesifikasikan set dari deployment properties yang menentukan parameter – parameter eksekusi dari component artifact yang dikerahkan ke node.

Deployment specification dapat ditujukan spesifik tipe container untuk componenet – component.

Deployment specification adalah mekanisme umum untuk memparameteri deployment relationship.

Deployment specification di specification level dirender sebagai classifier dalam kotak dengan opsi deployment properties di dalam compartment. Artifact yang mengimplementasikan deployment specification properties di level instansi adalah deployment descriptor. deployment descriptor ditandai dengan garis bawah di kotak classifier

8. Deployment Specification Dependency

A deployment specification bisa ditampilkan sebagai kotak classifier yang melampirkan component artifact menggunakan panah dependency yang menunjuk ke deployed artifact.

9. Deployment Specification Association

Deployment specification bisa diasosiasikan dengan deployment dari sebuah component artifact dalam sebuah node. Dalam kasus ini deployment specification bisa ditunjukan sebgai kotak classifie yang dilampirkan ke deployment.

10. Component

Component merepresentasikan bagian modular dari sebuah sistem yang mengkapsulasi isi dan yang memanifest dapat diganti dalam lingkungannya. component mendefinisikan perilaku dalam hal interface yang disediakan dan diperlukan. component dimodelkan sepanjang siklus hidup pengembangan dan berturut-turut disempurnakan menjadi deployment dan run – time. deployment specification dapat mendefinisikan nilai-nilai yang parameterisasi eksekusi komponen.

Contoh Deployment Diagram:

UML Deployment Diagram

 

Referensi :

https://www.dictio.id/t/apa-yang-dimaksud-dengan-deployment-diagram/15125/2

http://ocw.ui.ac.id/pluginfile.php/338/mod_resource/content/0/Modul%2013%20-%20Deployment%20Diagram.pdf

Nih

0
Script Login:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical"
       android:gravity="center">
           <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:text="Silahkan Login"
           android:textSize="25dp"
           android:gravity="center"
           android:layout_marginBottom="40dp"
           android:textStyle="bold"/>
       <EditText
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:hint="Email"
           android:inputType="textEmailAddress"
           android:layout_marginBottom="10dp"
           />
       <EditText
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:hint="Password"
           android:inputType="textPassword"
           android:layout_marginBottom="10dp"
           />
       <Button
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:gravity="center"
           android:text="Masuk"
           android:layout_marginBottom="10dp"
           />
       <TextView
           android:id="@+id/txtdaftar"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:text="Daftar?"
           android:gravity="center"
           android:textStyle="bold" />

   </LinearLayout>
</RelativeLayout>

Script Daftar :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".daftarActivity">
    

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical">
        
     <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Registrasi"
         android:textSize="25dp"
         android:layout_marginBottom="5dp"
         android:textStyle="bold"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Nama"
            android:layout_marginBottom="5dp" />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:layout_marginBottom="5dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="User name"
            android:layout_marginBottom="5dp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Password"
            android:layout_marginBottom="5dp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Email"
            android:layout_marginBottom="5dp"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Daftar"/>
    </LinearLayout>
</RelativeLayout>

Use Case Diagram Login

0

ABSTRAK

Yuki Bakery merupakan toko yang bergerak dalam bidang penjualan Kue dan Roti yang berlokasi di Jalan Joglo Raya, Jakarta Barat. Sampai saat ini Yuki Bakery hanya menggunakan sistem sederhana dalam pemasaran informasi dan pencatatan, sehingga menimbulkan kelambatan dalam pemasaran informasi dan dalam pencatatan perhitungan penjualan. Berdasarkan permasalahan di atas penulis merancang dan membuat sistem informasi pada Yuki Bakery. Sistem informasi ini menerapkan waterfall model dalam pembangunannya, dan dibangun dengan bahasa pemrograman PHP dan menggunakan MySql. Perancangan program yang akan dikerjakan, dengan acuan program yang dibuat harus user friendly dan dengan menggunakan metode UML (unifed Modeling Language) dengan membuat Use Case Diagram, Class Diagram dan Sequence Diagram, desain database dan ERD. Sistem informasi ini mampu memperkenalkan dan menjual secara online serta menghasilkan informasi produkproduk yang dijual dan laporan penjualan bagi pemilik toko dengan menggunakan sebuah website. Dengan adanya website pemasaran ini dapat membantu perusahaan dalam meningkatkan pelayanan dan penjualan di berbagai wilayah baik dalam kota maupun luar kota.

gambar use case UML

Skenario Use Case Diagram Login

Use Case Name Melakukan Login
Requirements A2
Goal User dapat melakukan pembelian secara online via web tetapi harusmelakukan login terlebih dahulu
Pre-Conditions User telah login
Post Conditions User dapat melakukan pembelian
Failed end Conditions Gagal login
Primary Actors User
Main Flow /

Basic path

1. User dapat login dengan account yang telah dibuat

2. Jika username dan password yang dimasukkan sudah benar maka akan tampil menu utama

Invariant

Referensi :

https://ejournal.bsi.ac.id/ejurnal/index.php/swabumi/article/view/3313/2085

Konsep ( object-oriented programming ) OOP

0
1
Pemrograman berorientasi objek
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Keuntungan Dan Manfaat dari OO:
•Dapat mendekripsikan fenomena yang menggunakan bahasa alami
•Atribut lebih mendekati kata sifat
•Perilaku lebih mendekati kata kerja
•Kekuatan utama OO : jelasnya infomasi dalam konteks sistem
•OO erat kaitannya dengan :
•OOAnaysis
•OODesign
•OOUserInterface
•OOProgramming
•Saat perancangan, OO untuk mendekripsikan sistem
•Saat pengembangan, OO merupakan konsep sentral
Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut :
Kelas
kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

 

Objek

 

membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

 

Abstraksi

 

Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

 

Enkapsulasi

 

Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

 

Polimorfisme

 

melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.

 

Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

 

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

 

Karakteristik OOP (object oriented programing)
  • Pembungkusan (Encapsulation)
Pembungkusan (encapsulation) merupakan suatu karakteristik OOP di mana program terbungkus (menjadi satu) data (property/field) dan perilaku(fumgsi/method), artinya lebih memperhatikan aspek internal daripada aspek eksternal.
  • Polymorphisme
Polymorphisme merupakan suatu karakter OOP di mana objek yang berbeda dapat memakai method dengan nama yang sama paa suatu kelas (class)

 

  • Turunan (Inheritance)
Turunan merupakan suatu karakteristik OOP di mana suatu kelas (parent class/baseclass) dapat diturunkan ke kelas yang lain (child class/derived class), sehingga kelas anak dapat memiliki data atau perilaku kelas orang tuanya.

Dibawah ini adalah contoh untuk membuat class mahasiswa tersebut :

class Mahasiswa {
String nama; // property nama dengan tipe data String
String nim; // property nim dengan tipe data String
String alamat; // property alamat dengan tipe data String
}
class AksesClass {
public static void main(String[] args) { // awal eksekusi (method main)
Mahasiswa mhs = new Mahasiswa(); // membuat objek dari class Mahasiswa
mhs.nama = “aku”; // mengisikan property nama
mhs.nim = “2004470099”; // mengisikan property nim
mhs.alamat = “Bekasi”;  // mengisikan property alamat

System.out.println(“Nama Mahasiswa : “ + mhs.nama); // menampilkan nama
System.out.println(“Nim Mahasiswa : “ + mhs.nim); // menampilkan nim
System.out.println(“Alamat Mahasiswa : “ + mhs.alamat); // menampilkan alamat
}
}

Referensi :

http://www.sicamel.online/2012/10/konsep-karakteristik-object-oriented.html

Pertemuan4

Levelling Use Case Diagram(UML)

0

11

Pengertian Use Case adalah sebuah kegiatan atau juga interaksi yang saling berkesinambungan antara aktor dan juga sistem. Atau dengan kata lain teknik secara umum digunakan, guna mengembangkan software / sistem informasi, guna memperoleh kebutuhan fungsional dari sistem yang ada.

Komponen tersebut kemudian menjelaskan komunikasi antara actor, dengan sistem yang ada. Dengan demikian, use case dapat dipresentasikan dengan urutan yang sederhana, dan akan mudah dipahami oleh para konsumen.

Komponen-komponen yang ada pada usecase adalah :

1. Aktor.

12

Merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem yang akan dibuat. Jadi walaupun simbol aktor dalam diagram usecase berbentuk orang, namun aktor belum tentu orang.

2. Usecase.

13

Merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang slaing berinteraksi atau bertukar pesan antar unit maupun aktor.

3. Relasi.

14

Merupakan hubungan yang terjadi pada sistem baik antar aktor maupun antar usecase maupun anatara usecase dan aktor.

Fungsi use case diagram ini cukup banyak, antara lain :

  • Dapat memperlihatkan urutan aktifitas proses yang ada pada sistem
  • Dapat menggambarkan prose bisnis dan juga urutan aktivitas yang ada dalam sebuah proses

Sedangkan manfaat dari Use case sendiri adalah ;

  • Untuk memudahkan komunikasi dengan menggunakan domain expert dan juga end user.
  • Adanya Interface yang harus dimiliki oleh sebuah sistem.
  • Memberikan kepastian pemahaman yang pas, tentng requirement atau juga kebutuhan sebuah sistem.
  • Dapat digunakan untuk mengidentifikasi, siapa yang sedang berinteraksi dengan sistem, dan juga apa yang harus dilakukan untuk sistem tersebut.
  • Biasanya digunakan untuk verifikasi.

Use Case Model
1. Teknik pemodelan untuk mendapatkan functional requirement dari sebua sistem
2. Menggambarkan interaksi antara penguna denga sistem
3. Menjelaskan secara naratif bagaimana sistem akan digunakan
4. Mengunakan skenario untuk menjelaskan setiap aktifitas yang munkin terjadi
-Terkadang notasi kurang detil, terutama untuk bebrapa aktifitas tertentu

Level Use case Model

  1. sea level : ineraksi sistem denga aktor utama
  2. fish level : usecase yang ada karena include dari use case sea level
  3. kite level : mengambarkan sealevel usecase untu inteaksi bisnis yang lebih luas

Kapan mengunakan Use Case?
1. Use ase sederhana digunakan pada saat proses requerement analysis
– tidak semua paham bahasa tenis
2. Versi lebih detil dibuat sebelum implementasi rancangan
– Dibuat khusus untuk mempermudah desain sistem oleh para developer
catatan:
– Use case merupakan sekumpulan secenario yang dihubungka sati sama lain dengan satu tujuan yang sama dari penguna.
– Use Case berisi apa yang dilakukan oleh sistem / apa yang terjadi pada sistem, bukan bagaimana sistem melakukan.

1. Suatu use case diagram dapat memilki banyak actor didalamnya

15

2.Use Case Diagram Simbol

  • Nama Use case : Sample name (buasanya berupa kata kerja )
  • Patah Nama : Nama dibagian depan menyatakan paket(pakage) dimana usecase tersebut berada

18

3. Sistem Bundery

  • berupa batas antara sistem dengan actor
  • Bisa dinotasikan dengan bujursangkar
  • Semua use case harus beada didalam sistem bundary

16

4. Generalization

  • Hubugan antara induk dengan anak
  • anak mewarisi sifat dan method dari induk
  • induk disebut root/base
  • class yang tidak memiliki anak desebut leaf
  • terbagi menjadi 2
    • actor generalitazion
    • uscase generalization

17

TERIMA KASIH 🙂

Referensi:

https://salamadian.com/pengertian-use-case-diagram-adalah/

https://www.pojokcode.com/2012/01/uml-use-case-diagram.html

Definisi Model SDLC,Waterfall Model Dan Spiral Model

0
  • Definisi SDLC (System Development Life Cycle) 

Pengertian dan Tahap-Tahap Siklus Pemeliharaan Sistem (SDLC).png

SDLC (System Development Life Cycle) atau Siklus hidup pengmbangan system adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance) proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).

Tahapan dalam SDLC tradisional adalah sebagai berikut :
  • Perencanaan
  • Analisis
  • Perancangan
  • Implementasi
  • Penggunaan

Perencanaan

Sasaran Tahap perencanaan adalah diperolehnya cakupan dari proyek pengembangan sistem dan dasar-dasar untuk kendali. Tahap perencanaan terdiri dari :
  1. Menyadari adanya masalah atau pemicu masalah
  2. Menetaplan masalah
  3. Mengidentifikasi kendala sistem
  4. Membuat studi kelayakan

Analisis

Tujuan dari tahap analisis adalah memahami permasalahan secara menyeluruh dan mendefinisikan kebutuhan pemakai (apa yg harus dilakukan oleh sistem utk memenuhi keinginan pemakai). Tahap analisis terdiri dari :
  1. Mengumumkan penelitian sistem
  2. Mengorganisasik tim proyek
  3. Mendefinisikan kebutuhan informasi
  4. Mendefinisikan kriteria kinerja sistem
  5. Menyiapkan usulan perancangan
  6. Menerima atau menolak perancangan

Perancangan

Tujuan dari tahap perancangan adalah menentukan solusi yang dapat memenuhi kebutuhan informasi pemakai yang sudah didefinisikan dan membuat suatu model implementasi yang akan dibangun kemudian. Tahap perancangan terdiri dari :
  1. Menyiapkan perancangan sistem rinci
  2. Mengidentifikasi alternatif konfigurasi sistem
  3. Mengevaluasi alternatif konfigurasi sistem
  4. Memilih konfigurasi terbaik
  5. Menyiapkan usulan penerapan
  6. Menyetujui atau menolak penerapan sistem

Implementasi

Tujuan tahap implementasi adalah mendapatkan sistem informasi sesuai dengan kebutuhan pemakai.

Tahapan implementasi tesdiri dari :
  1. Merencanakan penerapan
  2. Mengumumkan penerapan
  3. Mendapatkan sumber daya HW
  4. Mendapatkan sumber daya SW
  5. Menyiapkan basis data
  6. Menyiapkan fasilitas fisik
  7. Pelatihan pemakai
  8. Masuk/peralihan ke sistem baru

Penggunaan

Tujuan tahap penggunaan adalah menjaga agar sistem tetap beroperasi secara normal, dapat mengantisipasi penyimpangan yang mungkin dialami sistem dan melakukan evaluasi sistem.
  1. Waterfall Development Model ( Model Sekuensial Linier)

Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.

waterfall-model

(+) Kelebihan:

  • Mudah diterapkan atau diaplikasikan.
  • Memberikan model tentang analisis, desain, coding, testing, dan maintenance.
  • Cocok digunakan untuk produk-produk software yang kebutuhannya sudah jelas dari awal, sehingga minim kesalahan.
  • Cocok digunakan untuk produk software berskala kecil.

(-) Kekurangan:

  • Waterfall model bersifat kaku sehingga penanganan perubahan software pada saat program sedang berlangsung menjadi lebih sulit.
  • Terjadinya pembagian proyek menjadi tahap-tahapan yang tidak fleksibel, karena komitmen harus dilakukan pada tahapan awal proses.
  • Customer harus bersabar untuk menanti produk selesai, karena produk dikerjakan secara tahap per tahap, menyelesaikan tahap awal baru bisa menuju tahap selanjutnya.
  • Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
  • Adanya waktu menganggur bagi para pengembang, karena harus menunggu anggota team proyek lainnya menuntaskan pekerjaannya.
  • Semua kebutuhan sudah terdefinisi sejak awal dan software yang diberikan adalah versi terakhir dari setiap tahap.

2.   Model Spiral ( Model Boehm)

Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

(+) Kelebihan:

  • Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk Client dalam mencari kekurangan kebutuhan.
  • Lebih cocok untuk pengembangan sistem dan perangkat lunak berskala besar.
  • Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
  • Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  • Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  • Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  • Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius.

(-) Kekurangan:

  • Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model Spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  • Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  • Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  • Memerlukan penaksiran resiko yang masuk akal dan akan menjadi  masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  • Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

Referensi :

https://rahmatagusblog.wordpress.com/2018/11/11/pengertian-sdlc-dan-macam-macam-metode-sdlc/

http://yudistira-07.blogspot.com/2016/08/kelebihan-dan-kekurangan-system.html

http://blog.juansyah.web.id/2018/08/model-system-development-life-cycle-sdlc.html