BAB I. PENDAHULUAN
I.1.
Latar Belakang Seiring berkembangnya teknologi, komputer pada masa kini tidak hanya
berfungsi untuk menghitung saja, namun juga berfungsi dalam mencari informasi, mengolah multimedia dan hiburan. Kemampuan komputer terus meningkat dari hari ke hari. Banyak manfaat yang dapat ditawarkan oleh komputer, apalagi harga komputer yang semakin murah dan terjangkau membuat semakin banyak orang yang memiliki teknologi yang disebut komputer ini.
Gambar 1. Komponen Dasar Komputer Pada gambar diatas ini menunjukkan diagram dasar komponen dari komputer secara ideal. Kita bisa mengatakan bahwa komponen internal dari sebuah PC adalah suatu jaringan dari piranti yang semuanya terhubung dengan system bus. Jadi pada dasarnya sebuah PC adalah suatu jaringan komputer dengan skala kecil. Aliran power listrik dan informasi, keduanya secara konstan mengalir dalam sebuah komputer. dalam menjelaskan sebuah jaringan komputer sebenarnya sebuah komputer / PC bisa dianggap sebagai sebuah miniature sebuah jaringan, dengan semua komponen dan piranti yang saling terhubung dan saling berkomunikasi satu sama lain.1 Kegunaan komputer itu sendiri adalah membantu proses kinerja manusia dengan terdapatnya banyak aplikasi komputer yang dikembangkan untuk kebutuhan, contohnya Microsoft Office, Instant Messenger, Photo dan Video Editing maupun Games. Untuk mewujudkan konsepsi komputer sebagai pengolah data untuk menghasilkan suatu informasi, maka diperlukan sistem komputer (computer system) yang elemennya terdiri dari hardware, software dan brainware. Ketiga elemen sistem komputer tersebut harus saling berhubungan dan 1
[Anonim]. 2011. Mengenal Bagian-bagian Komputer. http://sobatpc.com/mengenal-bagianbagian-komputer/ [29 Maret 2012]
1
membentuk kesatuan. Hardware tidak akan berfungsi apabila tanpa software, demikian juga sebaliknya. Dan keduanya tiada bermanfaat apabila tidak ada manusia (brainware) yang mengoperasikan dan mengendalikannya.2 1. Hardware atau Perangkat Keras: peralatan yang secara fisik terlihat dan dapat disentuh. 2. Software atau Perangkat Lunak: program yang berisi instruksi/perintah untuk melakukan pengolahan data. 3. Brainware: manusia yang mengoperasikan dan mengendalikan sistem komputer. Software mempunyai fungsi yakni mengidentifikasi program, menyiapkan aplikasi program agar tata kerja seluruh peralatan terkontrol, serta mengatur dan membuat pekerjaan lebih efisien. Software merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri. Data yang disimpan ini dapat berupa program atau intruksi yang akan dijalankan oleh perintah, maupun catatancatatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah
suatu
susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. pengolahan pada software ini melibatkan beberapa hal, di antaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer.
I.2.
Tujuan Penulisan Mengetahui manfaat dan peranan perangkat lunak terhadap perusahaan
serta untuk memenuhi tugas Ujian Akhir Triwulan mata kuliah Sistem Informasi Manajemen.
2
Wahono. 2012. Pengertian Komputer. http://www.smp1gebog.sch.id/index.php?option=com_ content&view=article&id=85:pengertian-komputer&catid=42:tik&Itemid=56 [29 Maret 2012]
2
BAB II. TINJAUAN PUSTAKA
II.1.
Perangkat Lunak (Software) Nama lain dari software adalah perangkat lunak. Seperti nama lainnya itu,
yaitu perangkat lunak, sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh oleh manusia, maka software atau Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan. Pengertian software komputer adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Melalui software atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah. Software atau perangkat lunak komputer berdasarkan distribusinya dibedakan menjadi beberapa macam, yaitu software berbayar, software gratis atau free ( Freeware, free software, shareware, adware) . Software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan komersil, setiap pengguna yang ingin menggunakan atau mendapatkan software tersebut dengan cara membeli atau membayar pada pihak yang mendistribusikannya. pengguna yang menggunakan software berbayar umumnya tidak diijinkan untuk menyebarluaskan software tersebut secara bebas tanpa ijin ada penerbitnya. Contoh software berbayar ini misalnya adalah sistem microsoft windows, microsoft office, adobe photo shop, dan lain-lain. 3
II.2.
Rekayasa Perangkat Lunak Ilmu yang membahas semua aspek produksi perangkat lunak, dari tahap
awal yaitu analisa kebutuhan pengguna, menentukan spesifikas dari kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan adalah Rekayasa Perangkat Lunak. Tujuan dari Rekayasa Perangkat Lunak adalah untuk menekan biaya (baik pembuatan dan perawatan) seminim dan
3
Anonim. 2008. Pengertian Software (perangkat lunak) Komputer. http://belajar-komputermu.com/pengertian-software-perangkat-lunak-komputer/ [29 Maret 2012]
3
serendah mungkin dan memanfaatkan waktu yang diberikan secara efektif dan efisien sehingga menghasilkan kinerja yang tinggi, andal dan tepat waktu. Lebih mudahnya dipahami dari Gambar 2 di bawah ini tentang tujuan Rekayasa Perangkat Lunak.
Gambar 2. Tujuan Rekayasa Perangkat Lunak.
Sejarah masuknya mata kuliah Rekayasa Perangkat Lunak ke perguruan tinggi dikarenakan telah terjadinya krisis Perangkat Lunak pada tahun 1960-an. Hal ini dipicu oleh banyaknya kegagalan produksi Perangkat Lunak sehingga anggaran dana pun semakin menipis dan faktor lainnya. Selain itu, pada masa itu juga Rekayasa Perangkat Lunak hanya menjadi konsumsi bagi kalangan bisnis dan cuma berkembang di kalangan bisnis (jalan di tempat). Untuk itulah diadakan pertemuan dan akhirnya dimasukkanlah Rekayasa Perangkat Lunak di perguruan tinggi sebagai mata kuliah dengan harapan akan berkembang di masa mendatang. Bill Gates dengan Microsoft-nya dianggap sebagai intelektual muda yang lahir dari perguruan tinggi. Rekayasa Perangkat Lunak hanyalah sebuah teori, tetapi patut diketahui RPL berkaitan erat dengan semua bidang yang akan digeluti oleh lulusan komputer seperti, bisnis dan manajemen. Dan Bill Gates pun mengamalkan apa yang diketahuinya tentang Rekayasa Perangkat Lunak pada
4
Microsoft. Rekayasa di sini bukan berarti konotasi negatif terhadap Perangkat Lunak. Rekayasa diarahkan kepada positif Perangkat Lunaknya. Menghasilkan yang terbaik, bermanfaat dan kemaslahatan manusia. Perkembangan hardware (perangkat keras) yang cepat membuat software (Perangkat Lunak) harus ikut menyesuaikan.4 Pada
rekayasa
perangkat
lunak,
banyak
model
yang
telah
dikembangkanuntuk membantu proses pengembangan perangkat lunak. Modelmodel ini padaumumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar 3.
Gambar 3. System Development Life Cycle (SDLC).
Setiap model yang dikembangkan mempunyai karakteristik sendirisendiri. Namun secara umum ada persamaan dari model-model ini, yaitu:
Kebutuhan terhadap definisi masalah yang jelas Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalampenyelesaian masalah.
Tahapan-tahapan pengembangan yang teratur Meskipun model-modelpengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum, yakni analysis – design – coding – testing - maintenance
4
http://jalannyauzanks.blogspot.com/2011/09/rekayasa-perangkat-lunak-rpl.html
5
Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibatdalam rekayasa perangkat lunak tersebut.
Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak Masing-masing tahapan dalam model biasanya menghasilkansejumlah tulisan,
diagram,
gambar
atau
bentuk-bentuk
lain
yang
harus
didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telahdikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya,peningkatan keuntungan organisasi, peningkatan “image” organisasi danlain-lain. Ada banyak model pengembangan perangkat lunak, antara lain
The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD) termasuk di dalamnya Prototyping,Unified Process (UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST). Tiga model pengembangan yaitu The Waterfall Model, Prototyping, dan Unified Processs (UP).5 1. The Waterfall Model Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak model. Salah satu model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah The Waterfall Model. Ada lima tahapan utama dalam The Waterfall Model seperti terlihat pada Gambar 4. Disebut waterfall (berarti air 5
http://www.scribd.com/Fadlisyah/d/16918341/11-MODEL-PROSES-REKAYASA-PERANGKATLUNAK
6
terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Tahapan-tahapan dalam The Waterfall Model secara ringkas adalah sebagai berikut:
Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi dikembangkan. Pada tahapan ini studi kelayakan perlu dilakukan untuk menentukan apakah sistem informasi yang akan dikembangkan merupakan solusi yang layak
Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta
menganalisa
kondisi
yang
ada
(sebelum
diterapkan
sistem
informasiyang baru).
Tahap disain bertujuan menentukan spesifikasi detil dari komponenkomponen sistem informasi (manusia, hardware, software, network dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis.
Tahap implementasi
merupakan tahapan untuk
mendapatkan atau
mengembangkan hardware dan software (pengkodean program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada
tahapan ini
dilakukan monitoring
proses, evaluasi
danperubahan (perbaikan) bila diperlukan
7
Gambar 4 dan 5. The Waterfall Model dan Protoyping Model
2. Prototyping Model Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997). Prototyping
model dapat
diklasifikasikan
menjadi
beberapa
tipe
sepertiterlihat pada Gambar 5.
8
Reusable prototype: Prototype yang akan ditransformasikan menjadi produk final.
Throwaway prototype: Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
Input/output prototype: Prototype yang terbatas pada antar muka pengguna (user interface).
Processing prototype: Prototype yang meliputi perawatan file dasar dan proses-proses transaksi.
System prototype: Prototype yang berupa model lengkap dari perangkat lunak. Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang
dipercepat. Strategi utama dalam prototyping adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera mungkin. Harris (2003) membagi prototyping dalam enam tahapan seperti terlihat pada Gambar 6. Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
Identifikasi kandidat prototyping: Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, danfungsi-fungsi pemrosesan sederhana.
Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-bagian dari perangkat lunak yang di-prototype-kan.
Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.
Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan
program-program
yang
memang
dibutuhkan
dan
perbaikandan pengujian perangkat lunak secara berulang
9
Gambar 6. Tahapan-tahapan prototyping model (Harris, 2003)
3. Unified Process dan Unified Modeling Language Unified
Process
(UP) atau
kadang
disebut
sebagai
Unified
Software Development Process (USDP) adalah kerangka proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir, 2005). Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala proyek, mulai dari skala kecil sampai dengan skala besar. Daur hidup UP secara umum akan tampak seperti pada bagan di Gambar 7. Bagan ini biasa disebut sebagai “hump chart”. Pada bagan ini terlihat ada empat tahap pengembangan yaitu inception, elaboration, construction dan transition . Selain itu tampak pula sejumlah aktivitas (disciplines) yang harus dilakukan sepanjang pengembangan perangkat lunak, yaitu business modeling, requirements, analysis and design, implementation, test. Tahap dan aktivitas tersebut akan dilakukan secara iteratif (Ambler, 2005).
10
Gambar 7. RUP Life Cycle (Ambler, 2005).
Penjelasan singkat untuk empat tahapan dalam UP adalah sebagai berikut:
Inception Tahapan ini merupakan tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek perangkat lunak dilakukan. Tujuannya adalah untuk mendapatkan kesepakatan dari stakeholder sehubungan dengan tujuan dan dana proyek.
Elaboration Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum kebutuhan, persyaratan dan fungsi-fungsi utama perangkat lunak. Hal ini penting untuk mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko arsitektur perangkat lunak, perencanaan, maupun implementasi. Pada tahap ini telah dimulai rancang bangun perangkat lunak secara iterative melalui aktivitas-aktivitas seperti business modeling, requirements, analysis dan design meskipun baru pada tahap awal.
11
Construction Tujuan dari tahapan ini adalah membangun perangkatlunak sampai dengan saat perangkat lunak tersebut siap digunakan. Titik berat tahapan ini adalah
pada
penentuan
tingkat
prioritas
kebutuhan/persyaratan,
melengkapi spesifikasinya, analisis lebih dalam, disain solusi yang memenuhi
kebutuhan
dan
persyaratan,
pengkodean
dan
pengujian perangkat lunak. Jika dimungkinkan versi awal dari perangkat lunak diuji cobakan untuk mendapatkan masukan daripengguna.
Transition Tahap ini difokuskan pada bagaimana menyampaikan perangkat lunak yang sudah jadi pada pengguna. Perangkat lunak akan secara resmi diuji oleh baik oleh penguji (tester) yang kompeten maupun oleh pengguna. Beberapa aktivitas seperti pemindahan pusat data dan pelatihan pengguna dan staf pendukung harus dilakukan pada tahap ini. Dalam pengembangan perangkat lunak dengan menggunakan UP,
makatidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML(Unified Modeling Language). Meskipun UP mensyaratkan penggunaan UML, namun UML sendiri dapat digunakan pada berbagai metodologi yang lain bahkan dapat digunakan pada bidang selain sistem informasi. UML adalah bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk menspesifikasi, mem-visualisasi, meng-konstruksi dan mendokumentasi hasil kerjadalam pengembangan perangkat lunak (Fowler, 2004). UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi obyek yang berkembang pesat pada akhir tahun 1980an dan awal 1990an. Secara sederhana UML digunakan untuk menggambar sketsa sistem. Pengembang menggunakan UML untuk menyampaikan beberapa aspek darisebuah perangkat lunak melalui notasi grafis. UML mendefinisikan notasi dansemantik. Notasi merupakan sekumpulan bentuk khusus yang memiliki makna tertentu
untuk
menggambarkan
semantik mendefinisikan
berbagai
bagaimana
diagram
piranti
bentuk-bentuk
lunak
dan
tersebut
dapat dikombinasikan. Ada beberapa jenis diagram yang disediakan dalam UML, antara lain adalah:
12
Use-case
diagram. Diagram
ini berguna
untuk menggambarkan
interaksiantara pengguna dengan sebuah perangkat lunak
Activity diagram. Diagram ini berguna untuk menggambarkan prosedurprosedur perilaku perangkat lunak.
Class diagram. Diagram ini berguna untuk menggambarkan class, fitur, dan
hubungan-hubungan yang
terjadi. Pada
diagram ini
pendekatan
berorientasi obyek memegang peranan yang sangat penting.
Sequence
diagram. Diagram ini berguna untuk menggambarkaninteraksi
antar obyek dengan penekanan pada urutan proses ataukejadian.
State machine diagram. Diagram ini digunakan untuk menggambarkan bagaimana suatu kejadian mengubah obyek selama masa hidup obyek tersebut.
Component diagram. Diagram ini berguna untuk menggambarkans truktur dan koneksi komponen.
13
BAB III. PEMBAHASAN
1. Jelaskan atribut atribut dari software yang berkualitas? Apa yang perlu dilakukan dalam pembangunan sistem informasi agar software penunjang sistem informasi yang dibangun tersebut memenuhi standar kualitas yang telah ditetapkan oleh ISO? Kualitas dihubungkan dengan pemenuhan tuntutan pemakai. Salah satu cara menghubungkan kualitas dengan pemakai adalah dengan mengikuti Juran dalam
mendefinisikan
kualitas
sebagai
(kecocokan
penggunaan).
Juran
membedakan dua aspek keeocokan penggunaan: Koleksi kemampuan produk yang memenuhi tuntutan pemakai dan bebas dari kekurangan. Sebuah produk dengan koleksi kemampuan yang dapat memenuhi tuntutan pemakai maka dapat memberikan kepuasan pembeli. Terbebas dari kekurangan dapat menghindari ketidakpuasan pembeli. Kedua aspek ini dapat memenuhi tuntutan pemakai (kualitas tinggi). Penilaian dalam membuat sebuah software terdapat melalui ukuran-ukuran dan metode-metode tertentu, serta melalui pengujian-pengujian software. Salah satu tolak ukur berkualitasnya sebuah software adalah ISO 9126, yang dibuat oleh International
Organization
for
Standardization (ISO).
ISO
9126
mendefinisikan kualitas produk, model, karakteristik mutu, dan matriks yang terkait serta digunakan untuk mengevaluasi juga menetapkan kualitas sebuah produk software. Dalam pengembangan suatu software sebagai tools dalam menunjang kegiatan bisnis, kualitas dari software yang dihasilkan dalam suatu siklus pengembangan system menjadi sangat relevan. Software penunjang bisnis dengan antarmuka grafis akan dapat lebih berkembang apabila memperhatikan kemampuan maintainability. Terdapat berbagai macam perbedaan pendapat terkait batasan kualitas software, apakah kualitas pada proses pengembangannya ataukah kualitas dari produk itu sendiri. Namun satu hal yang perlu dipahami oleh para pengembang aplikasi bahwa orientasi akhir adalah bagaimana suatu perangkat lunak dapat dikembangkan sesuai dengan yang diharapkan oleh pengguna. Dalam IEEE Standard Glosarry of Software Engineering, yang dimaksud dengan kualitas
14
(quality) adalah: “The degree to which a system, component, or process meets customer or user needs or expectation.” Dari segi perspektif produk, pengukuran kualitas perangkat lunak dapat menggunakan standard dari ISO 9126 yang merupakan best practice dalam menentukan kualitas produk perangkat lunak. Standard ini dikembangkan oleh para praktisi dan pengembang dalam bidang rekayasa perangkat lunak (software engineering). ISO 9126-1 (bagian pertama) membagi model kualitas perangkat lunak
(software
quality
model)
menjadi
6
atribut/karakteristik
yaitu:
Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability. Dengan mengacu kepada standard ISO 9126 pada rangkaian siklus daur hidup pengembangan system (System Development Life Cycle) dari tahap initiation, system
concept
development,
development,
integration
and
planning,
requirement
testing,
implementation,
analisys,
design,
operation
and
maintenance bahkan hingga tahap disposal (sunset application), diharapkan kualitas suatu perangkat lunak memenuhi kebutuhan pengguna (user) dapat dicapai.
Gambar 8. Enam Karakteristik ISO 9126-1
15
Keenam karakteristik tersebut dibagi lagi menjadi beberapa sub karakteristik, penjelasan keenam karakteristik tersebut dapat dilihat pada tabel 1. Karakteristik
Sub Karakteristik
Functionality: software untuk menjalankan fungsinya sebagaimana kebutuhan sistemnya Reliability: Kemampuan software untuk dapat tetap tampil sesuai dengan fungsinya ketika digunakan
Suitability Accuracy Interoperability Security Maturity Fault tolerance Recoverability
Usability: Kemampuan software untuk mudah dimengerti, dipelajari, digunakan dan disukai pengguna
Understandability Learnability Operability Attractiveness
Efficiency: Kemampuan software untuk menampilkan performans relatif terhadap penggunaan sumberdaya
Time Behavior Resource Utilization
Maintainability: Kemampuan software untuk dimodifikasi Analyzability (koreksi,adaptasi,perbaikan) Changeability Stability Testability Portability: Kemampuan software untuk ditransfer dari Adaptability satu lingkungan ke lingkungan lain Installability
16
2. Mengapa kita perlu memperhatikan faktor “maintainability” dari suatu software? Jelaskan urgensinya! Maintainability merupakan usaha yang diperlukan dalam menemukan dan memperbaiki kesalahan dalam software. Karena aplikasi pada software itu bersifat dinamis sehingga diperlukan untuk selalu meng-upgrade software agar software selalu siap pakai dan terawat maka maintanability itu perlu dilakukan. Dalam pemeliharaan software terdapat kesalahan asumsi pada saat uji coba yaitu kesalahan tersembunyi pada perangkat lunak yang cukup besar. Terdapat empat jenis pemeliharaan perangkat lunak yakni:
Corrective Maintenance Corrective maintenance terjadi pada saat produk dipakai dan hasil yang didapat oleh pamakai baik berupa kesalahan yang timbul maupun kesalahan dalam bentuk keluaran yang tidak sesuai.
Adaptive maintenance Aktivitas yang kedua ini terjadi karena pertumbuhan atau perkembangan perangkat lunak atau perangkat keras sehingga memerlukan modifikasi dari perangkat lunak yang telah dibuat.
Perfective maintenance Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan
uji
cobs
kemudian
dipergunakan
oleh
user.
Setelah
dipergunakan oleh user mungkin timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai.
Preventive maintenance Pemeliharaan yang terakhir dilakukan untuk menghadapi kemajuan perangkat lunak atau perangkat keras di masa mendatang, umpamanya penambahan fungsi--fungsi atau melengkapi fungsi-fungsi yang telah ada. Maintanability juga disebut sebagai pemeliharaan system di mana setelah
sebuah software berhasil dikembangkan dan diimplementasikan, akan terdapat berbagai hal yang perlu diperbaiki berdasarkan hasil uji coba maupun evaluasi. Sebuah software yang dirancang dan dikembangkan dengan baik, akan dengan mudah dapat direvisi jika diperlukan. Seberapa jauh software tersebut dapat diperbaiki merupakan faktor lain yang harus diperhatikan.
17
Ada tiga alasan yang mendasari pentingnya pemeliharaan sistem atau maintenance system, yaitu sebagai berikut. a. Memperbaiki Kesalahan (Correcting Errors) Maintenance dilakukan untuk mengatasi kegagalan dan permasalahan yang muncul saat sistem dioperasikan. Sebagai contoh, maintenace dapat digunakan untuk mengungkapkan kesalahan pemrograman (bugs) atau kelemahan selama proses pengembangan yang tidak terdeteksi dalam pengujian sistem, sehingga kesalahan tersebut dapat diperbaiki. b. Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism) Kajian
pasca
implementasi
sistem
merupakan
salah
satu
aktivitas maintenance yang meliputi tinjauan sistem secara periodik. Tinjauan periodik atau audit sistem dilakukan untuk menjamin sistem berjalan dengan baik, dengan cara memonitor sistem secara terus-menerus terhadap potensi masalah atau
perlunya
perubahan
saat user menemukan errors pada memberi
umpan
balik
terhadap saat
sistem.
sistem
Sebagai
digunakan,
atau feedback kepada
spesialis
contoh,
maka user dapat informasi
guna
meningkatkan kinerja sistem. Hal ini yang menjadikan system maintenance perlu dilakukan secara berkala, karena system maintenance akan senantiasa memastikan sistem baru yang di implementasikan berjalan dengan baik dan sesuai dengan tujuan penggunaanya melalui mekanisme umpan balik. c. Menjaga Kemutakhiran Sistem (System Update) Selain
sebagai
proses
perbaikan
kesalahan
dan
kajian
pasca
implementasi, system maintenance juga meliputi proses modifikasi terhadap sistem yang telah dibangun karena adanya perubahan dalam organisasi atau lingkungan bisnis. Sehingga, system maintenance menjaga kemutakhiran sistem (system update) melalui modifikasi-modifikasi sistem yang dilakukan.
18
3. Apa‐apa saja yang perlu diperhatikan bila organisasi mengambil kebijakan outsourcing dalam pengembangan sistem informasinya? Jelaskan! Hal-hal yang perlu diperhatikan bila organisasi mengambil kebijakan outsourcing dalam pengembangan sistem informasinya adalah biaya dan turnover organisasi tersebut dan hal-hal lainnya adalah menentukan pengembang untuk membangun sistem informasi, merencanakan dan memonitor setiap langkah, menjaga komunikasi yang efektif antara personil dalam perusahaan dengan pihak pengembang. Perkembangan teknologi informasi semakin hari semakin pesat dan menjadi faktor penentu dalam mencapai keberhasilan suatu organisasi. Ketepatan dan kecepatan informasi menjadi faktor penting bagi organisasi dalam memenangkan persaingan. Kebutuhan organisasi akan teknologi informasi sudah tidak diragukan lagi, dan outsourcing bisa menjadi alat yang efektif dan efisien untuk memenuhi permintaan terhadap teknologi informasi tersebut. Keputusan perusahaan untuk melakukan outsourcing dipengaruhi oleh banyak faktor. Menurut O’brien (2009), ada beberapa alasan perusahan melakukan outsourcing yaitu :
Meningkatkan fokus perusahaan. Perusahaan dapat fokus pada masalah dan strategi utama dan umum sedangkan pelaksanaan tugas sehari-hari yang kecil-kecil diserahkan pada pihak ketiga, sehingga akan lebih menguntungkan bagi perusahaan jika menyerahkan pengelolaan teknologi informasinya kepada perusahaan yang memiliki keahlian khusus di bidang teknologi informasi. Dengan meningkatkan fokus pada bisnis utamanya maka perusahaan juga akan mampu lebih meningkatkan lagi core competence atau kompetensi utamanya.
Memanfaatkan kemampuan kelas dunia. Pada umumnya, perusahaan
outsource mempunyai pengalaman yang
cukup banyak bekerja dengan para kliennya dalam memecahkan masalah yang mungkin serupa atau hampir serupa. Sehingga perusahaan akan memiliki sistem yang memiliki keunggulan kelas dunia dalam bidangnya.
19
Mempercepat keuntungan yang diperoleh dari reengineering Memperbaiki proses di perusahaan sendiri untuk meniru standard perusahaan kelas dunia memerlukan waktu yang sangat panjang dan sukar. Makin banyak perusahaan yang mengatasi hal ini dengan melakukan outsourcing agar mendapatkan hasil langsung dan tanpa risiko.
Membagi risiko Apabila semua aktivitas dilakukan oleh perusahaan sendiri, semua investasi yang diperlukan untuk setiap aktivitas tersebut harus dilakukan oleh perusahaan sendiri pula. Apabila beberapa aktivitas perusahaan dikontrakkan kepada pihak ketiga, maka risiko akan ditanggung bersama pula.
Sumber daya sendiri dapat digunakan untuk kebutuhan-kebutuhan lain Perusahaan tentu mempunyai keterbatasan dalam pemilikan sumber daya. Tantangan yang terus-menerus harus dihadapi adalah bahwa sumber daya tersebut harus selalu dimanfaatkan untuk memanfaatkan bidang-bidang yang paling menguntungkan.
Memungkinkan tersedianya dana kapital. Outsourcing juga bermanfaat untuk mengurangi investasi dana kapital pada kegiatan non core. Sebagai ganti dari melakukan investasi di bidang kegiatan tersebut, lebih baik mengontrakkan sesuai dengan kebutuhan yang dibiayai dengan dana operasi, bukan dana investasi.
Menciptakan dana segar. Outsourcing, sering kali dapat dilakukan tidak hanya mengontrakkan aktivitas tertentu pada pihak ketiga, tetapi juga disertai dengan penyerahan/penjualan/penyewaan aset yang digunakan untuk melakukan aktivitas tertentu tersebut. Aset tersebut misalnya kendaraan, bengkel, peralatan angkut dan angkat dan sebagainya. Dengan demikian, akan mengalir masuk dana segar ke dalam perusahaan. Dana ini akan menambah likuiditas perusahaan dan dapat dipergunakan untuk maksudmaksud lain yang lebih bermanfaat.
20
Mengurangi dan mengendalikan biaya operasi. Salah satu keuntungan yang sangat taktis dari
outsourcing
adalah
memungkinkan untuk mengurangi dan mengendalikan biaya operasi. Pengurangan biaya ini dapat dan dimungkinkan diperoleh dari mitra outsource melalui berbagai hal misalnya spesialisasi, struktur pembiayaan yang lebih rendah, ekonomi skala besar (economics of scale) dan lain-lain.
Memperoleh sumber daya yang tidak dimiliki sendiri. Perusahaan perlu melakukan outsourcing untuk suatu aktivitas tertentu karena perusahaan tidak memiliki sumber daya yang dibutuhkan untuk melakukan aktivitas tersebut secara baik dan memadai.
Memecahkan masalah yang sulit dikendalikan atau dikelola. Outsourcing dapat juga digunakan untuk mengatasi pengelolaan hal atau mengawasi fungsi yang sulit dikendalikan, misalnya birokrasi ekstern yang sangat berbelit yang harus ditaati oleh perusahaan yang dimiliki negara dalam menjalankan fungsi pembelian barang dan jasa, yang sulit ditembus dengan cara-cara biasa. Hal ini mungkin dapat dipecahkan dengan mengkontrakkan saja seluruh pekerjaan tersebut pada pihak ketiga, yang berbentuk swasta yang tidak terikat pada birokrasi tertentu. Outsourcing
adalah
keputusan
perusahaan
untuk
melimpahkan
pengembangan sistem infomasi perusahaan kepada pihak ketiga atau pihak di luar organisasi yang memiliki spesialisai dan ahli dalam bidang sistem informasi. Adapun definisi outsourcing menurut Indrajit dan Djokopranoto (2003) adalah penyerahan aktivitas perusahaan pada pihak ketiga dengan tujuan untuk mendapatkan kinerja pekerjaan yang professional dan berkelas dunia. Keuntungan dan kelebihan dengan pengembangan sistem infomasi dengan outsourcing adalah: Keuntungan Menggunakan Outsourcing:
Biaya teknologi yang semakin meningkat dan akan lebih murah jika perusahaan
tidak
berinvestasi
tidak
berinvestasi
lagi
tetapi
menyerahkannya kepada pihak ketiga dalam bentuk oursourcing yang lebih murah dikarenakan outsourcer dapat dibagi ke beberapa perusahaan.
Meningkatkan fokus bisnis perusahaan(bisnis inti) dengan skala lebih luas. Pelaksanaan operasional lainnya dilakukan oleh perusahaan outsourcing
21
yang telah berpengalaman di bidangnya. Dengan melakukan outsourcing, maka perusahaan dapat berkonsentrasi secara penuh dalam menangani bisnis intinya.
Dengan melakukan outsourcing, perusahaan menjadi lebih flexible, lebih dinamis, dan lebih baik. Perusahaan dapat melakukan perubahan dengan cepat untuk memenuhi perubahan kesempatan sesuai dengan kondisi yang ada.
Dengan melakukan outsourcing, segala resiko pekerjaan, ketenagakerjaan, kriminalitas, dan resiko lainnya menjadi resiko perusahaan penyedia jasa outsourcing
Jasa yang diberikan oleh outsourcer lebih berkualitas dibandingkan dikerjakan sendiri secara internal karena outsourcer memang dispesialisasi dan ahli di bidang tersebut
Pengembangan sistem informasi relatif lebih cepat, efektif, dan efisisen karena dikerjakan oleh orang yang profesional di bidangnya. Penghematan waktu proses dapat diperoleh karena beberapa outsourcer dapat dipilih untuk bekerja bersama-sama menyediakan jasa ini kepada perusahaan.
Mendapatkan ide-ide yang inovatif dan mendapatkan akses pada kemampuan kelas dunia.
Hasil pengembangan sistem infornasi lebih berkualitas dan keuntungan dalam jangka pendek dapat langsung dirasakan oleh perusahaan.
Memudahkan akses pada pasar global jika menggunakan vendor yang mempunyai kualitas dan reputasi yang baik.
Perusahaan merasa tidak perlu melakukan transfer teknologi dan pengetahuan kepada outsourcer.
Meningkatkan fleksibilitas untuk mengantisipasi perubahan dalam persaingan bisnis yang semakin kompetitif baik dalam penggunaan teknologi maupun perubahan volume bisnis.
Memperbaiki kredibilitas perusahaan dengan cara berasosiasi dengan pemberi jasa yang unggul.
22
Mengurangi resiko penggunaan sumber daya sistem informasi yang belum optimal dan meningkatkan kas dalam aset perusahaan karena tak perlu ada aset untuk teknologi informasi.
Kekurangan Menggunakan Outsourcing:
Kehilangan kendali atau kontrol terhadap sistem dan data karena bisa saja pihak outsourcer menjual data ke pesaing.
Menjadi sangat bergantung pada pihak luar sehingga sangat sulit bagi perusahaan untuk mengambil alih kembali sistem yang sedang berjalan terutama apabila ada kerusakan atau gangguan mendadak terhadap sistem informasi perusahaan.
Tidak ada transfer pengetahuan dari pihak luar kepada pihak perusahaan.
Dapat terjadi peluang penyalahgunaan sistem informasi oleh vendor, misalnya pembajakan atau pembocoran informasi perusahaan.
Resiko tidak kembalinya investasi yang telah dikeluarkan apabila terjadi ketidakcocokan sistem informasi yang dikembangkan.
Mengurangi
keunggulan
kompetitif
perusahaan
karena
semua
pengembangan sistem informasi diserahkan kepada perusahaan
Jika kekuatan tawar ada di tangan outsourcer, perusahaan akan kehilangan banyak kendali dalam memutuskan sesuatu apalagi jika terjadi konflik diantaranya.
Perusahaan akan kehilangan kesempatan untuk belajar membangun dan mengoperasikan aplikasi sistem informasi tersebut.
23
4. Kalau anda dipercaya untuk memimpin pembangunan sistem informasi terintegrasi bagi perusahaan di tempat anda bekerja langkah apa saja yang akan anda lakukan? Jelaskan! Jika saya dipercaya untuk memimpin pembangunan sistem informasi terintegrasi bagi perusahaan adalah dengan menggunakan metode pengembangan sistem informasi yang umum yaitu metode pengembangan System Development Life Cycle (SDLC). SDLC menyediakan framework yang lengkap untuk aktivitas rekayasa bentuk dan pembangunan sistem informasi yang formal. Penggunaan SDLC yang memadai akan menghasilkan sistem informasi yang berkualitas. Penggunaan SDLC akan lebih optimal jika dilengkapi dengan berbagai teknik pengembangan sistem. Dalam perkembangannya SDLC dilengkapi oleh berbagai teknik pengembangan sistem, antara lain:
Prototyping, Waterfall, Spiral, V
Model, Formal Method, Extreme Programming. Kemudian langkah-langkah selanjutnya yang akan saya lakukan adalah: 1. Membuat sentralisasi sistem Segala macam yang berhubungan dengan teknologi informasi dibuat di satu unit kerja agar lebih terfokus. Sentralisasi adalah memusatkan seluruh wewenang kepada sejumlah kecil manajer atau yang berada di posisi puncak pada suatu struktur organisasi. Pemerintah pusat tidak harus mempermasalahkan masalah yang timbul akibat perbedaan pengambilan keputusan, karena seluruh keputusan dan kebijakan dikoordinir seluruhnya oleh pemerintah pusat. 2. Mengakomodasi kebutuhan Setiap unit kerja diperlukan dalam pengakomodasian yakni dalam mengumpulkan semua permintaan dan kebutuhan yang terkait dari segi teknologi informasi di setiap unit kerja 3. Membuat standarisasi kebutuhan Jika dalam setiap unit kerja sudah melewati langkah akomodasi kebutuhan, maka selanjutnya adalah membuat standarisasi kebutuhan di setiap unit kerja. Contohnya: dalam perusahaan manufaktur terdapat manajemen produksi operasi yang mengatur software apa yang digunakan dalam proses produksi dari pendistribusian barang. Sehingga, dari sana
24
kita dapat memenuhi permintaan yang sesuai terhadap unit kerja namun juga tetap tersentralisir 4. Aplikatif dan sesuai dengan standar Penerapan dari permintaan yang sesuai dengan standar dan sistem yang sudah tersentralisir
25
KESIMPULAN
1. Pengukuran kualitas suatu perangkat lunak dapat menggunakan standard dari ISO 9126 yang merupakan best practice dalam menentukan kualitas produk perangkat lunak. Standard ini dikembangkan oleh para praktisi dan pengembang
dalam
bidang
rekayasa
perangkat
lunak
(software
engineering). ISO 9126-1 (bagian pertama) membagi model kualitas perangkat lunak (software quality model) menjadi 6 atribut/karakteristik yaitu: Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability. 2. Maintainability merupakan usaha yang diperlukan dalam menemukan dan memperbaiki kesalahan dalam software. Maintanability juga disebut sebagai pemeliharaan sistem di mana setelah sebuah software berhasil dikembangkan dan diimplementasikan, akan terdapat berbagai hal yang perlu diperbaiki berdasarkan hasil uji coba maupun evaluasi. Terdapat tiga alasan yang mendasari pentingnya pemeliharaan sistem atau maintenance system, yakni memperbaiki kesalahan (Correcting Errors), menjamin dan meningkatkan
kinerja
sistem
(Feedback
Mechanism),
menjaga
kemutakhiran sistem (System Update). 3. Hal-hal yang perlu diperhatikan bila organisasi mengambil kebijakan outsourcing dalam pengembangan sistem informasinya adalah biaya dan turnover organisasi tersebut dan hal-hal lainnya adalah menentukan pengembang untuk membangun sistem informasi, merencanakan dan memonitor setiap langkah, menjaga komunikasi yang efektif antara personil dalam perusahaan dengan pihak pengembang. 4. Langkah-langkah yang harus dilakukan untuk memimpin pembangunan sistem informasi terintegrasi bagi perusahaan adalah membuat sentralisasi sistem, mengakomodasi kebutuhan, membuat standarisasi kebutuhan, aplikatif dan sesuai dengan standar.
26
DAFTAR PUSTAKA Harris, M.M., Lievens, F. & Hoye, G.V. (2003). “I think they discriminated against me”: using prototype theory and organizational justice theory for understanding perceived discrimination in selection and promotion situations. International Journal of Selection and Assessment, Vol. 12 (12)
Indrajit RE. Djokopranoto R. 2003. Proses Bisnis Outsourcing. Jakarta: Gramedia Widiasarana, Indonesia. O’Brien JA. 2005. Pengantar Sistem Informasi, Edisi 12. Jakarta: Salemba Empat O’Brien, JA . Marakas, george. 2009. Management Information System. Ninth edition. Mc Graw Hill. Inc Boston
Raharjo. B. 2002. Memahami Teknologi Informasi. PT. Elex Media Komputindo. Jakarta
27
TUGAS INDIVIDU UJIAN AKHIR TRIWULAN MATA KULIAH SISTEM INFORMASI MANAJEMEN
DOSEN: Dr. Ir. Arif Imam Suroso, M.Sc(CS)
Oleh: IRADATI ZAHRA P056111201.47
PROGRAM STUDI MAGISTER MANAJEMEN DAN BISNIS SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR 2012
28
DAFTAR ISI
Halaman DAFTAR ISI ..................................................................................................... i DAFTAR GAMBAR ........................................................................................ ii BAB I. PENDAHULUAN ............................................................................ 1 I.1 Latar Belakang ............................................................................ 1 I.2 Tujuan Penulisan ......................................................................... 2 BAB II. TINJAUAN PUSTAKA ................................................................... 3 II.1 Perangkat Lunak (Software) ...................................................... 3 II.2 Rekayasa Perangkat Lunak ........................................................ 3 BAB III. PEMBAHASAN ............................................................................... 14 KESIMPULAN ................................................................................................ 26 DAFTAR PUSTAKA ...................................................................................... 27
i 29
DAFTAR GAMBAR Halaman Gambar 1 Komponen Dasar Komputer.............................................................1 Gambar 2 Tujuan Rekayasa Perangkat Lunak.................................................4 Gambar 3 System Development Life Cycle (SDLC) .........................................5 Gambar 4 The Waterfall Model.........................................................................8 Gambar 5 Protoyping Model ....................................................................8 Gambar 6 Tahapan-tahapan prototyping model .............................................10 Gambar 7 RUP Life Cycle..........................................................................11 Gambar 8 Enam Karakteristik ISO 9126-1 .....................................................15
30 ii