Jumat, 13 Desember 2013

Perangkat lunak Software


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