Hubungan dengan Komputer Hardware

Perangkat lunak komputer yang disebut kontras dengan perangkat keras komputer, yang meliputi interkoneksi fisik dan perangkat yang diperlukan untuk menyimpan dan melaksanakan (atau menjalankan) perangkat lunak. Dalam komputer, perangkat lunak dimuat ke dalam RAM dan dieksekusi di unit pengolah pusat. Pada tingkat terendah, perangkat lunak terdiri dari mesin bahasa yang spesifik untuk prosesor individu. Sebuah bahasa mesin terdiri dari kelompok nilai biner menandakan instruksi prosesor (object code), yang mengubah keadaan komputer dari negara yang sebelumnya. Perangkat Lunak adalah memerintahkan urutan instruksi untuk mengubah keadaan perangkat keras komputer dalam urutan tertentu. Hal 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. Tinggi tingkat bahasa yang dikompilasi atau ditafsirkan ke dalam kode mesin bahasa pemrograman. Perangkat lunak juga dapat ditulis dalam bahasa assembly, pada dasarnya, sebuah representasi mnemonik dari bahasa mesin menggunakan alfabet bahasa alami. Majelis bahasa harus dirakit menjadi kode obyek melalui assembler.



Istilah "perangkat lunak" pertama kali digunakan dalam pengertian oleh John W. Tukey pada tahun 1958. [2] Dalam ilmu komputer dan rekayasa perangkat lunak, perangkat lunak komputer adalah semua program komputer. Konsep membaca yang berbeda urutan instruksi ke dalam memori perangkat untuk perhitungan kontrol ditemukan oleh Charles Babbage sebagai bagian dari mesin perbedaannya. Teori yang menjadi dasar untuk perangkat lunak yang paling modern ini pertama kali diusulkan oleh Alan Turing pada tahun 1935 esainya nomor Computable dengan aplikasi ke Entscheidungsproblem. [3]



[Sunting] Tiga lapisan



Mulai tahun 1980-an, perangkat lunak aplikasi telah dijual dalam paket yang diproduksi secara massal melalui retailersUsers sering melihat hal-hal yang berbeda dari pemrogram. Orang yang menggunakan komputer modern tujuan umum (sebagai lawan dari embedded system, komputer analog, superkomputer, dll) biasanya melihat tiga lapisan perangkat lunak melakukan berbagai tugas: platform, aplikasi, dan perangkat lunak pengguna.



Platform perangkat lunak



Platform meliputi firmware, device driver, sistem operasi, dan biasanya antarmuka pengguna grafis yang, secara keseluruhan, memungkinkan pengguna untuk berinteraksi dengan komputer dan aksesorinya (terkait peralatan). Platform perangkat lunak sering dilengkapi dengan komputer, dan pengguna mungkin tidak menyadari bahwa itu ada atau bahwa mereka memiliki pilihan untuk menggunakan perangkat lunak platform yang berbeda.



Aplikasi perangkat lunak



Aplikasi perangkat lunak atau Aplikasi adalah apa yang kebanyakan orang pikirkan ketika mereka berpikir tentang perangkat lunak. Contoh-contoh khas termasuk suite kantor dan permainan video. 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 hampir selalu 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.



Pengguna perangkat lunak ditulis



Pengguna perangkat lunak jahit sistem untuk memenuhi kebutuhan spesifik pengguna. Pengguna perangkat lunak termasuk template spreadsheet, pengolah kata makro, simulasi ilmiah, grafis dan animasi script. Bahkan filter email semacam perangkat lunak pengguna. Pengguna dapat membuat perangkat lunak sendiri dan sering mengabaikan betapa pentingnya. Tergantung pada bagaimana menguasai perangkat lunak yang ditulis pengguna-telah diintegrasikan ke dalam paket aplikasi dibeli, banyak pengguna mungkin tidak menyadari perbedaan antara paket-paket yang dibeli, dan apa yang telah ditambahkan oleh rekan-rekan kerja.