"Mahasiswa Tingkat Akhir" gelar itulah yang sekarang sedang saya sandang. Hooaaammm,,, tidak terasa 3 tahun lebih sudah saya menimba ilmu di kampus Teknik Informatika - ITS ini. Hal itu berarti hampir semua mata kuliah wajib disini telah saya jalani (atau bahkan semuanya ya..?? heheee). Ok, 2 Semester lalu, yaitu ketika semester 5, saya dituntut untuk menentukan pilhan terhadap bidang minat apa yang akan diambil untuk beberapa semester kedepan. Di jurusan Teknik Informatika - ITS ini terdapat tiga biji, bidang minat yang bisa diambil oleh mahasiswa semester atas. Untuk penjelasan tentang bidang minat apa saja itu, bisa dibaca disini. Mungkin berbeda dengan beberapa teman yang sedikit kebingungan untuk menentukan pilhan bidang minat, saya justru sejak semester 1 sudah memantabkan niat untuk mengambil bidang minat yang dinamakan RPL (Rekayasa Perangkat Lunak a.k.a Software Engineering).
Entah kenapa, saya tertarik dengan ilmu ilmu yang diajarkan di bidang minat ini. Selain itu mungkin saya terpengaruh dan menjadi penasaran dengan gosip gosip miring tentang bidang minat RPL dari beberapa senior, gosip gosip tersebut diantara lain adalah : "Bidang minat RPL itu susahnya ga ketulungan" , "Bidang minat RPL itu lulusnya paling sulit diantara yang lain", "Lab RPL itu adalah lab paling horor diantara lab lain, sehingga disebut KUBURAN". Yap memang kadang gosip gosip itu terasa ada benarnya, tapi banyak juga salahnya ^_^.
Dalam cerita kali ini saya tidak bermaksud untuk sekedar menggosipkan RPL, akan tetapi juga mengulas tentang RPL yang berada di Teknik Informatika ITS ini. Ok, sebelumnya untuk yang belum mengerti apa itu RPL, silahkan dibaca dahulu disini.
Langsung saja to the point, dalam bidang minat RPL-ITS terdapat beberapa mata kuliah yang bisa diambil, yaitu sebagai berikut :
- Evolusi Perangkat Lunak (EPL)
- Verifikasi & Validasi Perangkat Lunak (VVPL)
- Audit Perangkat Lunak (APL)
- Pola dan Arsitektur Perangkat Lunak (PAPL)
- Manajemen Proyek Perangkat Lunak (MPPL)
- Topik Khusus Perangkat Lunak (TKRPL)
- Game Development (GameDev)
- Realitas Virtual (RV)
- Animasi Komputer (AniKom)
- Pemrograman Perangkat Mobile (Mobile)
Ok, yang menarik disini adalah adanya chain of multiple knowledge, yaitu keterkaitan ilmu dari beberapa mata kuliah (terutama yang berakhiran *PL) dengan suatu siklus besar dalam software development process. Apa itu software development process...??? merupakan suatu siklus besar dalam pengembangan aplikasi, dimana didalamnya terdapat beberapa mahzab ternama seperti Waterfall, Spiral, Agile dll.
Dari beberapa mahzab yang ada tersebut, sebenarnya mengacu terhadap beberapa fase yang sama, hanya saja teknik menata fase fase tersebutlah yang berbeda.
Nah, beberapa fase utama dalam software development process adalah sebagai berikut :
- Analysis Phase
- Design Phase
- Building Phase
- Testing Phase
- Implementation Phase
- Maintenance Phase
Mulai dari yang pertama yaitu Analysis Phase.
Dalam fase ini, kita dituntut untuk bisa melakukan analisi terhadap kebutuhan dari perangkat lunak yang akan dikembangkan. Mulai dari kebutuhan user, kebutuhan sistem dan juga berbagai macam kebutuhan lainnya. Kita dituntut untuk bisa mendetailkan dan menjelaskan seluruh kebutuhan tersebut secara rinci sehingga perangkat lunak yang nantinya dihasilkan bisa tepat guna. Jika pada jurusan Teknik Informatika - ITS, mata kuliah yang memiliki keterkaitan erat dengan ini adalah Analisa dan Perancangan Sistem (APS). Yang mungkin merupakan rangkuman dari mata kuliah Object Oriented Analysis & Design hingga Services Oriented Analysis & Design jika di standart IEEE. Mata kuliah ini memang bukan mata kuliah khusus RPL seperti yang saya sebutkan diatas, akan tetapi merupakan matakuliah wajib yang semua mahasiswa teknik informatika harus mengambilnya. Dan saya juga tidak mengetahui alasannya kenapa tidak dimasukan dalam mata kuliah RPL.
Fase kedua adalah Design Phase
Fase ini merupakan fase lanjutan dari fase pertama. Setelah para analis menyelesaikan pekerjaan mereka yang berupa dokumen SKPL (Spesifikasi Kebutuhan Perangkat Lunak) . Maka para software designer akan membuat rancangan sistem dari dokumen tersebut. Mereka akan membuat spesifikasi detail tentang bagaimana memenuhi kebutuhan kebutuhan yang ada dalam SKPL. Mulai dari bagaimana databasenya, bagaimana class diagramnya, bagaimana arsitekturnya bahkan bagaimana pola yang bisa diterapkan dalam sistem yang akan dibangun. Gampang dong..??? cuma ngrancang doang..??? ga ikut membangun...???. Ups, tunggu dulu, untuk membangun sebuah gedung saja, pekerjaan arsitektur bukanlah pekerjaan yang main main. Dia bertanggung jawab penuh terhadap bagaimana rancangannya tersebut. Jika bisa diibaratkan, Arsitek dalam software development adalah Software Designer dan kuli bangunan dalam software development adalah Programmer. Yang lebih ekstrim, ada orang yang mengatakan bahwa 60% waktu yang dihabiskan dalam software development adalah dalam fase designing. Nah untuk fase yang satu ini, mata kuliah yang mendukung sebenarnya juga APS, akan tetapi skill software designing & architecturing juga lebih dimatangkan dalam mata kuliah Pola dan Arsitektur Perangkat Lunak (PAPL).Sebenarnya tanpa ilmu dari mata kuliah PAPL pun kita bisa menjadi software designer. Tapi yang ditakutkan nanti adalah design yang kita buat akan sangat cocok jika ditaruh di.................................................tempat sampah. Hahahaa bercanda bercanda =)). Tapi memang benar, dalam mata kuliah PAPL, kita dibekali berbabagai startegi untuk menrancang sistem sedemikan hingga, memiliki tingat reliabilitas, fleksibilitas, maintenanbilitas yang tinggi.
Fase ketiga adalah dan biasanya dianggap yang terpenting adalah Building Phase
Tidak perlu dijelaskan lebih detail, pasti teman teman sekaliann sudah mengerti apa yang harus dilakukan di building phase ini,. Yap betul sekali, tidak lain dan tidak bukan adalah CODING. Di fase ini kita dituntut untuk bisa mengimplementasikan dalam bentuk program dari dokumen perancangan yang dihasilaka oleh designer tadi, atau yang biasa disebut Dokumen Perancangan Perangkat Lunak (DPPL). Mau tidak mau, kita harus mengakui bahwa masih banyak software developer dan yang mengaku software developer di Indonesia yang hanya mementingkan fase ini. Di jurusan teknik informatika saja, ada banyak sekali mata kuliah yang diperuntukan menunjang skill di fase ini. Sebutlah saja dari segi programming skill mulai dari, Pemrograman Tersetruktur (PT), Pemrograman Berorientasi Object (PBO), Pemrograman Berbasis Web, (PBW), Pemrograman Berbasis Framework (Java & .Net) hingga Pemrograman Perangkat Mobile. Selain itu dari segi Algorithm Strategy tidak kalah banyak, sebagai contoh mulai dari, Algortima & Struktur Data (ASD), Matematika Diskrit (MatDis), Perancangan & Analisis Algorima (PAA) dan juga Perancangan & Analisi Algoritma Lanjut (PAAL).
Fase keempat adalah Testing Phase
Nah dari istilahnya kita sudah tahu, bahwa hal yang kita lakukan dalam fase ini "CUMA" testing. Ehh tunggu dulu, kata "CUMA" sepertinya juga tidak bisa diterapkan dalam fase ini, karena bagaimanapun juga juga terjadi kegagalan dalam aplikasi ketika telah berada ditangan end user, yang akan di'jitak' duluan adalah testernya. Bagaimana dia bisa luput untuk meneliti kesalahan aplikasi. Mata kuliah yang menunjang fase ini adalah Verifikasi dan Validasi Perangkat Lunak (VVPL).
Fase kelima adalah Implementation Phase
Apa sih sebenarnya implementation phase itu..??? penting ya...??? . Pertama implementation phase itu adalah fase dimana kita mengimplementasikan sistem atau software yang kita buat tadi kepada enviroment yang dimiliki oleh klien. Dimana dalam hal ini, sistem yang kita buat juga harus bisa berjalan sama bagusnya ketika berjalan di enviroment development kita. Penting ya....??? kan tinggal buat how-to-install, dikasihkan klien beres dah. Untuk sekedar pengetahuan saja, bahwa untuk implementasi sistem yang sekelas SAP, kita harus merogoh kocek sebesar 2-3 Miliyar. Perlu digaris bawahi, uang segitu bukan untuk pemembelian sistemnya, akan tetapi untuk proses INSTALASI dari sistem. Sekarang silahkan dijawab sendiri penting tidaknya. Yang sayangnya, sekarang ini belum ada mata kuliah di jurusan Teknik Informatiaka ITS yang secara langsung menunjang fase ini.
Fase keenam atau yang terakhir adalah Maintenance Phase
Fase ini memikirkan tentang bagaimana perawatan sistem, pengembangan sistem dan berbagai hal yang terkait. Dalam fase ini kita dituntut untuk bisa menjaga sistem agar bisa memenuhi kebutuhan pengguna dan juga bagaimana mengembangkan sistem agar bisa mengikuti perkembangan kebutuhan pengguna. Mata kuliah yang menunjang fase ini adalah Evolusi Perangkat Lunak (EPL)
Selain dari dalam proses tiap fase , ada juga mata kuliah bidang minat RPL yang menunjang software development dari luar. Yang pertama adalah Audit Perangkat Lunak (APL), dalam mata kuliah ini kita akan mendapat ilmu bagaimana mengawasi tiap proses apakah telah sesuai dengan standart yang ada atau tidak. Yang kedua adalah Manajemen Proyek Perangkat Lunak (MPPL), disini kita akan diajarkan bagaimana mengatur keseluruhan dari software development project, bukan hanya dari fase fase diatas, akan tetapi juga dari semua hal yang terkait. Seperti bagaimana kita memitigasi juga ada resiko proyek yang ada, bagaimana kita melakukan penempatan SDM, bagaimana kita melakukan perkiraan tentang timeline dari project dan bahkan juga tentang bagaimana kita memberikan harga dari sebuah proyek perangkat lunak.
Nah bidang minat RPL juga memiliki mata kuliah yang berguna untuk membahas isu isu terhangat seputar dunia software engineering dari dalam maupun luar negeri, mata kuliah tersebut adalah Topik Khusus Rekayasa Perangkat Lunak (TKRPL).
Untuk sisa beberapa mata kuliah RPL yang tidak saya tulis penjelasannya, jujur saya masih ragu sampai sekarang apakah mata kuliah tersebut seharunya berada dalam scope RPL. ^_^V
Nah demikianlah informasi yang bisa saya berikan tentang bidang minat RPL. Semoga bisa bermanfaat untuk teman teman sekalian.
Nah demikianlah informasi yang bisa saya berikan tentang bidang minat RPL. Semoga bisa bermanfaat untuk teman teman sekalian.


0 komentar:
Poskan Komentar