Dasar Teori Tentang Algoritma
dan Pemrograman
Algoritma adalah salah satu
bidang ilmu yang pertama kali ditemukan oleh matematikawan asal Persia yang
bernama “Muhammad Ibn Musa Al-Khawarizm” lahir sekitar
tahun 730 M dan meninggal antara tahun 835-850 M. Algoritma merupakan suatu
metode atau langkah-langkah umum yang disusun secara sistematis dan logis
yang dugunakan untuk menyelesaikan masalah atau kasus-kasus tertentu.
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:
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
5. 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.
Karakteristik Algoritma
Karakteristik Algoritma
1.
Algoritma harus berhenti setelah mengerjakan sejumlah
langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1,
jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang
sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program
yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi
algoritma yang salah.
2.
Setiap langkah harus di defenisikan dengan tepat dan
tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan
“m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ”
bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna
ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika
langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
3.
Algoritma memiliki nol atau lebih masukan (input).
Masukan ialah besaran yang diberikan kepada algoritma untuk di proses.
Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
4.
Algoritma mempunya nol atau lebih keluaran (output).
Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang
merupakan pembagi bersama terbesar dari kedua bilangan.
5.
Algoritma harus sangkil (effective). Setiap langkah
harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk
akal.
Algoritma dapat dituliskan ke dalam berbagai bentuk, namun struktur yang
rapi dan mengikuti aturan tertentu akan membuat algoritma lebih mudah untuk
dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan
diimplementasikan ke bahasa pemrograman. Algoritma dapat dituliskan ke dalam berbagai
bentuk, namun dan mengikuti aturan tertentu akan membuat algoritma lebih mudah
untuk dibaca dan dipahami. Selanjutnya, algoritma yang telah tersusun rapi akan
PROGRAM
Komputer hanyalah salah satu pemroses. Agar
dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi
bahasa pemrograman sehingga dinamakan program. Jadi program adalah
perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa
pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata
algoritma dan kata program seringkali dipertukarkan dalam penggunaannya.
Algoritma adalah urutan langkah-langkah penyelesaian masalah
sedangkanProgram adalah realisasi algoritma dalam bahasa
pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan
kegiatan membuat program disebut pemrograman (programming). Orang yang
menulis program disebut programmer. Tiap-tiap langkah di dalam program
disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan
instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang
bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Secara
garis besar komputer tersusun atas empat komponen utama, yakni:
1. piranti masukan berfungsi untuk memasukkan
data atau program ke dalam memori komputer
2. piranti keluaran berfungsi untuk menampilkan
hasil dari eksekusi program komputer
3. unit pemroses utama berfungsi mengerjakan
operasi-operasi dasar
4. memori berfungsi untuk menyimpan program dan
data atau informasi.
Mekanisme eksekusi sebuah program adalah sebagai
berikut:
1. Program disimpan di dalam memori melalui
piranti masukan.
2. Ketika sebuah program dieksekusi maka setiap
instruksi program akan dikirim dari memori ke unit pemroses utama.
Unit pemroses utama kemudian akan menjalankan operasi sesuai instruksi-instruksi yang
dibaca.
3. Apabila sebuah instruksi membutuhkan data
masukan, maka piranti masukan akan membaca data masukan, mengirimkan ke
memori kemudian mengirimkan ke unit pemroses utama untuk diproses.
4. Apabila eksekusi program menghasilkan data
keluaran, maka data keluaran akan disimpan di dalam memori, kemudian
dikirim ke piranti keluaran.
KRITERIA
ALGORITMA
Menurut Bapa "Analisis
Algoritma" Donald Ervin Knuth, atau biasa dipanggil dengan Knuth ini,
algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
1.
Input
2.
Output
3.
Finite
4.
Definite
5.
Efisien
Program minimal harus memiliki nol
input atau lebih dari pengguna. Setiap program pasti memiliki input. Yang
dimaksud dengan memiliki nol input berarti program tidak mendapat masukan data
dari pengguna secara langsung, namun semua data akan digunakan oleh program
yang sudah dideklarasikan di dalam kode program yang akan dieksekusi. Jadi
tidak perlu diinputkan dari luar. Sedangkan mendapat input dari pengguna, data
bisa dimaksukkan melalui program.
2.
Output
Program minimal harus memiliki 1
output. Setiap program pasti memiliki output karena program dibuat untuk tujuan
tertentu. Output program bisa berbentuk file, video, teks, dll, atau disimpan
di clipboard yang kemudian digunakan di program lain atau disimpan dalam basis
data.
3. Finite (Terbatas)
Program yang dibuat harus pasti dan terbatas. Suatu program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus di-kill atau dimatikan dengan paksa. Suatu program dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer.
Walau sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati jika komputer di shutdown.
3. Finite (Terbatas)
Program yang dibuat harus pasti dan terbatas. Suatu program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus di-kill atau dimatikan dengan paksa. Suatu program dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer.
Walau sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati jika komputer di shutdown.
4. Define (Pasti)
Suatu program harus jelas arah dan tujuannya. Program harus jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas agar dapat menghasilkan uotput yang sesuai dengan yang diinginkan.
5. Efisien
Program harus efisien, artinya program tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan tidak mungkin program tesebut akan lelet.
Suatu program harus jelas arah dan tujuannya. Program harus jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas agar dapat menghasilkan uotput yang sesuai dengan yang diinginkan.
5. Efisien
Program harus efisien, artinya program tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan tidak mungkin program tesebut akan lelet.
Dibuat oleh : Shamaratul Fuadi
Mapel : Bahasa pemrograman
Mapel : Bahasa pemrograman
Prodi : Teknik Elektro Industri
Universitas Negeri Padang
Tidak ada komentar:
Posting Komentar