PENGERTIAN ALGORITMA
DAN PEMROGRAMAN
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai
sejarah yang aneh. Oranghanya menemukan kata Algorism yang
berarti proses menghitung dengan angka arab. Andadikatakan Algorist jika
anda menghitung menggunakan Angka Arab. Para ahli bahasaberusaha menemukan asal
kata ini namun hasilnya kurang memuaskan. Akhirnya para ahlisejarah matematika
menemukan asal kata tersebut yang berasal dari nama penulis bukuarab yang
terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi
menulis buku yangberjudul Kitab Al Jabar Wal-Muqabala yang
artinya “Buku pemugaran dan pengurangan”(The book of restoration and
reduction). Dari judul buku itu kita juga memperoleh akarkata “Aljabar” (Algebra).
Perubahan kata dari Algorism menjadiAlgorithm muncul
karenakata Algorism sering dikelirukan dengan Arithmetic,
sehingga akhiran –sm berubah menjadi–thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambatlaun
kata Algorithm berangsur-angsur dipakai sebagai metode
perhitungan (komputasi)secara umum, sehingga kehilangan makna kata aslinya.
Dalam Bahasa Indonesia, kataAlgorithm diserap menjadi Algoritma.
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk
mendeskripsikan proses komputasi dalam format yang dapat
dibaca oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara
formal menggunakan konsep matematika dari Mesin
Turing. Pada dasarnya bahasa Pemrograman dirancang untuk
memfasilitasi komunikasi antara manusia dengan komputer.
Sebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk
mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu
memiliki variableinteger dan operator aritmatik, pernyataan penugasan,pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi.
DEFINISI ALGORITMA
“Algoritma adalah urutan langkah-langkah logis penyelesaian
masalah yang disusunsecara sistematis dan logis”.Kata Logis merupakan kata
kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis dan harus
dapat ditentukan bernilai salah atau benar.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak
cabang ilmu computer yang diacu dalam terminologi algoritma. Namun, jangan
beranggapan algoritma selaluidentik dengan ilmu komputer saja. Dalam kehidupan
sehari-haripun banyak terdapatproses yang dinyatakan dalam suatu algoritma.
Cara-cara membuat kue atau masakan yangdinyatakan dalam suatu resep juga dapat
disebut sebagai algoritma. Pada setiap resep selaluada urutan langkah-lankah
membuat masakan. Bila langkah-langkahnya tidak logis, tidakdapat dihasilkan
masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakanakan membaca
satu per satu langkah-langkah pembuatannya lalu ia mengerjakan prosessesuai
yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses
disebutpemroses (processor). Pemroses tersebut dapat berupa manusia,
komputer, robot atau alatalatelektronik lainnya. Pemroses melakukan suatu
proses dengan melaksanakan atau“mengeksekusi” algoritma yang menjabarkan proses
tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di
dalam Algoritmatersebut. Pemroses mengerjakan proses sesuai dengan algoritma
yang diberikan kepadanya.Juru masak membuat kue berdasarkan resep
yang diberikan kepadanya, pianis memainkanlagu berdasarkan papan not balok.
Karena itu suatu Algoritma harus dinyatakan dalambentuk yang dapat dimengerti
oleh pemroses. Jadi suatu pemroses harus :
1.
Mengerti setiap
langkah dalam Algoritma.
2.
Mengerjakan operasi
yang bersesuaian dengan langkah tersebut.
Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan
oleh komputer,algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga
dinamakan program.Jadi program adalah prwujudan atau implementasi
teknis Algoritma yang ditulis dalambahasa pemrogaman tertentu sehingga dapat
dilaksanakan oleh
Belajar Memprogram Dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Belajarmemprogram adalah belajar tentang metodologi pemecahan masalah,
kemudianmenuangkannya dalam suatu notasi tertentu yang mudah dibaca dan
dipahami. Sedangakanbelajar bahasa pemrograman berarti belajar memakai suatu
bahasa aturan-aturan tatabahasanya, instruksi-instruksinya, tata cara
pengoperasian compiler-nya, danmemanfaatkan instruksi-instruksi
tersebut untuk membuat program yang ditulis hanyadalam bahasa itu saja.
Sampai saat ini
terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkantujuan dan
fungsinya. Diantaranya adalah :
1.
Belajar
Memprogram
§ Belajar memprogram ≠ belajar bahasa
pemrograman
§ Belajar memprogram : belajar tentang strategi
pemecahan masalah, metodologi dansistematika pemecahan masalah kemudian
menuliskannya dalam notasi yangdisepakati bersama.
§ Belajar memprogram : bersifat pemahaman
persoalan, analisis dan sintesis.
§ Belajar memprogram, titik berat : designer
program.
1.
Belajar
Bahasa Pemrograman
§ Belajar bahasa pemrograman : belajar memakai
suatu bahasa pemrograman, aturansintaks, tatacara untuk memanfaatkan instruksi
yang spesifik untuk setiap bahasa.
§ Belajar bahasa pemrograman, titik berat :
coder.
1.
Produk
yang dihasilkan Pemrogram :
§ Program dengan rancangan yang baik
(metodologis, sistematis).
§ Dapat dieksekusi oleh mesin.
§ Berfungsi dengan benar.
§ Sanggup melayani segala kemungkinan masukan.
§ Disertai dokumentasi.
§ Belajar memprogram, titik berat : designer
program.
2.Algoritma
1.
Aksi :
§ kejadian yang terjadi pada selang waktu
terbatas (dimulai saat T0 danberakhir pada saat T1).
§ Menghasilkan efek netto yang terdefinisi
dengan baik dan direncanakan.
1.
Contoh
:
§ Ibu Tati mengupas kentang untuk
mempersiapkan makan malam (luasruang lingkupnya).
§ Karena ruang lingkup luas, maka harus
didefinisikan keadaan awal dan efeknetto yang direncanakan ( Initial State dan
Final State).
§ Initial State (keadaan awal) : T0 kentang
sudah ada dikantong kentang, danditaruh di rak dapur dimana ibu Tati akan
mengupasnya.
§ Final State (keadaan akhir) : T1 kentang dalam
keadaan terkupas di panci,siap untuk dimasak dan kantong kertasnya harus
dikembalikan ke rak lagi.
§ Kejadian : urut-urutan dari beberapa aksi yang
terjadi secara berurutan.
§ Efek kumulatif dari semua aksi yang terjadi
menjadi efek netto dari kejadian.
§ Penggolongan suatu kejadian menjadi aksi
adalah relatif tergantung darisudut pandang. Contoh mengupas kentang dapat
dijelaskan :
§ Ambil kantong kentang dari rak
§ Ambil panci dari almari
§ Kupas kentang
§ Kembalikan kantong kentang ke rak
§ Contoh lain (jika tidak dipandang perlu untuk
menjelaskan kantong kentangdiambil dari rak sebelum ambil panci) :
§ Ambil kantong kentang dari rak dan ambil panci
dari almari
§ Kupas kentang
§ Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam
juga, dankita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama?Ini
tergantung jawabannya bisa sama bisa tidak.
Tidak karena
ibu Tati tidak mungkin mengupas kentang yang sama dengankemarin.
Sama karena
kemiripan pola yang dilakukan.
3.Notasi Algoritma Independen Terhadap Bahasa Pemrograman
DanMesin Komputer
Notasi Algoritma dapat
diterjemahkan ke dalam berbagai bahasa pemrograman.Analoginya sama dengan resep
membuat kue. Sebuah resep dapat ditulis dalam bahasaapapun dan hasilnya akan
sama asalkan semua aturan pada resep diikuti.Mengapa demikian ? Karena setiap
juru masak (sebagai pemroses) dapat melakukanoperasi dasar yang sama, seperti
mengocok telur, menimbang berat gula, dan lainsebagainya.
Demikian juga halnya
dengan komputer. Meskipun setiap komputer berbeda teknologinya,tetapi secara
umum semua komputer dapat melakukan operasi-operasi dasar dalampemrograman
seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika,dan
sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi
dasaritu, yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada
sisi lain setiapprogram dalam bahasa tingkat tinggi selalu diterjemahkan
kedalam bahasa mesin sebelumakhirnya dikerjakan oleh CPU. Setiap instruksi
dalam bahasa mesin menyajikan operasidasar yang sesuai, dan menghasilkan efek
netto yang sama pada setiap komputer.
Pemrograman Prosedural
Algoritma berisi
urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritmaadalah proses
yang procedural.
Definisi Prosedural
menurut Kamus Besar Bahasa Indonesia :
1.
Tahap-tahap kegiatan
untuk menyelesaikan suatu aktivitas.
2.
Metode langkah demi
langkah secara eksak dalam memecahkan suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian data
dengan bagianinstruksi. Bagian instruksi terdiri atas runtutan (sequence)
instruksi yang dilaksanakan satuper satu secara berurutan oleh pemroses. Alur
pelaksanaan instruksi dapat berubah karenaadanya pencabangan kondisional. Data
yang disimpan di dalam memori dimanipulasi olehinstrusi secara beruntun atau
procedural. Paradigma pemrograman seperti ini dinamakanpemrograman procedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic,
Pascal, Fortran dan Cmendukungkegiatan pemrograman
procedural, karena itu mereka dinamakan juga bahasa procedural.Selain paradigma
pemrograman procedural, ada lagi paradigma yang lain yaitupemrograman
berorientasi objek (Object Oriented Programming). Paradigma
pemrogramanini merupakan trend baru dan sangat populr akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman
fungsional,pemrogramndeklaratif dan pemrograman
konkuren. Pada kesempatan ini penulis hanya menyajikanparadigma
pemrograman procedural saja.
Keuntungan pemakaian
algoritmaadalah: logika pemecahan masalah dapat
dibuat bertingkat
(mulai dari global menuju terperinci), algoritma merupakanbentuk fleksibel
untuk diterapkan keberbagai bahasa pemrograman.
JadiAlgoritmaadalah:
1.
penyusunaan
aspekproses logika dari suatu pemecahan masalah tanpamelihat karakteristik
bahasa pemrograman yang akan digunakan.
2.
Urutan notasi logika
yang merupakan hasil analiss dan rancangansistematik dari strategi pemecahan
maslah, untuk menggambarkanurutan langkah kerja yang jika dikerjakan akan
membawa ketujuannya.
3.
Urutan logika langkah
kerja untuk meyelesaikan suatu masalah.
Contoh algoritma dalam
kehidupan sehari-hari, misalnya: menjahit pakaian,membuat kue, jadwal harian,
panduan merakit komputer, dan lain-lain.
Tidak ada komentar:
Write komentar