2. Pengertian
Analisis sistem didefinisikan sebagai bagaimana memahami dan
menspesifikasi dengan detail apa yang harus dilakukan oleh sistem.
Sementara sistem desain diartikan sebagai menjelaskan dengan detail
bagaimana bagian-bagian dari sistem informasi diimplementasikan.
Dengan demikian, analisis dan desain sistem informasi (ANSI) bisa
didefinisikan sebagai : Proses organisasional kompleks di mana sistem
informasi berbasis komputer diimplementasikan. Atau bisa diringkas
sebagai berikut :
Analysis : mendefinisikan masalah.
From requirements to specification.
Design : memecahkan masalah.
From specification to implementation.
2
3. Pengertian
Ada pertanyaan kunci, mengapa urutan tahapan-tahapan dalam ANSI menjadi
sangat penting. Ada beberapa alasan spesifik.
1. Kesuksesan suatu sistem informasi tergantung pada analisis dan
perancangan yang baik. Tahapan analisis akan menentukan masalah apa yang
harus diselesaikan pada organisasi atau perusahaan. Kesalahan dalam tahap
ini akan mengakibatkan masalah tetap ada walaupun sistem informasi telah
diimplementasikan. Sementara tahapan desain akan sangat menentukan
seperti apa sistem akan berfungsi. Walaupun pada tahapan analisis masalah
utama sudah terpetakan dengan bernar, kesalahan desain akan
mengakibatkan kegagalan penyelesaian masalah oleh sistem komputer.
Dengan demikian, dua langkah ini adalah langkah yang sangat menentukan
untuk pengembangan sistem.
2. Metode ANSI merupakan metode yang cukup lama dipakai untuk
membangun perangkat lunak konvensional. Dengan demikian, kesahihan
langkah-langkah baku yang ada sudah teruji. Metode ini juga telah digunakan
secara luas di berbagai industri (teknologi yang telah teruji).
3
4. Pengertian
3. ANSI menawarkan profesi baru sebagai seorang analis. Di bagian
sebelumnya, telah kita bahas bahwa stakeholder yang bertanggung jawab
pada pelaksanaan seluruh tahapan ANSI adalah seorang analis. Dengan
perkembangan industri sistem informasi maka sistem analis merupakan
bagian dari karir dalam dunia IT, menawarkan banyak kesenangan dan
tantangan, serta gaji yang tidak rendah. Dan permintaan akan keahlian sistem
analis dari tahun ke tahun juga semakin meningkat. Sistem analis adalah
profesi yang menantang karena menggabungkan banyak keahlian seperti
keahlian analisis, teknis, interpersonal, dan manajerial. Hal ini bisa dilihat dari
tanggung jawab seorang analis berdasarkan pendekatan ANSI, yang meliputi :
a.Bagaimana membangun sistem informasi.
b.Bagaimana menganalisis kebutuhan dari sistem informasi.
c.Bagaimana merancang sebuah sistem informasi berbasis komputer.
d.Bagaimana memecahkan masalah dalam organisasi melalui system
informasi.
4
5. Metodologi Pengembangan Sistem
Beberapa ahli membagi proses-proses pengembangan sistem ke dalam
sejumlah urutan yang berbeda-beda. Tetapi semuanya akan mengacu
pada proses-proses standar berikut:
a. Analisis
b. Desain -> SDD (Software Design Description)
c. Implementasi
d. Pemeliharaan
Pada perkembangannya, proses-proses standar tadi dituangkan dalam
satu metode yang dikenal dengan nama Systems Development Life
Cycle (SDLC) yang merupakan metodologi umum dalam
pengembangan system yang menandai kemajuan usaha analisis dan
desain.
5
6. Metodologi Pengembangan Sistem
Systems Development Life Cycle (SDLC) meliputi fase-fase sebagai
berikut:
1. Identifikasi dan seleksi proyek
2. Inisiasi dan perencanaan proyek
3. Analisis
4. Desain
– Desain logical
– Desain fisikal
5. Implementasi
6. Pemeliharaan
6
7. Identifikasi dan Seleksi Proyek
Merupakan langkah pertama dalam SDLC keseluruhan informasi yang
dibutuhkan oleh sistem: identifikasi, analisis, prioritas, dan susun ulang.
Dalam tahapan ini ada beberapa hal yang harus dilakukan, di antaranya:
1. Mengidentifikasi proyek-proyek yang potensial. Potensi dari proyek yang
dimaksud adalah seberapa besar keuntungan yang bisa diper-oleh, durasi
waktu yang tersedia apakah cukup untuk menyelesaikan proyek, dan apakah
sumber daya yang dimiliki mampu untuk menyelesaikan proyek.
2. Melakukan klasifikasi dan meranking proyek. Jika pada saat yang
bersamaan ada beberapa proyek yang harus dikerjakan sekaligus maka perlu
dibuat klasifikasi dan ranking proyek, dari proyek yang paling layak untuk
dikerjakan sampai proyek yang dirasa tidak menguntungkan jika dikerjakan.
3. Memilih proyek untuk dikembangkan. Jika klasifikasi dan ranking telah
ditetapkan maka selanjutnya adalah menentukan proyek yang harus
dikerjakan.
7
8. Identifikasi dan Seleksi Proyek
Adapun sumber daya yang terlibat adalah pengguna, analis sistem, dan
manajer yang mengoordinasi proyek. Aktivitas yang biasa dilakukan
pada tahap ini meliputi mewawancarai manajemen pengguna,
merangkum pengetahuan yang didapatkan, dan mengestimasi cakupan
proyek dan mendokumentasi kan hasilnya. Tahapan ini akan
menghasilkan laporan kelayakan yang berisi definisi masalah dan
rangkuman tujuan yang ingin dicapai dari proyek yang dipilih.
8
9. Inisiasi dan Perencanaan Proyek
Dalam tahapan ini, proyek SI yang potensial dijelaskan dan argumentasi
untuk melanjutkan proyek dikemukakan. Rencana kerja yang matang juga
disusun untuk menjalankan tahapan-tahapan lainnya. Pada tahap ini
ditentukan secara detail rencana kerja yang harus dikerjakan, durasi yang
diperlukan masing-masing tahap, sumber daya manusia, perangkat lunak,
perangkat keras, maupun finansial diestimasi. Biasanya hal-hal tadi
dituangkan dalam jadwal pelaksanaan proyek. Pembuatan perencanaan
ini bukan langkah mudah karena untuk mengestimasi beban kerja dan
durasi dari masing-masing tahap dibutuhkan pengalaman yang cukup
banyak.
Kesalahan pada tahap ini akan mengakibatkan keuntungan yang diperoleh
tidak maksimal, bahkan bisa rugi. Pada tahapan ini peran manajer sistem
informasi yang berpengalaman sangat dibutuhkan.
9
10. Tahapan Analisis
Fase ketiga dalam SDLC adalah tahapan analisis. Tahapan analisis adalah
tahapan di mana sistem yang sedang berjalan dipelajari dan sistem
pengganti diusulkan. Dalam tahapan ini dideskripsikan sistem yang sedang
berjalan, masalah, dan kesempatan didefinisikan, dan rekomendasi umum
untuk bagaimana memperbaiki, meningkatkan atau mengganti sistem
yang sedang berjalan diusulkan. Tujuan utama dari fase analisis adalah
untuk memahami dan mendokumentasikan kebutuhan bisnis (business
need) dan persyaratan proses dari sistem baru. Ada enam aktivitas utama
dalam fase ini:
1. Pengumpulan informasi -> teknik elistasi
Langkah awal pada tahapan analisis adalah mengumpulkan informasi
tentang bagaimana proses-proses bisnis yang ada pada sistem lama
berjalan. Kemudian ditentukan pada titik-titik mana saja proses bisnis
yang mengalami masalah yang bisa diselesaikan dengan sistem informasi.
Kelemahan-kelemahan dari sistem lama diidentifikasi dan diperbaiki
dengan sistem baru.
10
11. Tahapan Analisis
2. Mendefinisikan sistem requirement
Dari informasi kelemahan sistem yang didapat, analis sistem kemudian
mendefinisikan apa saja sebenarnya yang dibutuhkan oleh sistem lama untuk
mengatasi masalahnya. Inilah yang disebut sebagai system requirement
(kebutuhan sistem). Seringkali kebutuhan ini akan mengubah total
keseluruhan proses bisnis pada sistem lama, tetapi kadang-kadang hanya
perubahan penambahan beberapa prosedur baru.
3. Memprioritaskan kebutuhan
Dalam beberapa kasus, kebutuhan yang diperoleh sangat lengkap dan rumit.
Ketersediaan waktu dan sumber daya lain untuk menyelesaikan keseluruhan
requirement bisa saja tidak mencukupi. Pada kondisi seperti ini maka analis
akan memprioritaskan kebutuhan-kebutuhan yang dianggap kritis untuk
diprioritaskan.
11
12. Tahapan Analisis
4. Menyusun dan mengevaluasi alternative
Satu hal yang tidak boleh dilupakan analis adalah rencana kedua. Setelah
menyusun dan memprioritaskan kebutuhan, analis harus menyiapkan
alternatif jika seandainya susunan kebutuhan nantinya akan ditolak oleh klien.
5. Mengulas kebutuhan dengan pihak manajemen
Langkah terakhir adalah mengulas kebutuhan yang sudah ada dengan pihak
klien, karena pihak klien lah yang paling tahu kebutuhan sistem mereka.
12
13. Tahapan Desain
Tahapan desain adalah tahapan mengubah kebutuhan yang masih
berupa konsep menjadi spesifikasi sistem yang riil. Tahapan desain
sistem dapat dibagi menjadi 2 tahap, yaitu
1. Desain logis (logical design) dan
2. Tahapan desain fisik (physical design).
13
14. Desain Logis
Desain logis design adalah bagian dari fase desain dalam SDLC di mana semua
fitur-fitur fungsional dari sistem dipilih dari tahapan analisis dideskripsikan
terpisah dari platform komputer yang nanti digunakan Hasil dari tahapan ini
adalah:
a. Deskripsi fungsional mengenai data dan proses yang ada dalam sistem
baru.
b. Deskripsi yang detail dari spesifikasi sistem, meliputi :
⮚Input (data apa saja yang menjadi input).
⮚Output (informasi apa saja yang menjadi output).
⮚Process (prosedur apa saja yang harus dieksekusi untuk mengubah input
menjadi output).
Tahapan desain logis biasanya menghasilkan beberapa dokumen, di antaranya
dokumen model data, dokumen model proses, rancangan tabel, hierarki antar
modul, sampai desain antar muka dari sistem yang akan dibuat.
14
15. Desain Fisik
Pada bagian ini, spesifikasi logis diubah ke dalam detail teknologi di mana
pemrograman dan pengembangan sistem bisa diselesaikan. Pada tahapan
inilah aktifitas coding dilakukan Adapun output dari sistem ini adalah:
a. Deskripsi teknis, mengenai pilihan teknologi perangkat lunak dan perangkat
keras yang digunakan.
b. Deskripsi yang detail dari spesifikasi sistem meliputi:
⮚Modul-modul program
⮚File-file
⮚Sistem Jaringan
⮚Sistem perangkat lunak
15
16. Desain Fisik
Pada tahapan desain, ada beberapa aktivitas utama yang dilakukan,
yaitu:
a. Merancang dan mengintegrasikan jaringan.
b. Merancang arsitektur aplikasi
c. Mendesain antar muka pengguna.
d. Mendesain sistem antar muka.
e. Mendesain dan mengintegrasikan database.
f. Membuat prototype untuk detail dari desain.
g. Mendesain dan mengintegrasikan kendalí sistem
16
17. Implementasi
Pada tahapan kelima SDLC ini terdapat beberapa hal yang perlu
dilakukan, yaitu:
1. Testing, yaitu menguji hasil kode program yang telah dihasilkan dari
tahapan desain fisik. Tujuan pengujian ada dua. Dari sisi pengembang
sistem, harus dijamin kode program yang dibuat bebas dari kesalahan
sintaks maupun logika. Dari sisi pengguna, program yang dihasilkan
harus mampu menyelesaikan masalah yang ada pada klien dan sistem
baru harus mudah dijalankan dan dipahami oleh pengguna akhir.
2. Instalasi. Setelah program lulus ujicoba, maka perangkat lunak dan
perangkat keras akan diinstal pada organisasi atau perusahaan klien
dan secara resmi mulai digunakan untuk menggantikan sistem lama.
Output dari tahapan ini adalah: source code yang error free, prosedur
pelatihan, dan buku panduan.
17
18. Pemeliharaan
Langkah terakhir dari SDLC di mana pada tahapan ini sistem secara
sistematis diperbaiki dan ditingkatkan. Hasil dari tahapan ini adalah
versi baru dari perangkat lunak yang telah dibuat. Perbaikan yang
dilakukan tingkatannya bisa sangat variatif, mulai dari memperbaiki
program yang crash hingga berfungsi kembali sampai pada
penambahan modul-modul program yang baru sebagai jawaban atas
perubahan kebutuhan pengguna.
18
19. Kelemahan dari SDLC Tradisional
Hampir sama seperti semua standar industri lain, system development life
cycle punya kelebihan maupun kelemahan. Kelebihannya adalah langkah-
langkah yang sekuensial memungkinkan pengembang system focus pada 1
langkah terlebih dahulu, baru setelah selesai berpindah ke langkah
berikutnya. Untuk pemula pendekatan ini sangat bermanfaat. Tetapi ada
beberapa kelemahan sebagai akibat dari langkah-langkah sekuensial ini, di
antaranya:
1. Terlalu boros, baik dari segi biaya maupun waktu, saat terjadi perubahan
ketika sistem sudalh dikembangkan. Hal ini disebabkan perubahan pada satu
tahap akan berakibat pada tahap berikutnya. Dengan demikian, SDLC harus
dilaksanakan dengan asumsi setiap tahap tidak boleh salah.
2. SDLC merupakan metode dengan pendekatan terstruktur yang
mensyaratkan mengikuti semua langkah yang ada. Jika pengembang
menginginkan proses pembuatan lebih cepat dengan meniadakan satu atau
beberapa langkah maka hasilnya justru sistem yang dibangun akan gagal.
19
20. Pendekatan Pengembangan Sistem
Hampir sama seperti semua standar industri lain, system development life
cycle punya kelebihan maupun kelemahan. Kelebihannya adalah langkah-
langkah yang sekuensial memungkinkan pengembang system focus pada 1
langkah terlebih dahulu, baru setelah selesai berpindah ke langkah
berikutnya. Untuk pemula pendekatan ini sangat bermanfaat. Tetapi ada
beberapa kelemahan sebagai akibat dari langkah-langkah sekuensial ini, di
antaranya:
1. Terlalu boros, baik dari segi biaya maupun waktu, saat terjadi perubahan
ketika sistem sudalh dikembangkan. Hal ini disebabkan perubahan pada satu
tahap akan berakibat pada tahap berikutnya. Dengan demikian, SDLC harus
dilaksanakan dengan asumsi setiap tahap tidak boleh salah.
2. SDLC merupakan metode dengan pendekatan terstruktur yang
mensyaratkan mengikuti semua langkah yang ada. Jika pengembang
menginginkan proses pembuatan lebih cepat dengan meniadakan satu atau
beberapa langkah maka hasilnya justru sistem yang dibangun akan gagal.
20
22. Pendekatan Pengembangan Sistem
SDLC dengan model seperti ini memiliki beberapa kelemahan, yaitu:
1. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel,
karena komitmen harus dilakukan pada tahap awal proses.
2. Dapat mengakibatkan sulitnya merespons perubahan kebutuhan
pengguna.
3. Model SDLC harus digunakan hanya ketika persyaratan dipahami
dengan baik.
Beberapa metode kemudian dikembangkan untuk melengkapi kelemahan-
kelemahan yang ada dalam metode SDLC. Ada beberapa metode yang
akan kita bahas pada bab ini, yaitu metode pengembangan sistem
evolusioner, metode pengembangan re-usable, metode prototyping, dan
metode pengembangan berorientasi objek.
22
23. Metode Pengembangan Evolusioner
Metode pengembangan evolusioner berdasarkan pada ide untuk
mengembangkan implementasi awal, kemudian memperlihatkan sistem awal
itu kepada pengguna untuk dikomentari, dan memperbaikinya versi demi
versi sampai sistem yang memenuhi persyaratan diperoleh. Pada metode ini
tidak ada kegiatan spesifikasi, pengembangan, dan validasi yang terpisah.
Kegiatan-kegiatan ini dilakukan pada saat yang bersamaan dengan umpan
balik yang cepat untuk masing-masing kegiatan.
23
24. Metode Pengembangan Evolusioner
Pengembangan sistem secara evolusioner sendiri memiliki dua variasi Yang
pertama adalah pengembangan eksplotari. Tujuan proses ini adalah bekerja
dengan pelanggan untuk menyelidiki persyaratan mereka dan mengirimkan
sistem akhir. Harusnya diawali dengan kebutuhan yang sudah dimengerti.
Pendekatan ini biasa digunakan untuk mengembangkan sistem berdasar
pesanan dari klien (custom product). Variasi kedua adalah prototipe yang
dapat dibuang (throw-away-prototype). Metode ini berkonsentrasi pada
eksperimen, dengan persyaratan pelanggan yang tidak dipahami dengan baik,
cocok untuk pengembangan perangkat lunak jenis produk generik.
Ada beberapa kelebihan metode evolusioner jika dibandingkan dengan
SDLC. Metode evolusioner lebih efektif dari pendekatan SDLC dalam
menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
Karena untuk menghasilkan sistem informasi tidak harus menempuh
keseluruhan tahap SDLC. Keuntungan kedua, sementara pengguna mendapat
pemahaman yang lebih baik dari masalah mereka, sistem perangkat lunak
dapat merefleksikannya.
24
25. Metode Pengembangan Evolusioner
Adapun kelemahan dari sistem ini antara lain, kurangnya visibilitas
proses. Di samping itu, ika sistem dikembangkan dengan cepat,
tidaklah efektif dari segi biaya jika dihasilkan dokumen yang
merefleksikan setiap versi sistem. Kedua, sistem seringkali memiliki
struktur yang buruk. Hal ini disebabkan perubahan yang terus-
menerus pada program malah cenderung merusak struktur perangkat
lunak. Tentu saja ini mengakibatkan penyesuaian perubahan menjadi
kian sulit dan mahal. Ketiga metode ini membutuhkan kemampuan
pengembangan perangkat lunak dengan SDM yang sudah
berpengalaman.
25
26. Metode Pengembangan Berorientasi
Pemakaian Ulang (Re-Usable)
Metode ini berpegang pada ide awal sebagai berikut. Untuk beberapa proses
bisnis, permintaan dari satu klien dengan klien yang lain bisa jadi hampir
sama. Dengan demikian, jika sudah memiliki satu sistem informasi, akan
dikembangkan sistem informasi untuk klien yang lain dengan proses bisnis
yang hampir sama. Kita bisa memanfaatkan perangkat lunak yang sudah ada
untuk membuat perangkat lunak yang baru. Tahapan pada metode ini dapat
dilihat pada gambar berikut:
26
27. Metode Pengembangan Berorientasi
Pemakaian Ulang (Re-Usable)
Ada empat fase utama dalam pengembangan re-usable:
1. Analisis komponen. Dalam fase ini, spesifikasi persyaratan telah diketahui,
komponen-komponen untuk implementasi spesifikasi tersebut akan dicari.
Biasanya, tidak ada kesesuaian yang tepat dan komponen yang dapat dipakai
hanya memberikan sebagian dari fungsionalitas yang dibutuhkan.
2. Modifikasi persyaratan. Persyaratan dianalisis menggunakan informasi
tentang komponen yang didapat, kemudian dimodifikasi untuk merefleksikan
komponen yang ada. Jika modifikasi tidak mungkin dilakukan, maka kegiatan
analisis komponen bisa diulang untuk mencari solusi alternatif.
3. Perancangan sistem dengan pemakaian ulang. Kerangka kerja sistem
dirancang atau kerangka kerja yang telah ada dipakai ulang.
4. Pengembangan dan integrasi. Perangkat lunak yang tidak dapat dibeli akan
dikembangkan dan komponen kemudian diintegrasikan untuk membantu
sistem.
27
28. Prototyping
Prototyping adalah proses iteratif dalam pengembangan sistem di
mana kebutuhan diubah ke dalam sistem yang bekerja (working
system) yang secara terus menerus diperbaiki melalui kerjasama
antara pengguna dan analis. Prototype juga bisa dibangun melalui
beberapa tool pengembangan untuk menyederhanakan proses.
Prototyping merupakan bentuk dari Rapid Application Development
(RAD). RAD memiliki beberapa kelemahan, di antaranya:
a. RAD mungkin mengesampingkan prinsip-prinsip rekayasa perangkat
lunak.
b. Menghasilkan inkonsistensi pada modul-modul sistem.
c. Tidak cocok dengan standar.
d. Kekurangan prinsip reusability komponen.
28
30. Prototype Methodology
30
1. Analis bekerja dengan tim untuk mengidentifikasi kebutuhan awal untuk
sistem.
2. Analis kemudian membangun prototype. Ketika sebuah prototype telah
selesai. Pengguna bekerja dengan prototype itu dan menyampaikan pada
analis apa yang mereka sukai dan yang tidak mereka sukai.
3. Analis kemudian menggunakan feedback ini untuk memperbaiki
prototype.
4. Versi baru diberikan kembali ke pengguna.
5. Ulangi langkah-langkah tersebut sampai pengguna merasa puas.
Keuntungan Prototype :
1. Prototype melibatkan pengguna dalam analisis dan desain.
2. Punya kemampuan menangkap kebutuhan secara konkret daripada
secara abstrak.
3. Untuk digunakan secara standalone.
4. Digunakan untuk memperluas SDLC.
31. Object Oriented Analysis and Design
(OOAD)
31
Pendekatan yang terakhir adalah pendekatan berbasis objek. Seiring
dengan berkembangnya trend pemrograman berbasis objek maka
analisis dan desain sistem juga bisa menggunakan konsep objek.
Pendekatan baru untuk pengembangan sistem ini sering disebut
sebagai pendekatan ketiga, setelah pendekatan yang berorientasi data
dan berorientasi proses. OOAD adalah metode pengembangan sistem
yang lebih menekankan objek dibandingkan dengan data atau proses.
Ada beberapa ciri khas dari pendekatan ini, yaitu object, inheritance,
dan object class.
Object adalah struktur yang mengenkapsulasi atribut dan metode yang
beroperasi berdasarkan atribut-atribut tadi. Object adalah abstraksi
dari benda nyata di mana data dan proses diletakkan bersama untuk
memodel kan struktur dan perilaku dari objek dunia nyata.
32. Object Oriented Analysis and Design
(OOAD)
32
Object class adalah sekumpulan objek yang berbagi struktur yang
sama dan perilaku yang sama.
Inheritance, merupakan properti yang muncul ketika tipe entitas atau
object class disusun secara hierarki dan setiap tipe entitas atau object
class menerima atau mewarisi atribut dan metode dari pendahulunya.
Karena pembahasan tentang OOAD sangat luas dan dalam maka
pembaca dipersilahkan merujuk pada buku-buku OOAD untuk
mendapatkan informasi yang mendalam dan komprehensif.
33. Teknologi Pengembangan Sistem
33
Object class adalah sekumpulan objek yang berbagi struktur yang
sama dan perilaku yang sama.
Inheritance, merupakan properti yang muncul ketika tipe entitas atau
object class disusun secara hierarki dan setiap tipe entitas atau object
class menerima atau mewarisi atribut dan metode dari pendahulunya.
Karena pembahasan tentang OOAD sangat luas dan dalam maka
pembaca dipersilahkan merujuk pada buku-buku OOAD untuk
mendapatkan informasi yang mendalam dan komprehensif.
34. Teknologi Pengembangan Sistem
34
Pada perkembangannya desain sistem banyak didukung oleh penggunaan
perangkat lunak dan teknologi baru. Tujuan penggunaan perangkat lunak
untuk analisis memiliki beberapa tujuan:
a.Meningkatkan produktivitas.
b.Berkomunikasi lebih efektif dengan pengguna.
c.Mengintegrasikan pekerjaan yang telah dilaksanakan dari awal
pengembangan sampai akhir.
Tool semacam ini dikategorikan dalam jenis CASE (Computer Aided
Software Engineering). CASE adalah perangkat lunak yang digunakan
untuk mengotomasi atau mendukung penggambaran dan analisis dari
model sistem dan menyediakan translasi dari model sistem ke sistem
aplikasi. Ada beberapa tool yang sering digunakan, misalnya Microsoft
Project dan Rational Rose. Microsoft Project sangat berguna untuk
penjadwalan proyek sedangkan Rational Rose sangat membantu untuk
tahapan proses model maupun data model.