STRUKTUR ALGORITMA (BAB 1 P.DASAR)

A.pengertian algoritma
1. Apakah Itu Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang
aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung



dengan angka arab.
2. Algoritma Merupakan Jantung Ilmu Informatika 
Algoritma adalah jantung ilmu komputer atau informatika Banyak cabang ilmu
komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan
beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam
kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatualgoritma .
B. Definisi Algoritma 
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis . Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untukmelakukan pekerjaan tertentu
Pertimbangan dalam pemilihan algoritma adalah
•pertama, algoritma haruslah benar.
•keduakita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.
•Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu
  efisiensi waktu dan memori. Semakin lama waktu pembuatan algoritma & semakin besar memorinya maka akan semakin buruk algoritma itu
Contoh algoritma
•Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
  1. Menyiapkan Peralatan Tulis
  2. Menulis surat
  3. Surat dimasukkan ke dalam amplop tertutup
  4. Amplop ditempeli perangko secukupnya.
  5. Pergi ke Kantor Pos terdekat untuk mengirimkannya
Keuntungan menggunakan algoritma
 a) Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
 b) Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
 c) Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. 
Hal yang perlu diperhatikan dalam membuat algoritma
  a) Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. (harus mudah dimengerti dan dipahami)
  b) Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik
  c) Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
      Hal ini dikarenakan teks algoritma tidak sama dengan teks program.
  d) Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
  e) Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  f) Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
C. Definisi Program / Pemrograman
         Pemrograman adalah kumpulan instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer. 
         Program adalah kumpulan instruksi yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.
•Bahasa Pemrograman adalah alat untuk membuat program .Contoh: C, C++, C#,Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
  Secara garis besar, unsur-unsur pemrograman adalah Input >Proses> Output.
1. Input = merupakan proses untuk memasukkan data ke komputer melalui device yang ada misalnya keyboard, mouse, scanner dll.
2. Output = Bagian ini merupakan proses untuk menampilkan data yang telah diolah,
3. proses = merupakan proses mengolah data yang diinputkan dengan nenerapkan
  metode-metode, teknik-teknik, algoritma-algoritma yang ada. 
Beda Algoritma dan Program ?
  Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan
  sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan
  bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi
  dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
  Program = Algoritma + Bahasa (Struktur Data)
Penerjemah Bahasa Pemrograman
•Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.
Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program.
interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera.
Perbedaan Compiler dan interpreter.
Paradigma Pemrograman :
1) Pemrograman Prosedural
a) Berdasarkan urutan-urutan, sekuensial
b) Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
c) Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
2) Pemrograman Fungsional
            a) Berdasarkan teori fungsi matematika
            b) Fungsi merupakan dasar utama program.
3) Pemrograman Terstruktur
            a) Secara berurutan dan terstrukrtur.
            b) Program dapat dibagai-bagi menjadi prosedur dan fungsi.
c) Contoh: PASCAL dan C
4) Pemrograman Modular
            a) Pemrograman ini membentuk banyak modul.
            b) Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
            c) Sebuah program dapat merupakan kumpulan modul-modul.
            d) Contoh: MODULA-2 atau ADA
5) Pemrograman Berorientasi Obyek
            a) Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki
            data/variabel/property dan method/event/prosedur yang dapat dimanipulasi
            b) Contoh: C++, Object Pascal, dan Java.
6) Pemrograman Berorientasi Fungsi
            a) Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung
            pada tujuan pembuatan bahasa pemrograman ini.
            b) Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
7) Pemrograman Deklaratif
            a) Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan
            daripada memecahkan masalah dengan implementasi algoritma.
            b) Contoh: PROLOG
D. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa- bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.
1. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini
adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
2. Bahasa pemrograman bertujuan umum, yang dapat digunakan untuk
berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C.
Berdasarkan pada apakah notasi bahasa pemrograman lebih dekat ke mesin atau
ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam:
2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih manusiawi , dan berorientasi ke bahasa manusia (bahasa Inggris).

            Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, PHP, C++, dan sebagainya. 

Post a Comment