Algoritma
Kata ‘algoritma’ diturunkan dari nama belakang seorang tokoh
matematikawan Persia bernama Muhammad ibn Musa al-Khuwarizmi (lahir
tahun 730an, meninggal antara tahun 835 dan 850). Al-Khuwarizmi berasal
dari propinsi Khorasan di negara yang saat ini bernama Uzbekistan. Uni
Soviet menghormati jasa-jasa Al-Khuwarizmi dengan membuat gambar dirinya
sebagai perangko.
Algoritma merupakan metode umum yang digunakan untuk
menyelesaikan kasus-kasus tertentu [1]. Dalam menuliskan algoritma, dapat
digunakan bahasa natural atau menggunakan notasi matematika, sehingga
masih belum dapat dijalankan pada komputer.
Dalam kehidupan sehari-hari, kita sudah melakukan penyusunan
algoritma untuk menyelesaikan permasalahan atau tantangan yang dihadapi.
Sebagai contoh, pada saat diminta untuk membuat telur dadar. Sebelum
membuat algoritmanya, kita perlu mendefinisikan masukan (input) dan luaran
(output) terlebih dahulu, dimana input berupa telur mentah, dan output berupa
telur dadar yang sudah matang.
Susunan algoritmanya sebagai berikut:
1. Nyalakan api kompor
2. Tuangkan minyak ke dalam wajan
3. Pecahkan telur ayam ke dalam mangkok
4. Tambahkan garam secukupnya . Aduk campuran telur dan garam
6. Tuang adonan telur ke dalam wajan
7. Masak telur hingga matang
Algoritma akan lebih baik jika ditulis secara sistematis menggunakan
beberapa skema, dalam buku ini akan dibahas mengenai skema Flowchart dan Pseudocode.
Program
Program adalah formulasi sebuah algoritma dalam bentuk bahasa
pemrograman, sehingga siap untuk dijalankan pada mesin komputer.
Membuat program seperti memberitahukan apa yang harus dilakukan kepada
orang lain. Sebagai contoh, pada saat kita memberitahukan algoritma
membuat telur dadar kepada orang lain, kita sudah melakukan pemrograman.
Pemrograman membuat telur dadar kepada orang lain akan lebih
mudah karena orang tersebut sudah mengetahui apa itu telur dadar. Pada
langkah yang ke-3 diminta untuk memecahkan telur, bagaimana cara orang
tersebut memecahkan telur tentunya sudah diketahui dan kita tidak perlu
menjelaskan terlalu detil.
Lain halnya jika kita harus menyuruh komputer untuk melakukan apa
yang kita inginkan. Komputer sebenarnya hanyalah sebuah mesin bodoh yang
tidak memiliki emosi dan kemampuan bersosialisasi. Oleh karena itu, untuk
membuatnya menjadi mudah, diperlukan penyusunan algoritma yang benar.
Mendesain algoritma yang benar dan menterjemahkannya ke dalam
bahasa pemrograman bukanlah hal yang mudah karena bahasa pemrograman
memiliki tata penulisan sendiri.
Bahasa Pemrograman
Bahasa pemrograman adalah bahasa buatan yang digunakan untuk
mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin
komputer, sehingga dapat digunakan untuk memberitahu komputer
tentang apa yang harus dilakukan.
Struktur bahasa ini memiliki kemiripan dengan bahasa natural manusia,
karena juga tersusun dari elemen-elemen dasar seperti: kata benda dan kata
kerja serta mengikuti aturan untuk menyusunnya menjadi kalimat.
Klasifikasi Menurut Generasi
1. First Generation Language (1GL)
Bahasa pemrograman ini berupa kode-kode mesin yang hanya
bisa dipahami oleh mikroprosesor.
2. Second Generation Language (2GL)
Bahasa pada generasi ini adalah assembly language, dimana bahasa
ini masih menggunakan kode-kode yang disebut dengan
mnemonic. Bahasa assembly disebut sebagai generasi kedua karena
bahasa ini bukan bahasa asli mikroprosesor, meskipun begitu
programer tetap harus mengetahui keunikan dari masing-masing
mikroprosesor (register dan jenis instruksi).
Pendahuluan 5
3. Generasi ketiga
Bahasa pemrograman generasi ketiga sengaja didesain supaya
mudah dipahami oleh manusia. Pada generasi ini mulai dikenalkan
istilah variabel, tipe data, ekspresi aljabar dan sudah mendukung
pemrograman terstruktur.
Contoh bahasa: FORTRAN, COBOL, ALGOL, BASIC, C, C++,
Pascal, Java.
4. Generasi keempat
Pada generasi ini, bahasa pemrograman didesain untuk
mengurangi effort dan mempercepat proses pembuatan program.
Pada 3GL, pembuatan program membutuhkan waktu yang lama
dan mudah sekali didapati error. Pada 4GL, telah menggunakan
metodologi dimana sebuah perintah dapat menghasilkan beberapa
instruksi 3GL yang kompleks dengan sedikit error[4].
Contoh bahasa:
a. Pemrograman umum : DataFlex, WinDev, PowerBuilder
b. Basis data : SQL, Progress 4GL
c. Manipulasi data, analisis dan pelaporan : ABAP, Matlab,
PL/SQL.
5. Generasi kelima
Bahasa pemrograman generasi kelima disebut sebagai constraintprogramming
atau declarative-programming. Program tidak
dituliskan dalam bentuk algoritma melainkan dituliskan batasan
atau fakta dari sebuah lingkup masalah, sehingga program akan
menghasilkan luaran dalam bentuk solusi.
Bahasa pemrograman ini digunakan untuk membangun sistem
kecerdasan buatan dan belum digunakan secara meluas di dunia
industri. Contoh bahasa: Prolog, LISP, Mercury.
Klasifikasi Menurut Tingkatan
1. Low-level programming language
Tingkat bahasa pemrograman ini disebut ”rendah” (low level)
bukan karena posisinya berada di bawah, melainkan karena
kurangnya abstraksi (penggambaran kode instruksi) antara bahasa
natural dengan bahasa mesin. Oleh karena itu, bahasa di tingkat
ini sering disebut sebagai ’bahasa mesin’.
Bahasa pemrograman yang masuk kategori ini adalah bahasa
mesin itu sendiri (1GL) dan bahasa assembly (2GL).
Apabila ingin lengkapnya silahkan download ebook dibawah ini gratis
Download Disini / Materi ini Dibuat Oleh
Sekolah Tinggi Teknik Cendekia