Diberdayakan oleh Blogger.

Blogroll

About

arhive gw

Blogger templates

Blogger news

Rabu, 07 November 2012

Komputer


Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Dalam arti seperti itu terdapat alat seperti slide rule, jenis kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang mengolah informasi" atau "sistem pengolah informasi." Selama bertahun-tahun sudah ada beberapa arti yang berbeda dalam kata "komputer", dan beberapa kata yang berbeda tersebut sekarang disebut disebut sebagai komputer.
Kata computer secara umum pernah dipergunakan untuk mendefiniskan orang yang melakukan perhitungan aritmatika, dengan atau tanpa mesin pembantu. Menurut Barnhart Concise Dictionary of Etymology, kata tersebut digunakan dalam bahasa Inggris pada tahun 1646 sebagai kata untuk "orang yang menghitung" kemudian menjelang 1897 juga digunakan sebagai "alat hitung mekanis". Selama Perang Dunia II kata tersebut menunjuk kepada para pekerja wanita Amerika Serikat dan Inggris yang pekerjaannya menghitung jalan artileri perang dengan mesin hitung.
Charles Babbage mendesain salah satu mesin hitung pertama yang disebut mesin analitikal. Selain itu, berbagai alat mesin sederhana seperti slide rule juga sudah dapat dikatakan sebagai komputer .
Jenis
Description: Global Digital Divide1.png
Sekalipun demikian, definisi di atas mencakup banyak alat khusus yang hanya bisa memperhitungkan satu atau beberapa fungsi. Ketika mempertimbangkan komputer modern, sifat mereka yang paling penting yang membedakan mereka dari alat menghitung yang lebih awal ialah bahwa, dengan pemrograman yang benar, semua komputer dapat mengemulasi sifat apa pun (meskipun barangkali dibatasi oleh kapasitas penyimpanan dan kecepatan yang berbeda), dan, memang dipercaya bahwa mesin sekarang bisa meniru alat perkomputeran yang akan kita ciptakan pada masa depan (meskipun niscaya lebih lambat). Dalam suatu pengertian, batas kemampuan ini adalah tes yang berguna karena mengenali komputer "maksud umum" dari alat maksud istimewa yang lebih awal. Definisi dari "maksud umum" bisa diformulasikan ke dalam syarat bahwa suatu mesin harus dapat meniru Mesin Turing universal. Mesin yang mendapat definisi ini dikenal sebagai Turing-lengkap, dan yang pertama mereka muncul pada tahun 1940 di tengah kesibukan perkembangan di seluruh dunia. Lihat artikel sejarah perkomputeran untuk lebih banyak detail periode ini.

Komputer benam
Pada sekitar 20 tahun yang lalu , banyak alat rumah tangga, khususnya termasuk panel dari permainan video tetapi juga mencakup telepon genggam, perekam kaset video, PDA dan banyak sekali dalam rumahtangga, industri, otomotif, dan alat elektronik lain, semua berisi sirkuit elektronik yang seperti komputer yang memenuhi syarat Turing-lengkap di atas (dengan catatan bahwa program dari alat ini seringkali dibuat secara langsung di dalam chip ROM yang akan perlu diganti untuk mengubah program mesin). Komputer maksud khusus lainnya secara umum dikenal sebagai "mikrokontroler" atau "komputer benam" (embedded computer). Oleh karena itu, banyak yang membatasi definisi komputer kepada alat yang maksud pokoknya adalah pengolahan informasi, daripada menjadi bagian dari sistem yang lebih besar seperti telepon, oven mikrowave, atau pesawat terbang, dan bisa diubah untuk berbagai maksud oleh pemakai tanpa modifikasi fisik. Komputer kerangka utama, minikomputer, dan komputer pribadi (PC) adalah macam utama komputer yang mendapat definisi ini.
Komputer pribadi
Description: !Artikel utama untuk bagian ini adalah: Komputer pribadi
Komputer pribadi atau personal computer (PC) adalah istilah untuk komputer yang dikenal dan diketahui orang pada umumnya sehingga banyak orang yang tak akrab dengan bentuk komputer lainnya. Hanya orang-orang tertentu saja yang memakai istilah ini secara eksklusif untuk menunjukkan istilah yang lebih spesifik dan tepat.
Bagaimana komputer bekerja
Saat teknologi yang dipakai pada komputer digital sudah berganti secara dramatis sejak komputer pertama pada tahun 1940-an (lihat Sejarah perangkat keras menghitung untuk lebih banyak detail), komputer kebanyakan masih menggunakan arsitektur Von Neumann, yang diusulkan pada awal 1940-an oleh John von Neumann.
Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, "bus"
Memori
Description: http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/RAM_n.jpg/200px-RAM_n.jpg
Description: http://bits.wikimedia.org/static-1.21wmf2/skins/common/images/magnify-clip.png
modul memori RAM
Di sistem ini, memori adalah urutan byte yang dinomori (seperti "sel" atau "lubang burung dara"), masing-masing berisi sepotong kecil informasi. Informasi ini mungkin menjadi perintah untuk mengatakan pada komputer apa yang harus dilakukan. Sel mungkin berisi data yang diperlukan komputer untuk melakukan suatu perintah. Setiap slot mungkin berisi salah satu, dan apa yang sekarang menjadi data mungkin saja kemudian menjadi perintah.
Memori menyimpan berbagai bentuk informasi sebagai angka biner. Informasi yang belum berbentuk biner akan dipecahkan (encoded) dengan sejumlah instruksi yang mengubahnya menjadi sebuah angka atau urutan angka-angka. Sebagai contoh: Huruf F disimpan sebagai angka desimal 70 (atau angka biner) menggunakan salah satu metode pemecahan. Instruksi yang lebih kompleks bisa digunakan untuk menyimpan gambar, suara, video, dan berbagai macam informasi. Informasi yang bisa disimpan dalam satu sell dinamakan sebuah byte.
Secara umum, memori bisa ditulis kembali lebih jutaan kali - memori dapat diumpamakan sebagai papan tulis dan kapur yang dapat ditulis dan dihapus kembali, daripada buku tulis dengan pena yang tidak dapat dihapus.
Ukuran masing-masing sel, dan jumlah sel, berubah secara hebat dari komputer ke komputer, dan teknologi dalam pembuatan memori sudah berubah secara hebat - dari relay elektromekanik, ke tabung yang diisi dengan air raksa (dan kemudian pegas) di mana pulsa akustik terbentuk, sampai matriks magnet permanen, ke setiap transistor, ke sirkuit terpadu dengan jutaan transistor di atas satu chip silikon.
Pemrosesan
Unit Pengolah Pusat atau CPU (Central processing Unit) berperan untuk memproses perintah yang diberikan oleh pengguna komputer, mengelolanya bersama data-data yang ada di komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storage untuk melaksanakan instruksi yang saling terkait.
Contoh sebuah CPU dalam kemasan Ball Grid Array (BGA) ditampilkan terbalik dengan menunjukkan kaki-kakinya.
Dalam arsitektur von Neumann yang asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu (IC - Integrated Circuit), yang biasanya disebut CPU (Central Processing Unit).
Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang sebenarnya.
Unit kontrol menyimpan perintah saat ini yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapatkan kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Unit ini berfungsi mengontrol pembacaan instruksi program komputer.
Masukan dan hasil
I/O membolehkan komputer mendapatkan informasi dari dunia luar, dan menaruh hasil kerjanya di sana, dapat berbentuk fisik (hardcopy) atau non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard, monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web, pencetak, pemindai, dan sebagainya.
Yang dimiliki oleh semua alat masukan biasa ialah bahwa mereka meng-encode (mengubah) informasi dari suatu macam ke dalam data yang bisa diolah lebih lanjut oleh sistem komputer digital. Alat output, men-decode data ke dalam informasi yang bisa dimengerti oleh pemakai komputer. Dalam pengertian ini, sistem komputer digital adalah contoh sistem pengolah data.
Instruksi
Perintah yang dibicarakan di atas bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai perintah sederhana dalam jumlah terbatas yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".
Instruksi diwakili dalam komputer sebagai nomor - kode untuk "menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam praktiknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman "tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi)
Arsitektur
Komputer kontemporer menaruh ALU dan unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Unit Pemroses Sentral atau CPU. Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat UPS. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.
Beberapa komputer yang lebih besar berbeda dari model di atas di satu hal utama - mereka mempunyai beberapa UPS dan unit kontrol yang bekerja secara bersamaan. Terlebih lagi, beberapa komputer, yang dipakai sebagian besar untuk maksud penelitian dan perkomputeran ilmiah, sudah berbeda secara signifikan dari model di atas, tetapi mereka sudah menemukan sedikit penggunaan komersial.
Fungsi dari komputer secara prinsip sebenarnya cukup sederhana. Komputer mencapai perintah dan data dari memorinya. Perintah dilakukan, hasil disimpan, dan perintah berikutnya dicapai. Prosedur ini berulang sampai komputer dimatikan.
Program
Program komputer adalah daftar besar perintah untuk dilakukan oleh komputer, barangkali dengan data di dalam tabel. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Sebuah komputer pribadi modern yang umum (pada tahun 2003) bisa melakukan sekitar 2-3 miliar perintah dalam sedetik. Komputer tidak mendapat kemampuan luar biasa mereka lewat kemampuan untuk melakukan perintah kompleks. Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang pandai, pemrogram. "Programmer Baik memperkembangkan set-set perintah untuk melakukan tugas biasa (misalnya, menggambar titik di layar) dan lalu membuat set-set perintah itu tersedia kepada programmer lain." Dewasa ini, kebanyakan komputer kelihatannya melakukan beberapa program sekaligus. Ini biasanya diserahkan ke sebagai tugas ganda. Pada kenyataannya, UPS melakukan perintah dari satu program, kemudian setelah beberapa saat, UPS beralih ke program kedua dan melakukan beberapa perintahnya. Jarak waktu yang kecil ini sering diserahkan ke sebagai irisan waktu (time-slice). Ini menimbulkan khayal program lipat ganda yang dilakukan secara bersamaan dengan memberikan waktu UPS di antara program. Ini mirip bagaimana film adalah rangkaian kilat saja masih membingkaikan. Sistem operasi adalah program yang biasanya menguasai kali ini membagikan
Sistem operasi
Sistem operasi ialah semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh beraneka-ragam program komputer, setelah bertahun-tahun, pemrogram (programmer) akhirnya memindahkannya ke dalam sistem operasi.
Sistem operasi, menentukan program mana yang akan dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan layanan (service) kepada program lain, seperti kode yang membolehkan pemrogram untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung pada komputer.
Penggunaan komputer
Description: http://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Computerkids.jpg/250px-Computerkids.jpg
Description: http://bits.wikimedia.org/static-1.21wmf2/skins/common/images/magnify-clip.png
Anak-anak sedang belajar penggunaan komputer bersama sang guru.
Komputer digital pertama, memiliki ukuran yang besar dan membutuhkan biaya besar untuk pembuatannya. Komputer pada masa itu umumnya digunakan untuk mengerjakan perhitungan ilmiah. ENIAC, komputer awal AS semula didesain untuk memperhitungkan tabel ilmu balistik untuk persenjataan (artileri), menghitung kerapatan penampang neutron untuk melihat jika bom hidrogen akan bekerja dengan semestinya (perhitungan ini, yang dilakukan pada Desember 1945 sampai Januari 1946 dan melibatkan dala dalam lebih dari satu juta kartu punch, memperlihatkan bentuk lalu di bawah pertimbangan akan gagal). CSIR Mk 1/CSIRAC, komputer pertama Australia, mengevaluasi pola curah hujan untuk tempat penampungan dari Snowy Mountains, suatu proyek pembangkitan Hidroelektrik besar. Selain itu juga dipakai dalam kriptanalisis, misalnya komputer elektronik digital yang pertama, Colossus, dibuat selama Perang Dunia II. Akan tetapi, visionaris awal juga menyangka bahwa pemrograman itu akan membolehkan main catur, memindahkan gambar dan penggunaan lain.
Orang-orang di pemerintah dan perusahaan besar juga memakai komputer untuk mengotomasikan banyak koleksi data dan mengerjakan tugas yang sebelumnya dikerjakan oleh manusia - misalnya, memelihara dan memperbarui rekening dan inventaris. Dalam bidang pendidikan, ilmuwan di berbagai bidang mulai memakai komputer untuk analisis mereka sendiri. Penurunan harga komputer membuat mereka dapat dipakai oleh organisasi yang lebih kecil. Bisnis, organisasi, dan pemerintah sering menggunakan amat banyak komputer kecil untuk menyelesaikan tugas bahwa dulunya dilakukan oleh komputer kerangka utama yang mahal dan besar. Kumpulan komputer yang lebih kecil di satu lokasi diserahkan ke sebagai perkebunan server.
Dengan penemuan mikroprosesor di 1970-an, menjadi mungkin menghasilkan komputer yang sangat murah. PC menjadi populer untuk banyak tugas, termasuk menyimpan buku, menulis dan mencetak dokumen. Perhitungan meramalkan dan lain berulang matematika dengan lembatang sebar, berhubungan dengan e-pos dan, Internet. Namun, ketersediaan luas komputer dan mudah customization sudah melihat mereka dipakai untuk banyak maksud lain.
Sekaligus, komputer kecil, biasanya dengan mengatur memrogram, mulai menemukan cara mereka ke dalam alat lain seperti peralatan rumah, mobil, pesawat terbang, dan perlengkapan industri. Yang ini prosesor benam menguasai kelakuan alat seperti itu yang lebih mudah, membolehkan kelakuan kontrol yang lebih kompleks (untuk kejadian, perkembangan anti-kunci rem di mobil). Saat abad kedua puluh satu dimulai, kebanyakan alat listrik, kebanyakan bentuk angkutan bertenaga, dan kebanyakan batas produksi pabrik dikuasai di samping komputer. Kebanyakan insinyur meramalkan bahwa ini cenderung kepada akan terus.
Bagian-bagian komputer
Komputer terdiri atas 2 bagian besar yaitu perangkat lunak (software) dan perangkat keras (hardware).
Perangkat keras
  • Pemroses atau CPU sebagai unit yang mengolah data
  • Memori RAM, tempat menyimpan data sementara
  • Hard drive, media penyimpanan semi permanen
  • Perangkat masukan, media yang digunakan untuk memasukkan data untuk diproses oleh UPS, seperti mouse, keyboard, dan tablet
  • Perangkat keluaran, media yang digunakan untuk menampilkan hasil keluaran pemrosesan CPU, seperti monitor,speaker,plotter,proyektor dan printer
Perangkat lunak
  • Sistem operasi
    Program dasar pada komputer yang menghubungkan pengguna dengan hardware komputer. Sistem operasi yang biasa digunakan adalah
    Linux, Windows, dan Mac OS. Tugas sistem operasi termasuk (namun tidak hanya) mengatur eksekusi program di atasnya, koordinasi input, output, pemrosesan, memori, serta instalasi software.
  • Program komputer
    Merupakan aplikasi tambahan yang dipasang sesuai dengan sistem operasinya
Slot pada komputer
  • ISA/PCI, slot untuk masukan kartu tambahan non-grafis
  • AGP/PCIe, slot untuk masukan kartu tambahan grafis
  • IDE/SCSI/SATA, slot untuk hard drive/ODD
  • USB, slot untuk masukan media plug-and-play (colok dan mainkan, artinya perangkat yang dapat dihubungkan ke komputer dan langsung dapat digunakan)
Jenis komputer

Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2]
Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
History
For the history prior to 1946, see History of computing hardware.

This section may need to be rewritten entirely to comply with Wikipedia's quality standards. You can help. The discussion page may contain suggestions. (January 2012)
The first theory about software was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (decision problem).[3] Colloquially, the term is often used to mean application software. In computer science and software engineering, software is all information processed by computer system, programs and data. The academic fields studying software are computer science and software engineering.
As more and more programs enter the realm of firmware, and the hardware itself becomes smaller, cheaper and faster as predicted by Moore's law, elements of computing first considered to be software, join the ranks of hardware. Most hardware companies today have more software programmers on the payroll than hardware designers[citation needed], since software tools have automated many tasks of Printed circuit board engineers. Just like the Auto industry, the Software industry has grown from a few visionaries operating out of their garage with prototypes. Steve Jobs and Bill Gates were the Henry Ford and Louis Chevrolet of their times[citation needed], who capitalized on ideas already commonly known before they started in the business. In the case of Software development, this moment is generally agreed to be the publication in the 1980s of the specifications for the IBM Personal Computer published by IBM employee Philip Don Estridge. Today his move would be seen as a type of crowd-sourcing.
Until that time, software was bundled with the hardware by Original equipment manufacturers (OEMs) such as Data General, Digital Equipment and IBM[citation needed]. When a customer bought a minicomputer, at that time the smallest computer on the market, the computer did not come with Pre-installed software, but needed to be installed by engineers employed by the OEM. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Most companies had their software on the books for 0 dollars, unable to claim it as an asset (this is similar to financing of popular music in those days). When Data General introduced the Data General Nova, a company called Digidyne wanted to use its RDOS operating system on its own hardware clone. Data General refused to license their software (which was hard to do, since it was on the books as a free asset), and claimed their "bundling rights". The Supreme Court set a precedent called Digidyne v. Data General in 1985. The Supreme Court let a 9th circuit decision stand, and Data General was eventually forced into licensing the Operating System software because it was ruled that restricting the license to only DG hardware was an illegal tying arrangement.[4] Unable to sustain the loss from lawyer's fees, Data General ended up being taken over by EMC Corporation. The Supreme Court decision made it possible to value software, and also purchase Software patents.
There are many successful companies today that sell only software products, though there are still many common software licensing problems due to the complexity of designs and poor documentation, leading to patent trolls.
With open software specifications and the possibility of software licensing, new opportunities arose for software tools that then became the de facto standard, such as DOS for operating systems, but also various proprietary word processing and spreadsheet programs. In a similar growth pattern, proprietary development methods became standard Software development methodology.
Types of software
Description: http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Operating_system_placement.svg/220px-Operating_system_placement.svg.png
Description: http://bits.wikimedia.org/static-1.21wmf2/skins/common/images/magnify-clip.png
A layer structure showing where the operating system software and application software are situated while running on a typical desktop computer
Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter, or whether it represents other kinds of information. Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages, scripting languages, microcode, or an FPGA configuration.
The types of software include web pages developed in languages and frameworks like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice.org, Microsoft Word developed in languages like C, C++, Objective-C, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics.
Practical computer systems divide software systems into three major classes[citation needed]: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
System software
Main article: System software
System software is computer software designed to operate the computer hardware, to provide basic functionality, and to provide a platform for running application software.[5][6] System software includes device drivers, operating systems, servers, utilities, and window systems.
System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.
Programming software
Main article: Programming tool
Programming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions.
Application software
Main article: Application software
Application software is developed to perform in any task that benefits from computation. It is a set of programs that allows the computer to perform a specific data processing job for the user. It is a broad category, and encompasses software of many kinds, including the internet browser being used to display this page.
Software topics
Architecture
Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.
  • Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.
  • Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.
  • User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates and word processor templates. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.
Documentation
Main article: Software documentation
Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without clear documentation, software can be hard to use—especially if it is very specialized and relatively complex like Photoshop or AutoCAD.
Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.
Library
Main article: Software library
An executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.
Standard
Main article: Software standard
Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.
Execution
Main article: Execution (computing)
Computer software has to be "loaded" into the computer's storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions.
Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.
Quality and reliability
Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together.
License
Main article: Software license
The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.
Patents
Software can be patented in some but not all countries; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is about specific algorithms or techniques that the software contains, which may not be duplicated by others and considered intellectual property and copyright infringement depending on the severity.
Design and implementation
Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much more time than designing and developing Microsoft Notepad because of the difference in functionalities in each one.
Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs and Microsoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designing enterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundation is used for designing web services. Underlying computer programming concepts like quicksort, hashtable, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs like Form1.Close() and Form1.Show()[7] to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them.
Computer software has special economic characteristics that make its design, creation, and distribution different from most other economic goods.[specify][8][9]
A person who creates software is called a programmer, software engineer, software developer, or "code monkey", terms that all have a similar meaning.
Industry and organizations
Main article: Software industry
A great variety of software companies and programmers in the world comprise a software industry. Software can be quite a profitable industry: Bill Gates, the founder of Microsoft was the richest person in the world in 2009 largely by selling the Microsoft Windows and Microsoft Office software products. The same goes for Larry Ellison, largely through his Oracle database software. Through time the software industry has become increasingly specialized.
Non-profit software organizations include the Free Software Foundation, GNU Project and Mozilla Foundation. Software standard organizations like the W3C, IETF develop software standards so that most software can interoperate through standards such as XML, HTML, HTTP or FTP.
Other well-known large software companies include Novell, SAP, Symantec, Adobe Systems, and Corel, while small companies often provide innovation

0 komentar:

Posting Komentar