Kamis, 10 Maret 2011

What is the algorithm?


Judging from the origin of the word he said algorithm itself has a strange history. People just find a word that means the process of calculating Algorism with arabic numbers. You say if you calculate Algorist use Arabic figures. Linguists attempt to discover the origin of this word but the results are less satisfactory. Finally, historians of mathematics found the origin of the word is derived from the Arabic name of the famous author, Abu Ja'far Muhammad Ibn Musa Al-Khuwarizmi. Al-Khuwarizmi read people west into Algorism. Al-Khuwarizmi write a book called The Book of Al Jabar Wal-Muqabala which means "The book of restoration and reduction" (The book of restoration and reduction). From the title of the book we also get the root word "Algebra" (Algebra). Change the word of the Algorithm Algorism Algorism arises because the word is often confused with Arithmetic, so the suffix became-sm-THM. Because the calculation with Arabic numerals have become commonplace. Then gradually the word algorithm gradually used as a method of calculation (computing) in general, thus losing its original meaning of the word. In Indonesian, the word Algorithm is absorbed into algorithm. Algorithm Definition "The algorithm is a sequence of logical steps solving problems systematically and logically arranged." Logical word is the key word in the algorithm. The steps in the algorithm must be logical and must be determined is false or true. The algorithm is the heart of Informatics The algorithm is the heart of computer science or informatics. Many branches of computer science terminology referenced in the algorithm. However, do not assume the algorithm is always synonymous with computer science course. In real life there are many processes haripun expressed in an algorithm. Ways to make a cake or a dish that is expressed in a recipe can also be referred to as algorithms. In every recipe there is always a sequence of step-lankah made cuisine. If the steps are not logical, can not produce the desired cuisine. Mothers who try a recipe will read one by one the steps and then he did the process of making appropriate that he read. In general, the (object) who worked on the process called the processor (processor). Processing may take the form of human, computer, robot or other electronic equipment. Processors perform a process to carry out or "execute" an algorithm that outlines the process. Implement the algorithm means doing the steps in the algorithm. Processors working on the process in accordance with the algorithm given to him. The cook makes a cake based on a recipe given to him, the pianist played a song by musical notes board. Therefore, an algorithm must be expressed in a form that can be understood by the processor. So the processor must: 1. Understand each step in Algorithm 2. Doing operations corresponding to these steps. Writing Algorithms The algorithm can be written in several ways, namely: • In a natural language (Indonesian, English, and other human language)
Example: Algorithm sending short messages (sms)
1. Take Mobile
2. Incoming SMS menu
3. Select Sub-Menu Compose SMS
4. Write the contents of SMS
5. Press menu
6. Enter the destination number
7. Press ok
8. Wait for the report
9. When an SMS is sent, Done
10. If SMS is not sent, skip to step 5
Use flow charts For example: Alarm Clock Algorithm
  • Using the pseudo-code For example: Algotima Finding Largest Numbers max ← first ilangan if (max <the second number) ← max number two if (max <third numbers) ← max number of third Important Aspects of the Algorithm 1. Finiteness The algorithm must be stopped (after a finite number of steps) 2. Definiteness Each step must be precisely defined, should not confuse the (ambiguous) 3. Input An algorithm has zero or more input given to the algorithm before it runs 4. Output An algorithm has one or more outputs, which typically rely on input 5. Effectiveness Each algorithm is expected to have effective properties Programming Language From the past until now, of course we know that in the computer world there is a wide range of programming languages. Because so many types of programming languages, the languages are also grouped based on certain criteria. There are breaks it down into 3 levels of language, namely: high level (like Pascal and Basic), middle level (like C), and low level (like Assembly Language). There are also breaks it down into procedural / functional programming, object oriented programming, and so forth. Programming can be classified as follows [Rechenberg]: 1. Procedure-oriented (procedural oriented) 2. Oriented functions (functional oriented) 3. Oriented logic (logic oriented) 4. Object oriented (object oriented) Each has its own advantages. Sometimes in building an application programming method is required combination. For example in C + + and Java (object oriented programming language), we can still find the techniques-oriented programming procedures in each method / function in the member objects.
A programming language originally only be used in a method.
Pascal originally for procedural-oriented, Lisp for the functional-oriented, Smaltalk for object-oriented and others. Along with the development of information and computer technology, tens and even hundreds of new programming language was born. Each has unique and specific advantages. There are specific to a particular type of computer, some are specific to a particular programming paradigm.
Selection of the first programming language is a complicated issue. For the first programming language affects the way programmers think in the future. Pascal programmers with a first language will be easier to switch to a programming language that has the same paradigm, which is oriented procedures such as C, Modula, Oberon. But the programmers are difficult to move into programming language with the other paradigms such as CLOS and Scheme, namely Lisp programming language family. In addition, after determining the paradigm, the next problem that arises is selecting the most dominant programming languages in this paradigm. For example, for function-oriented paradigm is most appropriate taught to beginners, whether or Scheme or EmacsLisp CLOS. The second problem is related to, the ease in learning, programming language dialects in the family, or even market trends.

Tidak ada komentar:

Posting Komentar