Sabtu, 01 Oktober 2016

MODEL PROSES

Model Pengembangan Sistem
Model Proses Perangkat Lunak adalah representasi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dari sudut tertentu.
Paradigma Pengembangan model sistem (konvensional) terdiri dari :
-          Linier Development Model
-          Evolutionary Development model
-          Concurrent Develo[ment Model
-          Incremental Development Model
1.
1. Linear sequential Model (Model Sekuensial Linear)/Model Waterfall
           Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan modelan pengembangan perangkat lunak paling tua yang mengusung pengembangan  perangkat lunak yang sistematis, berurutan/sekuensial dimulai pada tingkat dan kemajuan sistem pada seluruh persyaratan dalam analisis, perancangan (desain), pengkodean, pengujian (testing), hingga ke tahap pemeliharaan dalam membangun software (perangkat lunak).Berikut ini gambaran dari Linear Sequential Model / waterfall model.
http://4.bp.blogspot.com/-1fV8Zg8zyLo/Vj-FfkHDh8I/AAAAAAAAAII/a636t99Msuc/s1600/ModelProses.jpg
Gambar 1. The linear sequential model
Pada setiap tahapan dianalogikan bak air yang mengalir dari tempat tinggi ke tempat yang lebih rendah, artinya sebuah proses baru bisa dilanjutkan setelah satu tahap awal selesai dengan sempurna.
            Penjelasan tentang setiap tahapan dapat diringkas sebagai berikut:
Tahapan Rekayasa dan pemodelan sistem/informasi , langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware, User, dan Database.

Tahapan Analisis kebutuhan perangkat lunak , pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka.  Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.

Tahapan Desain , Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.

 Tahapan Pengkodean , Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.

 Tahapan Pengujian , Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.

 Tahapan Pemeliharaan Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan antara lain :

Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
Kelebihan metode ini antara lain mudah diaplikasikan karena urutan-urutan pengerjaan sudah sering dipakai; selain itu juga cocok untuk software berskala besar dan yang bersifat umum; yang paling penting, karena langkah-langkahnya sangat sekuensial, pengerjaan proyek akan mudah dikontrol dan terjadwal dengan baik lalu .
Namun, terdapat pula beberapa kelemahan yang menjadi kekurangan dari metode waterfall ini, seperti kurang fleksibel, dikarenakan rincian prosesnya harus benar-benar jelas dan tidak boleh diubah-ubah. Apabila dikerjakan dengan melampaui tahap yang seharusnya maka proses desain yang sebelumnya itu akan berubah total dan memakan waktu yang banyak jika harus mengulang proses.
Model waterfal ini sangat sesuai digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas dan apabila kebutuhan pengguna telah dimengerti dengan baik. Selain itu, juga apabila waktu yang tersedia juga masih cukup banyak.
Contoh Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development Model :
Contoh dari penerapan model pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut :
  • Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
  • Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi.
2. V Model
Pengertian V Model
       Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. 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.
Hasil gambar untuk v model
Gambar 2. The linear sequential model


Tahapan dalam  V Model

Tahapan pada V Model dibagi menjadi 2 garis besar yaitu Tahap Verifikasi dan Tahap Validasi atau testing.
Tahap Verfiikasi mengacu kepada usaha penyesuaian spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi serangkaian kegiatan sebagai berikut:
  1. Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan.
  2. Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional.
  3. Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan.
  4. Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati.
  5. Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain.
  6. Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu.
Tahapan Validasi merupakan serangkaian tahapan yang mengacu kepada kesesuaian software dengan spesifikasi yang sudah ditetapkan. Tahapan ini dicapai melalui serangkaian pengujian/testing sebagai berikut:
  • Unit test: menguji setiap komponen/unit program apakah sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester, tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer sendiri.
  • Interface test: setelah semua komponen diuji secara terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi yang diharapkan.
  • System test: setelah semua interface berjalan dengan baik, selanutnya dilakukan system test untuk melihat sejauh mana sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem yang diuji secara terpisah. Aktivitas pada system testing termasuk melakukan pengujian hal-hal berikut:
    1. Performance – apakah kinerja sistem sesuai dengan target yang sudah didefinisikan sebelumnya.
    2. Volume – apakah software/sistem dapat menampung volume informasi yang cukup besar.
    3. Stress – apakah software/sistem dapat menampung sejumlah informasi pada waktu-waktu tertentu.
    4. Documentation – apakah semua dokumentasi penting sudah disiapkan.
    5. Robustness – apakah software/sistem cenderung stabil pada berbagai kondisi diluar dugaan/ekstrim.
  • Acceptance test merupakan aktivitas untuk menguji sejauh mana sistem/software dapat membantu memecahkan business case, dalam artian apakah sistem/software tersebut sudah sesuai dengan harapan konsumen/klien dan sejauh mana manfaat sistem/software ini bagi klien. Test ini sering kali disebut sebagai User Acceptance Test (UAT).
  • Release testing: test ini dilakukan untuk menguji sejauh mana sistem/software dapat mendukung aktivitas organisasi dan berjalan dengan harmonis sesuai dengan kegiatan rutin organisasi. Beberapa pertanyaan coba dijawab pada fase ini misalnya apakah software tersebut mempengaruhi sistem lain? Apakah software tersebut kompatibel dengan sistem lain? Bagaimana kinerja sistem sebenarnya di dalam organisasi?
 Kelebihan V model:
  •  V model sangat fleksibel. V model ini bisa digunakan untuk project tailoring serta penambahan pengurangan method dan tool secara dinamik.
  •   V model dikembangkan dan di maintain oleh publik. User dari V model berpartisipasi dalam change board yang memproses semua change request terhadap V model.
Kekuranagn V model
  •  V model hanya bisa digunakan sekali dalam suatu proyek hal tersebut disebabkan kerena V model merupakan model yang project oriented.
  • V model bersifat terlalu fleksibel sehingga mengakibatkan beberapa aktivitas-aktivitas yang digambarkan dalam V model menjadi terlalu abstrak. Hal tersebut mengakibatkan tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
Dimana saja V Model Diterapkan?
  1. Dalam proyek teknologi informasi di Jerman
  2. V Model dibandingkan dengan CMM
  3. V Model didesain untuk mengembangkan sistem yang didalamnya terdapat dua komponen
  4. Pengembangan V Model dalam bidang industri dapat dilakukan dengan mudah
3. Prototyping Model
Metode Prototyping Model  menyajikan gambaran yang lengkap dari sistem, terdiri atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan dimanfaatkan.
http://3.bp.blogspot.com/-Gm5TsLVqPFY/Vj-Ff--RbuI/AAAAAAAAAIc/_2KRWmPFlw4/s1600/ModelProses2.jpg
Gambar 3. Prototyping Model
Secara ringkas, tahapan-tahapan dalam model prototyping adalah:
Tahapan Pengumpulan kebutuhan , Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
Tahapan Membangun prototyping, Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
Tahapan Evaluasi protoptyping , Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
Tahapan Mengkodekan sistem , Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
Tahapan Menguji sistem , Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.
Tahapan Evaluasi Sistem , Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
Tahapan Menggunakan sistem , Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Keunggulan model ini adalah sifatnya yang sangat interaktif sehingga pengembang dan pengguna (pemakai) dapat terus berinteraksi selama pengerjaan tahapantahapan tersebut. Peran aktif pemakai ini dapat menghemat waktu dalam pengembangan sistem dan bila terdapat kesalahan atau ketidaksesuaian keinginan, pemakai dapat segera memberitahukannya sehingga pengembang dapat secepatnya melakukan penyesuaian.
Kelemahan model ini antara lain, akibat adanya quick design, kadang pemakai tidak menyadari bahwa perangkat lunak yang ditunjukkan masih berupa blue print sehingga tidak ada jaminan terhadap kualitas secara keseluruhan dan pemeliharaan jangka panjangnya. Dari sisi pengembang, karena ingin menyegerakan selesainya proyek, sering menggunakan bahasa pemrograman yang sederhana dalam membuat prototipe tanpa memikirkan lebih lanjut program yang lebih kompleks untuk membangun sistem yang sebenarnya.
Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.
Contoh Penerapan Metode Prototype
Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
Contoh studi kasus:
     Seorang pelanggan mendefinisikan serangkaian sasaran umum bagi perangkat lunak, tetapi tidak melakukan mengidentifikasi kebutuhan output, pemrosesan, atupun input detail. Pada kasus yang lain, pengembang mungkin tidak memiliki kepastian terhadap efisiensi algoritme, kemampuan penyesuaian dari sebuah sistem operasi,atau bentuk-bentuk yang harus dilakukan oleh interaksi manusia dengan mesin. Dalam hal ini, serta pada banyak situasi yang lain, prototyping paradigma mungkin menawarkan pendekatan yang terbaik.
Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar diman definisi lebih jauh merupakan keharusan kemudian dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
4. RAD Model (Rapid Aplication Development)
RAD adalah proses pembangunan Perangkat Lunak yang menekankan pada siklus pengembangan yang pendek dan singkat. Model ini mengawinkan model waterfall dan model component based construction.
http://3.bp.blogspot.com/-pZLsbdIJiLY/Vj-Ff_mPI5I/AAAAAAAAAIo/pcgl9rdflAU/s1600/ModelProses3.jpg

Gambar 4. Model RAD

Secara ringkas, tahapan-tahapan RAD adalah sebagai berikut.
Tahap Pemodelan Bisnis: dibuat agar dapat menjawab pertanyaan-pertanyaan berikut: informasi apa yang mengontrol proses bisnis? Informasi apa yang didapat? Siapa yang mendapatkannya? Untuk siapa informasi itu ditujukan? Siapa yang akan memprosesnya?
Tahap Pemodelan Data: informasi-informasi yang dipadu dari pemodelan bisnis dipilah-pilah ke menjadi sekumpulan objek data yang masing-masing objek diidentifikasikan dan ditentukan hubungan antara objek-objek tersebut.
Tahap Pemodelan Proses: aliran informasi yang didapat dalam proses pemodelan data diolah sedemikian untuk dapat menopang fungsi-fungsi bisnis. Prosesnya dikreasikan untuk menambah, memodifikasi, menghapus dan atau mendapatkan kembali sebuah objek data.
Tahap Pembuatan Aplikasi: RAD dapat saja memakai kembali komponen program yang sudah ada bila dimungkinkan, atau membuat komponen yang dapat digunakan lagi bila diperlukan di masa mendatang. RAD juga diasumsikan menggunakan teknik generasi keempat (4GT).
Tahap Pengujian dan Pergantian: Proses RAD menekankan pada pemakaian kembali yang memungkinkan berkurangnya keseluruhan waktu pengujian, namun komponen harus diuji dan harus dilatih secara penuh dan terintegrasi.
Kelebihan model RAD: tahap-tahap RAD membuatnya mampu untuk menggunakan kembali komponen yang ada (reusable object), karena setiap komponen software dikerjakan secara terpisah dengan tim-tim tersendiri sehingga dapat digunakan juga untuk aplikasi lain yang pada akhirnya akan menghemat waktu.  Penggunaan tim yang terpisah untuk mengerjakan pekerjaan yang berbeda membuat pekerjaan lebih cepat dalam proses integrasi dan efisien terhadap waktu tanpa mengacaukan aplikasi.
Kelemahan model RAD: Tidak begitu cocok untuk proyek dengan skala besar karena dibutuhkan sumber daya manusia yang semakin banyak seiring dengan semakin banyaknya komponen yang dikerjakan, selain itu, semakin besar proyek, semakin kompleks pula koordinasi yang dibutuhkan.  Dalam waktu yang singkat, rasanya sulit untuk pengembang dan pemakai berkomitmen untuk melaksanakan berbagai kegiatan untuk melengkapi sistem. Apalagi bila sistem ternyata tidak dapat dimodularisasi sementara sistem mempunyai resiko teknik yang tinggi.
Model 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.
Contoh Penerapan dalam Kehidupan
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
1.     Component based construction (pemrograman berbasis komponen bukan prosedural).
2.     Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3.     Pembangkitan kode program otomatis/semi otomatis.
4.     Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.
5. Evolutionary software process model, terbagi dua:
5A. Incremental Model
Model Incremental Model merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.
http://3.bp.blogspot.com/-MVp1e3m7wpk/Vj-FggTGwkI/AAAAAAAAAIs/NtXazZIILI8/s1600/ModelProses4a.jpg
Gambar 5. Incremental Model
 Kelebihan model ini adalah mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim yang banyak untuk menjalankannya.
Kekurangannya adalah tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding) dan sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.
Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas.
Contoh Penerapan Model Incremental
Perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product).  Dan pada pertambahan selanjutnya, produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
Contoh studi kasus:
      Puskesmas sebagai salah satu bentuk pelayanan kesehatan yang dituntut untuk memberikan pelayanan kesehatan dengan baik. Diantaranya adalah rekam medis pasien di Puskesmas Mranggen I masih menggunakan sistem manual, sehingga menyebabkan beberapa kendala diantaranya pengolahan data pasien yang masih lambat yang mengakibatkan tingginya tingkat kesalahan dalam pengolahan data pasien. Sistem rekam medis ini menggunakan metode penelitian deskriptif dengan jenis studi kasus pada Puskesmas Mranggen I, teknik pengumpulan data yang digunakan adalah observasi, wawancara, dan studi literature. Teknik analisis data menggunakan model incremental yang dikembangkan dari model waterfall, sedangkan model analisis menggunakan analisis terstruktur yaitu ERD (Entity Relationship Diagram) dalam menggambarkan model data dan DFD (Data Flow Diagram) untuk mengembangkan model fungsional.Perangkat pembangun adalah Borland Delphi 7 dengan database MySQL. Data yang diproses yaitu pendaftaran, rekam medis, rujukan, laboratorium sedangkan keluaran dari system berupa laporan-laporan. 
5B. Spiral Model/Spiral Boehm
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.
http://2.bp.blogspot.com/-DSU_eeBtyPQ/Vj-Fg6ksI8I/AAAAAAAAAI8/EtW2j9cmilg/s1600/ModelProses4b.jpg
Gambar 6. Model Spiral Boehm
 Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut.
Tahap Liason: pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai
Tahap Planning (perencanaan): pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
Tahap Analisis Resiko: mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
Tahap Rekayasa (engineering): pembuatan prototipe
Tahap Konstruksi dan Pelepasan (release): pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Kelebihan model ini adalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan model ini adalah waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan.

Contoh studi kasus:   

   Tuan X adalah General Manager A Company, sebuah perusahaan perkapalan yang berbasis di Singapura. Sebagai perusahaan UKM muda yang terus berkembang, Tuan X menginvestasikan sebagian modal perusahaan untuk promosi di media cetak dan elektronik, serta melatih kemampuan karyawan melalui berbagai kursus. Untuk mendukung kerja karyawan, A Company menggunakan komputer dasar (Basic PC) yang dilengkapi dengan office software. Seperti kebanyakan UKM lainnya, A Company juga memiliki akses internet yang hanya dapat digunakan secara terbatas di beberapa PC. A Company memiliki satu buah email resmi yang masih menggunakan domain dari ISP (Internet Service Provider). Untuk komunikasi dilingkungan karyawan , mereka menggunakan fasilitas email gratis yang banyak tersedia internet. Email gratis ini kadang juga digunakan untuk berkomunikasi dengan supplier dan pelanggan. Sebagai perusahaan UKM yang terus berkembang cepat, Tuan X mulai berfikir untuk mengembangkan A Company lebih professional. Harapan Tuan X, Calon pelanggan potensial, pelanggan , supplier dan karyawan lebih mengenal A Company . Disisi lain, ia juga berharap agar cara yang digunakan lebih efisien, hemat biaya, tetapi menampilkan sososk perusahaan yang meyakinkan atau bonafit.Tuan X meyakini, bahwa berkomunikasi menggunakan alamat email atau domain sendiri promosi melalui website sendiri data yang terintegrasi dan dapat diakses disemua komputer perusahaan akan dapat membawa perusahaan menjadi lebih profesional. A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan keinginannya, Tuan X meminta bantuan perusahaan khusus TI. Implementasi TI dikerjakan oleh perusahaan TI (sebagai pemenang tender) dalam jangka waktu kontrak 1 tahun, Dalam proses implementasi, Tuan X menyerahkan tugas dan tanggungjawab kepada bawahannya. Semua karyawan dilibatkan dalam pertemuan dan diskusi dengan perusahaan pembangun TI. Dari waktu kontrak 1 tahun yang disepakati, TI yang bisa diimplementasikan adalah pembangunan jaringan komputer, akses internet, email, dan pembangunan data.

Contoh Aplikasi Aplikasi Game pembangunan adalah daerah utama dimana model spiral digunakan dan dibutuhkan, itu adalah karena ukuran dan pergeseran terus-menerus tujuan dari proyek-proyek besar tersebut.Model spiral banyak digunakan dalam proyek-proyek besar. Untuk proyek-proyek yang lebih kecil, konsep pengembangan perangkat lunak cerdas menjadi alternatif. Militer AS telah mengadopsi model spiral untuk program Future Combat Systems. The FCS Proyek ini dibatalkan setelah enam tahun (2003 – 2009), itu 2 tahun iterasi (spiral). FCS harus memiliki 3 consecutive mengakibatkan prototipe (satu prototipe per spiral – setiap 2 tahun). Saat itu dibatalkan pada Mei, 2009Untuk setiap solusi perangkat lunak kustom proyek, baik besar atau kecil, yang cocok metodologi pengembangan perangkat lunak adalah kebutuhan inti dalam pengembangan prosedur. Every company employs a particular model to ensure the software development process is implemented with ease and professionalism. Setiap perusahaan mempekerjakan model tertentu untuk memastikan proses pengembangan perangkat lunak diimplementasikan dengan mudah dan profesionalisme. One such methodology is the spiral model. Salah satu metodologi adalah model spiral.Untuk setiap solusi perangkat lunak kustom proyek, baik besar atau kecil, yang cocok Metodologi pengembangan perangkat lunak adalah kebutuhan inti dalam pengembangan prosedur. Setiap perusahaan mempekerjakan model tertentu untuk memastikan proses pengembangan perangkat lunak diimplementasikan dengan mudah dan profesionalisme. Setiap perusahaan mempekerjakan Tertentu model untuk memastikan proses pengembangan perangkat lunak dengan mudah diimplementasikan dan profesionalisme. Salah satu metodologi adalah model spiral. Salah satu model adalah Metodologi spiral.Model spiral menggabungkan desain dan prototyping-in-faktor tahap pengembangan software yang sempurna proses berlangsung. Model spiral menggabungkan desain dan prototyping-in-faktor tahap pengembangan perangkat lunak berlangsung proses yang sempurna. Ia juga dikenal sebagai siklus spiral model yang menawarkan keuntungan dari top-down dan bottom-up konsep-konsep. Ia juga dikenal Siklus spiral Sebagai model yang menawarkan keuntungan dari top-down dan bottom-up konsep-konsep. SDM ini (metode pengembangan sistem) yang digunakan dalam bidang IT biasanya ditujukan untuk besar, rumit dan mahal proyek-proyek pengembangan perangkat lunak. SDM ini (metode pengembangan sistem) yang Digunakan dalam bidang IT biasanya ditujukan untuk besar, rumit dan mahal proyek-proyek pengembangan perangkat lunak.

 
6. Component Assembly Model (CAM/Model Perakitan Komponen)
Model ini merupakan gabungan dari berbagai sifat dan karakter dari model spiral Boehm dan sangat erat keterikatannya dengan model RAD (Rapid Application Development) model karena model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface) untuk membangun software. Dengan kata lain, pembuatan aplikasinya dibuat dari paket perangkat lunak yang berisi serangkaian komponen yang telah ada sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau lebih efektif ketimbang harus mengerjakan program dari awal.
http://2.bp.blogspot.com/-FyZLQ284NG8/Vj-Fg_h5dEI/AAAAAAAAAI4/ZT8nWrIB-Fk/s1600/ModelProses5.jpg
Gambar 7. CAM
Tahapan-tahapan Model ini adalah:
Tahap Identifikasi calon-calon komponen (kelas objek); Tahap melihat komponen-komponen dalam pustaka; Tahap mengekstrak komponen jika ada; Tahap membangun komponen jika tidak ada; Tahap menyimpan komponen baru pada pustaka; Tahap mengkonstruksi iterasi ke-n dari sistem.
Kelebihan model ini adalah tinggal mencaplok atau menggunakan program atau komponen yang sudah ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan penggunaan waktu dan tenaga.  Selain itu, model ini juga menyediakan kemampuan untuk memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa, merancang dan merancang ulang program.
Kekurangan model ini adalah seringnya program atau komponen-komponen terdahulu tidak kompatibel atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.
Model ini sangat sesuai digunakan oleh perusahaan besar yang sudah berpengalaman mengembangkan software. Mereka dapat memanfaatkan software-software yang telah umum dikembangkan sebelumnya menjadi bentuk baru dari software yang ingin dikomersilkan.
7. The Concurrent Development Model
Model ini disebut juga dengan concurrent engineering yang dapat digambarkan secara skematik sebagai serial dari kegiatan teknis utama, tugas-tugas, dan hubungan antar bagian-bagian yang saling terkait di mana aktifitas analisa seperti desain/rancangan atau komunikasi pelanggan dapat diskemakan dengan cara yang sama.
http://3.bp.blogspot.com/-D9WXtSHiizw/Vj-FhoSBnlI/AAAAAAAAAJA/XNYqcjhv044/s1600/ModelProses6.jpg
Gambar 8. The Concurrent Development Model
Concurrent process model cocok digunakan untuk pengembangan aplikasi client/server yang terdiri atas satu set komponen yang fungsional. Terdapat dua dimensi aktivitas yang digambarkan oleh model ini sebagai berikut.
Dimensi sistem: terdapat tiga proses di dalamnya yakni perancangan, perakitan (assembly) dan penggunaan (use).
Dimensi komponen: terdapat dua kegiatan utama yaitu perancangan dan realisasi.
Concurrency (pertemuan) dapat diperoleh dengan dua cara: 1) sistem dan komponen kegiatan (aktifitas) terjadi secara simultan dan dapat diperagakan dengan memanfaatkan pendekatan yang berdasar pada status sebelumnya; 2) aplikasi client/server yang bersifat unik/khas di mana dapat diterapkan pada banyak komponen yang tiap-tiap komponen bisa dirancang dan direalisasikan secara serentak.
8. Formal Method Models
Pada model ini, digunakan notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer. Metode ini sering dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian sistem yang penting (bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada perbankan.
Secara khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.
9. Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT
http://3.bp.blogspot.com/-Rmdl4Ldtg2U/Vj-FhhxGy0I/AAAAAAAAAJE/JWZUR_m7gYg/s1600/ModelProses8.jpg
Gambar 9. Model Teknik Generasi ke-4
                Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
Dewasa ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query, Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan interaksi layar (screen), Pembentukan object dan source ( Object and source generation ), Kemampuan grafik yang tinggi, dan Kemampuan spreadsheet.
10.      THE UNIFIED PROCESS
Gambar 2.9 menggambarkan "fase" dan berhubungan untuk kegiatan generik.

2.9
Tahap awal meliputi komunikasi pelanggan dan kegiatan perencanaan. Dengan bekerja sama dengan para pemangku kepentingan, kebutuhan bisnis untuk perangkat lunak diidentifikasi; arsitektur kasar untuk sistem ini diusulkan; dan rencana untuk, sifat inkremental iteratif proyek berikutnya dikembangkan. Kebutuhan bisnis mendasar dijelaskan melalui serangkaian kasus penggunaan awal yang menggambarkan fitur dan fungsi masing-masing kelas utama dari pengguna keinginan. Arsitektur pada saat ini tidak lebih dari garis tentatif subsistem utama dan fungsi dan fitur yang mengisi mereka. Kemudian, arsitektur akan disempurnakan dan diperluas menjadi satu set model yang akan mewakili pandangan yang berbeda dari sistem. Perencanaan sumber daya mengidentifikasi, menilai risiko utama, mendefinisikan jadwal, dan menetapkan dasar untuk fase yang akan diterapkan sebagai kenaikan software dikembangkan.
Fase elaborasi meliputi kegiatan komunikasi dan pemodelan model proses generik (Gambar 2.9). Elaborasi memurnikan dan memperluas kasus penggunaan awal yang dikembangkan sebagai bagian dari tahap awal dan memperluas representasi arsitektur mencakup lima pandangan yang berbeda dari perangkat lunak-model use case, model persyaratan, model desain, model pelaksanaan, dan model penyebaran. Dalam beberapa kasus, elaborasi menciptakan "dasar arsitektur executable" [Arl02] yang merupakan "potongan pertama" executable system. Baseline arsitektur menunjukkan kelayakan arsitektur tetapi tidak menyediakan semua fitur dan fungsi yang diperlukan untuk menggunakan sistem. Selain itu, rencana tersebut ditinjau pada puncak dari fase elaborasi untuk memastikan bahwa ruang lingkup, risiko, dan tanggal pengiriman tetap wajar. Modifikasi rencana sering dilakukan saat ini.
Tahap konstruksi identik dengan kegiatan konstruksi yang ditetapkan untuk proses software generik. Menggunakan model arsitektur sebagai input, tahap konstruksi mengembangkan atau mengakuisisi komponen perangkat lunak yang akan membuat setiap kasus penggunaan operasional bagi pengguna akhir. Untuk mencapai hal ini, persyaratan dan model desain yang dimulai selama fase elaborasi selesai untuk mencerminkan versi final dari kenaikan software. Semua fitur dan fungsi yang diperlukan dan dibutuhkan untuk peningkatan software (yaitu, rilis) yang kemudian diimplementasikan dalam kode sumber. Sebagai komponen sedang dilaksanakan, tes unit dirancang dan dilaksanakan untuk setiap. Selain itu, kegiatan integrasi (komponen perakitan dan pengujian integrasi) dilakukan. Gunakan kasus digunakan untuk menurunkan suite tes penerimaan yang dijalankan sebelum inisiasi tahap  berikutnya.
Fase transisi meliputi tahap terakhir dari kegiatan konstruksi generik dan bagian pertama dari penyebaran generik (pengiriman dan umpan balik) aktivitas. Software diberikan kepada pengguna akhir untuk pengujian beta dan umpan balik pengguna laporan baik cacat dan perubahan yang diperlukan. Selain itu, tim perangkat lunak menciptakan informasi dukungan yang diperlukan (misalnya, buku petunjuk, panduan troubleshooting, prosedur instalasi) yang diperlukan untuk rilis. Pada akhir fase transisi, selisih perangkat lunak menjadi rilis software yang dapat digunakan.
Tahap produksi bertepatan dengan kegiatan penyebaran proses generik. Selama fase ini, penggunaan berkelanjutan dari software ini dipantau, dukungan untuk lingkungan operasi (infrastruktur) yang disediakan, dan laporan cacat dan permintaan untuk perubahan diserahkan dan dievaluasi.
Sebuah alur kerja rekayasa perangkat lunak didistribusikan di seluruh fase. Dalam konteks, alur kerja adalah analog dengan seperangkat tugas (dijelaskan sebelumnya dalam bab ini). Artinya, alur kerja mengidentifikasi tugas-tugas yang diperlukan untuk mencapai suatu tindakan rekayasa perangkat lunak penting dan produk kerja yang dihasilkan sebagai konsekuensi dari berhasil menyelesaikan tugas. Perlu dicatat bahwa tidak setiap tugas diidentifikasi untuk alur kerja dilakukan untuk setiap proyek software. Tim menyesuaikan proses (tindakan, tugas, sub-tugas, dan produk kerja) untuk memenuhi kebutuhannya.

Referensi
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html
https://roysarimilda.wordpress.com/2012/05/08/macam-macam-model-proses-rpl-dan penyelesaian-kasus/
http://fananiagung.blogspot.co.id/2014/09/model-proses-perangkat-lunak.html#.VgIvnayzCZl  
http://andrenazar.blogspot.co.id/2015/11/model-proses-perangkat-lunak_11.html
http://rizkyahf.blogspot.co.id/2014/08/model-pengembangan-perangkat-lunak.html 
http://aryapramana.blogspot.co.id/2011/09/model-proses-rekayasa-perangkat-lunak.html
http://bokdimal.blogspot.co.id/2013/03/model-model-proses-perangkat-lunak.html 
http://kumpulanlukman.blogspot.co.id/2015/10/model-model-proses.html 
sumber: Pressman ,Roger s. 2010 .software engineering 7th edition.



1 komentar:

  1. Bet365 casino app - JtmHub
    Bet365 offers its 서울특별 출장샵 customers a great experience on the 영천 출장마사지 go. We 성남 출장마사지 offer you a huge range of different 남양주 출장안마 live casino games and a range of casino 삼척 출장마사지 games to choose from.

    BalasHapus