Bab 3 pengembangan si
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,263
On Slideshare
1,260
From Embeds
3
Number of Embeds
1

Actions

Shares
Downloads
35
Comments
0
Likes
0

Embeds 3

http://pti12si.zz.mu 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PENGEMBANGAN SISTEM INFORMASIA. Pengembangan SistemPengembangan sistem adalah penyusunan suatu sistem yang baru untuk menggantikan sistemyang lama secara keseluruhan atau memperbaiki sistem yang telah ada.1. Tim Pengembangan SistemPengembangan sistem tentunya harus didukung oleh personel-personel yang kompetendibidangnya. Suatu Tim biasanya terdiri dari:1. Manajer Analis Sistem2. Ketua Analis Sistem3. Analis Sistem Senior4. Analis Sistem Junior5. Pemrogram Aplikasi Senior2. Indikator Diperlukannya Pengembangan SistemSistem diperlukan untuk dikembagkan. Beberapa alasan atau indikator diperlukannyapengembangan dari bebuah sistem antara lain sebagai berikut:1. Keluhan pelanggan2. Pengiriman barang yang sering tertunda3. Pembayaran gaji yang terlambat4. Laporan yang tidak tepat waktu5. Isi laporan yang sering salah6. Tanggung jawab yang tidak jelas
  • 2. 7. Waktu kerja yang berlebihan8. Ketidakberesan kas9. Produktivitas tenaga kerja yang rendah10. Banyaknya pekerja yang menganggur3. Prinsip Pengembangan SistemDalam pengembangannya, sebuah sistem memuliki prinsip-prinsip yang berlaku. Beberapadiantaranya antara lain sebagai berikut:1. Sistem yang dikembangkan adalah untuk manajemen2. Sistem yang dikembangkan adalah investasi modal yang besar3. Sistem yang dikembangkan memerlukan orang yang terdidik4. Tahapan kerja dan tugas-tugas yang baru dilakukan dalam proses pengembangan sistem5. Proses pengembangan sistem tidak harus urut6. Jangan takut membatalkan proyek7. Dokumentasi harus ada untuk pedoman dalam pengembangan sistem4. Siklus Hidup Pengembangan SistemSiklus hidup pengembangan sistem merupakan aktivitas yang dilaksanakan oleh profesional danpemakai sistem informasi untuk mengembangkan dan mengimplementasikan sistem informasi.Siklus hidup pengembangan sistem terbagi atas 7 fase yaitu:1. Perencanaan sistem2. Analis sistem3. Perencanaan sistem secara umum4. Evaluasi dan seleksi sistem5. Perancangan sistem secara detail6. Pengembangan perangkat lunak dan Implementasi sistem
  • 3. 7. Pemeliharaan/Perawatan sistem5. Metodologi Pengembangan SistemMetodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep-konseppekerjaan,aturan-aturan,postulat-postulat yang digunakan oleh suatu ilmu pengetahuan, seni ataudisipin lainnya. Berikut adalah berbagai macam metodologi yang digunakan dalampengembangan sistem, yaitu:A. Berdasarkan Metodologi Yang DigunakanBerdasarkan metodologi yang digunakan ada 2 macam metode pendekatanpengembangan sistem yaitu:1. Pendekatan KlasikDisebut juga dengan pendekatan tradisional atau pendekatan konvensional.Metodologi pendekatan klasik mengembangkan sistem dengan mengikuti tahapan-tahapan pada System Life Cycle. Tetapi pada kenyataannya pendekatan klasik tidakcukup digunakan untuk mengembangkan suatu sistem informasi yang sukses danakan timbul beberapa permasalahan diantaranya adalah :1. Pengembangan perangkat lunak menjadi sulit.2. Biaya perawatan atau pemeliharaan sistem menjadi lebih mahal3. Kemungkinan kesalahan sistem besar4. Keberhasilan sistem kurang terjamin5. Masalah dalam penerapan sistem
  • 4. 2. Pendekatan TerstrukturPendekatan ini dilengkapi dengan alat-alat dan teknik-teknik yang dibutuhkandalam pengembanagan sistem, sehingga hasil akhir dari sistem yang dikembangkanakan didapatkan sistem yang strukturnya didefinisikan dengan baik dan jelas.B. Berdasarkan Cara Menentukan KebutuhanBerdasarkan cara menentukan kebutuhan dari sistem ada 2 macam metode pendekatanpengembangan sistem yaitu :1. Pendekatan Dari Bawah Ke Atas (Buttom-Up Approach)Pendekatan ini dimulai dari perumusan kebutuhan-kebutuhan untuk menanganitransaksi dan naik ke level atas dengan merumuskan kebutuhan informasiberdasarkan transaksi tersebut.2. Pendekatan dari Atas ke Bawah (Top-down Approach)Dimulai dengan mendefinisikan sasaran dan kebijaksanaan organisasi. selanjutnyadilakukan analisis kebutuhan informasi, kemudian proses turun ke pemrosesantransaksi, yaitu penentuan output, input, basis data, prosedur-prosedur operasi dankontrol.C. Berdasarkan Sasaran Yang Ingin CapaiBerdasarkan sasaran yang ingin dicapai ada 2 macam metode pendekatanpengembangan sistem yaitu :
  • 5. 1. Pendekatan Sepotong (Piecemeal Approach)Pengembangan yang menekankan pada suatu kegiatan/alikasi tertentu tanpamemperhatikan posisinya di sistem informasi atau tidak memperhatikan sasaranorganisasi secara global (memperhatikan sasaran dari kegiatan atau alikasi itu saja).2. Pendekatan Sistem (System Approach)Memperhatikan sistem informasi sebagai satu kesatuan terintegrasi untuk masing-masing kegiatan/aplikasinya dan menekankan sasaran organisasi secara global.D. Berdasarkan Cara PengembanganyaBerdasarkan cara pengembangannya ada 2 macam metode pendekatan pengembangansistem yaitu :1. Pendekatan Sistem Menyeluruh (Total_System Approach)Pendekatan pengembangan sistem serentak secara menyeluruh, sehingga menjadisulit untuk dikembangkan (ciri klasik).2. Pendekatan Moduler (Modular Approach)Pendekatan dengan memecah sistem komplek menjadi modul yang sederhana,sehingga sistem lebih mudah dipahami dan dikembangkan, tepat waktu, mudahdipelihara(ciri terstruktur).E. Berdasarkan Teknologi Yang DigunakanBerdasarkan teknoogi yang digunakan ada 2 macam metode pendekatan pengembangansistem yaitu :
  • 6. 1. Lompatan Jauh (Great Loop Approach)Pendekatan yang menerapkan perubahan menyeluruh secara serentak menggunakanteknologi canggih, sehingga mengandung resiko tinggi, terlalu mahal, sulitdikembangkan karena terlalu komplek.2. Pendekatan Berkembang (Evolutionary Approach)Pendekatan yang menerapkan teknologi canggih hanya untuk aplikasi-aplikasi yangmemerlukan saja dan terus dikembangkan untuk perioade berikutnya mengikutikebutuhan dan teknologi yang ada.6. Alat-Alat Teknnik PengembanganSebuah sistem perlu untuk dikembangkan. Lalu bagaimana cara kita mengembangkan sistem?Dalam pengembangannya, sistem ditunjang dengan berbagai alat dan teknik untukmengembangkannya, antara lain sebagai berikut:1. HIPO diagram2. Data flow diagram3. Structured chart4. SADT diagram5. Warnier/Orr diagram6. Jackson’s diagram
  • 7. 7. Penyebab Kegagalan Pengembangan SistemPengembangan sistem terkadang mengalami berbagai kendala dan bahkan kegagalan.Pengembangan sistem tidak mesti melalui jalan yang mulus. Beberapa alasan mengapapengembangan sistem mengalami kegagalan antara lain sebagai berikut:1. Kurangnya penyesuaian pengembangan sistem2. Kelalaian menetapkan kebutuhan pemakai dan melibatkan pemakai3. Kurangnya sempurnanya evaluasi kualitas dan analisis biaya4. Adanya kerusakan dan kesalahan rancangan5. Penggunaan teknologi komputer dan perangkat lunak yang tidak direncanakan danpemasangan teknologi tidak sesuai6. Pengembangan sistem ang tidak dapat dipelihara7. Implementasi yang direncanakan dilaksanakan kurang baik.B. Systems Development Life Cycle1. Pengertian SDLCSystems Development Life Cycle (SDLC) merupakan siklus hidup pengembangan system.Dalam rekayasa system dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan danpengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenismetodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatukerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu prosespengembangan perangkat lunak.
  • 8. SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmerdalam membangun sistem informasi. Langkah yang digunakan meliputi :1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan3. Menentukan permintaan pemakai sistem informasi4. Memilih solusi atau pemecahan masalah yang paling baik5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)6. Merancang sistem informasi baru7. Membangun sistem informasi baru8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukanPengembangan SDLC adalah proses yang digunakan oleh analis system untuk mengembangkansistem informasi, termasuk persyaratan, validasi, pelatihan, dan pengguna (stakeholder)kepemilikan. Setiap SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi ataumelampaui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya, bekerjasecara efektif dan efisien di saat ini dan direncanakanTeknologi Informasi infrastruktur, danmurah untuk mempertahankan dan biaya efektif.2. Langkah-Langkah SDLCDidalam SDLC terdapat siklus yang berguna untuk membangun sistem dibagi menjadi beberapalangkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lainmungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah
  • 9. 1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yangdibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitandengan proyek sistem3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desainpemrograman yang diperlukan untuk pengembangan sistem informasi4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulisprogram yang diperlukan5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yangtelah dibuatSiklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam.Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user,terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwalangkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perludiulangi lagi atau kembali ke langkah sebelumnya.Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujiandi langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal timuntuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untukmenguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yangbaik akan mempermudah pemeliharaan dan peningkatan fungsi sistem
  • 10. Untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yangsecara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu : Perencanaan : Mengapa Mengembangkan Sistem? Analisis : Siapa, apa, kapan dan dimana sistem diterapkan? Perancangan : Bagaimana kerja sistem? Implementasi : Bagaimana Sistem Dipasang/diinstall?1. Perencanaan :Mengidentifikasikan Nilai BisnisAnalisis KelayakanMembuat Rencana KerjaMengatur StaffMengontrol dan Mengarahkan Projek2. Analisis :Analisis masalahMencari informasi yang terkait dengan sistemMenentukan model prosesMenentukan model data3. Perancangan :Perancangan Proses secara FisikPerancangan Arsitektur SistemPerancangan InterfacePerancangan Basis Data dan BerkasPerancangan Program
  • 11. 4. Implementasi :ConstructionInstalationSetiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya(deliverable).3. System Development MethodologySystem Development Methodology adalah suatu rangkaian langkah untuk mengimplementasikanSLDC itu sendiri. Dalam dunia rekayasa perangkat lunak terdapat empat buah metodologi dalammenerapkan SLDC, yakni : Waterfall Development Methodology Parallel Development Methodology Rapid Application Development Agile Development: Extreme ProgrammingKeempat metodologi tersebut tidak ada yang paling bagus. Semua mempunyai kelebihan dankekurangan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan metode apayang paling cocok dengan kondisi lingkungan pengembangan perangkat lunak tersebut.A. Waterfall Development MethodologyWaterfall Development Methodology merupakan suatu cara pengembangan softwareyang fase – fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fasesebelumnya telah selesai dikerjakan. Nama model ini sebenarnya adalah “LinearSequential Model”. Model ini sering disebut dengan “classic life cycle” atau model
  • 12. waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakaididalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematisdan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding,testing / verification, dan maintenance.Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menungguselesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harusmenunggu selesainya tahap sebelumnya yaitu tahap requirement. Tahapan dalam modelwaterfall ini adalah sebagai berikut.System / Information Engineering and ModelingPermodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yangakan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingatsoftware harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware,database, dsb. Tahap ini sering disebut dengan Project Definition.Software Requirements AnalysisProses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untukmengetahui sifat dari program yang akan dibuat, maka para software engineer harusmengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan,user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dansoftware) harus didokumentasikan dan ditunjukkan kepada pelanggan.DesignProses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadirepresentasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain
  • 13. harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahapsebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harusdidokumentasikan sebagai konfigurasi dari software.CodingUntuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desaintadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin,yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakanimplementasi dari tahap design yang secara teknis nantinya dikerjakan olehprogrammer.Testing / VerificationSesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semuafungsi-fungsi software harus diujicobakan, agar software bebas dari error, danhasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikansebelumnya.MaintenancePemeliharaan suatu software diperlukan, termasuk di dalamnya adalahpengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukansebelumnya, atau ada penambahan fitur-fitur yang belum ada pada softwaretersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternalperusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
  • 14. Mengapa model ini sangat populer??? Selain karena pengaplikasian menggunakanmodel ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapatdidefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalandengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapatdidefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhansistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktuyang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahapselanjutnya.Menurut saya, tahapan-tahapan model ini sudah cukup baik dalam artian minimal untukmelakukan SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah yangdigunakan oleh model-model yang lain pada umumnya. Ada filosofi yang mengatakansesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai di dalampengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapatdikatakan bahwa inilah standar untuk melakukan SE.Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai penggunaan darimodel ini adalah metode sequential-nya. Mungkin untuk awal-awal software diciptakan,hal ini tidak menjadi masalah, karena dengan berjalan secara berurutan, maka model inimenjadi mudah dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karenaitu model ini sangat populer. Akan tetapi, seiring perkembangan software, model initentu tidak bisa mengikutinya.Yang menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yangsudah saya utarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah sayautarakan di atas, atau bahkan masih ada yang lainnya.
  • 15. Dari sini, nantinya akan dikembangkan model-model yang lain, bahkan ada tahapevolusioner dari suatu model proses untuk mengatasi kelemahan-kelemahan tadi.Meskipun secara tahapan masih menggunakan standar tahapan waterfall model.Kesimpulannya adalah ketika suatu project skalanya sedang mengarah kecil bisamenggunakan model ini. Akan tetapi kalau sudah project besar, tampaknya kesulitanjika menggunakan model ini.Kelebihan dari Waterfall Development Methodology adalah:1. Proses pengidentifikasian sistem memerlukan waktu yang lama sebelum faseprogramming dimulai.2. Meminimalisasi pengubahan sistem pada saat proses pengembangan perangkatlunakKekurangan dari Waterfall Development Methodology adalah:1. Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapanselanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahandari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agarproblem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktupengerjaan SE.2. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasildari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinyabagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahapsebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
  • 16. 3. Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumberdayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses inidibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantupengerjaan untuk tahapan berikutnya.4. Fase perencanaan / design harus dilakukan pada paper yang khusus sebelum faseprogramming dimulai5. Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan pembaharuansistemB. Parallel Development MethodologyParallel Development Methodology merupakan suatu cara pada SDLC yang melakukanfase design dan implementation secara paralel.Kelebihan dari Parallel Development Methodology adalah :1. Meminimalisasi waktu penjadwalan2. Meminimalisasi kesempatan untuk dikerjakan ulangKekurangan dari Parallel Development Methodology adalah :1. Masih menggunakan dokument di kertas2. Menggabungkan subproyek memerlukan suatu keahlian yang khusus. Biasanyabanyak terjadi kegagalan pada saat proses penggabungannyaC. Rapid Application Development
  • 17. Rapid Application Development merupakan suatu cara penerapan SDLC denganmembuat suatu software prototype terlebih dahulu dan kemudian dipresentasikan kecostumer. Jika costumer menyetujuinya, maka software akan dikembangkan lebih lanjut.Kelebihan Rapid Application Development adalah :1. Pengguna dapat memperoleh / menggunakan sistem lebih awal2. Pengguna dapat merencanakan beberapa tambahan untuk versi setelahnyaKekurangan Rapid Application Development adalah :1. Pengguna bekerja dengan sistem yang sebenarnya belum selesai secara keseluruhanD. Agile Development: Extreme ProgrammingAgile Development: Extreme Programming merupakan suatu pengerjaan perangkatlunak secara cepat. Metode ini sangat cocok untuk proyek perangkat lunak yangmembutuhkan waktu lebih instan dalam pengembangannya.Kelebihan dari Agile Development: Extreme Programming adalah :1. Hasil bisa didapat dalam waktu yang sangat cepat2. Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak tentuKekurangan dari Agile Development: Extreme Programming adalah :1. Membutuhkan kedisiplinan tinggi2. Tepat hanya jika dilakukan di projek kecil3. Membutuhkan lebih banyak inputan dari penggunaUntuk menentukan metode mana yang lebih cocok diterapkan dalam pengembangan proyekperangkat lunak, maka harus memperhatikan hal berikut :
  • 18.  Clear user requirements Familiarity with technology Complexity of system Reliability of system Time schedule Schedule visibility