Beginilah Pertanyaan Yang Sering ditanyakan Didalam Mata Kuliah Rekayasa Perangkat Lunak (RPL)

 

  1. Definisi atau Pengertian Software Menurut Para Ahli

  • Roger S. Pressman (2002:10)

Pengertian software menurut Roger S. Pressman (2002), Pressman mengatakan bahwa yang dimaksud dengan perangkat lunak atau software adalah sebuah perintah program dalam sebuah komputer, yang apabila dieksekusi oleh usernya akan memberikan fungsi dan unjuk kerja seperti yang diharapkan oleh usernya. Pernyataan ini menggambarkan bahwa software atau perangkat lunak ini berfungsi untuk memberi perintah komputer, agar komputer dapat berfungsi secara optimal, sesuai dengan kemauan user yang memberikan perintah.

  • Melwin Syafrizal Daulay (2007:22)

Dalam buku nya dengan judul “Mengenal Hardware-Software dan Pengelolaan Instalasi Komputer” melwin menjabarkan pengertian software sebagai berikut, menurut melwin sofware adalah sebuah perangkat yang berfungsi sebagai pengatur aktivitas kerja komputer dan seluruh intruksi yang mengarah pada sistem komputer. Kemudian dijelaskan pula bahwa software merupakan perangkat yang menjembatani interaksi user dengan komputer yang menggunakan bahasa mesin.

  • Wahana Komputer

Wahana Komputer merupakan sebuah kelompok / perusahaan yang bergerak dibidang komputer dan sering menerbitkan artikel dibidang perangkat lunak. menurut wahana komputer yang dimaksud dengan software adalah sebuah perangkat lunak yang berfungsi untuk melakukan control dan juga manajemen hardware, di dalam komputer software meliputi sistem operasi dan aplikasi.

Dari penjelasan software menurut wahana komputer, dapat kita jabarkan bahwa dengan menggunakan software, user dapat melakukan proses manajemen hardware serta mengoperasikan hardware yang tersedia.

  • ITL Education Solutions Ltd.

ITL Education Solutions Limited merupakan sebuah perusahaan berskala internasional yang bergerak dibidang pendidikan dan sering mengeluarkan buku berkaitan dengan perangkat lunak. menurut ITL Education Solutions Limited dalam buku nya yang berjudul “introduction to computer science” software / perangkat lunak adalah istilah umum untuk menunjukkan sebuah koleksi data komputer dan instruksi yang terorganisir. Dalam hal ini, software bertanggung

jawab dalam mengelola, mengendalikan dan mengintegrasikan komponen hardware dari sebuah sistem komputer untuk menyelesaikan tugas / perintah tertentu.

  • Wilman & Riyan

Tokoh lainnya yang mendefinisikan mengenai pengertian software adalah Wilman dan Riyan. Mereka mendefinisikan software sebagai sebuah perangkat operasi kerja untuk menjalankan berbagai komponen pada hardware.

Kemudian Wilman dan Riyan mengatakan bahwa software memiliki sifat maya, yang dapat diartikan bahwa software tidak dapat terlihat secara fisik, akan tetapi fungsi dari software dapat dirasakan manfaatnya oleh usernya.

  • Fauziah

Ahli lainnya yang mendefinisikan software adalah Fauziya, menurut Fauziyah software adalah sebuah program komputer yang berguna untuk menginput data, menyimpan data, mengecek data, memanipulasi data dan memperoleh hasil dari data tersebut. yang dilakukan dengan menggunakan perangkat hardware.

  • Wiwit Siswoutomo

Ahli lainnya yang mendefinisikan software adalah Wiwit Siswoutomo, Wiwit berpendapat bahwa yang dimaksud dengan software / perangkat lunak adalah sebuah nyawa dari komputer atau hardware. Karena tanpa adanya software maka komputer hanyalah sebuah perangkat keras atau hardware yang mati dan tidak dapat digunakan.

  • Imam Prayogo Pujiono

Ahli lainnya yang mendefinisikan software adalah Imam Prayogo Pujiono, M.kom yang merupakan praktisi dan dosen di dalam bidang rekayasa perangkat lunak. Imam berpendapat bahwa software adalah sebuah program dalam komputer yang dirancang sedemikian rupa, yang seandainya dijalankan akan memberikan perintah ke komputer / hardware / software lain dalam rangka menyelesaikan sebuah tugas, pekerjaan, dan juga tuntutan tertentu seperti yang diharapkan user.

  • Juntak Teamwork

Organisasi terakhir yang mendefinisikan software adalah Juntak Teamwork. Menurut Juntak Teamwork software adalah sebuah konstruksi atau bangunan dari sebuah program yang disusun sedemikian rupa, serta diatur untuk sebuah sistem kerja yang dijalankannya.

 

  1. Karakteristik Perangkat Lunak

Setiap individu menilai perangkat lunak secara berbeda. Ini karena mereka terlibat dengan perangkat lunak dengan cara yang berbeda. Misalnya, pengguna ingin perangkat lunak tampil sesuai dengan kebutuhan mereka. Demikian pula, pengembang (developer) yang terlibat dalam perancangan, pengkodean, dan pemeliharaan perangkat lunak mengevaluasi perangkat lunak dengan melihat karakteristik internalnya, sebelum mengirimkannya ke pengguna. Karakteristik perangkat lunak dikelompokkan menjadi enam komponen utama.

  • Functionality: Mengacu pada tingkat kinerja perangkat lunak terhadap tujuan yang telah ditentukan.
  • Reliability: Mengacu pada kemampuan perangkat lunak untuk menyediakan fungsionalitas yang diinginkan dalam kondisi tertentu.
  • Usability: Mengacu pada sejauh mana perangkat lunak dapat digunakan dengan mudah.
  • Efficiency: Mengacu pada kemampuan perangkat lunak untuk menggunakan sumber daya sistem dengan cara yang paling efektif dan efisien.
  • Maintainability: Mengacu pada kemudahan modifikasi yang dapat dilakukan dalam sistem perangkat lunak untuk memperluas fungsinya, memperbaiki kinerjanya, atau memperbaiki kesalahannya.
  • Portability: Mengacu pada kemudahan pengembang perangkat lunak (software developer) mana yang dapat mentransfer perangkat lunak dari satu platform ke platform lainnya, tanpa (atau dengan minimum) perubahan. Secara sederhana, ini mengacu pada kemampuan perangkat lunak untuk berfungsi dengan baik pada berbagai platform perangkat keras (hardware) dan perangkat lunak (software) tanpa membuat perubahan apa pun di dalamnya.

 

  1. faktor pendukung kehadiran rekayasa perangkat lunak adalah:

  • Ketidakmampuan organisasi untuk memprediksi waktu, usaha dan biaya pada pengembangan perangkat lunak.
  • Kualitas perangkat lunak yang diproduksi tidak baik (buruk).
  • Perubahan perbandingan harga perangkat keras dan perangkat lunak.
  • Meningkatnya peran penting dari pemeliharaan.
  • Kemajuan teknologi perangkat keras.
  • Kemajuan teknik perangkat lunak.
  • Kebutuhan yang meningkat terhadap perangkat lunak.
  • Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

 

  1. Pengelompokan perangkat lunak

A. Sistem Operasi (Operation System)

Merupakan sebuah program yang berfungsi untuk mengolah segala proses dan

mengelola program-program di dalam komputer.

Contoh :

  • UNIX : Linux, BSD, Solaris, MacOS, Belenix, dll

– Versi – versi Linux : RedHat, Knoppix, SuSe, Ubuntu, dll.

– Versi – versi BSD : FreeBSD, OpenBSD, NetBSD, dll.

  • Microsoft : MS-DOS, MS Windows (1.0, 2.0, 3.0, 3.11, 95, 98, 98SE, ME 2000, XP, Vista, 7, 8)

B. Program Utility

Merupakan sebuah program yang berfungsi untuk meningkatkan kinerja komputerContoh :a. Antivirus (AVG, AVIRA, AVAST, KASPERSKY)b. Pembagi partisi (FDISK, Partition Magic)c. Peringkas file (WinRAR, WinZIP,dll)

C. Programming LanguageMerupakan sebuah program yang berguna untuk menghasilkan program aplikasi lainnya, terdapat 2 macam programming software:• Low-Level Language: Bahasa biner, Bahasa Assembly.• High-Level Language: C++, Java, Visual Basic, Pascal, dll.

D. Application Program Merupakan sebuah program yang berfungsi untuk membantu suatu perkerjaan pengguna (user)Contoh :a. Office :Microsoft Word (Pengetikan)Microsoft Excel (Pembuatan tabel-tabel)Microsoft Front Page (Pembuatan web site)Microsoft Power Point (Pembuatan presentasi)Microsoft Outlook (Pengaturan jadwal, email, nomer telpon,dll)

  • Desain Grafis :CorelDrawAdobe PhotoshopPhotoscape
  • WinampVLCReal PlayerGom Player

 

E. Periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya siklus pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan, pengujian, dan instalasi serta pemeriksaan.periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh lagi oleh pengembang.

 

F. Model Sekuensial Linier atau Waterfall Development Model

Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.

Berikut Merupakan Tahapan – tahapan Pengembangan  Model Sekuensial Linear / Waterfall Development Model :

  • Rekayasa dan pemodelan sistem/informasi

Langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware, User, dan Database.

  • Analisis kebutuhan perangkat lunak

Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka.  Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.

  • Desain

Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.

  • Pengkodean

Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.

  • Pengujian

Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.

  • Pemeliharaan

Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan antara lain :

  1. Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
  2. Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
  3. Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
  • Contoh Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development Model

Contoh dari penerapan model pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut :

  1. Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
  2. Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.
  3. Kelebihan Model Sekuensial Linear / Waterfall Development Model :

Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.

  • Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
  • Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
  • Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
  • Kekurangan Model Sekuensial Linear / Waterfall Development Model :
  • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
  • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  • Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
  • Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
  • ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
  • Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya

 

  1. Metode Pengembangan Perangkat Lunak Fourth Generation Techniques (4GT)

 

Istilahnya metode pengembangan perangkat lunak generasi keempat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.  Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut:

  1. Bahasa non prosedural untuk query basis data;
  2. Report generation;
  3. Data manipulation ;
  4. Interaksi layar ;
  5. Kemampuan grafik level tinggi ;
  6. Kemampuan spreadsheet .

Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT meliputi:

  1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
  2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
  3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
  4. Pengujian
  5. Membuat dokumentasi.
  6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.

Kelebihan dari metode pengembangan perangkat lunak ini diantaranya :

  • Pengurangan waktu dan peningkatan produktivitas secara besar

khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.

  • Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.

Untuk aplikasi yang kecil, adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke implementasi dengan menggunakan metode 4GL. Tapi untuk aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GL tanpa perencanaan yang matang (untuk proyek skala besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode pengembangan perangkat lunak model konvensional.

Kekurangan metode pengembangan perangkat lunak ini

  • Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
  • Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL.
  • Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.
  • 4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.
Rich Snippets
Published
Article
Rekayasa Perangkat Lunak
Ratings
51star1star1star1star1star

Leave a Reply