BAB II LANDASAN TEORI
2.1
DEFINISI SISTEM INFORMASI Ada beberapa definisi tentang sistem yang dikemukakan oleh banyak pakar.
Beberapa di antaranya adalah sebagai berikut: Wilkinson (1993) A system is a complex entity or framework that is subject to one or more objectives, constrains, and controls; that is surrounded by an environment; that is composed of interdependeent subsystems; and that undergoes processes with inputs and outputs. Barry E Chusing (1982) A system is an entity consisting of two or more interrelated components or subsystems that interact to achieve a goal. Sehingga menurut ketiga definisi di atas, pengertian sistem adalah seperangkat bagian-bagian yang saling berhubungan erat satu dengan lainnya untuk mencapai tujuan secara bersama-sama. John F Nash (1989) Data are potentially useful but have no immediate value. Information, in the otherhand, is a subset of data that is useful for some identifiable purposes. Information is extracted from the available data to meet a need. Robert A, Leitch dan K. Roscoe Davis (1983) Data are raw fact, such as transaction details from sales invoices. Information is communicated knowledge developed by matching and transforming data so that the output is a form that useful to the recipient.
7
8
Menurut definisi-definisi di atas, informasi adalah hasil pengolahan (tersaring, terorganisir, terealisasi) dari data yang saling berhubungan digunakan untuk mencapai tujuan organisasi. Agar informasi berguna dalam pengambilan keputusan, harus memiliki kriteria-kriteria sebagai berikut: 1. Relevan, suatu informasi mempunyai manfaat sebagai dasar pengambilan keputusan. 2. Akurat, ketepatan dan dapat diandalkannya suatu informasi. 3. Tepat waktu, informasi yang diperoleh terbaru dan mudah diperoleh saat dibutuhkan. 4. Ringkas, informasi telah dikelompokkan sehingga tidak perlu diterangkan. 5. Jelas, tingkat informasi dapat di mengerti oleh penerima. 6. Dapat dikuantifikasi, tingkat informasi dapat dinyatakan dalam bentuk angka. 7. Konsisten, tingkat informasi dapat diperbandingkan. Sistem informasi tidak harus melibatkan peran komputer. Sistem Informasi yang menggunakan komputer biasa disebut sistem informasi berbasis komputer (Computer-Based Information Systems atau CBIS). Biasanya, istilah sistem informasi lebih sering dipakai tanpa embel-embel berbasis komputer walaupun dalam kenyataannya komputer merupakan bagian yang penting. Yang dimaksudkan dengan sistem informasi disini adalah sistem informasi yang berbasis komputer. Sistem Informasi (SI) atau Information System (IS) yang menunjukkan sistem yang dapat menghasilkan informasi yang berguna. Ada beragam definisi sistem informasi, sebagaimana tercantum di bawah ini:
9
Menurut Alter (1992) “Sistem informasi adalah kombinasi antara prosedur kerja, informasi, orang, dan teknologi informasi yang diorganisasikan untuk mencapai tujuan dalam sebuah organisasi”. Menurut Wilkinson (1992) “Sistem informasi adalah kerangka kerja yang mengkoordinasikan sumber daya (manusia, komputer) untuk mengubah masukan (input) menjadi keluaran (informasi), guna mencapai sasaran-sasaran perusahaan”. Menurut Hall (2001) “Sistem informasi adalah sebuah rangkaian prosedur formal dimana data dikelompokkan, diproses menjadi informasi, dan didistribusikan kepada pemakai”. Dari berbagai definisi tersebut, dapat disimpulkan bahwa sistem informasi mencakup sejumlah komponen, ada sesuatu yang diproses (data menjadi informasi), dan dimaksudkan untuk mencapai suatu sasaran atau tujuan. Sebelas komponen dari sistem informasi (Valacich George Hoffer 2001) yaitu: 1. Komponen sasaran dan tujuan, merefleksikan kekuatan pendorong sistem dan alasan keberadaan suatu sistem, 2. Komponen input (data) 3. Komponen output, informasi untuk pngambilan keputusan 4. Penyimpanan data, 5. Pemroses 6. Instruksi dan prosedur, memproses data menjadi informasi, 7. Batas sistem
10
8. Kendala sistem, yaitu keterbatasan intern dan ekstern, 9. Komponen pengaman yang berguna dan menjamin informasi yang dihasilkan akurat 10. Komponen interface informasi, berfungsi sebagai penghubung antar pemakai, antara mesin dengan pemakai, antar subsistem dalam sistem informasi, 11. Subsistem, merupakan bagian sistem informasi. Ada empat konsep dalam sistem infromasi (Valacich George Hoffer 2001), yaitu: •
Decomposition
Proses dimana sistem dipecah menjadi beberapa komponen-komponen yang lebih kecil (Subsistem). Proses ini memudahkan bagi sistem analis untuk : 1. Memecah sistem menjadi bagian yang lebih keci sehingga mudah dimanage dan dimengerti. 2. Fokus pada area subsistem tanpa ada interferensi dari subsitem lain 3. Konsentrasi pada bagian sistem yang bersangkutan dengan user tertentu tanpa dibingungkan dengan user lain yang tidak perlu. •
Modularity Sistem dipecah menjadi beberapa modul.
•
Coupling Sistem dibagi menjadi subsitem yang saling ketergantungan. Keberhasilan subsistem tergantung dengan subsistem yang lain.
•
Cohesion Subsitem bekerja sebagai singel function.
11
2.2
GUIDELINE PROSES PENINGKATAN SISTEM Beberapa hal yang menjadi petunjuk dalam proses peningkatan sistem (Michael E. C. Schmidt, 2000), yaitu : 1. Research applicable regulation Sebelum memulai proses system improvements sebaiknya dilakukan penelitian mengenai regulasi dan standar kualitas industri bisnis yang sesuai dengan organisasinya. 2. Compile data from previous projects Data yang perlu di compile, seperti : •
Comparisons between planned versus actual Project schedules
•
Actual Project cost
•
Test incident report
•
Problem reports
•
Software complexity metrics
•
Exixtence of required document
3. Plan the scope of the process improvement Memperkecil ruang lingkup proses berdasarkan kondisi yang realistis dan didukung dengan suatu standar proses. 4. Obtain management commitment Proses peningkatan sistem atau software tidak akan berjalan sukses jika tidak didukung dengan komitmen manajemen. Setiap proses
12
proyek selalu ada resiko asosiasi akibat proses perubahan dan pihak manajemen harus siap menanggulanginya. 5. Build ground-level support Membangun dukungan ground-level untuk memperkuat project team dalam meningkatkan sistem, dengan cara meyakinkan mereka manfaat dan tujuan dari perkembangan sistem, serta kemudahan penggunaan sistem baru. 6. Draft Standard Operating Procedures Draft SOP harus jelas, tepat, pasti, lengkap, konsisten dan dapat diverifikasi. 7. Conduct a team review Membuat tim untuk melakukan review dari SOP yang telah dibuat. Tim review merupakan representasi dari semua departemen yang ada. 8. Approve and control the standard operating procedures SOP dikontrol dan di setujui oleh semua representative user. 9. Specify the phase-in of the process improvements Melakukan spesifikasi setiap proses improvements. 10. Train personel in the process improvements Melakukan pelatihan kepada user sistem dan berikan kesempatan mereka untuk melakukan evaluasi. 11. Monitor Use of the process improvements Melakukan monitor penggunaan sistem baru
13
12. Evaluate the success of the process improvements Untuk membangun suatu process improvement yang efektif perlu dilakukan evaluasi baik dari keberhasilan proyek maupun kegagalan proyek. 2.3
DEFINISI DAN PRINSIP SDLC System development life cycle (SDLC) merupakan suatu metodologi atau
proses yang meliputi beberapa tahapan siklus dalam pengembangan sistem. SDLC disusun sesuai kebutuhan manajemen atau organisasi. Setiap organisasi semestinya menyusun metode SDLC dan menentukan responsibility setiap tahapan siklus sehingga perancangan, pengembangan dan pemeliharaan sistem dapat berjalan baik dan akurat. Dalam menentukan metode SDLC, ada beberapa faktor yang perlu dipertimbangkan dari segi model pengembangan aplikasi, seperti : •
Pengembangan aplikasi dengan menggunakan internal resources.
•
Pengembangan aplikasi dengan menggunakan fully or partly outsourced resources yang berlokasi onsite atau offsite.
•
Pengembangan aplikasi dengan menggunakan paket software vendor yang terimplementasi tanpa adanya customisation.
•
Pengembangan aplikasi dengan menggunakan paket software vendor yang customize sesuai dengan kebutuhan organisasi.
14
Suskesnya implementasi sistem tidak hanya dipengaruhi oleh keberhasilan setiap tahapan siklus pengembangan sistem (Proses SDLC) melainkan juga dipengaruhi oleh komunikasi dan kordinasi dari seluruh pihak yang terlibat (team SDLC). 2.4
MODEL DAN TAHAPAN PROSES SDLC Model umum dari system life cycle menggambarkan tahapan siklus dan alur
yang dilalui sistem. Begitu banyak model pola siklus yang diterapkan di beberapa perusahaan, tetapi pada dasarnya menggunakan pola yang sama. Model dasar dari siklus pengembangan system terlihat pada gambar 1.
Gambar 2.1 General Life Cycle Model Berdasarkan gambar 2.1 diatas, terlihat bahwa setiap proses menghasilkan deliverables yang digunakan untuk phase atau tahapan siklus selanjutnya. Requirements akan diterjemahkan ke dalam bentuk design,
design
akan
diterjemahkan dalam bentuk kode program yang akan diimplementasikan dan terakhir adalah tahapan testing untuk melakukan pengujian dari sistem atau software yang dibuat sesuai requirements.
15
Requirements Pada tahapan ini dilakukan identifikasi business requirement dari semua stakeholders dan users. Siapa yang akan menggunakan sistem ? Bagaimana mereka akan menggunakan sistem tersebut ? Data yang bagaimana yang menjadi input sistem ? Output data yang bagaimana yang akan dihasilkan sistem ? pertanyaan-pertanyaan tersebut yang biasanya diajukan untuk memperoleh data business requirements. Dokumentasi yang dihasilkan pada tahap ini biasanya berupa daftar fungsionalitas yang disediakan oleh sistem, alur proses data, bentuk dan jenis data yang digunakan sistem, dan interface yang dibutuhkan sistem. Design Tahapan design akan dilalui setelah tahap requirement selesai dilakukan. Pada tahap ini akan dideskripsikan detail arsitektur sistem yang akan dibuat, termasuk hardware dan software, communication, software design. Implementation Pada tahap ini, pengkodean dilakukan, dan tahap ini adalah tahap yang paling lama dari siklus pengembangan sistem, dan mungkin dapat terjadi overlap dengan tahap design dan testing. Testing Selama proses testing, sistem atau software aplikasi akan diuji apakah sudah sesuai stakeholders dan users requirements. Unit tests dan system/acceptance tests
16
dilakukan pada tahap ini. Unit tests berfungsi untuk melihat fungsionalitas komponen sistem. Sedangkan system/acceptance tests menguji sistem secara menyeluruh dari alur bisnis proses. Dengan makin berkembangnya kompleksitas system dalam organisasi, banyak bermunculan model- model SDLC. Ada beberapa variasi model SDLC yaitu; model waterfall (original SDLC method); V-Shaped model, rapid application development (RAD); joint application development (JAD); fountain model; spiral model; build and fix; dan synchronize-and-stabilize. Waterfall Model Model Waterfall hampir menyerupai model dasar dari SDLC, dapat dikatakan linear-sequential life cycle model. Model ini yang paling sederhana dan mudah dipahami. Pada model ini, setiap phase harus terpenuhi terlebih dahulu setelah itu dapat melanjutkan tahapan selanjutnya. Tahap review sistem berada pada bagian akhir dari siklus pengembangan sistem, sehingga model ini tidak bisa dilakukan overlap.
17
Gambar 2.2 Waterfall Life Cycle Model
V-Shaped Model Model V-Shaped life cycle memiliki pola proses sekuensial. Setiap phase harus diselesaikan terlebih dulu untuk dapat melanjutkan phase berikutnya. Tahap Testing lebih ditekankan pada model ini dibandingkan dengan model Waterfall. Tahap testing diwajibkan selesai dilakukan sebelum tahap pengkodean program atau implementasi. Test plan fokus pada fungsionalitas sistem sesuai requirements. Tahap high-level design fokus pada arsitektur dan perancangan sistem. Integration test plan bertujuan untuk menguji kemampuan integrasi sistem. Tahap low-level design dilakukan unit tests untuk menguji komponen software.
18
Gambar 2.3 V-Shaped Life Cycle Model Incremental Model Model Incremental ini terdiri dari banyak perulangan siklus model Waterfall atau disebut juga “multi-waterfall” cycle.
Gambar 2.4 Incremental Life Cycle Model Prototyping Model Model ini sama dengan waterfall hanya saja pada tahap analisa requirement dan design, terbentuklah prototype yang digunakan untuk proses development. Setelah
19
prototype dibuat, diserahkan kepada customer atau user untuk dievaluasi. Pada model ini lebih banyak perhatian pada kepuasan user dan developer. Spiral Model Prinsip model Spiral sama dengan model Incremental, tetapi lebih menekankan pada analisa resiko.
Model Spiral memiliki empat tahap, yaitu;
Planning, Risk Analysis, Engineering dan Evaluation. Projek pengembangan sistem atau software akan berulang-ulang melalui empat tahapan tersebut. Model Spiral dimulai dengan tahap perencanaan, identifikasi requirements dilakukan pada tahap ini. Tahap analisa resiko bertujuan untuk mengidentifikasi resiko dan memberikan alternatif solusi, dan kemudian terbentuklah Prototype system. Pembuatan program software dilakukan pada tahap engineering dan dilakukan testing pada tahap akhir siklus. Pada tahap evaluasi, customer diberikan kesempatan untuk melakukan evaluasi output project sebelum melangkah ke tahap selanjutnya. Pada model Spiral, komponen sudut meggambarkan tingkat kemajuan pengembangan sistem, sedangkan radius dari Spiral menggambarkan cost.
20
Gambar 2.5. Spiral Life Cycle Model Rapid Application Development (RAD) Model RAD sama prinsipnya dengan model Waterfall hanya saja lebih ditekankan pada evaluasi end-users. Model ini lebih memperhitungan resiko kegagalan user interface dari penilaian end-users. Penggunaan model SDLC dapat disesuaikan dengan organisasi untuk mengakomodasi aspek-aspek khusus dari sebuah proyek selama pendekatan yang
21
dihasilkan tetap konsisten dengan tujuan utama yaitu untuk menghasilkan sistem yang berkualitas. Tahap-tahap SDLC dapat saling melengkapi dan proyek dapat mengikuti suatu strategi pengembangan yang evolusioner.
2.5
STANDAR INTERNASIONAL PROSES Life Cycle (ISO) ISO/IEC 12207 SDLC ISO Life Cycle Process merupakan standar internasiona l untuk pengembangan
software sistem yang berkaitan dengan proses, aktifitas, dan tugas, disesuaikan dengan scope manajemen dan kondisi organisasi. Dengan ISO Software Life Cycle Process, aktifitas proses dapat dibandingkan dengan procedural, responsibility dan kewajiban.
Standar
Internasional
mengelompokkan aktifitas selama
proses
pengembangan sistem menjadi 3 kelompok, yaitu : Primary Process, Supporting Process dan Organizational Process.
22
Gambar 2.6 ISO/IEC 12207 SDLC
2.5.1
Primary Life Cycle Process Primary proses meliputi lima proses inti yang dilakukan selama pengembangan sistem, yaitu Acquisition, Supply, Development, Operation, dan Maintanace. 1. Acquisition process Proses ini meliputi semua aktifitas dari proses product requirements sampai proses kontrak untuk manajemen dan operasional.
23
Proses ini meliputi : a. Acquisition preparation b. Supplier selection c. Suppiler monitoring d. Customer acceptance 2. Supply process Proses ini meliputi semua aktifitas supplier, dari mengidentifikasi keinginan Acquirer, menyiapkan proposal, mene ntukan prosedur dan sumber daya yang diperlukan, proses pengembangan, eksekusi, hingga deliverable system, seperti : a. Initiation b. Preparation of response c. Contract d. Planning e. Execution and control f. Review and evaluation g. Delivery and completion 3. Development process Proses ini mencakup analisa kebutuhan, perancangan, pengkodean, pengintegrasian, pengujian, instalasi dan product acceptance. Aktifitas pada proses ini, yaitu : a) Perolehan requirements
24
Tujuan dari proses ini adalah untuk mengumpulkan informasi tentang requirement stakeholders. b) Analisa requirement system Tujuan dari proses ini yaitu untuk transformasi requirements stakeholder kedalam kebutuhan teknis sistem yang akan menjadi panduan perancangan system c) Perancangan arsitektur system Tujuan dari proses ini adalah untuk mengidentifikasi requirement yang harus dialokasikan ke dalam sistem. d) Analisa requirement software Proses ini bertujuan untuk menghasilkan software yang sesuai dengan requirement e) Perancangan software Proses ini bertujuan untuk menyediakan rancangan software yang akan diimplementasikan dan disesuaikan dengan requirements. f) Pembuatan software (Code and Unit Test) Proses ini bertujuan untuk menghasilkan unit-unit software yang merefleksikan software design. g) Integrasi Software Proses ini bertujuan untuk mengkombinasikan unit software, membuat item- item software yang terintegrasi, konsistensi dengan rancangan software, mendemostrasikan requirement fungsional dan
25
non- fungsional software
apakah
sudah
memenuhi
platform
operasional. h) Pengujian software Proses ini bertujuan untuk menguji integrated software telah memenuhi requirement i) Integrasi sistem Proses ini bertujuan untuk mengintegrasikan elemen-elemen sistem termasuk software items, hardware items, manual operasional dan sistem lain yang harus diintegrasikan. j) Pengujian sistem Tujuan dari proses ini adalah untuk menjamin bahwa implementasi dari setiap requirement
sistem telah diujikan dan disiap untuk
didistribusikan k) Instalasi software Merencanakan proses intalasi dari software, hardware, komunikasi data dan jaringan. l) Software acceptance support Software telah disetujui semua representative user 4. Operation process Proses operasional meliputi semua aktifitas yang dilakukan Operator, baik dari cara pengoperasian produk sistem dan software dan faktor pendukung proses operasional kepada user. Aktifitas proses meliputi : a) Process Implementation
26
b) Operational testing c) System operation d) User support 5. Maitenance process Proses perawatan dilakukan oleh maintainer. Proses ini berguna untuk melakukan penjaminan sistem dan software berjalan dengan baik, melakukan modifikasi, dan memperbaiki permasalahan yang dihadapi pada saat proses operasional. Proses ini berhenti pada tahap retirement. Aktifitas proses perawatan sebagai berikut : a) Process implementation b) Problem and modification analysis c) Modification implementation d) Maintenance review/acceptance e) Migration f) Software retirement 2.5.2
Supporting Life Cycle Process Proses Supporting Life Cycle terdiri dari delapan proses yang akan mendukung kesuksesan proyek dan kualitas software, yaitu : 1. Documentation process Proses membuat dokumentasi atau perekaman informasi yang dihasilkan setiap proses life cycle. Proses ini terdiri dari tahapan : •
Proses implementasi
27
Proses merencanakan dan mengidentifikasi pendokumentasian dari setiap phase SDLC. Format dasar dokumentasi harus mencakup judul atau nama proses, tujuan proses, siapa saja yang terlibat dalam proses, prosedur dan responsibiliities dan schedule versi terakhir. •
Design dan development Merancang dokumen sesuai design proses yang sedang dilakukan
•
Production Proses memproduksi dokumen setiap saat dibutuhkan
•
Maintenance
2. Configuration management process Proses mengkonfigurasikan detail spesifikasi software,
proses ini
dilakukan agar mudah pengidentifikasian software. Aktifitas yang dilakukan yaitu ; proses implementasi, identifikasi konfigurasi, control konfigurasi, status pelaporan konfigurasi,evaluasi konfigurasi dan mendokumentasikan konfigurasi software yang direlease. 3. Quality assurance process Proses yang bertujuan untuk menjamin produk software dan prosesnya sesuai dengan spesifikasi requirements yang direncanakan. Aktfitas yang dilakukan pada proses ini, yaitu; proses implementasi, product assurance, process assurance dan assurance of quality system
.
28
4. Verification process Aktifitas (Acquirer, Supplier atau Independent party) untuk verifikasi produk software. Aktifitas verifikasi yang dilakukan pada proses SDLC, yaitu; contract verification, process verification, requirement verification, design
verification,
code
verification,
integration
verification,
pendokumentasian hasil dan proses verifikasi. 5. Validation process Aktifitas (Acquirer, Supplier atau Independent party) untuk validasi produk software, dengan mendokumentasikan item subject
yang
divalidasi, bentuk cara melakukan validasi, sumber daya dan schedule melakukan validai yang disertai tanggungjawab, menbuat prosedur laporan validasi untuk diberikan kepada acquirer dan bagian tim projek yang lain. 6. Join review process Aktifitas untuk mengevaluasi kondisi produk software oleh stakeholder yang terkait meliputi project management review dan technical review. 7. Audit process Aktifitas audit setiap proses dan deliverable dari sistem. 8. Problem resolution management process Aktifitas analisa masalah dan memberikan solusi selama proses pengembangan, operasional , perawatan dan proses lain. 9. Usability process
29
Proses ini bertujuan untuk melihat kebergunaan sistem dan produk yang dihasilkan sistem terhadap user dan stakeholders. 10. Product evaluation process Proses ini bertujuan untuk melakukan pemeriksaan dan pengukuran apakah produk yang dihasilkan sistem telah memenuhi kebutuhan user dan stakeholders. 11. Change request management process Proses ini bertujuan untuk menjamin dan manage permintaan perubahan pada sistem ataupun software. 2.5.3
Organizational Life Cycle Process 1. Management process Tujuan dari management process adalah untuk mengatur, memonitor dan mengontrol proses inisilisasi dan performa proses pengembangan sistem untuk mencapai business goals dari organisasi. Proses ini meliputi : •
Organizational alignment
•
Organizational management
•
Project management
•
Quality management
•
Risk management
•
Measurement activity and tasks
30
2. Infrastructure process Proses
infrastruktur
meliputi
aktifitas
proses
implementasi,
pembangunan infrastruktur dan pemeliharaan infrastruktur. 3. Improvement process Proses
improvement
meliputi
aktifitas
pembangunan,
penilaian,
pengembangan, dan kontrol. 4. Human Resources Process Proses ini bertujuan untuk menentukan dan menempatkan human resources yang tepat dan maintanance kompetensi, konsistensi dengan kebutuhan bisnis. Proses ini meliputi; human resources management, training dan knowledge management.
2.6 Proses Tailoring IEEE/IEA 12207 mengartikan tailoring process adalah ….a process for performing basic tailoring of this International Standard for a software project. ISO terdiri dari proses, aktifitas dan tugas yang menjadi prinsip dasar dari software project . IEEE/EIA 12207 menyebutkan : Determine which life cycle model(s) are relevant and applicable for the project, such as Waterfall, evoluntary; buils, pre-planned product improvement, Spiral. All such models prescribe certain processes and activities that may be performed sequently, repeated, and combined, in these models, the life cycle activities in this International Standard should be mapped to the selected
31
model(s).
Dari pernyataan tersebut bisa disimpulkan bahwa model SDLC
apapun yang digunakan harus
sequential, repeated, and combined
serta
disesuaikan dengan proses organisasi. Pada Annex A dari IEEE/EIA 12207, beberapa hal yang perlu diperhatikan sebelum proses tailoring meliputi : a. Identifying project environment b. Soliciting input c. Selecting processes, activities, and task d. Documenting tailoring decisions Langkah- langkah dalam melakukan proses tailoring perkembangan Software Life Cycle Process (IEEE/EIA 12207), yaitu : 1. Selecting SLCM Menentukan SLCM yang sesuai dengan kondisi aset organisasi, kebijakan, SOP, metodologi dan karakteristik proyek. 2. Mapping onto the SLCM Melakukan pemetaan SLCM dengan aktifitas dan proses proyek 3. Establishing an SLCP Setelah melakukan pemetaan kemudian dibuatlah perencanaan SLCP yang terdokumentasi.
32
Organizational Process Assets
Policies, Standards, Procedures, Tools, methodology, etc.
Combine
Standard Project Software Life Cycle Model
Map
Project Software Life Cycle
Gambar 2.7 Rencana Tailoring SLC
Project Software Life Cycle Process