This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Senin, 29 Maret 2010

Memori dan Variabel

Sesi/Perkuliahan ke: III

Tujuan Instruksional Khusus :
1. Mahasiswa dapat menjelaskan memori dan penggunaan memori dalam membuat program
2. Mahasiswa dapat menjelaskan Scope variabel dalam membuat program

Pokok Bahasan : Memori dan Scope Variabel

Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang Memori
Dan Scope Variabel

Referensi :
1. Introduction To Algoritms, Thomas N. Cormen, Charles E. Leiserson, Ronald L. Ruvest. MIT Press
2. Computer Algorithms: introduction to design and analysis. 2nd ed., Sara Baase, Reading,Mass: Addison-Wesley Company, 1993
3. Analisis dan Desain Berorientasi Objek, Ariesto Hadi Sutopo, JJ Learning: Yogyakarta, 2002
4. Pengantar Analisis Algoritma, Suryadi MT, Gunadarma: Jakarta, 1992
5. Referensi silabus utama:
http://www.cs.ucl.ac.uk/teaching/syllabus/ug/1b12.htm
Bisa digunakan: (slides-2)
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html
http://highered.mcgrawhill.com/sites/0070131511/student_view0/chapter1/chapter_overview.
html


VARIABEL DAN MEMORI


Varibel merupakan komponen penting pada pemrograman, Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat dirubah selama eksekusi program berlangsung.

Jika suatu variable diisi dengan nilai di luar jangkauannya maka nilai yang akan disimpan akan diubah sesuai dengan jangkauannya. Misalnya, bila suatu variable bertipe integer diberi nilai 75000, yang tersimpan pada variable tersebut berupa 9494. Sebab nilai positif terbesar pada tipe integer yaitu 32767. Hal ini bekerja sebagaimana speedometer pada kendaraan bermotor. Pada spedometer, apabila nilai maksimumnya terlampaui akan dimulai dari nilai terendahnya, yakni nol.

Perlu diketahui, pemrograman aritmatika yang menggunakan tipe seperti integer akan lebih cepat dibandingkan kalau menggunakan tipe long integer itulah sebabnya sedapat mungkin untuk menggunakan variable dengan memori berukuran kecil.

Pendefinisian variabel tergantung pada bahasa pemrograman yang dipakai ada yang pendefinisian variabel dapat diletakan dimana saja (contohnya : Basic, C++, Dbase, dll ) dan ada pula bahasa pemrograman yang sudah ditentukan pendefinisian variabelnya (contohnya : Pascal, Cobol, dll).
Lingkup Variabel

Pemahaman terhadap lingkup variabel di dalam penulisan fungsi sangatlah penting, agar tidak salah dalam menggunakan suatu variabel. Lingkup variabel menentukan keberadaan suatu variabel tertentu didalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.

Jenis variabel berdasarkan kelas penyimpanannya, yang berkaitan dengan lingkup variabel, yaitu:

o Variabel otomatis
o Variabel eksternal
o Variabel Statis
o Variabel otomatis

Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal di dalam fungsi tempat variabel didifinisikan.

Suatu variabel otomatis mempunyai sifat :

 Variabel hanya akan diciptakan pada saat fungsi dipanggil.
 Pada saat fungsi berakhir (selesai dieksekusi), variabel otomatis menjadi sirna.
 Tidak ada inisialisasi secara otomatis (pada saat variabel diciptakan). Inisialisasi oleh pemrograman akan dikerjakan setiap kali fungsi dipanggil.
 Hanya dapat diakses di dalam fungsi yang mendifinisikan.

Selang waktu antara penciptaan variabel hingga penyirnaannya sering disebut sebagai lifetime atau durasi. Durasi dari variabel otomatis hanya pada saat fungsi yang mendifinisikannya dieksekusi.

o Variabel eksternal

Variabel eksternal merupakan kebalikan dari vaiabel otomatis. Variabel eksternal adalah variabel yang didifinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi. Anda dapat mendeklarasikan bukan mendifinisikan, karena tidak ada pengalokasian memori.
Sehingga sifat dari variabel eksternal kebalikan dari variabel otomatis.

Penggunaan variabel eksternal diusahakan sesedikit mungkin atau sedapat mungkin tidak usah digunakan. Tidak lain adalah karena variabel ini mudah sekali berubah oleh pernyataan penugasaan yang letaknya bisa dimana saja. Ini bisa menimbulkan efek samping yang sulit untuk melacaknya, terutama untuk program yang besar.
Variabel eksternal mempunyai durasi selama program diekskusi. Dengan kata lain, memori yang digunakan untuk variabel ini tetap dipertahankanselama program belum berakhir.

o Variabel statis

Baik variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat :

Jika variabel local berdiri sebagai variabel statis, maka :
 Variabel tetap hanya dapat diakses pada fungsi yang mendifinisikannya
 Variabel tidak hilang saat dieksekusi fungsi berakhir nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
 Inisialisasi oleh pemrograman akan dilakukan sekali saja selama program dijalankan, jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.

Jika Variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didifinisikan pada file yang sama dengan variabel eksternal tersebut (hal ini bermanfaat pada pemrograman file berganda atau kode program ditaruh pada beberapa file).
MEMORI DINAMIS


Konsep pengalokasian memori

Tataletak memori pada computer setelah suatu program dimuat kememori computer. Seperti gambar berikut :



Stack


Heap


Data

Kode

Pada saat program yang dibuat dijalankan, terdapat sejumlah memori yang tidak terpakai. Memori ini dikenal sebagai Heap. Memori inilah yang dapat dipakai untuk memciptakan variabel dinamis. Ukuran memori ini sangatlah bervariasi, bergantung pada model memori yang digunakan compiler dan juga system operasi.



24 April, 2009
Materi Kuliah Pemograman Java (Type data, Variable & Operator)

BAB II
VARIABEL, TIPE DATA DAN OPERATOR

2.1 Variabel
Di Java setiap variabel memiliki sebuah tipe data, Untuk membuat sebuah variabel, pertama kita tempatkan tipe dari variabel itu dan diikuti oleh nama dari variabel yang akan dibuat.
contohnya:
• double gaji;
• int hariKerja;
• long jumlahPenduduk;
• char c;
• boolean Sudah;

Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah semicolon ‘;’. Semicolon dibutuhkan karena pendeklarasian sebuah variabel adalah sebuah statement di Java.
Berikut ini aturan-aturan dalam membuat variabel pada Java :
Nama dari sebuah variabel harus dimulai dengan sebuah huruf dan selanjutnya dapat diikuti dengan huruf atau angka.
Huruf yang bisa digunakan adalah dari 'A'–'Z', 'a'–'z', angka dri 1-9 dan juga simbol '_' dan ‘$’ , Untuk simbol lain dan spasi tidak dapat digunakan.
Dalam penamaan variabel juga tidak diperkenankan menggunakan reserved word dari Java.
Dalam pendeklarasian variabel kita juga bisa menyatukan dua variabel dalam pendeklarasiannya
Contoh :
• int i, j;
• long y,x;
• char a,b;

Sebuah variabel dapat diberikan nilai awal setelah atau pada saat dideklarasikan
contoh :
• int nilai;
• nilai=10;
• int nilai=10;

Sebuah variabel dapat juga bertukar nilai atau saling memberi dengan variabel lainnya
contoh :
• int nilai1=10;
• int nilai2;
• nilai2=nilai1;

2.2 Tipe Data
Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel di memori karena tipe data variabel menentukan cara kompilator menginterpretasikan isi memori. Tipe data dalam Java dibagi 2 kategori:
Sederhana, Tipe data sederhana merupakan tipe inti. Tipe sederhana ini tidak diturunkan dari tipe lain. Tipe ini sering disebut juga dengan tipe primitive. Terdapat 8 tipe tipe sederhana dan dipisahkan dalam 4 kelompok:
Empat tipe adalah untuk bilangan bulat (integer) bertanda: byte, short, int, dan long.
Dua untuk tipe angka titik mengambang (floating point) atau bilangan pecahan: float dan double.
Satu untuk tipe karakater yaitu char, mewakili simbol pada himpunan karakter seperti tulisan dan angka.
Satu untuk tipe Boolean, merupakan tipe khusus untuk menunjukkan besaran logika (nilai-nilai logika).
Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain yang telah ada. Tipe ini antara lain: string, array, class, dan interface.

2.2.1 Byte
Byte adalah tipe 8-bit bertanda. Sebaiknya digunakan jika kita menangani aliran-aliran byte asing dari network atau file. Variabel byte dideklarasikan dengan kata kunci byte. Contohnya, dibawah ini adalah deklarasi 2 variabel byte yang diberi nama b dan c. Variabel c dinisialisasi dengan nilai 0x55.
byte b;
byte c = 0x55;

2.2.2 Short
Short adalah tipe 16-bit bertanda. Tipe ini mungkin merupakan tipe yang paling jarang digunakan karena bersifat big-endian (pengurutan byte), format data bit atas di depan, sehingga tidak mungkin diolah pada mesin-mesin little-endian seperti PC (Personal Computer). Saat ini, komputer 16-bit umum digunakan dalam industri video-game, dalam hal ini kita tidak banyak berurusan dengan besaran-besaran variabel short. Berikut beberapa contoh deklarasi variabel short:
short s;
short t = 0x55aa
;
2.2.3 Integer
Integer adalah tipe yang paling banyak digunakan pada program. Program Java terdapat 5 integer. Tipe Char dapat dipandang sebagai bilangan bulat yang mengkodekan karakter Unicode. Pada kebanyakan situasi tipe int paling banyak digunakan. Untuk bilangan besar, maka digunakan tipe long. Tipe byte dan short terutama digunakan untuk aplikasi khusus seperti penanganan file level rendah atau array besar yang disimpan tempat kecil.
int adalah tipe 32-bit bertanda. Tipe ini paling banyak digunakan untuk menyimpan besaran integer sederhana, karena nilainya dapat mencapai triliyunan. Int sangat baik digunakan untuk pertambahan array dan pencacahan. Contoh deklarasi variabel int:
int i;
int j = 0x55aa0000;

2.2.4 Long
long adalah tipe 64-bit bertanda. Ada beberapa kasus dimana int tidak cukup besar untuk menampung nilai yang diinginkan. Ketika menghitung pernyataan integer dengan bilangan yang cukup besar, operasi perkalian dapat menghasilkan bilangan ribuan triliyun. Dalam kasus seperti ini, kita membutuhkan tipe long. Berikut contoh deklarasi variabel long:
long m;
long n = 0x55aa000055aa0000;
Jalannya program Java bebas menggunakan ukuran berapapun untuk variabel yang diperlukan selama tipe bersifat seperti yang didefinisikan.

Rabu, 10 Maret 2010

Best motherboard information and the latest


The motherboard is the main part of the computer, so we have to buy the best and latest.Because this is the place to connect various devices such as computer processors, CD / DVD ROM, RAM, VGA and so on. Even if you want to install the computer the first thing noticed is the ability of the motherboard itself.Nah loh so than that you should really understand how a motherboard is best said or not.Remember it is not necessarily the best to date. Because the motherboard could have a long generation of old alias can be the ability to overclock to get the latest over.There are some common tests performed to determine a motherboard is the best or worst STALKER gaming tests, PCMark Vantage test sintetic, etc.. Also if the motherboard is already capable of supporting the latest technology. Oh yes for those who still newbie, remember it can not Intel invested in a special motherboard AMD processors.Nah loh, now where to get the motherboard information, here are some good websites that often provide the latest motherboard information. From the side of weakness to his superiority.MotherboardsMotherboard reviewStars are also often entitled to read PCMedia for info about the motherboard.Hopefully useful.best motherboard, what is meant by the motherboard, information, motherboard information, information about the motherboard, new computer, best computer mainboard, computer assembling, the latest motherboard
reference:

Minggu, 07 Maret 2010

universitas Gunadarma


image REview


If a clean and beautiful campus, indicating that the community college environment that cares about cleanliness, these days many university campuses Gunadarma make changes in environmental design from the point of greening the campus garden, internet lounge and others.Surely all this facility could also support learning and teaching system in university campus environments such Gunadarma motto "UG Campus Life".
With the greening of the campus environment, could slightly reduce the current global warming again digencarkan by all levels of people in the hemisphere can also ini.kita clean air with the existence of this penghijaan. Then add the coolness of the tower in the park this campus. Tower was able to remove water droplets thereby increasing the campus atmosphere of lush gardens.
One of the more facilities on campus that there is internet lounge Gunadarma contained several campus environment such as in Kalimalang, Coconut two and Depok. Internet lounges in the palm two campus is located next to the park which is also adding more live atmosphere. This facility can be used free of charge to all students Gunadarma using students sign the card.
With this facility, we are all students or the community can preserve and maintain the campus environment with no damage and taking out the trash in the park campus.

Senin, 01 Maret 2010

Computer

A computer is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format.
Although mechanical examples of computers have existed through much of recorded human history, the first electronic computers were developed in the mid-20th century (1940–1945). These were the size of a large room, consuming as much power as several hundred modern personal computers (PCs).[1] Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space.[2] Simple computers are small enough to fit into small pocket devices, and can be powered by a small battery. Personal computers in their various forms are icons of the Information Age and are what most people think of as "computers". The embedded computers found in many devices from MP3 players to fighter aircraft and from toys to industrial robots are however the most numerous.
The ability to store and execute lists of instructions called programs makes computers extremely versatile, distinguishing them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: any computer with a certain minimum capability is, in principle, capable of performing the same tasks that any other computer can perform. Therefore computers ranging from a netbook to a supercomputer are all able to perform the same computational tasks, given enough time and storage capacity.

History of computing


The Jacquard loom, on display at the Museum of Science and Industry in Manchester, England, was one of the first programmable devices.
The first use of the word "computer" was recorded in 1613, referring to a person who carried out calculations, or computations, and the word continued to be used in that sense until the middle of the 20th century. From the end of the 19th century onwards though, the word began to take on its more familiar meaning, describing a machine that carries out computations.[3]
The history of the modern computer begins with two separate technologies—automated calculation and programmability—but no single device can be identified as the earliest computer, partly because of the inconsistent application of that term. Examples of early mechanical calculating devices include the abacus, the slide rule and arguably the astrolabe and the Antikythera mechanism (which dates from about 150–100 BC). Hero of Alexandria (c. 10–70 AD) built a mechanical theater which performed a play lasting 10 minutes and was operated by a complex system of ropes and drums that might be considered to be a means of deciding which parts of the mechanism performed which actions and when.[4] This is the essence of programmability.
The "castle clock", an astronomical clock invented by Al-Jazari in 1206, is considered to be the earliest programmable analog computer.[5] It displayed the zodiac, the solar and lunar orbits, a crescent moon-shaped pointer travelling across a gateway causing automatic doors to open every hour,[6][7] and five robotic musicians who played music when struck by levers operated by a camshaft attached to a water wheel. The length of day and night could be re-programmed to compensate for the changing lengths of day and night throughout the year.[5]
The Renaissance saw a re-invigoration of European mathematics and engineering. Wilhelm Schickard's 1623 device was the first of a number of mechanical calculators constructed by European engineers, but none fit the modern definition of a computer, because they could not be programmed.
In 1801, Joseph Marie Jacquard made an improvement to the textile loom by introducing a series of punched paper cards as a template which allowed his loom to weave intricate patterns automatically. The resulting Jacquard loom was an important step in the development of computers because the use of punched cards to define woven patterns can be viewed as an early, albeit limited, form of programmability.
It was the fusion of automatic calculation with programmability that produced the first recognizable computers. In 1837, Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer, his analytical engine.[8] Limited finances and Babbage's inability to resist tinkering with the design meant that the device was never completed.
In the late 1880s, Herman Hollerith invented the recording of data on a machine readable medium. Prior uses of machine readable media, above, had been for control, not data. "After some initial trials with paper tape, he settled on punched cards ..."[9] To process these punched cards he invented the tabulator, and the keypunch machines. These three inventions were the foundation of the modern information processing industry. Large-scale automated data processing of punched cards was performed for the 1890 United States Census by Hollerith's company, which later became the core of IBM. By the end of the 19th century a number of technologies that would later prove useful in the realization of practical computers had begun to appear: the punched card, Boolean algebra, the vacuum tube (thermionic valve) and the teleprinter.
During the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated analog computers, which used a direct mechanical or electrical model of the problem as a basis for computation. However, these were not programmable and generally lacked the versatility and accuracy of modern digital computers.
Alan Turing is widely regarded to be the father of modern computer science. In 1936 Turing provided an influential formalisation of the concept of the algorithm and computation with the Turing machine. Of his role in the modern computer, Time magazine in naming Turing one of the 100 most influential people of the 20th century, states: "The fact remains that everyone who taps at a keyboard, opening a spreadsheet or a word-processing program, is working on an incarnation of a Turing machine".[10]
The inventor of the program-controlled computer was Konrad Zuse, who built the first working computer in 1941 and later in 1955 the first computer based on magnetic storage.[11]
George Stibitz is internationally recognized as a father of the modern digital computer. While working at Bell Labs in November 1937, Stibitz invented and built a relay-based calculator he dubbed the "Model K" (for "kitchen table", on which he had assembled it), which was the first to use binary circuits to perform an arithmetic operation. Later models added greater sophistication including complex arithmetic and programmability.
A succession of steadily more powerful and flexible computing devices were constructed in the 1930s and 1940s, gradually adding the key features that are seen in modern computers. The use of digital electronics (largely invented by Claude Shannon in 1937) and more flexible programmability were vitally important steps, but defining one point along this road as "the first digital electronic computer" is difficult.Shannon 1940 Notable achievements include:

EDSAC was one of the first computers to implement the stored program (von Neumann) architecture.

Die of an Intel 80486DX2 microprocessor (actual size: 12×6.75 mm) in its packaging.
  • Konrad Zuse's electromechanical "Z machines". The Z3 (1941) was the first working machine featuring binary arithmetic, including floating point arithmetic and a measure of programmability. In 1998 the Z3 was proved to be Turing complete, therefore being the world's first operational computer.[13]
  • The non-programmable Atanasoff–Berry Computer (1941) which used vacuum tube based computation, binary numbers, and regenerative capacitor memory. The use of regenerative memory allowed it to be much more compact then its peers (being approximately the size of a large desk or workbench), since intermediate results could be stored and then fed back into the same set of computation elements.
  • The secret British Colossus computers (1943),[14] which had limited programmability but demonstrated that a device using thousands of tubes could be reasonably reliable and electronically reprogrammable. It was used for breaking German wartime codes.
  • The Harvard Mark I (1944), a large-scale electromechanical computer with limited programmability.
  • The U.S. Army's Ballistic Research Laboratory ENIAC (1946), which used decimal arithmetic and is sometimes called the first general purpose electronic computer (since Konrad Zuse's Z3 of 1941 used electromagnets instead of electronics). Initially, however, ENIAC had an inflexible architecture which essentially required rewiring to change its programming.
Several developers of ENIAC, recognizing its flaws, came up with a far more flexible and elegant design, which came to be known as the "stored program architecture" or von Neumann architecture. This design was first formally described by John von Neumann in the paper First Draft of a Report on the EDVAC, distributed in 1945. A number of projects to develop computers based on the stored-program architecture commenced around this time, the first of these being completed in Great Britain. The first to be demonstrated working was the Manchester Small-Scale Experimental Machine (SSEM or "Baby"), while the EDSAC, completed a year after SSEM, was the first practical implementation of the stored program design. Shortly thereafter, the machine originally described by von Neumann's paper—EDVAC—was completed but did not see full-time use for an additional two years.
Nearly all modern computers implement some form of the stored-program architecture, making it the single trait by which the word "computer" is now defined. While the technologies used in computers have changed dramatically since the first electronic, general-purpose computers of the 1940s, most still use the von Neumann architecture.
Computers using vacuum tubes as their electronic elements were in use throughout the 1950s, but by the 1960s had been largely replaced by transistor-based machines, which were smaller, faster, cheaper to produce, required less power, and were more reliable. The first transistorised computer was demonstrated at the University of Manchester in 1953.[15] In the 1970s, integrated circuit technology and the subsequent creation of microprocessors, such as the Intel 4004, further decreased size and cost and further increased speed and reliability of computers. By the late 1970s, many products such as video recorders contained dedicated computers called microcontrollers, and they started to appear as a replacement to mechanical controls in domestic appliances such as washing machines. The 1980s witnessed home computers and the now ubiquitous personal computer. With the evolution of the Internet, personal computers are becoming as common as the television and the telephone in the household[citation needed].
Modern smartphones are fully-programmable computers in their own right, and as of 2009 may well be the most common form of such computers in existence[citation needed].

Stored program architecture

The defining feature of modern computers which distinguishes them from all other machines is that they can be programmed. That is to say that a list of instructions (the program) can be given to the computer and it will store them and carry them out at some time in the future.
In most cases, computer instructions are simple: add one number to another, move some data from one location to another, send a message to some external device, etc. These instructions are read from the computer's memory and are generally carried out (executed) in the order they were given. However, there are usually specialized instructions to tell the computer to jump ahead or backwards to some other place in the program and to carry on executing from there. These are called "jump" instructions (or branches). Furthermore, jump instructions may be made to happen conditionally so that different sequences of instructions may be used depending on the result of some previous calculation or some external event. Many computers directly support subroutines by providing a type of jump that "remembers" the location it jumped from and another instruction to return to the instruction following that jump instruction.
Program execution might be likened to reading a book. While a person will normally read each word and line in sequence, they may at times jump back to an earlier place in the text or skip sections that are not of interest. Similarly, a computer may sometimes go back and repeat the instructions in some section of the program over and over again until some internal condition is met. This is called the flow of control within the program and it is what allows the computer to perform tasks repeatedly without human intervention.
Comparatively, a person using a pocket calculator can perform a basic arithmetic operation such as adding two numbers with just a few button presses. But to add together all of the numbers from 1 to 1,000 would take thousands of button presses and a lot of time—with a near certainty of making a mistake. On the other hand, a computer may be programmed to do this with just a few simple instructions.

Programs


A 1970s punched card containing one line from a FORTRAN program. The card reads: "Z(1) = Y + W(1)" and is labelled "PROJ039" for identification purposes.
In practical terms, a computer program may run from just a few instructions to many millions of instructions, as in a program for a word processor or a web browser. A typical modern computer can execute billions of instructions per second (gigahertz or GHz) and rarely make a mistake over many years of operation. Large computer programs consisting of several million instructions may take teams of programmers years to write, and due to the complexity of the task almost certainly contain errors.
Errors in computer programs are called "bugs". Bugs may be benign and not affect the usefulness of the program, or have only subtle effects. But in some cases they may cause the program to "hang"—become unresponsive to input such as mouse clicks or keystrokes, or to completely fail or "crash". Otherwise benign bugs may sometimes may be harnessed for malicious intent by an unscrupulous user writing an "exploit"—code designed to take advantage of a bug and disrupt a program's proper execution. Bugs are usually not the fault of the computer. Since computers merely execute the instructions they are given, bugs are nearly always the result of programmer error or an oversight made in the program's design.[18]
In most computers, individual instructions are stored as machine code with each instruction being given a unique number (its operation code or opcode for short). The command to add two numbers together would have one opcode, the command to multiply them would have a different opcode and so on. The simplest computers are able to perform any of a handful of different instructions; the more complex computers have several hundred to choose from—each with a unique numerical code. Since the computer's memory is able to store numbers, it can also store the instruction codes. This leads to the important fact that entire programs (which are just lists of instructions) can be represented as lists of numbers and can themselves be manipulated inside the computer just as if they were numeric data. The fundamental concept of storing programs in the computer's memory alongside the data they operate on is the crux of the von Neumann, or stored program, architecture. In some cases, a computer might store some or all of its program in memory that is kept separate from the data it operates on. This is called the Harvard architecture after the Harvard Mark I computer. Modern von Neumann computers display some traits of the Harvard architecture in their designs, such as in CPU caches.
While it is possible to write computer programs as long lists of numbers (machine language) and this technique was used with many early computers,[19] it is extremely tedious to do so in practice, especially for complicated programs. Instead, each basic instruction can be given a short name that is indicative of its function and easy to remember—a mnemonic such as ADD, SUB, MULT or JUMP. These mnemonics are collectively known as a computer's assembly language. Converting programs written in assembly language into something the computer can actually understand (machine language) is usually done by a computer program called an assembler. Machine languages and the assembly languages that represent them (collectively termed low-level programming languages) tend to be unique to a particular type of computer. For instance, an ARM architecture computer (such as may be found in a PDA or a hand-held videogame) cannot understand the machine language of an Intel Pentium or the AMD Athlon 64 computer that might be in a PC.[20]
Though considerably easier than in machine language, writing long programs in assembly language is often difficult and error prone. Therefore, most complicated programs are written in more abstract high-level programming languages that are able to express the needs of the programmer more conveniently (and thereby help reduce programmer error). High level languages are usually "compiled" into machine language (or sometimes into assembly language and then into machine language) using another computer program called a compiler.[21] Since high level languages are more abstract than assembly language, it is possible to use different compilers to translate the same high level language program into the machine language of many different types of computer. This is part of the means by which software like video games may be made available for different computer architectures such as personal computers and various video game consoles.
The task of developing large software systems presents a significant intellectual challenge. Producing software with an acceptably high reliability within a predictable schedule and budget has historically been difficult; the academic and professional discipline of software engineering concentrates specifically on this challenge.

Referensi from: http://en.wikipedia.org/wiki/Computer

Computer and Healty


For someone who was crazy about computers or face a job that requires sitting at the computer, facing the computer for hours is not felt. So far people only know, especially computer radiation can affect eye health, while there are other things more dangerous, who would have thought to use a computer can cause a stroke? People who have fun in front of the computer will forget everything, people can spend all day just sat down to pound on the keyboard and mouse, without realizing the impact. The habit of sitting and not moving from where he can cause blood clots in major veins in the leg veins, which may cause the breakup of veins, so blood will flow anywhere, including human vital organs, and it can cause Deep Vein Thrombosis (DVT ).
  
Deep Vein Thrombosis (DVT) DVT is the formation of frozen blood on the lining of the inner vein. Unlike the arteries that drain blood from the heart throughout the body, vein or vein, delivers blood from the body back to the heart and lungs. In both these important organs, blood oxygenation, or will experience it that O2 is absolutely necessary tissue. Veins in a special wrapped thigh muscles and leg, plays a role in the formation of blood clots.Veins in this kind of elastic-walled channels and partitioned-screen by the valves that allow blood to flow in the direction berjurusan. Blood will be taken from the bottom up, or from the leg toward the heart. Because of this basic flow against gravity, despite being equipped with valves, blood still be a slow way. Another with arterial blood high pressure. Given the nature of blood viscosity, the slower flow and stimulate potensitimbulnya clots. Form of blood viscosity properties that are beneficial to the physiology of the human body. Only problem is, if this slow flow was slowed again by the position of the frozen legs, blood flow must be even slower. As a result blood clot where it could. Actually oto-leg muscles can be activated or with movable while casually played with the mouse, because it will stimulate the flow upwards. This is possible because the muscles around the veins can come wringing blood vessel walls so that helps accelerate the flow penghantarannya. Unfortunately, the blood clot that was first against the wall, instead labile status or easy escape from cantelannya. Clot which is then washed off the blood flow to the top and be stuck anywhere. If the blockage in a blood vessel just behind the upper legs or hips, at best only lead to pain, heat or a local sore, this is temporary, will disappear in a few hours, so as to avoid serious problems. However, if the blockage is in the vital parts, like the one vessel pulmonary artery or vein in the brain, the consequences would be disastrous, the lungs will cause pulmonary Embolism (pulmonary artery embolism congestion), while the akanmenyebabkan a brain stroke. Short break while using computers is the best way, at least two hours once stood, and often perform the movement in the legs when sitting in front of the computer to facilitate blood flow.Blood clots will not be immediately felt when our activities, but the new will happen after we rest.The disease is not just coming from about food, our attitude as a kelirupun activity could be the cause. People may say, the progress of technology will affect human health, but if we know the rules, it will bring great benefits to humans.
( Gue copy dari situs Dinas Kesehatan Prov. DIY, www.dinkes-diy.org.)

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More