Anda di halaman 1dari 13

Review Rekayasa Perangkat Lunak

Nama : Mochamad Alansyah


NIM : T3117017
Kelas : 5 Reg B
Mata Kuliah : Rekaya Perangkat Lunak (RPL)

Teknik Informatika
Fakultas Ilmu Komputer
Universitas Ichsan Gorontalo
Pengertian Perangkat Lunak
Pengertian Perangkat Lunak (Software) Komputer dan Fungsinya - Komputer tidak akan lepas
dari perangkat lunak (software) karena merupakan salah satu bagian terpenting dari komputer
itu sendiri. Komputer merupakan sistem elektronik yg fungsinya memanipulasi data yang cepat
dan tepat serta akurat yg telah di rancang dan di organisasikan supaya secara otomatis
menerima atau menyimpan data input dan masukan, kemudian memprosesnya dan
menghasilkan output di bawah pengawasan suatu langkah-langkah, instruksi-instruksi program
yg tersimpan di memori (stored program).

Definisi Rekayasa Perangkat Lunak (RPL)


Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara - cara
pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi
pengembanganan perangkat lunak dan manajemen kualitas (wikipedia).

Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan
terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi
atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak
(EEE Computer Society)

Jadi Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna
mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip
reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif
untuk pengguna.

Tujuan Rekayasa Perangkat Lunak


Secara lebih khusus kita dapat menyatakan tujuan dari Rekayasa Perangkat Lunak ini adalah :

 Memperoleh biaya produksi perangkat lunak yang rendah.


 Menghasilkan perangkat lunak yang kinerjanya tinggi, handal dan tepat waktu.
 Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
 Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Kriteria Dalam Merekayasa Perangkat Lunak

 Dapat terus dirawat dan dipelihara (maintainability).


 Dapat mengikuti perkembangan teknologi (dependability).
 Dapat mengikuti keinginan pengguna (robust)..
 Efektif dan efisien dalam menggunakan energi dan penggunaannya.
 Dapat memenuhi kebutuhan yang diinginkan (usability).

Ruang Lingkup Rekayasa Perangkat Lunak

 Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan


perangkat lunak.
 Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan
karakteristik lain dari perangkat lunak.
 Software construction berhubungan dengan detail pengembangan perangkat lunak,
termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
 Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
 Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan.
 Software configuration management berhubungan dengan usaha perubahan
konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
 Software engineering management berkaitan dengan pengelolaan dan pengukuran
RPL, termasuk perencanaan proyek perangkat lunak.
 Software engineering tools and methods mencakup kajian teoritis tentang alat bantu
dan metode RPL.

Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain

Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan
bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan beberapa
disiplin ilmu lain diluar ilmu komputer.
 Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen
operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan,
dan strategi bisnis.
 Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis
numerik, dan matematika diskrit.
 Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek,
seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan
keandalan, perbaikan kualitas, dan metode-metode kuantitatif.

SDLC (System Development Life Cycle)

atau Siklus hidup pengmbangan system adalah proses pembuatan dan pengubahan
sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem
tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga
merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri
dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi
(implementation), uji coba (testing) dan pengelolaan (maintenance) proses pembuatan dan
pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan
sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi.
SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak,
yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design),
implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).
Model SDLC (Software Development Life Cycle)

1. Pengertian Analisis Sistem

Analisis system adalah penguraian dari suatu system yang utuh kedalam kegiatan-kegiatan
komponennya, dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-
permasalahan, kesempatan-kesempatan, hambatan-hambatan, yang terjadi dan kebutuhan-
kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

2.Desain Sistem (Design)

Desain Sistem adalah persiapan rancang bangun implementasi yang menggambarkan


bagaimana suatu sistem dibentuk yang berupa penggambaran, perencanaan dan pembuatan
sketsa atau pengaturan dari beberapa elemen yang terpisah kedalam satu kesatuan yang utuh
dan berfungsi, menyangkut di dalamnya konfigurasi komponen perangkat lunak dan
perangkat keras dari suatu sistem.

3.Penulisan Program atau Pengkodean (Coding)

Menerjemahkan hasil proses perancangan menjadi sebuah bentuk program komputer yang
dimengerti oleh mesin komputer.

4.Ujicoba Program (Testing)Ujicoba software merupakan elemen yang kritis dari


SQA(Software Quality Assurance) dan mempresentasikan tinjauan ulang yang menyeluruh
terhadap spesifikasi, desain dan pengkodean. Ujicoba mempresentasikan ketidak normalan
yang terjadi pada pengembangan software. Selama definisi awal dan fase pembangunan,
pengembangan berusaha untuk membangun software dari konsep yang abstrak sampai
dengan implementasi yang memungkinkan.
6.Pemeliharaan Sistem (Maintenance)

Ada 3 alasan perlunya pemeliharaan sistem, yaitu:

a) Untuk membenarkan kesalahan atau kelemahan sistem yang tidak terdeteksi pada saat
pengujian.
b) Untuk membuat sistem up to date
c) Untuk meningkatkan kemampuan sistem

Pemrograman Terstruktur
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program yang
berisi instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis
supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi.
Pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program
sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari
manapun dalam program dan dapat mengunakan parameter yang berbeda-beda untuk setiap
pemanggilan. Bahasa pemrograman terstruktur adalah pemrograman yang mendukung
abstraksi data, pengkodean terstruktur dan kontrol program terstruktur. Sedangkan Prosedur
adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan dengan
menggunakan parameter tertentu.
Sejarah Metodologi Pemrograman
Ide pemrograman terstruktur pertama kali diungkapkan oleh Prof Edsger Djikstra dari
Universitas Eindhoven sekitar tahun 1965. Dalam papernya, Djikstra mengusulkan peniadaan
perintah GOTO pada pemrograman terstruktur. Berbeda dengan pendapat HD Millis yang
mengungkapkan bahwa pemrograman terstruktur tidak tergantung pada ada tidaknya GOTO
tetapi lebih pada struktur program itu sendiri. Dari pernyataan keduanya, memberikan
gambaran tidak adanya definisi yang jelas untuk pemrograman terstruktur. Tetapi dapat digaris
bawahi bahwa pemrograman terstruktur merupakan suatu proses untuk mengimplementasikan
urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Alasan Pemrograman Terstruktur ialah
– Krisis metode pengembangan
– Kemampuan tenaga programmer tertinggal
– Sulitnya modifikasi program jika ada kesalahan atau perubahan
– Sulitnya modifikasi kode program karena tidak terstruktur dengan baik

Manfaat Pemrograman Terstruktur


– Dapat menangani program yang besar dan komplek
– Dapat menghindari konflik internal team
– Membagi kerja team berdasarkan modul-modul program yang sudah dirancang
– kemajuan pengerjaan sistem dapat dimonitor dan dikaji
Ciri – ciri Program Terstruktur (Good Program)
– Run correctly (Program handal)
– Run efficiently (Program menjadi sederhana / tidak rumit)
– Be easy to read and understand (Mudah dibaca dan ditelusuri)
– Be easy to debug (Program mudah ditelusuri kesalahannya)
– Be easy to modify (Program mudah dimodifikasi)

Tujuan dari pemrograman terstruktur adalah


1. Meningkatkan kehandalan suatu progam,
2. Program mudah dibaca dan ditelusuri,
3. Menyederhanakan kerumitan program,
4. Pemeliharaan program, dan
5. Meningkatkan produktivitas pemrograman.

Pemrograman terstruktur bercirikan:


1. Mengandung teknik pemecahan yang tepat dan benar,
2. Memiliki algoritma pemecahan masalah yang sederhana, standar dan efektif,
3. Memiliki struktur logika yang benar dan mudah dipahami,
4. Terdiri dari 3 struktur dasar yaitu urutan, seleksi dan perulangan,
5. Menghindari penggunaan GOTO,
6. Biaya pengujian rendah, Source Program penterjemah Machine Languages Komputer dan
Pemrograman
7. Memiliki dokumentasi yang baik,
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.

Langkah-langkah untuk membuat program yang baik dan terstruktur adalah:


1. Mendefinisikan Masalah
2. Menentukan Solusi
3. Memilih Algoritma
4. Menulis Program
5. Menguji Program
6. Menulis Dokumentasi
7. Merawat Program
8. Pengenalan Komputer
Standar Penyusunam Program

 Faktor faktor standart dalam menyusun program


 Kebenaran logika & penulisan
 Waktu minimum untuk penulisan program
 Kecepatan maksimum untuk eksekusiprogram
 Ekspresi penggunaan memori
 Perawatan dan pengembangan yang mudah
 User friendly
 Portabilitas/fleksibel
 Pemograman modular

Pemrograman berorientasi objek (Object Oriented Programming atau disingkat OOP)


adalah paradigma pemrograman yang berorientasikan kepada objek yang
merupakan suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan
kompleksnya berbagai masalah program yang terus meningkat. Objek adalah entitas yang
memiliki atribut, karakter (bahavour) dan kadang kala disertai kondisi (state) (Douglas,
1992).
Pemrograman berorientasi objek ditemukan pada Tahun 1960, dimana berawal dari suatu
pembuatan program yang terstruktur (structured programming). Metode ini dikembangkan
dari bahsa C dan Pascal. Dengan program yang terstruktur inilah untuk pertama kalinya kita
mampu menulis program yang begitu sulit dengan lebih mudah.
Ide dasar pada OOP adalah mengkombinasikan data dan fungsi untuk mengakses
data menjadi sebuah kesatuan unit yang dikenal dengan nama objek. Objek adalah struktur
data yang terdiri dari bidang data dan metode bersama dengan interaksi mereka untuk
merancang aplikasi dan program komputer. Semua data dan fungsi di dalam paradigma ini
dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan,
memproses data, dan mengirim pesan ke objek lainnya.

Pemrograman berorientasi objek dalam melakukan pemecahan suatu masalah tidak


melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-
objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh sebuah
departemen yang memiliki seorang manager, sekretaris, petugas administrasi data dan
lainnya. Jika manager ingin memperoleh data dari bagian administrasi maka manager
tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian
administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus
mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan
data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah
dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi
tugasnya sendiri.

Pemrograman berorientasi objek bekerja dengan baik ketika dibarengi dengan Objek-
Oriented Analysis And Design Process (OOAD). Jika membuat program berorientasi objek
tanpa OOAD, seperti membangun rumah tanpa terlebih dahulu penganalisis apa saja yang
dibutuhkan oleh rumah itu, tanpa perencanaan, tanpa blue-print, tanpa menganalisis
ruangan apa saja yang diperlukan, beberapa besar rumah yang akan dibangun dan
sebagainya.

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Dasar Pemrograman Berorientasi Objek


a. Kelas (class)

Kelas (class) merupakan penggambaran satu set objek yang memiliki atribut yang
sama. Kelas mirip dengan tipe data ada pemrograman non objek, akan tetapi lebih
komprehensif karena terdapat struktur sekaligus karakteristiknya. Kelas baru dapat dibentuk
lebih spesifik dari kelas ada umumnya.kelas merupakan jantung dalam pemrograman
berorientasi objek.

b. Objek (Object)

Objek merupakan teknik dalam menyelesaikan masalah yang kerap muncul dalam
pengembangan perangkat lunak. Teknik ini merupakan teknik yang efektif dalam
menemukan cara yang tepat dalam membangun sistem dan menjadi metode yang paling
banyak dipakai oleh para pengembang perangkat lunak. Orientasi objek merupakan teknik
pemodelan sistem riil yang berbasis objek.
Objek adalah entitas yang memiliki atribut, karakter dan kadang kala disertai kondisi. Objek
mempresentasikan sesuai kenyataan seperti siswa, mempresentasikan dalam bentuk
konsep seperti merek dagang, juga bisa menyatakan visualilasi seperti bentuk huruf (font).

c. Abstaksi (Abstraction)

Kemampuan sebuah program untuk melewati aspek informasi yang diolah adalah
kemampuan untuk fokus pada inti permasalahan. Setiap objek dalam sistem melayani
berbagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan
serta berkomunikasi dengan objek lain dalam sistem, tanpa harus menampakkan kelebihan
diterapkan.

d. Enkapsulasi (pembungkus)

Pembungkusan merupakan penggabungan potongan-potongan informasi dan


perilaku-perilaku spesifik yang bekerja pada informasi tersebut, kemudian mengemasnya
menjadi sesuatu yang disebut objek (Nugroho,2005).

Enkapsulasi adalah proses memastikan pengguna sebuah objek tidak dapat menggantikan
keadaan dari sebuah objek dengan cara yang tidak sesuai prosedur. Artinya, hanya metode
yang terdapat dalam objek tersebut yang diberi izin untuk mengakses keadaan yang
diinginkan. Setiap objek mengakses interface yang menyabutkan bagaimana objek lainnya
dapat berintegrasi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada
representasi dalam objek tersebut.

e. Polimorfisme

Polimorfise merupakan suatu fungsionalitas yang diimplikasikan dengan berbagai


cara yang berbeda. Pada program berorientasi objek, pembuat program dapat
memiliki berbagai implementasi untuk sebagian fungsi tertentu.

f. Inheritas (Pewarisan)

Konsep inheritas mempunyai fungsi mengatur polimorfise dan enkapsulasi dengan


mengizinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah
ada. Objek-objek ini dapat membagi dan memperluas perilaku mereka tanpa
mengimplementasikan perilaku tersebut.

Bahasa pemrograman yang mendukung OOP

1. PHP
2. Java
3. Python
4. Ruby
5. C++
6. Delphi
7. C#
8. Net
9. Perl
Daftar Pustaka

 http://materikuliahteknik04.blogspot.com/2016/01/pemrograman-terstruktur.html
 https://tunjungnamira.wordpress.com/2009/11/22/pemograman-terstruktur/
 https://yusufwahyuu.wordpress.com/2017/03/01/metode-metode-sdlc/
 https://rahmatagusblog.wordpress.com/2018/11/11/pengertian-sdlc-dan-macam-
macam-metode-sdlc/
 http://sisteminforman.blogspot.com/2015/11/definisi-tentang-rekayasa-perangkat.html
 https://www.dosenpendidikan.co.id/rekayasa-perangkat-lunak/
 https://www.it-jurnal.com/pengertian-rekayasa-perangkat-lunak/
 Kelebihan
Mahasiswa dapat mengetahui mendalam tentang apa itu Rekayasa Perangkat Lunak,
tujuan Rekayasa Perangkat Lunak, bagaimana cara dalam mengoprasikan perangkat
lunak, dan langkah langkah dalam membuat sebuah perangkat lunak.

 Kekurangan
Susahnya dalam mempelajari bahasa bahasa pemograman dalam membuat sebuah
perangkat lunak atau merekayasa perangkat lunak, sehingga menyusahkan para pemula.
sementara di dunia yang dewasa ini semua perangka lunak yang dibuat harus
menggunakan bahasa pemograman tertentu, dan permintaan client terhadap produk
produk aplikasi yang baru terus meningkat.

 Saran
Kedepanya akan tercipta bahasa pemograman yang baru yang mudah dipahami dan
dipelajari semua orang.

Anda mungkin juga menyukai