▪ Computer hardware is collection of physical elements that comprise a computer
system ▪ Network hardware devices facilitating the use of a computer network ▪ Electronic hardware interconnected electronic components ▪ Electronic component a basic electronic element ▪ Digital electronics is the hardware used by digital computer systems that can be controlled by software
Prodi Teknik Informatika @ STT Bandung 2017
▪ Computer hardware is the collection of physical components that constitute a computer system. Computer hardware is the physical parts or components of a computer, such as monitor, keyboard, computer data storage, graphic card, sound card, motherboard, and so on, all of which are tangible objects. By contrast, software is instructions that can be stored and run by hardware. ▪ Hardware is directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system
Prodi Teknik Informatika @ STT Bandung 2017
▪ The template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann. This describes a design architecture for an electronic digital computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms. ▪ The meaning of the term has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. This is referred to as the Von Neumann bottleneck and often limits the performance of the system
Prodi Teknik Informatika @ STT Bandung 2017
Prodi Teknik Informatika @ STT Bandung 2017 ▪ When using computer hardware, an upgrade means adding new hardware to a computer that improves its performance, adds capacity or new features. For example, a user could perform a hardware upgrade to replace the hard drive with a SSD to get a boost in performance or increase the amount of files that may be stored. Also, the user could increase the RAM so the computer may run more smoothly. ▪ The user could add a USB 3.0 expansion card in order to fully use USB 3.0 devices, or could upgrade the GPU for extra rendering power. Performing such hardware upgrades may be necessary for older computers to meet a programs' system requirements
Prodi Teknik Informatika @ STT Bandung 2017
▪ Computer software, or simply software, is a part of a computer system that consists of data or computer instructions, in contrast to the physical hardware from which the system is built. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non- executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
Prodi Teknik Informatika @ STT Bandung 2017
▪ At the lowest level, executable code consists of machine language instructions specific to an individual processor—typically a central processing unit (CPU). A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. For example, an instruction may change the value stored in a particular storage location in the computer—an effect that is not directly observable to the user
Prodi Teknik Informatika @ STT Bandung 2017
▪ instruction may also (indirectly) cause something to appear on a display of the computer system—a state change which should be visible to the user. The processor carries out the instructions in the order they are provided, unless it is instructed to "jump" to a different instruction, or is interrupted (by now multi-core processors are dominant, where each core can run instructions in order; then, however, each application software runs only on one core by default, but some software has been made to run on many). ▪ The majority of software is written in high-level programming languages that are easier and more efficient for programmers, meaning closer to a natural language. High-level languages are translated into machine language using a compiler or an interpreter or a combination of the two. Software may also be written in a low-level assembly language, essentially, a vaguely mnemonic representation of a machine language using a natural language alphabet, which is translated into machine language using an assembler.
Prodi Teknik Informatika @ STT Bandung 2017
▪ Based on the goal, computer software can be divided into: ▪ Application software, which is software that uses the computer system to perform special functions or provide entertainment functions beyond the basic operation of the computer itself. There are many different types of application software, because the range of tasks that can be performed with a modern computer is so large—see list of software. ▪ System software, which is software that directly operates the computer hardware, to provide basic functionality needed by users and other software, and to provide a platform for running application software. ▪ Malicious software or malware, which is software that is developed to harm and disrupt computers. As such, malware is undesirable. Malware is closely associated with computer-related crimes, though some malicious programs may have been designed as practical jokes
Prodi Teknik Informatika @ STT Bandung 2017
▪ Operating systems, which are essential collections of software that manage resources and provides common services for other software that runs "on top" of them. Supervisory programs, boot loaders, shells and window systems are core parts of operating systems. In practice, an operating system comes bundled with additional software (including application software) so that a user can potentially do some work with a computer that only has one operating system. ▪ Device drivers, which operate or control a particular type of device that is attached to a computer. Each device needs at least one corresponding device driver; because a computer typically has at minimum at least one input device and at least one output device, a computer typically needs more than one device driver. ▪ Utilities, which are computer programs designed to assist users in the maintenance and care of their computers.
Prodi Teknik Informatika @ STT Bandung 2017
▪ Programming tools are also software in the form of programs or applications that software developers (also known as programmers, coders, hackers or software engineers) use to create, debug, maintain (i.e. improve or fix), or otherwise support software. ▪ Software is written in one or more programming languages; there are many programming languages in existence, and each has at least one implementation, each of which consists of its own set of programming tools. ▪ These tools may be relatively self-contained programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task; or they may form an integrated development environment (IDE), which combines much or all of the functionality of such self-contained tools.
Prodi Teknik Informatika @ STT Bandung 2017
▪ IDEs may do this by either invoking the relevant individual tools or by re- implementing their functionality in a new way. An IDE can make it easier to do specific tasks, such as searching in files in a particular project. Many programming language implementations provide the option of using both individual tools or an IDE