Rabu, 13 November 2019

13 JENIS-JENIS UML beserta GAMBAR


JENIS JENIS UML

Pengertian UML

              UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya.

            UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat  lunak.
 Jenis-jenis Diagram UML, yaitu :

1. Use Case Diagram

     Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.



 Diagram Use Case berguna dalam tiga hal :

• Menjelaskan fasilitas yang ada (requirement)
• Komunikasi dengan klien
• Membuat test dari kasus-kasus secara umum

2.  Activity Diagram
            Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .

            Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.

3. Package Diagram

            Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.

            Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka. 


4. State Machines Diagram

Statechart diagram digunakan untuk memodelkan perilaku dinamis satu kelas atau objek. Statechart diagram memperlihatkan urutan keadaan sesaat (state) yang dilalui sebuah objek, Kejadian yang menyebabkan sebuah transisi dari suatu state atau aktivitas kepada yang lainnya.

            Statechart diagram khusus digunakan untuk memodelkan tahap-tahap diskrit dari sebuah siklus hidup objek, sedangkan Activity diagram paling cocok untuk memodelkan urutan aktifitas dalam suatu proses.

5. Sequence Diagram
 
            Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.



6. Class Diagram

            Tujuan utama dari class diagram adalah untuk menciptakan sebuah kosa kata yang digunakan oleh analis dan pengguna. Diagram kelas biasanya merupakan hal-hal, ide-ide atau konsep yang terkandung dalam aplikasi. Misalnya, jika anda sedang membangun sebuah aplikasi penggajian, diagram kelas mungkin akan berisi kelas yang mewakili hal-hal seperti karyawan, cek, dan pendaftaran gaji. Diagram kelas juga akan menggambarkan hubungan antara kelas. 

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



7.  Communication Diagram

            Collaboration diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”.

8. Composite Structure Diagram

            Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.

Struktur komposit dapat digunakan untuk menjelaskan:
- Struktur dari bagian-bagian yang saling berkaitan
- Run-time struktur yang saling berhubungan.



9. Object Diagram

            Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.




10. Timing Diagram

            Timing Diagram adalah bentuk lain dari interaction diagram, dimana focus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan factor pembatas waktu diantara perubahan state pada objek yang berbeda.



11.  Component Diagram

            Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.

            Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.



12.  Deployment Diagram
                                   
            Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.



13.  Interaction Overview Diagram

            Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.




5 MACAM-MACAM FLOWCHART


JENIS JENIS FLOWCHART

Flowchart terbagi menjadi lima jenis, yaitu :

1. Flowchart sistem (system flowchart)

    Merupakan bagan yang menunjukkan alur kerja atau apa yang sedang di kerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem.

2. Flowchart paperwork / flowchart dokumen (document flowchart)

    Flowchart paperwork menelusuri alur dari data yang di tulis melalui sistem. Flowchart paperwork juga sering di sebut flowchart dokumen.

3. Flowchart skematik (schematic flowchart)

    Flowchart skematik merupakan bagan yang mirip dengan flowchart sistem yang menggambarkan suatu sistem atau prosedur. Perbedaannya bukan hanya menggunakan simbol-simbol flowchart satndar, tetapi juga menggunakan gambar-gambar komputer, peripheral, from-from atau peralatan lain yang di gunakan dalam sistem.

 4. Flowchart program (program flowchart)

     Flowchart program merupakan bagan yang menjelaskan keterangan lebih rinci tentang langkah-langkah dari proses program. Flowchart program juga di hasilkan dari flowchart sistem.

  5.  Flowchart proses (proses flowchart)

   Flowchart proses merupakan bagan alir yang bnyak di gunakan di teknik industri. Flowchart juga di gunakan untuk memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.

Flowchart proses mempunyai lima simbol khusus yaitu :



Senin, 04 November 2019

PENGERTIAN TENTANG DFD dan UML


Penjelasan tentang DFD dan UML

Pengertian DFD

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.

Fungsi DFD

Fungsi dari Data Flow Diagram adalah :

-Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
-DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
-DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.


Komponen DFD

Ada terdapat 4 komponen dalam DFD, yaitu :

1. Terminator / Entitas Luar



 Terminator mewakili entitas eksternal yang berkomunikasi dengan system yang sedang dikembangkan. Terdapat dua jenis terminator yaitu terminator sumber (source) dan terminator tujuan (sink). Terminator dapat berupa orang, organisasi, departemen didalam organisasi atau system lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari system.

2. Proses
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Proses menggambarkan bagian dari system yang mentransformalkan input menjadi output. Proses diberi nama untuk menjelaskan proses atau kegiatan apa yang sedang atau akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja yang membutuhkan objek.

3. Data Store
Data store digunakan untuk membuat model sekumpulan paket data. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file hardisk, fita meagnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder dan agenda, yang digambarkan dengan dua garis sejajar.

4. Alur Data



Alur data yang menghubungkan data store dengan suatu proses mempunyai pengertian sebagai berikut:


a. Alur data yang berasal dari data store, berarti proses membutuhkan data yang berada pada data store tersebut

b. Alur data yang menuju ke data store, berarti suatu proses akan menghasilkan output atau keluaran yang disimpan pada data store tersebut.

c. Alur data yang berasal dan yang menuju ke data store berarti suatu proses akan mengupdate data, menghapus atau mengubah data.


Tingkatan level pada DFD

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. Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol.

Spesifikasi Masalah


Langkah langkah pemnbuatan DFD

1. Langkah-langkah membuat DFD :

a. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem.

b. Identifikasi semua input dan output yang terlibat dengan entitas luar.

c. Buat Konteks Diagram nya, caranya :
-Tentukan nama sistemnya.
-Tentukan batasan sistemnya.
-Tentukan terminator apa saja yang ada dalam sistem.
-Tentukan apa yang diterima/diberikan terminator dari/ke sistem.-Gambarkan diagram konteks.

d. Buat diagram level zero, caranya :
-Tentukan proses utama yang ada pada sistem.
-Tentukan apa yang diberikan/diterima masing-masing proses ke/dari sistemsambil memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level harus sama dengan alur data yang masuk/keluar pada level berikutnya).-Apabila diperlukan, munculkan data store (master) sebagai sumber maupuntujuan alur data.-Gambarkan diagram level zero.

•Hindari perpotongan arus data.
•Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).e.Buat diagram level satu, caranya :-Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang ada dilevel zero.-Tentukan apa yang diberikan/diterima masing-masing sub proses ke/darisistem dan perhatikan konsep keseimbangan.


A. Penjelasan UML
Apa itu UML? Yang dimaksud dengan UML adalah UML merupakan singkatan dari “Unified Modelling Language” yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa standar dalam penulisan blue print software.
B. Tujuan atau fungsi dari penggunaan UML
Inilah beberapa 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.
C. Jenis-Jenis diagram UML dan beberapa contoh diagramnya
a. Use case diagram
Use case diagram yaitu salah satu jenis diagram pada UML yang menggambarkan interaksi antara sistem dan aktor, use case diagram juga dapat men-deskripsikan tipe interaksi antara si pemakai sistem dengan sistemnya.
contoh use case diagram
Inilah contoh dari use case diagram.
b. Activity Diagram
Activity diagram atau diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan proses-proses apa saja yang terjadi pada sistem.
contoh activity diagram
Inilah contoh dari activity diagram.
c. Sequence diagram
Sequence diagram yaitu salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use case diagram.
contoh sequence diagram
Inilah contoh dari sequence diagram.
d. Class diagram
Class diagram yaitu salah satu jenis diagram pada UML yang digunakan untuk menampilkan kelas-kelas maupun paket-paket yang ada pada suatu sistem yang nantinya akan digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai sistem maupun relasi-relasi yang terdapat pada sistem tersebut.
contoh class diagram
Inilah contoh dari class diagram.
e. Statemachine diagram
Statemachine diagram yaitu salah satu jenis diagram pada UML yang menggambarkan transisi maupun perubahan keadaan suatu objek pada sistem.
contoh statemachine diagram
Inilah contoh dari statemachine diagram.
f. Communication diagram
Communication diagram yaitu salah satu jenis diagram pada UML yang dapat menggamabarkan tahapan terjadinya suatu aktivitas dan diagram ini juga menggambarkan interaksi antara objek yang ada pada sistem. Hampir sama seperti sequence diagram akan tetapi communication diagram lebih menekankan kepada peranan masing-masing objek pada sistem.
contoh communication diagram
Inilah contoh dari communication diagram.
g. Deployment diagram
Deployment diagram yaitu salah satu diagram pada UML yang menunjukan tata letak suatu sistem secara fisik, dapat juga dikatakan untuk menampilkan bagian-bagian softwere yang terdapat pada hardwere dan digunakan untuk menerapkan suatu sistem dan hubungan antara komponen hardwere. Jadi Deployment diagram intinya untuk menunjukan letak softwere pada hardwere yang digunakan sistem.
contoh deployment diagram
Inilah contoh dari deployment diagram.
h. Component diagram
Component diagram yaitu salah satu jenis diagram pada UML yang menggambarkan softwere pada suatu sistem. Component diagram merupakan penerapan softwere dari satu ataupun lebih class, dan biasanya berupa file data atau .exe, source kode, table, dokumen dsb.
contoh component diagram
Inilah contoh dari component diagram.
i. Object diagram
Object diagram yaitu salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu sistem dan hubungan antarnya.
j. Composite structure diagram
Composite structure diagram yaitu salah satu jenis diagram pada UML yang menggambarkan struktur internal dari penklasifikasian (class, component atau use case) dan termasuk titik-titik interaksi penklasifikasian kebagian lainnya dari suatu sistem. Ini hampir mirip seperti class diagram akan tetapi composite structure diagram menggambarkan bagian-bagian dari individu kelas saja bukan semua kelas.
k. Interaction Overview Diagram
Interaction Overview diagram yaitu salah satu jenis diagram pada UML yang berguna untuk men-visualisasikan kerjasama dan hubungan antara activity diagram dengan sequence diagram.
l. Package diagram
Package diagram yaitu salah satu jenis diagram pada UML digunakan untuk mengelompokan kelas dan juga menunjukan bagaimana elemen model akan disusun serta mengambarkan ketergantungan antara paket-paket.
m. Diagram Timing
Diagram timing yaitu salah satu jenis diagram pada UML yang disebut sebagai bentuk lain dari interaksi diagram, dimana fokus yang paling utamanya kepada waktu. Diagram timing berguna untuk menunjukan faktor-faktor yang membatasi waktu antara perubahan state terhadap objek yang berbeda.



Minggu, 03 November 2019

MODEL-MODEL SDLC




Model-Model SDLC


Terdapat 12 model System Development Life Cycle (SDLC) :
1. Tradisional SDLC
2. Agile SDLC
3. Waterfall SDLC
4. Scrum SDLC
5. Iterative SDLC
6. Spiral SDLC
7. v SDLC
8. Big Bang SDLC
9. Rational Unified Process (RUP) SDLC
10. Prototype SDLC
11. Rapid Aplication Development (RAD) SDLC
12. Unified Process SDLC

  1. Tradisional SDLC SDLC tradisional adalah metode pengembangan sistem informasi klasik yang mengikuti suatu pola teratur secara bertahap
    yang dikerjakan dari atas ke bawah. SDLC tradisional seringkali disebut pendekatan waterfall. Aktivitas dalam siklus
    ini memiliki aliran satu arah menuju penyelesaian proyek. Tahapan dalam SDLC tradisional adalah sebagai berikut :
    1. Perencanaan
    2. Analisis
    3. Perancangan
    4. Implementasi
    5. Penggunaan

    1. Perencanaan
    Sasaran Tahap perencanaan adalah diperolehnya cakupan dari proyek pengembangan sistem dan dasar-dasar untuk kendali.
    Tahap perencanaan terdiri dari :

    • Menyadari adanya masalah atau pemicu masalah
    • Menetaplan masalah
    • Mengidentifikasi kendala sistem
    • Membuat studi kelayakan

    1. 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 :

    • Mengumumkan penelitian sistem
    • Mengorganisasik tim proyek
    • Mendefinisikan kebutuhan informasi
    • Mendefinisikan kriteria kinerja sistem
    • Menyiapkan usulan perancangan
    • Menerima atau menolak perancangan

    1. 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 :
    • Menyiapkan perancangan sistem rinci
    • Mengidentifikasi alternatif konfigurasi sistem
    • Mengevaluasi alternatif konfigurasi sistem
    • Memilih konfigurasi terbaik
    • Menyiapkan usulan penerapan
    • Menyetujui atau menolak penerapan sistem

    1. Implementasi
    Tujuan tahap implementasi adalah mendapatkan sistem informasi sesuai dengan kebutuhan pemakai.
    Tahapan implementasi tesdiri dari :
    • Merencanakan penerapan
    • Mengumumkan penerapan
    • Mendapatkan sumber daya HW
    • Mendapatkan sumber daya SW
    • Menyiapkan basis data
    • Menyiapkan fasilitas fisik
    • Pelatihan pemakai
    • Masuk/peralihan ke sistem baru

    1. Penggunaan
    Tujuan tahap penggunaan adalah menjaga agar sistem tetap beroperasi secara normal, dapat mengantisipasi penyimpangan yang mungkin dialami sistem dan melakukan evaluasi sistem.
  2. Agile SDLC  Agile development adalah sebuah filosofi dan serangkaian panduan untuk mengembangkan sistem informasi di dalam lingkungan yang sering berubah dan dapat digunakan dengan metodologi pengembangan sistem apapun. Metodologi agile adalah sebua filosofi tentang bagaimana membangun model, beberapa diantaranya formal dan detil, namun yang lainnya hanya berupa sketsa dan sangat ringkas.
    Nilai-nilai dari Agile Developement
    Filosofi agile menggunakan pendekatan yang fleksibel terhadap jadwal proyek dan memberikan kesempatan bagi tim proyek
    untuk merencanakan dan menjalankan pekerjaan mereka sesuai dengan perkembangan proyek. Filosofi utama dalam pengembangan agile adalah :
    1. Value responding to change over following a plan
    2. Value individuals and interactions over processes and tools
    3. Value working software over comprehensive documentation
    4. Value customer collaboration over contract negotiation
    Pemodelan agile bukan berarti melakukan pemodelan lebih sedikit namun membuat pemodelan yang tepat untuk tujuan yang tepat pada level tertentu. Pemodelan agile tidak menentukan model mana yang harus dibuat dan bagaimana membuat model tersebut. Sebaliknya, pemodelan agile hanya membantu pengembang untuk tetap pada jalurnya dengan pemodelan yang mereka buat sebagai alat untuk mencapai tujuan namun bukan tujuan akhirnya. Prinsip pemodelan agile berikut mengindikasikan membangan model adalah teknik yang utama dalam pengembangan software namun model adalah sarana bukan tujuan.
    1. Membangun software sebagai tujuan utama
    2. Menjalankan usaha berikutnya sebagai tujuan sekunder
    3. Meminimalkan kegiatan pemodelan – sedikit dan sederhana
    4. Merangkul perubahan dan perubahan bertahap
    5. Membuat model dengan tujuan
    6. Membuat beberapa model
    7. Membuat model dengan kualitas baik dan mendapatkan umpan balik
    8. Fokus pada isi daripada tampilan
    9. Belajar dari yang lain dengan komunikasi terbuka
    10. Mengetahui model yang dibuat dan cara menggunakannya
    11. Beradaptasi pada kebutuhan proyek yang spesifik
  3. Waterfall SDLC                                                                                         Waterfall adalah pendekatan SDLC paling awal yang digunakan untuk pengembangan perangkat lunak.
    Hal ini juga disebut sebagai model SDLC linear-sekuensial. Hal ini sangat sederhana untuk memahami
    dan menggunakanya dalam mengimplementasikan sebuah sistem. adapun langkah-langkah waterfal SDLC model ini yaitu :
  • Requirement Gathering and analysis – Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
  • System Design – Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap
  • Implementation – Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
  • Integration and Testing – Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing)
  • Deployment of system – Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
  • Maintenance – Proses pemeliharaan sistem yang sudah dibangun
Kelebihan Waterfall Model
Keuntungan dari Waterfall model adalah Jadwal dapat diatur dengan tenggat waktu untuk setiap tahap pengembangan dan produk dapat dilanjutkan melalui proses pengembangan model fase satu per satu. Pembangunan bergerak dari konsep, melalui desain, implementasi, pengujian, instalasi, pemecahan masalah, dan berakhir di operasi dan pemeliharaan

Berikut Keuntungan lainya dari Waterfall Model :
  • Simple, mudah dimengerti dan di implemetasikan
  • Mudah untuk mengelola karena model yang sederhana. Setiap fase memiliki spesifik requirement dan proses review
  • Fase diproses dan diselesaikan satu per satu
  • Cocok untuk project skala kecil dimana kebutuhan project dapat mudah dimengerti
  • Jelas dalam mendefinisikan setiap tahap
  • Mudah menentukan pencapaian suatu sistem
  • Mudah dalam menentukan tugas setiap individu
  • Proses pendokumentasian lebih mudah.
Kekurangan Waterfall Model :
Kerugian dari Waterfall model adalah tidak memungkinkan banyak refleksi atau revisi. Setelah aplikasi dalam tahap pengujian, sangat sulit untuk kembali dan mengubah sesuatu yang tidak terdokumentasi dengan baik atau pikiran pada dalam tahap konsep.
Berikut Kerugian lainya dari Waterfall Model:
  • Aplikasi yang dihasilkan cenderung lama karena step-step tidak dapat dilongkap
  • Resiko yang tinggi karena proses nya terlalu lama
  • Tidak cocok untuk project yang terlalu complex dan Object Oriented Projects
  • Tidak cocok untuk project jangka lama dan untuk project yang sedang berjalan
  • Tidak cocok untuk project yang mudah berganti-ganti model proses
  • Sulit untuk mengukur kemajuan dalam tahap
  • Integrasi dilakukan sebagai “big-bang. Di akhir, yang tidak memungkinkan mengidentifikasi setiap teknologi atau bisnis hambatan atau tantangan awal.
4. Scrum SDLC Model 
Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah
Element-Element dalam Scrum
Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team.
  • Product Ownermewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat.
  • Scrum Masterdapat dianggap sebagai pemersatu bagi product owner dan scrum team (developer, QA, technical wirter dll), membantu anggota tim menggunakan kerangka Scrum untuk menyelesaikan suatu project berdasarkan timeline yang ditentukan di awal.
  • Scrum Teammerupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil
Scrum tepat digunakan saat kondisi:
  • Keperluan berubah dengan cepat
  • Tim programmer sedikit, yaitu 5-9 orang
  • Pelanggan tidak terlalu paham dengan apa yang diinginkan
Scrum memiliki prinsip yaitu:
  • Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
  • Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
  • Proses menghasilkan beberapa software increment
  • Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelebihan Scrum antara lain:
  • Keperluan berubah dengan cepat
  • Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
  • Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelemahan Scrum antara lain:
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

5. Iterative Model
Iterative dan Incremental development adalah kombinasi dari kedua desain iterative dan incremental, untuk sebuah development. Selama development lebih dari satu iterasi dari sebuah software development life cycle.
Kelebihan dari Iterative Model SDLC :
  • Beberapa fungsi dapat di kembangkan dengan cepat di awal pembuatan versi baru.
  • hasil yang di peroleh secara berkala
  • Kemajuan sebuah sistem dapat di ukur
  • Development software mudah di rencanakan
  • Biaya yang dikeluarkan kecil apabila ingin merubah requirement
  • Testing dan debugging selama proses iterasi lebih mudah.
  • Analisis resiko yang lebih baik
  • Mendukung perubahan requirement
  • Waktu operasional yang lebih singkat
  • Cocok untuk project besar
Kekurangan dari Iterative Model SDLC:
  • Membutuhkan resource yang cukup banyak
  • Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persayaratan
  • Memerlukan Perhatian manajemen
  • Permasalahan sistem arsitektur dan desain mungkin akan timbul, karena tidak semua persyaratan di tentukan di awal pengambangan sistem.
  • tidak cocok untuk project kecil
  • Kompleksitas manajemen
  • Membutuhkan tenaga ahli untuk analisis resiko yang timbul
6. Spiral Model SDLC
Model Spiral SDLC adalah sebuat metode pengabungan antara Iterative Model dengan Waterfall Model. dengan penekanan yang tinggi pada analisis resiko yang akan di hadapi. Spiral model bertujuan untuk meningkatkan tingkat keberhasilan pada saat pengembangan suatu sistem.

Fase Spriral Model SDLC :

Spiral model memiliki 4 fase utama yaitu : Identification, Design, Construct or Build, Evaluation and Risk Analysis

Identification

Pada fase ini bertujuan untuk mengumpulkan kebutuhan bisnis di dasar spiral, Dalam spiral berikutnya disebut sebagai produk deawsa. Identifikasi persyaratan sistem, persyaratan subsistem, persyaratan unit dilakukan pada fase ini. Fase ini juga mencakup komunikasi antar sistem analis dengan klien.
Design
Pada fase ini dimulai dengan desain konseptual di dasar spiral dan melibatkan
desain arsitektur, desain logis dari modul, desain produk fisik dan desain akhir
dalam spiral berikutnya.
Construct or Build
Pada fase ini  mengacu produksi produk perangkat lunak yang sebenarnya di setiap spiral.
Evaluation and Risk Analysis
Pada fase ini  mengidentifikasi, memperkirakan dan memantau kelayakan teknis dan risiko manajemen, seperti jadwal selip dan biaya lebih. Setelah pengujian sistem, akhir dari iterasi klien akan mengevaluasi produk yang sudah dibangun dan akan memberikan feedback.

7. V Model SDLC
V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.
V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Kelebihan dari V-Model SDLC :
  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC :
  • Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.
8. Big Bang SDLC
V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.
V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Kelebihan dari V-Model SDLC :
  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC
  • Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.
9. Rational Unified Process (RUP) Model
(RUP) Menurut IBM adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu :
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
  1. Inception – merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi.
  2. Elaboration – Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsistem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequenceclasscomponentdeployment, dll.), dan pembuatan dokumentasi
  3. Construction – Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain, pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan atau perbaikan lebih lanjut, dan pembuatan dokumentasi.
  4. Transition –  Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi
10. Prototype Model SDLC
Prototype digunakan untuk memungkinkan client/user mengevaluasi sistem yang di rancang di awal oleh developer dan mencobanya sebelum di implementasikan. Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin belum implementasikan oleh developer selama perancangan produk.
Prototype digunakan untuk memungkinkan client/user mengevaluasi sistem yang di rancang di awal oleh developer dan mencobanya sebelum di implementasikan. Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin belum implementasikan oleh developer selama perancangan produk.
Kelebihan Prototype :
  • Meningkatnya keterlibatan pengguna dalam produk bahkan sebelum diimplementasi
  • Karena model sistem yang di bangun di share ke user, maka user mendapatkan pemahaman  yang lebih baik tentang sistem yang sedang dikembangkan.
  • Mengurangi waktu dan biaya karena cacat dapat dideteksi jauh lebih awal.
  • Feedback user yang cepat di awal dapat memberikan solusi yang lebih baik
  • Fungsi yang tidak ada dapat diidentifikasi dengan mudah dan cepat
  • Fungsi yang membingungkan dapat di hilangkan
Kekurangan Prototype :
  • Risiko analisis kebutuhan yang tidak mencukupi karena terlalu banyak ketergantungan pada Prototipe
  • Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.
  • Upaya yang diinvestasikan dalam membangun prototip mungkin terlalu banyak jika tidak dipantau tepat.
  • Pengembang dapat mencoba untuk menggunakan kembali prototipe yang ada untuk membangun sistem yang sebenarnya, Bahkan bila hal itu tidak layak secara teknis.
11. Rapid Aplication Development (RAD) Model
RAD (Rapid Application Development) Adalah metodologi pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara Prototype Model dengan Iterative Model.
Dalam model RAD (Rapid Application Development), modul fungsional dikembangkan secara paralel sebagai prototip dan terintegrasi untuk membuat produk yang lengkap untuk pengiriman produk yang lebih cepat. Dikarenakan tidak ada rincian planning yang detail, maka memudahkan untuk melakukan perubahan pada saat development berjalan.
Kelebihan RAD (Rapid Application Development)
  • Mudah mengakomodasi peruabahan sistem
  • Progress development bisa di ukur
  • Waktu iterasi bisa di perpendek menggunakan RAD Tools
  • Mengurangi waktu development
  • Mudah dalam menentukan dasar sistem
  • Mempermudah feedback customer
  • Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
  • Cocok untuk sistem yang berbasis komponen dan terukur.
Kekurangan RAD (Rapid Application Development)
  • Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
  • Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
  • Membutuhkan developer / designer yang berpengalaman
  • Ketergantungan pada keterampilan model
  • Kompleksitas manajemen
  • Tidak dapat diterapkan pada proyek yang kecil / murah
12. Unifed Process SDLC
Unified Process (UP) adalah metodologi pengembangan sistem berbasis objek. Metode ini sudah menjadi salah satu metode yang banyak digunakan dalam pengembangan sistem berorientasi objek. UP memperkenalkan pendekatan baru untuk siklus hidup pengembangan sistem yang menggabungkan perulangan (iterations) dan tahapan (phases) yang disebut dengan siklus hidup UP (UP life cycle). UP mendefinisikan empat tahapan siklus hidup yaitu inceptionelaborationconstruction, dan transition.
Langkah-langkah Unified Process :
  1. inception phase
  2. elaboration phase
  3. contruction phase
  4. transistion phase

13 JENIS-JENIS UML beserta GAMBAR

JENIS JENIS UML Pengertian UML               UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, ko...