Anda di halaman 1dari 11

MODUL PERKULIAHAN

Rekayasa Sistem
Informasi
Pendahuluan

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

01
Fakultas Ilmu Sistem Informasi MKWP‐06 Rinto Priambodo, ST, MTI
Komputer

Abstract Kompetensi
Konsep sistem informasi, rekasaya Mengetahui fundamental rekayasa
perangkat lunak (software sistem informasi
engineering), sistem informasi sebagai
bagian dari perangkat lunak

Pembahasan
Pengertian Perangkat Lunak

Roger S. Pressman dalam bukunya Software Engineering: a practitioner’s approach 7th


edition menuliskan deskripsi perangkat lunak sebagai berikut:

1. Perangkat lunak adalah sekumpulan instruksi (program komputer) yang ketika


dieksekusi akan menyediakan fitur, fungsi dan performa yang diinginkan.
2. Struktur data yang memungkinkan program untuk memanipulasi informasi dengan
cukup.
3. Informasi deskriptif baik dalam bentuk hard copy maupun virtual yang
mendeskripsikan operasional dan penggunaan progam.

Jika dibandingkan dengan perangkat keras, maka perangkat lunak memiliki karakteristik
yang berbeda, yaitu:

1. Perangkat lunak dibangun atau direkayasa, bukan dimanufaktur seperti dalam


pengertian klasiknya.
Meskipun terdapat kemiripan antara pengembangan perangkat lunak dan
manufaktur perangkat keras, namun kedua aktivitias tersebut memiliki perbedaan
yang mendasar.
Dengan demikian proyek perangkat lunak tidak dapat dikelola dengan cara yang
sama dengan proyek manufaktur.
2. Software tidak dapat “aus”.
Perangkat keras memiliki tingkat kegagalan tinggi di usia awalnya (kegagalan ini
biasanya disebabkan karena kecacatan desain atau manufaktur). Ketika cacat
diperbaiki, tingkat kegagalan menurun ke tingkat yang lebih stabil selama beberapa
waktu. Begitu waktu tersebut berlalu, tingkat kegagalan kembali meningkat karena
komponen perangkat keras akan mengalami efek kumulatif dari debu, getaran,
penyiksaan, temperatur ekstrem dan banyak pengaruh keras lingkungan. Singkatnya
perangkat keras tersebut mulai “aus”.
Perangkat lunak tidak mengalami pengaruh keras dari lingkungan yang
menyebabkan “aus”. Kecacatan yang tidak ditemukan sebelumnya hanya akan
menyebabkan kegagalan di awal program berjalan. Bagaimanapun juga kecacatan
tersebut akan segera diperbaiki dan perangkat lunak menjadi lebih stabil.

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


2 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Namun demikian selama waktu hidupnya perangkat lunak akan mengalami
perubahan. Setiap kali perubahan dilakukan maka tingkat kegagalan akan kembali
meningkat tajam. Ketika belum sempat kembali ke titik stabil yang rendah,
perubahan kembali dilakukan sehingga mengakibatkan lonjaknya kembali tingkat
kegagalan. Sehingga tingkat kegagalan perlahan-lahan akan makin meninggi.
Perbedan lain dengan perangkat keras adalah jika komponen perangkat keras ada
yg aus maka akan digantikan oleh komponen cadangan. Namun tidak ada
komponen cadangan dalam perangkat lunak. Tiap kegagalan mengindikasikan
adanya kesalahan dalam desain maupun proses yang menerjemahkan desain
menjadi aplikasi. Dengan demikian aktifitas pemeliharaan yang tujuannya untuk
mengakomodasi perubahan menjadi lebih kompleks dibandingkan pemeliharaan
perangkat keras.
3. Meskipun industri mengarah ke konstruksi berbasis komponen, banyak perangkat
lunak tetap dibuat custom.
Komponen perangkat lunak harusnya juga didesain dan diimplementasi dengan cara
supaya dapat digunakan dalam banyak program. Komponen modern yang dapat
digunakan kembali membungkus data dan proses yang diaplikasikan pada data,
memungkinkan ahli perangkat lunak untuk membuat aplikasi dari bagian-bagian
yang sudah pernah dibuat sebelumnya.

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


3 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Domain aplikasi perangkat lunak
Pressman (2010) mengkategorikan perangkat lunak komputer saat ini menjadi tujuh:

System Sekumpulan perangkat lunak yang dibuat untuk melayani program lain.
software Beberapa system software (contohnya compiler, editor dan file management)
memproses strukur informasi yang kompleks namun jelas bentuknya. Aplikasi
lain (contohnya komponen O, driver, perangkat lunak jaringan omputer,
prosesor telekomunikasi) memproses data yang sebagian besar abstrak.
Namun dalam kedua kasus tersebut menunjukkan bahwa area perangkat
lunak ini memiliki karakter yang banyak berinteraksi dengan perangkat keras;
banyak penggunaan oleh banyak pengguna; operasi bersamaan yang
terjadwal, pembagian sumber daya dan manajemen proses yang canggih;
struktur data yang kompleks; dan banyak antarmuka eksternal.

Application Program yang berdiri sendiri yang menangani kebutuhan bisnis spesifik.
software Aplikasi dalam area ini memproses data bisnis atau teknis dengan cara yang
memfasilitasi operasi bisnis atau pembuatan keputusuan manajemen/teknis.
Sebagai tambahan terhadap aplikasi pemroses data konvensional, application
software digunakan untuk mengendalikan fungsi bisnis secara real-time.

Engineering/ Karakternya kebanyakan berupa algoritma-algoritma numerik. Mulai dari


scientific astronomi sampai volkanologi, mulai dari analisis tekanan otomotif sampai
software dinamika orbit pesawat ulang-alik, dan dari biologi molekular sampai
manufaktur otomatis. Namun aplikasi-aplikasi modern di area
engineering/scientific ini sekarang makin menjauh dari sekedar algoritma
numerik konvensional. Desain yang dibantu komputer, simulasi sistem dan
aplikasi interaktif lainnya mulai bergerak ke arah aplikasi yang real-time dan
juga berkarakter seperti system software.

Embedded Berada di dalam produk atau sistem dan digunakan untuk mengimplementasi
software dan mengendalikan fitur dan fungsi bagi pengguna akhir dalam sistem
tersebut. Embedded software dapat memiliki fungsi terbatas dan spesifik
(contohnya keypad pada oven microwave) atau menyediakan fungsi dan
kemampuan kontrol yang signifikan (contohnya fungsi digital dalam mobil
seperti kendali bahan bakar, tampilan dashboard dan sistem pengereman).

Product-line Didesain untuk menyediakan kemampuan spesifik untuk digunakan oleh

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


4 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
software banyak pengguna berbeda. Product-line software dapa fokus pada pasar yang
spesifik dan serupa (contohnya produk kontrol inventori) atau pasar yang lebih
luas (contohnya pemroses kata, pemroses tabel, komputer grafis, multimedia,
hiburan, manajemen data, dan aplikasi finansial bisnis maupun personal).

Web Kategori aplikasi yang berbasis jaringan komputer ini memiliki banyak macam
applications aplikasi. Dalam bentuknya yang paling sederhana, web applications dapat
berupa sekumpulan berkas yang terhubung dengan hypertext yang
menyajikan teks dan gambar terbatas. Namun demikian, dengan makin
berkembangnya Web 2.0 aplikasi web berkembang menjadi lingkungan
komputasi yang canggih yang tidak hanya menyediakan fitur-fitur stand-alone,
fungsi komputasi, dan konten bagi pengguna, namun juga terintegrasi dengan
database korporat dan aplikasi bisnis.

Artificial Memanfaatkan algoritma non-numerik untuk memecahkan problem kompleks


intelligence yang tidak dapat diselesaikan dengan komputasi sederhana. Aplikasi dalam
software area ini antara lain robotika, sistem pakar, pengenalan pola (citra dan suara),
jaringan kecerdasan buatan, pembuktian teorema, dan permainan.
Tabel Kategori Perangkat Lunak

Dibandingkan generasi perangkat lunak sebelumnya, ada beberapa tantangan yang harus
dihadapi oleh pengembang perangkat lunak saat ini, antara lain:

Open-world Perkembangan pesat dari teknologi jaringan nirkabel akan makin


computing mengarahkan pada komputasi terdistribusi. Tantangan yang dihadapi dalam
pengembangan perangkat lunak adalah untuk memungkinkan perangkat
mobile, PC dan sistem enterprise untuk saling berkomunikasi dalam jaringan.

Netsourcing Perkembangan World Wide Web yang sangat cepat membuat mesin
komputasi menjadi seperti penyedia konten. Tantangan bagi pengembang
perangkat lunak adalah untuk merancang aplikasi sederhana maupun canggih
untuk memberikan manfaat bagi pasar pengguna di seluruh dunia.

Open source Tren distribusi source code untuk system applications sehingga banyak orang
dapat berkontribusi untuk pengembangannya. Tantangannya adalah untuk
membuat source code menjadi lebih deskriptif dan lebih penting lagi adalah
untuk mengembangkan teknik yang memungkinkan pengguna dan
pengembang untuk mengetahui perubahan apa saja yang telah dilakukan dan

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


5 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
bagaimana perubahan tersebut masuk ke dalam aplikasi.
Tabel Tantangan Pengembangan Perangkat Lunak

Tantangan-tantangan tersebut muncul dan sulit diprediksi. Namun pengembang aplikasi


dapat mempersiapkan diri dengan membuat proses yang agile dan mampu beradaptasi
dengan mudah untuk mengakomodasi perubahan dramatis dalam teknologi dan aturan
bisnis yang pasti akan datang.

Legacy Software

Sistem perangkat lunak legacy dibangun bertahun-tahun yang lalu dan telah berulang kali
dimodifikasi untuk menyesuaikan dengan kebutuhan bisnis dan platform komputasi terbaru.
Pemeliharan legacy system ini seringkali memiliki kesulitan yang tinggi dan memiliki risiko
tinggi.

Sayangnya legacy software ini biasanya berkualitas buru, sulit dikembangkan, sulit
dimodifikasi dan memiliki dokumentasi yang sangat minim baik mengenai aplikasi itu sendiri,
perubahan yang pernah dilakukan, maupun hasil tes aplikasi tersebut. Padahal aplikasi
tersebut sangat penting bagi perusahaan dan tidak dapat dihilangkan.

Dengan demikian, apabila tidak ada keterpaksaan untuk mengubah aplikasi dan aplikasi
tersebut selalu berjalan dengan baik, maka sama sekali tidak ada yang harus dilakukan
untuk pemeliharaannya. Namun dengan berjalannya waktu, legacy system seringkali
berkembang karena beberapa alasan berikut:

- Perangkat lunak tersebut harus beradaptasi untuk memenuhi kebutuhan teknologi


atau lingkungan komputasi yang baru
- Perangkat lunak tersebut harus ditingkatkan kemampuannya untuk memenuhi
kebutuhan bisnis yang baru
- Perangkat lunak tersebut harus dikembangkan untuk dapat beroperasi bersama
sistem atau database yang lebih modern
- Perangkat lunak tersebut harus didesain ulang untuk membuatnya cocok dengan
lingkungan jaringan yang baru

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


6 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Web Applications
Dalam Software Engineering: a practitioner’s approach 7th edition (2010) disebutkan bahwa
saat ini aplikasi web telah berkembang menjadi lebih dari sekedar sekumpulan berkas
bertautan berisi informasi teks dan grafis. Penggabungan HTML dengan bahasa
pemrograman lain memungkinkan kita untuk menyediakan kemampuang komputasi
bersama dengan konten informasi. Aplikasi dan sistem berbasis web ini menyediakan tidak
hanya fungsi stand-alone pada pengguna tapi juga terintegrasi dengan database korporat
dan aplikasi bisnis.

Di atas telah disebutkan bahwa web applications merupakan kategori tersendiri dalam
perangkat lunak. Meskipun definisi tersebut masih bisa diperdebatkan, setidaknya ada
beberapa karakteristik aplikasi web yang bisa kita lihat berikut ini yang menunjukkan
kekhasannya:

Network intensiveness Sebuah aplikasi web bertempat dalam sebuah jejaring dan harus
dapat melayani kebutuhan dari banyak kelompok pengguna.
Jejaring tersebut dapat menyediakan akses komunikasi yang luas
dan terbuka (mis. Internet) atau terbatas (mis. Intranet
perusahaan)

Concurrency Pengguna dalam jumlah besar dapat mengakses dalam waktu


bersamaan. Dalam banyak kasus, pola penggunaan di antara
pengguna bisa sangat berbeda.

Unpredictable load Jumlah pengguna aplikasi web dapat bervariasi dari hari ke hari.
Seratus pengguna dapat muncul di hari Senin sementara 10.000
pengguna muncul di hari Kamis.

Performance Jika seorang pengguna aplikasi web harus menanti terlalu lama
(untuk mengakses, untuk pemrosesan di sisi server, untuk
penampilan di sisi pengguna), ia bisa jadi akan memutuskan untuk
pergi ke tempat lain.

Availability Meskipun ekspektasi ketersediaan 100 persen kurang rasional,


namun pengguna web-web popular menginginkan akses tersebut

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


7 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
tersedia 24/7/365. Pengguna di Australia atau Asia mungkin
membutuhkan akses justru pada saat aplikasi tradisional di
Amerika Utara dijadwalkan untuk pemeliharaan dan harus off-line.

Data driven Fungsi utama dari banyak aplikasi web adalah untuk menyediakan
konten teks, gambar, audio dan video kepada pengguna melalui
hypermedia. Sebagai tambahan, aplikasi web umumnya
digunakan untuk mengakses informasi yang ada dalam database
yang bukan merupakan bagian yang sama dengan lingkungan
web tersebut. (mis. aplikasi e-commerce atau finansial).

Content sensitive Kualitas konten tetap menjadi pembeda yang menentukan dari
kualitas sebuah aplikasi web.

Continuous evolution Tidak seperti perangkat lunak konvensional yang tumbuh melalui
serangkaian rilis yang terencana dan kronologis, aplikasi web
tumbuh berkesinambungan. Bukan sesuatu yang aneh apabila
ada beberapa aplikasi web (terutama kontennya) berubah dari
menit ke menit atau tiap kontennya dikomputasi secara
independen sesuai permintaan.

Immediacy Meskipun banyak aplikasi yang menginginkan sebuah perangkat


lunak dapat segera masuk ke pasar, namun aplikasi web
seringkali membutuhkan waktu untuk masuk ke market hanya
dalam hitungan hari atau minggu.

Security Karena aplikasi web tersedia melalui akses jaringan, sangat sulit
untuk membatasi populasi pengguna yang dapat mengakses
aplikasi tersebut. Untuk melindungi konten sensitif dan
menyediakan mode yang aman untuk pengiriman data, tindakan
keamanan yang sangat kuat harus dilakukan terhadap
infrastruktur yang mendukung aplikasi dan juga di dalam aplikasi
itu sendiri.

Aesthetics Bagian yang tak dapat dihindari dari sebuah aplikasi web adalah
tampilan. Karena aplikasi dibuat untuk memasarkan produk atau
ide, maka estetika sangat menentukan kesuksesan sebuah
aplikasi sebagaimana desain teknisnya.

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


8 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Rekayasa Perangkat Lunak
Roger S. Pressman dalam bukunya Software Engineering: a practitioner’s approach 7th
edition menuliskan deskripsi perangkat lunak sebagai penerapan dan penggunaan prinsip-
prinsip rekayasa yang baik untuk mendapatkan perangkat lunak yang ekonomis, handal,
dan bekerja secara efisien pada mesin yang sebenarnya.

Sementara itu IEEE juga membuat definisi yang lebih komprehensif, yaitu:

1. Penerapan pendekatan yang sistematis, disiplin, terukur dari pengembangan,


operasi, dan pemeliharaan dari perangkat lunak; dengan kata lain aplikasi rekayasa
terhadap perangkat lunak.
2. Studi terhadap pendekatan yang dilakukan pada poin 1.

Gambar Lapisan-lapisan dalam rekayasa perangkat lunak

Setiap pendekatan rekayasa (termasuk rekayasa perangkat lunak) harus berdasarkan atas
komitmen organisasi terhadap kualitas. Total quality management, Six Sigma dan filosofi
lain yang serupa menunjukkan budaya kemajuan proses yang berkelanjutan, dan kultur
inilah yang sangat mendorong berkembangnya pendekatan-pendekatan yang lebih efektif
untuk rekayasa perangkat lunak. Dasar utama yang mendukung rekayasa perangkat lunak
seperti dalam gambar di atas adalah fokus terhadap kualitas.

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


9 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Fondasi dari rekayasa perangkat lunak adalah adalah proses. Proses rekayasa perangkat
lunak adalah perekat yang menggabungkan lapisan-lapisan teknologi dan memungkinkan
pengembangan perangkat lunak menjadi rasional dan terhitung waktunya.

Metode rekayasa perangkat lunak menyediakan pentunjuk untuk membangun perangkat


lunak. Metode mencakup komunikasi, analisa kebutuhan, pemodelan desain, konstruksi
program, testing dan dukungan.

Tools perangkat lunak menyediakan dukungan otomatis maupun semi-otomatis untuk


mendukung proses dan metode. Ketika tool-tool tersebut terintegrasi maka informasi yang
dibuat oleh sebuah tool dapat digunakan oleh tool yang lain, dan sistem dukungan untuk
pengembangan perangkat lunak, atau disebut juga computer-aided software engineering,
dapat dilakukan.

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


10 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id
Daftar Pustaka

Pressman, Roger S. (2010), Software Engineering: a practitioner’s approach 7 th


edition,McGraw-Hill
Sommerville, Ian (2009), Software Engineering,Addison-Wesley

2018 Rekayasa Sistem Informasi Pusat Bahan Ajar dan eLearning


11 Rinto Priambodo, ST, MTI http://www.mercubuana.ac.id

Anda mungkin juga menyukai