Learn Problem-Solving from Programmers

Belajar Problem-Solving dari Ahlinya

Programming, ketika membaca kata tersebut apa yang terlintas dalam pikiran Anda? sulit? memusingkan? atau bahkan menyeramkan?

Reaksi-reaksi yang disebutkan di atas adalah hal yang wajar. Anda mungkin akan berpikir bahwa pemrograman adalah hal yang sulit dan bisa membuat kepala pusing karena harus berhubungan dengan banyak data dan melakukan coding. Apalagi, jika belum pernah mempelajarinya sama sekali, pemrograman akan terasa sangat menyeramkan.

Tapi tahukah Anda, di balik hal-hal yang memusingkan tersebut, sebenarnya ada hal penting yang bisa kita pelajari dari pemrograman. Ya, meskipun kita bukanlah seorang programmer profesional pun tetap bisa mempelajarinya.

Lantas apa hal penting tersebut?

Sebelum mengupasnya lebih lanjut, coba baca dengan baik quotes yang pernah disampaikan oleh Steve Jobs berikut:

“Everyone in this country should learn to program a computer, because it teaches you to think.”

Steve Jobs

Bagaimana, apakah Anda mengerti maksud dari quotes tersebut? Anda pasti berpikir apa maksud sebenarnya dari harus berpikir seperti programmer? dan bagaimana hal tersebut menjadi sebuah hal yang penting untuk dipelajari?

Algobash kali ini akan membahas dan berdiskusi lebih lanjut mengenai hal tersebut. Jadi, jika Anda tertarik untuk mengetahuinya, jangan lupa untuk membaca artikel selengkapnya di bawah ini.

Problem-Solving; Pelajaran Penting Dari Programming

Hal penting yang bisa kita pelajari dari pemrograman adalah problem-solving atau penyelesaian masalah. Kita semua pasti pernah dihadapkan dengan suatu permasalahan, entah sepele ataupun besar. Ketika dihadapkan dengan hal tersebut, kita juga dituntut untuk segera menyelesaikannya.

Setiap orang pasti memiliki caranya masing-masing untuk menyelesaikan masalah, tetapi apakah semua orang bisa menyelesaikannya dengan baik? tentu tidak.

Programming mengajarkan kita untuk bisa memecahkan masalah. Ya, ketika melakukan coding, seorang programmer dilatih untuk terus berpikir bagaimana menyelesaikan berbagai masalah yang ada. Itulah sebabnya penting bagi kita untuk berpikir seperti seorang programmer.

Beberapa cara yang biasa dilakukan oleh seorang programmer dalam menyelesaikan masalah yaitu:

  1. Mencoba sebuah solusi
  2. Jika gagal, coba cara lain
  3. Jika gagal, coba cara lain lagi dan terus ulangi sampai menemukan penyelesaiannya

Cara di atas adalah hal yang paling umum dilakukan oleh banyak orang bukan hanya programmer. Dengan mengikuti cara di atas Anda mungkin bisa menemukan sebuah solusi yang tepat jika beruntung. Namun, cara tersebut sebenarnya bukanlah strategi terbaik untuk memecahkan masalah. 

Jika beragam solusi yang Anda temukan ternyata gagal anda harus mengulang cara serupa untuk menemukan solusi terbaik, hal ini tentu sangat melelahkan dan menghambur-hamburkan waktu.

Problem-Solving Yang Efektif

Nah, sekarang saatnya Anda mengetahui cara yang jauh lebih efektif dalam menyelesaikan masalah. Cara tepat untuk memecahkan sebuah masalah adalah dengan memiliki sebuah framework terlebih dahulu dan kemudian mempraktekannya.

Yang menjadi permasalahan sekarang adalah bagaimana cara membuat framework yang tepat untuk menyelesaikan masalah? Okay, jangan khawatir, dalam artikel ini Anda akan mengetahui jawabannya.

Dikutip dari Freecodecamp.org, berdasarkan buku “The 4-Hour Chef” yang ditulis oleh Tim Ferris, ada empat langkah bisa dilakukan untuk menyelesaikan masalah yaitu memahami, merencanakan, membagikannya ke dalam permasalahan kecil, dan mencari solusi ketika stuck.

Framework Problem-Solving

Memahami

Cara pertama untuk memecahkan sebuah masalah tentunya adalah memahami terlebih dahulu masalah apa yang sebenarnya sedang dihadapi. Bayangkan jika anda diperintahkan mengerjakan sesuatu tapi tidak mengerti apa yang harus dikerjakan? akan sangat sulit bukan? mungkin Anda tidak akan berhasil menyelesaikannya.

Cara sederhana untuk mengetahui bahwa Anda sudah memahami permasalahan adalah ketika Anda dapat menjelaskan inti permasalahan tersebut secara sederhana.

Cobalah untuk menuliskan inti permasalahan yang Anda hadapi, membuat diagram permasalahan, atau menceritakannya kepada orang lain. Hal ini dapat membantu Anda untuk memahami permasalahan dengan baik.

Merencanakan

Cara kedua setelah memahami permasalahan adalah planning atau merencanakan sebuah solusi.

Bayangkan jika Anda ingin menyelesaikan sebuah masalah tapi tidak memiliki rencana yang akan dilakukan kedepannya? sangat sulit bukan? bahkan besar kemungkinan Anda tidak akan menyelesaikan masalah dengan baik.

Itulah sebabnya, Anda harus menulis sebuah langkah atau strategi yang akan dilakukan nantinya untuk menyelesaikan masalah. Cobalah untuk pelan-pelan mencerna informasi tentang permasalahan yang sedang dihadapi. Kemudian mulailah memikirkan beberapa langkah yang mungkin bisa dilakukan.

Anda bisa berpikir seperti ini untuk membuat sebuah rencana yang baik “Ketika kita merencanakan A, maka kita akan mendapatkan B, dan resiko C.”

Membagi permasalahan

Cara ketiga adalah jangan pernah berniat untuk menyelesaikan secara langsung semua masalah. Mungkin anda bisa memecahkannya, tapi hal tersebut tentu sangat sulit.

Cara efektif untuk memecahkan masalah adalah dengan membagi permasalahan yang sedang Anda hadapi menjadi beberapa permasalahan kecil dan pecahkan satu persatu.

Ketika sudah memecahkan permasalahan-permasalahan kecil tersebut, Anda bisa mulai menghubungkannya satu sama lain untuk menemukan sebuah solusi dari permasalahan besar yang sedang dihadapi.

Cara ini dapat memudahkan Anda dalam menyelesaikan masalah dengan detail dan lebih efektif.

Solusi ketika stuck

Setelah mengikuti beberapa cara di atas, Anda mungkin akan berpikir bagaimana jika stuck dan tidak bisa menyelesaikan masalah? Sstt.. Tenang, hal ini memang biasa terjadi tapi masih bisa diatasi. Jadi, jangan khawatir.

Dalam programming, ada beberapa hal yang bisa dilakukan untuk mengatasi stuck ketika memecahkan masalah. Cara tersebut adalah;

  • Debugging: Coba cari tahu secara perlahan langkah demi langkah solusi yang digunakan sampai menemukan di mana Anda melakukan kesalahan.
  • Reasses: Tinjau kembali masalah berdasarkan perspektif yang lain. Kita harus bisa melihat sebuah masalah dari berbagai sisi yang lebih umum.
  • Research: lakukanlah riset mengenai permasalahan yang dihadapi. Bisa dengan mencarinya di internet atau langsung menanyakannya kepada orang lain. Ya, masalah yang Anda hadapi pasti pernah juga dilalui oleh orang lain. Ketika sudah menemukan jawaban, maka pelajarilah bagaimana mereka memecahkan masalah.

Itulah dia beberapa cara yang bisa dilakukan untuk memecahkan masalah dan berpikir seperti programmer. Setelah mengetahui semua langkah yang bisa dilakukan dalam memecahkan masalah dengan baik, hal yang bisa Anda lakukan selanjutnya adalah mempraktekannya. Ya, cobalah untuk belajar menyelesaikan masalah dengan framework seperti yang sudah disebutkan di atas. 

Sekarang Saatnya Mempraktekkan Metode Problem-Solving

Tidak ada cara terbaik untuk berlatih selain praktek, praktek, dan praktek. Dengan langsung mempraktekannya, Anda akan terlatih untuk memecahkan sebuah masalah, dan ketika dihadapkan dengan permasalahan sebenarnya Anda tidak akan bingung lagi bagaimana cara memecahkannya dengan baik.

Anda bisa memainkan beberapa games menyenangkan untuk mengasah skill problem-solving seperti Sudoku, Catur, dan lain sebagainya. Nah, itulah bagaimana seorang programmer berpikir untuk menyelesaikan sebuah masalah, sangat menarik bukan? Meskipun terlihat memusingkan, ternyata ada banyak sekali hal yang kita dapatkan dari dunia programming. Salah satunya adalah skill problem-solving yang sangat penting untuk dimiliki oleh semua orang.

2000 1080 Algobash