Anda di halaman 1dari 12

BAB II

PEMBAHASAN

2.1 Pengertian SDLC


System Development Life Cycle (SDLC) adalah proses yang digunakan
oleh analis sistem untuk mengembangkan sistem informasi mulai dari peren-
canaan, pentuan kebutuhan, perancangan, validasi, sampai pelatihan, dan penyera-
han kepada konsumen.
SDLC merupakan alur kerja yang biasa dipakai oleh perusahaan-perusa-
haan vendor software dalam mengembangkan software aplikasi produksinya.
SDLC tidak hanya penting untuk proses produksinya softwarenya saja, namun ter-
lebih juga penting untuk proses maintenance software itu sendiri.

2.2 Tahapan dalam SDLC


Setiap pengembang mempunyai strategi yang berlainan, namun demikian,
pada dasarnya siklus hidup pengembangan sistem informasi terdapat 5 (lima)
tahapan, yaitu :
1. Perencanaan Sistem ( Systems Planning)
2. Analisis Sistem (System Analysis)
3. Perancangan Sistem (System Design)
4. Implementasi Sistem (System Implementation)
5. Penggunaan sistem (System Utilization)

2.2.1 Tahap Perencanaan Sistem


Perencanaan sistem merupakan tahap paling awal yang memberikan
pedoman dalam melakukan langkah selanjutnya. Perencanaan sistem dapat
terdiri : perencanaan jangka pendek meliputi periode 1 s.d. 2 tahun dan
perencanaan jangka panjang meliputi periode sampai dengan 5 tahun.
Perencanaan sistem biasanya ditangani oleh staf perencanaan system.
Proses Perencanaan Sistem dapat dikelompokkan dalam 3 proses utama
yaitu :
a. Merencanakan proyek-proyek sistem yang dilakukan oleh staf peren-
cana sistem.
b. Menentukan proyek-proyek sistem yang akan dikembangkan dan di-
lakukan oleh komite pengarah.
c. Mendefinisikan proyek-proyek sistem dikembangkan dan dilakukan
oleh analis system.

2.2.2 Tahap Analisis Sistem


Analisis Sistem dapat didefinisikan sebagai penguraian dari suatu sistem
informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk
mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-
kesempatan, hambatan-hambatan yangterjadi dan kebutuhan-kebutuhan yang
diharapkan sehingga dapat diusulkanperbaikan-perbaikan.
Tahap analisis merupakan tahap yang kritis dan sangat penting, karena
kesalahan di dalam tahap ini akan menyebabkan juga kesalahan di tahap
selanjutnya langkah-langkah di dalam tahap analisis sistem hampir sama dengan
langkah-langkahyang dilakukan dalam mendefinisikan proyek-proyek sistem yang
akan dikembangkan ditahap perencanaan sistem. Perbedaannya pada analisis
sistem ruang lingkup tugasnya lebih terinci. Didalam tahap analisis sistem
terdapat langkah-langkah dasar yang harusdilakukan oleh Analis Sistem Yaitu :
a. Identify, yaitu mengidentifikasikan masalah, mengindentifikasikan
penyebab masalah; mengidentifikasikan titik keputusan; mengidenti-
fikasikan personil-personil kunci.
b. Understand yaitu memahami kerja dari sistem yang ada, menentukan
jenis penelitian; merencanakan jadual penelitian; Mengatur jadual
wawancara; Mengatur jadual observasi; Mengatur jadual pengambilan
sampel; Membuat penugasan penelitian; Membuat agenda wawancara;
Mengumpulkan hasil penelitian
c. Analyze Yaitu Menganalis Sistem, Menganalisis kelemahan Sistem;
Menganalisis kebutuhan Informasi pemakai / manajemen.
d. Report yaitu membuat laporan hasil analisis yang tujuannya :Memberi
laporan bahwa analisis telah selesai dilakukan; Meluruskan kesalah-
pengertian mengenai apa yangtelah ditemukan dan dianalisisoleh
analis sistem tetapi tidak sesuai menurut manajemen; Meminta penda-
pat-pendapat dan saran-saran dari pihak manajemen; Meminta persetu-
juan kepada pihak manajemen untuk melakukan tindakan selanjutnya.

2.2.3 Tahap Perancangan Sistem


Tahap perancangan sistem ini mempunyai tujuan utama yaitu untuk
memenuhi kebutuhan kepada pemakai sistem; untuk memberikan gambaran yang
jelas dan rancang bangun yang lengkap kepadapemrogram komputer dan ahli-ahli
teknik lainnya yang terlibat. Tahap perancangan sistem merupakan tahap
penentuan proses dan data yang diperlukan oleh sistem baru. Untuk sistem
berbasis komputer biasanyadalam rancangan ada spesifikasi jenis peralatan yang
akan digunakan.
Adapun langkah-langkah dalam tahap perancangan sistem ini tahap-
tahapnya meliputi :
a. Menyiapkan rancangan sistem yang terinci: analis bekerja
samadengan pemakai dan mendokumentasikan rancangan sistem
baru dengan alat-alat yang telah dijelaskan dalam modul teknis.
Penggambaran dilakukan dari yang besar dan secara bertahap se-
cararinci dengan pendekatan top-down dan ini biasanya dilakukan
untukrancangan terstruktur (structured design).
b. Mengidentifikasikan berbagai alternatif konfigurasi sistem:
analisharus mengidentifikasikan konfigurasi (bukan merek atau
model)peralatan komputer yang akan memberikan hasil terbaik
bagi sistemuntuk menyelesaikan pemrosesan.
c. Mengevaluasi berbagai alternatif konfigurasi sistem: analis
bekerjabersama manajer mengevaluasi berbagai alternatif dan dip-
ilih yangpaling memungkinkan subsistem memenuhi kriteria kin-
erja, dengankendala-kendala yang ada.
d. Memilih konfigurasi yang terbaik: analis mengevaluasi se-
muakonfigurasi subsistem dengan menyesuaikan kombinasi perala-
tansehingga semua subsistem menjadi satu konfigurasi tunggal.
Setelahdianalisis kemudian direkomendasikan kepada manajer un-
tukdisetujui. Persetujuan dilakukan oleh Komite pengarah SIM.
e. Menyetujui usulan penerapan: analisis menyiapkan usulan pen-
erapan yang mengikhtisarkan tugas-tugas penerapan yang harusdi-
lakukan, keuntungan yang diharapkan dan biayanya.
f. Menyetujui atau menolak penerapan sistem: jika keuntungan
darisistem melebihi biayanya, penerapan akan disetujui.

2.2.4 Tahap Implementasi Sistem


Implementasi sistem merupakan kegiatan untuk memperoleh dan
mengintegrasikan sumberdaya fisik dan konseptual yang menghasilkan suatu
sistem yangbekerja.
Adapun langkah-langkah dalam tahap implementasi sistem ini meliputi :
a. Merencanakan penerapan sebelum sistem baru digunakan, manajer
dan spesialis informasi memahami dengan baik pekerjaan yangdiper-
lukan untuk menerapkan rancangan sistem.
b. Mengumumkan penerapan proyek penerapan diumumkan kepada-
para pegawai dengan cara yang sama seperti penelitian sistem.Tujuan-
nya untuk menginformasikan pegawai mengenai keputusanuntuk men-
erapkan sistem baru dan meminta kerjasama pegawai.
c. Mendapatkan sumberdaya perangkat keras: rancangan sistem dise-
diakan bagi para pemasok berbagai jenis peralatan komputer yang ter-
dapat pada konfigurasi yang disetujui. Setiap pemasok diberikanre-
quest for proposal (RFP).
d. Mendapatkan sumberdaya perangkat lunak: dapat membuat sendiri
oleh programmer dari dokumen yang disiapkan analis sistem atau-
menggunakan perangkat lunak aplikasi jadi (prewritten application-
software).
e. Menyiapkan database: DBA bertanggungjawab untuk semua
kegiatanyang berhubungan dengan data, dan ini mencakup persiapan
database.
f. Menyiapkan fasilitas fisik: fasilitas di sini adalah lantai yangditing-
gikan, pengendalian suhu ruangan dan kelembaban khusus,keamanan,
peralatan pendeteksi api dan pemadam kebakaran, dsb.
g. Mendidik peserta dan pemakai: baik peserta (operator pemasukan-
data, pegawai coding, dan administrasi) dan pemakai harus dididikten-
tang peran mereka dalam sistem. Pendidikan sebaiknya setelahsiklus
hidup dimulai, tepat sebelum bahan-bahan yang dipelajarimulai diter-
apkan.
h. Masuk ke sistem baru: proses menggantikan sistem lama ke sistem-
baru disebut cutover. Ada 4 pendekatan dasar: percontohan (pilot
project), serentak, bertahap, dan paralel.

2.2.5 Tahap Penggunaan Sistem


langkah – langkah penggunaan sistem ( System Implementation ) adalah :
a. Menggunakan sistem. Pemakai menggunakan sistem untukmen-
capai tujuan yang diidentifikasikan pada tahap perencanaan.
b. Audit sistem. Penelitian apakah sistem baru memenuhi kriteriakin-
erja. Studi ini disebut “penelaahan setelah penerapan” (postimple-
mentation).
c. Memelihara sistem. Selama manajer menggunakan sistem, berba-
gai modifikasi dibuat sehingga sistem terus memberikandukungan
yang diperlukan. Modifikasi ini disebut pemeliharaansistem. Ada
tiga alasan untuk pemeliharaan :Memperbaiki kesalahan; Menjaga
kemutakhiran sistemdan Meningkatkan sistem.

2.3 Model Proses Rekayasa Perangkat Lunak


Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal
yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak
sebenarnya masih memungkinkan tanpa melakukan suatu pemodelan. Namun hal
itu tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Pemodelan
dAlam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal
dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam
rekayasa perangkat lunak tersebut.
Di dalam suatu industri dikenal berbagai macam proses, demikian juga
halnya dengan industri perangkat lunak. Perbedaan proses yang digunakan akan
menguraikan aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusa-
haan yang berbeda menggunakan proses yang berbeda untuk menghasilkan pro-
duk yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah pe-
rusahaan dengan menggunakan proses yang berbeda. Namun beberapa proses
lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digu-
nakan akan mengurangi kualitas kegunaan produk yang dikembangkan.
Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model-model ini pada umum-
nya mengacu pada model proses pengembangan sistem yang disebut System De-
velopment Life Cycle.                                    
Proses pengembangan perangkat lunak (Software Process / Development
Paradigm) adalah sekumpulan tahap, tugas dan aktivitas yang dibutuhkan untuk
secara effisien mentransformasikan kebutuhan pemakai ke suatu solusi perangkat
lunak yang efektif. Pemodelan proses perangkat lunak (Software Process Model-
ing) bertujuan untuk merepresentasikan aktivitas yang terjadi selama pembuatan
perangkat lunak dan perubahan-perubahannya (evolusi). Latar belakang penggu-
naan model-model tersebut adalah kebutuhan untuk menghasilkan suatu sistem
yang benar sedini mungkin didalam proses pengembangannya. Alasan utama
adalah biaya, Semakin dini suatu kesalahan bisa dideteksi dalam pengembangan
sistem, biaya perbaikannya semakin rendah.

2.4 Pemilihan Software Proses Model


Metodologi pengembangan perangkat lunak yang terdiri dari Linear
Sequential Model atau waterfall, Parallel Model, Iterative Model, Prototyping
Model, RAD (Rapid Application Development) Model, Spiral Model, V-Shaped
Model, Current Development Model, dan Agile Development serta yang lainnya
memiliki perbandingan yang menunjukkan fitur kelebihan dan kelemahan
masingmasing. Pertimbangan pemilihan metodologi yang tepat sesuai dengan
kebutuhan dapat didasarkan pada kriteria penilaian yang terdiri dari kejelasan
persyaratan pengguna, keakraban dengan teknologi, sistem kompleksitas, sistem
keandalan, jadwal waktu singkat dan visibility jadwal. Tidak ada metodologi yang
benar-benar sesuai dengan semua jenis organsasi, sehingga diperlukan pendekatan
lebih lanjut untuk memilih metodologi mana yang paling sesuai untuk dapat
diterapkan pada organisasi tertentu. Beberapa pendapat tentang pemilihan
metodologi pengembangan sistem dari beberapa hasil literatur jurnal ilmiah antara
lain:
Menurut Ajah, bahwa pilihan metodologi dipengaruhi oleh kejelasan
kebutuhan pengguna (clarity user requirement), penguasaan teknologi (familiarity
with technology), tingkat kerumitan sistem (system complexity), tingkat
kehandalan sistem (system realibility), waktu pelaksanaan (short time schedules),
dan visibilitas jadwal pelaksanaan (schedule visibility). Untuk menjadi sukses
dalam proyek perangkat lunak, pemegang saham harus kritis terhadap metode
yang berbeda, sehingga secara efektif dapat menggabungkan metode yang akan
membantu mencapai tujuan perangkat lunak.
Menurut Taya, semua model pengembangan perangkat lunak memiliki
kelebihan dan kekurangan. Namun pengaturan dan pemilihan waktu sangat
penting dalam pengembangan perangkat lunak. Jika penundaan terjadi dalam
tahap pengembangan, pasar dapat diambil alih oleh pesaing. Jika produk yang
dilincurkan lebih cepat dari pda pesaing ternyata berisi “bug”, hal ini dapat
mempengaruhi reputasi perusahaan. Sehingga, diperlukan komitmen antara waktu
pengembangan dan kualitas produk. Pelanggan tidak mengharapkan produk gratis
yang berisi “bug” tetapi produk yang userfriendly yang menghasilkan gairah atau
kegembiraan.
Menurut Despa, metodologi pengembangan software mengikuti dua
filosofi utama: kelas berat dan kelas ringan. Metodologi kelas berat cocok untuk
proyekproyek di mana kebutuhan tidak mungkin diubah dan kompleksitas
software digunakan untuk perencanaan secara rinci. Dengan metodologi kelas
berat manajer proyek dapat dengan mudah melakukan pelacakan, evaluasi dan
pelaporan. Pemilik proyek jauh terlibat hanya dalam tahap penelitian dan
perencanaan. Metodologi kelas ringan cocok untuk proyek-proyek dengan
spesifikasi tidak jelas atau mungkin berubah karena faktor internal atau eksternal.
Metodologi kelas ringan didasarkan pada pendekatan bertahap, software
disampaikan dalam beberapa pengulangan berturut-turut dan semua menjadi versi
fungsional dari aplikasi. Metodologi kelas ringan memberikan fleksibilitas yang
besar dan dapat dengan mudah beradaptasi dengan perubahan.
Keberhasilan pengembangan perangkat lunak bergantung pada
pengelolaan proyek perangkat lunak secara keseluruhan. Komponen metodologi
pengembangan perangkat lunak terdiri dari metode, alat bantu (Tools), dan
prosedur. Tidak ada metodologi yang benar-benar sesuai dengan semua jenis
organsasi, sehingga dibutuhkan pendekatan lebih lanjut untuk memilih
metodologi mana yang paling sesuai untuk dapat diterapkan pada organisasi
tertentu. Metodologi pengembangan perangkat lunak yang terdiri dari Linear
Sequential Model atau waterfall, Parallel Model, Iterative Model, Prototyping
Model, RAD (Rapid Application Development) Model, Spiral Model, V-Shaped
Model, Current Development Model, dan Agile Development serta yang lainnya
memiliki perbandingan yang menunjukkan fitur kelebihan dan kelemahan masing-
masing. Pertimbangan pemilihan metodologi yang tepat sesuai dengan kebutuhan
dapat didasarkan pada kriteria penilaian yang terdiri dari kejelasan persyaratan
pengguna, keakraban dengan teknologi, sistem kompleksitas, sistem keandalan,
jadwal waktu singkat dan visibility jadwal hingga mereferensi beberapa pendapat
dari penelitian atau jurnal ilmiah. Disarankan untuk menganalisis metodologi
yang lain dengan pendekatan yang berbeda untuk mensimulasi dan
membandingkan karakteristik dalam rangka mewujudkan keberhasilan untuk
memilih sebuah metodologi yang akan diimplementasikan dalam sebuah
organisasi.

2.5. Contoh Software Proses Model


2.5.1. Evolution Software Process Models 

Evolution Software Process Models  adalah kombinasi dari model Itera-


tive dan Incremental dari SLDC atau tahapan dengan tujuan pengembangan atau
evolusi perangkat lunak, dimana masing – masing dari setiap aktifitas saling
terkoneksi untuk menentukan, membuat sebuah perancangan, serta implementasi
maupun pengujian sistem perangkat lunak. Evolusi ini Bersifat iteratif/ mengan-
dung perulangan. Hasil proses berupa produk yang makin lama makin lengkap
sampai versi terlengkap dihasilkan sebagai produk akhir dari proses.

Semua model memiliki kelemahan yaitu durasi waktu dari awal proyek
hingga waktu pengiriman solusi sangat tinggi. Evolution Software Process
Models  memecahkan masalah ini dengan pendekatan yang berbeda.
Evolution Software Process Models  menyarankan untuk memecah
pekerjaan menjadi potongan-potongan yang lebih kecil, memprioritaskannya dan
kemudian mengirimkan potongan-potongan itu ke pelanggan satu per satu. Jumlah
potongan sangat besar dan merupakan jumlah pengiriman yang dilakukan ke
pelanggan. Keuntungan utama adalah bahwa kepercayaan pelanggan meningkat
karena ia terus-menerus mendapatkan barang atau jasa yang dapat diukur dari
awal proyek untuk memverifikasi dan memvalidasi persyaratannya. Model ini
memungkinkan untuk mengubah persyaratan serta semua pekerjaan dipecah
menjadi bagian kerja yang dapat dipelihara.
a. Penerapan Evolution Software Process Models :
1. Ini digunakan dalam proyek besar di mana Anda dapat dengan mudah
menemukan modul untuk implementasi tambahan. Evolution Software
Process Models biasanya digunakan ketika pelanggan ingin mulai
menggunakan fitur inti daripada menunggu perangkat lunak lengkap.
2. Evolution Software Process Models juga digunakan dalam
pengembangan perangkat lunak berorientasi objek karena sistem dapat
dengan mudah dibagi menjadi unit dalam bentuk objek.

b. Kelebihan Evolution Software Process Models 


1. Dalam Evolution Software Process Models , pengguna mendapat
kesempatan untuk bereksperimen dengan sistem yang dikembangkan
sebagian.
2. Model ini mengurangi kesalahan karena modul inti diuji secara
menyeluruh.

c. Kekurangan Evolution Software Process Models


Model ini memiliki sedikit kekurangan yakni Terkadang sulit untuk
membagi masalah menjadi beberapa versi yang dapat diterima oleh
pelanggan yang dapat diimplementasikan dan disampaikan secara
bertahap.

2.5.2. Concurrent Development Model

Concurrent Development Model adalah bisa di sebut Concurrent Engineer-


ing merupakan model yang dapat direpresentasikan dengan skema sebagai series
dari kerangka aktifitas, aksi software engineering dan juga tugas dari jadwal. Pada
model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja memiliki
beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja
maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan.
Misalnya proses desain akan berubah atau dihentikan sementara karena ada pe-
rubahan permintaan kebutuhan dari customer.

Concurrent Process Model sering digunakan sebagai paradigma untuk


pengembangan aplikasi Client/Server. Sistem Client/Server terdiri atas satu set
komponen yang fungsional. Ketika diaplikasikan untuk Client/Server, Concurrent
Process Model menggambarkan aktivitas di dua dimensi yaitu dimensi sistem dan
dimensi komponen.
1. Dimensi Sistem ditujukan menggunaan tiga aktivitas : Design, Perakitan
(Assembly) dan Penggunaan (Use).
2. Dimensi Komponen ditujukan dengan dua aktivitas : Design dan Realisasi.

Concurrency dicapai dalam jalan dua arah yaitu sebagai berikut :


1. Sistem dan komponen aktivitas terjadi secara simultan dan dapat dipera-
gakan menggunakan pendekatan yang berorientasi status sebelumnya.
2. Kekhasan aplikasi Client/Server adalah diterapkan dengan banyak kompo-
nen, masing-masing dapat dirancang dan direalisasi secara bersamaan.

a. Contoh Penerapan Menggunakan Concurrent Development Model


Concurrent model dapat mengembangkan semua jenis perangkat
lunak, dari yang perangkat lunak dasar hingga perangkat lunak tingkat
tinggi, seperti software untuk perbankan, marketing, games, hingga
software dengan fungsi tingkat tinggi.

b. Kelebihan Concurrent Development Model


1. Proses ini berlaku untuk semua jenis pengembangan perangkat
lunak dan memberikan gambaran yang akurat tentang keadaan
sekarang dari suatu proyek.
2. Hasil yang di dapat akan menghasilkan suatu sistem yang sangat
baik karena terdapat perancangan yang terjadi secara besar dan
terencana secara matang.

c. Kekurangan Concurrent Development Model


1. Statenya sangat banyak sehingga membutuhkan waktu yang lebih
lama.
2. Memungkinkan terjadinya perubahan besar-besaran, maka akan
membuat biaya dan waktu yang diperlukan membengkak.

Anda mungkin juga menyukai