Algoritma dan Pemrograman Dasar



Apa itu Algoritma?

Algoritma (algorism - algorithm) berasal dari Nama penulis buku Arab yaitu Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi yang mempunyai pengertian sebagai berikut:

  1. Penyusunan aspek proses logika dari suatu pemecahan masalah tanpa melihat karakteristik bahasa pemrograman yang akan digunakan.
  2. Urutan notasi logika yang merupakan hasil analisis dan rancangan sistematik dari strategi pemecahan masalah, untuk menggambarkan urutan langkah kerja yang jika dikerjakan akan membawa ke tujuannya.
  3. Urutan logika langkah kerja untuk menyelesaikan suatu masalah.

Jenis-jenis Algoritma

Terdapat 3 jenis algoritma yaitu Algoritma Sekuensial, Percabangan dan Perulangan.

Algoritma Sekuensial

Algoritma di jenis ini adalah sebuah perintah yang dapat tersusun dengan sistematis dan berurutan yang nantinya muncul beberapa instruksi.

Dari banyaknya perintah yang ditampilkan, perintah tersebut harus dikerjakan dengan berurutan dan tentunya berkaitan dengan menyesuaikan urutan yang ada di dalam penulisannya.

Dalam kata lain, apabila ingin melakukan hal yang lain maka hendaknya harus menyelesaikan instruksi sebelumnya dan yang sudah selesai.

Algoritma Percabangan

Di dalam algoritma percabangan ini yaitu suatu perintah yang bisa digunakan guna bisa memilih salah satu dari beberapa pilihan yang ada. Algoritma yang ada juga bisa dinamakan algoritma pemilihan.

Terdapat beberapa hal penting yang perlu diperhatikan dalam menerapkan algoritma dalam jenis ini, yaitu dalam memilih berbagai instruksi yang bisa dilakukan jika nantinya kondisi tersebut sudah dipenuhi. Maka hal tersebut diartikan bahwa hasil yang didapatkan menjadi hasil yang benar atau true.

Apabila solusi yang didapatkan sudah mendapatkan true, lalu selanjutnya perintah yang lain bisa dikerjakan. Sebaliknya, apabila solusi tersebut salah (false) maka nantinya perintah yang lain tidak akan bisa dikerjakan.

Algoritma Perulangan

Yaitu suatu perintah atau instruksi yang bisa digunakan dalam mengulang beberapa banyak perintah. Pengulangan tersebut dapat dilakukan dengan cara berulang-ulang kali dengan memperhitungkan syarat yang sudah ada di dalamnya.

Algoritma perulangan merupakan sebuah instruksi yang digunakan untuk mengulang deretan instruksi. Pengulangan tersebut dilakukan secara berulang-ulang sesuai dengan persyaratan yang telah ditetapkan.


Notasi Algoritma

Menurut Rinaldi Munir dalam buku Algoritma dan Pemrograman (1997) notasi algoritma adalah desain berisi urutan langkah-langkah pencapaian solusi yang tidak tergolong bahasa pemrograman apapun. Terdapat 3 jenis notasi algoritma, yaitu:

  • Notasi I: Untaian kalimat deskriptif.
  • Notasi II: Diagram alir (flowchart).
  • Notasi III: Pseudocode.

Notasi I: Untaian Kalimat Deskriptif

Notasi algoritma kalimat deskriptif adalah notasi algoritma yang menggunakan bahasa Inggris atau bahasa Indonesia dalam menjabarkan desain langkah pemrograman yang akan dibuat.

Notasi kalimat deskriptif ditulis dengan kerangka utama berupa judul, deklarasi dan deskripsi.

Deklarasi adalah bagian yang mendefinisikan variabel, fungsi dan juga konstanta yang akan digunakan dalam pemrograman. Adapun deskripsi berisi uraian langkah atau inti dari algoritma untuk suatu program komputer.

Contoh Notasi I: Menghitung Luas Segiempat

Algoritma Luas_Segiempat
Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat

Deklarasi
luas, panjang, lebar: bil. Bulat

Deskripsi
1. Masukkan nilai lebar dan panjang.
2. Hitung luas = panjang * lebar.
3. Tampilkan luas

Notasi II: Diagram Alir (Flowchart)

Diagram alir (flowchart) atau bagan arus adalah sebuah jenis diagram yang mewakili algoritma, alir kerja atau proses yang menampilkan langkah-langkah dalam bentuk simbol-simbol grafis dan urutannya dihubungkan dengan panah.

Diagram alir harus diawali dengan mulai dan diakhiri dengan selesai pada setiap diagramnya. Adapun  masing-masing bentuk simbol grafis mempunyai makna dan kegunaannya sendiri, Anda dapat mempelajarinya di sini.

Contoh Notasi II: Menghitung Luas Segiempat

Contoh Diagram Alir (Flowchart)
Contoh Diagram Alir (Flowchart)

Notasi III: Pseudocode

Pseudocode berasal dari kata pseudo dan code, dimana pseudo berarti mirip atau semu dan code berarti kode, jadi arti dari pseudocode adalah mirip kode atau kode semu.

Pseudocode adalah salah satu notasi algoritma yang banyak digunakan karena bentuk ini mirip dengan bahasa pemrograman di mana menggunakan banyak perintah-perintah dalam bahasa pemrograman, seperti IF, ELSE, THEN dan lain sebagainya.

Sama halnya dengan Notasi I: Untaian Kalimat Deskriptif, pseudocode juga ditulis dengan kerangka berupa judul, deklarasi dan deskripsi.

Contoh Notasi III: Menghitung Luas Segiempat

Algoritma Luas_Segiempat
{Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat}

Deklarasi
luas, panjang, lebar: integer

Deskripsi
input(panjang)
input(lebar)
luas = panjang * lebar
output(luas)

Program dan Pemrograman Komputer

Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai nalar yang tepat untuk menyelesaikan suatu persoalan.

Sedangkan pemrograman adalah kumpulan instuksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program). Bahasa pemrograma adalah alat untuk membuat program. Contoh: bahasa C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, JAVA, dll.

Unsur Pemrograman

Unsur pemrograman adalah Input -> Proses -> Output.

  1. Input: Bagian ini merupakan proses untuk memasukkan data ke komputer melalui device yang ada misalnya: keyboard, mouse, scanner, dll. Program melakukan proses membaca data yang akan diolah dari device tersebut.
  2. Proses: Bagian ini merupakan proses mengolah data yang diinputkan dengan menerapkan metode-metode, teknik-teknik, algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan di-output-kan kepada pengguna program.
  3. Output: Bagian merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pengolahan data melalui device seperti monitor, printer, dll. Program melakukan proses mencetak data ke device tersebut.

Perbedaan Algoritma dengan Program Komputer

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma.

Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa pemrograman adalah suatu implementasi dari bahasa pemrograman.

Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)


Bahasa Pemrograman

Bahasa pemrograman mempunyai dua jenis, yaitu bahasa tingkat rendah dan bahasa tingkat tinggi.

Bahasa Tingkat Rendah

Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya.

Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin dan sulit dipahami manusia.

Bahasa Tingkat Tinggi

Bahasa jenis ini membuat pemrograman lebih mudah dipahami, lebih "manusiawi" dan berorientasi ke bahasa manusia (bahasa Inggris).

Hanya saja program dalam bahasa tingkat tinggi tidak dapat 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 Python, PL/I, Cobol, Visual Basic, Fortran, C, PHP, C++ dan lain sebagainya.


Penerjemah Bahasa Pemrograman

Untuk menterjemahkan bahasa pemrograman yang ditulis, diperlukan compiler dan interpreter.

Compiler adalah suatu program yang menterjemahkan bahasa program (source code) ke dalam bahasa obyek (object code) secara keseluruhan program. Sedangkan intrepreter berbeda dengan compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan.

Keuntukan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alasahan ini interpreteri digunakan pada saat pembuatan program berskala besar.

Perbedaan Compiler dan Interpreter

Compiler:

  1. Menerjemahkan instruksi per instruksi
  2. Bila terjadi kesalahan interprestasi dapat diperbaiki
  3. Tidak dihasilkan object program
  4. Tidak dihasilkan executable program
  5. Proses pengerjaan program lebih lambat
  6. Source program terus dipergunakan
  7. Keamanan dari program kurang terjamin

Interpreter:

  1. Menterjemahkan secara keseluruhan
  2. Bila terjadi kesalahan kompilasi maka source program harus diperbaiki dan dikompilasi ulang
  3. Dihasilkan object program
  4. Dihasilkan executable program
  5. Proses pengerjaan progam lebih cepat
  6. Source program tidak dipergunakan hanya untuk perbaikan saja
  7. Keamanan dari program lebih terjamin

Syarat-syarat Algoritma Dikatakan Baik

  • Algoritma yang harus dilakukan secara efisien disaat proses dapat diselesaikan secepat yang dilakukan, dengan frekuensi perhitungan yang sangat pendek atau dapat dikatakan tidak mempunyai sumber daya yang boros.
  • Algoritma dapat dikatakan baik apabila dapat dengan mudah dilakukan implementasi perangkat di dalam komputer.
  • Lalu juga harus mempunyai algoritma yang bisa dipahami, hal tersebut dapat ditandakan bahwa algoritma tersebut baik.
  • Tingkat akurasi yang tinggi dimana algoritma tersebut harus digunakan dengan profesional, apabila algoritma tersebut memiliki hasil yang akurat dapat dikatakan bahwa algoritma tersebut sangat baik.
  • Algoritma yang berjalan dengan baik yaitu yang bersifat umum dan tidak membatasi bahwa hanya satu bidang yang spesifik.
  • Algoritma yang memiliki langkah-langkah yang detail dan jelas, yang dapat diartikan bahwa proses tersebut bisa benar dan sangat lengkap dimana dengan banyak penjelasan yang disuguhkan dan sangat memiliki kepastian yang detail.
  • Algoritma yang memiliki kualitas juga harus mempunya kemampuan untuk dikembangkan.

Posting Komentar untuk "Algoritma dan Pemrograman Dasar"