Tuesday, February 24, 2015

TEORI DASAR ALGORITMA DAN PEMROGRAMAN

TEORI DASAR ALGORITMA DAN PEMROGRAMAN



Definisi Algoritma :
Kata algoritma berasal dari kata “algoritmi”, pertama kali dicetuskan oleh Al-Khawarizmi, yang merupakan ilmuwan asal Persia. Pada awalnya algortima sendiri pertama kali digunakan untuk menyelesaikan soal aritmatika, tetapi dari zaman ke zaman algoritma digunakan untuk memecahkan masalah.
Algoritma tentunya memiliki hubungan dengan ilmu matematika, tentunya banyak pendapat dari para ahli mengenai algoritma.
•    Goodman Hedet Niemi mengatakan bahwa “algoritma adalah urut-urutan dari operasi-operasi yang terdefinisi dengan baik, yang masing-masing membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu masalah”
•    Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi mengungkapkan “algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan”
•    Menurut Seymur Lipschutz, P.hd “algoritma merupakan suatu langkah demi langkah yang terhingga dari instruksi-intruksi yang terdefinisikan dengan jelas yang dipakai untuk permasalahan tertentu.”
•    Menurut Minsky, algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.
•    Stone dan Knuth mengatakan bahwa algoritma adalah suatu perangkat yang tepat mendefinisikan urutan operasi hingga sedemikian rupa sehingga setiap aturan yang efektif, jelas hingga sedemikian rupa sehingga urutan berakhir dalam waktu yang terbatas.

Dari masing-masing pendapat yang dikemukan oleh para ahli, dapat kita simpulkan secara umum bahwa algoritma adalah suatu metode sistematis yang bersifat memiliki urutan-urutan yang digunakan untuk memecahkan masalah-masalah dan pengambilan keputusan.

Dalam penggunaan algoritma diperlukan beberapa petimbangan. Pertama adalah algoritma harus benar, yang berarti algoritma akan memberikan output yang sama dengan jumlah instruksi yang dimasukkan. Jika algoritma yang dimasukkan salah, maka salah juga outputnya.

Pertimbangan kedua adalah sejauh mana hasil keluaran dari algoritma yang dibuat, khususnya algoritma yang diperuntukkan yang memiliki output yang terdekat dengan hasil aslinya. Sebuah algoritma harus sebaik mungkin memiliki hasil yang dekat dengan hasil sebenarnya.

Yang ketiga adalah efisiensi dari algoritma, efisiensi ini dapat dilihat dari 2 konteks, yaitu kapasitas memori dan waktu. Walaupun sebuah algoritma memiliki hasil yang tepat bahkan mendekati, tetapi memerlukan waktu yang panjang untuk menunggu hasilnya, algoritma tersebut tidak akan dipakai, karena rang akan menggunakan algoritma yang keluaran yang cepat. Jika dikaitkan dengan kapasitas memori, jika memori yang dipakai terlalu banyak, maka algoritma tersebut kurang baik.

Semua orang dapat menyelesaikan masalah menggunakan algoritma dengan urutan-urutan yang berbeda-beda, yang terpenting adalah hasilnya sama.

Definisi Program :
Program jika didefinisikan secara umum dalam konteks teknologi informasi adalah aplikasi yang digunakan untuk menjalankan tugas, seperti aplikasi untuk mengerjakan dokumen, desain grafis, untuk perhitungan dan lain-lain. Tetapi jika didefinisikan secara detail, program merupakan sesuatu yang dibentuk dari pernyataan-pernyataan komputer, yang ditulis dengan bahasa pemrograman.
Dari definisi-definisi diatas, kita dapat menemukan hubungan antara algoritma dan program. Program dibuat dari bahasa pemrograman, sedangkan metode dengan tahapan yang sistematis disebut dengan algoritma. Jadi bisa dikatakan bahwa program adalah implementasi dari algoritma. Para ilmuwan memiliki rumus tentang hubungan antara algoritma dan program, yaitu :

STRUKTUR DATA + ALGORITMA = PROGRAM

Program tentunya memiliki keterkaitan dengan algoritma dan struktur data. Jika suatu algoritma itu memiliki susunan yang baik tetapi tanpa adanya struktur data yang baik, maka program yang dijalankan juga kurang efisien, begitu juga sebaliknya.
Ada beberapa hal yang perlu diperhatikan dalam pembuatan algoritma :

1.   Algoritma berisi urutan-urutan penyelesaian masalah, penulisan algoritma dapat digunakan dalam        notasi apapun dengan syarat dapat dimengerti.
2.   Tidak ada notasi tetap pada algoritma dalam bahasa pemrograman apapun, notasi algoritma tidak       memiliki pengaruh pada bahasa pemrograman. Komputer yang menjalankan algoritma.
3.   Algoritma adalah cara untuk mengkorversikan struktur penyelesaian masalah menjadi bahasa             pemrograman.
4.   Algoritma adalah hasil pemikiran yang bersifat konseptual, supaya komputer dapat                               melaksanakannya, algoritma harus diterjemahkan kedalam bahsa pemrograman.
5.  Notasi algoritmik bukanlah notasi bahasa pemrograman, karena itu pseudocode dalam notasi              algoritmik tidak dapat dibaca leh komputer.
6.  Setiap orang dapat membuat notasi algoritmanya sendiri. Karena teks algoritma tidak sama                  dengan teks program.

Algoritma tentunya berkaitan dengan ilmu komputer, tetapi tidak hanya itu. Algoritma juga berkaitan dengan hal-hal yang ada di kehidupan kita sehari-hari. Langkah-langkah dalam membuat kue juga diakatakan sebagai algoritma, karena memiliki urutan atau tahapnya sendiri. Jika langkah-langkah tersebut bahkan ada salah satu langkah yang tidak logis, maka kue tersebut juga tidak akan sempurna.

Komputer adalah salah satu dari pemroses. Algoritma harus ditranslasikan ke dalam bahasa pemrograman terlebih dahulu agar menjadi program agar dapat dibaca oleh komputer. Dapat dikatakan bahwa program adalah perwujudan atau implementasi teknis dari susunan algoritma yang dibaca melalui bahasa pemrograman.

Program ditulis dengan bahasa pemrograman, proses penulisan ini dinamakan pemrograman (programming), sedangkan pelaku dari pemrograman ini disebut pemrogram (programmer). Urutan-urutan langakah dalam program disebut instruksi atau pernyataan.

Secara umum, bagian-bagian pada komputer dibagi menjadi 4 bagian; pemroses utama, piranti input, piranti output, dan memori. Pemroses utama (Central Processing Unit) adalah komponen komputer yang melaksanakan tugas untuk melakukan operasi-operasi dasar pada komputer seperti, menghitung data, membaca, membandingkan, serta menulis data. Memori adalah perangkat yang berfungsi menyimpan komponen-komponen dalam komputer, di memori inilah program dapat disimpan serta data ataupun informasi. Alat output dan input adalah piranti yang digunakan untuk menghubungkan atau mengkomunikasikan data yang dihasilkan dan dimasukkannya. Contoh alat input  seperti keyboard, mouse, trackpad, scanner,  dan cakram (disk). Sedangkan contoh alat output seperti monitor, speaker, pencetak (printer).

Komponen-kompnen utama dalam komputer ini memiliki kesinambungan yang erat, jika tidak maka operasi yang ada pada komputer tidak mungkin berjalan dengan semestinya. Hubungan dari ke empat komponen ini dapat diskemakan sebagai berikut :








Mekanisme kerja keempat komponen diatas dapat dijelaskan sebagai berikut. Pertama, program disimpan dalam memori. Kemudian ketika program akan dijalankan (execute), memori akan mengirim instruksi-intruksi program ke dalam CPU.  Ketika dalam pengoperasian sebuah program memerlukan data, maka data akan dimasukkan melalui alat input. Jika operasi mengeluarkan hasil, maka hasil akan disimpan di dalam memori dan dilihat melalui alat output.




Ditulis oleh :
Faz Faidhani (D1041141018)

3 comments: