Tuesday, August 27, 2024

Karakteristik Software

 


Pengertian Software

Pengertian Software (perangkat lunak) adalah kumpulan instruksi atau program yang memungkinkan komputer menjalankan tugas-tugas tertentu. Perangkat lunak mencakup segala jenis program yang kita gunakan, baik itu aplikasi di smartphone, perangkat lunak pengolah kata, program komputer, atau bahkan sistem operasi itu sendiri. Contoh-contoh perangkat lunak yang umum digunakan meliputi Microsoft Office, Adobe Photoshop, Google Chrome, dan Android.

Sejarah perangkat lunak dan perkembangannya dapat ditelusuri kembali hingga awal abad ke-19. Pada waktu itu, semua sistem komputer didesain untuk menggunakan “konsep program tersimpan” yang pertama kali dikembangkan oleh Charles Babbage pada tahun 1850-an. Namun, konsep ini hilang sampai pertengahan 1940-an, ketika munculnya komputer modern.

Karakteristik Software

Perangkat lunak memiliki beberapa karakteristik yang membedakannya dari perangkat keras (hardware). Berikut adalah beberapa karakteristik yang dimiliki oleh perangkat lunak:

  1. Software adalah elemen sistem logik, bukan elemen fisik seperti hardware.
  2. Perangkat lunak tidak mengalami aus seperti perangkat keras, tetapi bisa rusak.
  3. Perangkat lunak dirancang dan dikembangkan, bukan diproduksi di pabrik seperti hardware.
  4. Software tidak dapat dirakit seperti perangkat keras.

Fungsi Software

Perangkat lunak memiliki peran yang penting dalam pengoperasian komputer. Berikut adalah beberapa fungsi atau peranan yang dimiliki oleh perangkat lunak:

a. Membantu mengenali dan mengidentifikasi program yang ada.
b. Memastikan bahwa semua program komputer dapat berjalan dengan teratur.
c. Membantu mengatur dan membuat pekerjaan lebih efisien.
d. Mengatur aliran data masukan dan keluaran dari komputer.
e. Menyediakan instruksi dan perintah untuk mengoperasikan dan mengatur perangkat keras komputer.
f. Bertanggung jawab menjalankan perintah tertentu dalam sistem komputer.
g. Membantu mengatur dan membuat pekerjaan lebih efisien dan optimal.

Jenis-jenis Software

Perangkat lunak dapat dibagi menjadi berbagai jenis berdasarkan karakteristik dan fungsinya. Berikut adalah beberapa jenis software yang umum ditemui:

  1. Software Berbayar
    Yaitu perangkat lunak yang harus dibeli dengan membayar lisensi penggunaan.
  2. Freeware
    perangkat lunak yang dapat digunakan tanpa biaya, tetapi mungkin memiliki batasan atau pembatasan tertentu.
  3. Free Software
    Perangkat lunak yang dapat digunakan, dimodifikasi, dan didistribusikan secara bebas dengan mengikuti prinsip kebebasan perangkat lunak.
  4. Firmware
    Sebuah perangkat lunak yang tertanam dalam perangkat keras dan bertanggung jawab untuk mengontrol fungsi perangkat tersebut.
  5. Shareware
    Software yang dapat digunakan secara gratis untuk jangka waktu tertentu, tetapi kemudian meminta pengguna untuk membayar jika ingin menggunakan versi penuh.
  6. Malware
    Peragkat lunak berbahaya yang dirancang untuk merusak atau mengganggu sistem komputer.
  7. Pengendali Perangkat Keras
    Perangkat lunak yang menghubungkan perangkat keras dengan sistem operasi, memungkinkan komunikasi dan penggunaan perangkat secara efektif.
  8. Perangkat Lunak Aplikasi
    Software yang dirancang untuk memenuhi kebutuhan khusus pengguna, seperti pengolah kata, spreadsheet,


Referensi


Monday, August 26, 2024

Pengembangan Perangkat Lunak


Pengembangan perangkat lunak mengacu pada serangkaian aktivitas ilmu komputer khusus untuk proses pembuatan, perancangan, penerapan, dan dukungan perangkat lunak.

Perangkat lunak itu sendiri adalah serangkaian instruksi atau program yang memberi tahu komputer apa yang harus dilakukan. Perangkat lunak tidak bergantung pada perangkat keras dan membuat komputer dapat diprogram. Terdapat tiga jenis dasar:

Perangkat lunak sistem untuk menyediakan fungsi inti seperti sistem operasi, manajemen disk, utilitas, manajemen perangkat keras, dan kebutuhan operasional lainnya.

Perangkat lunak pemrograman untuk memberi alat bagi pengembang seperti editor teks, compiler, linker, debugger, dan alat lain untuk membuat kode.

Perangkat lunak aplikasi (aplikasi atau app) untuk membantu pengguna melakukan tugas. Contohnya, rangkaian produktivitas kantor, perangkat lunak manajemen data, pemutar media, dan program keamanan. Aplikasi juga merujuk pada aplikasi web dan seluler seperti yang digunakan untuk berbelanja di Amazon.com, bersosialisasi dengan Facebook, atau memposting foto ke Instagram.1

Jenis keempat adalah perangkat lunak tersemat. Perangkat lunak sistem tersemat digunakan untuk mengontrol mesin dan perangkat selain komputer, misalnya jaringan telekomunikasi, mobil, robot industri, dan lain-lain. Perangkat tersebut dan perangkat lunaknya dapat dihubungkan sebagai bagian dari Internet of Things (IoT).2

Pengembangan perangkat lunak terutama dilakukan oleh pemrogram, insinyur perangkat lunak, dan pengembang perangkat lunak. Peran-peran tersebut saling berinteraksi dan tumpang tindih, dan dinamika di antaranya sangat bervariasi di seluruh departemen dan komunitas pengembangan.  

Pemrogram, atau pembuat kode, menulis kode sumber untuk memprogram komputer untuk tugas-tugas khusus seperti menggabungkan database, memproses pesanan online, merutekan komunikasi, melakukan riset, atau menampilkan teks dan grafis. Pemrogram umumnya menafsirkan instruksi dari pengembang dan insinyur perangkat lunak dan menggunakan bahasa pemrograman seperti C++ atau Java untuk menjalankannya.

Insinyur perangkat lunak menerapkan prinsip rekayasa untuk membangun perangkat lunak dan sistem untuk memecahkan masalah. Mereka menggunakan bahasa pemodelan dan alat lain untuk merancang solusi yang dapat diterapkan ke masalah secara umum, tidak hanya memecahkan masalah spesifik per instance atau klien tertentu. Solusi rekayasa perangkat lunak mematuhi metode ilmiah dan harus berfungsi di dunia nyata, seperti untuk jembatan atau lift. Tanggung jawab mereka telah berkembang karena produknya telah menjadi makin cerdas dengan penambahan mikroprosesor, sensor, dan perangkat lunak. Tidak hanya lebih banyak produk bergantung pada perangkat lunak untuk pembeda di pasar, tetapi pengembangan perangkat lunak mereka juga harus dikoordinasikan dengan pekerjaan pengembangan mekanik dan listrik produk.

Pengembang perangkat lunak memiliki peran yang kurang formal dibandingkan insinyur dan dapat terlibat langsung dalam area proyek tertentu, termasuk penulisan kode. Selain itu, mereka juga menjalankan siklus pengembangan perangkat lunak keseluruhan, termasuk pekerjaan di tim fungsional untuk mengubah persyaratan menjadi fitur, mengelola tim dan proses pengembangan, dan melakukan pengujian serta pemeliharaan perangkat lunak.3

Pekerjaan pengembangan perangkat lunak tidak terbatas pada pembuat kode atau tim pengembangan. Para profesional seperti ilmuwan, pembuat perangkat, dan pembuat perangkat keras juga menciptakan kode perangkat lunak meskipun mereka bukan pengembang perangkat lunak utama. Pekerjaan ini juga tidak terbatas pada industri teknologi informasi tradisional seperti bisnis perangkat lunak atau semikonduktor. Bahkan, menurut Brookings Institute (tautan berada di luar ibm.com), bisnis tersebut "mencakup kurang dari setengah perusahaan yang melakukan pengembangan perangkat lunak."

Yang menjadi perbedaan penting adalah antara pengembangan perangkat lunak kustom dan pengembangan perangkat lunak komersial. Pengembangan perangkat lunak kustom adalah proses merancang, menciptakan, menerapkan, dan mengelola perangkat lunak untuk pengguna, fungsi, atau organisasi khusus. Sebaliknya, perangkat lunak komersial siap pakai (COTS) dirancang untuk persyaratan yang luas, memungkinkannya dikemas, dipasarkan, dan didistribusikan secara komersial.

Materi Konsep Pengembangan Perangkat Lunak

Pertemuan 1 : Pengantar Software Development
Pertemuan 2 : Produk Perangkat Lunak;
Pertemuan 3 : Proses Perangkat Lunak;
Pertemuan 4 : Konsep Manaj emen Proyek;
Pertemuan 5 : Metriks dari Proses Pembuatan dan Proyek Perangkat Lunak;
Pertemuan 6 : Perencanaan Proyek Perangkat Lunak Manaj emen Resiko;
Pertemuan 7 : Penjadwalan dan Tracking;
Pertemuan 8 : Software Quality Assurance (SQA);
Pertemuan 9 : Studi Kasus Perangkat Lunak
Pertemuan 10 : Rekayasa Sistem;
Pertemuan 11 : Prinsip dan Konsep dari Analisa;
Pertemuan 12 : Model dari Analisa;
Pertemuan 13 : Prinsip dan konsep dari Desain;
Pertemuan 14 : Metode-metode Desain;
Pertemuan 15 : Metode dan Strategi Pengujian Perangkat Lunak;
Pertemuan 16 : Pengujian Berorientasi Objek;
Pertemuan 17 : Technical Metrics untuk Perangkat Lunak;
Pertemuan 18 : Rekayasa Web

Evaluasi

Tugas 1        20%
Tugas 2        20%
Dokumentasi                           20%
Evaluasi Tengah Semester      20%
Evaluasi Akhir Semester         20%

Daftar Buku

1. Pressman, Roger.S. "Software Engineering : A Pract ioner's Approach." 
2. Sommerville, Ian. "Software Engineering". Pearson


Referensi

https://netsolution.co.id/pengembangan-perangkat-lunak/

https://www.ibm.com/id-id/topics/software-development