Minggu, 23 September 2018

SEJARAH RPL (REKAYASA PERANGKAT LUNAK) DAN EVOLUSI SOFTWARE (PERANGKATLUNAK)

PENGERTIAN RPL (REKAYASA PERANGKAT LUNAK)

      Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering mulai dipopulerkan tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.
RPL atau Software Engineering (SE) Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Ada 2 istilah kunci disini :
  • “disiplin rekayasa”  Perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap permasalahan
  • “semua aspek produksi perangkat lunak” RPL tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek PL dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi PL.
    Kesimpulannya, Rekayasa Perangkat Lunak adalah proses membuat perangkat lunak dengan menggunakan kaidah-kaidah atau prinsip-prinsip rekayasa sehingga dihasilkan perangkat lunak yang berkualitas.
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :
  1. Memperoleh biaya produksi perangkat lunak yang rendah.
  2. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
  3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.

SEJARAH SINGKAT RPL (REKAYASA PERANGKAT LUNAK)
 
       Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini. Fokus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.
  • 1945 - 1965: Awal
Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat debat tajam mengenai aspek engineering dari pengembangan perangkat lunak.
Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap perkembangan rekayasa perangkat lunak. Banyak yang menganggap bahwa dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak.
  • 1965 - 1985: krisis perangkat lunak
Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Banyak projek yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat lunak.
  • 1985 - kini: tidak ada senjata pamungkas
Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah krisis perangkat lunak.
Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi object, perangkat pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar, sesuai anggaran dan tepat waktu.
Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan perangkat lunak dalam tempo 10 tahun.
Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai kondisi.

PERKEMBANGAN PEMBUATAN PERANGKAT LUNAK (SOFTWARE)
 
       Dari perkembangan perangkat lunak, kita bisa membayangkan bagaimana perkembangan interaksi manusia dengan perangkat lunak. Bentuk paling primitif dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar / on) atau 0 (salah / off), cara ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (2 byte), double word (32 bit).
 Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya.

KATEGORI PERANGKAT LUNAK (SOFTWARE)
 
        Perangkat keras komputer tidak akan dapat berbuat apa-apa tanpa adanya perangkat lunak. Teknologi yang canggih dari perangkat keras akan berfungsi bila instruksi-instruksi tertentu telah diberikan kepadanya, yang disebut dengan dengan perangkat lunak (software) di dalam sirkuit komputer.
  1.  Perangkat lunak dikategorikan ke dalam tiga bagian, yaitu :Perangkat lunak sistem operasi (Operating System), yaitu program yang ditulis untuk mengendalikan dan mengkoordinasikan kegiatan dari sistem komputer
  2. Perangkat lunak bahasa (Language Software), yaitu program yang digunakan untuk menterjemahkan instruksi-instruksi yang ditulis dalam bahasa pemograman ke dalam bahasa mesin supaya dapat dimengerti oleh komputer
  3. Perangkat lunak aplikasi (Application Software), yaitu program yang ditulis dan diterjemahkan oleh language software untuk menyelesaikan aplikasi tertentu.
EVOLUSI PERANGKAT LUNAK (SOFTWARE)
  • Era Pioner
Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang menggunakan komputer. Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer dilakukan secara langsung dan hasil yang selesai dikerjakan komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris instruksi yang secara berurutan di proses.
  • Era Stabil
Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses).
  • Era Mikro
Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunannya untuk keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan.
  • Era Modern
Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang di tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar.

PERANGKAT LUNAK SEBELUM (SOFTWARE) KOMPUTER GENERASI PERTAMA
  • 300 SM. Sistem Kode yang Pertama
Bangsa Yunani menggunakan sinyal obor untuk mengirimkan berita dari satu kota ke kota lain. Untuk masing-masing stasiun didirikan dua buah tembok setinggi 6 kaki dan masing-masing mempunyai 5 obor. Kombinasi obor yang ada di tembok pertama dengan yang ada di tembok kedua membentuk suatu huruf. Tiap stasiun mempunyai tabel berbentuk matriks 5 baris 5 kolom. Tembok di sebelah kanan mewakili baris dan tembok di sebelah kiri mewakili kolom. Perpotongan antara baris dan kolom membentuk kode huruf yang dimaksud. Sistem ini disebut dengan polybius telegraph.
  • 1842, Penulis Perangkat Lunak yang Pertama
Ada Augusta (1815 – 1852), anak perempuan dari seniman Lord Byron merupakan anak pertama  yang menulis perangkat lunak yang diterapkan pada Babbage’s Analytical Engine. Nama Ada sekarang diabadikan pada nama sebuah bahasa komputer yaitu ADA. Pada tahun 1983 ADA merupakan satu-satunya bahasa komputer yang digunakan pada Departemen Pertahanan Amerika  Serikat untuk mengatur dan mengendalikan alat-alat perang, taktik dan sistem strategi pertahanan.
  • 1933, Program Mekanik yang Pertama
Wallace J. Eckert (1902 – 1971) mengabungkan beberapa mesin akuntansi plong IBM yang berbeda. Untuk menjalankan mesin ini sebagai satu kesatuan, Wallace J. Eckert membuat suatu program mekanik yang mengontrolnya.
  • 1945, Kutu yang Pertama
Sewaktu mengembangkan komputer Harvard Mark II oleh tim yang dikepalai oleh Grace Hopper, suatu relay ditemukan rusak. Di dalam relay yang rusak ditemukan adanya sebuah bug (kutu) yang terjepit mati. Mulai saat itu bila komputer tidak bekerja atau suatu program komputer mengalami kesalahan, para ahli mengatakan mereka sedang melakukan proses debugging.

PERANGKAT LUNAK (SOFTWARE) SEMASA KOMPUTER GENERASI PERTAMA
 
         Pemograman pada komputer generasi pertama kebanyakan adalah ahli teknik dan ahli matematika yang tertarik menggunakan komputer untuk menyelesaikan permasalahan di bidangnya. Program yang dibuat dilakukan dengan cara menghubungkan beberapa sirkuit di dalam komputer atau dengan membuat program dalam bahasa mesin yang disimpan di memori komputer secara permanen. Biasanya program tersebut sifatnya unik untuk suatu aplikasi tertentu dan tidak dapat digunakan untuk aplikasi yang lain.