Apakah kita perlu mengimplementasikan algoritma pada setiap masalah dalam kehidupan sehari - hari?

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Lantas apakah kita perlu mengimplementasikan algoritma ke dalam kehidupan sehari-hari pada setiap masalah yang kita hadapi?

Banyak programmers sukses yang tidak hanya sekedar tahu tentang bahasa pemrograman. Mereka juga tahu bagaimana cara dalam menyelesaikan suatu masalah. Mereka menggunakan (computational thinking), yaitu memecah suatu masalah ke alam bagian bagian kecil dan membuatnya menjadi solusi solusi. Mereka menggunakan algoritma yang dipelajari saat belajar bahasa pemrograman ke dalam kehidupan sehari-hari.

Setiap solusi dari permasalahan dimulai dengan rencana. Rencana tersebutlah yang dinamakan algoritma. Jadi, algoritma adalah suatu rencana yang digunakan untuk memecahkan suatu masalah. Dan banyak cara untuk menulis suatu algoritma ada yang ditulis secara formal ataupun informal, atau bahkan hanya menggunakan gambaran.

Contoh dalam masalah kecil yang sering dijumpai saat kita akan memasak resep baru, hal yang terbaik adalah membuat resepnya dahulu, kemudian menyiapkan bahan dan perlatannya, kemudian kelangkah-langkah memasaknya. Urutan-urutan tersebut merupakan suatu algoritma yang biasa kita jumpai di kehidupan sehari-hari.

Dasar penyusunan algoritma dalam dunia komputer dan dalam kehidupan sehari-hari juga tidak beda jauh, seperti menurut Donald E Knuth dalam bukunya yang berjudul The Art Of Computer Programming, ada lima ciri dalam penyusunan suatu algoritma:

  1. Finiteness yaitu menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.
  2. Definiteness yaitu menyatakan bahwa setiap langkah harus dinyatakan dengan jelas.
  3. Input yaitu suatu besaran yang diberikan.
  4. Output yaitu besaran yang mempunyai kaitan atau hubungan dengan masukan.
  5. Efective yaitu setiap algortma diharpkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma haruslah sederhana dan dapat dikerjakan dalam waktu yang terbatas.

Jadi kita ketika ada suatu problem bisa saja memasukan conditional statments atau if else jika di komputer. Contoh sederhananya ‘saat ingin makan mie, langkah pertama yaitu menyiapkan mie jika ada maka langsung dimasak jika tidak ada maka membeli mie dahulu’. Atau saat bermain permainan bergenre strategi,misalnya catur, maka kita perlu menganalisa dan mencari langkah kedepannya dengan suatu pola yang direncanakan. Sehingga jika algoritma sesuai rencana, tujuan akan didapatkan.

Misal lagi dalam permasalahan developer, client berarti sesorang yang ingin menemukan solusi dari suatu permasalahan, dan seorang developer yang berarti seseorang yang harus menemukan jalan dari suatu permasalahan tersebut. Sehingga developer harus membuat algoritma terlebih dahulu untuk memcahkan masalah client tersebut. Algoritma juga bisa diterapkan dalam hal kompleks seperti permasalahan keluarga, dengan pasangan, dan lainnya, tergantung pada pemikiran tersendiri apakah mau menghadapi masalah secara terstruktur atau tidak.

Penggunaan algoritma dalam kehidupan sehari-hari yang terstruktur biasanya terdapat dalam permasalah n pembuatan produk baru, bisnis dengan inovasi yang baru, dan semua hal yang berkaitan dengan inovasi perlu dikaji terlebih dahulu. Apakah semua masalah dalam sehari-hari bisa dibuat algoritmanya? Ya hampir semua, yang kita butuhkan untuk menyelesaikannya yaitu butuh data. Jika sudah mendapatkan data, maka kita tinggal memikirkan prosesnya saja supaya dapat sesuai dengan tujuan. Tapi supaya algoritma terlihat lebih baik, maka kita perlu menambahkan detailnya.



http://sofia.cs.vt.edu/cs1114-ebooklet/chapter4.html

Sebelum menjawab pertanyaan tesebut mari kita lihat fungsi dari sebuah algoritma terhadap pemrograman dan komputer, berikut fungsi nya :

  1. Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit,
  2. Menggunakan fungsi algorita bisa menjadikan program yang besar menjadi program yang lebih sederhana,
  3. Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan,
  4. Memudahkan dalam pembuatan program,
  5. Bisa mengatasi segala masalah dengan logika dan urut,
  6. Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga divide and conquer,
  7. Meminimalisir penulisan program yang berulang-ulang,
  8. Program yang ada menjadi lebih terstuktur dengan rapi sehingga dapat lebih mudah untuk dipahami ataupun dikembangkan,
  9. Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa mendapatkan alur yang jelas
  10. Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja tanpa harus merubah dan menganggu modul yang lain,
  11. Dokumentasi yang lebih mudah,

Dari uraian fungsi algoritma tersebut, kita dapat mengabstraksikan fungsi-fungsi tersebut dan menggeneralisasikan nya kedalam kehidupan. Jadi jika pertanyaannya adalah “Apakah kita perlu mengimplementasikan algoritma pada setiap masalah dalam kehidupan sehari - hari?”, maka jawabnya adalah perlu, karena dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Tidak hanya itu kita dapat meninjau ulang algoritma yang kita buat untuk menyelesaikan suatu masalah dengan cepat serta menggeneralisasikan algoritma tersebut untuk menyelesaikan masalah lainnya.

Referensi

http://rudystrong.wordpress.com/2010/03/04/algoritma-dalam-kehidupan-sehari/
http://www.indogamers.com/showthread.php?t=199791&page=1

Algoritma adalah urutan langkah - langkah logis untuk penyelesaian masalah yang disusun secara sistematis. Kata logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.

Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Jadi kita perlu menggunakan algoritma agar mepermudah kita mengerjakan suatu masalah dalam kehidupan sehari-hari

Contoh Algoritma Dikehidupan Sehari-hari

ketika kita membikin mie goreng, maka kita perlu melakukan beberapa langkah sebagai berikut:

  1. Siapkan mie goreng instant
  2. Apakah mie instant ada?
  3. Jika tika tidak, beli di warung
  4. Jika ada buka kemasan mie instant
  5. Keluarkan mie beserta bumbu-bumbunya
  6. Siapkan piring
  7. Lihat kondisi piring, jika kotor dicuci dulu
  8. Jika bersih siap digunakan
  9. Buka bumbu-bumbunya
  10. Letakkan didalam piring
  11. Siapkan panci
  12. Lihat kondisi panci, jika kotor dicuci dulu
  13. Jika bersih panci dengan air secukupnya
  14. Letakkan panci diatas kompor
  15. Nyalakan kompor
  16. Tunggu hingga air mendidih
  17. Jika sudah mendidih, masukkan mie
  18. Tunggu hingga mie matang
  19. Setelah mie matang, matikan kompor
  20. Siapkan saringan, lihat kondisi saringan jika kotor dicuci dulu
  21. Tuang mie ke saringan, tunggu sampai airnya tiris
  22. Masukkan kedalam piring
  23. Siapkan sendok dan garpu, lihat kondisinya jika kotor dicuci duu
  24. Jika bersih aduk mie menggunakan sendok dan garpu
  25. Mie goreng siap dihidangkan

referensi