Rekayasa Sistem
Informasi
Pendahuluan
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
Jika dibandingkan dengan perangkat keras, maka perangkat lunak memiliki karakteristik
yang berbeda, yaitu:
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.
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).
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.
Dibandingkan generasi perangkat lunak sebelumnya, ada beberapa tantangan yang harus
dihadapi oleh pengembang perangkat lunak saat ini, antara lain:
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
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:
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)
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.
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.
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.
Sementara itu IEEE juga membuat definisi yang lebih komprehensif, yaitu:
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.