Anda di halaman 1dari 14

Tugas Rekayasa Perangkat Lunak

RUP (Rational Unified Process)

Disusun oleh : Rudiyanto Mahkota Manurung (3310901065) Loury Hadasa Armanto (3311101068) Reviana Citra Natalia (3311101087) Riris Rosa Ria (3311101076) Devina Sari (3311101070)
1

Pendahuluan
1.1 Latar Belakang
Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, Extreme Programming, proses air terjun (waterfall), Metode System Development Life Cycle (SDLC), Linear sequential model (classic life cycle / model cycle), Prototyping Model, Rapid Application Development (RAD) Model, The Incremental Model, The Concurrent Development Model serta RUP(Rational Unified Process). Pada laoran ini, kami akan mengeksplorasi mengenai model baru pengembangan perangkat lunak yakni RUP(Rational Unified Process).

1.2

Rumusan Masalah
1. 2. 3. 4. Definisi singkat RUP(Rational Unified Process) Fase RUP Disiplin RUP Kelebihan serta peranan RUP dibanding dengan model pengembangan perangkat lunak lainnya

Pembahasan
2.1 Definisi dari RUP
Setiap model yang dikembangkan mempunyai karakteristik sendirisendiri. Namun secara umum ada persamaan dari model-model ini, yaitu: Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiapmodel pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalampenyelesaian masalah. Oleh karena itu pemahaman masalah merupakan bagian penting dari model pengembangan perangkat lunak. Tahapan-tahapan pengembangan yang teratur, meskipun modelmodelpengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis design coding testing - maintenance Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupapengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibatdalam rekayasa perangkat lunak tersebut. Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkansejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harusdidokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan. Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telahdikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya,peningkatan keuntungan organisasi, peningkatan image organisasi danlain-lain. Rational Unified Process ini menyediakan cara pendekatan untuk membagi tugas dan tanggung jawab ke kelompok atau organisasi yang akan menangani pengembangan perangkat lunak. Tujuannya adalah memastikan menghasilkan suatu perangkat lunak yang berkualitas tinggi dan sesuai dengan kebutuhan pengguna/bohir serta tepat dihasilkan pada jadwal dan biaya yang telah disepakati. Rational Unified Process merupakan suatu produk proses 3

yang membawa sangat banyak pengetahuan, selalu terbaru, dan dalam wujud e-coach atau pelatih elektronok. Rational Unified Process ini didasarkan pada suatu arsitektur proses padat, dan itu mengizinkan suatu organisasi pengembangan untuk mengatur sesuai dengan kebutuhannya. Rational Unified Process menangkap banyak dari latihan terbaik di pengembangan perangkat lunak pada bentuk yang cocok untuk suatu cakupan luas dari proyek dan organisasi. Khususnya enam latihan terbaik dibawah ini : Kembangkan perangkat lunak yang iteraktif Atur kebutuhan Gunakan arsitektur component-based Modelkan perangkat lunak secara visual Verifikasikan kualitas perangkat keras secara terus menerus. Kontrol perubahan yang terjadi pada perangkat lunak. Selain enam latihan terbaik tersebut, ada tiga feature yang penting pada Rational Unified Process yang tidak boleh diabaikan, antara lain : Peran dari use case dalam mengontrol aspek dalam pengembangan. Penggunaannya sebagai kerangka proses yang dapat dikhususkan dan diperluaskan oleh suatu organisasi yang mengadopsinya. Kebutuhan akan tools pengembangan perangkat lunak dalam mendukung proses. Sebuah proses adalah siapa yang melakukan apa, kapan dan bagaimana mencapai tujuannya. Pada perekayasaan perangkat lunak tujuannya adalah membangun suatu perangkat lunak atau meningkat menjadi lebih dari satu. Rational Unified Process juga merupakan sebuah petunjuk bagaimana secara efektif dalam penggunaan UML (Unified Modeling Language). Telah banyak organisasi yang lambat laun menjadi sadar bahwa begitu pentingnya perencanaan dan dokumentasi yang baik untuk proses pengembangan perangkat lunak demi keberhasilan proyek perangkat lunaknya. Mereka pun membagi pengetahuan dan membaginya kepada pengembangan. Menurut Lee Osterwei: proses perangkat lunak juga termasuk perangkat lunak. Rational Unified Process membagi banyak karakteristik dengan produk perangkat lunak, antara lain : Rational Software mengeluarkan upgrade regular Rational Sofware Process dikirimkan secara online, oleh karena itu sangat cepat untuk berada di tangan pengembang. Rational Unified Process bisa diperbaiki dan dikonfigurasi sesuai dengan kebutuhan organisasi pengembang. Ratioanan Unified Process bisa diintegrasikan dengan tools pengembang software sesuai dengan kebutuhan rasional

sehingga pengembang dengan mudah dapat mengakses petunjuk proses sesuai dengan tools pengembang yang digunakannya. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. Gambar dibawah menunjukkan secara keseluruhan arsitektur yang dimiliki RUP. RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu: 1. Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition. 2. Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment.

2.2 Fase-fase RUP

Adapun fase-fase RUP adalah sebagai berikut : Inception Merupakan tahap awal dari proses Rational Unified Process Menentukan Ruang lingkup proyek Membuat Business Case Menjawab pertanyaan apakah yang dikerjakan dapat menciptakan good business sense sehingga proyek dapat dilanjutkan Elaboration Merupakan tahapan kedua dalam perancangan perangkat lunak. Menganalisa berbagai persyaratan dan resiko Menetapkan base line Merencanakan fase berikutnya yaitu construction Construction Tahap ketiga dalam pengimplementasian perancangan perangkat lunak. Melakukan sederetan iterasi Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi, coding dan testing Transistion Membuat apa yang sudah dimodelkan menjadi suatu produk jadi Dalam fase ini dilakukan: Beta dan performance testing Membuat dokumentasi tambahan seperti; training, user guides dan sales kit Membuat rencana peluncuran produk ke komunitas pengguna

Peran Use Case Pada Setiap Fase Inception Menolong mengembangkan scope proyek Menolong menetapkan penjadwalan dan anggaran Elaboration Menolong dalam melakukan analisa resiko Menolong mempersiapkan fase berikutnya yaitu konstruksi

Construction Melakukan sederetan iterasi Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing 6

Transistion Membuat apa yang sudah dimodelkan menjadi suatu produk jadi Dalam fase ini dilakukan: Beta dan performance testing Membuat dokumentasi tambahan seperti; training, user guides dan sales kit Membuat rencana peluncuran produk ke komunitas pengguna

2.3 Disiplin RUP

Gambar Arsitektur Rational Unified Process

Gambar. Rational Unified Process

Business modeling Masalah terbesar dalam usaha pengembangan bisnis adalah komunitas bisnis dengan perekayasa perangkat lunak tidak saling berkomunikasi dengan baik. Hal ini mengakibatkan output dari dunia bisnis tidak digunakan untuk input rekayasa software dengan semestinya demikian pula sebaliknya. RUP mengatasi masalah ini dengan menyediakan bahasa dan proses umum untuk kedua komunitas ini yang menunjukkan bagaimana membuat dan memelihara perencanaan langsung antara model bisnis dengan perangkat lunak. Dalam bisnis modeling kita mendokumentasikan proses bisnis menggunakan use case bisnis yang menjamin pengertian yang sama diantara pihak-pihak pengambil keputusan mengenai proses bisnis apa yang dibutuhkan untuk mendukung pengembangan organisasi. Requirements Requirements mendeskripsikan apa yang seharusnya dilakukan oleh sistem dan memastikan bahwa pengembang dan pelanggan menyetujui deskripsi tersebut. Untuk mencapai hal ini kadang kita harus memaksakan pemunculan, pengorganisasian dan pendokumentasian permintaan; melacak dan mendokumentasikan penawaran serta pengambilan keputusan. Analysis and design Analisis dan desain menunjukkan bagaimana sistem akan direalisasikan dalam fase implementasi. Kita ingin membangun sistem yang : - membentuk tugas dan fungsi sesuai spesifikasi use case

- memenuhi semua permintaan (requirements) - terstruktur dengan kuat Analisis dan desain menghasilkan model desain dan model analisis. Desain model berlaku sebagai blueprint yang menggambarkan bagaimana source code disusun dan ditulis. Implementation Tujuan implementasi adalah : - Mendefinisikan pengorganisasian kode - Mengimplementasikan kelas dan obyek ke dalam bentuk komponen - Menguji pengembangan komponen - Mengintegrasikan hasil produksi individual implentasi ke dalam sebuah sistem tereksekusi Test Pengujian bertujuan untuk : - Memeriksa interaksi antar obyek - Memeriksa usaha penyatuan seluruh komponen perangkat lunak - Memeriksa apakah semua requirement telah diimplementasikan dengan benar - Mengidentifikasi dan memastikan kesalahan telah diketahui sebelum peluncuran program. Configuration and change management Berisi panduan untuk mengatur berbagai variasi perkembangan sistem perangkat lunak, pelacakan versi mana yang digunakan dalam pembuatan perangkat lunak, pembuatan program individual atau keseluruhan berdasar spesifikasi yang diminta user dan kebijakan pengembangan perangkat lunak Environment Menyediakan lingkungan pendukung bagi pengembangan program (meliputi proses dan tool) yang dibutuhkan oleh team pengembang. Environment berfokus pada aktivitas untuk mengkonfigurasi proses ke dalam proyek, panduan pendukung untuk pengembangan proyek. Deployment Deployment mensukseskan peluncuran produk dan penyampaian perangkat lunak ke pengguna akhir. Deployment meliputi: - Pengemasan perangkat lunak - Pendistribusian perangkat lunak - Penginstallan perangkat lunak - Bantuan dan dukungan bagi pengguna

2.4 Kelebihan RUP dibanding dengan model pengembangan perangkat lunak lainnya
Kelebihan Rational Unified Process : Menyediakan petunjuk untuk pengefesian pengembangan dari kualitas perangkat lunak. Mengurangi risiko Menangkap dan menghasilkan latihan terbaik Mempromosilkan kultur dan visi umum. Menyediakan roadmap untuk penggunakan tools bantuan. Memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi lainnya. [Falitate Raute] 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] Perubahan yang teralokasi dan masalah dapat dengan mudah terdeteksi sehingga biaya pemeliharaan dapat ditekan sekecil mungkin [Lower Maintenece cost]. Rational Unified Process adalah proses pengembangan software yang mencakup semua siklus pengembangan software. RUP adalah proses produk yang membawa pengetahuan yang kaya, selalu upto-date, untuk lingkungan kerja pengembang, dalam form sebuah e-coach. RUP mencakup banyak petunjuk dari teknik dan pendekatan modern: teknologi objek dan pengembangan berbasis komponen. Modeling dan UML, arsitektur, pengembangan iterative, dll. RUP bukanlah produk kaku, melainkan hidup dipelihara secara konstan, dan berkembang secara berkesinambungan. RUP berbasis proses arsitektur yang solid, dan memungkinkan perkembangan organisasi untuk menyesuaikan sesuai dengan kebutuhannya. RUP mendukung 6 best practices untuk pengenmbangan software. RUP didukung oleh sebuah tingkatan palette pengembangan alat oleh Rational Software. Tentunya menghasilkan perangkat lunak yang berkualitas karena telah teruji. Lebih dari seribu perusahaan menggunakan Rational Unified Process pada akhir 1999. Mereka menggunakannya dalam domain aplikasi yang bervariasi, dan

10

untuk proyek besar maupun kecil. Ini menunjukkan kemampuan besar dari Rational Unified Process. Lebih dari 50% para pengguna ini menggunakan RUP untuk e-bisnis, atau berencana untuk menggunakannya di masa depan. Ini adalah pertanda perubahan dari industri kita; seiring tekanan time-to-market meningkat, sesuai dengan tuntutan untuk kualitas, perusahaan-perusahaan mencari pengalaman belajar dari yang lain, dan siap untuk mengadopsi best practices yang terbukti. Contoh perusahaan yang menggunakan Rational Unified Process, antara lain : Bidang telekomunikasi: Ericsson, Alcatel,MCI Bidang tranportasi, aorespace, pertahanan: British Aorespace Manufaktur Xerox, Volvo, Intel Keuangan Visa, Schwab Dan lain-lain

Penerapan Tahapan Metodologi Pengembagan Perangkat Lunak dengan Menggunakan RUP (Contoh Kasus)
Metodologi Rational Unified Process (RUP). Metode RUP merupakan metode pengembangan kegiatan yang berorientasi pada proses. Dalam metode ini, terdapat empat tahap pengembangan perangkat lunak yaitu: Inception Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis Elaboration : Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak. Construction Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta dokumentasi perangkat lunak. Transition 11

Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.

Penutup
3.1 Kesimpulan
12

Dari hasil ekplorasi kami mengenai RUP (Rational Unified Process), dapat kami simpulkan beberapa hal sebagai berikut : 1. RUP (Rational Unified Process) merupakan salah satu model pengembangan perangkat lunak yang memiliki banyak kelebihan dibanding dengan model pengembangan lainnya, sehingga menghasilkan perangkat lunak yang berkualitas karena telah teruji. 2. RUP memiliki bagian-bagian serta cara kerja yang terstruktur dan teratur sesuai dengan disiplinnya, sehingga memudahkan pengguna untuk mengembangkan perangkat lunak.

3.2 Saran
Dalam pembuatan perangkat lunak yang berkualitas, tentu membutuhkan model pengembangan yang berkualitas pula. Untuk itu, kami sebagai penulis memberi saran untuk menggunakan model pengembangan RUP sebagai kerangka acuan untuk mengembangkan perangkat lunak yang terstruktur serta berkualitas. RUP telah teruji karena memiliki berbagai keunggulan yang menjadi daya tarik tersendiri bagi sejumlah perusahaan yang bergelut dibidang pengembangan perangkat lunak, seperti yang telah kami bahas pada bab 2.4.

3.3 Referensi
1. https://docs.google.com diakses pada tanggal 23 Februari 2012 2. Britton, Carol (2001). Object-Oriented Systems Development. McGraw-Hill. hlm. 27 diakses pada tanggal 23 februari 2012 3. http://id.wikipedia.org/wiki/Proses_pengembangan_perangkat_lunak diakses pada tanggal 24 februari 2012 4. http://www.adykusnan.site90.com/ diakses pada tanggal 24 februari 2012 5. The Rational Unified Process An Introduction, 2nd Edition - Philippe Kruchten.chm diakses pada tanggal 24 februari 2012 6. http://vionisa.blog.friendster.com/2007/11/rup-adalah/ diakses pada tanggal 24 februari 2012 7. http://blog.unsri.ac.id/dindajulita/264 diakses pada tanggal 24 februari 2012

13

14