Saturday, October 6, 2012

Rekayasa Perangkat Lunak (Software)


Jika pada hari Senin lalu saya menulis refleksi blog tentang Analisis Sistem Informasi, kali ini saya akan membahas tentang mata kuliah Rekayasa Perangkat Lunak (RPL) dan dalam bahasa Inggris disebut Software Engineering.

Pada hari Jumat, 5 Oktober 2012 tepatnya jam 02.00 siang, saya belajar tentang Rekayasa Perangkat Lunak (RPL) yang membahas mengenai “Software”. Seperti halnya pada mata kuliah ASI, dosen yang mengajar mata kuliah ini juga adalah Pak Sofyan :D

Sebenarnya, ini adalah pertemuan yang ke-3 untuk mata kuliah RPL, namun karena minggu pertama hanya perkenalan dan minggu keduanya para dosen sedang rapat, sehingga kali ini merupakan pertemuan pertama kami untuk belajar tentang RPL.

Pokok-pokok bahasan pada pertemuan kali ini yaitu membahas tentang :
  • Definisi Software
  • Karakteristik Software
  • Macam-macam sistem software (Software Application)
  • Waterfall Model
Saat pertama kali ditanya tentang “Apa itu Software?” Yang terlintas dibenak banyak orang pasti adalah perangkat lunak. Tetapi, jelas itu bukan jawaban dari pertanyaan yang diberikan. Pada awalnya, menurut saya, software adalah sebuah program / aplikasi dalam komputer untuk mengolah data. Tentu saja pengertian tersebut belum tepat untuk mendefinisikan arti software yang sebenarnya.

Akhirnya, Pak Sofyan pun menjelaskan pengertian software secara lebih detail.
Software itu ternyata tidak terbatas hanya pada program maupun aplikasi saja, tetapi Software merupakan kumpulan item atau objek yang membentuk “konfigurasi” yang terdiri dari :
  • Program
  • Data
  • Dokumen
Penjelasannya yaitu sebagai berikut :
·         Data merupakan inputan untuk program dan prosedur menggunakan program, sehingga data juga merupakan software.
·         Dalam dokumen akan ada petunjuk tentang bagaimana program itu digunakan, bagaimana data disimpan, dan bagaimana hasilnya.
Sedangkan isi dokumen lebih kepada prosedur / tata laksana.

Setelah itu, kami juga dijelaskan mengenai karakteeristik software, yaitu :
- Software is engineered
Software tidak diproduksi secara massal dan untuk membuat software, harus melakukan pengukuran (engineered) sesuai dengan kebutuhan.
- Software doesn't wear out
Software tidak lapuk dan dapat dibuat untuk jangka waktu yang panjang.
- Software is like an aging factory 
Software seperti pabrik yang menua, kusam / tidak sesuai lagi, maksudnya tersebut dapat terjadi jika ada perubahan data, misalnya : peningkatan produksi.
- Software is complex
Software adalah sesuatu yang kompleks, karena banyak hal yang harus diperhatikan untuk membuat / mendesign suatu software.
- Software is a "differentiator"
Software adalah "pembeda". Keunggulan-keunggulan yang membedakan setiap software yang satu dengan software yang lainnya menjadi ciri istimewa dari seorang pebisnis.

Berikut ini merupakan kurva jangka waktu penggunaan software :
Suatu software yang telah selesai dirancang dapat dikatakan stabil apabila telah digunakan dan diperbaiki kesalahan-kesalahannya yang ditemukan pada saat penggunaan.
Tetapi jangka waktunya pun tidak akan terlalu lama karena adanya beberapa factor yang mempengaruhi, misalnya : perubahan / peningkatan data dalam perusahaan, dan software yang digunakan sudah tidak sesuai lagi sehingga memungkinkan suatu perusahaan mengganti software yang lama dengan yang baru. Oleh karena itu, software harus dibuat dalam jangka waktu yang panjang tapi harus siap di upgrade.

Macam-macam sistem software (Software Application) :
·     - System Software
Software yang fungsi / kegunaannya untuk melayani software yang lain.
Contoh : Anti Virus, Windows (menata jalannya Software / mengatur susunan jalannya software), WinRAR dan WinZIP (mengkompresi software lain).

·      - Real-time Software
Software yang melakukan pengolahan data pada waktu yang real dan hasilnya langsung dirasakan pada waktu itu juga.
Contoh : Chatting, Mesin ATM, MSN, dll.

·      - Business Software
Software yang digunakan untuk keperluan bisnis.
Contoh : CRM, ERP, dll.

·      - Engineering / Scientific Software
Software yang digunakan untuk keperluan teknis , masalah pengukuran , atau sains. 

·     - Embedded Software
Software yang dimasukkan ke dalam perangkat keras.
Contoh : AC, Jam Tangan, dll. 

·     PC Software
Software yang digunakan untuk keperluan personal komputer.
Contoh : Corel Draw, Microsoft Office, Windows Media Player, dll.  

·      - AI Software
Software yang digunakan untuk memprediksi sesuatu dan banyak ditemukan pada game / aplikasi kecerdasan buatan.

·      - Web Application
Suatu aplikasi komputer yang menggunakan internet / berbasis web.
Contoh : Klik BCA, dll.

Adapun dalam software process, hal-hal yang perlu diketahui, yaitu :
·         Bagaimana cara menjamin kualitas yang dihasilkan, bagaimana menjawab peningkatan kebutuhan, dan masih banyak lagi. Materi ini akan dibahas lebih lanjut pada pertemuan berikutnya ;)

Games~ (з´`ε)
Setelah membahas semua itu, Pak Sofyan mengajak kami untuk melakukan permainan, tetapi syarat permainannya yaitu tidak boleh diperlihatkan dan diberitahu kepada siapapun (hanya diri sendiri yang tahu).

Pertama, Pak Sofyan meminta kami menyediakan selembar kertas kemudian beliau mengeluarkan potongan-potongan kertas kecil yang tidak kami tahu apa isi dari kertas-kertas tersebut. Lalu kami disuruh mengambil potongan kertas kecil yang di dalamnya ada nama 2 material, dimana kami diminta untuk membayangkan suatu objek yang dapat dibuat dari material tersebut (menjadi bahan utamanya) dan kami disuruh untuk menuliskan NIM dan Judul Projek kami masing-masing pada selembar kertas yang telah kami sediakan. Kami diberi waktu 10 menit untuk menulis judul projek, setelah itu kami juga diminta untuk menuliskan tujuan kami membuat projek tersebut di halaman belakang kertas kami dan sesuai persyaratan tadi, semuanya hanya boleh diketahui diri sendiri.

Setelah semuanya selesai, kami dibagi secara kelompok, 1 kelompok terdiri dari 2 orang dan tidak boleh memilih orang yang tepat disamping kiri / kanan. Kami diperintahkan untuk saling bertanya dan menebak nama material utama serta objek apa yang dibuat oleh teman sekelompok kami. Waktu yang diberikan untuk seksi tanya jawab ini adalah 20 menit. Clue yang diberikan adalah dengan memberitahukan tujuan pembuatan projek kami masing-masing dan setiap pertanyaan yang diajukan oleh teman sekelompok harus dicatat di kertas kami (orang yang ditanya) agar dapat dijadikan sebagai dokumentasi (bukti). Selain itu, jawaban untuk setiap pertanyaan teman hanya boleh di jawab dengan jawaban Ya atau Tidak ! K
Akhirnya, waktu yang diberikan pun habis. Ada kelompok yang berhasil menebak dan ada juga yang tidak berhasil menebak semuanya dengan tepat
Menurut saya, kelompok yang berhasil menebak yaitu kelompok yang anggotanya menuliskan tujuan pembuatan objeknya secara terbuka dan mudah diketahui sehingga teman sekelompoknya mudah dalam menangkap material dan objek apa yang dibuat, sedangkan yang tidak berhasil disebabkan penulisan tujuan yang kurang jelas.

Awalnya, saya tidak mengetahui tujuan permainan ini secara pasti, namun setelah permainan berakhir, kami diperlihatkan slide pembicaraan antara seorang develop (pembuat program) dengan user (pengguna program). Dan akhirnya saya menyadari tujuan permainan tersebut.

Sebenarnya, tujuan dari permainan ini adalah ingin mengajarkan kami bagaimana cara untuk mengkomunikasikan rancangan program yang kita buat agar sesuai dengan program yang diinginkan oleh clien (user).

Kemudian, Pak Sofyan melanjutkan materi pembahasannya. Kali ini, kami diperlihatkan Waterfall Model, gambarnya yaitu sebagai berikut :













Karena waktu pelajaran sudah habis, maka Pak Sofyan pun mengakhiri kuliah hari ini. Tapi tidak lupa ia memperlihatkan materi selanjuntya agar kami bisa membacanya dirumah, yaitu tentang :
  • Waterfall Model
  • Prototyping Model
  • Rapid Application Development
  •  Incremental Model
  • Iteractive - Incremental

Ok, kalau begitu sekian dulu untuk hari ini, jangan lupa tunggu postingan berikutnya, ya…

Thanks (''

No comments:

Post a Comment