Mey mEy It'z m3

Welcome to M2 Blog

Kamis, 31 Maret 2011

Algoritma

Sejarah Algoritma
kata Algoritma berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi. Dia adallah seorang ahli matematika, astrologi, astronomi dan geografi yang dilahirkan pada tahun 164 H (780 M) di kawasan Khwarizm, Asia Tengah dan wafat di Baghdad pada tahun 232 H (847 M).
Berbagai karya penting telah dihasilkan diantaranya adalah: buku Aljabar wal Muqabalah yang artinya "Buku pemugaran dan pengurangan", (The book of restoration and reduction). tabel trigonometri Arab, buku Shuratul Ardh dan Taqwimul Buldan yang menjadi sumbangan penting untuk ilmu Geografi, serta Dixit Algorizmi atau Algoritmi de Numero Indorum sebuah manuskrip yang diyakini menjadi cikal bakal lahirnya Algoritma.Di dalam buku Al Jabar Wal-Muqabala kita juga memperoleh akar kata "Aljabar" (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma. Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab, namun pada abad ke-18 istilah ini telah berkembang menjadi algoritma.


Pengertian Algoritma
ALGORITMA adalah suatu urutan langkah-langkah (Steps)  yang disusun secara logis dan sistematis untuk menyelesaikan masalah dengan menggunakan komputer, dengan criteria sebagai berikut :
1. Setiap langkah/step harus jelas dan pasti (Definite)
2.Diperbolehkan tanpa ada input tetapi minimal harus ada 1 output.
3.             Jumlah langkah harus berhingga atau dengan kata lain harus ada stopping criteria.
4.            Di tulis dengan format yang mudah dipahami sehingga tidak menimbulkan arti ganda.
5.Logia yang benar dan terstruktur dan semua operasi terdefensi dengan jelas.
         Dalam bidang komputer, algoritma sangat diperlukan   dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
         Algoritma di butuhkan untuk memerintah komputer  mengambil langkah-langkah tertentu untuk menyelesaikan masalah
         Algoritma  à Pemrograman à Program
         Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).

Penulisan Algoritma
·         Menggunakan bahasa natural  (Bahasa manusia: Indonesia, Inggris)
o   kelemahannya  masih sering membingungkan (ambigu) / sulit dipahami.
·         Menggunakan Flowchart
o   Baik karena alur algoritma dapat dilihat secara visual, tetapi  repot pembuatannya jika algoritma panjang 
·         Menggunakan Pseudocode
o   Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman

Aturan Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
Judul (Header) Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama
dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi. Setelah judul
disarankan untuk menuliskan spesifikasi singkat dari teks algoritma tersebut. Nama
algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh
algoritma tersebut.

Kamus Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
Nama type
Nama konstanta
Nama variabel
Nama fungsi
Nama prosedur
Algoritma
{ Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda
kurung kurawa akan dianggap sebagai notasi algoritma yang akan berpengaruh
terhadap kebenaran algoritma }

Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan
aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman procedural
dapat berupa :
Instruksi dasar seperti input/output, assignment
Sequence (runtutan)
Analisa kasus
Perulangan
Setiap langkah algoritma dibaca dari “atas” ke “bawah”. Urutan deskripsi penulisan
menentuan urutan langkah pelaksanaan perintah

Pada setiap bagian tersebut apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan diantara tanda kurung kurawa contoh { Komentar }. Notasi algoritmis
yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.

Tipe Data Standard
I. Tipe Ordinal
Pada tipe data ini akan berlaku operasi-operasi:
-          Predesessor (Pred), berfungsi memberikan nilai kembalian berupa nilai predesessor  (urutan sebelumnya) dari suatu nilai ordinal.
-          Successor (Succ), berfungsi memberikan nilai successor (urutan berikutnya) dari suatu nilai ordinal.

a)    Tipe Integer
Operator-operator yang berlaku pada tipe data integer, yaitu :
-          Operator arithmatik : +, - , *, /, div, mod 
-          Operator logic : <, = , > , <= , >= , <>
Tipe data integer masih dibagi menjadi 5 tipe:
Shortint (1 byte bertanda)                 Byte (1 byte tak bertanda)
          Integer  (2 byte bertanda)                 Word (2 byte tak bertanda)
                   Longint (4 bytebertanda)
Catatan : Semua tipe integer adalah tipe Ordinal.

b)   Tipe Real
Dibagi menjadi 5 macam, yaitu :
          Real (6 byte)                            Extended (10 byte)
                   Single (4 byte)                         Comp (8 byte)
                   Double (8 byte)

c)    Tipe Char (Karakter)
Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya semua karakter yang terdapat pada kode ASCII.
Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang dimasukkan harus diapit dengan tanda kutip satu. Dan apabila karakter itu berupa tanda kutip satu maka harus diapit dengan dua tanda kutip satu.
                  
d)   Tipe Boolean
Mempunyai nilai benar /salah. Operator yang penghubung untuk tipe Boolean adalah : = , <> , > , < , >= , <= , IN
Boolean akan menghasilkan False jika nilai = 0 dan akan menghasilkan True jika nilai = 1.

e)   Tipe Enumerated (terbilang)
Bentuk umum :
Type
          Nama = (Pengenal 1, pengenal 2,…, pengenal n);
Contoh:
Type
          Jawa Tengah = ( Semarang, Tegal, Kendal, Demak) ;
Sehingga dengan fungsi berikut :
          Ord(Semarang) = 0
          Ord(Tegal)        = 1               
                   Dan seterusnya…………………..

f)    Tipe Subrange
Bentuk umum :
Constanta1..Constanta2
         
          Contoh :
                             0..99 ;
                                      -128..127 ;

Kamus
{Nama type, hanya untuk type yang bukan type dasar}
type jam : <hh,mm,ss :integer> {Type jam terdiri dari 3 masukan yaitu “hh” sebagai
jam. “mm” sebagai menit dan “ss” sebagai detik}
{Nama konstanta, harus menyebutkan type dan nilai }
constant phi : real = 3,14159
constant nama : string = ‘Alex’
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype bilangan bulat}
NMax : real {nilai maksimum yang bertype bilangan real}
Nama : string {suatu nilai yang merupakan kumpulan character}
P : point {suatu nilai pada bidang kartesian}
Cari : Boolean {suatu nilai logika}
{Nama fungsi, menyebutkan domain dan range}
function RealToInt (x:real) integer
{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer}
{Nama prosedur, menyebutkan “IS” initial state, “FS” final state dan proses}
procedure tukar (input/output x,y : real)
{ IS x dan y terdefinisi, x = a dan y = b
FS x = b dan y = a
Proses : menukar isi informasi bilangan x dan y }

Pemograman
sejarah pemrograman modern dan bahasa pemrograman mulai berkembang sejak 1940 an, yaitu sekitar 68 tahun yang lalu.
pengertian
         Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
         Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)
         Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

Perbedaan Algoritma Dan Pomrograman
Algoritma merupakan suatu urutan cara/langkah yang logis dan sistematis yang kita gunakan apabila kita ingin menyelesaikan suatu permasalahan dengan menggunakan computer.
Sedangkan pemrograman adalah perintah-perintah yang kita masukkan untuk menyelesaikan permasalahan.

Tidak ada komentar:

Posting Komentar