PENGANTAR ALGORITMA PEMPROGRAMAN
Definisi Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi Algoritma menghitung luas persegi panjang:- Menyiapkan Peralatan Tulis
- Masukkan panjang (P)
- Masukkan lebar (L)
- Luas P * L
- Tulis Luas
- Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
- Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
- Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
- Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
- Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
- Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
- Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
- Perhatikan algoritma sederhana berikut :
Algoritma menghitung luas segitiga
- Start
- Baca data alas dan tinggi.
- Luas adalah alas kali tinggi kali 0.5
- Tampilkan Luas
- Stop
- Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.
Hasil perbaikan algoritma perhitungan luas segitiga :- Start
- Baca data alas dan tinggi.
- Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop Luas adalah alas kali tinggi kali 0.5
- Tampilkan Luas
- Stop
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar. Beda Algoritma dan Program ?
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakanbahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Program = Algoritma + Bahasa (Struktur Data)- Penerjemah Bahasa Pemrograman
Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.
Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program.
Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar. Perbedaan Compiler dan interpreter
Compiler Interpreter Menterjemahkan secara keseluruhan Menterjemahkan Instruksi per instruksi Bila terjadi kesalahan kompilasi maka source program harus diperbaiki dan dikompilasi ulang Bila terjadi kesalahan interprestasi dapat Diperbaiki Dihasilkan Object program Tidak dihasilkan obyek program Dihasilkan Executable program Tidak dihasilkan Executable program Proses pekerjaan program lebih cepat Proses pekerjaan program lebih lambat Source program tidak dipergunakan hanya bila untuk perbaikan saja Source program terus dipergunakan Keamanan dari program lebih terjamin Keamanan dari program kurang terjamin
Baca juga artikel Terkait: |
Baca juga artikel lainnya : |
Sekian dan semoga Bermanfaat ...