Jumat, 08 November 2013

REFLEKSI: belajar RPL with Pak Sofian


Bapak Sofian Thayf, itulah dosen RPL saya. Ada-ada aja idenya dalam mengajar mahasiswanya. Beliau menugaskan mahasiswanya untuk membuat blog, lalu menuliskan semua tentang tugas-tugas RPL dengan menggunakan pikiran kami sendiri, bukan dengan mengcopy-paste materi-materi dari internet. Ini membuat kita harus mengasah otak kita untuk mengungkapkan pendapat sendiri coyy !

Sejak awal pertemuan, Pak Sofian sudah menunjukkan sikap mengajar yang santai tapi serius dan tidak monoton seperti dosen-dosen lainnya.

Kenapa saya berkata dosen-dosen lainnya monoton? Bayangkan saja, selama belajar cuma memperhatikan dan mencatat isi slide yang kadang membuat mengantuk atau mencatat terburu-buru, karena kita belum selesai mencatat, ehh..slidenya udah di ganti ==". Tapi di lain sisi, saya terkadang menyukai model pembelajaran seperti ini, karena membuat saya disibukkan dengan mencatat, sehingga tidak membuat pikiran melayang kemana-mana ˆˆћαћαћα

Pak Sofian mengajak kami untuk tidak hanya menerima inputan materi tetapi kita juga harus menghasilkan output, alias aktif dalam pembelajaran.

Pertama kalinya, saya kira di mata kuliah ini harus merancang atau merekayasa perangkat lunak (sesuai dengan judul matkulnya gituu) tetapi ternyata saat ini kami hanya belajar dasar-dasarnya dulu, nanti di semester berikutnya baru muncul dehh yang susah-susahnya ==".

Pada awal pertemuan, kami di tugaskan untuk menghayalkan software apa yang ingin di buat. Selanjutnya, ia menunjuk kami untuk mempresentasikannya.

Pertemuan selanjutnya, kami membuat kelompok dan bertugas untuk mempresentasikan dan mendiskusikan model-model rekayasa perangkat lunak, yaitu Waterfall Model, Prototyping Model, Rapid Application Development, Incremental Model, dan Spiral Model.
Cara presentasinya cukup menarik. Kami menggambar model kami dalam bentuk mind map atau apa saja terserah kreasi kami untuk dipamerkan di kelas. Model yang kelompok saya presentasikan itu adalah Model Incremental. Beliau membuat kita harus mengeluarkan pendapat-pendapat sendiri untuk bahan-bahan presentasinya, gak boleh tinggal mengcopy-paste dari buku atau dari internet !

Well..Berikut hasil kreasi kelompok kami:



Perbandingan Incremental Model Dengan Spiral Model




Pada postingan sebelumnya saya telah membahas tentang Model Increment. Dan, tugas saya selanjutnya adalah membahas mengenai perbedaan Model Increment dengan model lainnya. Saya memilih Spiral Model.

Saya ingin menyinggung sedikit tentang Model Increment, untuk merefreshkan kembali ingatan anda tentang Incremental ;) .

 Model Incremental merupakan model yang cara pengerjaan softwarenya di bagi menjadi bagian-bagian kecil. Bagian-bagian itu kemudian diberikan ke tim-tim untuk dikerjakan. Jika sudah selesai maka semua disatukan menjadi software yang utuh, dan kemudian diberikan ke pengguna untuk dipakai. Jika masih ada fitur-fitur atau tambahan yang diiginkan konsumen, maka pembuat software akan melakukan penambahan fitur-fitur lagi terhadap software. (Untuk lebih jelas, baca postingan sebelumnya : INCREMENTAL MODEL).

Dan selanjutnya saya ingin menyinggung Spiral Model.. Ini diaa » Spiral model merupakan gabungan antara model prototyping dan model waterfall. Spiral model menekankan proses pengerjaan secara bertahap dan berurutan.

Tahapan-tahapan dalam spiral model :
·                Customer communication. Proses komunikasi antara pengguna dengan pengembang software. Pengguna mengungkapkan apa-apa saja kebutuhan dan fitur yang  diinginkan pada perangkat lunaknya nanti. 
·                Planning. Merupakan proses membahas dan menentukan perkiraan waktu pengerjaan software dan informasi-informasi lain yang dibutuhkan untuk mengembangkan software.
·                Analysis risk. Di tahap ini,pengembang software melakukan analisis tentang kemungkinan munculnya resiko saat mengerjakan software.
·                Engineering. Disinilah mulai melakukan pembuatan software.
·                Construction & Release. Merupakan proses testing software yang dilakukan pengembang dan pengguna. Disini pengembang dapat mengenalkan tentang cara pengoperasian software kepada pengguna.
·                Customer evaluation. Setelah mencoba software, pengguna dapat memberikan masukan /feedback tentang software yang sudah dibuat.

Jika pada incremental model yang perangkat lunak yang di kerjakan cocoknya berskala kecil, serta waktu pengerjaan software cepat, lain halnya dengan Spiral Model yang dapat mengerjakan software berskala besar dan umumnya pengerjaan memakan waktu yang lama. Selain itu, pada spiral model perangkat lunaknya bisa terus dipakai dan dapat dikembangkan.

Mungkin hanya ini yang bisa saya ungkapkan tentang perbedaan incremental dan spiral model dari segi tahapan dan kelebihan. Jika ada kritik,saran,atau tambahan silahkan diungkapkan.


INCREMENTAL MODEL

Incremental Model…hmm sebenarnya sampai saat ini saya belum ngerti-ngerti amat sih dengan model ini. Tetapi setelah membaca buku, referensi dari internet, serta melakukan diskusi dengan teman kelompok ( berhubung sebelumnya kelompok saya ditugaskan untuk membahas tentang incremental model ). Akhirnya, saya sudah bisa mengerti sedikit-demi sedikit (biarlah, daripada gak ada sama sekali hahaha) tentang model ini. Berikut adalah model incremental :

Incremental model merupakan model yang cara pengerjaan softwarenya di bagi menjadi bagian-bagian kecil. Bagian-bagian itu kemudian diberikan ke tim-tim untuk dikerjakan. Jika sudah selesai maka semua disatukan menjadi software yang utuh, dan kemudian diberikan ke pengguna untuk dipakai. Jika masih ada fitur-fitur atau tambahan yang diiginkan pengguna, maka si pembuat software akan melakukan penambahan fitur-fitur lagi terhadap software. Sehingga,  menghasilkan versi software diatas dari software sebelumnya.

Ada 5 tahapan dalam Incremental Model yang harus dilakukan secara berurutan :
·                Requirement. Merupakan tahapan awal yaitu dimana calon pengguna datang ke pembuat software. Pengguna kemudian menjelaskan apa-apa saja yang diinginkan, seperti kebutuhan terhadap software, fitur-fitur yang diinginkan dan sebagainya.
·                Specification. Dari analisis sistem yang dilakukan di tahap requirement,  akan diketahui spesifikasi dari sistem tersebut.
·                Architecture Design. Adalah tahapan perancangan software yang dilakukan semua tim agar dapat ditentukan bagian-bagian sistem yang harus dibangun oleh setiap tim.
·                Code. Jika sudah menentukan desainnya, selanjutnya adalah tahapan pengkodean (coding).
·                Test. Setelah pengkodean selesai, maka selanjutnya memasuki tahapan terakhir yaitu pengetesan software sebelum diberikan ke pengguna untuk dipakai.

Model ini cocok untuk pembuatan software berskala kecil, apalagi jika calon pengguna sudah mengetahui dan memaparkan secara jelas kebutuhan yang diperlukan, serta pembuat software juga dapat memahami kemauan konsumen. Apabila proyeknya berskala besar dan konsumen juga tidak memaparkan dengan jelas fitur atau kebutuhannya, maka engineer akan kesulitan membuat software sesuai yang diinginkan konsumen.


Sekian materi incremental model dari saya. Jika ada kesalahan mohon maaf dan juga saya mengharapkan kritik dan tambahan supaya materi ini dapat lebih baik lagi. Τhank u all \(^o^)/