Programmer’s Thing : Mengenal dan Mempelajari Problem Solving

Table of Contents

Saat menjalani kegiatan sehari-hari, tentu saja kita akan mendapatkan berbagai permasalahan baik secara sengaja ataupun tidak sengaja. Bahkan rasanya sudah melakukan berbagai cara untuk menghindar dari suatu sumber permasalahan yang ada namun pasti sulit untuk menghindari dari masalah. Baik dari lingkungan kerja, sekolah atau keluarga sekalipun. Lalu bagaimana agar kita dapat terbiasa dengan datangnya permasalahan? Apakah hanya menerima dan membiarkan masalah datang sampai membuat kamu merasa jenuh?

Tentu saja tidak. Permasalahan adalah suatu hal yang dapat terjadi baik dalam kendali maupun diluar kendali diri kita. Saat ini masih banyak orang yang sulit mengendalikan diri dan tahu bagaimana harus bersikap ketika dihadapkan dengan masalah. Maka dari itu dibutuhkan soft skill yang bisa membantu kamu menyelesaikan masalah dengan baik. Jadi dibandingkan dengan terus menghindar, lebih baik mengasah soft skill yang dapat membantu kita. Nah, soft skill inilah yang disebut dengan problem solving.

Problem Solving adalah kemampuan dimana seseorang dapat menyelesaikan masalah dengan baik dengan cara berusaha mendapatkan jawaban sebagai jalan keluar untuk masalah yang dihadapi. Kemampuan problem solving jarang terjadi begitu saja dari dalam diri seseorang tanpa adanya kesadaran untuk mempelajari dan melatih diri agar terbiasa melakukan kemampuan problem solving. Tentunya kita harus menemukan kegiatan yang menunjang kemampuan problem solving. Kegiatan-kegiatan inilah yang nantinya akan menstimulasi otak kita agar terbiasa dengan reflek problem solving.

Lalu, tahukah kamu bahwa mempelajari ilmu programming adalah salah satu kegiatan yang membantu kita untuk mengenal problem solving serta mempraktekkan langsung kemampuan ini. Seperti yang pernah dikatakan oleh Steve Jobs, bahwa setiap orang perlu untuk mempelajari program komputer karena itu dapat mengajarkan kamu untuk berfikir. Maknanya adalah, kegiatan membuat program membantu kita untuk berfikir secara efektif dan efisien dalam menyelesaikan masalah.

Dalam menghadapi masalah biasanya para programmer memiliki kerangka kerja yang membuat mereka dapat melakukan metode problem solving secara urut. Setiap tahapan dalam problem solving adalah langkah yang sangat perlu diperhatikan dengan baik oleh programmer.  Berikut adalah beberapa metode yang dapat digunakan untuk berpikir problem solving seperti programmer yang dapat kamu lakukan :

  1. Memahami permasalahan yang terjadi

Memahami masalah merupakan tahapan pertama sebelum menyelesaikan masalah. Sama halnya dengan para programmer, ketika dihadapi masalah kita perlu memahami permasalahan apa yang sebenarnya sedang kita hadapi. Cara memahami masalah pun dapat dilakukan dengan berbagai cara. Programmer dapat memahami masalah mereka menggambar diagram dan sebagainya. Lalu bagaimana kita dapat mengetahui bahwa kita telah memahami masalah?

Menurut Richard Feynman, saat kita dapat menjelaskan masalah dengan sederhana berarti kita sudah memahami dengan baik masalah yang sedang dihadapi. Jadi, pahami masalahmu dengan baik ya, guys.

  1. Membuat rencana

Setelah memahami dengan baik, jangan langsung menuju pada tahap penyelesaian ya, guys. Dalam menyelesaikan masalah pun, para programmer membuat perencanaan untuk meminimalisir adanya resiko yang terjadi saat suatu cara dilakukan. Hal tersebut dapat kita tiru dengan membuat rencana dan menganalisa resiko yang mungkin dapat terjadi jika kita melakukan rencana tersebut. Terkadang kita dapat melakukan cara yang memiliki resiko tinggi namun selesai dengan cepat atau resiko yang rendah tapi dengan waktu penyelesaian sedikit lebih lama. Rencana dalam problem solving yang dibuat oleh programmer digunakan sebagai pegangan agar tidak salah dalam menyelesaikan permasalahan.

Atau cara mudah untuk membuat rencana kamu dapat berfikir “jika melakukan rencana A, maka akan mendapatkan B, dengan resiko C”. Selain itu kamu dapat membuat flowchart di setiap permasalahan. Jadi, kamu akan mengingat step by step menyelesaikan masalah.

Software Engineer
  1. Melakukan pembagian masalah

Tidak semua masalah yang dihadapi adalah masalah yang besar dan berat, ada juga masalah kecil yang dapat kita selesaikan dengan cepat. Namun, ada juga masalah yang urgent dan perlu diselesaikan saat itu juga atau bahkan masalah yang dapat diselesaikan di akhir.  Para programmer melakukan pembagian masalah dengan membagi mana yang menjadi sub masalah dan kemudian menyelesaikan masalah tersebut satu persatu. Kamu dapat melakukan hal yang sama karena hal ini dapat membuat masalah menjadi terlihat lebih detail dan terselesaikan dengan efektif.

  1. Penyelesaian

Sekarang kamu sudah berada di tahap penyelesaian. Lakukan semua rencana penyelesaian di sub masalah yang sudah kamu buat sebelumnya. Jangan lupa memperhatikan prioritas masalah dan resiko yang kamu akan hadapi sebelum mengambil langkah penyelesaian. Tetap berhati-hati dalam mengambil langkah juga adalah bagian dari penyelesaian masalah, lho. Karena kamu akan memperkecil resiko membuat masalah baru.

  1. Berlatih

Programmer mempelajari skill yang mereka miliki tentu tidak dalam jangka waktu yang singkat. Mereka berlatih dan belajar terus menerus dan membiasakan diri dengan kebiasaan-kebiasaan dari berpikir problem solving. Sama seperti programmer yang terus belajar, kita juga perlu terus berlatih untuk terbiasa dengan pola pikir dan perilaku seperti ini. Agar ketika dihadapi dengan masalah, diri akan memberikan reflek untuk melakukan metode-metode berpikir dalam problem solving. Untuk melatih soft skill problem solving kamu dapat mengunjungi Leetcode dan Hackerrank. Disana mereka menyediakan latihan soal yang harus diselesaikan dengan metode problem solving.

Kesulitan dan hambatan dalam melakukan metode berfikir seperti ini tentunya dialami oleh programmer. Dalam melakukan proses membuat program, programmer dapat mengalami bug, yaitu suatu keadaan dimana aplikasi atau program yang dijalankan tidak dapat berfungsi sebagaimana mestinya. Pada saat seperti inilah programmer harus mengulas kembali metode yang mereka lakukan dari awal. Mereka mencari cara untuk mengetahui bagian apa saja yang terlewat, menulis masalah yang terjadi, bertukar pikiran dengan rekan atau team, mencari referensi di internet, membuat diagram hingga akhirnya dapat mengatasi bagian yang bermasalah.

Jika kita memiliki kesulitan dan hambatan saat berpikir jernih dan melakukan problem solving pun, itu adalah hal yang wajar dan kamu perlu mengulas kembali dari tahap memahami masalah hingga penyelesaiannya. Karena bisa saja kita membuat kesalahan dalam memahami masalah atau saat membuat rencana penyelesaian. Bahkan kita juga dapat bertukar pikiran, bercerita dengan rekan atau keluarga untuk mendapatkan pencerahan dalam menyelesaikan masalah. 

Nah, bagaimana teman-teman ternyata menyenangkan bukan menjadi seorang programmer? Dengan belajar menjadi programmer ternyata kita bisa mendapatkan bonus soft skill yang berguna juga dalam kehidupan sehari-hari, salah satunya adalah problem solving. Kami akan membahas berbagai hal tentang programmer melalui artikel disini. Jadi stay tune, guys!

Untuk kamu yang tertarik untuk belajar menjadi programmer, Eudeka membuka peluang dari tahap beginner hingga experience. Disini, kamu akan mendapatkan bimbingan bersama mentor-mentor yang terpercaya. Peluang ini bisa kamu dapatkan untuk kamu yang masih berada di sekolah dasar hingga menengah atas atau kejuruan, mahasiswa dan karyawan. Yuk gapai impian dan upgrade skill kamu bersama kami, di Eudeka. 

Untuk informasi lebih lanjut kunjungi https://demo.eudeka.id/ atau email [email protected].

Artikel Terkait lainnya:

Keuntungan Informatika Menjadi Kurikulum Wajib di Jenjang Pendidikan SMP

Software Engineer VS Programmer VS Software Developer VS DevOps Engineer

Naikin Motivasi Belajarmu Lewat Kisah Pendiri Google

Mengenal Dunia Karir Sebagai DevOps Engineer

6 Film Inspirasi Untuk Belajar Coding Yang Wajib Kamu Tonton

Kisah Sukses Steve Jobs Pendiri Apple Untuk Motivasi Belajar

Indonesia Krisis Talenta Digital, Benarkah?

Para Milyader Developer Muda

Bagikan Artikel Ini

Hubungi Kami


Bagikan Artikel Ini

Lanjutkan Membaca

Temukan & cerna bacaan yang memperluas wawasan tentang Transformasi Digital Pendidikan