Apa itu Software?

Apa itu Software?

Apa itu Software? – Software adalah seperangkat instruksi, data, atau program yang digunakan untuk mengoperasikan komputer dan menjalankan tugas tertentu. Berlawanan dengan Hardwware, yang menggambarkan aspek fisik komputer, software adalah istilah umum yang digunakan untuk merujuk ke aplikasi, skrip, dan program yang berjalan pada perangkat. Software dapat dianggap sebagai bagian variabel dari komputer, dan perangkat keras bagian yang tidak berubah-ubah.

Software sering dibagi menjadi beberapa kategori. Software aplikasi mengacu pada program yang diunduh pengguna yang memenuhi keinginan atau kebutuhan. Contoh aplikasi termasuk office suites, database programs, web browsers, word processors, software development tools, image editors dan communication platforms. Software sistem mencakup sistem operasi dan program apa pun yang mendukung software aplikasi. joker388 deposit pulsa

Istilah middleware kadang-kadang digunakan untuk menggambarkan pemrograman yang memediasi antara aplikasi dan software sistem, atau antara dua jenis software aplikasi. Misalnya, middleware dapat digunakan untuk mengirim permintaan kerja jarak jauh dari aplikasi di komputer yang memiliki satu jenis sistem operasi, ke aplikasi di komputer dengan sistem operasi yang berbeda. joker123 deposit pulsa

Kategori software tambahan adalah utilitas, yang merupakan program kecil dan bermanfaat dengan kemampuan terbatas. Beberapa utilitas dilengkapi dengan sistem operasi. Seperti aplikasi, utilitas cenderung dapat diinstal secara terpisah dan dapat digunakan secara terpisah dari sistem operasi lainnya.

Demikian pula, applet adalah aplikasi kecil yang terkadang datang dengan sistem operasi sebagai aksesoris. Mereka juga dapat dibuat secara independen menggunakan Java atau bahasa pemrograman lain. Machine code adalah software tingkat terendah. Bahasa pemrograman lain diterjemahkan ke dalam Machine code sehingga komputer dapat menjalankannya. Software dapat dibeli atau diperoleh dengan cara berikut:

  • Shareware, biasanya didistribusikan secara gratis atau percobaan, dengan maksud untuk dijual saat periode berakhir.
  • Liteware, jenis shareware dengan beberapa kemampuan yang dinonaktifkan hingga versi lengkap dibeli.
  • Freeware, dapat diunduh secara gratis tetapi dengan batasan hak cipta.
  • Public domain software, dapat diunduh secara gratis tanpa batasan.
  • Open source software, jenis software tempat kode sumber disediakan dan pengguna sepakat untuk tidak membatasi distribusi peningkatan.
  • Proprietary software, software yang tetap menjadi milik pemilik / penciptanya dan digunakan oleh pengguna akhir atau organisasi dalam kondisi yang ditentukan sebelumnya.

Saat ini, banyak software yang dibeli, shareware, dan freeware langsung diunduh melalui internet. Dalam kasus ini, software dapat ditemukan di situs web vendor industri software tertentu atau penyedia layanan aplikasi. Namun, software juga dapat dikemas ke dalam CD-ROM atau disket dan dijual secara fisik kepada konsumen.

Jenis software khusus yang memungkinkan hardware dijalankan adalah firmware. Ini adalah jenis pemrograman yang tertanam ke area khusus hardware’s nonvolatile memory, seperti mikroprosesor atau read only memory, pada basis satu kali atau jarang sehingga selanjutnya tampaknya menjadi bagian dari hardware.

Meskipun istilah ilmu komputer dan rekayasa software sering digunakan secara bergantian, mereka tidak sama. Ilmu komputer adalah bidang komputasi yang berpusat di sekitar studi, implementasi dan analisis algoritma. Rekayasa software, di sisi lain, berfokus pada penerapan prinsip-prinsip rekayasa terstruktur untuk pengembangan software.

Jenis software

Dua jenis utama software adalah software sistem dan software aplikasi.

Software sistem adalah jenis program komputer yang dirancang untuk menjalankan perangkat keras dan program aplikasi komputer. Software sistem mengoordinasikan kegiatan dan fungsi perangkat keras dan software. Selain itu, ia mengontrol operasi perangkat keras komputer dan menyediakan lingkungan atau platform untuk semua jenis software lain untuk bekerja. Contoh paling terkenal dari software sistem adalah operating system (OS), yang mengelola semua program lain di komputer.

Software aplikasi adalah paket software komputer yang melakukan fungsi tertentu untuk pengguna akhir atau, dalam beberapa kasus, untuk aplikasi lain. Aplikasi dapat mandiri atau sekelompok program. Program ini adalah serangkaian operasi yang menjalankan aplikasi untuk pengguna. Aplikasi menggunakan OS komputer dan program pendukung lainnya, biasanya software sistem, berfungsi. Software aplikasi berbeda dari software lain yang mungkin pre-bundled dengan sistem operasi komputer, seperti utilitas.

Beberapa jenis software aplikasi umum meliputi:

  • Productivity software, yang mencakup alat-alat seperti pengolah kata dan spreadsheet.
  • Presentation software, juga dikenal sebagai slideware.
  • Graphics software.
  • CAD/CAM.
  • Vertical market, software khusus industry, misalnya, perbankan, asuransi, dan aplikasi ritel.

Desain dan implementasi

Desain dan implementasi adalah langkah kedua dan ketiga dalam Siklus Hidup Desain Software secara keseluruhan, setelah analisis awal persyaratan. Setelah persyaratan pengguna ditentukan, desain software bertujuan untuk menentukan cara memenuhinya.

Desain software mencakup deskripsi struktur software yang akan diimplementasikan, model data, antarmuka antara komponen sistem, dan berpotensi algoritma yang digunakan oleh insinyur software.

Proses desain mengubah persyaratan pengguna menjadi bentuk yang sesuai, yang membantu programmer komputer dalam pengkodean dan implementasi software. Insinyur software mengembangkan desain software secara iteratif, menambahkan detail dan memperbaiki desain saat mereka mengembangkannya.

Berbagai jenis desain software meliputi:

  • Desain arsitektur: desain dasar, yang mengidentifikasi keseluruhan struktur sistem, komponen utamanya, dan hubungannya satu sama lain.
  • Desain tingkat tinggi: lapisan kedua desain, yang berfokus pada bagaimana sistem, beserta semua komponennya, dapat diimplementasikan dalam bentuk modul. Ini menggambarkan hubungan antara berbagai modul dan fungsi sistem, aliran data, diagram alir, dan struktur data.
  • Desain terperinci: lapisan ketiga desain, yang berfokus pada semua detail implementasi yang diperlukan untuk arsitektur yang ditentukan.

Tahap implementasi adalah proses mengubah spesifikasi sistem menjadi sistem yang dapat dieksekusi. Jika insinyur software menggunakan pendekatan tambahan, fase implementasi mungkin juga melibatkan penyempurnaan spesifikasi software.

Kualitas software

Ukuran kualitas software jika software memenuhi persyaratannya, yang diklasifikasikan sebagai fungsional atau non-fungsional.

  • Persyaratan fungsional mengidentifikasi apa yang harus dilakukan software. Persyaratan fungsional dapat berupa rincian teknis, manipulasi dan pemrosesan data, perhitungan atau fungsi spesifik lainnya yang menentukan apa yang ingin dicapai aplikasi.
  • Persyaratan non-fungsional, juga dikenal sebagai “atribut kualitas,” menentukan bagaimana sistem seharusnya bekerja. Persyaratan non-fungsional mencakup hal-hal seperti portabilitas, disaster recovery, keamanan, privasi, dan kegunaan.

Pengujian software mendeteksi dan menyelesaikan masalah teknis dalam kode sumber software dan menilai keseluruhan kegunaan, kinerja, keamanan, dan kompatibilitas produk untuk memastikannya memenuhi persyaratannya.

Dimensi kualitas software meliputi:

  • Aksesibilitas: sejauh mana software dapat digunakan dengan nyaman oleh beragam kelompok orang termasuk individu yang membutuhkan teknologi adaptif seperti pengenalan suara dan kaca pembesar layar.
  • Kompatibilitas: kesesuaian software untuk digunakan di berbagai lingkungan, seperti sistem operasi, perangkat, dan browser yang berbeda.
  • Efisiensi: kemampuan software untuk berkinerja baik tanpa membuang energi, sumber daya, usaha, waktu atau uang.
  • Fungsionalitas: kemampuan software untuk menjalankan fungsi yang ditentukan atau diinginkan.
  • Installability: kemampuan software untuk diinstal di lingkungan yang ditentukan.
  • Localizability: kemampuan software untuk digunakan dalam berbagai bahasa, zona waktu, dll.
  • Maintainability: seberapa mudah software dapat dimodifikasi untuk menambah fitur, meningkatkan fitur, memperbaiki bug, dll.
  • Performance: seberapa cepat kinerja software di bawah beban tertentu.
  • Portabilitas: kemampuan software untuk dengan mudah ditransfer dari satu lokasi ke lokasi lain.
  • Reliability: kemampuan software untuk melakukan fungsi yang diperlukan dalam kondisi tertentu untuk periode waktu tertentu tanpa kesalahan.
  • Skalabilitas: ukuran kemampuan software untuk meningkatkan atau menurunkan kinerja dalam menanggapi perubahan dalam tuntutan pemrosesan software.
  • Keamanan: kemampuan software untuk melindungi terhadap akses yang tidak sah, pelanggaran privasi, pencurian, kehilangan data, dll.
  • Testability: kemampuan software agar mudah diuji.
  • Kegunaan: betapa mudahnya menggunakan software.

Lisensi dan paten software

Lisensi software adalah dokumen yang memberikan pedoman yang mengikat secara hukum untuk penggunaan dan distribusi software. Biasanya, lisensi software memberi pengguna hak untuk satu atau lebih salinan software tanpa melanggar hak cipta. Selain itu, lisensi menguraikan tanggung jawab para pihak yang masuk ke dalam perjanjian lisensi dan dapat menempatkan batasan tentang bagaimana pengguna akhir dapat menggunakan software.

Syarat dan ketentuan lisensi software umumnya mencakup penggunaan software secara adil, batasan tanggung jawab, jaminan serta penafian dan perlindungan jika software atau penggunaannya melanggar hak kekayaan intelektual pihak lain. Lisensi software biasanya merupakan hak milik, bebas atau sumber terbuka, tergantung pada ketentuan di mana pengguna dapat mendistribusikan atau menyalin software untuk pengembangan atau penggunaan di masa depan.

Apa itu Software?

Paten software dilindungi oleh rangkaian kekayaan intelektual perlindungan yang memberikan pemilik hak eksklusif software untuk menggunakan program yang dilindungi. Namun, paten software masih kontroversial di Amerika Serikat dan negara lain karena berbagai alasan, termasuk fakta bahwa software sudah secara otomatis dilindungi oleh perlindungan hak cipta dan beberapa orang berpikir bahwa perlindungan tambahan dapat menghambat inovasi.

Saat ini, software dapat memenuhi syarat untuk perlindungan paten jika memiliki penggunaan industri atau komersial, dan bukan hanya ide bisnis. Software juga harus unik bagi orang yang memiliki keahlian rata-rata dalam industri software. Selain itu, pemilik harus menjelaskan software secara rinci dalam aplikasi yang diajukan ke Kantor Hak Paten dan Merek Dagang Amerika Serikat.