MEMAHAMI ALGORITMA PEMROGRAMAN - Tutorial Seputar Teknologi

MEMAHAMI ALGORITMA PEMROGRAMAN

Halo!

Orang yang belajar ataupun yang baru ingin belajar atau istilahnya berkecimpung di dunia pemrograman komputer, tidak akan lepas dari yang namanya algorithm atau yang dalam bahasa indonesia disebut algoritma. Apa itu algoritma? pernahkah kalian memikirkan atau sepintas terlewat mengenai arti dari algoritma? Bagaimana struktur dari sebuah algoritma? Beda Algoritma dan Program apa?, lalu gimana cara penulisan sebuah algoritma?. Mari baca lebih lanjut! cuzzz..

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Singkatnya, suatu masalah harus diselesaikan dengan beberapa langkah. Langkah tersebut tentunya bersifat logis logis. Dalam kehidupan sehari-hari, contoh algoritma bisa digambarkan dengan berbagai macam hal. Salah satu contohnya adalah mengirim surat kepada kenalan atau kerabat. Algoritmanya tentu saja berhubungan dengan aktivitas dalam mengirim surat. 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.

Perhatikan algoritma sederhana berikut :
Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
1. Menyiapkan Peralatan Tulis,
2. Menulis surat,
3. Surat dimasukkan ke dalam amplop tertutup,
4. Amplop ditempeli perangko secukupnya,
5. Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P),
2. Masukkan lebar (L),
3. Luas P * L,
4. Tulis Luas.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  3. 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.
  4. 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 menjalankannya. Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  6. 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 :
  1. Start
  2. Baca data alas dan tinggi.
  3. Luas adalah alas kali tinggi kali 0.5
  4. Tampilkan Luas 
  5. 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 
  1. Start
  2. Baca data alas dan tinggi.
  3. 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
  4. Luas adalah alas kali tinggi kali 0.5
  5. Tampilkan Luas 
  6. 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.

Setelah kalian memahami algoritma, lalu pertanyaannya, apa beda Algoritma dan Program ?
Nha, jadi program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Bila dituliskan kurang lebih seperti ini,
Program = Algoritma + Bahasa (Struktur Data)

Sekarang kalian sudah makin paham to dengan apa yang disebut algoritma dan yang disebut dengan program. Kali ini kita bahas tentang penerjemah Bahasa Pemrograman.

Untuk menterjemahkan suatu bahasa pemrograman yang kita tulis maka diperlukan yang namanya Compiler dan interpreter. Uwawww.. Apa lagi itu??..
Jadi, Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program. Sedangkan, Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam melakukan eksekusi bisa dilakukan dengan segera. Maksudnya ialah eksekusi tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar.

Perbedaan Compiler dan interpreter??
Compiler 
  • Menterjemahkan secara keseluruhan 
  • Bila terjadi kesalahan kompilasi maka source program harus diperbaiki dan dikompilasi ulang
  • Dihasilkan Object program 
  • Dihasilkan Executable program 
  • Proses pekerjaan program lebih cepat 
  • Source program tidak dipergunakan hanya bila untuk perbaikan saja 
  • Keamanan dari program lebih terjamin 
Interpreter
  • Menterjemahkan Instruksi per instruksi
  • Bila terjadi kesalahan interprestasi dapat Diperbaiki
  • Tidak dihasilkan obyek program
  • Tidak dihasilkan Executable program
  • Proses pekerjaan program lebih lambat
  • Source program terus dipergunakan
  • Keamanan dari program kurang terjamin

Sekarang, bagaimana cara penulisan sebuah algoritma?
Cara penulisan algortima, ada tiga cara penulisan, yaitu :
1. Structured English (SE)
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). 
”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak”

2. Pseudocode
Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan.
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program”
Contoh Pseudocode :
1. Start
2. READ alas, tinggi 
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas 
5. Stop

Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

Sekian mengenai penjelasan tentang algoritma pemrograman. Semoga bermanfaat. Terima kasih..

Comments

Silakan Beri Komentar
EmoticonEmoticon