MODEL PROSES


MODEL PROSES


1.        MODEL WATERFALL

Model Waterfall merupakan salah satu model untuk perencanaan dari sebuah Perangkat Lunak. Model Waterfall adalah salah satu model klasik yang bersifat sistematis. Mengapa disebut sistematis? Karena model ini dikerjakan secara berurutan. Penggunaan model ini dalam penerapan di kehidupan sehari-hari sangatlah memakan waktu dan sangat sedikit dipakai membuat software. Namun model ini cocok untuk bisnis kecil.

 

Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa, Design, Code dan Testing, Penerapan dan Pemeliharaan.

·      Analisa
    Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa malakukan sebuah penelitian, wawancara atau study literatur. Seorang sistem analis akan menggali informasi sebanyak-banyaknya dari user sehingga akan tercipta sebuah sistem komputer yang bisa melakukan tugas-tugas yang diinginkan olehuser tersebut. Tahapan ini akan menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menterjemahkan ke dalam bahasa pemprogram.

·      Design 
    Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan digunakan proggrammer untuk melakukan aktivitas pembuatan sistemnya.
·      Coding & Testing
  Coding merupan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user.Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki.
·      Penerapan
    Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa, design dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user.
·      Pemeliharaan
    Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional.
    A)    Kelebihan Model Waterfall :
ü Merupakan model pengembangan paling handal dan paling lama digunakan.
ü Cocok untuk sistem software yang bersifat generik.
ü Pengerjaan projek sistem akan terjadwal dengan baik dan mudah dikontrol.

    B)     Kekurangan Model Waterfall :
ü Persyaratan sistem harus digambarkan dengan jelas.
ü Rincian proses harus benar-benar jelas dan tidak boleh berubah ubah
ü Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan

    C)    Contoh Studi Kasus :
Perkembangan ilmu pengetahuan dan teknologi saat ini, telah mempengaruhi aktivitas perpustakaan dalam pengolahan informasi. Perpustakaan dapat diibaratkan sebagai satu kesatuan. Dalam artian, sebuah perpustakaan merupakan satu kesatuan sistem yang saling mempengaruhi satu sama lain untuk mencapai tujuan tertentu. Tetapi dengan pertumbuhan sebuah perpustakaan, ada kalanya suatu sistem pada sebuah perpustakaan menjadi tidak efektif dan efisien dalam menangani permasalahan yang muncul. Seperti misalnya, kebutuhan pengolahan data yang semakin meningkat, aturan pengolahan data yang semakin bervariasi, aturan dari dalam atau luar perpustakaan, dapat digunakan sebagai indikator adanya permasalahan. Untuk mengatasi permasalahan tersebut, diperlukan suatu sistem yang dapat mendukung operasi yang bersifat manajerial dan kegiatan strategi dari suatu perpustakaan demi tercapainya tujuan, sebuah sistem yang dinamakan sistem informasi.


2.    Model Spiral

Model spiral (spiral model) adalah model pengembangan software dimana proses digambarkan sebagai spiral. Setiap loop akan mewakili satu fase dari proses pembuatan/perancangan software. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya, seperti gambar berikut:
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :

·      Komunikasi pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.

·      Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
·      Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik manajemen maupun teknis.
·      Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
·      Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi)
·      Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.
 

A)  Kelebihan Model Spiral :
ü  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 skala 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 prototipe 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 permaslahan yang serius. 
B)  Kekurangan Model Spiral :
ü 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.
C)  Contoh Studi Kasus :
Sidik jari (bahasa Inggris: fingerprint) adalah hasil reproduksi tapak jari baik yang sengaja diambil, dicapkan dengan tinta, maupun bekas yang ditinggalkan pada benda karena pernah tersentuh kulit telapak tangan atau kaki. Kulit telapak adalah kulit pada bagian telapak tangan mulai dari pangkal pergelangan sampai kesemua ujung jari, dan kulit bagian dari telapak kaki mulai dari tumit sampai ke ujung jari yang mana pada daerah tersebut terdapat garis halus menonjol yang keluar satu sama lain yang dipisahkan oleh celah atau alur yang membentuk struktur tertentu. Identifikasi sidik jari, dikenal dengan daktiloskopi adalah ilmu yang mempelajari sidik jari untuk keperluan pengenalan kembali identitas orang dengan cara mengamati garis yang terdapat pada guratan garis jari tangan dan telapak kaki. Daktiloskopi berasal dari bahasa Yunani yaitu dact ylos yang berarti jari jemari atau garis jari, dan scopein yang artinya mengamati atau meneliti. Kemudian dari pengertian itu timbul istilah dalam bahasa Inggris, dactyloscopy yang kita kenal menjadi ilmu sidik jari. Fleksibilitas dari gelombang pada kulit berarti tidak ada dua sidik jari atau telapak tangan yang sama persis pada setiap detailnya. Pengenalan sidik jari melibatkan seorang pakar, atau sebuah sistem pakar komputer, yang menentukan apakah dua sidik jari berasal dari jari. 
Identifikasi berdasarkan sidik jari adalah daerah aktif penelitian di biometrik menerapkan berbagai umum dan teknik kode domain-spesifik optimasi untuk secara efisien melaksanakan tahap pendaftaran, yang mengambil sebagai masukan serangkaian gambar sidik jari dan menghasilkan diadaptasi packet pohon dan template wavelet domain yang terkait. Itu kode untuk identifikasi sebenarnya kemudian dihasilkan automati-Cally dari deskripsi matematika. Algoritma identifikasi sidik jari kembali quires perhitungan matematika yang berat, sehinggasatu al-gorithm bisa memiliki runtimes berbeda tergantung pada Implementasi algoritma. Algoritma ini terdiri dari 2 tahap, tahap pelatihan dan tahap verifikasi. Namun penting untuk memiliki efisien pelaksanaan tahap pelatihan untuk memungkinkan pengembang algoritma untuk dengan cepat menjalankan dan menguji uji beda kasus. Tahap verifikasi dilakukan secara on-line sehingga itu perlu secepat mungkin. Kualitas sidik jari sistemidentifikasi tidak hanya tergantung pada keakuratan.

 

3.     Model Prototype   
 
Model ini dimulai dengan pengumpulan kebutuhan. Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping model terdiri dari :

a.     Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.

b.     Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.

c.     Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.
Secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus menggunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang memungkinkan program yang bekerja agar dimunculkan secara cepat.
      A)    Kelebihan :
ü Prototype melibatkan user dalam analisa dan desain.
ü Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
ü Untuk digunakan secara standalone.
ü Digunakan untuk memperluas SDLC.
ü Mempersingkat waktu pengembangan Sistem Informasi


     B)     Kekurangan :
ü Proses analisis dan perancangan terlalu singkat.
ü Mengesampingkan alternatif pemecahan masalah.
ü Bisanya kurang fleksible dalam mengahdapi perubahan.
ü Prototype yang dihasilkan tidak selamanya mudah dirubah


       C)    Model prototype
 
Evolutionary prototipe
Pada metode ini, prototype-nya tidak dibuang, melainkan digunakan sebagai dasar untuk iterasi  Perancangan selanjutnya. Dalam hal ini, sistem yang sesungguhnya dipandang sebagai evolusi dari versi awal yang terbatas menuju produk finalnya. Tujuan dari evolutionary prototyping adalah menyerahkan sistem yang dapat dipakai kepada end-user .Pembangunan sistem di mulai dari kebutuhan yang paling dipahami. Prototipe evolusioner , sistem dibangun dengan cara memulai dari versi initial sampai versi final.
      Tahapan model evolutionary prototipe :
à      Mengidentifikasi kebutuhan pemakai. Analis sistem mewawancarai pemakai untuk mendapatkan
       gagasan dari apa yang diinginkan pemakai terhadap sistem
à    Mengembangkan prototipe. Analis sistem, mungkin bekerjasama dengan spesialis informasi lain,
       menggunakan satu atau lebih peralatan prototyping untuk mengembangkan sebuah prototipe.
à   Menentukan apakah prototipe dapat diterima (sudah sesuai). Analis mendidik pemakai dalam
      penggunaan prototipe dan memberikan kesempatan kepada pemakai untuk membiasakan diri
      dengan sistem. Pemakai memberikan masukan bagi analis apakah prototipe memuaskan/sudah
      sesuai. Jika ya, langkah d. Akan diambil; jika tidak prototipe direvisi dengan mengulangi langkah
      a.,b., c. Dengan pengertian yang lebih baik mengenai kebutuhan pemakai.
à   Menggunakan prototipe. Prototipe ini menjadi sistem operasional. 
 

Throw away prototipe
Prototype dibuat dan ditest. Pengalaman yang diperoleh dari pembuatan prototype tersebut digunakan untuk membuat produk akhir (final), sementara prototype tersebut dibuang (tak dipakai). Tujuan throw-away prototyping adalah memvalidasi dan menurunkan persyaratan sistem. Prototipe dapat di mulai dari kebutuhan yang paling tidak dipahami. Prototipe Throw
away mencakup pengembangan prototipe untuk memahami persyaratan sistem.
 

          D)    Contoh Studi Kasus :
Dalam pelaksanaannya, system akademik yang berjalan di Sekolah Menengah Pertama Negeri 20 Bandung dirasa belum optimal, hal ini dikarenakan sistem yang digunakan masih bersifat manual. Dengan permasalahan tersebutmaka muncul berbagai permasalahan terutama pada proses pendaftaran,registrasi, pembagian kelas, pembagian wali kelas, proses penilaian serta informasimengenai perkembangan siswa kepada orang tua. Untuk itu, diperlukan suatu sistem informasi yang mampu mendukung pengambilan keputusan dalammemperoleh informasi kegiatan akademik. Pembuatan Sistem Informasi Akademik Sekolah Menengah Pertama Negeri 20 Bandung menggunakan pendekatan terstruktur, sedangkan metode pengembangan menggunakan prototype dengan teknik pengumpulan data observasidan wawancara, sedangkan alat yang digunakan dalam merancang sistem berupa Flow Map, Diagram Konteks, DFD dan pengembangan aplikasi berbasis desktop.Sistem yang dibangun disajikan secara client server sehingga dapat diaksesbeberapa komputer. Sistem yang dibangun diharapkan dapat mengatasi sebagianbesar permasalahan yang ada seperti melakukan validasi kerangkapan dataregistrasi dan nilai siswa, pembagian kelas dan penilaian.
 
4.        Model Transformasi Formal
Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi, Trasformasi menyatakan spesifikasi program. Tranformasi formal menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL. Pendekatan ini berdasarkan pembuatan spesifikasi sistem formal secara matematik dan transformasi spesifikasi dengan menggunakan metode matematik atau dengan suatu program.Transformasi ini adalah correctness preserving, ini berarti bahwa kita dapat yakin programyang dikembangkan sesuai dengan spesifikasi. Pengembangan sistem formal menggunakansuatu model sistem matematika yang ditransformasikan ke implementasi. Pengembangan sistem formal merupakan pendekatan terhadap pengembangan perangkatlunak yang memiliki kesamaan dengan model air terjun, tetapi proses pengembangannyadidasarkan pada transformasi matematis dari spesifikasi sistem menjadi program yang dapat dijalankan.
a.    Pendekatan pengembangan Sistem Formal :
       Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi,
       Trasformasi menyatakan spesifikasi program,
       Menggunakan pendekatan ‘Clean room’ untuk pengembangan PL.
b.    Penggunaan metode formal :
       Metode ini mempunyai keterbatasan dalam pemakaiannya,
       Keunggulannya adalah mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis,
       hal itu menjadi efektif dari segi biaya.
c.    Permasalahan dalam model pengembangan metode formal :
       Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya,
       Sulit menentukan beberapa aspek dari suatu sistem seperti user interface.
d.    Pemakaian model pengembangan metode formal :
       Memerlukan tingkat kerahasian dan keamanan yang tinggi sebelum digunakan
A)    Kelebihan Model Transformasi Formal :
1. Mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada
2.sistem yang kritis
efektif dalam segi biaya
3.Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem.
B)     Kelemahan model Transformasi Formal :
 1. Metode ini mempunyai keterbatasan dalam Pemakaiannya
2. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
3. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
            4.Memerlukan tingkat kerahasian dan keamanan yang tinggi sebelum digunakan

5.    Model RAD (Rapid Application Development)
   Merupakan model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat/pendek. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari). Pendekatan RAD model menekankan cakupan :
a.    Pemodelan bisnis (Bussiness Modelling)
Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?
b.    Pemodelan data (Data Modelling)
Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik/atribut dari masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.
c.    Pemodelan proses (Process Modelling)
Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.
d.    Pembuatan aplikasi (Application generation)
Selain menciftakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada atau menciftakan komponen yang bias dipakai lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.
e.    Pengujian dan pergantian (Testing and turnover)
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji.
          Gb. Model RAD
 

          A)    Kelebihan Model RAD (Rapid Application Development):
ü Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dandapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehinngawaktunya lebih efesien.
ü RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyaikemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang pengembang tidak perlu membuat dari awal lagi dan waktulebih singkat .
          B)     Kelemahan model  RAD :
ü Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD yang baik.
ü RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat. Jika komitmen tersebut tidak ada, proyek RAD gagal.
Tidak semua aplikasi sesuai untuk RAD.bila system tidak dapat dimodulkan dengan teratur,  pembangunan komponen penting pada RAD akan menjadi sangat problematic. RAD menjadi tidak sesuai jika risiko teknisnya tinggi.

           C)    Contoh studi kasus
RAD sangat tepat diterapkan untuk sistem yang telah jelas dan lengkap kebutuhannya, di mana terdapat komponen-komponen yang dapat dipakai kembali dalam proyek yang berskala kecil dengan waktu pengembangan perangkat lunak yang singkat.

6.    Model Pengembangan Incremental
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 yang mengartikan model incremental sebagai perbaikan dari model waterfall dan sebagai standar pendekatan topdown.
A)    Tahapan dalam Incremental model:
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.
    Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum            sebelum tahap membangun tiap increment. Untuk mengantisipasi kondisi yang terjadi
        pada incremental model, diperkenalkan model More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak harus menunggu modul pertama selesai hingga dikirim ke user.
B)     Kelebihan Model Pengembangan Incremental :
ü Merupakan model dengan manajemen yang sederhana.
ü Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
ü Resiko untuk kegagalan proyek secara keseluruhan lebih rendah, walaupun masalah masih dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian yang ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada increment sistem yang paling bawah.
ü Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
1.         Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
2.         Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji.

C)    Kelemahan Model Pengembangan Incremental :
ü Kemungkinan tiap bagian tidak dapat diintegrasikan
ü Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
ü Harus Open Architecture
ü Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
D.  Waktu penggunaan :
    Metode Incremental banyak digunakan untuk proyek dengan teknologi terbaru, proyek yang membutuhkan jadwal pengembangan yang panjang, manajemen sederhana serta resikoyang rendah.
7.    Fourth Generation Techniques (4GT)
Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.  Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut : i) Bahasa non prosedural untuk query basis data; ii)  Report generation; iii) Data manipulation ; iv) Interaksi layar ; v) Kemampuan grafik level tinggi ; vi) Kemampuan spreadsheet . Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus.
Menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT :
1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan                 ditranslasikan ke prototype operasional.
     2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan                       implementasi  secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika     aplikasi relatif kecil.
    3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL       akan digunakan.
   4.  Pengujian.
   5.   Membuat dokumentasi.
  6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan   paradigma rekayasa perangkat lunak lainnya.
A)    Kelebihan Model 4GT :
1.   Pelanggan dapat menggambarkan kebutuhannya dalam suatu rancangan sistem dan secara otomatis rancangan dapat diubah menjadi prototip operasional.
2. Penggunaan perangkat 4GT tidak membutuhkan pengetahuan bahasa pemrograman, karena kode komputer (source code) dapat dibangkitkan oleh sistem 4GT.
3.    4GT mengurangi waktu pengembangan perangkat lunak dan meningkatkan produktivitas manusia yang mengambangkannya.
B)     Kelemahan Model 4GT :
1.    Kode komputer yang dihasilkan tidak efisien dan perawatan sistem perangkat lunak besar yang dikembangkan menggunakan 4GT masih menjadi tanda tanya.
2.    Penggunaan 4GT masih terbatas pada aplikasi sistem informasi bisnis, khususnya analisis informasi dan pelaporan yang mengacu pada database besar.

8.   Model Evolusi
    Model evolusi adalah sebuah model yang berulang-ulang. Model ini memiliki karakteristik yang memungkinkan para programmer mengembangkan perangkat lunaknya menjadi semakin lengkap di tiap versinya. Model ini diterapkan karena persyaratan (requierement) sering berubah sehingga hasil akhir dari sebuah produk tidak akan realistis, dimana edisi komplit dari produk tersebut mustahil dikeluarkan dikarenakan deadline market yang begitu ketat. Oleh karena itu lebih baik mengeluarkan versi limited untuk memperkenalkannya terlebih dahulu dan programmer dapat membuat model dari sebuah design untuk mengakomodasikan produk, yang secara bertahap akan diselesaikan dari waktu ke waktu.
A)   Kelebihan Model Evolusi :
üMeningkatkan kemampuan memimpin dan mengatur sesuatu dengan pengembangan diri.
üMenciptakan suasana yang sadar akan kualitas suatu produk.
üFungsi inti dari quality control dalam perusahaan besar pada tingkat lokakarya.
üMeningkatkan kebersamaan untuk mencapai suatu hasil dan semangat kerja karyawan.
üMeningkatkan kualitas dengan biaya efektif.
üMembebaskan manajemen.
üPekerja Shop Floor adalah lokasi terbaik untuk mengidentifikasi masalah.
B)   Kekurangan Model Evolusi :
ü Intensitas pekerjaan meningkat karena masalah akan lebih banyak dari pada yang diperkirakan
ü Manajemen perlu berkomitmen untuk sistem yang berkualitas, jika sebuah solusi dari sebuah masalah tidak dapat diterapkan maka itu bisa membuat frustasi para pekerja.
ü Dapat memiliki efek negatif pada hubungan industrial.
ü Dapat fokus pada masalah duniawi. 
C)   Contoh studi kasus:
  Proyek SITINA dimulai dengan kebutuhan terhadap suatu sistem EDM utilitas yang harus melalukan pemantauan dengan mudah, benar-benar otomatis,pada pembangkit listrik tenaga air . Tujuan utama adalah untuk mengembangkan aplikasi dengan biaya rendah yang memungkinkan dewan direksi untuk memonitor pembangkit listrik tersebut dan mengambil data statistik pada produksi mereka. Hal ini tidak dalam melingkupi penjelasan rinci tentang SITINA . Namun, seperti yang dapat kita lihat dari akhir arsitektur umum pada Gambar 1, kita berhadapan dengan sistem yang kompleks dengan SCADA/EMS2 yang terbentuk dari penggunaan banyak teknologi dari beberapa produk-produk perangkat lunak yang berbeda.

9.   Model V / V-Model
Bisa dikatakan 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.
A)   Kelebihan v model :
ü V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
ü V Model dikembangkan dan di-maintain oleh publik. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.
B)   Kekurangan v model :
ü V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
ü V Model terlalu fleksibel dalam arti ada beberapa activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.

10.MODEL CBSE (COMPONENT BASED SOFTWARE ENGINEERING)
Model CBSE adalah proses yang menekankan perancangan dan pembangunan software dengan menggunakan komponen software yang sudah ada. Model ini bersifat iteratif atau berulang-ulang prosesnya. Tahapan CBSE terdiri dari dua bagian yang terjadi secara paralel yaitu :
1.    Software engineering (component-based development) Component based development sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Penggunaan kembali komponen software yang sudah ada menguntungkan dari segi :
 Siklus waktu pengembangan software, karena mampu mengurangi waktu 70%
 Biaya produksi berkurang sampai 84% karena pembangunan komponen berkurang
Hal-hal yang dilakukan pada tahap software engineering (component-based development)  adalah:
 Melakukan analisis terhadap domain model yang sudah ditetapkan
 Menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem.
 Melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.
2.    Domain engineering
Hal-hal yang dilakukan pada tahapan domain engineering:
 Menciptakan model domain bagi aplikasi yang akan digunakan untuk menganalisis kebutuhan pengguna.
 Identifikasi, pembangunan, pengelompokan dan pengalokasikan komponen-komponen software supaya bisa digunakan pada sistem yang ada dan yang akan datang.



11.   MODEL RATIONAL UNITED PROCESS
Rational Unified Process (RUP) merupakan suatu pendekatan disiplin dalam mengerjakan tugas dan tanggung jawab melalui berbagai best practise di dalam suatu organisasi pengembangan pengembangan perangkat lunak. Tujuan dari RUP adalah untuk memastikan dihasilkannya produk perangkat lunak dengan kualitas yang tinggi (minim error dan berjalan sesuai yang diharapkan), serta memenuhi semua kebutuhan stakeholder dengan biaya dan waktu yang sudah diprediksikan. menunjukkan secara keseluruhan kerangka kerja (framework) yang dimiliki RUP.


RUP menggunakan konsep object oriented dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan unified model language (UML). UML adalah bahasa standar untuk penulisan blueprint perangkat lunak. Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis, disain, implementasi dan pengujian) pada tiap komponen. dapat dilihat bahwa RUP memiliki dua dimensi, yaitu:
1.  Dimensi horisontal mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir fase dan awal dari fase selanjutnya. Setiap fase dapat terdiri dari satu atau beberapa iterasi.
2.  Dimensi vertikal mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing what, how and when.
Tahapan pengembangan perangkat lunak dalam RUP terbagi menjadi 4 fase, sebagai berikut :
Ø  Inception merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem
eksisting, 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.), pemodelan diagram UML (diagram use case dan activity), dan pembuatan dokumentasi.
Ø  Elaboration merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan disain arsitektur subsistem (architecture pattern), disain komponen sistem, disain format data (protokol komunikasi), disain database, disain antarmuka/tampilan, disain peta aliran tampilan, penentuan design pattern yang digunakan, pemodelan diagram UML (diagram sequence, class, component, deployment, dll.), dan pembuatan dokumentasi.
Ø  Construction merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan disain, terutama disain pada domain perilaku (diagram sequence) dan domain struktural (diagram class, component, deployment). Apabila disain 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 disain (misal menggunakan Class Responsibility Collaborator untuk kasus pemrograman berorientasi obyek), 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 / perbaikan lebih lanjut, dan pembuatan dokumentasi.
Ø  Transition merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen (roll-out), yang umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing beta aplikasi terhadap ekspetasi pengguna.










SUMBER :
Pressman, Roger S. 2002.”Rekayasa Perangkat Lunak (Pendekatan Praktis).” Yogyakarta : Andi.
http://lookupmens.blogspot.com/2012/11/metodelogi-pengembangan-sistem.html




 
 
 

 
 

 

 
 
 

Komentar

Postingan populer dari blog ini

22.Model WATERFALL

8.Model SDLC Incremental

FLOWCHART