Anda di halaman 1dari 10

Nama: Khadijah

NRP/ Mayor: G651150011/ KOM

Tugas Rancangan Perangkat Lunak Lanjut


Banyak faktor yang mempengaruhi dalam pemilihan metode pengembangan proyek
pada sebuah organisasi atau tim proyek. Ketika ingin memilih pendekatan yang akan diambil,
pastikan apakah proyek yang akan digarap berada pada wilayah yang sudah terprediksi atau
daerah yang benar-benar baru.
Proyek yang sudah diketahui ruang lingkupnya biasanya menggunakan perencanaan
bermetode prediktif. Perencanaan prediktif mendukung sejajar, struktur perencanaan
pengembangan spesifik kira-kira produksi sebuah hasil akhir dalam kerangka waktu yang
spesifik.
Perkembangan proyek yang menghadapi perubahan kondisi adalah bagian paling baik
untuk perencanaan adaptive. Perencanaan adaptive melibatkan pembagian sebuah proyek ke
dalam komponen kecil melebihi ketepatan waktu yang tidak ditentukan untuk menentukan
hasil akhir yang fleksibel dalam menentukan arah proyek.
Mengingat hasil dari perencanaan predictive lebih diharapkan dan dapat dikenal,
sedang perencanaan adaptive lebih menghasilkan keluaran yang mengejutkan. Perencanaan
adaptive lebih fleksibel dan mudah berubah. Pada sebuah organisasi pemikiran prediktive
lebih memilih pendekatan waterfall sedangkan adaptive lebih memilih tehnik agile.
Definisi adaptive dan predictive
Pendekatan predictive ke SDLC adalah pendekatan yang diasumsikan bahwa
perkembangan proyek bisa di rencanakan dan diperbaharui untuk ditingkatkan dan bahwa
sistem informasi yang baru bisa dibuat menurut rencana tersebut. Sedangkan pendekatan
adaptive ke SDLC bisa digunakan ketika kebutuhan tertentu dari sistem atau user tidak
dimengerti dengan baik. Dalam situasi ini, proyek tidak bisa direncanakan dengan baik.
Perancang tetap harus bisa membuat solusi ini, tetapi mereka harus fleksibel dan beradaptasi
dengan proyek sebagai kemajuannya. (Satzinger J., et al, 2010)
Pengertian dari Unified process dan unified modeling language

Unified Process (UP) atau kadang disebut sebagai Unified Software Development
Process (USDP) adalah: kerangka proses pengembangan yang bersifat use-case-driven,
berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir, 2005).
Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat
lunak. UP dapat diaplikasikan pada berbagai skala proyek, kecil maupun besar.

Daur hidup UP secara umum akan tampak seperti pada bagan di gambar 2.6. Bagan
ini biasa disebut sebagai "hump chart". Pada bagan ini terlihat ada empat tahap
pengembangan, yaitu:inception, elaboration, construction dan transition. Selain itu tampak
pula sejumlah aktivitas (disciplines) yang harus dilakukan sepanjang pengembangan
perangkat

lunak,

yaitu: business

modeling,

requirements,

analysis

and

design,

implementation, test. Tahap dan aktivitas tersebut akan dilakukan secara iteratif (Ambler,
2005).

Penjelasan singkat untuk empat tahapan dalam UP adalah sebagai berikut:

Inception: Tahapan ini merupakan tahapan paling awal, dimana aktivitas penilaian
terhadap sebuah proyek perangkat lunak dilakukan. Tujuannya adalah untuk
mendapatkan kesepakatan dari stakeholder sehubungan dengan tujuan dan dana

proyek.
Elaboration: Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum
kebutuhan, persyaratan, dan fungsi-fungsi utama perangkat lunak. Hal ini penting
untuk mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko
arsitektur perangkat lunak, perencanaan, maupun implementasi. Pada tahap ini telah
dimulai rancang bangun perangkat lunak secara iterative melalui aktivitas-aktivitas
seperti business modeling, requirements, analysis dan design, meskipun baru pada

tahap awal.
Construction: Tujuan dari tahapan ini adalah membangun perangkat lunak sampai
dengan saat perangkat lunak tersebut siap digunakan. Titik berat tahapan ini adalah

pada penentuan tingkat prioritas kebutuhan/persyaratan, melengkapi spesifikasinya,


analisis lebih dalam, disain solusi yang memenuhi kebutuhan dan persyaratan,
pengkodean dan pengujian perangkat lunak. Jika dimungkinkan, versi awal dari

perangkat lunak diuji cobakan untuk mendapatkan masukan dari pengguna.


Transition: Tahap ini difokuskan pada bagaimana menyampaikan perangkat lunak
yang sudah jadi pada pengguna. Perangkat lunak akan secara resmi diuji, baik oleh
penguji (tester) yang kompeten maupun oleh pengguna. Beberapa aktivitas seperti
pemindahan pusat data dan pelatihan pengguna serta staf pendukung harus dilakukan
pada tahap ini.

Dalam pengembangan perangkat lunak dengan menggunakan UP, maka tidak lepas dari
penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language).
Meskipun UP mensyaratkan penggunaan UML, namun UML sendiri dapat digunakan pada
berbagai metodologi yang lain bahkan dapat digunakan pada bidang selain sistem informasi.
UML, adalah bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk
menspesifikasi, mem-visualisasi, meng-konstruksi, dan mendokumentasi hasil kerja dalam
pengembangan perangkat lunak (Fowler, 2004). UML lahir dari penggabungan banyak
bahasa pemodelan grafis berorientasi obyek yang berkembang pesat pada akhir tahun 1980an
dan awal 1990an.
Secara sederhana, UML digunakan untuk menggambar sketsa sistem. Pengembang
menggunakan UML untuk menyampaikan beberapa aspek dari sebuah perangkat lunak
melalui notasi grafis. UML mendefinisikan notasi dan semantik. Notasi merupakan
sekumpulan bentuk khusus yang memiliki makna tertentu untuk menggambarkan berbagai
diagram piranti lunak, dan semantik mendefinisikan bagaimana bentuk-bentuk tersebut dapat
dikombinasikan. Ada beberapa jenis diagram yang disediakan dalam UML, antara lain
adalah:

Use-case diagram: Diagram ini berguna untuk menggambarkan interaksi antara

pengguna dengan sebuah perangkat lunak.


Activity diagram: Diagram ini berguna untuk menggambarkan prosedur-prosedur

perilaku perangkat lunak.


Class diagram: Diagram ini berguna untuk menggambarkan class, fitur, dan
hubungan-hubungan yang terjadi. Pada diagram ini pendekatan berorientasi obyek

memegang peranan yang sangat penting.


Sequence diagram: Diagram ini berguna untuk menggambarkan interaksi antar obyek
dengan penekanan pada urutan proses atau kejadian.

State machine diagram: Diagram ini digunakan untuk menggambarkan bagaimana

suatu kejadian mengubah obyek selama masa hidup obyek tersebut.


Component diagram: Diagram ini berguna untuk menggambarkan struktur dan
koneksi komponen.

Metodologi Extreme Programming


Pengertian

Extreme Programming yang selanjutnya disingkat dengan XP merupakan salah satu


dari sekian banyaknya metodologi dalam rekayasa perangkat lunak dan juga
merupakan bagian dari metodologi pengembangan perangkat lunak agile.

Secara umum Extreme Programming (XP) dapat dijabarkan sebagai sebuah


pendekatan pengembangan perangkat lunak yang mencoba meningkatkan efisiensi
dan fleksibilitas dari sebuah proyek pengembangan perangkat lunak dengan
mengkombinasikan berbagai ide simpel/sederhana tanpa mengurangi kualitas
software yang akan dibagun.

XP

dikembangkan

oleh

Beck, Cunningham,

dan ini merupakan lightweight disciplinepengembangan

dan
perangkat

Jeffries
lunak

berdasarkan empat core value.


Kelebihan dan Kekurangan XP
Kelebihan :

Meningkatkan kepuasan kepada klien

Pembangunan system dibuat lebih cepat

Menjalin komunikasi yang baik dengan client.

Meningkatkan komunikasi dan sifat saling menghargai antar developer.

Kekurangan :

User story kemungkinan besar tidak lengkap sehingga Developer harus selalu siap
dengan perubahan karena perubahan akan selalu diterima.

Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).

XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satusatunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Core Value XP

Komunikasi (Communication)

Kurangnya komunikasi merupakan penyebab utama kegagalan pengembangan software,


maka XP mengfokuskan pada hubungan komunikasi yang baik antar tim-klien, anggota tim,
dan manajer proyek.Komunikasi dalam XP dibangun dengan melakukan pemrograman
berpasangan (pair programming).Klien harus dilibatkan dalam proses pengembangan
perangkat lunaknya dengan tujuannya untuk memberikan pandangan pengembang sesuai
dengan pandangan pengguna sistem yang dibangun.

Kesederhanaan (Simplicity)

XP melakukan semua dengan sederhana dan praktis tanpa mengurangi fungsi utamanya.
Diusahakan mengunakan method yang pendek dan simpel, jangan terlalu rumit dalam
membuat desain, hilangkan fitur yang tidak ada gunanya atau menghapus fungsi yang tidak
terpakai. Dengan kata lain lebih baik melakukan hal yang sederhana saat sekarang (sesuai
kebutuhan) dan mengembangkannya besok jika diperlukan.

Umpan balik (Feedback)

Selalu mengevaluasi perkembangan terhadap perangkat lunak yang sedang dikerjakan, segala
informasi harus dikumpulkan setiap interval waktu yang konsisten dan diskusikan kesalahan-

kesalahan yang muncul selama proses pengembangan. Umpan balik tersebut berfungsi
sebagai

indikator

kemajuan

proyek

dan

menginformasikan

pemimpin

proyek apabila perubahan perlu dibuat.

Keberanian (Courage).

Programmer XP didorong untuk berani bereksperimen dan menulis ulang kode jika mereka
tidak puas dengan kode yang sudah ada atau desain. Hal ini membantu mempertahankan
moral serta intgritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi
dengan anggota proyek lainnya.
Tahapan XP

Planning, Aktivitas planning dimulai dengan membentuk user stories. Anggota XP team
kemudian menilai setiap story dan menentukan cost diukur dalam development week.
Customer dan XP team bekerja bersama untuk memutuskan bagaimana grup story untuk
release berikutnya (software increment berikutnya) untuk dibangun oleh XP team. Jika
komitmen telah dibuat, XP team akan membangun story-story dengan cara :
Semua

story

segera

diimplemetasikan

(dalam

beberapa

minggu)

Story dengan value tertinggi akan dipindahkan dari jadwal dan dimplementasikan pertama.
Story dengan resiko paling tinggi akan diimplemetasikan lebih dulu. Setelah project pertama
direlease dan didelivery, XP team memperhitungkan kecepatan project. Selama development,
customer dapat menambah story, merubah value, membagi story atau menghapusnya.
Design. XP menggunakan CRC card, untuk mengenali dan mengatur object oriented class
yang sesuai dengan software increment.

Coding. Sebelum membuat code, lebih baik membuat unit test tiap story untuk dimasukkan
dalam software increment. XP menyarankan agar dua orang bekerja bersama pada satu
komputer workstation untuk membuat code dari satu story (pair programming), untuk
menyediakan real time problem solving dan jaminan real time quality. Setelah pair
programming selesai, code diintegrasikan dengan kerja laiinnya (continuous integration).
Testing. Unit test yang telah dibuat harus diimplementasikan menggunakan suatu framework
dan diatur ke dalam universal testing suite, integrasi dan validasi sistem dapat dilakukan
setiap hari. Customer test (acceptance test) dilakukan oleh customer dan fokus pada
keseluruhan fitur dan fungsional sistem. Acceptance test diperoleh dari customer stories yang
telah diimplemetasikan sebagai bagian dari software release.
Artefak XP

Siklus Hidup

Pengertian Scrum software development


Scrum merupakan framework untuk manajemen pengembangan software dengan
karakteristik cekatan dan bersifat iteratif dan incremental. Scrum mendefinisikan dirinya

fleksible, strategi pengembangan yang menyeluruh di mana seluruh team bekerja sebagai satu
unit dalam mencapai sebuah gol yang sama.
Dalam menjalankan kerjasama antara anggota team, scrum menekankan lokasi fisik yang
sama atau sarana online yang akrab antara semua member, dan juga pertemuan muka dengan
muka setiap hari antara semua anggota team.
Prinsip kunci dari scrum adalah memahami bahwa dalam project yang tengah berlangsung,
klien mungkin mengubah apa yang menjadi kebutuhan dan keinginannya. Perubahan sulit
diadaptasi oleh framework pengembangan aplikasi yang bersifat tradisional. Scrum
menerima perubahan ini dan memaksimalkan seluruh anggota team untuk menyesuaikan
perubahan mendadak ini.
Scrum mengadopsi permainan Rugby yang begitu mudah menyesuaikan diri semua anggota
team setelah ada sedikit pelanggaran. Kemudian menyesuaikan diri inilah yang mengimpirasi
scrum.
Scrum mempunyai 3 Role
1. Product Owner
Pengertian produk adalah tujuan dari proyek. Product Owner memastikan bahwa
proyek berjalan sesuai yang diharapkan. Product Owner merupakan penjembatan
antara client dengan team development. Product Owner akan menuliskan spesifikasispesifikasi sesuai cara pandang client, di lain pihak harus punya empati terhadap
anggota team.

2. Team Member
Dilihat dari namanya jelas yaitu anggota-anggota team.

3. Scrum Master
Scrum Master akan mencegah hal-hal yang mengalihkan focus team. Scrum master
akan membuat suasana kondusif supaya team dapat bekerja sama dalam mencapai
goal.
Event penting dalam Scrum adalah sprint/iteration. Sprint merupakan unit dasar dalam
development dengan Scrum. Sprint merupakan jangka waktu yang dibatasi pada suatu durasi
1 minggu, 2 minggu atau 1 bulan. Setiap sprint dimulai dengan planning meeting dan diakhiri
dengan sprint review dan retrospective meeting.

Dari https://www.cprime.com/wp-content/static/images/resources/ScrumCycle.jpg kita

mendapatkan

gambar

seperti

berikut

Proses penting dalam Scrum antara lain:


1. Backlog refinement
2. Sprint planning
3. Daily Scrum
4. Sprint review meeting
5. Sprint retrospective meeting

Referensi:
http://www.idea.org/blog/2005/12/02/adaptive-vs-predictive-is-the-end-clear/
http://sahrirzul.blogspot.co.id/2013/12/pengertian-dari-unified-process-dan.html
https://keinatralala.wordpress.com/2013/12/13/metodologi-extreme-programming/

ini:

http://www.proweb.co.id/articles/erp/pengertian_scrum.html

Anda mungkin juga menyukai