Minggu, 24 Agustus 2014

Daftar Artikel Materi Teknik Informatika

Sabtu, 27 April 2013

Analsis Software Proses Model

WATERFALL MODEL
Model ini disebut model waterfall, karena ketika suatu tahapan proses selesai baru bisa dilanjutkan ke tahapan selanjutnya, jika suatu proses tidak dilakukan, proses selanjutnya tidak dapat dijalankan. Jadi seperti air terjun, airnya harus mengaliri semua bagian 


Berikut prosesnya:
1. Requirement Analysis
Proses mengumpulkan informasi tentang kebutuhan pengguna. Biasanya dilakukan dalam bentuk diskusi atau wawancara
2.  System Design
Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.
3.  Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil.
4.  Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian untuk mengetahui adanya eror di software yang dibuat atau tidak.
5.  Operation & Maintenance
Tahap ini merupakan tahap pemeliharaan. Pemeliharaan termasuk dalam memperbaiki  kesalahan yang tidak ditemukan pada langkah sebelumnya.


Kelebihan Waterfall Model :
  • Merupakan model pengembangan paling handal dan paling lama digunakan.
  • Cocok untuk system software berskala besar.
  • Cocok untuk system software yang bersifat generic.
  • Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan Waterfall Model :
  • Persyaratan system 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.
PROTOTYPING MODEL
Perbedaan mendasar prototyping model adalah pembuatan prototype (perancangan sementara) sebelum membuat software secara keseluruhan.





Langkah-Langkah Prototyping Model:
1. Pengumpulan Kebutuhan -> yaitu mengumpulkan kebutuhan pelanggan.
2. Membangun prototyping -> Membuat rancangan sementara yang berfokus pada penyajian untuk pelanggan.
3. Evaluasi prototyping ->Prototyping yang sudah dibuat kemudian dievaluasi. Jika ada yang tak sesuai dengan keinginan pelanggan, maka prototyping dibuang dan dibuat ulang. Jika sudah sesuai berlanjut ke tahap sebelumnya.
4. Mengkodekan sistem -> prototyping yang sudah disetujui kemudian diterjemahkan ke dalam bahasa pemograman yang sesuai.
5. Menguji sistem -> Sistem software yang siap dipakai kemudian di tes. Pengujian dengan white box, black box, basis path, pengujian arsitektur dll.
6. Evaluasi sistem -> Sistem yang ada kemudian di evaluasi menurut keinginan pelanggan. Pada tahap ini jika pelanggan belum menyetujui software maka software masih bisa diubah. tetapi ketika pelanggan sudah menyetujui software, software tidak bisa diubah lagi (tidak dapat di maintenance)
7. Menggunakan sistem -> Pelanggan menggunakan sistem yang sudah disetujui.
Kelebihan Prototyping Model:
  • Sudah terstruktur
  • Komunikasi antara pengembang dan pelanggan baik
  • Menghemat waktu
  • Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang dia harapkan

Kekurangan Prototyping Model:
  • Software tidak cocok digunakan untuk waktu lama
  • Kurang fleksibel terhadap perubahan

INCREMENTAL MODEL
Pembuatan sofware dengan incremental model merupakan proses yang terpecah menjadi beberapa bagian. Model ini mengandalkan prioritas dan sistematika, jadi software yang paling penting dan yang paling berpengaruh pada software lain yang harus dikerjakan terlebih dahulu. Di umpakan seperti menjahit baju. pertama-tama yang harus dilakukan adalah menggambar pola, menggunting kain dan menjahitnya.  Menggunting kain tidak dapat dilakukan sebelum menggambar pola, dan baju tak dapat dijahit sebelum kainya digunting. Seperti itulah ilustrasi incremental model.




Kelebihan Incremental Model:
  • Personil bekerja optimal
  • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun.
  • Mengurangi trauma karena perubahan sistem.  Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
Kekurangan Incremental Model:
  • Ada kemungkinan tiap bagian tidak dapat diintegrasikan
  • Diperlukan kemampuan untuk selalu melakukan perubahan tanpa menurunkan kualitas
  • Memungkinkan penambahan staf

Merupakan gabungan prototyping dan waterfall model. Proses pembuatannya mulai dari customer communication, planning, risk analysis, engineering, construction & release, customer evaluation. Proses ini akan terus berulang demi pemenuhan kebutuhan pelanggan, walaupun perangkat lunak telah selesai


Kelebihan Model Spiral :
  • Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
  • Dapat digunakan dalam waktu sangat lama karena perubahan terus dilakukan
  • Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius
Kelemahan Model Spiral :
  • Sulit untuk mengontrol perubahan yang ingin dilakukan karena jangka panjang
  • Sulit meyakinkan pelanggan mengenai pendekatan evolusioner
  • Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yangserius jika resiko mayor tidak ditemukan dan diatur.
  • Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut.

Deskripsi 5 Model Proses Dalam Software Proses Model

1. Model Linear Sequential/WaterfallKelebihan model Linear Sequential/Waterfall :
·          Mudah diaplikasikan
·          Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
·          Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya

Kekurangan model Linear Sequential/Waterfall :
·          Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses
·          Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer
·          Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
·          Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk
·          Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya
2.Model PrototypingKelebihan model Prototyping :
·          Menghemat waktu pengembangan
·          Adanya komunikasi yang baik antara pengembang dan pelanggan
·          Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·          Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
·          User dapat berpartisipasi aktif dalam pengembangan sistem
Kekurangan model Prototyping :
·          Proses analisis dan perancangan terlalu singkat
·          Biasanya kurang fleksible dalam mengahadapi perubahan
·          Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
·          Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien
3. Model RAD (Rapid Application Development)Kelebihan model RAD :
·          Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
·          Cocok untuk proyek yang memerlukan waktu yang singkat
Kekurangan model RAD :
·          RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
·          Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
·          Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software
·          Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
·          Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer
4. Model Increment
Kelebihan model Increment :
·          Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
·          Mampu mengakomodasi perubahan kebutuhan customer
Kekurangan model Increment :
·          Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
·          Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
·          Hanya cocok untuk proyek dengan skala kecil
5. Model SpiralKelebihan model Spiral :
·          Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·          Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kekurangan model Spiral :
·          Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
·          Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
·          Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru

Extreme Programming & RUP


Extreme Programming






Extreme Programming merupakansuatupengerjaanperangkatlunaksecaracepat. Metodeinisangatcocokuntukproyekperangkatlunak yang membutuhkanwaktulebihinstandalampengembangannya.
Kelebihandari Agile Development: Extreme Programming adalah :
1. Hasilbisadidapatdalamwaktu yang sangatcepat
2. Bekerjalebihbaikdalamprojekdengantidakadaperubahan yang taktentu
3. Meningkatkanrasiokepuasanpelanggan
4. Bisamelakukan review pelangganmengenai software yang dibuatlebihawal
5. Mengurangiresikokegagalanimplementasi software darisegi non-teknis
6. Besarkerugianbaiksecara material atauimaterialtidakterlalubesarjikaterjadikegagalan
Kekurangandari Extreme Programming adalah :
1. Membutuhkankedisiplinantinggi
2. Tepathanyajikadilakukan di projekkecil
3. Membutuhkanlebihbanyakinputandaripengguna
4. Total lama pengembanganmenjadilebih lama
5. Meningkatkanresikokesalahanteknis
6. Proses pengembanganmenjadiagakkurangterorganisir


Rational Unified Process




Rational Unified Process adalahsalahsatu proses perekayasaanperangkatlunak yang mencakupkeseluruhansiklushiduppengembanganperangkatlunakdenganmengumpulkanberbagailatihanterbaik yang terdapatdalampengembaganperangkatlunak. Rational Unified Processinimenyediakancarapendekatanuntukmembagitugasdantanggungjawabkekelompokatauorganisasi yang akanmenanganipengembanganperangkatlunak. Tujuannyaadalahmemastikanmenghasilkansuatuperangkatlunak yang berkualitastinggidansesuaidengankebutuhanpengguna/bohirsertatepatdihasilkanpadajadwaldanbiaya yang telahdisepakati. Rational Unified Process merupakansuatuproduk proses yang membawasangatbanyakpengetahuan, selaluterbaru, dandalamwujud “e-coach” ataupelatihelektronok. Rational Unified Processinididasarkanpadasuatuarsitektur proses padat, danitumengizinkansuatuorganisasipengembanganuntukmengatursesuaidengankebutuhannya. Rational Unified Process menangkapbanyakdarilatihanterbaik di pengembanganperangkatlunakpadabentuk yang cocokuntuksuatucakupanluasdariproyekdanorganisasi.
Khususnyaenamlatihanterbaikdibawahini :
  • Kembangkanperangkatlunak yang iteraktif
  • Aturkebutuhan
  • Gunakanarsitektur component-based
  • Modelkanperangkatlunaksecara visual
  • Verifikasikankualitasperangkatkerassecaraterusmenerus.
  • Kontrolperubahan yang terjadipadaperangkatlunak.


Kamis, 25 April 2013

Kelebihan dan Kekurangan Software Proses Model


1. Model Linear Sequential/WaterfallKelebihan model Linear Sequential/Waterfall :
·          Mudah diaplikasikan
·          Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
·          Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya

Kekurangan model Linear Sequential/Waterfall :
·          Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses
·          Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer
·          Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
·          Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk
·          Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya
2.Model PrototypingKelebihan model Prototyping :
·          Menghemat waktu pengembangan
·          Adanya komunikasi yang baik antara pengembang dan pelanggan
·          Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·          Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
·          User dapat berpartisipasi aktif dalam pengembangan sistem
Kekurangan model Prototyping :
·          Proses analisis dan perancangan terlalu singkat
·          Biasanya kurang fleksible dalam mengahadapi perubahan
·          Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
·          Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien
3. Model RAD (Rapid Application Development)Kelebihan model RAD :
·          Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
·          Cocok untuk proyek yang memerlukan waktu yang singkat
Kekurangan model RAD :
·          RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
·          Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
·          Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software
·          Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
·          Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer
4. Model Increment
Kelebihan model Increment :
·          Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
·          Mampu mengakomodasi perubahan kebutuhan customer
Kekurangan model Increment :
·          Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
·          Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
·          Hanya cocok untuk proyek dengan skala kecil
5. Model SpiralKelebihan model Spiral :
·          Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·          Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kekurangan model Spiral :
·          Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
·          Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
·          Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru