DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Apa Itu Algoritma?

advertisement
Apa Itu Algoritma?

Menjadi seorang programmer tidak akan pernah lepas dari yang namanya algoritma, yaitu sebuah proses yang akan dikerjakan secara sistematis untuk menyelesaikan sebuah masalah.
Seorang coder bukan hanya mampu menghafal seluruh code bahasa pemrograman dan menulisnya tanpa kesalahan, namun juga mampu berpikir logis dan merincikan sebuah masalah menjadi lebih sederhana sehingga lebih mudah untuk menentukan putusan dari masalah tersebut.
Oleh karena itu hal pertama yang wajib dipelajari oleh seorang yang mulai menggeluti dunia pemrograman adalah belajar algoritma.

Apa itu algoritma?

Algoritma adalah sebuah rangkaian atau tahapan-tahapan yang terurut secara sistematis untuk menyelesaikan sebuah persoalan secara logis.
Algoritma tidak terlepas dari seorang ilmuan muslim bernama al- khwarizi seorang ahli matematika yang memperkenalkan konsep dari algoritma in. Tanpa jasanya kita tidak akan mengenal yang namanya komputer.
Dalam dunia ilmu komputer sendiri, algoritma adalah serangkaian proses matematis yang dikerjakan oleh komputer untuk menyelesaikan sebuah persoalan yang diberikan.
Apa Itu Algoritma?

Setiap langkah dari sebuah algoritma harus bersifat logis dan jelas yakni tidak ambigu dan multi tafsir.
Apa Itu Algoritma?
Langkah-langkah tersebut juga harus bersifat terbatas sehingga sebuah algoritma memiliki tahapan ketika memulai proses dan tahapan ketika proses selesai.
Apa Itu Algoritma?
Sebuah algoritma juga bisa memiliki nilai masukan atau tidak sama sekali, begitupun dengan nilai keluaran(hasil) bisa memilikinya atau tidak sama sekali.
Apa Itu Algoritma?

Algoritma harus besifat efektif dan efisien yaitu benar-benar dapat menyelesaikan masalah yang dihadapi dan proses yang dilakukan harus dibuat sesederhana mungkin agar proses yang dilakukan tidak memekan banyak waktu dan sumber daya.
Apa Itu Algoritma?

Contoh algoritma dalam kehidupan

Tanpa kita sadari, kita sudah belajar algoritma sejak kita masih kecil.
Hah benarkah?
Yup, ketika kita mulai belajar makan secara mandiri kita mulai membangun proses yang perlu kita lakukan dari mulai mengambil makanan tersebut sampai makanan tersebut kita telan, ini semua adalah algoritma hanya saja tidak kita sadari.
Atau ketika kita ingin memasak mie instan, dibelakang kemasan terdapat sebuah instruksi atau langkah-langkah yang harus dikerjakan untuk memasak mie instan tersebut itu bisa kita katakan sebuah algoritma.
Apa Itu Algoritma?
Agar sebuah algoritma dapat dipahami oleh orang lain ada beberapa cara yang bisa kita lakukukan untuk mengilustrasikan algortima yang kita miliki seperti dengan mainmap, membuatnya dalam daftar langkah-langkah prosesnya, membuatnya dalam bentuk flowchat atau dengan pendekatan bahasa pemrograman yaitu pseudocode. Kita akan pelajari itu semua di tutorial selanjutnya.

Kenapa perlu belajar algoritma

Apa Itu Algoritma?

Algoritma penting untuk kita pelajari sebagai seorang programmer karena akan membantu kita dalam membangun sebuah aplikasi.
Misalnya kita ingin membuat sebuah aplikasi kasir, kita tidak akan bisa membuatnya tanpa ada gambaran langkah-langkah yang harus dikerjakan oleh aplikasi tersebut maka dari itu algoritma berperan penting dalam hal ini.
Algoritma akan menjadi acuan kita dalam menulis code program dan menyederhanakan sebuah alur proses dari program tersebut.
Kita akan mengetahui seperti apa code yang harus kita tulis untuk memecahkan sebuah masalah.
Dengan membuat algoritma, kita juga akan mengetahui cara yang paling efektif dan efisien untuk menangani sebuah masalah.
Selain itu algoritma juga akan memudahkan kita dalam menemukan masalah ketika terjadi bugs karena proses sudah kita rincikan secara jelas.

Bentuk-bentuk algoritma

Jika kita klasifikasikan  algoritma memiliki 3 bentuk dasar yang perlu kita pahami yaitu
  • Algoritma sekuensial, yaitu sebuah serangkaian proses yang tersusun secara sistematis dari tahapan awal hingga tahapan akhir.
    Contohnya seperti masak mie, maka prosesnya tidak bisa dibolak balik.
  • Algoritma perulangan, yaitu sebuah proses yang dilakukan secara berulang-ulang dengan jumlah yang sudah ditentukan atau selama kondisi tertentu.
    Contohnya ketika kita makan, selama kita makan kita akan melakukan proses yang sama secara berulang-ulang sampai kita kenyang.
  • Algoritma bersyarat, yaitu sebuah proses yang akan dilakukan ketika kondisi tertentu terpenuhi.
    Contohnya, kita akan makan ketika kita lapar, kita akan minum ketika kita haus, kita akan tidur ketika kita ngantuk dan lain sebagainya.
Sebuah algoritma bisa berisi tiga bentuk sekaligus untuk memecahkan sebuah masalah.
Misalnya ketika kita mandi, maka didalamnya ada proses yang  berurutan, ada proses yang diulang dan ada proses yang bersyarat.

Jenis-jenis algoritma sesuai fungsinya

Ada beberapa algoritma penting yang akan kita temua dalam dunia pemrograman.
Dr. Christoph Koutschan, dari Austrian Institute for Symbolic Computing, telah melakukan survei terhadap beberapa ilmuan komputer untuk memilih algoritma penting, beliau mempublish hasilnya dihalamannya sendiri dan menyebut bahwa ada 32 algoritma penting dalam ilmu komputer.
Namun jika kita kelompokan berdasarkan fungsinya maka terdapat 6 jenis algoritma fundametal dalam pemrograman yaitu,
  1. Algoritma rekursif, yaitu sebuah algorima yang didalam ada proses dimana proses tersebut memanggil dirinya sendiri sehingga terjadi perulangan.
    Dinamakan rekursif karena mengacu pada penomena ketika sebuah cermin dihadapkan pada cermin yang lain dimana akan saling memantulkan cahaya. Misalnbya kita ingin menghitung faktorial, rekursif akan bekerja dengan baik dalam masalah ini.
    Algoritma rekursif
  2. Algoritma pemrograman dinamik, yaitu sebuah algoritma yang bekerja dengan cara menyimpan hasil dari proses yang dilakukan pada tahapan sebelumnya dan kemudian digunakan untuk menemukan hasil yang baru. Algoritma ini digunakan untuk memecahkan masalah kompleks dengan membagi masalah tersebut kedalam sub-submasalah dan setiap hasil yang didapatkan akan di simpan untuk digunakan pada proses selanjutnya.

    algoritma dinamik

  3. Algoritma backtracking, yaitu sebuah algoritma yang bekerja dengan menelusuri setiap jalur dari masalah yang bercabang. Algoritma backtracking akan memeriksa satu bagian masalah dan akan menghapusnya jika masalah tersebut tidak memberikan solusi. Misalnya kita ingin membuat sebuah robot untuk mencari jalan keluar dari sebuah labirin, maka algoritma ini sangat tepat untuk di implementasikan.

    Apa Itu Algoritma bracktracking?

  4. Algorima greedy, yaitu sebuah algoritma yang banyak digunakan untuk masalah optimasi. Algoritma ini akan memutuskan sebuah solusi secara tepat pada satu tahapan dan tidak memperdulikan hasil yang akan terjadi pada tahapan lain.
    greedy algoritma

  5. Algoritma brute force, yaitu sebuah algoritma yang memiliki konsep paling sederhana dalam memecahkan masalah. Algoritma brute force akan menelusuri masalah dengan jumlah tahapan yang yang terbatas karena tidak bersifat rekursif (memanggil dirinya sendiri).
    Algoritma brute force
  6. Algoritma divide and conquer, yaitu sebuah algoritma yang bekerja dengan membagi setiap masalah menjadi sub-sub masalah yang lebih kecil. Setiap hasil yang didapat dari setiap tahapan bersifat independen yakni tidak di pengaruhi oleh tahapan lain dan semua solusi pada tiap tahapan digabungkan untuk menghasilkan solusi yang paling tepat.

    Algoritma divide and conquer
Apakah kita akan menggunakan semua algoritma diatas, jawabannya bisa iya dan bisa tidak, tergantung aplikasi yang sedang kalian buat.
Saya sendiri, selama menjadi seorang programmer hanya mengimplementasikan algoritma rekursif, pemrograman dinamik dan brute force namun saya sarankan kalian tetap mempelajari 6 algoritma diatas seperti yang diajarkan di jurusan teknologi informasi. 
Bingung??  Tentang saja next tutorial kita akan mempelajarinya satu persatu.

Kesimpulan
Algoritma adalah serangkaian tahapan-tahapan yang harus dilalui untuk memecahkan sebuah masalah. Setiap tahapan harus bersifat rasional, tidak ambigu, efektif dalam menangani masalah dan efisien dari segi waktu dan sumber daya.
Algoritma memiliki tiga bentuk yaitu sekuensial, perulangan dan kondisional(bersyarat).
Dalam ilmu komputer algoritma adalah serangkaian proses matematis yang mencakup perhitungan, penalaran dan manipulasi data.

Sampai disini dulu penjelasan singkat tentang apa itu algoritma.
Jika kalian merasa artikel ini bermanfaat silahkan silahkan klik tombol share.
Jika ada pertanyaan atau ada hal yang ingin ditanyakan silahkan tulis dikolom komentar.
Goodluck!

Penjelasan:
  1. Mainmap adalah sebuah metode untuk memvisualisasikan ide atau gagasan kedalam bentuk gambar yang mudah dipahami.
  2. Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang digunakan untuk menggambarkan sebuah proses.
  3. Pseudocode adalah teknik penulisan algoritma yang menyerupai code program komputer.
  4. Bug adalah sebuah kecacatan, error atau kesalahan yang terjadi pada sebuah program.
advertisement



0 Komentar untuk " Apa Itu Algoritma?"

Silahkan berkomentar dengan baik dan bijak!