Tuesday, December 29, 2009

Computer software

Computer software, or just software is a general term primarily used for digitally stored data such as computer programs and other kinds of information read and written by computers. Today, this includes data that has not traditionally been associated with computers, such as film, tapes and records.[1] The term was coined in order to contrast to the old term hardware (meaning physical devices); in contrast to hardware, software is intangible, meaning it "cannot be touched".[2] . Software is also sometimes used in a more narrow sense, meaning application software only.

Examples:

* Application software, such as word processors which perform productive tasks for users.
* Firmware, which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers.
* Middleware, which controls and co-ordinates distributed systems.
* System software such as operating systems, which interface with hardware to provide the necessary services for application software.
* Software testing is a domain dependent of development and programming. Software testing consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group.
* Testware, which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.
* Video games (except the hardware part)
* Websites

Overview

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, Microsoft Word developed in languages like C, 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.

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.

The term "software" was first used in this sense by John W. Tukey in 1958. In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.

Software Characteristics

# Software is developed and engineered.
# Software doesn't "wear-out".
# Most software continues to be custom built.

Types of software
Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.

System software

System software helps run the computer hardware and computer system. It includes a combination of the following:

* device drivers
* operating systems
* servers
* utilities
* windowing systems

The purpose of systems software is to unburden the applications 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. Examples are- Windows XP, Linux, and Mac OS X.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

* compilers
* debuggers
* interpreters
* linkers
* text editors

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

* compilers
* debuggers
* interpreters
* linkers
* text editors

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Software topics
Architecture
See also: Software 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, word processor [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. 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 a clear documentation, software can be hard to use—especially if it is a very specialized and relatively complex software like the 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.File:Software.jpg

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 a [hard drive], memory, or RAM). 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
Main articles: Software quality, Software testing, and Software 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
Main articles: Software patent and Software patent debate

Software can be patented; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is that a specific algorithm or technique that the software has may not be duplicated by others and is considered an intellectual property and copyright infringement depending on the severity. Some people believe that software patent hinder software development, while others argue that software patents provide an important incentive to spur software innovation.

Design and implementation
Main articles: Software development, Computer programming, and Software engineering

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 longer 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()[5] 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.

Software has special economic characteristics that make its design, creation, and distribution different from most other economic goods.[6][7] A person who creates software is called a programmer, software engineer, software developer, or code monkey, terms that all essentially have a same meaning.

Industry and organizations
Main article: Software industry

Software has its own niche industry that is called the software industry made up of different entities and peoples that produce software, and as a result there are many software companies and programmers in the world. Because software is increasingly used in many different areas like in finance, searching, mathematics, space exploration, gaming and mining and such, software companies and people usually specialize in certain areas. For instance, Electronic Arts primarily creates video games.

Also selling software can be quite a profitable industry. For instance, Bill Gates, the founder of Microsoft is the richest person in the world in 2009 largely by selling the Microsoft Windows and Microsoft Office software programs. The same goes for Larry Ellison, largely through his Oracle database software.

There are also many non-profit software organizations like the Free Software Foundation, GNU Project, Mozilla Foundation. Also there are many software standard organizations like the W3C, IETF and others that try to come up with a software standard so that many software can work and interoperate with each other like through standards such as XML, HTML, HTTP or FTP.

Some of the well known software companies include Microsoft, Oracle, Novell, SAP, Symantec, Adobe Systems, and Corel.

Monday, September 14, 2009

TUGAS ARSITKOM DAN PEMBAGIAN KELOMPOK

Tugas Individu

Batas Pengumpulan Minggu Terakhir Bulan September 2009

- Menggambar / sket motherboard sebuah PC beserta spesifikasi dan fungsinya.

Contoh :

Keterangan ;

1.DDRAM Spesifikasi 256 MB Visipro Fungsi Sebagai Memori…

Tugas Kelompok

Batas Pengumpulan Minggu Pertama Bulan Oktober 2009

Membuat resume / makalah mengenai materi arsitkom dijilid.

Referensi :

1. William Stallings,”Organisasi dan arsitektur komputer, perancangan kinerja “,PT Prenhallindo,Jakarta

2. Sumber-sumber lain dari internet.

Kelas KLP NO NIM Materi Sub Materi
A 1 1 2004-53- 050 STRUKTUR • Komponen komputer


2 2007-53- 001 INTERKONEKSI • Fungsi komputer


3 2007-53- 002 KOMPUTER • Struktur interkoneksi


4 2007-53- 003
• Interkoneksi bus


5 2007-53- 005

A 2 1 2007-53- 006 SISTEM Program komputer yang tersimpan


2 2007-53- 008 KOMPUTER • Sistem mikroprosesor


3 2007-53- 009
• Pengembangan arsitektural


4 2007-53- 010



5 2007-53- 011

A 3 1 2007-53- 014 MEMORI INTERNAL Sistem memori komputer


2 2007-53- 015 DAN EKSTERNAL Memori utama


3 2007-53- 017
• Memori cache


4 2007-53- 018
• Organisasi DRAM


5 2007-53- 019
Jenis memori eksternal
A 4 1 2007-53- 020 INPUT DAN • Perangkat eksternal


2 2007-53- 021 OUTPUT Jenis pengaksesan I/O


3 2007-53- 022
• Saluran I/O


4 2007-53- 023
• Interface eksternal


5 2007-53- 025

A 5 1 2007-53- 026 DUKUNGAN Sekilas mengenai sistem operasi


2 2007-53- 027 SISTEM OPERASI • Penjadwalan


3 2007-53- 029
• Manajemen memori


4 2007-53- 030



5 2007-53- 031

A 6 1 2007-53- 032 STRUKTUR DAN • Organisasi prosesor


2 2007-53- 035 FUNGSI CENTRAL • Organisasi register


3 2007-53- 036 PROCESSING UNIT • Siklus instruksi


4 2007-53- 038 (CPU) • Pipelining instruksi


5 2007-53- 039

A 7 1 2007-53- 040 ARSITEKTUR Keluarga IBM PC dan turunannya


2 2007-53- 041 KELUARGA Organisasi mikrokomputer dasar


3 2007-53- 042 KOMPUTER IBM PC • Komponen IBM PC


4 2007-53- 043
Sistem perangkat lunak


5 2007-53- 044
Manfaat arsitektur PC
A 8 1 2007-53- 045 PIPELINING DAN • Pipelining


2 2007-53- 047 RISC Prosesor vector pipelining


3 2007-53- 048
Reduced Instruction Set Computer


4 2007-53- 049
(RISC)


5 2007-53- 050

A 9 1 2007-53- 051 PROSESOR • Jaringan interkoneksi


2 2007-53- 053 PARALEL • Mesin SIMD


3 2007-53- 063
• Mesin MIMD


4 2007-53- 070
• Arsitektur pengganti


5 2007-53- 081

A 10 1 2007-53- 083 SISTEM Penggunaan bersama sebuah bus


2 2007-53- 085 MULTIPROSESOR • Mekanisme prioritas


3 2007-53- 163 BERBASIS BUS Kinerja darijaringan bus tunggal


4 2007-53- 235
Sistem dan bus local


5 2008-53- 297

B 1 1 2007-53- 034 STRUKTUR • Komponen komputer


2 2007-53- 055 INTERKONEKSI • Fungsi komputer


3 2007-53- 056 KOMPUTER • Struktur interkoneksi


4 2007-53- 057
• Interkoneksi bus


5 2007-53- 060

B 2 1 2007-53- 064 SISTEM Program komputer yang tersimpan


2 2007-53- 065 KOMPUTER • Sistem mikroprosesor


3 2007-53- 067
• Pengembangan arsitektural


4 2007-53- 068



5 2007-53- 069

B 3 1 2007-53- 071 MEMORI INTERNAL Sistem memori komputer


2 2007-53- 073 DAN EKSTERNAL Memori utama


3 2007-53- 074
• Memori cache


4 2007-53- 075
• Organisasi DRAM


5 2007-53- 077
Jenis memori eksternal
B 4 1 2007-53- 079 INPUT DAN • Perangkat eksternal


2 2007-53- 084 OUTPUT Jenis pengaksesan I/O


3 2007-53- 087
• Saluran I/O


4 2007-53- 092
• Interface eksternal


5 2007-53- 093

B 5 1 2007-53- 096 DUKUNGAN Sekilas mengenai sistem operasi


2 2007-53- 099 SISTEM OPERASI • Penjadwalan


3 2007-53- 100
• Manajemen memori


4 2007-53- 121



5 2007-53- 130

B 6 1 2007-53- 137 STRUKTUR DAN • Organisasi prosesor


2 2007-53- 138 FUNGSI CENTRAL • Organisasi register


3 2007-53- 139 PROCESSING UNIT • Siklus instruksi


4 2007-53- 145 (CPU) • Pipelining instruksi


5 2007-53- 146

B 7 1 2007-53- 147 ARSITEKTUR Keluarga IBM PC dan turunannya


2 2007-53- 154 KELUARGA Organisasi mikrokomputer dasar


3 2007-53- 157 KOMPUTER IBM PC • Komponen IBM PC


4 2007-53- 158
Sistem perangkat lunak


5 2007-53- 159
Manfaat arsitektur PC
B 8 1 2007-53- 160 PIPELINING DAN • Pipelining


2 2007-53- 164 RISC Prosesor vector pipelining


3 2007-53- 168
Reduced Instruction Set Computer


4 2007-53- 173
(RISC)


5 2007-53- 176

B 9 1 2007-53- 184 PROSESOR • Jaringan interkoneksi


2 2007-53- 193 PARALEL • Mesin SIMD


3 2007-53- 195
• Mesin MIMD


4 2007-53- 207
• Arsitektur pengganti


5 2007-53- 208

B 10 1 2007-53- 216 SISTEM Penggunaan bersama sebuah bus


2 2007-53- 219 MULTIPROSESOR • Mekanisme prioritas


3 2007-53- 221 BERBASIS BUS Kinerja darijaringan bus tunggal


4 2007-53- 238
Sistem dan bus local


5 2007-53- 250

C 1 1 2007-53- 007 STRUKTUR • Komponen komputer


2 2007-53- 046 INTERKONEKSI • Fungsi komputer


3 2007-53- 054 KOMPUTER • Struktur interkoneksi


4 2007-53- 058
• Interkoneksi bus


5 2007-53- 066

C 2 1 2007-53- 082 SISTEM Program komputer yang tersimpan


2 2007-53- 086 KOMPUTER • Sistem mikroprosesor


3 2007-53- 088
• Pengembangan arsitektural


4 2007-53- 090



5 2007-53- 101

C 3 1 2007-53- 102 MEMORI INTERNAL Sistem memori komputer


2 2007-53- 103 DAN EKSTERNAL Memori utama


3 2007-53- 105
• Memori cache


4 2007-53- 107
• Organisasi DRAM


5 2007-53- 108
Jenis memori eksternal
C 4 1 2007-53- 111 INPUT DAN • Perangkat eksternal


2 2007-53- 112 OUTPUT Jenis pengaksesan I/O


3 2007-53- 114
• Saluran I/O


4 2007-53- 115
• Interface eksternal


5 2007-53- 116

C 5 1 2007-53- 117 DUKUNGAN Sekilas mengenai sistem operasi


2 2007-53- 118 SISTEM OPERASI • Penjadwalan


3 2007-53- 119
• Manajemen memori


4 2007-53- 120



5 2007-53- 123

C 6 1 2007-53- 124 STRUKTUR DAN • Organisasi prosesor


2 2007-53- 126 FUNGSI CENTRAL • Organisasi register


3 2007-53- 133 PROCESSING UNIT • Siklus instruksi


4 2007-53- 136 (CPU) • Pipelining instruksi


5 2007-53- 140

C 7 1 2007-53- 141 ARSITEKTUR Keluarga IBM PC dan turunannya


2 2007-53- 148 KELUARGA Organisasi mikrokomputer dasar


3 2007-53- 149 KOMPUTER IBM PC • Komponen IBM PC


4 2007-53- 151
Sistem perangkat lunak


5 2007-53- 155
Manfaat arsitektur PC
C 8 1 2007-53- 156 PIPELINING DAN • Pipelining


2 2007-53- 162 RISC Prosesor vector pipelining


3 2007-53- 169
Reduced Instruction Set Computer


4 2007-53- 170
(RISC)


5 2007-53- 177

C 9 1 2007-53- 181 PROSESOR • Jaringan interkoneksi


2 2007-53- 182 PARALEL • Mesin SIMD


3 2007-53- 183
• Mesin MIMD


4 2007-53- 186
• Arsitektur pengganti


5 2007-53- 187

C 10 1 2007-53- 189 SISTEM Penggunaan bersama sebuah bus


2 2007-53- 190 MULTIPROSESOR • Mekanisme prioritas


3 2007-53- 191 BERBASIS BUS Kinerja darijaringan bus tunggal


4 2007-53- 192
Sistem dan bus local


5



D 1 1 2005-53- 032 STRUKTUR • Komponen komputer


2 2007-53- 013 INTERKONEKSI • Fungsi komputer


3 2007-53- 095 KOMPUTER • Struktur interkoneksi


4 2007-53- 097
• Interkoneksi bus


5 2007-53- 104

D 2 1 2007-53- 109 SISTEM Program komputer yang tersimpan


2 2007-53- 128 KOMPUTER • Sistem mikroprosesor


3 2007-53- 135
• Pengembangan arsitektural


4 2007-53- 143



5 2007-53- 144

D 3 1 2007-53- 167 MEMORI INTERNAL Sistem memori komputer


2 2007-53- 175 DAN EKSTERNAL Memori utama


3 2007-53- 196
• Memori cache


4 2007-53- 199
• Organisasi DRAM


5 2007-53- 239
Jenis memori eksternal


6 2009-53- 004

E 1 1 2006-53- 132 STRUKTUR • Komponen komputer


2 2006-53- 171 INTERKONEKSI • Fungsi komputer


3 2007-53- 028 KOMPUTER • Struktur interkoneksi


4 2007-53- 125
• Interkoneksi bus


5 2007-53- 134

E 2 1 2007-53- 150 SISTEM Program komputer yang tersimpan


2 2007-53- 153 KOMPUTER • Sistem mikroprosesor


3 2007-53- 161
• Pengembangan arsitektural


4 2007-53- 165



5 2007-53- 171

E 3 1 2007-53- 179 MEMORI INTERNAL Sistem memori komputer


2 2007-53- 185 DAN EKSTERNAL Memori utama


3 2007-53- 188
• Memori cache


4 2007-53- 194
• Organisasi DRAM


5 2007-53- 197
Jenis memori eksternal
E 4 1 2007-53- 198 INPUT DAN • Perangkat eksternal


2 2007-53- 201 OUTPUT Jenis pengaksesan I/O


3 2007-53- 202
• Saluran I/O


4 2007-53- 203
• Interface eksternal


5 2007-53- 204

E 5 1 2007-53- 205 DUKUNGAN Sekilas mengenai sistem operasi


2 2007-53- 209 SISTEM OPERASI • Penjadwalan


3 2007-53- 210
• Manajemen memori


4 2007-53- 212



5 2007-53- 213

E 6 1 2007-53- 214 STRUKTUR DAN • Organisasi prosesor


2 2007-53- 215 FUNGSI CENTRAL • Organisasi register


3 2007-53- 218 PROCESSING UNIT • Siklus instruksi


4 2007-53- 220 (CPU) • Pipelining instruksi


5 2007-53- 222

E 7 1 2007-53- 223 ARSITEKTUR Keluarga IBM PC dan turunannya


2 2007-53- 226 KELUARGA Organisasi mikrokomputer dasar


3 2007-53- 227 KOMPUTER IBM PC • Komponen IBM PC


4 2007-53- 228
Sistem perangkat lunak


5 2007-53- 230
Manfaat arsitektur PC
E 8 1 2007-53- 231 PIPELINING DAN • Pipelining


2 2007-53- 232 RISC Prosesor vector pipelining


3 2007-53- 234
Reduced Instruction Set Computer


4 2007-53- 236
(RISC)


5 2007-53- 237

E 9 1 2007-53- 240 PROSESOR • Jaringan interkoneksi


2 2007-53- 241 PARALEL • Mesin SIMD


3 2007-53- 242
• Mesin MIMD


4 2007-53- 243
• Arsitektur pengganti


5 2007-53- 245

E 10 1 2007-53- 246 SISTEM Penggunaan bersama sebuah bus


2 2007-53- 248 MULTIPROSESOR • Mekanisme prioritas


3 2007-53- 249 BERBASIS BUS Kinerja darijaringan bus tunggal


4 2008-53- 287
Sistem dan bus local