Minggu, 29 Maret 2020

REKAYASA PERANGKAT LUNAK

Perangkat lunak atau peranti lunak (bahasa Inggrissoftware) adalah istilah khusus untuk data yang diformat, dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca, dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.

    Definisi Perangkat Lunak (PL) adalah ;
  • Instruksi-instruksi program komputer yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi dan kinerja yang dikehendaki
  • Struktur data yang memungkinkan program-program memanipulasi  informasi
  • Informasi deskriptif pada salinan tercetak dan bentuk-bentuk maya yang menggambarkan pengoperasian dan penggunaan program
    Karakteristik :
  • Pernagkat Lunak dikembangkan atau direkasya, buka di produksi dalam konteks manufaktur.
  • Perangkat Lunak tidak mengalami "kelelahan".
  • Perangkat lunak dibuat berdasarkan spesifikasi yang diminta oleh pengguna.
    Kategori Perangkat Lunak :

§  PL Sistem (System Software)
§  PL Aplikasi (Application Software)
§  PL Rekayasa/Ilmiah (Engineering/Scientific Software)
§  PL yang tertanam (Embedded Software)
§  PL Lini Produk (Product-Line Software)
§  PL Aplikasi Web (Web/Mobile Applications)
§  PL Kecerdasan Buatan (Artificial Intelligence Software)


   Jenis-jenis Perangkat Lunak :
  1. Stand-Alone Applications adalah contoh aplikasi seperti aplikasi office pada PC, program CAD, software manipulasi foto, dll.
  2. Interactive Transaction-Based Aapplications adalah aplikasi yang mengeksekusi pada komputer remote dan yang diakses oleh pengguna dari PC mereka sendiri atau terminal.
  3. Batch Processing Systems adalah sistem bisnis yang dirancang untuk memproses data input yang besar untuk membuat output yang sesuai. Contoh: sistem penagihan telepon, dan sistem pembayaran gaji.
  4. Embedded Control Systems adalah sistem kontrol Perangkat Lunak yang mengontrol dan mengelola perangkat keras, atau sistem yang tertanam pada jenis sistem lain. Contoh: Perangkat Lunak yang mengontrol pengereman anti-lock mobil, dan software dalam oven microwave untuk mengontrol proses memasak.
  5. Entertainment Systems adalah sistem yang terutama untuk penggunaan pribadi dan yang dimaksudkan untuk menghibur pengguna.
  6. Systems for Modelling and Simulation adalah sistem yang dikembangkan untuk model proses fisik atau situasi, dengan banyak objek yang saling berinteraksi
  7. Data Collection Systems adalah sistem yang mengumpulkan data dari lingkungan mereka menggunakan satu set sensor dan mengirim data ke sistem lain untuk diproses. 
  8. Systems of Systems adalah sistem yang terdiri dari sejumlah sistem PL lain.
     Kegagalan Perangkat Lunak :

  •  Meningkatnya tuntutan 

          RPL membangun sistem yang lebih besar, sistem yang lebih kompleks menyebabkan tuntutan berubah. Sistem harus dibangun dan disampaikan lebih cepat, lebih besar, dan lebih kompleks
  • Harapan yang rendah 
         Hal ini relatif mudah untuk menulis program komputer tanpa menggunakan metode dan teknik RPL. Banyak Pengusaha yang tidak menggunakan metode RPL, akibatnya PL lebih mahal dan kurang dapat diandalkan.
. Sistem harus memiliki kemampuan baru yang sebelumnya dianggap mustahil.

REKAYASA PERANGKAT LUNAK

Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan manajemen kualitas.
          IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

     Rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.

Kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak:
  1. Dapat terus dirawat dan dipelihara (Maintainability)
  2. Dapat mengikuti perkembangan teknologi (Dependability)
  3. Dapat mengikuti keinginan pengguna (Robust)
  4. Efektif dan efisien dalam menggunakan energi dan penggunaannya
  5. Dapat memenuhi kebutuhan yang diinginkan (Usability)


    PROSES PERANGKAT LUNAK



    • Suatu proses merupakan sekumpulan aktivitas, aksi, dan
    tugas yang dijalankan ketika suatu produk kerja harus
    dibuat.

    • Sebuah proses PL adalah urutan kegiatan yang mengarah ke
    produksi produk software.

    • Empat kegiatan proses PL adalah:
    a. Spesifikasi PL
    b. Pengembangan PL
    c. Software validasi
    d. Software evolusi

    • Suatu aktivitas berupaya mencapai tujuan umum dan diterapkan tanpa memperhatikan lingkungan aplikasi, tanpa memperhatikan ukuran proyek, tanpa memperhatikan kompleksitas dan usaha, dan tanpa memperhatikan kekakuan dari RPL saat diterapkan.

    • Suatu tugas konsentrasi pada tujuan yang kecil tetapi terdefinisi dengan baik.

    • Kerangka kerja proses membangun dasar bagi proses RPL yang lengkap dengan cara mengidentifikasikan aktivitas kerangka kerja yang cocok untuk semua proses RPL.

    • Kerangka kerja proses mencakup sekumpulan akitivitas yang berperan sebagai penyangga dan cocok dengan keseluruhan proses PL.

    • Aktivitas kerangka kerja proses:
    a. Komunikasi
    b. Perencanaan
    c. Pemodelan
    d. Konstruksi
    e. Penyerahan PL ke pelanggan/user

    • Aktivitas kerangka kerja proses RPL disempurnakan oleh aktivitas yang bertindak sebagai penyangga.

    • Kegiatan-kegiatan penyangga mencakup:
    a. Penelusuran dan kendali proyek PL
    b. Manajemen risiko
    c. Penjaminan kualilitas PL
    d. Tinjauan teknis
    e. Pengukuran
    f. Manajemen konfigurasi PL
    g. Manajemen penggunaan ulang
    h. Persiapan produk kerja dan produksi

    MITOS PERANGKAT LUNAK

    Mitos perangkat lunak ada 3, yaitu :

    1. Mitos Manajemen

    a. Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah dilakukan 10 tahun yang lalu.
    Realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments.


    b. Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software. 
    Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan jaman (out of date).


    c. Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa progammer saja. Konsep ini sering disebut Mongolin harde concept.

    2. Mitos Pelanggan

    a. Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian. 
    Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan usaha-usaha pembentukan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adlaah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikaso antara customer dan developer.


    b. Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena software itu bersifat fleksibel. 
    Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.


    3. Mitos Praktisi

    a. Tidak ada metode untuk analisa dan testing terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding. 
    Realitasnya : Metode untuk analisa desain dan testing diperlukan dalam pengembangan software.


    b. Segera setelah sofware digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara "CATCH AS CATCH CAM". 
    Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.