You are on page 1of 18

1 PENDAHULUAN

Tujuan
Bagian ini menjelaskan tentang pengertian perangkat lunak dan rekayasa perangkat lunak. Setelah mempelajari bagian ini dengan baik, pembaca diharapkan dapat: Mengetahui arti, karakteristik, dan jenis-jenis perangkat lunak sebagai produk rekayasa perangkat lunak. Memahami arti, latar belakang, dan tujuan pengggunaan rekayasa perangkat lunak. Mengetahui ruang lingkup rekayasa perangkat lunak. Memahami perbedaan antara rekayasa perangkat lunak dengan sistem informasi.

Pokok Bahasan
Pokok bahasan pada bagian ini meliputi: Perangkat Lunak Rekayasa Perangkat Lunak Ruang Lingkup Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak vs Sistem Informasi

BAGIAN I: KONSEP DASAR

Perangkat lunak merupakan produk yang dihasilkan dari rekayasa perangkat lunak. Apa yang dimaksud dengan perangkat lunak ini? Mengapa perangkat lunak harus dihasilkan melalui rekayasa perangkat lunak? Berikut adalah penjelasan untuk menjawab pertanyaan-pertanyaan tersebut.

1.1 Perangkat Lunak


1.1.1 Pengertian Perangkat Lunak
Ada beberapa definisi atau pengertian tentang perangkat lunak. Menurut Pressman [PRE01] perangkat lunak adalah: 1) Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu; 2) Struktur data yang dapat membuat program memanipulasi informasi; dan 3) Dokumen yang menjelaskan operasi dan penggunaan program. Sementara The Institute of Electrical and Electronics Engineers (IEEE) [IEE93] mendefinisikan perangkat lunak sebagai: Program komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengannya serta data yang berkaitan dengan operasi suatu sistem komputer. Dari dua definisi tentang perangkat lunak di atas dapat disimpulkan bahwa perangkat lunak adalah: Program Komputer Kumpulan instruksi yang apabila dieksekusi oleh sistem komputer akan menjalankan proses atau fungsi tertentu. Data Struktur data atau basis data yang memungkinkan data yang tersimpan padanya dimanipulasi oleh program. Dokumen Dokumentasi yang menjelaskan bagaimana pengembangan, cara instalasi, penggunaan, dan pemeliharaan program.

1.1.2 Karakteristik Perangkat Lunak


Dalam suatu sistem berbasis komputer, perangkat lunak dikategorikan sebagai elemen logis. Oleh karena itu perangkat lunak memiliki karakteristik tertentu yang membedakannya dengan perangkat keras.

BAB 1: PENDAHULUAN

Ada tiga karakteristik yang menjadi ciri suatu perangkat lunak, yaitu: [PRE01] 1. 2. 3. Perangkat lunak merupakan produk pengembangan atau rekayasa, dan tidak diproduksi dalam pengertian klasik. Perangkat lunak tidak akan pernah rusak atau aus. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari komponen yang sudah ada.

Selain itu tiga karakteristik di atas, suatu perangkat lunak: [ZOR99] 1. 2. 3. 4. Merupakan produk yang unik (tidak ada seri produksi). Tidak terlihat (invisible ). Fleksibel, sehingga mudah dimodifikasi. Terhubung dengan perangkat keras.

Cukup penting untuk mengetahui karakteristik perangkat lunak ini, karena proses rekayasa yang nanti akan dilaksanakan harus mampu menghasilkan produk dengan karakteristik seperti itu.

1.1.3 Jenis-jenis Perangkat Lunak


Dilihat dari fungsinya, perangkat lunak dapat dikelompokkan menjadi: 1. Perangkat lunak sistem Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer atau perangkat lunak lain. Perangkat lunak yang termasuk dalam kelompok ini adalah: sistem operasi penerjemah bahasa pemrograman (compiler/interpreter) utility software Perangkat lunak aplikasi Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu menyelesaikan masalah-masalah yang dihadapi oleh pemakai. Perangkat lunak aplikasi dapat dibedakan menjadi: program paket yang sudah jadi (package program) program aplikasi buatan sendiri (tailor made)

2.

Sedangkan jika dilihat dari bentuk aplikasinya, perangkat lunak dibedakan menjadi: 1. Perangkat lunak sistem (system software ) Sekumpulan program yang ditulis untuk mendukung operasional komputer atau kepentingan program lain. Contoh: sistem operasi

BAGIAN I: KONSEP DASAR

2.

compiler/interpreter utility software

Perangkat lunak waktu nyata (real-time software ) Perangkat lunak yang memonitor, menganalisis, atau mengendalikan kejadian-kejadian dunia nyata berdasarkan kejadian (event) yang diterimanya dengan kendala waktu yang ketat (teliti). Contoh: perangkat lunak untuk mengatur mekanisme kerja lift ATCS (Automatic Traffic Control System) Perangkat lunak bisnis (business software ) Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan keputusan manajemen. Contoh: aplikasi untuk sistem informasi, misalnya sistem persediaan, akuntansi, produksi, dan lain-lain. sistem pendukung keputusan Enterprise Resources Planning (ERP) Perangkat lunak rekayasa dan ilmu pengetahuan (engineering and scientific software) Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (Computer Aided Design), simulasi sistem, dan lain-lain. Contoh: aplikasi statistika (misalnya SPSS), matematika (Math Lab) aplikasi untuk merancang lengkung sayap pesawat terbang Embedded Software Perangkat lunak yang menyatu (terintegrasi) dengan perangkat tertentu yang digunakan untuk mengontrol produk atau sistem, baik untuk konsumen atau pasar industri. Contoh: aplikasi programmable logic circuit (PLC) permainan (game) pada mobile phone Perangkat lunak pribadi (personal software) Perangkat lunak yang banyak digunakan pada aplikasi-aplikasi yang bersifat perorangan. Contoh: pengolah kata (word processor), lembar kerja elektronik (spreadsheet), organizer aplikasi keuangan pribadi Perangkat lunak intelegensia buatan (artificial inteligent software) Perangkat lunak yang dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks. Contoh: sistem pakar (expert system) pemrosesan bahasa alami (natural language) permainan catur

3.

4.

5.

6.

7.

BAB 1: PENDAHULUAN

Dari sekian banyak dan ragam jenis-jenis perangkat lunak yang ada, perangkat lunak bisnislah yang paling banyak dibuat sampai saat ini.

1.2 Rekayasa Perangkat Lunak


Pada hakikatnya rekayasa perangkat lunak (software engineering) mempunyai prinsip yang sama dengan rekayasa-rekayasa lain, yaitu membuat sesuatu bekerja (make things work ). Walaupun demikian, ada beberapa hal yang membedakannya dengan rekayasa lain. Berikut adalah penjelasannya.

1.2.1 Apa yang Disebut Rekayasa Perangkat Lunak?


Rekayasa perangkat lunak merupakan suatu proses rancang bangun perangkat lunak yang menggunakan kaidah-kaidah ilmu, seperti prinsip, konsep, dan metode sehingga dihasilkan perangkat lunak yang berkualitas (dapat digunakan dan beroperasi dengan benar, bermanfaat, serta sesuai dengan kebutuhan yang diinginkan). Beberapa definisi lain yang menjelaskan tentang rekayasa perangkat lunak: Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan perangkat lunak secara ekonomis namun andal dan dapat bekerja secara efisien pada komputer (Fritz Bauer, 1968, seperti dikutip oleh Pressman [PRE01]). Suatu disiplin yang mengintegrasikan proses, metode, dan alat (tools) untuk pembangunan perangkat lunak komputer. [PRE01] Suatu teknologi berlapis, yaitu proses, metode dan alat, dengan kualitas sebagai dasar utamanya. [PRE01] Teori, metode, dan alat bantu yang mengembangkan perangkat lunak. [SOM96] dibutuhkan untuk

Penerapan pendekatan yang sistematis, disiplin dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat lunak. [IEE93]

1.2.2 Mengapa Rekayasa Perangkat Lunak?


Rekayasa perangkat lunak muncul karena adanya krisis perangkat lunak seperti terungkap pada konferensi NATO di Garmisch-Partenkirchen tahun 1968: Perangkat lunak lebih banyak menyebabkan masalah daripada menyelesaikannya.

BAGIAN I: KONSEP DASAR

Peningkatan ukuran perangkat lunak dilakukan tanpa dibarengi dengan suatu pengorganisasian. Perbaikan lainnya. satu kesalahan mengakibatkan timbulnya kesalahan

Tidak ada kendali pemeliharaan.

Akibatnya timbul masalah-masalah yang berkaitan dengan perangkat lunak: [ZOR99]: Perangkat lunak sudah diselesaikan dan diserahkan (delivered) tetapi tidak pernah digunakan (47%). Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%). Perangkat lunak sudah digunakan tetapi kritis atau ditinggalkan (19%). Perangkat lunak digunakan setelah dilakukan modifikasi (3%). Perangkat lunak digunakan sebagaimana mestinya (2%).

Selain itu, faktor pendukung kehadiran rekayasa perangkat lunak adalah: [SOM96] Ketidakmampuan organisasi untuk memprediksi waktu, usaha dan biaya pada pengembangan perangkat lunak. Kualitas perangkat lunak yang diproduksi tidak baik (buruk). Perubahan perbandingan harga perangkat keras dan perangkat lunak. Meningkatnya peran penting dari pemeliharaan. Kemajuan teknologi perangkat keras. Kemajuan teknik perangkat lunak. Kebutuhan yang meningkat terhadap perangkat lunak. Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

Dari penjelasan di atas, terlihat bagaimana fenomena pembuatan suatu perangkat lunak tanpa menggunakan pendekatan rekayasa perangkat lunak. Selain hasil yang tidak baik, dampak yang diakibatkannya pun cukup merugikan, terutama dari sisi biaya dan waktu. Dengan digunakannya pendekatan rekayasa perangkat lunak, diharapkan proses pembuatan perangkat lunak dan hasil yang diperoleh akan menjadi lebih baik, memberikan manfaat, serta mengurangi dampak yang merugikan.

BAB 1: PENDAHULUAN

1.2.3 Apa Tujuan Rekayasa Perangkat Lunak?


Seperti telah disinggung pada bagian sebelumnya, tujuan utama yang menjadi fokus dari rekayasa perangkat lunak adalah kualitas. Yang dimaksud dengan kualitas disini adalah: perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang diinginkan. dapat digunakan dan beroperasi dengan benar di lingkungan sebenarnya. memberikan manfaat bagi pemakai yang menggunakannya. biaya yang dikeluarkan untuk membuatnya rendah, dalam arti efektif dan sesuai dengan anggaran yang telah ditetapkan. tepat waktu, baik saat pembuatan, penyerahan ke pemakai, maupun instalasinya. setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat dipertanggungjawabkan kebenarannya (ada proses verifikasi dan validasi).

Lebih jauh lagi, rekayasa perangkat lunak harus mampu menghasilkan produk perangkat lunak dengan atribut kualitas: [IEE93] Maintainability Perangkat lunak harus memungkinkan untuk dikembangkan sesuai dengan perubahan kebutuhan pemakai. Dependability Berkaitan dengan rentang karakteristik yang mencakup keandalan, keamanan, dan keselamatan. Perangkat lunak harus tidak menyebabkan kerusakan fisis dan ekonomis saat sistem mengalami kegagalan. Efficiency Perangkat lunak harus efisien dalam penggunaan sumber daya seperti memory dan siklus pemroses. Usability Perangkat lunak harus mempunyai antarmuka pengguna yang tepat dan dokumentasi yang memadai.

1.3 Ruang Lingkup Rekayasa Perangkat Lunak


Ruang lingkup yang berkaitan dengan rekayasa perangkat lunak cukup luas, tetapi yang akan dibahas pada bagian ini hanya mencakup:

BAGIAN I: KONSEP DASAR

proses perangkat lunak ranah (domain) kajian teknologi metode dan alat bantu

1.3.1 Proses Perangkat Lunak


Proses perangkat lunak adalah seri aktivitas yang harus dilaksanakan selama siklus hidup perangkat lunak, yaitu periode waktu yang dimulai saat produk perangkat lunak disusun dan berakhir saat produk tersebut tidak dapat digunakan lagi. Mengacu pada IEEE/EIA 12207 Standard for Information Technology, ada tiga kelompok besar proses perangkat lunak, yaitu: proses utama (primary processes ) proses pendukung (supporting processes) proses organisasi (organizational processes )

Setiap proses yang ada pada masing-masing kelompok proses terdiri dari beberapa aktivitas, dan setiap aktivitas dibagi menjadi beberapa pekerjaan. Setiap pekerjaan mengacu pada produk perangkat lunak atau dokumen yang tertentu yang harus dibuat.

1.3.1.1 Proses Utama


Kelompok proses utama mendefinisikan apa yang dikerjakan oleh elemenelemen organisasi selama siklus hidup perangkat lunak. Ada lima proses yang termasuk kelompok proses utama yaitu: 1. Akuisisi (Acquisition) Mendefinisikan aktivitas-aktivitas dari organisasi yang menginginkan pengadaaan sistem, produk perangkat lunak, atau layanan perangkat lunak. Pasokan (Supply) Mendefinisikan aktivitas-aktivitas dari pemasok, yaitu organisasi yang akan menyediakan sistem, produk perangkat lunak, atau layanan perangkat lunak. Pengembangan (Development) Mendefinisikan aktivitas pengembang, yaitu organisasi mendefinisikan dan mengembangkan perangkat lunak. yang

2.

3.

4.

Pengoperasian (Operation ) Mendefinisikan aktivitas operator, yaitu organisasi yang menyediakan layanan pengoperasian sistem komputer di lingkungannya sendiri untuk pemakainya sendiri.

BAB 1: PENDAHULUAN

5.

Pemeliharaan (Maintenance ) Mendefinisikan aktivitas pemelihara, yaitu organisasi yang menyediakan layanan pemeliharaan produk perangkat lunak untuk menjaga supaya perangkat lunak dapat tetap beroperasi sesuai yang dibutuhkan.

1.3.1.2 Proses Pendukung


Kelompok proses pendukung adalah proses-proses yang digunakan dan dilaksanakan oleh proses-proses lain (mendukung proses-proses lain sebagai bagian integral dengan kegunaan yang berbeda). Kelompok proses pendukung terdiri dari: 1. Dokumentasi (Documentation) Mendefinisikan aktivitas untuk merekam informasi yang dihasilkan oleh proses perangkat lunak. Manajemen Konfigurasi (Configuration Management) Mendefinisikan aktivitas manajemen konfigurasi. Jaminan Kualitas (Quality Assurance ) Mendefinisikan aktivitas untuk menjamin secara objektif bahwasanya produk dan proses perangkat lunak sesuai dengan kebutuhan dan mengikuti rencana yang sudah ditetapkan. Verifikasi (Verification) Mendefinisikan aktivitas untuk memverifikasi produk dan layanan perangkat lunak dengan tingkat kedalaman yang tergantung kepada proyek perangkat lunak. Validasi (Validation) Mendefinisikan aktivitas untuk memvalidasi produk perangkat lunak dari suatu proyek perangkat lunak. Kaji Ulang Bersama (Joint Review) Mendefinisikan aktivitas untuk mengevaluasi status dan produk dari suatu aktivitas. Audit Mendefinisikan aktivitas untuk memeriksa pemenuhan kebutuhan, rencana, dan kontrak. Pemecahan Persoalan (Problem Resolution ) Mendefinisikan aktivitas untuk menganalisis dan menghilangkan persoalan yang ditemukan selama eksekusi pengembangan, operasi, pemeliharaan, atau proses-proses lainnya.

2. 3.

4.

5.

6.

7.

8.

10

BAGIAN I: KONSEP DASAR

1.3.1.3 Proses Organisasi


Kelompok proses organisasional adalah proses-proses yang berkaitan dengan organisasi, dan biasanya bukan merupakan bidang dari proyek dan kontrak yang dilaksanakan. Kelompok proses organisasional terdiri dari: 1. Manajemen (Management) Mendefinisikan aktivitas dasar manajemen yang berhubungan dengan pelaksanaan proses perangkat lunak, termasuk manajemen proyek. Infrastruktur (Infrastructure) Mendefinisikan aktivitas dasar untuk menentukan struktur yang mendasari pelaksanaan proses perangkat lunak. Perbaikan (Improvement) Mendefinisikan aktivitas dasar untuk menentukan, menilai, dan memperbaiki proses perangkat lunak. Pelatihan (Training) Mendefinisikan aktivitas dasar untuk menyediakan personal yang cukup terlatih.

2.

3.

4.

Keterkaitan antar ketiga kelompok proses di atas ditunjukkan oleh Gambar 1.1 berikut, sementara rincian aktivitas untuk setiap prosesnya secara lengkap dapat dilihat pada dokumen IEEE/EIA 12207.0 Standard for Information Technology - Software Life Cycle Processes.

Manajemen

PROSES UTAMA
Akuisisi Pengembangan Pasokan Operasi Pemeliharaan

PROSES PENDUKUNG
Manajemen Konfigurasi Jaminan Kualitas Dokumentasi Kaji Ulang Bersama Pemecahan Persoalan Audit Verifikasi Validasi

Infrastruktur

Pelatihan PROSES ORGANISASI

Perbaikan

Gambar 1.1 Keterkaitan Antar Proses dalam Rekayasa Perangkat Lunak

BAB 1: PENDAHULUAN

11

1.3.2 Ranah Kajian


Ranah kajian rekayasa perangkat lunak adalah area keilmuan dimana prinsipprinsip rekayasa perangkat lunak dapat diterapkan untuk menghasilkan perangkat lunak yang berkaitan dengan area tersebut (berkaitan dengan bentuk-bentuk aplikasi yang dibuat). Secara umum ranah kajian rekayasa perangkat lunak meliputi: 1. Sistem dan Jaringan Komputer Meliputi semua yang berkaitan dengan konsep-konsep dan teknikteknik untuk perancangan, pembangunan dan pemeliharaan sistem dan jaringan komputer. Sistem Informasi Meliputi bidang aplikasi yang berkaitan dengan proses bisnis di organisasi untuk semua tingkatan manajemen, otomasi perkantoran, sistem pendukung keputusan, sistem informasi strategis, sistem pakar bagi manajemen, dan sistem informasi geografis. Komputer Grafik Meliputi bidang yang berkaitan dengan metode-metode pembangunan aplikasi komputer grafik untuk berbagai bidang pemanfaatan, baik bidang teknik maupun non-teknik seperti animasi 2 dan 3 dimensi benda bergerak, peta multi layer, dan sebagainya. Pengolahan Citra Meliputi bidang yang berkaitan dengan metode-metode transformasi citra dan analisis citra untuk memperoleh informasi-informasi yang dapat dimanfaatkan untuk pengubahan kualitas citra maupun pengenalan/pemahaman isi citra. Intelegensia Buatan Meliputi semua yang berkaitan dengan metode-metode pembangunan sistem aplikasi dinamis yang menirukan pemahaman indrawi dan pembangkitan model motorik untuk berbagai bidang pemanfaatan, misalnya: pemrograman otomatis untuk robotik, pemahaman dan pembangkitan ucapan, mesin terjemah, sistem penelurusan kerusakan sistem, sistem dialog pengetahuan, sistem pembelajaran sistem. Basis Data Meliputi bidang ilmu dan teknologi yang berkaitan dengan pembentukan, penyimpanan, manipulasi, pemeliharaan sekumpulan data dalam komputer meliputi: sistem akses dan arsip, sistem basis data, dan Sistem Manajemen Basis Data (SMBD). Matematika Meliputi hal-hal yang berhubungan dengan penguasaan pada aspek matematika dan logika, misalnya: Matematika Diskrit, statistika, perhitungan numerik, optimasi, serta pemodelan dan simulasi.

2.

3.

4.

5.

6.

7.

12

BAGIAN I: KONSEP DASAR

1.3.3 Teknologi
Kaidah-kaidah ilmu seperti prinsip, konsep dan metode, atau produk teknologi itu sendiri, yang diadaptasi dan diterapkan pada rekayasa perangkat lunak. Beberapa contoh: konsep sistem terdistribusi untuk lingkungan operasional perangkat lunak. teknik komputasi client/server untuk proses pengolahan data. konsep bahasa formal untuk memvalidasi kebutuhan. teknik analisis kuantitatif untuk memperkirakan biaya proyek. Konsep protokol nirkabel (wireless ) untuk komunikasi data.

1.3.4 Metode dan Alat Bantu


Metode dan alat bantu yang digunakan untuk melaksanakan rekayasa perangkat lunak tanpa melihat area aplikasi, ukuran proyek atau kompleksitas masalah. 1. Metode Cara atau teknis bagaimana mengembangkan perangkat lunak, mencakup pekerjaan analisis kebutuhan, perancangan, konstruksi program, dan pengujian. Beberapa contoh: 2. model-model proses pengembangan berbasis manajemen resiko, manajemen konfigurasi, atau manajemen perubahan kebutuhan. metode berorientasi objek untuk analisis, implementasi, dan pengujian perangkat lunak. perancangan,

teknik pemrograman berorientasi aspek untuk pembuatan program.

Alat Bantu Perangkat bantu atau kakas otomatis dan semi-otomatis yang akan digunakan untuk mendukung proses dan metode. Beberapa contoh: diagram-diagram pengembangan. untuk memodelkan hasil setiap tahap

perangkat lunak untuk membantu pelaksanaan analisis, perancangan, pembuatan program, atau pengelolaan proyek. bahasa pemrograman berbasis web atau komponen untuk penulisan program.

BAB 1: PENDAHULUAN

13

1.4 Rekayasa Perangkat Lunak vs Sistem Informasi


Pertanyaan yang sering mengemuka ketika pertama kali belajar rekayasa perangkat lunak dan juga sistem informasi adalah: apa bedanya rekayasa perangkat lunak dengan sistem informasi? Banyak diantara kita yang tidak dapat membedakannya, walaupun keduanya merupakan hal yang berbeda. Ini mungkin dikarenakan pemahaman terhadap konteks untuk keduanya. Rekayasa perangkat lunak dan sistem informasi dapat dibicarakan dalam konteks: bidang atau kajian keilmuan perwujudan atau bentuk fisiknya proses pengembangan.

Berikut adalah penjelasan untuk masing-masing konteks.

1.4.1 Bidang atau Kajian Keilmuan


Sebagai bidang ilmu, rekayasa perangkat lunak mempelajari teori dan konsep dasar dari berbagai area ilmu komputer, konsep bidang ilmu lain seperti matematika, rekayasa dan manajemen proyek, abstraksi dan pemodelan, serta akuisisi ranah pengetahuan tertentu diluar disiplin komputasi untuk pengembangan perangkat lunak. Dengan mempelajari semua itu, seseorang yang telah belajar rekayasa perangkat lunak: [SOB02] 1. 2. Memahami proses untuk menentukan kebutuhan pelanggan dan mengubahnya menjadi perangkat lunak. Merancang solusi yang tepat untuk satu atau banyak ranah aplikasi dengan menggunakan pendekatan rekayasa dengan memperhatikan aspek etika, sosial, hukum, dan ekonomi. Memahami dan mampu menerapkan teori, model, dan teknik yang ada sebagai basis pengembangan perangkat lunak. Mempunyai kemampuan negosiasi, bekerja secara efektif, memimpin, dan berkomunikasi dengan baik dengan semua pihak (stakeholder) di berbagai lingkungan pengembangan perangkat lunak. Mampu belajar model, teknik, dan teknologi yang baru.

3. 4.

5.

Secara ringkasnya, rekayasa perangkat lunak akan mempelajari cara bagaimana membuat perangkat lunak untuk kegunaan tertentu pada bidang ilmu apa saja dengan menggunakan pendekatan rekayasa. Sementara itu, sebagai bidang ilmu sistem informasi mencakup dua area yang luas: [ACM02]

14

BAGIAN I: KONSEP DASAR

1. 2.

Akuisisi, penggunaan (deployment), dan pengelolaan sumber daya dan layanan teknologi informasi (fungsi sistem informasi). Pengembangan, pengoperasian, dan evolusi infrastruktur dan sistem untuk digunakan pada proses-proses organisasi (pengembangan sistem, pengoperasian sistem, pemeliharaan sistem).

Secara ringkasnya, sistem informasi akan mempelajari cara bagaimana membangun sistem, mengakuisisi teknologi informasi yang tepat untuk sistem tersebut, dan mengimplementasikannya di lingkungan organisasi untuk memberikan layanan pada organisasi dalam mencapai tujuannya. Badan pengetahuan (body of knowledge) dari rekayasa perangkat lunak dan sistem informasi sebagai suatu bidang ilmu dapat dilihat pada Lampiran A.

1.4.2 Wujud atau Bentuk Fisik


Dalam konteks ini, bentuk rekayasa perangkat lunak adalah kaidah, aturan, atau disiplin yang menyediakan kerangka kerja untuk semua proses yang digunakan saat pembuatan perangkat lunak. Setiap proses akan dibagi menjadi aktivitas-aktivitas tertentu, dan setiap aktivitas dibagi menjadi pekerjaanpekerjaan. Setiap pekerjaan dapat dilakukan dengan menggunakan teknik tertentu, dan mengacu pada produk tertentu yang harus dihasilkan. Pelaksanaan pekerjaan dan produk yang dihasilkan diverifikasi, divalidasi, dan dinilai dengan cara tertentu pula. Sementara itu, wujud sistem informasi secara fisik adalah perangkat keras, perangkat lunak, data, prosedur, dan manusia. Kelimanya ditata dengan cara tertentu di lingkungan organisasi, berinteraksi sesuai proses tertentu, dan menghasilkan layanan dan informasi tertentu sesuai yang diinginkan.

1.4.3 Proses Pengembangan


Pengembangan perangkat lunak adalah proses transformasi persoalan menjadi perangkat lunak, sedangkan pengembangan sistem informasi adalah proses merencanakan, membangun, dan mengimplementasikan sistem informasi. Seperti halnya pengembangan perangkat lunak, untuk mengerjakan pengembangan sistem informasi, ada tahap-tahap yang harus dilaksanakan, ada metode yang harus diikuti, ada pendekatan yang dijadikan strategi, serta ada teknik dan alat bantu yang digunakan. Adapun bentuk pekerjaannya sendiri beberapa diantaranya dapat berupa: transformasi seluruh sistem lama yang masih manual ke sistem baru yang berbasiskan komputer (total system development).

BAB 1: PENDAHULUAN

15

komputerisasi sebagian dari sistem manual (karena ada sistem manual yang sudah bagus). komputerisasi sistem semi manual. memperbaiki dan melengkapi kekurangan sistem lama (upgrading). meningkatkan unjuk kerja sistem yang sudah terkomputerisasi sehingga menjadi lebih baik lagi. memindahkan (migrasi) sistem lama ke lingkungan yang baru dengan platform yang berbeda.

Gambar 1.2 berikut mengilustrasikan bagaimana suatu sistem informasi dikembangkan dari sistem manual.
M anajemen M anajemen

perintah

laporan laporan perintah

Server

data/informasi

data/informasi

Bag ian Operasional

Bag ian Operasional

Bag ian Operasional

Bag ian Operasional

Gambar 1.2 Transformasi Sistem Manual menjadi Sistem Komputerisasi Cakupan pelaksanaan pekerjaan pengembangan sistem informasi secara teknis dapat berbentuk: pengembangan perangkat lunak aplikasi pembangunan basis data penentuan konfigurasi, perangkat keras pengadaan, pemasangan, dan instalasi

penyusunan prosedur kerja, prosedur pemakaian komputer, prosedur pemakaian perangkat lunak pengadaan dan pelatihan personal yang akan menggunakan dan mengoperasikan sistem informasi

Kecuali untuk pengembangan sistem secara total, hanya sebagian dari cakupan pekerjaan di atas yang harus dilakukan, dan itu pun tergantung kepada jenis pekerjaan dan kondisi lingkungan dimana sistem yang akan dikembangkan berada. Sebagai contoh, untuk pekerjaan migrasi sistem dari lingkungan sistem

16

BAGIAN I: KONSEP DASAR

operasi DOS ke Windows, cakupan pekerjaan yang mungkin harus dilakukan adalah pembangunan perangkat lunak dan basis datanya saja. Dan pekerjaan inilah yang persis sama dilakukan pada rekayasa perangkat lunak. Dari penjelasan di atas, dapat disimpulkan bahwa berdasarkan sudut pandang sistem informasi, rekayasa perangkat lunak merupakan bagian dari proses pengembangan sistem informasi. Tetapi jika merujuk pada penjelasan tentang ranah kajian rekayasa perangkat lunak, sistem informasi merupakan salah satu bidang kajian dari rekayasa perangkat lunak. Untuk lebih jelasnya, perhatikan Gambar 1.3 berikut.
Ranah Kajian Rekayasa Perangkat Lunak Sistem & Jaringan Komputer

Basis Data

Sistem Informasi

Komputer Grafik

Pengolahan Citra

Intelegensia Buatan

Matematika

Rekayasa Perangkat Lunak

Perancangan Basis Data

Penentuan dan Instalasi Per. Keras

Penyusunan Prosedur

Penentuan dan Pelatihan Personal

Cakupan Pengembangan Sistem Informasi

Analisis Kebutuhan

Perancangan Perangkat Lunak

Implementasi

Pengujian

Operasional dan Pemeliharaan

Pelaksanaan Pengembangan Perangkat Lunak

Gambar 1.3 Rekayasa Perangkat Lunak vs Pengembangan Sistem Informasi (a)

SI
Area kesamaan SI dan RPL

RPL

sudut pandang pengembangan SI

sudut pandang rekayasa perangkat lunak

Ruang Lingkup Pengembangan SI dan RPL

Gambar 1.3 Rekayasa Perangkat Lunak vs Pengembangan Sistem Informasi (b)

BAB 1: PENDAHULUAN

17

Rangkuman
1. Perangkat lunak dibentuk oleh program, data, dan dokumen. Masingmasing item tersebut terdiri dari suatu konfigurasi yang dibuat sebagai bagian dari proses rekayasa perangkat lunak. Rekayasa perangkat lunak adalah suatu kaidah, aturan, atau disiplin yang menyediakan kerangka kerja untuk semua proses pembuatan perangkat lunak. Tujuan dari rekayasa perangkat lunak adalah menghasilkan perangkat lunak berkualitas, dalam arti sesuai kebutuhan, ekonomis, dan benar proses pengerjaannya. Ruang lingkup rekayasa perangkat lunak adalah cakupan dimana prinsipprinsip rekayasa perangkat lunak dapat diterapkan, seperti proses, ranah kajian, serta teknologi dan alat bantu. Perbedaan antara rekayasa perangkat lunak dengan sistem informasi dapat dilihat dari sudut pandang bidang atau kajian keilmuan, wujud atau bentuk fisik, dan proses pengembangan.

2.

3.

4.

Daftar Pustaka
[ACM02] Association for Computing Machinery (ACM); Association for Information Systems (AIS); and Association of Information Technology Professionals (AITP), Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems, 2002. [IEE93] The Institute of Electrical and Electronics Engineers, IEEE Std 610.12-1993 Standard Glossary of SW Engineering Terminology, 1993. The Institute of Electrical and Electronics Engineers; Electronic Industries Association (EIA), IEEE/EIA 12207.0 Standard for Information Technology - Software Life Cycle Processes, 1998.

[IEE98]

[MYN95] Mynat, Barbee T., Software Engineering with Student Project Guidance, Prentice-Hall, Englewood Cliffs, New Jersey, 1995. [PRE01] Pressman, Roger S., Software Engineering: A Practioners Approach, Fifth Edition, MacGraw-Hill International Editions, 2001.

18

BAGIAN I: KONSEP DASAR

[SEP99] Software Engineering Process Office (SEPO - D12) and Software Process Improvement Working Group (SPIWG), An Introduction to IEEE/EIA 12207, 1999. [SOB02] Sobel, Ann E.K., Computing Curricula - Software Engineering Volume, First Draft of the Software Engineering Education Knowledge (SEEK), 2002. [SOM96] Sommerville, Ian, Software Engineering, Fiftth Edition, AddisonWesley, 1996. [ZOR99] Zoro, Hira L., Introduction to Software Engineering, International Seminar and Tutorial on Software Engineering for Real Time Systems, Institut Teknologi Bandung & Universite Thomson, Bandung, Maret 1999.

You might also like