Pengembangan Perangkat Lunak

Pengembangan perangkat lunak

PT. NetSolution melayani jasa pengembangan perangkat lunak berbasis web ataupun berbasis desktop. Umumnya perangkat lunak yang kami kembangkan adalah perangkat lunak yang digunakan untuk menjalankan proses bisnis perusahaan. Klien kami terdiri dari beragam organisasi, dari perusahaan UMKM, perusahaan swasta, instansi pemerintah dan perusahaan BUMN. Berikut ini software yang telah kami kerjakan :

  1. Proyek pengembangan software, “Sistem Pengendalian Dokumen SMSB secara elektronik”, PT. Semen Baturaja, tahun 2014.
  2. Proyek pengembangan software, “Implementation Project of Gasmeter Information System for PT Perusahaan Gas Negara (Persero) Tbk”, PT. Perusahaan Gas Negara Wilayah I, tahun 2014.
  3. Proyek pengembangan software, “Pekerjaan Jasa Pengembangan Aplikasi Workshop Meter Klender”,tahun 2016.
  4. Proyek pengembangan software, “Platform e-commerce untuk marketplace ruang iklan”, Adsindo.co.id, tahun 2018.
  5. Proyek pengembangan software, “Pengadaan Program Sistem Dokumentasi ISO 9001:2015″, PT Yutaka Manufacturing Indonesia, tahun 2018.

Pengembangan Perangkat Lunak atau Software Development Process merupakan suatu implementasi terstruktur dalam pengembangan Perangkat Lunak, dengan maksud untuk mengembangkan sistem dan memberikan panduan dalam mensukseskan proyek pengembangan sistem aplikasi dengan mengikuti tahapan-tahapan tertentu. Dalam pelaksanaannya, terdapat beberapa model pengembangan sistem perangkat lunak.

Model Pengembangan Perangkat Lunak

Pemodelan proses perangkat lunak bertujuan untuk merepresentasikan aktivitas yang terjadi selama pembuatan perangkat lunak berikut dengan  perubahan-perubahannya. Latar belakang penggunaan model-model tersebut adalah kebutuhan untuk menghasilkan suatu sistem yang benar sejak dari awal saat pengerjaannya. Alasan sesungguhnya adalah problem biaya. Semakin dini suatu kesalahan bisa dideteksi dalam pengembangan sistem, maka biaya perbaikannya semakin rendah.

Rekayasa perangkat lunak mempunyai fungsi utama dalam pengembangannya, antara lain sebagai berikut :

  1. Menentukan tahapan yang dibutuhkan untuk pengembangan perangkat lunak.
  2. Menentukan urutan pelaksanaan dari tahapan tsb dalam rangka pengembangan perangkat lunak.
  3. Menentukan kriteria transisi/perpindahan dari satu tahap ke tahapan lanutannya.

Waterfall Development

Model waterfall merupakan metode yang kami gunakan dalam  menganalisis sistem. Model ini adalah model populer dalam pengembangan perangkat lunak yang sistematis atau sekuensial. Inti konsepnya  adalah pengerjaan yang dilakukan secara berurutan atau secara linear. Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan seterusnya.

techprojwaterfall1

Pada setiap tahapan diumpamkan seperti bak air yang mengalir dari tempat tinggi ke tempat yang lebih rendah, artinya sebuah proses baru hanya dapat dilanjutkan setelah satu tahap sebelumnya telah selesai dengan sempurna.

Penjelasan tentang setiap tahapan dapat diringkas sebagai berikut:

Tahap analisis: pada tahap ini berlangsung proses pengumpulan kebutuhan secara lengkap untuk dianalisis dan didefinisikan kebutuhan apa saja yang harus dipenuhi oleh program yang akan dibuat, seperti memahami domain permasalahan, tingkah laku, unjuk kerja dan interface (antar muka).

Tahap desain: proses ini melibatkan empat atribut sebuah program yaitu struktur data, arsitektur, perangkat lunak, representasi interface, dan detail (algoritma) prosedural.

Tahap pengkodean: proses penterjemahan desain ke dalam bentuk bahasa mesin yang dapat dilakukan secara mekanis.

Tahap pengujian: proses ini dikerjakan setelah kode dirancang dan difokuskan pada fungsi dan jumlah kesalahan untuk diperbaiki.

Tahap pemeliharaan: meliputi penyesuaian atau perubahan yang berkembang seiring dengan adaptasi perangkat lunak dengan kondisi atau situasi sebenarnya setelah disampaikan kepada konsumen atau pelanggan.

Model waterfal ini sangat sesuai digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas dan apabila kebutuhan pengguna telah dimengerti dengan baik. Selain itu, juga apabila waktu yang tersedia juga masih cukup banyak.

Langkah-langkah pengembangan perangkat lunak model Waterfall :

  1. System Feasibility. Tahapan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa malakukan sebuah penelitian, wawancara atau studi literatur. Seorang sistem analis akan menggali informasi sebanyak-banyaknya dari pengguna sehingga akan tercipta sebuah sistem komputer yang bisa melakukan tugas-tugas yang diinginkan oleh usertersebut. Tahapan ini akan menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen ini yang akan menjadi acuan sistem analis untuk menerjemahkannya ke dalam bahasa pemrograman.
  2. Software Plans and Requirements. Tahapan proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering. Analis harus memahami fungsi, performance, dan interfaceterhadap elemen lainnya pada software yang diinginkan.Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Panduan terhadap sistem adalah penting, terutama pada saat softwareharus berhubungan dengan elemen lain, seperti : hardware, sofware, dan brainware.
  3. Product Design. Tahapan desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan digunakan programmer untuk melakukan aktivitas pembuatan sistemnya.
  4. Detailed Design. Penetuan spesifikasi di verifikasikan secara lengkap dari struktur pengendalian, struktur data, hubungan antarmuka, ukuran, algoritma kunci, dan asumsi masing-masing komponen program.
  5. Code Coding. Merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan ini.  Setelah coding selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki.
  6. Integration. Ketepatan fungsi sebuah produk perangkat lunak yang terdiri dari komponen-komponen perangkat lunak.
  7. Implementation. Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa, design dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user.
  8. Operation and Maintenance. Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (peripheral atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional.

***