Selasa, 25 Desember 2018

Unified Modeling Language



Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh object management group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisi dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

DIAGRAM UML:
UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
           Use Case Diagram untuk memodelkan proses bisnis.
           Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
           Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
           Collaboration Diagram untuk memodelkan interaksi antar objects.
           State Diagram untuk memodelkan perilaku objects di dalam sistem.
           Activity diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
           Class Diagram untuk memodelkan struktur kelas.
           Object Diagram untuk memodelkan struktur object.
           Component Diagram untuk memodelkan komponen object.
           Deployment Diagram untuk memodelkan distribusi aplikasi.
Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.
Use Case Diagram
Use case diagram digunakan untuk memodelkan semua bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actormerepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.
Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya.Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Sequence Diagram
Sequence Diagram merupakan gambungan dari Diagram Class dan diagram Object yang memiliki suatu gambaran model statis.Namun ada juga yang bersifat dinamis, seperti Diagram Interaction.Diagram sequence merupakan salah satu diagram Interaction yangmenjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirimdan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Objek-objek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
Class diagram
Class diagram menggambarkan struktur statis class di dalam sistem. class merepresentasikan sesuatu yang ditangani oleh sistem. class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (group bersama sebagai satu unit). sebuah sistem biasanya mempunyai beberapa class diagram.

Tujuan Penggunaan UML
1. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).
FUNGSI UML
1. Untuk menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor
2. Untuk menggambarkan  kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagrams
3.  Untuk menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams
4.  Untuk membuat model behavior ”yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagrams
5. Untuk menyatakan arsitektur implementasi fisik menggunakan component and development diagram, untuk menyampaikan atau memperluas fungsionality dengan stereotypes.




Rabu, 12 Desember 2018

Data Flow Diagram


DFD
(Data Flow Diagram)
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 sering disebut  juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi.
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 DATA FLOW DIAGRAM
Menurut Gene dan Serson
Komponen Terminator / Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan.Biasanya terminator dikenal dengan nama entitas luar (external entity). 
Terdapat dua jenis terminator :
1)      Terminator Sumber ( source) : merupakan terminator yang menjadi sumber.
2)      Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan  data / informasi sistem.
Komponen Proses
Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output.
Ada empat kemungkinan yang dapat terjadi dalam proses sehubungan dengan input dan output : 

Ada beberapa hal yang perlu diperhatikan tentang proses :
      Proses harus memiliki input dan output.
      Proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data.
      Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.
Komponen Data Store
Komponen ini digunakan untuk membuat model sekumpulan paket data dan  diberi nama dengan  kata benda jamak, misalnya Mahasiswa.
Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang  berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file pita magnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder, dan agenda.
Komponen Data Flow / Alur Data
Suatu data flow / alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya.
Contoh Data Flow Diagram

Selasa, 20 November 2018

Entity Relationship Diagram (ERD)


Entity Relationship Diagram (ERD) adalah menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika.

Entity Relationship Diagram (ERD) adalah gambaran mengenai berelasinya antarentitas.
-       Sistem adalah kumpulan elemen yang setiap elemen memiliki fungsi masing-masing dan secara bersama-sama mencapai tujuan dari sistem tersebut.
-       ‘Kebersama-sama’-an dari sistem di atas dilambangkan dengan saling berelasinya antara satu entitas dengan entitas lainnya
-       Entitas (entity/ entity set), memiliki banyak istilah di dalam ilmu komputer, seperti tabel (table), berkas (data file), penyimpan data (data store), dan sebagainya

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu :
1)      Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
2)      Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atributdiwakili oleh simbol elips.
3)      Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut :
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu:
1). Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
2). Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
3). Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
contoh ERD
Derajat Relationship
Terdapat 3 macam derajat dari relationship, yaitu :
Unary Degree (derajat satu),
Bila satu entity mempunyai relasi terhadap dirinya sendiri.  Digambarkan sebagai berikut :

Bila satu entity mempunyai relasi terhadap dirinya sendiri.  Digambarkan sebagai berikut :


Binary degree (derajat dua) dan
Bila satu relasi menghubugkan dua entity, digambarkan sebagai berikut :




Ternary degree (derajat tiga)

Bila satu entity menghubungkan lebih dari dua entity. Digambarkan sebagai berikut :





Simbol-simbol  ER-Diagram


Contoh Penggambaran Diagram ERD



Kamis, 01 November 2018

FLOWCHART


Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :


Flowchart terbagi atas lima jenis, yaitu :

           Flowchart Sistem (System Flowchart)
           Flowchart Flowchart Dokumen (Document Flowchart)
           Flowchart Skematik (Schematic Flowchart)
           Flowchart Program (Program Flowchart)
           Flowchart Proses (Process Flowchart)

Flowchart Sistem

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).


Flowchart Dokumen

Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.


Flowchart Skematik

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.


Flowchart Program

Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.


Flowchart Proses

Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Bagan alir proses menggunakan lima buah simbol tersendiri seperti terlihat pada tabel di bawah ini.



Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.


Jenis flowchart dan perbedaanya
 Flowchart adalah sekumpulan gambar – gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman. Kegunaan flowchart sama seperti halnya algoritma yaitu untuk menuliskan alur program tetapi dalam bentuk gambar atau symbol.
Flowchart dibagi menjadi dua (2) bagian, yaitu :
1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.


Perbedaan DFD dan Flowchart
 berikut Perbedaan antara DFD dan Flowchart
1. DFD menunjukkan alur data di suatu sistem sedangkan flowchart sistem menjelaskan alur kerja atau prosedur-prosedur yang ada di dalam sistem
2. DFD prosesnya dapat dilakukan serentak atau pararel sedangkan flowchart alur datanya harus urut
3. DFD tidak ada looping sedangkan flowchart ada looping
4. DFD tidak ada proses perhitungan sedangkan flowchart ada proses perhitungan



Berikut adalah sebuah contoh flowchart sederhana untuk mencari bilangan terkecil dari dua buah bilangan yang diinputkan..


Flowchart membuat urutan proses menjadi jelas dan sangat logis sehingga bisa memudahkan kita dalam merancang sebuah program.. Walau nantinya program yang rumit juga memerlukan penalaran logika yang rumit tetapi dengan menganalisa menggunakan flowchart, semuanya menjadi sangat logis dan masuk akal.


Selasa, 16 Oktober 2018

MODEL MODEL SDLC


Dalam System Development life cycle Models, terdapat 12 model yang dijadikan acuan dalam rekayasa perangkat lunak, yaitu

1.Waterfall Models
2. V-Shaped Models
3. Prototype Models
4. RAD Models
5. incremental Models
6. Spiral Models
7. Agile Models
8. Extreme Programming Models
9. Opportunistic Softwere System Development Model (OSSDM) Models
10. Rational Unified Process (RUP) Models
11. Component-based development Models
12. Evolutionary development Models

1. Model Waterfall

Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dan analisis, desain, pengodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun:




-   Analisis kebutuhan perangkat lunak
proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi - Desain
desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean.
-   Pembuatan kode program
desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dan tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.

-   Pengujian
pengujian fokus pada perangkat lunak secara dan segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji.



Kelebihan Metode Waterfall
  • Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
  • Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
  • Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan.

Kelemahan waterfall
  • Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
  • Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
  • Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
  • Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai.
II. Model Prototipe
Model prorotipe (prototyping model) dimulai dan mengumpulkan kebutuhan pelanggan terhadap perangkat lunak yang akan dibuat. Lalu dibuatlah program protipe agar pelanggan lebih terbayang dengan apa yang sebenarnya diinginkan. Program prototipe biasanya merupakan program yang belum jadi. Program ini biasanya menyediakan tampilan dengan simulasi alur perangkat lunak sehingga tampak seperti perangkat lunak yang sudah jadi. Program prototipe ini dievaluasi oleh pelanggan atau user sampai ditemukan spesifikasi yang sesuai dengan keinginan pelanggan atau user.

Berikut adalah gambar dan model prototipe:


Mock-up adalah sesuatu yang digunakan sebagai model desain yang digunakan untuk mengajar, demonstrasi, evaluasi desain, promosi, atau keperluan lain. Sebuah mock-up disebut sebagai prototipe perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi sistem perangkat lunak dan memungkinkan pengujian desain sistem perangkat lunak. Iterasi terjadi pada pembuatan prototipe sampai sesuai dengan keinginan pelanggan (customer) atau user.

Kelebihan:

·      Menghemat waktu untuk pengembangan.
·      Adanya komunikasi yang terjalin baik antara Pengembang dan Customer.
·      Pengembang dapat bekerja dengan lebih baik dalam menentukan kebutuhan pelanggan.
·      Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
·      User dapat berpartisipasi aktif dalam pengembangan sistem.
·      Untuk digunakan secara Standalone (Berdiri Sendiri).
·      Digunakan untuk memperluas SDLC (System Development Life Cycle).
Kelemahan:

·      Pada Model Prototype tentu saja banyak kebutuhan yang tidak ditampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
·      Prototype yang telah disetujui oleh Client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
·      Banyak ketidaksesuaian pada bentuk Prototype.
·      Proses analisis dan perancangan terlalu singkat.
III. Model Rapid Appliçation Development (RAD)

Rapid Application Development (RAD) adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek. Model RAD adalah adaptasi dan model air terjun versi kecepatan tinggi dengan menggunakan model air terjun untuk pengembangan setiap komponen perangkat lunak.
komponen masing-masing tim pengerjaan dapat dilakukan secara paralel. Berikut adalah gambar dan model RAD:


1. Pemodelan bisnis
pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis, informasi apa saja yang harus dibuat, siapa yang harus membuat informasi itu, bagaimana alur informasi itu, proses apa saja yang terkait informasi itu.

2. Pemodelan data
memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain.

3. Pemodelan proses
mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data.

4. Pembuatan aplikasi
mengimplementasikan pemodelan proses dan data menjadi program. Model RAD sangat menganjurkan pemakaian komponen yang sudah ada jika dimungkinkan.

5. Pengujian dan pergantian
menguji komponen-komponen yang dibuat. Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya.

Kelebihan:

·      Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang dapat memenuhi kebutuhan langsung dari pelanggan.
·      Cocok untuk proyek yang memerlukan waktu yang singkat.
·      Pengerjaan proyek dilakukan secara team dengan tugas yang berbeda sehingga tidak ada team proyek yang menganggur selama proses pembuatan proyek.

(-) Kelemahan:
·      RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang lebih tinggi.
·      Memerlukan anggota yang lebih banyak untuk menyelesaikan sebuah proyek berskala besar.
·      Pengembang dan Customer harus mempunyai komitmen yang kuat untuk menyelesaikan sebuah software.
·      Jika sistem tidak dibangun dengan benar, maka RAD akan bermasalah.
·      Jika ada perubahan ditengah-tengah pengerjaan maka harus membuat kontrak baru antara Pengembang dan Customer.

4. Pengertian Incremental Model
Incremental model adalah model pengembangan sistem pada software engineering berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangannya secara bertahap. dilain pihak ada mengartikan model incremental sebagai  perbaikan dari model waterfall dan sebagai standar pendekatan topdown. Layaknya Model Waterfall, model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya, yaitu:
  1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
  2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
  3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
  4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
  5. Test merupakan tahap pengujian dalam model ini.

Beberapa Kelebihan Dari Mode Incremental atara lain :
  1. Merupakan model dengan manajemen yang sederhana
  2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut
  3. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih dapat ditemukan pada beberapa increment.
  4. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
  5. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
  6. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
Kelemahannya adalah :
  1. kemungkinan tiap bagian tidak dapat diintegrasikan
  2. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
  3. Harus Open Architecture
  4. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
 Model Spiral

Model spiral (spiral model) memasangkan iteratif pada model prototipe dengan kotrol dan aspek sistematik yang diambil dan model air terjun. Model spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak yang memiliki versi yang terus bertambah fungsinya (increment).
Model spiral dibagi menjadi beberapa kerangka aktifitas atau disebut juga wilayah kerja (task region). Banyaknya wilayah kerja biasanya diantara tiga sampai enam wilayah sebagai berikut:

1. Komunikasi dengan pelanggan (customer communication) aktifitas ini diperlukan untuk membangun komunikasi yang efekiif antara pengembang (developer) dan pelanggan (customer).
2. Perencanaan (planning) aktifitas ini diperlukan untuk mendefinisikan sumber daya, waktu, dan informasi yang terkait dengan proyek.
3. Analisis risiko (risk analysis) aktifitas ini diperlukan untuk memperkirakan risiko dan segi teknis maupun manajemen.
4. Rekayasa (engineering) aktifitas ini diperlukan untuk membangun satu atau lebih representasi dan aplikasi perangkat lunak (dapat juga berupa prototipe).
5. Konstruksi dan peluncuran (construction and release) aktifitas ini dibutuhkan untuk mengonstruksi, menguji, melakukan instalasi, dan menyediakan dukungan terhadap user (misalnya dan segi dokumentasi dan pelatihan).
6. Evaluasi pelanggan (customer evaluation) aktifitas ini dibutuhkan untuk mendapatkan umpan balik berdasarkan evaluasi representasi perangkat lunak yang dihasilkan dan proses rekayasa dan diimplementasikan pada tahap instalasi.

Berikut adalah gambar model spiral:

Kelebihan dalam menggunakan Model Spiral, yaitu :
  • Perubahan-perubahan yang terjadi dapat diselesaikan secara sistematis
  • Estimasi biaya menjadi mudah karena pembuatan prototipe telah selesai dalam fragmen yang kecil
  • Manajemen dan analisis risiko yang lebih baik
  • Pembangunan yang cepat dan mudah secara sistematis
  • Manajemen waktu yang lebih baik
  • Mudah dalam melakukan perubahan kebutuhan dan dokumentasi jika perubahan terjadi di tengah-tengah perubahan
  • Produksi software terjadi lebih cepat



Kekurangan dalam menggunakan Model Spiral, yaitu :
  • Tidak cocok ketika digunakan dalam proyek-proyek kecil
  • Tidak terlalu berguna dalam proyek-proyek kecil
  • Sulit dalam mengikuti strategi proyek kecil
  • Kurang efisien dalam penerapan model spiral karena waktu yang digunakan
  • Membutuhkan sumber pengalaman sebagai proses sehingga sangat kompleks
  • Dalam melakukan proyek kecil, estimasi biaya akan sangat tinggi

V-Model

Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

lustrasi berikut menggambarkan berbagai tahap dalam V-Model SDLC.


Ada beberapa tahapan verifikasi di V-Model, yaitu :
Business Requirement Analysis
Fase ini melibatkan komunikasi rinci dengan pelanggan untuk memahami harapan dan kebutuhan yang tepat,  Ini merupakan kegiatan yang sangat penting dan perlu dikelola dengan baik,
System Design
Desain sistem akan memiliki pemahaman dan merinci hardware lengkap dan setup komunikasi untuk produk dalam pengembangan.
Architectural Design
spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya lebih dari satu pendekatan teknis diusulkan dan berdasarkan kelayakan teknis dan finansial keputusan akhir diambil. Module Design
Pada fase ini, desain internal rinci untuk semua modul sistem yang ditentukan, disebut "Desain Tingkat Rendah".
Coding Phase
Bahasa pemrograman yang paling cocok ditentukan berdasarkan sistem dan persyaratan arsitektur. pengkodean dilakukan berdasarkan pedoman coding dan standar.
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.
gile Process merupakan sekelompok aktifitas pembangunan perangkat lunak secara iteratif yang menekankan pada aktifitas konstruksi (desain dan koding). Agile Process mengeliminasi sebagian besar waktu untuk melakukan perencanaan sistem dan berusaha sebisa mungkin mematuhi jadwal deliver sistem yang telah dijanjikan. Requirements yang dibutuhkan secara langsung di-drive oleh pelanggan itu sendiri, dan apabila terjadi perubahan terhadap requirements tersebut, pengembang dituntut mampu beradaptasi dengan perubahan yang terjadi.

Agil Prosese terbagi menjadi beberapa bentuk, diantaranya adalah:
  1. Adaptive Software Development (ASD)
  2. Dynamic Systems Development Method (DSDM)
  3. Scrum
  4. Crystal
  5. Feature Driven Development (FDD)
  6. Agile Modeling (AM)
  7. Lean Software Development (LSD)
  8. Agile Unified Process (AUP)

Kelebihan dari agile
         Meningkatkan kepuasan kepada klien.
         Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
         Pembangunan system dibuat lebih cepat.
         Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
       Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.

Kekurangan dari agile
         Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Extreme Programming Models


Extreme Programming (XP) merupakan salah satu metode pengembangan software yang termasuk dalam Agile Software Development. XP menggunakan pendekatan object-oriented.
proses Extreme Programming,yaitu :
Planning. Tahap planning dimulai dengan membuat user stories yang menggambarkan output, fitur, dan fungsi-fungsi dari software yang akan dibuat.
  1. Design. Design di Extreme Programming mengikuti prinsip Keep It Simple (KIS). Untuk design yang sulit, Extreme Programming akan menggunaan Spike Solution dimana pembuatan design dibuat langsung ke tujuannya.
  2. Coding. Proses coding pada XP diawali dengan membangun serangkaian unit test. Setelah itu pengembang akan berfokus untuk mengimplementasikannya.
  3. Testing. Tahap ini dilakukan pengujian kode pada unit test. Dalam Extreme Programming, diperkenalkan XP acceptance test atau biasa disebut customer test.
Kelebihan model Extreme Programming :  
  • Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak clien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer.
  • Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
  • Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
Kelemahan model Extreme Programming :
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).

 



Perancangan Model Sistem

Perancangan Model Sistem a.       Use Case Diagram b.      Aktivity Diagram Membuat Usulan c.       Aktivity Diagram Mene...