TUGAS 1_ADSK
description
Transcript of TUGAS 1_ADSK
TUGAS 1
PARADIGMA PERANGKAT LUNAK
Nama : Endra Sudrayana H.
NIM : 10211028
Kelas : SK – 2
Mata Kuliah : Analisis Desain Sistem Komputer
Nomor Mata Kuliah : TK36203
Dosen : Selvia Lorena Br Ginting, M.T
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
UNIKOM Page | 1
BAB 1
PENDAHULUAN
Pada zaman modern sekarang ini, teknologi seakan tidak terlepas dari
kehidupan manusia di perkotaan.Dari seseorang akan memulai aktivitas hingga akan
berisirahat pada malam hari. Seakan teknologi sekarang ini sudah menjadi bagian
kehidupan dari manusia.
Teknologi pada saat ini tidak hanya mencangkup telekomunikasi saja, tetapi
dari peralatan perkantoran sampai dengan peralatan rumah tangga tidak lepas dari
peran sebuah teknologi. Teknologi yang ada tidak terlepas dari bagaimana seorang
programmer membuat sebuah software, untuk diterapkan ke suatu perangkat
keras(hardware) supaya hardware tersebut bekerja secara maksimal dan bekerja
seperti apa yang diharapkan.
Sebagai contoh sistem scan barcode di minimarket, pada mulanya sebelum
sistem barcode diciptakan, mungkin seorang penjual hanya mengandalkan kalkulator
untuk menghitung jumlah total harga dari belanjaan. Tetapi dengan terciptanya sebuah
teknologi seorang kasir hanya perlu menscan barcode yang ada pada sebuah barang,
maka dengan sendirinya harga akan muncul dan menjumlahkan semua belanjaan
karena bantuan dari suatu software.
Disinilah peran dari seorang programmer dimana dia harus mampu
menginstruksikan seperangkat hardware melalui intruksi-intruksi yang dapat
membangun sebuah kinerja sistem yang disebut software, sesuai dengan keinginan
serta kebutuhan dari konsumen.
Dari suatu software yang sudah terbentuk serta di produksi, para programmer
terus mengembangkan software tersebut, supaya lebih efisien, efektif serta lebih
mudah dipahami oleh orang-orang yang baru mengenal suatu software tersebut.
Dengan merekayasa sebuah software yang telah terbangun tersebut terciptalah istilah
Software Engineering(Rekayasa Perangkat Lunak).
Terdapat beberapa Paradigma Rekayasa Perangkat Lunak yang diterapkan
oleh beberapa Programmer atau perusahaan dalam membangun sebuah software,
yang akan kita bahas dalam makalah ini.
UNIKOM Page | 2
BAB 2
DESKRIPSI REKAYASA PERANGKAT LUNAK
Ketika mendengar perangkat lunak (software), hal yang kita bayangkan pertama
kali ialah sebuah aplikasi yang bekerja dalam sebuah sisem operasi atau bahkan
sistem operasi itu sendiri. Secara garis besar Software adalah sebuah program
komputer yang dapat menjembatani antara pengguna dan Hardware, yang berupa
instruksi-intruksi yang diproses oleh Hardware sehingga menghasilkan output yang
user inginkan.
Sebuah Software yang dibangun lalu dipelihara serta dikembangkan kembali
menjadi sebuah software yang lebih efisien serta efektip, sehingga menciptakan
software yang berkualitas, inilah yang bisa disebut dengan Rekayasa Perangkat Lunak.
Terdapat beberapa definisi mengenai Rekayasa Perangkat Lunak itu sendiri, seperti
yang akan dijelaskan dibawah ini.
Menurut Stephen R. Schach Rekayasa Perangkat Lunak adalah “Sebuah
disiplin dimana dalam menghasilkan perangkat lunak bebas dari kesalahan dan dalam
pengiriman anggaran tepat waktu serta memuaskan keinginan pemakai”. Pernyataan
Stephen R. Schach ini mengacu kepada hal-hal yang ingin dicapai oleh Software Crisis.
Dimana berdasarkan tepat waktu, sesuai budget, berkualitas, serta sama seperti apa
yang diinginkan oleh konsumen.
Lalu menurut Fritz Bauer Rekayasa Perangkat Lunak ialah “Penetapan dan
penggunaan prinsip rekayasa dalam rangka memperoleh perangkat lunak yang dapat
dipercaya dan dapat bekerja secara efisien pada mesin nyata”. Fritz Bauer mengartikan
Rekayasa Perangkat Lunak merupakan cara untuk mendapatkan Software yang
ekonomis serta efisien yang diterapkan pada sebuah mesin nyata.
Sementara menurut IEEE Computer Society Rekayasa Perangkat Lunak
merupakan “Sebuah studi pendekatan dan aplikasi secara sistematis, disiplin
pengembangan operasi dan pemeliharaan perangkat lunak yang kesemuanya itu
merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak”. Pernyataan
IEEE 610.12 lebih mengarah kepada konsep dari Rekayasa Perangkat Lunak.
Sedangkan menurut Janner Simarmata Rekayasa perangkat lunak
“merupakan program – program komputer yang berguna untuk menjalankan suatu
pekerjaan sesuai dengan yang dikehendaki. Program tersebut tertulis dengan bahasa
khusus yang dimengerti oleh komputer”. Pernyataan Janner Simarmata ini lebih menitik
beratkan hubungan antara perangkat keras dengan sesuatu yang diinginkan oleh
pengguna.
UNIKOM Page | 3
BAB 3
PARADIGMA REKAYASA PERANGKAT LUNAK
Dalam membangun suatu perangkat lunak, perusahaan biasanya menerapkan
berbagai paradigma Rekayasa Perangkat Lunak dalam mencapai suatu software yang
berkualitas yang hendak dibangun. Bisa dengan cara mensurvei dari beberapa
pengguna, ataupun bertanya kepada konsumen secara langsung software seperti apa
yang dikehendaki. Di bawah ini terdapat macam-macam proses membangun Software,
atau dapat disebut juga paradigma Rekayasa Perangkat Lunak. Diantaranya :
1. Waterfall Model / Linear Sequential Model
Paradigma yang satu ini terdapat dalam System Development Life-Cycle
(SDLC). Model ini merupakan model klasik dalam perancangan sebuah
Rekayasa Perangkat Lunak. Disebut waterfall atau air terjun dikarena dalam
menyelesaikan perancangan model ini dilakukan secara sistematis, serta
memiliki beberapa fase. Setiap fase yang sedang dikerjakan harus diselesaikan
terlebih dahulu sebelum melanjutkan ke fase berikutnya.
gb. 1 Paradigma Model Waterfall (Ian Sommerville)
Dari gambar di atas terlihat fase demi fase sangat berkaitan sehingga disebut
air terjun. Dibawah ini akan dijelaskan fase-fase dari paradigma model waterfall.
- Requirement Analysis (Analisis Kebutuhan)
Seorang sistem analis akan menggali informasi mengenai software
seperti apa yang diinginkan oleh user, sehingga menghasilkan dokumen
user requirement yang akan menjadi acuan untuk programmer
menerjemahkan ke bahasa pemrograman.
UNIKOM Page | 4
- System Design (Desain Sistem)
Proses ini berfokus pada struktur data, arsitektur perangkat lunak,
representasi interface, dan detail (algoritma) prosedural. Tahapan ini
akan menghasilkan dokumen yang disebut software requirment.
Dokumen ini dibutuhkan programmer untuk memulai aktifitas pembuatan
sistemnya.
- Implemenation (Penulisan Kode Program(coding and testing))
Dalam tahap ini programmer memulai perannya dalam membuat
suatu perangkat lunak. Programmer akan mengaplikasikan keiinginan
dari user ke dalam bahasa yang dimengerti komputer. Setelah
pengkodean selesai dilakukanlah testing pada program yang telah
selesai dibuat, yang bertujuan untuk melihat kesalah yang ada, sehingga
dapat diperbaiki.
- Integration and Testing (Penerapan dan Pengujian Program)
Dalam tahap ini dapat dibilang sebuah Software telah selesai dibuat.
Sehingga sistem yang telah melalui tahap analisa, desain, serta
pengkodean dapat dipakai oleh user.
- Operation and Maintenance (Pengoperasian serta Pemeliharaan)
Sebuah sistem yang telah terbentuk akan mengalami perubahan,
apakah itu terjadi karena peripheral atau sisem operasi yang baru,
ataupun perkembangan fungsional yang dikehendaki oleh user.
2. Spiral Model
Meskipun Waterfall Model telah menjadi model standar bagi setiap agen
pemerintahan atau pembuat perangkat lunak. Tetapi karena masih banyak
terjadi kesalahan, serta ingin menciptakan manajemen proses yang lebih
mudah, maka pada tahun 1988 Boehm mengusulkan sebuah model secara
eksplisit. Model yang diciptakan Boehm berbentuk spiral, dimana setiap loop
mewakili sebuah tahap dari proses perangkat lunak.
gb. 2 Paradigma Model Spiral
UNIKOM Page | 5
Perlu diketahui bahwa dalam paradigma Model Spiral ini tidak ada tahapan
yang tetap, manajemen harus memutuskan bagaimana membentuk proyek
kedalam tahap-tahap. Sebagai contoh dibawah ini terdapat loop yang terbagi ke
dalam 4 sektor.
- Pembuatan tujuan
Dalam tahapan ini tujuan, hamabatan, serta resiko-resiko yang mungkin
terjadi di rincikan. Sehingga tebentuk strategi-strategi alternatif yang
direncanakan sesuai dengan resiko yang ada.
- Perkiraan dan pengurangan resiko
Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya.
Kemudian diambil langkah-langkah untuk mengurangi resiko. Sehingga
tercipta alternative yang dapat diambil.
- Pengembangan dan validasi
Setelah resiko dievaluasi, sebuah model pengembangan untuk sebuah
sistem dipilih. Sehingga pengembangan yang diinginkan oleh user untuk
mencapai keinginan konsumen dapat terpenuhi.
- Perencanaan
Ketika sebuah model spiral selesai dibuat, maka dapat direncanakan
kembali model spiral selanjutnya.
3. Prototype Model
Dalam pemodelan ini dapat dilihat secara jelas gambaran dari sebuah
sistem, dimana pihak pengembang akan melakukan identifikasi masalah apa
saja yang dibutuhkan oleh user. Dimana identifikasi itu meliputi model interface,
teknik prosedural dan teknologi yang akan dimanfaatkan.
gb. 3 Paradigma Model Prototype
Secara ringkas, tahapan-tahapan dalam model prototyping adalah:
UNIKOM Page | 6
- Tahap Pengumpulan kebutuhan
Pada tahap ini, pelanggan dan pengembang saling bantu dalam
mendefinisikan format seluruh perangkat lunak, menentukan keperluan dan
garis besar sistem yang akan dirancang.
- Tahap Quick design
Membangun rancangan global sebagai contoh bagi user.
- Tahap Pembangunan Prototipe
Proses perancangan sementara yang fokusnya kepada penyajian kepada
pelanggan, termasuk pengujian dan penyempurnaan.
- Tahap Evaluasi Pelanggan
Proses ini dimana pelanggan melakukan pengujian terhadap prototipe
yang ada dan pengembang memperhalus analisis kebutuhan pemakai.
- Tahap Pembuatan dan Implementasi
Pada tahap ini termasuk proses desain (rancang), pengkodean serta testing.
4. RAD (Rapid Application Development)
Rapid Application Development (RAD) merupakan model proses
pengembangan software yang linier sequencial, yang menggunakan siklus
pengembangan yang singkat.
gb. 4 Paradigma Rapid Application Development (RAD)
Pendekatan RAD terjadi melalui beberapa fase:
- Business Modeling
Aliaran informasi fungsi bisnis dimodelkan untuk bisa menjawab berbagai
macam pertanyaan.
- Data Modelling
Aliran informasi yang telah didefinisikan disempurnakan lagi menjadi
kumpulan objek data, yang dibutuhkan untuk mendukung sistem tersebut
UNIKOM Page | 7
- Proses Modelling
Objek data yang telah didefinisikan ditransformasi untuk mendapatkan
aliran informasi yang mungkin mengimplementasikan fungsi bisnis.
Deskripsi proses dibuat untuk menambah, modifikasi, penghapusan, atau
pencarian objek data.
- Application Generation
Pekerjaan proses RAD dilakukan dengan menggunakan kembali program
yang sudah ada atau membuat komponen dari suatu program yang bisa
dipergunakan kembali.
- Testing & Turnover
Karena proses RAD mempergunakan kembali komponen yang sudah
ada, maka beberapa komponen program telah teruji. Hal ini bisa mengurangi
waktu pengujian secara keseluruhan, akan tetapi komponen harus tetap di
uji.
5. XP (Extreme Programming)
Pemodelan Extreme Programming hadir dengan menawarkan sebuah
disiplin baru dalam pengembangan Perangkat Lunak secara cerdas. Nilai dasar
yang ada dalam Extreme Programming adalah: Komunikasi (Communication),
Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage)
dan menghormati (Respect).
gb. 5 Pemodelan Exreme Programming
UNIKOM Page | 8
Kent Beck sebagai penggagas metode ini mendefinisikan empat kunci
utama (inti) dari XP yaitu:
- Communication (Komunikasi)
Dalam pemodelan ini komunikasi dilakukan secara pemrograman
berpasangan (pair programming). Yaitu memberikan pandangan yang sama
antara pengembang dengan pandangan pengguna sistem.
- Simplicity (Kesederhanaan)
Perbedaan metode ini dengan metode pengembangan sistem
konvensional lainnya terletak pada proses desain dan coding yang terfokus
pada kebutuhan saat ini dari pada kebutuhan pada lain hari. Karena
pengembang melakukan hal yang sederhana dan mengembangkannya jika
diperlukan.
- Feedback (Masukan)
Feedback dimaksudkan agar hal-hal yang menjadi masalah dalam proses
pengembangan dapat diketahui sedini mungkin, setiap feed back ditanggapi
dengan melakukan tes.
- Courage (Keberanian)
Pengembang berani mencoba ide baru. Berani mengerjakan kembali dan
setiap kali kesalahan ditemukan, maka akan langsung diperbaiki.
- Respect (Menghormati)
Rasa saling menghormati pada tiap individu dalam team, sangat
berpengaruh pada hasil sebuah proyek yang dikerjakan. Karena bersifat
continue, programmer tidak boleh melakukan perubahan yang dapat
merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau
memperlambat kerja team. Sehingga kualitas dari sebuah Software akan
menjadi berkualitas tinggi, karena setiap individu mengerjakan pekerjaannya
sendiri tanpa mencampuri urusan dari individu lainnya.
UNIKOM Page | 9
Dari beberapa paradigma diatas masih terdapat beberapa paradigma yang
masih terdapat paradigma Rekayasa Perangkat Lunak, tetapi tidak dibahas secara
mendetail. Diantaranya :
- 4th Generation Technique
Yaitu pengembangan perangkat lunak menggunakan tools atau bantuan
yang telah tersedia, serta menggunakan banyak connecting untuk
databasenya, serta memberikan kemudahan bagi para pengembangnya
dalam memenuhi reques software dari pelanggan.
Tahap tG4=requipment,design(untuk aplikasi besar),coding, serta
maintenance.
- UML (Unified Modeling Language)
Adalah sebuah bahasa model, yaitu bahasa yang mempunyai vocabulary
dan konsep tatanan atau aturan penulisan serta secara fisik
mempresentasikan dari sebuah sistem.
UNIKOM Page | 10
BAB 4
PERBANDINGAN 3 PARADIGMA REKAYASA PERANGKAT LUNAK
Dari beberapa paradigma Rekayasa Perangkat Lunak yang disebutkan pada
bab sebelumnya, disini akan dikupas kelebihan serta kekurangan dari 3 buah
paradigma Rekayasa Perangkat Lunak. Diantaranya, Waterfall Model, Spiral Model
serta Prototype Model.
1. Waterfall Model
Kelebihan yang ada dalam pemodelan ini, diantaranya:
- Mudah untuk diaplikasikan.
- Tanggung jawab jelas dalam pemodelan ini, karena peran dari personal
dalam penjadwalan proyek.
- Kualitas yang dihasilkan di pemodelan ini sangat baik, karena proses
pengerjaanya lebih teratur dan sistematis.
- Timeline serta jadwal pengerjaan jelas.
- Menghasilkan template atau dokumen tentang metode analisis,
pegkodean, pengujian, desain, serta pemeliharan sangat terorganisir.
Tetapi dibalik kelebihan dari pemodelan waterfall terdapat juga kekurangan,
yaitu:
- Ketika proyek sudah berjalan, maka perubahan ketika proyek sedang
dikerjakan tidak dapat dilakukan.
- Pelanggan harus menunggu hingga program selesai apabila ingin
melakukan perubahan, dan itu harus dilakukan dari awal.
- Pengembang melakukan penundaan yang tidak perlu, karena anggota
proyek harus menunggu anggota yang mengerjakan proyek sebelumnya
menyelesaikan tugasnya.
2. Spiral Model
Kelebihan yang ada dalam Spiral model adalah:
- Pengembang serta pemakai mudah memahami karena perangkat lunak
terus bekerja pada saat proses berlangsung.
- Cocok untuk pengembangan serta Perangkat Lunak skala besar.
- Resiko akan lebih kecil jika terjadi, karena telah dirincikan sebelumnya.
UNIKOM Page | 11
Pemodelan inipun memiliki kekurangan diantaranya:
- Memerlukan tenaga ahli untuk menghitung resiko yang akan terjadi.
- Karena pemodelan ini baru, maka belum sangat teruji.
3. Prototype Model
Prototype Model mempunyai keunggulan sebagai berikut:
- Sifatnya yang interaktif membuat pengembang dan pengguna dapat
melakukan perubahan di tengah proyek.
- Penghematan waktu pengembangan.
- Pengguna dapat berperan dalam pengembangan.
- Keinginan pelanggan dapat tersalurkan dengan baik.
Prototype juga mempunyai kelemahan, diantaranya:
- Proses perancangan dan analisis terlalu singkat.
- Perubahan yang terjadi tidak memperhatikan kualitas serta
pemeliharaan jangka panjang.
- Pengembang membuat kompromi dalam implementasi serta algoritma
yang tidak efisien.
UNIKOM Page | 12
BAB 5
PENUTUPAN DAN KESIMPULAN
Pentingnya sebuah software dibidang industri, membuat software banyak
diproduksi. Tetapi dari banyaknya software yang dibuat tidak sedikit yang tidak
dipergunakan oleh pengguna. Hal ini dikarenakan kebutuhan software tidak sesuai
dengan keinginan konsumen, atau software yang sulit dimengerti oleh konsumen.
Maka dari itu perancangan akan sebuah software membutuhkan saran atau
pengembang harus mendengar keingin dari konsumen. Walaupun hasilnya mungkin
tidak sepenuhnya seperti apa yang diinginkan, paling tidak sebuah software yang
tercipta mendekati sempurna agar pengembangan yang dilakukan hanya berdasarkan
kebutuhan konsumen.
Setiap Perangkat Lunak yang dibuat oleh pengembang dapat dilakukan dengan
macam-macam strategi, tentu saja hal ini akan berlandaskan terhadap keinginan dari
konsumen yang akan menjadi pengguna dari sebuah Software yang diciptakan.
Dimana strategi tersebut akan membangun suatu kineja sistem yang berkualitas tinggi.
Metode yang diterapkan oleh pengembang Rekayasa Perangkat Lunak
bermacam-macam, dari yang bersifat efisien, tepat waktu, hingga yang fleksibel dimana
konsumen dapat melakukan perubahan kebutuhan ketika proyek sedang terjadi.
Dimana hal tersebut akan berpengaruh terhadap hasil Software yang dibuat.
UNIKOM Page | 13
DAFTAR PUSTAKA
- Slide Paradigma Rekayasa Perangkat Lunak, Selvia Lorena Br Ginting, M.T
- http://avaarif.blogspot.com/2013/05/pengertian-dan-tujuan-rekayasa.html
- http://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak
- http://bacaanbermanfaat28.blogspot.com/2013/03/rpl-rekayasa-perangkat-
lunak.html
- http://shandabrotz.blog.widyatama.ac.id/2013/10/10/rpl-tugas-3-paradigma-
pengembang-perangkat-lunak/
- http://dwixuty.blogspot.com/2012/09/kelebihan-dan-kekurangan-model-
proses.html
- http://topiknopyana.blogspot.com/2013/08/salah-satu-paradigma-rekayasa-
perangkat.html
- http://nanda22.blog.widyatama.ac.id/2013/10/11/paradigma-perancangan-
perangkat-lunak/
- http://johns1987.wordpress.com/2011/12/04/paradigma-rekayasa-perangkat-
lunak/