Jumat, 08 November 2013

Refleksi: Rekayasa Perangkat Lunak

Kali ini saya akan membahas mengenai pelajaran rekayasa perangkat lunak... 
Pertama kali saya mengikuti pelajaran ini, saya merasa takut karena saya sama sekali tidak mengerti mengenai perangkat lunak. Pertama kali yang saya pikir tentang perangkat lunak yaitu sesuatu yang akan sangat rumit jika dikerjakan. Seperti rumitnya algoritma dan banyaknya alat yang digunakan untuk merakit sebuah perangkat lunak.  Tetapi waktu hari pertama mengikuti pelajaran ini saya merasa bisa mengikutinya dengan baik. Karena dosen yang mengajarkan pelajaran ini, yaitu pak sofyan menjelaskan tentang perangkat lunak yang tidak terlalu rumit seperti yang saya banyangkan. Karena untuk membuat sebuah perangkat lunak memiliki tahapan-tahapan dan ada beberapa tahapan tersebut yang telah saya dapatkan sewaktu mengikuti pelajaran semester lalu.


Pak sofyan juga mengajarkan supaya mahasiswanya bisa menjadi kreatif dan mampu bekerja sama dengan yang lain. Dengan banyaknya tugas yang diberikan saya dituntut agar mampu menyelesaikan tugas tersebut sesuai dengan yang diinginkan dan tepat waktu.  Tugas yang diberikan itu membantu saya menganalisis sebuah masalah karena banyaknya informasi yang saya dapatkan sewaktu menyelesaikan tugas tersebut. Saya juga diajarkan agar mampu bekerja secara berkelompok. Karena walaupun saya bisa menyelesaikan sebuah tugas dengan baik tapi saya tidak mampu bekerja secara berkelompok, maka saya akan mendapat kesulitan jika berada dalam sebuah tim.

Minggu, 03 November 2013

Metode prototyping

Pada kesempatan kali ini, saya akan membahas mengenai metode prototyping mulai dari tahapan-tahapan sampai kelebihan dan kelemahan metode ini.
            Metode prototyping adalah proses pembuatan perangkat lunak yang sederhana. Dimana selama proses pembuatannya melibatkan user. Adanya interaksi antara user dengan pengembang selama pembuatan perangkat lunak dapat membantu pengembang dalam mendeskripsikan perangkat lunak yang dibutuhkan. Interaksi ini mendeskripsikan tujuan dari penggunaan perangkat lunak tersebut.
Metode prototyping ini memiliki tahapan-tahapan agar perangkat lunak dapat digunakan oleh user. Pertama-tama, user datang ke pengembang perangkat lunak dan mendeskripsikan perangkat lunak yang diinginkan, serta mengidentifikasi kebutuhan-kebutuhan yang dibutuhkan secara terperinci. Setelah perangkat lunak dideskripsikan maka pengembang perangkat lunak akan mulai memikirkan rancangan-rancangan yang akan dibuat. Rancangan itu berupa metode input dan metode outputnya, serta komponen-komponen yang lain.
            Evaluasi dilakukan oleh user setelah rancangan perangkat lunak sudah selesai. Dalam hal ini rancangan tersebut masih berupa sketsa. Jika user merasa perangkat lunak tersebut tidak sesuai dengan keinginannya, maka rancangan tersebut akan diulang dari awal. Jika rancangan tersebut sudah sesuai maka akan dilanjutkan ke tahap berikutnya. Rancangan  yang sudah dibuat kemudian dilanjutkan oleh pembuat perangkat lunak yang menterjemahkan ke dalam bahasa pemrograman sehingga menjadi perangkat lunak yang bisa digunakan. Perangkat lunak yang sudah selesai diterjemahkan diuji kembali sebelum digunakan. Pengujian dilakukan kembali oleh user untuk mengetahui apakah perangkat lunak tersebut sudah sesuai dengan keinginan. Jika belum sesuai, maka penerjemahan kembali dilakukan. Tetapi, jika sudah sesuai dengan keinginan user maka perangkat lunak siap untuk digunakan.

            Dengan menggunakan metode prototyping ini maka dapat membangun hubungan yang baik karena adanya komunikasi antara user dan pengembang perangkat lunak. User juga dapat berperan aktif dalam proses pembuatan perangkat lunak.  Pengembang juga bisa lebih cermat dalam merancang suatu perangkat lunak yang sesuai dengan kebutuhan user. Dengan begitu user dapat menerapkan dengan lebih mudah. Terkadang perangkat lunak yang sudah selesai dibuat tidak memiliki kualitas yang baik. Karena proses pengerjaan yang dilakukan mengikuti permintaan dari user yang menginginkan hasilnya selesai tepat waktu. Oleh karena itu, penyelesaian perangkat lunak biasanya menggunakan bahasa pemograman yang sederhana sehingga hasilnya menjadi perangkat lunak yang sederhana.

Perbedaan metode prototyping dengan metode spiral

Prototyping dan spiral???
           
           Kedua metode ini jelas sangat berbeda. Walaupun metode ini memiliki cara kerja yang hampir sama, namun masih bisa ditemukan perbedaan diantara keduanya.

            Perbedaan tersebut sangat jelas terlihat pada proses kerjanya. Pada metode spiral, proses pengerjaan yang dilakukan berdasarkan pembagian tugas yang dikerjakan secara berkelompok dan menggunakan prototype. Penjelasan yang diberikan user mengenai kebutuhan perangkat lunak yang diinginkan kemudian dibagi menjadi beberapa tahapan berdasarkan tugas masing-masing kelompok. Pembagian tahapan yang dilakukan tidak bisa sembarangan sebab dapat menganggu proses tahapan yang lain. Jadi, sewaktu membagi tahapan-tahapannya dibutuhkan banyak pertimbangan. Kemudian perangkat lunak mulai dikerjakan dan diselesaikan supaya user mencoba perangkat lunak yang telah dibuat. Metode ini juga lebih cocok digunakan untuk pembuatan perangkat lunak yang kompleks.

Sedangkan pada metode prototyping, proses pengerjaan yang dilakukan hanya bergantung pada satu orang saja yaitu pada pembuat perangkat lunak. Dengan adanya penjelasan kebutuhan yang diinginkan user, maka pembuat perangkat lunak mudah untuk membuat perangkat lunak itu. Proses yang terjadi dapat terus berulang jika perangkat lunak yang sudah selesai dibuat tidak sesuai dengan keinginan user. Proses ini bisa berhenti berulang apabila terjadi kesepakatan antara user dengan pembuat perangkat lunak.

            Perbedaan terlihat juga pada interaksi antara pengembang perangkat lunak dengan user. Pada metode spiral, hubungan interaksi yang terjadi antara pengembang dengan user sedikit sulit. Hal ini dikarenakan user kurang percaya pada hasil yang ditunjukkan pengembang. Karena pengembang hanya memperlihatkan hasilnya saat perangkat lunak itu sudah selesai. Sedangkan pada metode prototyping hubungan interaksi yang terjadi antara user dengan pengembang berjalan dengan baik. Sewaktu pengembang selesai membuat rancangan perangkat lunak maka si pengembang akan memperlihatkan ke user, sehingga user dapat mengemukakan pendapatnya selama proses pembuatan perangkat lunak. Jadi, user merasa puas dengan hasil yang ditunjukkan oleh pengembang.


            Dari kedua perbedaan di atas kita sudah dapat melihat walaupun didalam metode spiral menggunakan prototype tapi metode spiral berbeda dengan metode prototyping.