Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan
Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan

Rabu, 30 Januari 2013

Rekayasa Perangkat Lunak (RPL) The Last..

Sekarang saya akan menceritakan mengenai pengalaman dan pendapat saya selama mempelajari mata kuliah Rekayasa Perangkat Lunak..^^

Secara garis besar sebenarnya sama saja dengan apa yang saya ceritakan dalam postingan saya sebelumnya, karena kedua matakuliah ini diajarkan oleh dosen yang sama, yaitu Pak Sofyan.
Dalam RPL ini , materi-materi yang diajarkan seperti model-model pembuatan software seperti waterfall model, incremental model, prototyping model, spiral model , dan rapid prototyping model. Selain mempelajarinya melalui teori dan aktifitas kelompok, kami juga diberikan tugas untuk memainkan sebuah game yang mirip dengan game "The Sims", yaitu SIM-SE ( Simulator-Software Engineering ). Dalam game ini , kita berperan sebagai pemimpin suatu perusahaan pembuatam software , yang memiliki beberapa karyawan untuk membantu membuat software tersebut. Nah, tantangan atau tingkat kesulitan pada game ini adalah, cara kita memimpin karyawan tersebut, dan harus memilih karyawan yang betul-betul ahli di bidangnya masing-masing dalam proses pembuatan softwarenya. Untung saja, setelah lama memainkan game ini , saya jadi tahu bagaimana cara memainkannya dengan benar, dan mendapat score yang memuaskan.

Selain itu, materi yang lainnya kurang lebih sama dengan apa yang telah dipelajari di ASI, cuma kalau di RPL ini , pendekatannya lebih kepada mengolah softwarenya.

Sekian dulu dari saya ^^
Terima kasih buat Pak Sofyan yang telah mengajar saya dan teman-teman selama satu semester ini pada mata kuliah RPL  ini ^^

Kamis, 25 Oktober 2012

Software Process Model

Untuk membuat sebuah software, ada beberapa model yang bisa kita gunakan yaitu Waterfall Model, Prototyping Model, Incremental Model, Spiral Model, dan RAD (Rapid Application Development).

  • WATERFALl MODEL
Model ini merupakan model proses pembuatan software yang sederhana dan merupakan model pengembangan paling lama digunakan. Model Waterfall ini cocok digunakan untuk sistem software berskala besar dan untuk sistem software yang bersifat generik. Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik. Tetapi, persyaratan sistem dan rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah karena sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.

Langkah-langkah Waterfall Model adalah:
  1. Requirements Analysis and Definition : mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun.
  2. System and Software Design : desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
  3. Implementation and Unit Testing : desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
  4. Integration and System Testing : penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
  5. Operation and Maintenance : mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

  • PROTOTYPING MODEL 
Prototyping Model atau proses pengembangan perangkat lunak melalui mekanisme pembuatan prototip dari perangkat lunak sering digunakan bilamana terdapat permasalahan dalam menghimpun kebutuhan user atau user tidak dapat menggambarkan seperti apa kebutuhannya akan perangkat lunak.
Pengembang akan membuat protoip perangkat lunak berdasarkan gambaran awal atau analisa kebutuhan awal lalu dikomunikasikan kepada user. Proses berulang sampai user menyetujui prototip yang disetujui digunakan untuk menyususn requirement dan rancangan baru atau prototype dilanjutkan untuk menjadi perangkat lunak yang lengkap.

Langkah-langkah Prototyping Model adalah :
  1. Pengumpulan Kebutuhan, garis besar kebutuhan melibatkan pelanggan dan pengembang.
  2. Membangun Prototyping, membangun prototyping dengan perancangan sementara yang berfokus pada penyajian kepada pelanggan (mis: dengan membuat input dan format output).
  3. Evaluasi Prototyping.
  4. Mengkodekan Sistem, prototyping yang sudah disepakati diterjemahkan ke dalam bahasa pemograman yang sesuai.
  5. Menguji Sistem, setelah sistem jadi, perangkat lunak yang siap pakai harus dites. Pengujian dengan white box, black box, basis path, pengujian arsitektur,dll.
  6. Evaluasi Sistem.
  7. Menggunakan Sistem.


  • INCREMENTAL MODEL
Inceremental Model merupakan proses yang dirancang untuk menghasilkan perangkat lunak dengan teknik penambahan sedikit demi sedikit (incremental). Incremental Model menghasilkan serangkaian penambahan, yang disebut inkremen, yang memberikan fungsionalitas yang semakin baik kepada pelanggan saat masing-masing inkremen itu disampaikan. Dan ada juga yang mengatakan bahwa Incremental Model ini merupakan perbaikan dari Waterfall Model. 
Biasanya digunakan pada saat situasi dimana spesifikasi-spesifikasi kebutuhan perangkat lunak saat awal sudah terdefinisi dengan baik, tetapi lingkup keseluruhan usaha pengembangan perangkat lunak tidak bisa dilakukan secara linier. 

  • SPIRAL MODEL 
Model Spiral merupakan suatu model proses perangkat lunak evolusioner yang menggabungkan pendekatan prototyping yang bersifat iterative dengan aspek-aspek sistematis dan terkendali yang kita jumpai pada model air terjun (waterfall model). Model Spiral ini menyediakan kemungkinan untuk pengembangan perangkat lunak yang cepat, yang bergerak daei versi perangkat lunak yang kurang lengkap menjadi versi yang semakin lengkap. 
Menggunakan model spiral, perangkat lunak dikembangkan mengikuti sejumlah peluncuran produk yang bersifat evolusioner. Selama tahap yang lebih awal, produk/perangkat lunak yang diluncurkan mungkin berupa sebuah model atau suatu prototype. Pada langkah-langkah iterasi berikutnya versi-versi perangkat lunak semakin lengkap akan dihasilkan.

Langkah-langkah Spiral Model :
  1. Komunikasi.
  2. Perencanaan, pembuatan prakiraan-prakiraan , penjadwalan dan analisis terhadap risiko-risiko perangkat lunak.
  3. Permodelan, analisis perancangan.
  4. Konstruksi, penulisan kode-kode program.
  5. Penyerahan sistem/perangkat lunak , pengiriman umpan balik.
 
  • RAD (RAPID APPLICATION DEVELOPMENT)

Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.

Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1. Component based construction ( pemrograman berbasis komponen bukan prosedural).
  2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3. Pembangkitan kode program otomatis/semi otomatis.
  4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem. ( http://id.wikipedia.org/wiki/Rapid_Application_Development )

Sekian penjelasan singkat saya mengenai Model Proses Software.. ^^


Minggu, 07 Oktober 2012

Rekayasa Perangkat Lunak part I

Saya akan menjelaskan apa yang saya ketahui mengenai software yang sedang saya pelajari dalam mata kuliah Rekayasa Perangkat Lunak (RPL)..

Software adalah sekumpulan data elektronik yang disimpan dan digunakan pada komputer yang berupa instruksi untuk menjalankan suatu program di komputer. Tetapi software tidak hanya berupa kumpulan data yang membentuk program, tetapi software juga dapat berupa kumpulan objek/item yang membentuk data dan dokumen.

Karakterisitik suatu software adalah : Software itu merupakan pengukuran (Software is engineered, Software itu tidak lapuk (Software doesn't wear out), Software itu kompleks, dalam membuat software banyak hal yang harus dipertimbangkan, Software itu seperti 'Aging Factory" , yaitu ada masanya maka software setiap saat diperbarui agar tidak ketinggalan dan menua(aging), dan software itu merupakan pembeda (Software is differentiator)

Macam-macam software / Softwarwe application  :
  • System Software = software yang melayani software yang lain, contohnya antivirus
  • Real-time Software = software yang melakukan olah data berdasarkan waktu
  • Business Software = software untuk keperluan bisnis
  • Engineering / Scientific Software = software untuk keperluan teknis dan pengetahuan, contohnya stellarium (software untuk melihat letak bintang dan matahari)
  • Embedded Software = software yang dimasukkan ke dalam hardware
  • PC Software = software untuk keperluan PC
  • AI Software = software yang biasanya digunakan dalam game untuk memprediksi.
  • Web Application = aplikasi web
 Salah satu cara pembuatan software yang paling mudah adalah dengan Waterfall Model


Materi yang ingin saya ketahui selanjutnya adalah kelanjutan dari waterfall model dan saya juga ingin mengetahui cara pembuatan software dengan model lain..^^