Struktur Algoritma

  1. Struktur Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

  1. Perhatikan algoritma sederhana berikut:

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

Algoritma menghitung luas persegi panjang:

  1. Masukkan panjang (P)
  2. Masukkan lebar (L)
  3. Luas P * L
  4. Tulis Luas
    1. Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
  5. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakann
  6. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  7. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
    1. Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
  8. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  9. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi Bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algori
  10. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks progra Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  11. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh kompu 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.
  12. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman
  13. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman

 

  1. Penerjemahan 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 berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar.

 

Tabel 1. Perbedaan compiler dan interpreter

Compiler Interpreter
Menterjemahkan secara keseluruhan Menterjemahkan Instruksi per instruksi
Bila terjadi kesalahan kompilasi maka

source program harus diperbaiki dan

dikompilasi ulang

Bila terjadi kesalahan interprestasi dapat diperbaiki
Dihasilkan Object program Tidak dihasilkan obyek program
Dihasilkan Executable program Tidak dihasilkan Executable program
Proses pekerjaan program lebih cepat Proses pekerjaan program lebih lambat
Source program tidak dipergunakan

hanya bila untuk perbaikan saja

Source program terus dipergunakan
Keamanan dari program lebih terjamin Keamanan dari program kurang terjamin

 

  1. Alur Logika Pemrograman
    1. Penyajian atau Penulisan Algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar.  Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, yaitu dengan Flowchart.

 

  1. Flowchart (Diagram Alir)

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan   dengan   simbol.

Kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:

  1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singka
  2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan EN

Berikut merupakan simbol-simbol bagan alir program (flowchart) dalam dunia pemrograman:

  • (1) Notasi membuat algoritma sederhana untuk    menyelesaikan permasalahan menggunakan bahasa natural, flowchart dan pseudocode
  • (2) Notasi ini disebut Data yang digunakan untuk  mewakili data input atau output atau menyatakan operasi pemasukan data dan pencetakan hasil
  • (3) Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.
  • (4) Notasi ini  disebut  Decision  yang  digunakan  untuk  suatu  pemilihan, penyeleksian kondisi di dalam suatu program
  • (5) Notasi ini disebut Preparation  yang digunakan  untuk memberi  nilai awal, nilai akhir, penambahan/pengurangan bagi suatu variabel counte
  • (6) Notasi   ini   disebut   Predefined    Process   yang   digunakan    untuk menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub- prosedur,  fungsi)
  • (7) Notasi ini disebut Connector yang digunakan untuk menunjukkan sambungan dari flowchart yang terputus di halaman yang sama atau halaman berikutn
  • (8)
  • Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus  data   atau   aliran data dari proses satu ke proses lainn

Contoh program flowchart

 

Bagan alir logika program                 Bagan alir program komputer terinci

 

 

  1. Struktur dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombiasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu

  1. Struktur Runtunan/Beruntun: Digunakan untuk program yang pernyataannya sequential atau uruta

Contoh menghitung luas Persegi panjang

Algoritma

  1. Mulai
  2. Inisialisasi variabel panjang,lebar dan luas
  3. Masukan Nilai variabel panjang dan lebar
  4. Hitung luas dengan rumus luas=panjang*lebar;
  5. Tampilkan Nilai Luas

Flowchart

 

 

  1. Struktur Pemilihan/Percabangan: Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.

Bentuk sederhana dari percabangan bersarang jika digambarkan dalam flowchart bentuknya akan seperti berikut:

  1. Pada flowchart tersebut, “perintah 1” dilakukan saat “kondisi 1”  bernilai benar, sedangkan jika nilainya salah, maka akan dijalankan “kondisi 2”.
  2. Selanjutnya pada “kondisi 2”, jika nilainya benar maka “perintah 2” akan dijalankan, sedangkan jika salah maka “perintah 3” yang akan dijalankan.

 

 

  1. Struktur Perulangan: Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.

Contoh Algoritma dari flowchart

 

  1. Mulai
  2. Inisialisasi nilai awal i=1
  3. Cek Kondisi apakah nilai i <=10 jika kondisi bernilai benar maka cetak kalimat “Belajar perulangan for”
  4. Nilai i dilakukan increment (ditambahkan 1)
  5. Cek kondisi kembali apakah nilai i <=10 bila kondisi bernilai benar (true) maka cetak kembali kelimat “belajar perulangan for”
  6. Iterasi terus dilakukan hingga konisi bernilai salah (false)
  7. Selesai

 

Leave a Reply

Your email address will not be published. Required fields are marked *