Jelaskan dan berikan contoh mengapa algoritma perlu dianalisis

Computational thinking atau berpikir komputasi merupakan salah satu kemampuan yang harus dimiliki oleh setiap orang untuk menghadapi atau memecahkan persoalan sehari-hari. Computational thinking juga menjadi pemikiran para ilmuwan atau programmer untuk mengembangkan sebuah aplikasi komputer. Cara berpikir ini juga mendukung pemecahan masalah di setiap ilmu, mulai dari sosial dan humaniora, matematika hingga sains.

Computational thinking merupakan proses pemecahan masalah yang mencakup sejumlah karakteristik serta disposisi. Ada 4 tahapan atau metode dalam computational thinking, di antaranya dekomposisi, pengenalan pola, abstraksi, dan algoritma.

Dalam artikel ini kita akan membahas lebih lanjut mengenai algorithm design atau pemikiran algoritma.

Konsep Algoritma dalam Computational Thinking

Algoritma menjadi salah satu tahapan atau metode dalam computational thinking yang perlu dipelajari dengan baik untuk menyelesaikan masalah dengan efektif dan efisien. Algoritma sendiri menjadi tahap terakhir dalam computational thinking setelah dekomposisi, pengenalan pola dan abstraksi. Dalam komputer, penyusunan algoritma efektif untuk mempercepat sebuah aplikasi bekerja.

Konsep Dekomposisi dalam Computational Thinking dan Penerapannya

Dekomposisi dalam kemampuan computational thinking yaitu cara untuk memecahkan masalah kompleks ke dalam bagian kecil agar mudah dipahami.

Algorithm design atau pemikiran algoritma yang merupakan metode khusus yang menggunakan proses matematis dalam proses pemecahan masalah.  Algorithm design diidentifikasi serta dimasukkan ke dalam banyak teori solusi penelitian operasi, layaknya pemrograman dinamis.

Desain algoritmik dirancang dengan pola perancangan algoritma, misalnya pola template, pola dekorator, serta penggunaan struktur data. Lebih mudahnya, pemikiran algoritma merupakan metode untuk memecahkan masalah dengan membuat langkah-langkah yang runtut dan tepat. Melalui langkah-langkah ini, masalah bisa terselesaikan dengan baik dan mudah.

Pada proses pencarian internet algoritma ditemukan dalam packet routing, caching, dan web crawling. Pemikiran algoritma bukan hanya menjadi solusi dalam memecahkan masalah di bidang komputer, tetapi untuk menyelesaikan masalah sehari-hari.

Jika dalam software terdapat algoritma agar software bisa menyelesaikan masalah, maka manusia juga bisa menerapkannya dengan kemampuan computational thinking. Disadari atau tidak, otak kita secara otomatis melakukan proses algoritma untuk memecahkan masalah. Jika metode berpikir ini terus dilatih dan dibiasakan, maka otak kita bisa menyelesaikan masalah kompleks dengan mudah.

Contoh dalam kehidupan sehari-hari, jika Anda ingin pergi ke sekolah, secara tidak langsung otak menyusun sebuah algoritma atau langkah-langkah untuk bisa mencapai tujuan tersebut, mulai dari mandi, menyiapkan dan memakai seragam sekolah, sarapan, menyiapkan kendaraan untuk pergi ke sekolah dan mulai berjalan.

Proses berpikir algoritma ini perlu dianalisis dengan tujuan agar dapat mengambil keputusan yang tepat dalam algoritma menentukan solusi penyelesaian masalah. Contoh penerapan algoritma di sekolah yaitu melakukan perhitungan perkalian di sekolah. Jika ingin mendapatkan jawaban yang tepat maka proses pemecahan masalahnya yaitu dengan mengikuti aturan atau rumus yang sudah diajarkan.

Saat seseorang sudah mempunyai dasar pemikiran algoritma, maka seseorang tidak perlu memikirkan atau risau tiap kali dihadapkan dengan masalah baru.

Dalam ilmu komputer, algoritma merupakan salah satu hal yang mendasar dan penting untuk dikuasai oleh setiap orang mulai dari peneliti, praktisi, hingga orang-orang awam terhadap ilmu komputer pun perlu mempelajari proses algoritma. Penguasaan algoritma tidak cukup hanya dengan tahap mengetahui serta menggunakan proses algoritma dalam menyelesaikan masalah saja, tetapi juga harus mengerti dasar ilmu komputer, merancang serta mengembangkan proses algoritma berdasarkan masalah yang ditemukan.

3 Hal dalam Proses Algoritma dan Langkah-langkahnya

Untuk bisa merancang dan mengembangkan pemikiran algoritma sesuai masalah yang akan diselesaikan, seseorang harus mempelajari dasar perancangan dan pengembangan algoritma serta melakukan pembiasaan. Untuk menganalisis algoritma, setidaknya terdapat tiga hal utama yang harus didefinisikan dengan jelas, yaitu:

  • Masalah, sebelum menggunakan proses algoritma, seseorang harus bisa mendefinisikan atau menganalisis masalah yang ingin diselesaikan. Seorang harus bisa mencari tahu apa masalahnya, penyebabnya dan mulai merancang solusi permasalahan yang tepat.
  • Masukan, merupakan contoh data maupun keadaan yang menjadi variabel untuk menemukan jalan keluar dari suatu permasalahan.
  • Keluaran, merupakan bentuk akhir yang didapatkan dari data maupun keadaan setelah mengimplementasikan algoritma. Keluaran menjadi hasil ideal yang diinginkan atau dianggap sudah menyelesaikan masalah dan menjadi solusi yang tepat.

Aspek terpenting dalam perancangan dan pelaksanaan algoritma yaitu membuat algoritma berjalan efektif dan efisien. Adapun berikut langkah-langkah pemikiran algoritmik, yaitu:

  • mendefinisikan masalah,
  • mengembangkan model,
  • spesifikasi algoritma,
  • membangun dan merancang proses pemikiran algoritma,
  • memeriksa kebenaran algoritma,
  • menganalisis proses algoritma, dan
  • mengimplementasikan proses pemikiran algoritma.

Melalui pemikiran algoritma, memungkinkan seseorang untuk membuat solusi yang tepat otomatis. Semakin sering berlatih menyusun sebuah bentuk pemikiran algoritma, maka seseorang akan terbiasa untuk memecahkan permasalahan secara bertahap hingga menemukan jalan keluarnya.

Dasar pemikiran algoritma yang terus-menerus dilatih membuat seseorang memiliki ide dan solusi yang cemerlang, serta meningkatkan kemampuan problem solving dan membangun kemampuan berpikir kritis dan logis.

Contoh Penerapan Algoritma

Berdasarkan informasi yang sudah disampaikan, bisa disimpulkan bahwa algoritma merupakan pengembangan petunjuk pemecahan masalah secara step by step, langkah demi langkah, atau tahapan agar seseorang dapat menggunakan informasi tersebut untuk menyelesaikan permasalahan yang sama.

Pengenalan Pola dalam Computational Thinking dan Penerapannya

Pattern recognition atau pengenalan pola dalam computational thinking merupakan kemampuan untuk mengenal persamaan dan perbedaan pola.

Algoritma juga biasa digunakan untuk perhitungan, penalaran secara otomatis serta pemrosesan data. Dalam computational thinking, algoritma menjadi salah satu metode yang mudah diterapkan oleh siapa saja, termasuk terhadap peserta didik di sekolah. Hal ini dikarenakan algoritma mudah di desain dan dipahami contohnya menggunakan flowchart atau diagram alur.

Setiap flowchart tersebut dibuat sesuai dengan arti sendiri yang perlu dijelaskan sebelumnya, agar siswa bisa menyusun dan membaca flowchart tersebut dengan mudah. Langkah-langkah yang dibuat dalam algoritma harus bersifat logis dan sistematis.

Contoh penerapan proses algoritma dalam kehidupan sehari-hari sebagai berikut:

  • Langkah-langkah memperbaiki kerusakan listrik.
  • Langkah-langkah membuat makanan ringan (bolu kukus).
  • Mengimplementasikan program komputer dalam bahasa C, Fortran, Pascal, dan lainnya.
  • Langkah-langkah menghitung luas bangunan.
  • Langkah-langkah membuat tapai.

Masih banyak lagi persoalan yang menggunakan proses algoritma. Algoritma menciptakan pola dan abstraksi diurutkan secara lengkap, terukur serta kreatif.

Adapun ciri-ciri proses algoritma yang berjalan dengan baik mempunyai sifat seperti berikut:

  • Benar, solusi yang dihasilkan bisa menyelesaikan masalah dengan baik.
  • Efisiensi, solusi yang dihasilkan bisa tepat guna sesuai dengan masalah yang ada dan tidak menghabiskan waktu lama untuk menyelesaikannya.
  • Mudah diimplementasikan, solusi yang dihasilkan bersifat realistis dan mudah diterapkan untuk menyelesaikan masalah

Karena pentingnya computational thinking bagi setiap orang, maka kemampuan ini harus mulai dikenalkan dan dilatih pada siswa sejak Sekolah Dasar, termasuk menggunakan metode algoritma. Hal ini membantu siswa untuk mengasah pola pikir lebih kreatif, logis dan terstruktur, sehingga membantu mereka untuk menghadapi masalah dengan baik dan membuat solusi masalah dengan langkah-langkah sistematis.

Itulah beberapa hal yang bisa diketahui mengenai konsep algoritma dalam computational thinking. Guru berperan penting untuk membiasakan siswa berpikir komputasional salah satunya menggunakan metode algoritma dengan mengintegrasikannya dalam mata pelajaran.

Banyak istilah yang ada di dalam dunia komputasi seperti AI, superkomputer, machine learning, cloud, quantum computing, dan banyak lagi. Selain itu, ada satu kata yang khususnya digunakan di seluruh komputasi yaitu algoritma. Dalam pengertian yang paling umum, algoritma adalah serangkaian instruksi yang memberitahu komputer bagaimana mengubah serangkaian fakta tentang dunia menjadi informasi yang berguna.

Lebih jauh lagi, apa itu algoritma? Apa fungsinya dan perbedaannya dengan program? Poin-poin di bawah ini akan mengulas lebih detail tentang pengertian, fungsi, ciri, hingga contoh algoritma.

Baca juga: Simak tren SEO 2020 yang mengubah sistem mesin pencarian

Apa itu algoritma?


Algoritma adalah urutan langkah logis yang digunakan untuk menyelesaikan suatu masalah. (Gambar: pexels.com)

Agar memahami dengan lebih dalam apa itu algoritma, maka sebaiknya kita terlebih dahulu merujuk pada beberapa sumber di bawah ini. Pertama, menurut praktisi matematika dan komputer, Seymour Lipschutz dan Marc Lipson, pengertian algoritma adalah suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.

Kedua, dilansir dari Bitlabs, algoritma adalah instruksi yang ditujukan ke komputer agar dirinya bisa menyelesaikan tugas yang diberikan. Instruksi tersebut harus ditulis secara spesifik agar tugas bisa diselesaikan dengan benar, mulai dari istilah yang dipakai sampai dengan langkah-langkahnya. 

Ketiga, bersumber dari Tech Target, algoritma adalah prosedur atau formula untuk memecahkan masalah, yang dilakukan berdasarkan urutan tertentu. Sebuah program komputer dapat dilihat sebagai algoritma yang rumit. Dalam matematika dan ilmu komputer, algoritma biasanya berarti prosedur kecil yang memecahkan masalah berulang.

Dari ketiga sumber di atas, dapat ditarik kesimpulan bahwa algoritma adalah semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu masalah.

Baca juga: Faktor yang memengaruhi peringkat website di mesin pencarian

Fungsi algoritma


Algoritma adalah suatu urutan atau alur yang dipakai dalam perhitungan atau pemecahan masalah secara sistematis. (Gambar: pexels.com)

Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Suatu algoritma pemrograman membawa keuntungan serta fungsi penting dalam aktivitas pembuatan program. Algoritma pada umumnya digunakan untuk membantu setiap orang yang ingin mengkonversikan sebuah permasalahan ke bahasa pemrograman. 

Dari fungsinya ini, algoritma adalah hasil dari pemikiran yang terkonsep sehingga perintah dalam algoritma dapat dilaksanakan oleh komputer lewat bahasa pemrograman. Beberapa yang perlu kamu ketahui terkait fungsi algoritma adalah sebagai berikut:

  • Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
  • Memudahkan dalam membuat suatu program untuk penyelesaian masalah tertentu.
  • Dapat digunakan berkali-kali untuk menyelesaikan suatu permasalahan.
  • Membuat sebuah program yang rumit dan besar menjadi sederhana.
  • Mengatasi permasalahan yang ada secara urut.
  • Memecahkan program yang rumit sehingga memungkinan adanya perhitungan tingkat tinggi.
  • Menggunakannya secara berulang atau lebih dari satu kali penggunaan.
  • Memudahkan dalam tracking kesalahan karena alur kerjanya yang jelas.
  • Memudahkan dalam memodifikasi program tanpa harus merubah dan mengganggu modul lainnya.
  • Memudahkan membuat program yang lebih rapi dan terstruktur sehingga lebih mudah dipahami dan dikembangkan.

Baca juga: Google updates: Seperti apa sih algoritma Google terbaru?

Perbedaan algoritma dengan program


Algoritma adalah sekumpulan langkah-langkah untuk menyelesaikan suatu masalah. (Gambar: pexels.com)

Beberapa orang sering kesulitan memahami pengertian algoritma dan sering menjadi salah interpretasi antara pengertian algoritma dan program. Pada nyatanya, keduanya memang berhubungan namun memiliki pemahaman yang berbeda. Berikut ini adalah perbedaan algoritma dengan program:

Algoritma Program
Algoritma adalah desain sebelum membangun mesin dalam rekayasa perangkat lunak. Setelah mendapatkan desain, perlu mengimplementasikan kode untuk membangun mesin dalam rekayasa perangkat lunak.
Untuk menulis suatu algoritma, dibutuhkan seseorang dengan pengetahuan domain tertentu. Untuk menulis kode pemrograman, dibutuhkan seorang programmer.
Algoritma tidak tergantung pada perangkat keras dan sistem operasi. Program sepenuhnya bergantung pada perangkat keras dan sistem operasi.
Algoritma dapat ditulis dalam bahasa apapun seperti Inggris, Hindi, Prancis, Cina, dll. Program dapat ditulis dalam bahasa pemrograman apa pun seperti C, C++, Java, C#, PHP, Python, dll.
Untuk memeriksa logika (bug atau kesalahan) dalam algoritma digunakan teknik analisis. 

Untuk memeriksa bug atau kesalahan dalam bahasa pemrograman digunakan teknik pengujian/testing techniques.

Baca juga: 10 Strategi SEO praktis untuk para pemula

5 Ciri algoritma


Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman. (Gambar: pexels.com)

Menurut Donald E. Knuth, algoritma harus memiliki lima ciri penting yang saling berhubungan satu dengan lainnya. Adapun kriteria algoritma ini diantaranya sebagai berikut:

1. Finiteness (keterbatasan)

Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas, dengan kata lain ada tujuan akhir yang dicapai, sehingga suatu program akan berhenti ketika tujuan akhir telah tercapai. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.

2. Definiteness (kepastian)

Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous). Ada intruksi-intruksi yang jelas dan juga tidak ambigu, sehingga tidak terjadi kesalahan di dalam menghasilkan output.

3. Input (masukan)

Input ini merupakan suatu permasalahan yang dihadapi serta akan dicarikan solusinya. Algoritma ini mempunyai nol atau lebih input, yaitu besaran yang diberikan kepada algoritma untuk diproses.

4. Output (keluaran)

Algoritma memiliki nilai nol atau lebih keluaran (output). Output ini tentunya harus berupa solusi atau penyelesaian dari suatu masalah. Output dapat berupa pesan atau besaran yang berhubungan dengan input. 

5. Effectiveness (keefektivitasan)

Algoritma harus sangkil (effective), setiap urutan atau langkah harus sesederhana mungkin, sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.

Baca juga: Simak tren SEO 2020 yang mengubah sistem mesin pencarian

Contoh algoritma


Algoritma adalah instruksi yang ditujukan ke komputer agar dirinya bisa menyelesaikan tugas yang diberikan. (Gambar: pexels.com)

Agar lebih mendapatkan gambaran tentang algoritma, perlu diketahui bahwa algoritma tidak hanya diterapkan pada pemrograman saja, akan tetapi di bisa diterapkan dalam kehidupan sehari-hari. 

Jika persoalannya adalah sebagai berikut: 

Diberikan data berupa nama karyawan dan hasil penilaian kinerja. Jika hasil penilaian kinerja lebih besar atau sama dengan 75 maka karyawan tersebut dinyatakan berhasil mencapai KPI. Sedangkan jika nilainya lebih kecil dari 75, maka karyawan tersebut dinyatakan tidak berhasil mencapai KPI.

Maka contoh penulisan algoritmanya adalah seperti berikut:

1. Algoritma Narasi

Algoritmanya akan sebagai berikut:  baca nama dan nilai karyawan. jika nilai >= 75 maka keterangan = berhasil tetapi jika =< 75 keterangan = tidak berhasil.

tulis nama dan keterangan

2. Algoritma Pseudo Code

Deklarasi dari tipe datanya akan seperti berikut: Nama = string Nilai = integer

Keterangan = string

Algoritmanya akan seperti berikut: read (nama, nilai) if nilai >= 75 then keterangan = ‘berhasil’ else keterangan = ‘tidak berhasil’

write(nama, keterangan)

3. Algoritma Flowchart

Itulah tadi beberapa poin pembahasan tentang pengertian algoritma, fungsi, ciri-ciri, dan contohnya. Semoga pembahasan di atas cukup untuk memberikan gambaran dan pemahaman tentang dasar-dasar algoritma. Nah, apabila kamu memiliki kemampuan dalam bahasa pemrograman dan tertarik bekerja sebagai programmer di perusahaan besar impianmu, kamu bisa mendaftarkan dirimu melalui EKRUT. Di sini terdapat berbagai peluang kerja yang dapat disesuaikan dengan minatmu. 

Selain itu, kamu juga bisa mengintip bagaimana keseharian kerja seorang VP Engineering di channel YouTube EKRUTtv di bawah ini:

Sumber:

  • Techtarget.com
  • Study.com
  • Theconversation.com
  • Kompas.com
  • Bitlabs.id

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA