09 April 2022

Pengembangan Sistem Informasi

Nurhidayat 211511001


Pengembangan sistem adalah penyusunan suatu sistem yang baru atau penggantian secara keseluruhan atau sebagian berdasarkan sistem yang sudah berjalan dengan suatu sistem yan lebih baik secara sistematik.

## Alasan, Tujuan dan Prinsip


Beberapa alasan mengapa suatu sistem perlu dikembangkan sbb:

  • Sistem lama mengalami permasalahan, hal ini biasanya karena beberapa hal sbb:
    • Sistem berjalan lambat, atau muncul pesan error secara acak.
    • Sistem tidak dapat memenuhi harapan pengguna atau ogranisasi. Ada output yang diharapkan, tetapi tidak dapat dihasilkan oleh sistem. Atau ada input yang ingin dimasukkan, tetapi tidak tersedia pada sistem yang ada.
    • Sistem tidak berjalan pada device atau OS terbaru. Perkembangan IT yang cepat, menyebabkan banyak sistem yang menjadi usang karena hal ini.
  • Adanya kebijakan baru. Tentu saja sistem yang ada harus mendukung dan menyesuaikan dengan kebijakan tersebut, baik kebijakan pemerintah maupun kebijakan organisasi.
  • Menciptakan inovasi dan peluang untuk masa mendatang. Seringkali sistem dibuat sebagai lompatan besar yang menjadi inovasi dan direncakan dan diharapkan meraih peluang pasar di masa mendatang.


Tujuan pengembangan sistem adalah manfaat yang dapat dirasakan oleh pengguna bilamana sistem tersebut digunakan, yaitu sbb:

  • Kinerja semakin meningkat dengan semakin cepatnya respon sumber daya dan semakin besarnya volume permintaan layanan.
  • Informasi yang dihasilkan semakin berkualitas.
  • Efisiensi biaya, karena kinerja sumber daya semakin meningkat.
  • Pengendalian melalui monitoring dan evaluasi menjadi lebih mudah dan cepat dilakukan


Prinsip dalam pengembangan sistem adalah prinsip-prinsip yang dapat digunakan oleh tim pengembang saat mengembangkan suatu sistem informasi, adalah sbb:

  1. Melibatkan pengguna.
  2. Sistem merupakan suatu pemecahan terhadap masalah yang ada.
  3. Ada tahapan dan timeline yang jelas.
  4. Mendokumentasi setiap kegiatan dengan baik.
  5. Menerapkan standar, baik standar pekerjaan, output, tampilan, framework dll.
  6. Mengatur dan mengendalikan _project_.
  7. Menanamkan nilai bahwa sistem adalah investasi kepada setiap anggota tim.
  8. Jangan takut untuk menolak atau merevisi cakupan pekerjaan.
  9. Menggunakan algorithm _devide and conquer_, yaitu:
    1. _Devide_: Membagi suatu masalah menjadi beberapa sub-masalah sejenis
    2. _Conquer_: Memecahkan setiap sub-masalah
    3. _Combine_: Gabungkan hasil pemecahan masalah tersebut
  10. Rancang sistem agar dapat tumbuh dan berubah



## Tahapan Pengembangan Sistem


Tahapan pengembangan sistem mengikuti alur SDLC (_System Development Life Cycle_), yaitu:

  1. _Planning_, termasuk perencanaan dan kapasitas yang dibutuhkan (biaya, pembentukan Tim (SDM), peralatan, tempat, *timeline*, dll)
  2. _Analisys_ atau ada yang menyebut tahap _Requirements_, yaitu tahapan tim pengembang melakukan analisis kebutuhan (_user_requirments analisys_) dan bersepakat dengan pengguna apa-apa saja yang harus dipenuhi dari hasil pengembangan sistem tersebut.
  3. _Design and prototyping_. Pada tahap ini perangkat lunak mulai dirancang. Biasanya aspek aksesbilitas (tampilan dan alur *UI/UX*) menjadi perhatian utama, sehingga dapat dipakai oleh berbagai kalangan, termauk juga yang peyandang disabilitas
  4. _Implementation_ atau ada yang menyebut tahap _Development_, pada tahapan ini mulai penyusunan program (*coding* dan *debugging*)
  5. _Testing_, yaitu tahap ujicoba, dengan melakukan pengujian untuk mengevaluasi apakah sistem memenuhi *requirements* yang sudah disepakai pada tahap 2.
  6. _Deployment_, yaitu tahap siap pakai sehingga dapat diterapkan oleh pengguna, serta menyediakan dokumentasi _user manual_.
  7. _Operations and maintenance_, yaitu tahapan pengawasan dan perawatan.


Disini siklus biasanya tidak pernah selesai, akan selalu ada penambahan fitur dan perbaikan *bug* yang menunggu.


## Pendekatan Pengembangan Sistem


Pendekatan pengambangan sistem adalah cara pandang pengembang dalam merancang sebuah sistem untuk memenuhi kebutuhan pemakai (_user_). Secara garis besar terdiri dari dua, yaitu klasik dan terstruktur. Selain itu juga ada beberapa pendekatan lain yang dapat dibandingkan.

### Klasik vs Terstruktur


Pendekatan klasik ini disebut juga pendekatan tradisional. Meskipun mengikuti tahapan siklus pengembangan (SDLC), pendakatan ini tidak menggunakan alat-alat dan teknik yang memadai. Sehingga cocok untuk sistem yang tingkat kerumitannya rendah.

Permasalahan yang dapat ditimbulkan adalah sbb:

  • Pengembangan perangkat lunak menjadi sulit, karena tidak terarah.
  • Perawatan sistem menjadi mahal, karena dokumentasi tidak lengkap.
  • Kemungkinan terjadi kesalahan besar, karena tidak meyediakan cara untuk menguji sistem.
  • Keberhasilan dan penerapan sistem menjadi kurang terjamin, karena pendekatan ini tidak melibatkan user sebagai pengguna.


Beebeda dengan klasik, pendekatan terstruktur selain mengikuti tahapan diklus pengembangan (LCD), pendekatan ini menggunakan alat-alat dan teknik yang memadai, sehingga cocok untuk sistem yang tingkat kerumitannya tinggi.

### _Bottom-Up_ vs _Top-Down_


Pendekatan _bottom-up_ dimulai dari analisis ketersediaan data atau biasa disebut _data analysis_. Kemudian dilakukan perumusan informasi yang dapat disajikan berdasarkan ketersediaan data.

Permasalahan yang sering timbul pada pendekatan ini adalah informasi yang disajikan tidak dapat dimanfaatkan, karena tidak sesuai dengan kebutuhan pengguna.

Berbeda dengan _bottom-up_, pendekatan _top-down_ dimulai dari penggalian dan perumusan informasi apa saja yang dibutuhkan oleh pengguna, kemudian turun hingga data apa saja yang diperlukan untuk memenuhi kebutuhan tersebut. Dengan kata lain, cara ini dimulai dari perumusan output dan diakhiri dengan penentuan input.

Permasalahan yang mungkin timbul dari pendekatan ini adalah kesulitan menyajikan informasi yang diinginkan pengguna karena ternyata input atau data yang dibutuhkan tidak tersedia, akibatnya dibutuhkan proses pengumpulan data.

### Total vs Modular


Pendekatan total adalah pengembangan dimana sistem dirancang secara serentak menyeluruh dalam satu kesatuan yang utuh. Untuk sistem yang sederhana pendekatan ini sangat cocok, terutama untuk programmer tunggal. Namun permasalahan yang timbul adalah sistem sulit dikembangkan.

Berbeda dengan pendekatan di atas, modular atau bisa juga disebut pendekatan dekomposisi dilakukan dengan memecah sistem yang rumit menjadi bagian-bagian yang disebut modul-modul yang lebih kecil dan sederhana. Modul-modul itu kemudian dirangkai menjadi satu kesatuan sistem yang utuh.

Permasalahan yang mungkin timbul adalah perancangan disain yang lebih rumit diawal, karena harus disediakan antar-muka antara sistem utama dengan modul dan terdokumentasi dengan baik.

## Metode Pengembangan


Metode pengembangan sistem adalah kesatuan metode, cara yang sistematik untuk mengembangkan suatu sistem informasi dengan menerapkan prosedur, konsep, aturan yang berlaku di dalamnya.

Pada tahan disain dan analisis, metodologi yang biasa dipakai adalah sbb:

### Metodologi Pemecahan Fungsional


Metodologi ini memberi penekanan pada pemecahan sistem ke dalam subsistem-subsistem yang lebih kecil, sehingga lebih mudah untuk difahami, dikembangkan dan diterapkan. Contoh:

  • HIPO, _Hierarchy of Input Plus Output_
  • SR, _Stepwise Refinement_ atau ISR, _Iterative Stepwise Refinement_
  • _Information Hiding_


### Metodologi Beriontasi Data


Metodologi ini memberi penekanan pada karakteristik data yang akan diproses. Jenis-jenisnya sbb:

#### _Data-Flow Oriented_


Metodologi ini menekankan pada arus data antar dan hubungan antar fungsinya di dalam modul-modul sistem. Contoh:

  • SADT, _Structured and Analisys Design Techniques_
  • _Composite Design_
  • SSAD, _Structured System and Analisys Design_


#### _Data-Structured Oriented_


Metodologi ini menenkankan pada struktur dari input output sistem. Struktur ini kemudian menjadi dasar dari pengembangan sistem keseluruhan. Contoh:

  • JSD, _Jackson System Development_
  • W/O, _Warnier / Orr_


### _Prescriptive Methodologies_


Metodologi ini sering dipakai oleh _software house_ dan perusahaan-perusahaan perangkat lunak komersial.


## Alat Pengembangan Sistem


Alat bantu pengembangan sistem dapat berupa kode, gambar, atau bagan sbb:

  • HIPO _diagram_, digunakan pada metodologi HIPO
  • FD (_Data Flow Diagram_), digunakan pada metodologi SSAD
  • _Strucrure Chart_, digunakan pada metodologi SSAD
  • SADT _diagram_, digunakan pada metodologi SADT
  • Warnierr/Orr _diagram_, digunakan pada metologi Warnierr /Orr
  • Jackson's _diagram_, digunakan pada metodologi JSD
  • Kode terstuktur (_pseudocode_)
  • Bagan Alir Sistem (_system flowchart_)
  • Bagan Alir Program (_program flowchart_)
  • Bagan Alir Dokumen (_document flowchart_)
  • Bagan Alir Proses (_process flowchart_)
  • Bagan Organisasi (_organization chart_)
  • Kamus Data (_data dictionary_)
  • Tabel Keputusam (_decision table_)



Sistem Informasi

Nurhidayat 211511001


 ## Konsep Dasar Sistem


Menurut Tata Sutabri bahwa sistem didefinisikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu.

Maksud dari komponen atau subsistem di dalam pengertian ini tidak hanya komponen fisik semata, tetapi termasuk di dalamnya adalah komponen yang bersifat abstrak atau komponen secara konseptual, seperti visi, misi, kebijakan, prosedur, dan kegiatan informal lainnya.

Sehingga sistem dapat dimakmani berdasarkan pendekatan komponen dan prosedur.





## Konsep Dasar Informasi


Informasi adalah hasil dari pengolahan data dalam bentuk yang lebih berguna dan lebih berarti bagi penggunanya, yang menggambarkan suatu kejadian-kejadian yang nyata yang dapat digunakan untuk pengambilan keputusan.

Semenatar data adalah fakta, atau kenyataan yang menggambarkan suatu kejadian yang terjadi pada waktu dan wilayah tertentu.

Contoh pada gambar di atas, data dari kartu persediaan diolah menjadi berbagai informasi yang lebih bermakna.


## Konsep Dasar Sistem Informasi


Kenneth C. Laudon, mendefinisikan sistem informasi secara teknis
sebagai satuan komponen yang saling berhubungan yang mengumpulkan (atau mendapatkan kembali), memproses, menyimpan, serta mendistribusikan informasi untuk mendukung pengambilan keputusan dan kendali dalam suatu organisasi.

Pada dasarnya, di dalam sistem informasi mengandung 3 kegiatan, yakni:

* kegiatan input (masukan)
* proses (_process_)
* kegiatan output (keluaran)

 


Cakupan sistem informasi bahwa pengendalian itu harus sesuai dengan maksud dan tujuan suatu sistem.  Bila sesuai, berati output sudah sesua. Namun bila belum, maka mulai lagi memproses input menjadi output.