Pengertian Dasar Algoritma

1: Pengertian Dasar Logika dan Algoritma
    Sejarah Algoritma
Asal kata Algoritma berasal dari nama  Abu Ja’far
        Mohammed Ibnu Musa al-Khowarizmi ,
        ilmuan  Persia yang menulis kitab  al  jabr  w’al-
                             muqabala  ( rules of restoration and reduction )
                              sekitar tahun 825 M.
    BAHASA PEMROGRAMAN
        • Program harus ditulis dalam suatu bahasa
   yang dimengerti oleh komputer yaitu
   dalam Bahasa pemrogram dibedakan
   menjadi :
    – Bahasa tingkat rendah (low level language) :
        bahasa yang berorientasi ke mesin.
    – Bahasa tingkat  tinggi (high level language) :
       bahasa yang berorientasi ke manusia (seperti
       bahasa inggris)
       contoh bahasa Pascal, bahasa C dll.

    BAHASA PEMROGRAMAN

• Program yang ditulis dalam bahasa
   pemrograman akan diterjemahkan ke
  dalam bahasa mesin (kenal dengan biner
  digit) dengan menggunakan penterjemah.
  Penterjemah :
   –  Interpreter : menterjemahkan baris per baris
      instruksi. Contoh bahasa Basic.
  –  Compiler : menterjamahkan setelah seluruh
     instruksi ditulis. Contoh bahasa Pascal, C,
     C++, dll.

    Definisi Algoritma

• Urutan langkah-langkah untuk memecahkan masalah
• Urutan  logis  pengambilan  keputusan  untuk  
memecahkan masalah
–  urutan langkah logis , berarti algoritma harus mengikuti suatu 
urutan tertentu, tidak boleh melompat-lompat.
• Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis.
–  alur pikiran , yang artinya algoritma  seseorang dapat berbeda
dari algoritma orang lain. 
–  tertulis , yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.

• 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).
Tahap
 Masalah Penyelesaian
Masalah
Model analisis


Algoritma          analisis


Program analisis


Eksekusi                Data


Hasil

    Kriteria Pemilihan Algoritma
1. Ada Output
2. Efektifitas dan Efisiensi
3. Jumlah Langkahnya Berhingga
4. Berakhir
5. Terstruktur

    1: Pengertian Dasar Logika dan Algoritma
            Suatu Algoritma yg terbaik ( The Best ):
“Suatu algoritma harus menghasilkan output
yg tepat guna (efektif) dlm waktu yg relatif
singkat & penggunaan memori yg relatif
sedikit (efesien) dgn langkah yg berhingga &
prosedurnya berakhir baik dlm keadaan
diperoleh suatu solusi ataupun tdk ada
solusinya.“


    Contoh:
Sebuah  prosedur  ketika  akan  mengirimkan  surat  kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu
ambil  buku  alamat  &  cari  alamat  yg  dituju,  lalu  tulis
alamat tsb pd amplop surat.
6. Tempelkan perangko pada amplop surat
7. Bawa  surat  ke  kantor  pos  utk  diserahkan  pd  pegawai
pos atau menuju ke bis surat untuk memasukkan surat
ke dlm kotak/bis surat.

    Penulisan Algoritma

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

    Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma
2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)
3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji  Program dari suatu
Algoritma

Ad.1. Bagaimana merencanakan algoritma
            Dengan Mendefinisikan masalah.
            Contoh  : Permasalahan menghitung luas lingkaran,
            dengan data yang diketahui adalah diameter
            lingkaran.

            Rumus :       . r2 dengan  Phi =  3.14 atau 22/7.

Ad.2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)

–  Dengan psudocode
Suatu cara  penulisan algoritma agar ide dan logika
dari algoritma dapat disampaikan/diekspresikan
menggunakan gaya bahasa pemrograman tertentu.

Phi     3.14
Input (diameter)
Radius     diameter / 2
Luar     phi * radius * radius
Output (Luas)
End

–  Dengan flowchart /
 Start
diagram alir
         Program Flowchart, yaitu
Phi = 3.14 bagan yang menggambar-
        kan urutan logika dari suatu
        prosedur pemecahan
Input
        masalah.                                     ( diameter )


Radius = diameter/2
Luas = phi * radius * radius


Output
Luas

Stop

    Tahap Proses Uji Algoritma
2. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis
maupun logika.
2.  Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyak nya
memori program yang digunakan.

    Analisis Suatu Algoritma 
Untuk melihat effisiensi dan  efektifitas dari suatu algoritma,
dapat dilihat dari:

1. Waktu Tempuh dari Suatu Algoritma
2. Jumlah memori yang digunakan

   Hal-hal  yang  dapat  mempengaruhi  waktu
tempuh adalah :
   Banyaknya langkah .
   Besar dan jenis input data .
   Jenis Operasi .
   Komputer dan kompilator

    Sifat - Sifat Algoritma
Aspek Penting Algoritma :
•  Finite      algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas
•  Definite      setiap langkah didefinisikan secara  tepat,
tidak boleh membingungkan (ambigu)
•  Input      sebuah algoritma memiliki nol/lebih input
sebelum dijalankan
•  Output      algoritma memiliki satu/lebih output, yang
biasanya bergantung kepada input
•  Effective      setiap algoritma diharapkan memiliki sifat
efektif. (setiap langkah harus sederhana  dan sehingga
dapat dikerjakan dalam waktu yang masuk akal)

Langkah-langkah yang membentuk suatu algoritma
dapat dibagi menjadi 3 kelompok proses:

1.  Sequence Process      instruksi dikerjakan secara
berurutan satu persatu dimulai dari langkah pertama
sampai terakhir.
2.  Selection Process      instruksi pemilihan proses
(percabangan),  sehingga apabila memenuhi
persyaratan tertentu maka instruksi akan dikerjakan.
Contoh  : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari
2 alternatif instruksi.
3.  Iteration Process      suatu instruksi yang dikerjakan
berulang-ulang selama beberapa kali selama masih
memenuhi suatu kondisi.

    BAHASA PEMROGRAMAN
• Program harus ditulis dalam suatu bahasa
   yang dimengerti oleh komputer yaitu
   dalam Bahasa pemrogram dibedakan
   menjadi :
    – Bahasa tingkat rendah (low level language) :
        bahasa yang berorientasi ke mesin.
    – Bahasa tingkat  tinggi (high level language) :
       bahasa yang berorientasi ke manusia (seperti
       bahasa inggris)
       contoh bahasa Pascal, bahasa C dll.

    BAHASA PEMROGRAMAN
        • Program yang ditulis dalam bahasa
  pemrograman akan diterjemahkan ke
  dalam bahasa mesin (kenal dengan biner
  digit) dengan menggunakan penterjemah.
  Penterjemah :
   –  Interpreter : menterjemahkan baris per baris
      instruksi. Contoh bahasa Basic.
  –  Compiler : menterjamahkan setelah seluruh
     instruksi ditulis. Contoh bahasa Pascal, C,
     C++, dll.

    What is  Algoritma
Definisi Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis.
Contoh :
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
–  Tuangkan larutan dari bejana A ke dalam bejana B
–  Tuangkan larutan dari bejana B ke dalam bejana A.

    Algoritma
           Algoritma TUKAR ISI BEJANA di atas tidak
    menghasilkan pertukaran yang benar. Langkah
    di atas tidak logis, hasil pertukaran yang terjadi
    adalah percampuran kedua larutan tersebut.
   Untuk mempertukarkan isi duah bejana,
    diperlukan sebuah bejana tambahan sebagai
    tempat penampungan sementara, misalnya
    bejana C. Maka algoritma untuk menghasilkan
    pertukaran yang benar adalah sebagai berikut :
    
     Ciri penting Algoritma
   Algoritma harus berhenti setelah mengerjakan
    sejumlah langkah terbatas.
   Setiap langkah harus didefinisikan dengan
    tepat dan tidak berarti-dua (Ambiguitas).
    Algoritma memiliki nol atau lebih masukkan.
    Algoritma memiliki nol atau lebih keluaran.
   Algoritma harus efektif (setiap langkah harus
    sederhana sehingga dapat dikerjakan dalam
    waktu yang masuk akal).


    Notasi Algoritma
• Penulisan algoritma tidak tergantung dari
    spesifikasi bahasa pemrograman dan
    komputer yang mengeksekusinya. Notasi
    algoritma bukan notasi bahasa
    pemrograman tetapi dapat diterjemahkan
    ke dalam berbagai bahasa pemrograman

0 komentar:

Posting Komentar