TUGAS 1_ADSK

14
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

description

tugas adsk

Transcript of TUGAS 1_ADSK

Page 1: 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

Page 2: TUGAS 1_ADSK

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.

Page 3: TUGAS 1_ADSK

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.

Page 4: TUGAS 1_ADSK

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.

Page 5: TUGAS 1_ADSK

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

Page 6: TUGAS 1_ADSK

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:

Page 7: TUGAS 1_ADSK

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

Page 8: TUGAS 1_ADSK

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

Page 9: TUGAS 1_ADSK

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.

Page 10: TUGAS 1_ADSK

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.

Page 11: TUGAS 1_ADSK

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.

Page 12: TUGAS 1_ADSK

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.

Page 13: TUGAS 1_ADSK

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.

Page 14: TUGAS 1_ADSK

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/