Perangkat lunak komputer, atau hanya perangkat lunak, adalah
setiap set instruksi dapat dibaca oleh mesin yang mengarahkan komputer prosesor
untuk melakukan operasi tertentu. Istilah ini digunakan untuk kontras dengan
perangkat keras komputer , benda-benda fisik (prosesor dan perangkat terkait)
yang melaksanakan instruksi. Perangkat keras komputer dan perangkat lunak
memerlukan satu sama lain dan tidak dapat digunakan secara realistis tanpa yang
lain.
Software adalah istilah umum. Hal ini dapat merujuk pada semua
instruksi komputer secara umum, atau untuk setiap set instruksi khusus
komputer. Hal ini termasuk baik instruksi mesin (dengan kode biner yang
prosesor "memahami") dan kode sumber (petunjuk lebih lanjut manusia
dimengerti yang harus diberikan ke dalam kode mesin oleh compiler atau
interpreter sebelum dieksekusi).
Perangkat lunak komputer adalah seperangkat program ,
prosedur , fungsi , terkait Data dan / atau dokumentasi, jika ada. Program
perangkat lunak melakukan fungsi dari program yang itu menerapkan, baik dengan
langsung memberikan instruksi kepada elektronika digital atau dengan melayani
sebagai masukan bagi software lain. Software ini juga kadang-kadang digunakan
dalam arti yang lebih sempit, yang berarti perangkat lunak aplikasi saja.
Perangkat lunak komputer yang disebut untuk membedakannya
dari perangkat keras komputer , yang meliputi perangkat fisik dan interkoneksi
diperlukan untuk menyimpan dan menjalankan ("mengeksekusi") perangkat
lunak. Berbeda dengan hardware, software executable ada sebagai data dalam
sistem komputer dan karenanya "tidak bisa disentuh", seperti model 3D
ditunjukkan pada gambar tidak dapat disentuh. Pada tingkat terendah, kode dieksekusi terdiri
dari instruksi bahasa mesin spesifik untuk prosesor individu. Sebuah bahasa
mesin terdiri dari kelompok nilai biner menandakan instruksi prosesor yang
mengubah keadaan komputer dari negara yang sebelumnya. Sebagai contoh, sebuah
instruksi dapat mengubah nilai yang disimpan di lokasi penyimpanan tertentu di
dalam komputer (efek yang tidak langsung diamati kepada pengguna), atau (secara
tidak langsung) menyebabkan sesuatu muncul pada tampilan sistem komputer
(perubahan state yang harus terlihat oleh pengguna). Prosesor melaksanakan
instruksi dalam urutan yang mereka disediakan, kecuali jika diperintahkan untuk
"melompat" ke instruksi yang berbeda, atau terputus.
Software ini biasanya ditulis dalam bahasa pemrograman
tingkat tinggi yang lebih mudah dan lebih efisien bagi manusia untuk
menggunakan (lebih dekat ke bahasa alam ) daripada bahasa mesin. Bahasa tingkat
tinggi dikompilasi atau ditafsirkan ke dalam kode mesin bahasa pemrograman.
Perangkat lunak juga dapat ditulis dalam bahasa assembly , pada dasarnya,
sebuah mnemonic representasi dari bahasa mesin menggunakan alfabet bahasa
alami. Majelis bahasa harus dirakit menjadi kode obyek melalui assembler .
Tool pemrograman
Alat pemrograman perangkat lunak dalam bentuk program atau
aplikasi yang pengembang perangkat lunak (juga dikenal sebagai programmer,
coders, hacker atau insinyur perangkat lunak) digunakan untuk membuat,
men-debug , mempertahankan (yaitu meningkatkan atau memperbaiki), atau
mendukung software. Software ditulis dalam satu atau lebih bahasa pemrograman,
ada banyak bahasa pemrograman yang ada, dan masing-masing memiliki setidaknya
satu implementasi, masing-masing terdiri dari set sendiri alat-alat
pemrograman. Alat-alat ini mungkin program yang relatif mandiri seperti
compiler , debugger , interpreter , linker , dan editor teks , yang dapat
dikombinasikan bersama-sama untuk menyelesaikan tugas, sebanyak satu mungkin
menggunakan beberapa alat-alat tangan untuk memperbaiki benda fisik, atau
mereka mungkin menjadi lingkungan pengembangan terpadu (IDE), yang
menggabungkan banyak atau semua fungsi alat mandiri tersebut. IDE dapat
melakukan hal ini baik dengan menerapkan alat individu yang relevan atas nama
programmer, atau dengan reimplementing fungsi mereka dengan cara yang baru.
Hampir semua implementasi bahasa pemrograman (pengecualian menjadi Smalltalk )
memberikan pilihan untuk menggunakan alat individu daripada IDE, karena
beberapa programmer memilih untuk tidak menggunakan IDE untuk berbagai alasan,
dan IDE biasanya memakan waktu lebih lama untuk dikembangkan ke "diterima"
standar dari alat individu - memang, awalnya, bahasa pemrograman baru (yang
dibuat setiap tahun) tidak akan biasanya memiliki IDE yang tersedia untuk
mereka.
Arsitektur
Pengguna sering melihat hal-hal yang berbeda dari pemrogram.
Orang-orang yang menggunakan komputer yang modern tujuan umum (sebagai lawan
embedded system , komputer analog dan superkomputer ) biasanya melihat tiga
lapisan perangkat lunak melakukan berbagai tugas: platform, aplikasi, dan
pengguna perangkat lunak.
Software Platform: Landasan termasuk firmware , driver
perangkat , sebuah sistem operasi , dan biasanya antarmuka pengguna grafis
yang, secara total, memungkinkan pengguna untuk berinteraksi dengan komputer
dan yang periferal (peralatan yang terkait). Platform perangkat lunak sering
datang dibundel dengan komputer. Pada PC yang biasanya akan memiliki kemampuan
untuk mengubah platform perangkat lunak.
Aplikasi perangkat lunak: Aplikasi perangkat lunak atau
Aplikasi adalah apa yang kebanyakan orang pikirkan ketika mereka berpikir
tentang perangkat lunak. Contoh umum termasuk suite kantor dan video game.
Aplikasi perangkat lunak yang sering dibeli secara terpisah dari perangkat
keras komputer. Kadang-kadang aplikasi yang dibundel dengan komputer, tetapi
itu tidak mengubah fakta bahwa mereka berjalan sebagai aplikasi independen.
Aplikasi biasanya program independen dari sistem operasi, meskipun mereka
sering dirancang untuk platform tertentu. Sebagian besar pengguna memikirkan
kompiler, database, dan lainnya "sistem perangkat lunak" sebagai
aplikasi.
Software-Pengguna tertulis: pengembangan pengguna akhir
jahit sistem untuk memenuhi kebutuhan spesifik pengguna. Pengguna perangkat
lunak termasuk template spreadsheet dan pengolah kata template. Bahkan filter
email adalah jenis perangkat lunak pengguna. Pengguna menciptakan software ini
sendiri dan sering mengabaikan betapa pentingnya. Tergantung pada seberapa
kompeten pengguna perangkat lunak yang ditulis telah diintegrasikan ke dalam
paket aplikasi default, banyak pengguna mungkin tidak menyadari perbedaan
antara paket asli, dan apa yang telah ditambahkan oleh rekan kerja.
Eksekusi
Perangkat lunak komputer harus "dimuat" ke dalam
penyimpanan komputer (seperti hard drive atau memori ). Setelah perangkat lunak
telah dimuat, komputer mampu menjalankan perangkat lunak. Ini melibatkan
melewati instruksi dari software aplikasi , melalui perangkat lunak sistem,
perangkat keras yang akhirnya menerima instruksi sebagai kode mesin . Setiap
instruksi menyebabkan komputer untuk melakukan operasi - memindahkan data yang
, melaksanakan perhitungan , atau mengubah aliran kontrol instruksi.
Data pergerakan biasanya dari satu tempat dalam memori yang
lain. Kadang-kadang melibatkan data yang bergerak antara memori dan register
yang memungkinkan akses data kecepatan tinggi dalam CPU. Memindahkan data,
terutama dalam jumlah besar itu, bisa mahal. Jadi, ini kadang-kadang dihindari
dengan menggunakan "pointer" untuk data, bukan. Perhitungan mencakup
operasi sederhana seperti incrementing nilai elemen data variabel. Perhitungan
yang lebih kompleks mungkin melibatkan banyak operasi dan elemen data
bersama-sama.
Kualitas dan
keandalan
Perangkat Lunak kualitas sangat penting, terutama untuk
komersial software dan sistem seperti Microsoft Office , Microsoft Windows dan
Linux . Jika perangkat lunak rusak (kereta), itu dapat menghapus pekerjaan
seseorang, crash komputer dan melakukan hal-hal tak terduga lainnya. Kesalahan
dan kesalahan disebut " bug . " Banyak bug yang ditemukan dan
dieliminasi (debugged) melalui pengujian perangkat lunak . Namun, pengujian perangkat
lunak jarang - jika pernah - menghilangkan setiap bug, beberapa programmer
mengatakan bahwa "setiap program memiliki setidaknya satu lagi bug"
(Hukum Lubarsky s). Semua perusahaan software yang besar, seperti Microsoft,
Novell dan Sun Microsystems , memiliki departemen pengujian perangkat lunak
mereka sendiri dengan tujuan spesifik hanya menguji. Software dapat diuji
melalui unit testing , pengujian regresi dan metode lain, yang dilakukan secara
manual, atau paling sering, secara otomatis, karena jumlah kode yang akan diuji
dapat cukup besar. Misalnya, NASA memiliki prosedur pengujian perangkat lunak
yang sangat ketat untuk berbagai sistem operasi dan fungsi komunikasi. Banyak
operasi berbasis NASA berinteraksi dan mengidentifikasi satu sama lain melalui
program perintah yang disebut perangkat lunak. Hal ini memungkinkan banyak
orang yang bekerja di NASA untuk memeriksa dan mengevaluasi sistem fungsional
secara keseluruhan. Program yang berisi perangkat lunak perintah memungkinkan
rekayasa hardware dan sistem operasi untuk berfungsi lebih mudah bersama-sama.
Lisensi
Lisensi perangkat lunak memberikan pengguna hak untuk
menggunakan perangkat lunak dalam lingkungan berlisensi. Beberapa perangkat
lunak dilengkapi dengan lisensi ketika dibeli dari rak, atau lisensi OEM ketika
dibundel dengan hardware. Perangkat lunak lain datang dengan lisensi perangkat
lunak bebas , pemberian penerima hak untuk memodifikasi dan mendistribusikan
perangkat lunak. Software juga bisa dalam bentuk freeware atau shareware .
Paten
Software dapat dipatenkan di beberapa tapi tidak semua
negara, namun paten perangkat lunak dapat menjadi kontroversial di industri
perangkat lunak dengan banyak orang memegang pandangan yang berbeda tentang hal
itu. Kontroversi atas paten perangkat lunak adalah tentang spesifik algoritma
atau teknik bahwa perangkat lunak berisi, yang tidak dapat diduplikasi oleh
orang lain dan dianggap kekayaan intelektual dan pelanggaran hak cipta
tergantung pada keparahan.
Tidak ada komentar:
Posting Komentar