Fastcard
Published on

Algorithm

Algorithm atau algoritma adalah sebuah konsep untuk menggapai sesuatu dengan melakukan beberapa langkah yang saling terhubung

Tentang Algoritma

Algoritma merupakan sebuah konsep dasar yang harus dipahami oleh programmer dari awal. Banyak online course yang tidak menyediakan chapter algoritma di materi coursenya, dan banyak programmer yang pengen langsung terjun ke dunia programming tanpa mempelajari basic algoritma terlebih dahulu. Sehingga tidak sedikit programmer baru yang masih bingung harus ngapain walaupun materi teknisnya sudah ditonton atau dibaca.

Konsep Sebuah Algoritma

Pada dasarnya, ketika kita menulis suatu program, ada maksud dan tujuan yang akan kita selesaikan. Maksud dan tujuan tersebut kemudian dipecah menjadi sebuah alur atau flow yang di dalamnya berisi langkah-langkah apa saja yang harus dilakukan supaya tujuan itu tercapai. Itulah yang disebut dengan algoritma.

Contoh Konsep Algoritma

Kita ambil contoh tujuan kita membuat program adalah membuat fitur pendaftaran user. Tujuannya membuat sebuah halaman input untuk memasukan data user ke dalam database.

Kita pecah data apa saja yang akan kita masukan, diantaranya adalah nama, email, dan password. Kira-kira apa langkah-langkah nya?

Hal ini yang tidak banyak orang pelajari, orang-orang akan langsung menuliskan tutorial membuat pendaftaran user tanpa tahu setiap detail yang harus dilakukan seperti apa. Jika seperti ini terus, intuisi kita akan terbatas pada tutorial. Jika harus dibuat sendiri kita tidak tahu algoritma dasar dari fitur tersebut.

Contoh Konsep Algoritma

Melanjutkan contoh algoritma pada fitur pendaftaran user, alih-alih kita mencari tahu bagaimana cara buatnya, lebih baik kita pahami dulu alur-alur algoritmanya kurang lebih seperti ini.

LangkahAlgoritma
1Kita sudah tahu data yang akan disimpan adalah nama, email, dan password
2Data akan disimpan di database
3Kita cek terlebih dahulu, database apa yang kita gunakan? Jika kita menggunakan MySQL tentu tutorial membuat fitur pendaftaran user dengan database NoSQL tidak valid dong? Inilah pentingnya paham algoritmanya, supaya nanti kalau ada error tidak bingung
4Kemudian kita cek, apakah database kita sudah memiliki kolom untuk menyimpan data name, email, dan password? apa nama kolomnya? seringkali ada yang mengikuti tutorial tapi bertanya kok data tidak bisa disimpan padahal kode benar dan tidak error? nah bisa jadi databasenya yang bermasalah, entah kurang kolom atau kolom nya tidak sesuai, video tutorial yang kita tonton tidak mungkin menyesuaikan database kita kan? mesti kita yang harus menyesuaikan database yang digunakan di video tersebut
5Selanjutnya kita buat form. Langkah-langkah membuat form pun berbeda tergantung teknologi yang kita gunakan. Kalau kita menggunakan Laravel Filament sudah jelas kita tidak berurusan dengan HTML, jadi sesuaikan
6Form sudah dibuat, selanjutnya buat fungsinya. Bahasa pemrograman apa yang digunakan? ingat setiap bahasa memiliki cara inisialisasi yang berbeda, misalnya PHP dan Javascript memiliki langkah beda tapi konsep dan tujuannya sama
7Pasangkan form dengan fungsi yang sudah kita buat
8Test dan cek di langkah mana terjadi error? di langkah pas database kah? di langkah pas form kah? atau di fungsinya?
9Jika data berhasil masuk, berarti tujuan telah tercapai

Ubah Pola Pikir Dalam Memahami Algoritma

Ketika kita mengubah pola pikir seperti card sebelumnya, dan ketika algoritma itu sudah melekat pada diri kita, serta konsepnya juga sudah kita pahami, yakinlah bahwa membuat halaman pendaftaran tidak perlu lagi tutorial. Bahkan menambah data input misalnya nomor handphone, atau alamat user tidak perlu lagi cari di google. Ingat apa yang kita cari di media sosial atau mesin pencari itu bersifat umum dan tidak ada yang spesifik membahas kendala yang sedang kita rasakan

Kenapa Memahami Algoritma?

Kenapa penting? karena algoritma menjadi dasar dunia programming. Tanpanya, kode yang kita buat tidak berguna. Misalnya dalam pendaftaran user tadi, kita sudah membuat fungsi untuk mendapatkan data dari user, fungsi untuk menyimpan data user, dan fungsi untuk memberitahu user apakah data sudah berhasil disimpan atau tidak.

Sekarang coba hilangkan diksi algoritma diprogram kita, artinya tidak ada langkah-langkah di program kita, apakah user bisa mendaftar? oh tentu tidak bukan? semuanya akan sia-sia. Barulah ketika algoritma itu kita terapkan dan kita panggil fungsi untuk mendapatkan data user, menyimpan data user, dan terakhir memberitahu informasi ke user perihal datanya, adalah algoritma yang runtut dan sesuai tujuan yang ingin dicapai.

Kesalahan Memahami Algoritma Menjadi Fatal?

Melanjutkan dari card sebelumnya, jika urutan memamnggil fungsi tidak sesuai? apa yang akan terjadi? tentu error dan bisa jadi fatal karena algoritma tidak menghasilkan sebuah hasil yang sesuai dengan tujuan kita membuat program