Site icon agussuratna.net

Tutorial C++ : #1 Konsep Algoritma

Ilmu Komputer adalah ilmu pengetahuan yang berhubungan dengan komputer dan komputasi. Di dalamnya terdapat teoritika, eksperimen, dan pendesainan komponen, serta termasuk didalamnya hal-hal yang berhubungan

dengan:

 

Sejarah istilah “algoritma”

Kata algoritma juga berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Abu Ja`far Muhammad bin Musa al-Khwārizmī al-Majousi al-Katarbali yang lahir di Khawarizm (Kheva), kota yang berada di selatan Sungai Oxus (sekarang disebut Uzbekistan), yang biasa disebut al-Khwārizmī (770M-840M), orang barat menyebut Al-Khwarizmi dengan Algorism.

Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal-Muqabala yang artinya `Buku Pemugaran dan Pengurangan` (The book of Restoration and Reduction). Dari judul buku tersebut, kita juga memperoleh kata “aljabar” atau biasa dikenal dengan algebra.

Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer.

Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan aritmetis yang berguna untuk menyelesaikan persoalan dengan menggunakan bilangan numeric Arab.

Pada awalnya kata algorisma merupakan istilah yang akan merujuk kepada aturan-aturan aritmetis untuk dapat menyelesaikan persoalan dengan menggunakan bilangan numerik arab. Pada abad ke-18, istilah ini juga telah berkembang pesat menjadi algoritma, yang dimana akan mencakup semua prosedur atau juga urutan langkah yang jelas dan juga diperlukan untuk dapat menyelesaikan suatu permasalahan. Masalah ini akan timbul pada saat akan menuangkan bagaimana proses yang harus dilaluinya dalam suatu ataupun juga sebuah sistem (program) bagi komputer hingga pada saat eksekusinya, komputer dapat bekerja seperti yang akan diharapkan. Programer komputer ini akan lebih nyaman menuangkan prosedur komputasinya atau juga suatu urutan langkah proses dengan terlebih dahulu membuat gambaran.

 

Pengertian Algoritma

Algoritma merupakan suatu jantung dari ilmu komputer maupun juga informatika. Ada banyak cabang ilmu dari komputer yang dapat mengacu dalam terminologi algoritma. Akan tetapi, kita jangan beranggapan bahwa algoritma selalu di identikkan dengan ilmu komputer saja. Misalnya cara membuat kue maupun juga masakan yang akan dinyatakan dalam resep masakan, itu juga merupakan algoritma.

Algoritma merupakan suatu susunan langkah dimana penyelesaian suatu masalah secara sistematika dan logis. Terdapat dua kata yang menjadi titik perhatian kita yakni sistemati dan logis. Algoritma merupakan suatu langkah-langkah yang disusun secara tertulis dan juga akan berurutan untuk dapat menyelesaikan suatu masalah.

Algoritma adalah :

  1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tersusun secara logis dan sistematis.
  2. Suatu prosedure yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.

 

Ada 3 cara dalam penyusunan algoritma (Notasi algoritma) yaitu :

  1. Dengan merumuskan langkah-langkah pemecahan masalah melewati kalimat yang terstruktur (kalimat deskriftif)
  2. Menggabungkan kalimat dengan penggalan stratements yang ada di suat bahasa pemrograman (misal C++). Biasanya ini juga disebut juga dengan Pseudo code
  3. Menggunakan diagram alir (Flow Chart).

 

Beda Algoritma dan Program?

 

Ciri-ciri Algoritma

Donald E.Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu:

 

Struktur Algoritma

Agar algoritma dapat ditulis dengan teratur maka sebaiknya dibagi ke dalam beberapa bagian :

Memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis.

Memuat definisi tentang nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data yang digunakan dalam algoritma.

Memuat langkah-langkah penyelesaian masalah, termasuk Beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi output, dsb.

Berikut adalah contoh struktur sebuah contoh algoritma yg menerima dua buah angka bulat kemudian menampilkan angka yang lebih besar.

 

Bahasa Pemrograman

Sampai saat ini terdapat puluhan bahasa pemrograman, 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 dan banyak lagi. Belakangan juga muncul bahasa pemrograman baru seperti Perl dan Java.

Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar:

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 simulasi, dsb. 

2. Bahasa pemrograman bertujuan umum

Yang dapat digunakan untuk berbagai aplikasi, yang termasuk kelompok ini diantaranya adalah   bahasa Pascal, Basic, C, C++ dan lain-lain.

 

Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” kemesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam.

1. Bahasa tingkat rendah

Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin.

2. Bahasa tingkat tinggi

Yang membuat pemrograman lebih lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa inggris). Program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dsb.

Ada sumber yang mendefinisikan bahasa tingkat tinggi dari sudut pandang kemudahan pemakaiannya serta orientasinya yang lebih dekat ke bahasa manusia. Les Goldschager [GOL88] menuliskan spektrum bahasa mulai dari bahasa tingkat tinggi (Pascal, Ada, PL/I, Cobol), bahasa tingkat menengah (Bahasa menengah, Basic, Fortran), sampai bahasa tingkat rendah (Bahasa mesin).

Berikut adalah contoh dalam Bahasa Mesin untuk menambahkan register 1 dan 2 dan menempatkan hasilnya dalam register 6 dikodekan.

[Arsitektur MIPS]

rs, rt, and rd indicate register operands; shamt gives a shift amount; and the address or immediate fields contain an operand directly.

 

Langkah-langkah algoritma dengan untaian kalimat deskriptif

Langkah-langkah algoritma dengan Pseudo Code

 

Langkah-langkah algoritma dengan Flow Chart

  1. Mulai
  2. Masukkan A dan B
  3. Apakah A>B ?
  4. bila Ya, Cetak A, bila Tdk, Cetak B
  5. Selesai

 

Translasi Notasi Algoritma ke dalam Notasi Bahasa C dan C++

Contoh translasi dari algoritma menampilkan angka yang lebih besar ke dalam bahasa C++.

Setelah dicompile dan run haasilnya adalah :

 

Daftar Pustaka :

Exit mobile version