Kegunaan Software Pada Komputer. 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 .
Jenis perangkat lunak
Software meliputi beragam produk yang dapat dikembangkan dengan menggunakan teknik yang berbeda seperti biasa bahasa pemrograman, microcode, atau FPGA konfigurasi. Pada hampir semua platform komputer, perangkat lunak dapat dikelompokkan ke dalam beberapa kategori:
- Sistem perangkat lunak adalah perangkat lunak komputer yang dirancang untuk mengoperasikan perangkat keras komputer , untuk menyediakan fungsionalitas dasar, dan untuk menyediakan platform untuk menjalankan aplikasi perangkat lunak. Sistem perangkat lunak termasuk driver perangkat, sistem operasi, server, utilitas, dan sistem jendela.
- Sistem perangkat lunak juga mencakup booting firmware , yang beban (atau dalam beberapa kasus merupakan) sistem operasi. Firmware adalah perangkat lunak yang telah disimpan secara permanen dalam perangkat keras (khususnya, dalam memori non-volatile ). Dengan demikian, ia memiliki kualitas baik perangkat lunak dan perangkat keras, tetapi perangkat lunak masih.
- Aplikasi perangkat lunak dan skrip
secara historis didefinisikan sebagai semua perangkat lunak yang
menggunakan sistem komputer untuk melakukan pekerjaan yang berguna (atau
fungsi hiburan ) di luar operasi dasar komputer itu sendiri.
Namun, dalam prakteknya perbedaan antara perangkat lunak sistem dan
perangkat lunak aplikasi sering kabur karena bundling aplikasi yang
berguna dengan sistem operasi.
- Aplikasi perangkat lunak termasuk aplikasi desktop seperti browser web dan Microsoft Office , serta smartphone dan tablet aplikasi (disebut " apps ").
- Javascript skrip buah perangkat lunak tradisional tertanam dalam halaman web yang dijalankan secara langsung di dalam web browser ketika halaman web dimuat, tanpa perlu plugin browser web. Software yang ditulis dalam bahasa pemrograman lain juga dapat dijalankan dalam browser web jika perangkat lunak adalah baik diterjemahkan ke dalam Javascript, atau jika sebuah plugin web browser yang mendukung bahasa yang diinstal, contoh yang paling umum dari yang terakhir adalah ActionScript script, yang didukung oleh Adobe Flash Plugin.
- Aplikasi Web biasanya berjalan pada web server dan output halaman web yang dihasilkan secara dinamis untuk web browser, misalnya menggunakan PHP , Java atau ASP.NET , atau bahkan Javascript yang berjalan pada server , di zaman modern mereka umumnya mencakup beberapa Javascript untuk dijalankan di browser web juga, dalam hal ini mereka biasanya berjalan sebagian pada server, sebagian di browser web.
- Plugins dan ekstensi perangkat lunak yang meluas atau memodifikasi fungsi software lain, dan memerlukan perangkat lunak yang dapat digunakan untuk fungsi;
- Embedded software berada sebagai firmware dalam embedded system , perangkat yang didedikasikan untuk penggunaan tunggal atau beberapa keperluan seperti mobil dan televisi (meskipun beberapa perangkat embedded seperti chipset nirkabel dapat sendiri menjadi bagian dari, sistem komputer non-tertanam biasa seperti PC atau smartphone ). [4] Dalam konteks sistem tertanam di sana kadang-kadang ada perbedaan yang jelas antara perangkat lunak sistem dan perangkat lunak aplikasi. Namun, beberapa embedded system menjalankan sistem operasi embedded , dan sistem ini mempertahankan perbedaan antara perangkat lunak sistem dan perangkat lunak aplikasi (meskipun biasanya hanya akan ada satu, tetap, aplikasi yang selalu berlari).
- Microcode adalah, jenis yang relatif jelas khusus dari perangkat lunak tertanam yang memberitahu prosesor itu sendiri bagaimana untuk mengeksekusi kode mesin, sehingga sebenarnya tingkat yang lebih rendah daripada kode mesin. [5] Hal ini biasanya eksklusif untuk produsen prosesor, dan setiap microcode pemasyarakatan diperlukan pembaruan perangkat lunak diberikan oleh mereka kepada pengguna (yang jauh lebih murah daripada pengiriman prosesor penggantian hardware). Dengan demikian seorang programmer biasa tidak akan pernah berharap untuk harus berurusan dengan itu.
Tool pemrograman
Artikel utama: Pemrograman tool
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.
Topik Software
Arsitektur
Lihat juga: arsitektur Software
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 Anda 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
Artikel utama: Eksekusi (komputasi)
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
Artikel utama: kualitas Software , Software pengujian , dan Software 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
Artikel utama: lisensi Software
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
Artikel utama: paten Software dan Software debat 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.
Desain dan implementasi
Desain dan implementasi perangkat lunak bervariasi tergantung pada kompleksitas perangkat lunak. Misalnya, desain dan penciptaan Microsoft Word perangkat lunak akan mengambil lebih banyak waktu daripada merancang dan mengembangkan Microsoft Notepad karena perbedaan dalam fungsi di masing-masing.
Software biasanya dirancang dan dibuat (kode / ditulis / diprogram) di lingkungan pengembangan terpadu (IDE) seperti Eclipse , Emacs dan Microsoft Visual Studio yang dapat menyederhanakan proses dan mengkompilasi program. Seperti disebutkan dalam bagian yang berbeda, perangkat lunak biasanya dibuat di atas perangkat lunak yang ada dan antarmuka pemrograman aplikasi (API) yang menyediakan perangkat lunak yang seperti GTK +, JavaBeans atau swing. Perpustakaan (API) dikategorikan untuk tujuan yang berbeda. Misalnya, JavaBeans perpustakaan digunakan untuk merancang aplikasi perusahaan, Windows Forms perpustakaan digunakan untuk merancang antarmuka pengguna grafis (GUI) aplikasi seperti Microsoft Word, dan Windows Communication Foundation digunakan untuk merancang layanan web.
Underlying pemrograman komputer konsep seperti quicksort, tabel hash, berbagai, dan pohon biner dapat berguna untuk menciptakan perangkat lunak. Ketika program ini dirancang, hal itu bergantung pada API. Misalnya, jika pengguna adalah merancang aplikasi desktop Microsoft Windows, ia / dia mungkin menggunakan. NET Windows Forms perpustakaan untuk merancang aplikasi desktop dan panggil API-nya seperti Form1.Close () dan Form1.show () untuk menutup atau membuka aplikasi dan menulis operasi tambahan dia / dirinya sendiri bahwa ia perlu memiliki. Tanpa API ini, pemrogram perlu menulis API ini dia / dirinya sendiri. Perusahaan seperti Sun Microsystems, Novell , dan Microsoft menyediakan API mereka sendiri sehingga banyak aplikasi yang ditulis menggunakan mereka perpustakaan software yang biasanya memiliki banyak API di dalamnya.
Perangkat lunak komputer memiliki karakteristik ekonomi khusus yang
membuat desain, pembuatan, dan distribusi yang berbeda dari kebanyakan
barang ekonomi lainnya. Seseorang yang menciptakan software disebut programmer , insinyur perangkat lunak atau pengembang perangkat lunak , istilah yang semua memiliki arti yang sama. Kegunaan Software Pada Komputer.
Tidak ada komentar:
Posting Komentar