Software Process (Rekayasa Perangkat Lunak)


Halo, Selamat sore para penggemar :D
Sudah sekian lama kita tidak berjumpa di blog keramat ini. Kali ini saya akan menulis tentang Software Process untuk tugas RPL (Rekayasa Perangkat Lunak) yang sudah lama sekali di informasikan oleh Pak Dosen tapi baru hari ini dikerjakan. *plaak* Oke langsung saja kita mulai!

Berikut ini merupakan beberapa pengertian software process yang saya kutip dari beberapa buku:

Pengertian Software Process
1. Menurut Reidar Conradi pada bukunya yang berjudul Software Process Technology: 7th European Workshop, Software Process adalah Proses perangkat lunak yang direpresentasikan sebagai sebuah proses program dan dapat mengeksekusi secara otomatis.

2. Menurut Ian Sommerville pada bukunya yang berjudul Software Engineering (9th Edition), Software Process adalah Pendekatan sistematis yang digunakan dalam rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa perangkat lunak.

3. Sedangkan menurut M Deploy pada tulisannya yang berjudul Software Engineering Process, Software process adalah serangkaian langkah-langkah yang terurut untuk membuat sebuah produk rekayasa perangkat lunak. Software process adalah suatu hirarki yang tiap langkah dapat memiliki sub-sub langkah dalam proses rekayasa perangkat lunak.

Terdapat 4 aktifitas umum yang mendasar pada semua proses rekayasa perangkat lunak, yaitu:

  • Software specification, yaitu pengguna dan perekayasa menentukan perangkat lunak yang akan dibuat dan dibatasi pada proyek tersebut.
  • Software development, dimana perangkat lunak tersebut dirancang dan diprogram.
  • Software validation, dimana perangkat lunak di cek apakah sudah memenuhi apa yang dibutuhkan oleh pengguna
  • Software evolution, dimana perangkat lunak diubah,diperbaiki untuk mengatasi perubahan pengguna dan mengikuti perkembangan jaman.

Dalam software process terdapat beberapa model, yaitu:

  • Waterfall, Model ini adalah model yang pertama kali muncul pada tahun 1970an diperkenalkan oleh Winston W. Royce. Model ini memisahkan fase spesifikasi dengan fase pengembangan.

    Ada 5 proses penting dalam model Waterfall:
    1. Requirement analysis and definition (analis kebutuhan)
    2. System and software design (perancangan sistem dan software)
    3. Implementation and unit testing (implementasi dan testing)
    4. Integration and system testing (integrasi dan pengujian sistem)
    5. Operation and maintenance (operasi dan perawatan)

  • RAD (Rapid Application Development), Rapid Application Development (RAD) adalah sebuah strategi pengembangan sistem yang menekankan kecepatan dalam pengembangan melalui keterlibatan pengguna dalam pembangunan secara cepat, iteratif, dan incremental dari suatu serangkaian prototype dari suatu sistem yang dapat berkembang menjadi suatu sistem akhir atau versi tertentu.

  • Prototyping Model, Pada model ini, user berperan aktif dalam pembuatan software. model ini digunakan apabila developer kesulitan dalam pengumpulan kebutuhan dan user juga tidak dapat menggambarkan software yang diinginkannya, atau dimana user sering menambah dan mengubah apa yang diinginkannya. 

Referensi
[1] Reidar ConradiSoftware Process Technology: 7th European Workshop
[2] Ian SommervilleSoftware Engineering (9th Edition)
[3] M DeploySoftware Engineering Process

Oke cukup sekian dulu :D
semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.

Sekian dan terima jodoh

read more →

RUP (The Rational Unified Process) - Tugas OOAD



Hai, apa kabar para penggemar :D

jumpa lagi bersama saya dalam edisi ngumpul tugas OOAD dengan topik yang berbeda kali ini adalah RUP (The Rational Unified Process). Tugas kali ini masih ada hubungannya dengan postingan saya sebelumnya yaitu Analisis dan Desain Menggunakan Object Oriented. Oke, langsung saja kita bahas apa sebenarnya RUP itu. check it out!

1. Menurut Philippe Kruchten pada buku yang berjudul The Rational Unified Process: An Introduction , The Rational Unified Process (RUP) merupakan Proses Rekayasa Perangkat Lunak (Software Engineering Process). RUP menyediakan pendekatan disiplin untuk menetapkan tugas dan tanggung jawab dalam pengembangan organisasi. Tujuannya adalah untuk memastikan produksi perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna dalam masalah prediksi dan anggaran. RUP juga merupakan kerangka proses yang dapat diadaptasi dan diperluas untuk memenuhi kebutuhan organisasi.

2. Menurut Per Kroll, Philippe Kruchten pada buku yang berjudul The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP , RUP adalah pendekatan pengembangan perangkat lunak yang berulang, arsitektur-sentris, dan use case-driven. RUP adalah proses rekayasa perangkat lunak yang jelas dan terstruktur dengan baik. Jelas siapa yang bertanggung jawab, bagaimana hal tersebut dilakukan, dan kapan harus melakukannya. RUP juga menyediakan struktur yang didefinisikan dengan baik untuk lifecycle dari proyek RUP itu sendiri.

RUP merupakan process produk yang menyediakan kerangka proses yang dapat disesuaikan untuk rekayasa perangkat lunak. Produk RUP mendukung kustomisasi proses dan authoring, dan berbagai macam proses, atau konfigurasi proses.

3. Sedangkan menurut kamus besar Wikipedia, RUP merupakan singkatan dari Rational Unified Process, RUP adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak. RUP dimasukkan dalam produk IBM Rational Method Composer (RM C) yang memungkinkan untuk kustomisasi proses.

Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam praktik terbaik untuk rekayasa perangkat lunak modern:
  1. Pengembangan iteratif, dengan risiko sebagai pemicu iterasi primer
  2. Kelola persyaratan
  3. Terapkan arsitektur yang berbasis komponen
  4. Visualisasikan model perangkat lunak
  5. Secara kontinyu, verifikasi kualitas
  6. Kendalikan perubahan
(Sumber: http://id.wikipedia.org/wiki/RUP)

Jadi kesimpulannya, RUP memiliki banyak sekali arti dari berbagai sumber. Namun, pada intinya RUP (The Rational Unified Process) merupakan suatu proses rekayasa perangkat lunak yang mencakup keseluruhan siklus hidup pengembangan perangkat lunak itu sendiri.

RUP juga menyediakan cara pendekatan untuk membagi tugas dan tanggung jawab kepada kelompok atau organisasi yang akan menangani pengembangan perangkat lunak. Tujuannya adalah untuk memastikan menghasilkan suatu software yang berkualitas tinggi dan sesuai dengan kebutuhan pengguna serta tepat dihasilkan pada jadwal dan biaya yang telah disepakati.

RUP didasarkan pada suatu arsitektur proses yang padat, dan itu mengizinkan suatu organisasi pengembangan perangkat lunak untuk mengatur sesuai dengan kebutuhannya.

Tahapan-tahapan yang dilakukan RUP antara lain yaitu: tahapan insepsi, elaborasi, konstruksi, transisi.

Insepsi
  1. Merupakan tahap awal dari proses Rational Unified Process
  2. Menentukan ruang lingkup objek
  3. Membuat business case
  4. Menjawab pertanyaan apakah yang dikerjakan dapat menciptakaan good business sense sehingga proyek dapat dijalankan

Elaborasi
  1. Merupakan tahapan kedua dalam perancangan perangkat lunak.
  2. Menganalisa risiko dan berbagai persyaratan.
  3. Menetapkan batasan-batasan pada perancangan perangkat lunak.

Konstruksi
  1. Tahap ketiga dalam pengimplementasian perancangan perangkat lunak.
  2. Melakukan sederatan iterasi.
  3. Pada setiap iterasi juga melibatkan proses-proses seperti analisa, desain, implementasi, coding.

Transisi
  1. Tahapan terakhir untuk instalasi, deployment, dan sosialisasi perangkat lunak.
  2. Melaksanakan apa yang sudah dimodelkan menjadi suatu produk jadi.
  3. Dalam tahap ini dilakukan fase seperti:
  4. Performance testing
  5. Membuat dokumentasi tambahan.
  6. Membuat peluncuran produk ke komunitas pengguna.

Manfaat RUP
  1. Menyediakan petunjuk untuk pengefesian pengembangan dari kualitas perangkat lunak.
  2. Mengurangi risiko
  3. Menangkap dan menghasilkan latihan terbaik
  4. Mempromosilkan kultur dan visi umum.
  5. Menyediakan roadmap untuk penggunakan tools bantuan.
  6. Memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi lainnya. [Falitate Raute]
  7. Mengatur dan mengontrol semua proses dalam setiap tahapan yang ada sehingga suatu pengembangan perangkat lunak yang kompleks dapat dilakukan dengan aman sesuai dengan harapan pengguna [Manage Complexity]
  8. Perubahan yang teralokasi dan masalah dapat dengan mudah terdeteksi sehingga biaya pemeliharaan dapat ditekan sekecil mungkin [Lower Maintenece cost].
  9. Tentunya menghasilkan perangkat lunak yang berkualitas karena telah teruji

Referensi
1. Philippe Kruchten, The Rational Unified Process: An Introduction, Addison-Wesley Professional, May 2004, 75 Arlington Street, Suite 300. Boston, MA 02 1 16

2. Per Kroll, Philippe KruchtenThe Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, Addison-Wesley Professional, July 2003, 75 Arlington Street, Suite 300. Boston, MA 02 1 16

3. Wikipedia, RUP, http://id.wikipedia.org/wiki/RUP

Oke cukup sekian dulu :D
semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.
Sekian dan terima kasih.
read more →

Analisis dan Desain Menggunakan Objek Oriented


Hallo semua :D ada revisian sedikit dari pak dosen, katanya tulisannya suruh dikasih sumbernya dengan jelas dan akurat. Dan akhirnya, tulisan yang sebelumnya harus di hapus semua lalu di ketik ulang karena ya memang harus di revisi lagi supaya memenuhi standar pengumpulan tugas.

Oke baiklah, berikut ini saya berikan beberapa penjelasan tentang apa itu OOAD (Object Oriented Analysis and Design). selamat membaca saudara-saudara sekalian :D

1. Menurut D. H. Stamatis pada buku yang berjudul Six Sigma and Beyond: Design for Six Sigma, Volume 6 , Pada dasarnya, Metode OOAD ini merupakan sebuah framework (kerangka) yang digunakan untuk memahami, mengembangkan, mengorganisir, dan mengelola proyek. Tentunya proyek-proyek yang berurusan dengan aplikasi atau perangkat lunak

2. Menurut Brian Sam-Bodden dan Christopher M. Judd pada buku yang berjudul Enterprise Java Development on a Budget: Leveraging Java Open Source , OOAD adalah kombinasi dari mekanisme pemecahan masalah yang memfasilitasi dua tugas primordial pada rekayasa perangkat lunak. Jadi dengan adanya konsep OOAD ini kita dapat merumuskan solusi untuk masalah-masalah pada suatu proyek.

3. Sedangkan menurut kamus besar dunia maya Wikipedia, OOAD merupakan pendekatan teknis yang populer untuk menganalisis, merancang aplikasi, atau sistem dengan menerapkan paradigma berorientasi objek dan pemodelan visual sepanjang siklus pengembangan perangkat lunak untuk menghasilkan suatu aplikasi yang lebih baik. (http://en.wikipedia.org/wiki/Object-oriented_analysis_and_design)

4. Yang terakhir menurut Stefan Kluth penulis modul Introduction to OOAD , OOAD merupakan metode untuk mendesain dan membangun program-program besar dalam jangka waktu yang cukup panjang, metode tersebut antara lain mencakup: Proses pembuatan, pemeliharaan dan modifikasi, pemudahan pemodelan menggunakan OO (Object Oriented) yang memiliki objek-objek dan relasi.

Jadi kesimpulannya, OOAD merupakan sebuah metode atau kerangka atau konsep yang digunakan untuk membangun sebuah program dengan menggunakan paradigma beriorientasi objek, sehingga pembuatan sebuah program dapat lebih terpelihara, terorganisir, dan dapat dikelola serta dikembangkan. Karena OOAD menggunakan paradigma berorientasi objek, maka pengelolaan source code akan sangat terorganisir dengan baik.

Kenapa Harus OOAD ?
1. Karena melihat segala hal sebagai sebuah objek
2. Karena objek sifatnya independen (berdiri sendiri)
3. Karena memudahkan kita dalam pemanfaatan ulang pada source code yang kita buat
4. Karena lebih mudah disesuaikan dengan perubahan

Berikut ini beberapa kutipan yang saya dapat dari tulisannya bapak Hendra Divayana pada tulisannya yang berjudul Konsep OOAD.

Karakteristik Objek

1. Objek
Objek merupakan benda yang ada disekitar kita, namun objek bisa juga disimpulkan sebagai suatu kejadian, tempat, manusia, hewan, atau kendaraan.

Contoh objek: Objek Mobil dan Objek Mahasiswa

2. Kelas
Kelas merupakan himpunan objek (Object Groupings) yang terbagi kedalam atribut, operasi, metode, dan relasi. Kelas bisa kita gambarkan sebagai sebuah 'cetakan' atau 'template' yang dapat membuat objek. jadi intinya Kelas ini adalah cetakannya. Contohnya: Manusia. Kelas manusia dapat membuat objek Mahasiswa, Ilmuan, Dokter, Guru, Dosen, atau Rektor. Kelas Kendaraan dapat membuat objek Mobil, Motor, Sepeda, Kapal Laut, Helikopter, atau Pesawat tempur.

Metodologi Pengembangan Sistem Berorientasi Objek
Metodologi ini mempunya tiga karakteristik, antara lain:

1. Encapsulation
Enkapsulasi merupakan sebuah metode yang dapat mengemas data atau fungsi-fungsi dalam suatu objek. Jadi Fungsi-fungsi yang ada diluar objek tidak dapat diakses karena sudah di bungkus oleh metode enkapsulasi ini.

2. Inheritance
Inheritance adalah metode yang digunakan untuk mewariskan sifat dari objek induk (Parent) kepada turunannya (Child). Jadi dengan metode ini, anak dari objek dapat mewarisi sifat orang tua objek tersebut. Lebih jelasnya saya berikan contoh: Misalkan saya punya Objek Kucing, kucing tersebut memiliki kuping yang panjang, kumis, dan suara yang unik seperti 'Meong'. Kemudian saya buat Objek baru dengan nama Anak Kucing, jika saya gunakan teknik Inheritance ini pada Objek Anak Kucing yang akan mewarisi Objek Kucing, maka Objek Anak kucing tentunya dapat memiliki Kuping yang panjang, memiliki kumis, dan memiliki suara yang sama dengan parentnya yaitu 'Meong'. Jadi Atribut dan Metode Objek Induk dapat diwarisi kepada Anak Objek.

3. Polymorphism
Polimorfisme adalah konsep yang menyatakan bahwa sesuatu yang sama dapat memiliki bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

Struktur dan Hirarki Kelas

1. Atribut
Atribut merupakan sebuah data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.

Contoh: Saya memiliki Kelas dengan nama Mahasiswa. Kemudian saya akan menentukan atributnya yaitu: NIM, Nama, Tempat Lahir, Tanggal Lahir, Umur, Agama, dan Fakultas.

2. Metode
Metode merupakan sebuah prosedur atau fungsi yang terdapat didalam Kelas. Metode merupakan subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode juga digunakan untuk pengaksesan terhadap data yang ada dalam suatu objek.

Contoh Metode dalam Kelas Artikel: 
1. Tampilkan Artikel
2. Hapus Artikel
3. Ubah Artikel
4. Cari Artikel

Referensi
1. D. H. Stamatis, Six Sigma and Beyond: Design for Six Sigma, Volume 6 , CRC Press, 13 Nov 2002, Boca Raton, Florida 33431.

2. Brian Sam-Bodden dan Christopher M. Judd, Enterprise Java Development on a Budget: Leveraging Java Open Source , Apress, 28 Mar 2004, New York, NY 10013.

3. WikipediaObject-oriented analysis and design http://en.wikipedia.org/wiki/Object-oriented_analysis_and_design

4. Stefan Kluth, Introduction to OOADhttps://www.mppmu.mpg.de/english/kluth_oo_intro.pdf

5. Hendra Divayana, Konsep OOAD. http://dewa-hendra.blogspot.com/2010/04/i.html

Oke cukup sekian dulu :D

semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.

Sekian dan terima kasih.
read more →

[Tugas Kuliah] Otomatisasi MS.Excel Database dan MS.Word Certification Template dengan VB.NET

Hallo Semuanya! :D

ketemu lagi nih barengan mas kodook dalam acara finishing ngumpul tugas kuliah *horeeee* seneng

Kali ini mas kodook mau posting tentang bagaimana sih cara mengotomatisasi Microsoft Excel dan Microsoft Word dengan VB.NET. Jadi pada intinya, dengan aplikasi yang akan kita buat nanti, kita dapat di permudah dalam hal input data di Excel dan pembuatan template sertifikat otomatis di Word dengan VB.NET.

Baiklah kisanak, langsung saja saya mulai soalnya belum tidur dari tadi malam :(


Studi Kasus: Otomatisasi MS.Excel dan MS.Word Certification Template untuk Lomba Memasak Seluruh Dunia

1. Buat file excel terlebih dahulu yang nantinya akan kita gunakan sebagai media penyimpanan data pemenang lomba memasak yang katanya se-seluruh dunia. simpan dengan nama data_excel.xlsx (simpannya di D:) aja biar mudah di inget. Kemudian Buat tampilannya seperti ini:



2. Buat file word terlebih dahulu yang akan berfungsi sebagai template sertifikat untuk pemenang lomba. Simpan dengan nama data_sertifikat.docx dan Buat tampilannya seperti ini:



3. Setelah itu kita akan membuat yang namanya BOOKMARK. block terlebih dahulu pada teks Nama Peserta, kemudian klik menu Insert, lalu tekan tombol Bookmark.


4. Pada kota input "Bookmark Name" kita isikan "nama" (kita akan mendefinisikan bahwa yang tadi di block adalah "bookmark nama" (nama disini maksudnya adalah nama peserta) kemudian tekan Add 
*ojo binguuuung*


5. Lakukan hal yang sama berulang kali sampai menemui titik terang dengan teks kecepatan




6. Nah, kalau sudah sekarang buat Project Baru di Visual Studio terlebih dahulu, kemudian desain tampilan formnya sebagai berikut:


7. Selanjutnya pilih menu PROJECT lalu klik Add Reference 


8. Fokus ke TAB COM lalu pilih Component Name untuk MS.Excel dan MS.Word



9. Jeng jeng! setelah itu DOUBLE CLICK Tombol Simpan dan Cetak, lalu Copy-Paste Ketikan Codingan berikut.

NB: *Jangan lupa ganti nama dan lokasi file microsoft excel dan microsoft word milik anda di codingan ini*
NB: *B5 - F5 merupakan Cell dimana data akan di Insert*
NB: *Bookmarks("namabookmark") merupakan bookmark yang tadi dibuat*


10. Selesai!! :D sekarang kita coba programnya! isikan seperti ini ya (sebagai contoh)


Hasilnya:




Oke cukup sekian dan terima kasih :D

Merdekaa! Banjiiiir! #atap
read more →