Kenapa semua proses didalam pemrograman harus dilakukan dengan algoritma?

Dalam membuat suatu program pastinya kita perlu mengetahui bagaimana sistem program tersebut bekerja. Kenapa semua proses harus dilakukan dengan algoritma?

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah, yang saling berkaitan untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat di terjemahkan secara bertahap pada setiap tahap dari awal hingga akhir. Dalam penyusunannya diperlukan suatu logika agar algoritma yang di hasilkan sesuai dengan yang diharapkan.

Algoritma merupakan bagian yang terpenting dan tidak dapat dipisahkan dari pemrograman. Meskipun semantic dan sintaksis yang dibuat benar adanya, dengan algoritma yang keliru, permasalahan yang ingin dipecahkan dengan teknik pemrograman tidak akan berhasil. Oleh karena itu untuk membuat program aplikasi hal pertama yang harus kita pahami adalah adalah algiritma atau pemecahannya. Hal ini bertujuan agar program yang talah di buat dapat sesuai dengan yang di harapkan.

Berikut adalah beberapa hal ynag harus di pertimbangkan untuk membuat sebuah algoritma:

  1. Algoritma yang di buat haruslah benar, artinya algoritma harus memberikan ouput yang bagus. Dengan algoritma yang benat algoritma yang di hasilkan dapat di capai.

  2. Selain benar algoritma juga harus efektif. Maksutnya seberapa baik algoritma yang di di gunakan mendekati hasil yang di harapkan. Hal ini sangatlah penting terutama jika permasalahan yang di hadapi cukup runit dan memerlukan perkiraan hasil sedekat mungkin.

  3. Algoritma yang di gunakan juga harus efektif. Efisiensi sebuah algoritma dapat di tinjau dari efisiensi waktu dan memori yang di gunakan. Meskipun algoritma yang di gunakan mendekati yang di harapkan , namun jika memmbutuhkan waktu yang sangat lama, bahkan berjam jam, biasanya algoritma itu akan jarang di pakai.

Mengapa algortima sangat penting kaitannya dengan pemrograman? Karena selain untuk menyelesaikan masalah komputasi pengurutan data, algoritma juga di pakai untuk memecahkan masalah yang lebih kompleks seperti berikut :

  1. Pengidentifikasian DNA manusia dapat di buat dengan algorima. Sebuah kompeks riset the human genome project telah mengidentifikasi 100.000 gen pada DNA manusia. Menyimpan informasi dalam basis data agar dapat di analisis di kemudian hari. Dengan menggunakan algoritma yang sangat rumit, para peneliti dapat memecahkan permasalahan dalam bidang biologi (kaitannya dengan kesehatan) seperti penyakit kanker.

  2. Manfaat lain dari penggunaan algoritma tampak dalam teknologi internet. Perkembangan teknologi internet yang sangat pesat sekarang ini membuat masyarakat dengan mudah mendapatkan informasi secara cepat dan akurat. Penyampaian informasi tersebut tentunya memerlukan rute (jakur) agar informasi yang di inginkan dapat di terima dengan baik. Dengan algoritma perutea(routing protocol) seperti algoritma dijkstra , permasalahan tentang pengiriman data dapat di pecahkan.

  3. Algoritma juga dapat di aplikasikan dalam dunia bisnis. Dengan semakin berkembangnya teknologi e-comerce , transaksi pembayaran dengan kartu pintar atau dengan kartu kredit membutuhkan tingkat keamanan yang sangat tinggi. Dengan menggunakan teknik kriptografi dan digital signatur , kemanan transaksi keuangan menjadi hal yang tidak perlu di takutkan lagi.

Masih banyak permasalahan dalam kehidupan sehari-hari yang dapat di pecahkan dengann algoritma. Oleh karena itu dibutuhkan sebuah pemahaman dasar tentang logika dan struktur data untuk memudahkan kita menyelesaikan suatu program.


Referensi

Algoritma merupakan kunci dari bidang ilmu komputer, dan pada dasarnya setiap hari kita melakukan aktivitas algoritma. Kata algoritma berasal dari sebutan Algorizm (Abu Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli matematika Uzbekistan)

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis untuk pemecahan suatu permasalahan

  1. Algoritma adalah inti dari ilmu komputer
  2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
  3. Algoritma adalah blueprint dari program
  4. Sebaiknya disusun sebelum membuat program
  5. Kriteria suatu algoritma:
    • Ada input dan output
    • Efektifitas dan efisien
    • Terstruktur

Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

Pembuatan algoritma harus selalu dikaitkan dengan:

  • Kebenaran algoritma
  • Kompleksitas (lama dan jumlah waktu proses dan penggunaan memori)
  • Kriteria Algoritma yang baik:
  • Tepat, benar, sederhana, standar dan efektif
  • Logis, terstruktur dan sistematis
  • Semua operasi terdefinisi
  • Semua proses harus berakhir setelah sejumlah langkah dilakukan
  • Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda.

“Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaaan diperoleh suatu solusi ataupun tidak adanya solusi.”

Sumber :

Algoritma adalah urutan langkah-langkah logis pada penyelesaian masalah yang disusun secara sistematis. Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.

Konsep algoritma sering kali disetarakan dengan sebuah resep. Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan, dan bagaimana hasil dari urutan pengerjaan tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia), maka resep tersebut tidak akan dapat dikerjakan. Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.

Algoritma yang berbeda, dapat diterapkan pada suatu masalah dengan syarat yang sama. Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Umumnya, 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.

Pembuatan algoritma mempunyai banyak keuntungan diantaranya:

  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang mengeksekusinya.

  2. Notasi algoritmik dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

Beberapa hal yang perlu dalam membuat algoritma diperhatikan:

  1. 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 pada notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

  2. Tiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini karena 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.

  3. 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 Program = Struktur Data + Algoritma 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.

  4. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

  5. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasi ke dalam notasi bahasa pemrograman.

Sumber
http://technopark.surakarta.go.id/id/media-publik/komputer-teknologi-informasi/190-algoritma-pemrograman

1 Like