Assalamualaikum
warahmatullahi wabarakatuh
Selamat
membaca kembali di postingan yang singkat-singkat, Dipostingan ini akan dibahas
Analisis sistem dan metodologi pengembangan perangkat lunak.
Sistem analis disebut sebagai individu kunci pada proses pengembangan
sistem, karena seorang sistem analis
merupakan jabatan yang membuat sebuah keputusan. Kesalahan dalam membuat akan
berakibat pada gagalnya proyek yang dikerjakan.
Seorang sistem analis memiliki
tanggung jawab pada proses analisis dan perancangan sistem informasi. Tugas
utamanya adalah menentukan bentuk sistem yang akan dibangun dengan mempelajari
masalah dan kebutuhan dari organisasi untuk menentukan bagaimana orang, data,
proses, komunikasi dan teknologi informasi dapat meningkatkan pencapaian
bisnis.
Untuk
menjadi seorang sistem analis diperlukan beberapa keahlian yang harus dimiliki.
Berikut keahlian yang diperlukan seorang analis :
·
Keahlian analisis
Keahlian
analisis diperlukan untuk memahami organisasi yang memerlukan sistem informasi
yang akan dibangun. Keahlian analisis digunakan untuk memetakan permasalahan
yang dihadapi oleh perusahaan klien. Kemampuan analisis juga diperlukan untuk
memecahkan masalah yang telah ditemukan lagi menggunakan teknologi berbasis
komputer. Dengan menganalisa komponen-komponennya maka seorang sistem analis
akan lebih mudah memahami keseluruhan proses bisnis yang berjalan dan menemukan
sub sistem mana yang punya indikasi mengalami masalah.
·
Keahlian teknis
Tugas utama seorang analis adalah menentukan
bentuk sistem terkomputerisasi seperti apa yang dapat menyelesaikan masalah
yang telah ditemukan pada perusahaan
atau organisasi klien. Karena permasalahan yang ditemukan harus diselesaikan
dengan teknologi komputer maka keahlian teknis sangat dibutuhkan yaitu berupa penguasaan teknologi software
maupun hardware. Seorang sistem analis dituntut untuk mengenal dan menguasai
software maupun hardware terbaru, mengetahui keunggulan maupun batasan dari
teknologi-teknologi tersebut. Hal ini akan sangat membantu analis dalam memilih
teknologi yang tepat untuk keperluan klien yang sangat spesifik. Keahlian
teknis bias diperoleh dari pendidikan formal, pelatihan khusus maupun jam
terbang yang panjang dalam mengembangkan proyek Sistem Informasi.
·
Keahlian Managerial
Salah satu tugas sistem analis adalah menjadi
tangan kanan Manager Sistem Informasi dalam mengatur sumber daya proyek dalam
skala kecil. Sistem analis bertanggung jawab mengatur sumber daya yang di bawah
kendalinya seperti programmer dan teknisi. Pengalokasian tugas yang tepat
sangat berpengaruh pada cepat lambatnya penyelesaian proyek . Sistem analis
juga harus mampu memprediksi resiko dan perubahan factor-faktor eksternal
seperti kenaikan harga hardware, perubahan kebutuhan klien, munculnya produk pesaing
dan lain-lain.
·
Interpersonal skills
Keahlian berkomunikasi sangat diperlukan
untuk menjaring informasi yang akurat tentang masalah yang ada pada klien.
Kadang-kadang ada beberapa jenis klien yang tertutup atau kurang memahani
proses bisnisnya sendiri. Disinilah kemampuan berkomunikasi dari sistem analis
sangat menentukan keberhasilan identifikasi masalah. Dengan menjalin komunikasi
secara efektif dengan stake holder yang lain, perkembangan proyek selalu dapat
diketahui, perubahan- perubahan terbaru bisa dimonitor dan direspons.
Tanggung
jawab seorang analis adalah pada proses analisis dan perancangan sistem
informasi. Adapun tanggung jawab dari seorang sistem analis meliputi :
1. Pengambilan
data yang efektif dari sumber bisnis
2. Aliran
data menuju ke komputer
3. Pemrosesan
dan penyimpanan data dengan komputer
4. Aliran
dari informasi yang berguna kembali ke proses bisnis dan penggunanya
Fungsi dari Sistem
Analis meliputi :
1. Mengidentifikasikan
masalah-masalah dari pemakai / user.
2. Menyatakan
secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan user.
3. Memilih
alternatif-alternatif metode pemecahan masalah.
4. Merencanakan
dan menerapkan rancangan sistemnya sesuai dengan permintaan user.
Tahapan
dalam menganalisis sistem
1. Memahami
bidang masalah.
2. Menganalisis
masalah-masalah dan kesempatan-kesempatan.
3. Menganalisis
proses-proses bisnis.
4. Menentukan
tujuan-tujuan perbaikan sistem.
5. Memperbarui
rencana proyek.
6. Mengkomunikasikan
penemuan-penemuan dan rekomendasi.
Macam-macam klasifikasi metodologi pengembangan
perangkat lunak
1) Linear
Sequential Model

Linear sequential model
(“classic life cycle” atau “waterfall model”) adalah metode pengembangan
perangkat lunak dengan pendekatan sekuensial dengan cakupan aktivitas:
a. Rekayasa
Sistem dan Analisis (System Engineering and Analysis). Karena perangkat lunak
adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan
kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang
untuk pengembangan perangkat lunak. Hal ini penting, ketika perangkat lunak
harus berkomunikasi dengan hardware, orang, dan basis data.
b. Analisis
Kebutuhan Perangkat Lunak (Software Requirements Analysis). Pengumpulan
kebutuhan dengan fokus pada perangkat lunak, yang meliputi: domain informasi,
fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya harus
didokumentasi dan di-review ke pelanggan.
c. Perancangan
(Design). Ada empat atribut untuk program, yaitu: Struktur Data, Arsitektur
perangkat lunak, Prosedur detil, dan Karakteristik Antarmuka. Proses desain
mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti
perangkat lunak sebelum dimulai penulisan program. Desain ini harus
terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.
d. Pembuatan
Kode (Coding). Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh
mesin, dengan menggunakan bahasa pemrograman.
e. Pengujian
(Testing). Setelah kode program selesai testing dapat dilakukan. Testing
memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan
mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil
yang diinginkan.
f. Pemeliharaan
(Maintenance). Merupakan bagian paling akhir dari siklus pengembangan dan
dilakukan setelah perangkat lunak dipergunakan, meliputi kegiatan-kegiatan:
i.
Corrective Maintenance: Mengoreksi
kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak
dipergunakan.
ii.
Adaptive Maintenance: Penyesuaian dengan
lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas
perkembangan sistem komputer, misalnya penambahan printer driver.
iii.
Perfektive Maintenance: Bila perangkat
lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah
kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan
sebagainya.
2) Prototyping Model

Pendekatan prototyping model digunakan jika
pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa memerinci
kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu
yakin akan efesiensi algoritma, adaptasi sistem operasi, atau bentuk
antarmuka manusia-mesin
yang harus diambil. Cakupan aktivitas dari prototyping model terdiri dari:
a.
Mendefinisikan objektif secara keseluruhan dan
mengidentifikasi kebutuhan yang sudah diketahui.
b.
Melakukan perancangan secara cepat
sebagai dasar untuk membuat prototype.
c.
Menguji coba dan mengevaluasi prototype
dan kemudian melakukan penambahan dan perbaikan- perbaikan terhadap prototype
yang sudah dibuat.
3) RAD
(Rapid Application Development) Model

Merupakan model proses pengembangan perangkat
lunak secara linear sequential yang menekankan pada siklus pengembangan yang
sangat singkat. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan
tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu
yang sangat pendek (kira-kira 60-90 hari). Cakupan aktivitas dari RAD model ini
terdiri dari:
a. Pemodelan
Bisnis (Bussiness Modelling).
b. Pemodelan
Data (Data Modelling). Aliran informasi yang didefinisikan sebagai bagian dari
fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan
untuk menopang bisnis tersebut. Karakteristik/atribut dari masing-masing objek
diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.
c. Pemodelan
Proses (Process Modelling). Aliran informasi yang didefinisikan dalam fase
pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu
bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.
d. Pembuatan
Aplikasi (Application Generation).
Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman
generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk
memakai lagi komponen program yang telah ada atau menciptakan komponen yang
bias dipakai lagi. Pada semua kasus, alat-alat bantu otomatis dipakai untuk
memfasilitasi kontruksi perangkat lunak.
e. Pengujian
dan Pergantian (Testing and Turnover). Karena proses RAD menekankan pada
pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi
keseluruhan waktu pengujian. Tapi komponen baru harus diuji.
Pada saat RAD
diimplementasikan, maka para pemakai bisa menjadi bagian dari keseluruhan
proses pengembangan sistem dengan bertindak sebagai pengambil kepu- tusan pada
setiap tahapan pengembangan. RAD bisa menghasilkan suatu sistem dengan cepat
karena sistem yang dikem- bangkan dapat memenuhi keinginan dari para pemakai
sehingga dapat mengurangi waktu untuk pengembangan ulang setelah tahap implementasi.
- Apabila
menggunakan RAD untuk men- dapatkan suatu desain yang dapat di- terima oleh
konsumen dan dapat dikem- bangkan dengan mudah.
-
Apabila
menggunakan RAD untuk memberikan batasan-batasan pada suatu sistem supaya tidak
mengalami per- ubahan.
-
Apabila
menggunakan RAD untuk meng- hemat waktu, dan kalau memungkinkan bisa menghemat
biaya serta menghasil- kan produk yang berkualitas.
4) Spiral
Model

Merupakan model proses
perangkat lunak yang memadukan wujud pengulangan dari model prototyping dengan
aspek pengendalian dan sistematika dari linear sequential model, dengan
penambahan elemen baru yaitu analisis resiko.
Model ini memiliki
empat aktivitas penting, yaitu:
a.
Perencanaan (Planning). penentuan
tujuan, alternatif, dan batasan.
b.
Analisis resiko (Risk Analysis).
analisis alternatif dan identifikasi/pemecahan resiko.
c.
Rekayasa (Engineering). pengembangan
level berikutnya dari produk.
d.
Evaluasi Pemakai (Customer Evaluation).
penilaian terhadap hasil rekayasa
Bentuk spiral
memberikan gambaran bahwa semakin besar iterasinya, maka menunjukkan makin
lengkap versi dari perangkat lunak yang
dibuat. Selama awal sirkuit, objektif, alternatif dan batasan didefinisikan
serta resiko diidentifikasikan dan dianalisa.
Model spiral ini adalah
pendekatan yang paling realistic untuk sistem sekala besar.
5) Agile
Development l

Kategori ini berfokus
pada perampingan SDLC dengan menghilangkan banyak pemodelan dan dokumentasi
overhead dan waktu yang dihabiskan untuk tugas-tugas. Proyek menekankan
sederhana, pengembangan aplikasi berulang. Kategori ini menggunakan pemrograman
ekstrim (XP), yang dijelaskan sebagai berikut:
Prinsip-prinsip Kunci
XP meliputi pengujian terus menerus, coding sederhana dan interaksi yang dekat
dengan pengguna akhir untuk membangun sistem yang sangat cepat. Setelah proses
perencanaan yang dangkal, tim proyek melakukan analisis, desain, dan fase
implementasi iterative.
Sekian ilmu yang bisa saya bagikan
ke kawan-kawan pembaca. Semoga bermanfaat. Sampai jumpa dipostingan
selanjutnya. Da da (lambaikan tangan ke pembaca)
Comments
Post a Comment