Belajar Algoritma Pemrograman Melalui Animasi

Bagus Aji Santoso 7 Februari 2015

Belajar Algoritma Pemrograman Melalui Animasi

Algoritma memiliki peran yang sangat penting dalam kehidupan suatu program. Dengan algoritma yang sesuai, suatu program biasa dapat berubah menjadi program yang luar biasa. Sebagai contoh apabila suatu program dibuat untuk mengurutkan penduduk kota Bandung berjumlah sekitar 46.000.000 jiwa berdasarkan umur. Algoritma untuk melakukan tugas tersebut dapat dipilih dari beberapa algoritma yang telah dikembangkan diantaranya insertion sort, selection sort, buble sort, shell sort, mergesort, heapsort, dan quicksort. Tidak semua algoritma yang telah disebutkan ini cocok untuk semua kondisi. Untuk kasus pengurutan penduduk kota Bandung apabila salah memilih algoritma pengurutan maka waktu yang dibutuhkan untuk mengurutkannya dapat memakan waktu berhari-hari, namun apabila algoritma yang dipilih tepat maka waktu yang dibutuhkan untuk mengurutkan penduduk kota Bandung ini dapat diselesaikan dalam hitungan menit.

Algoritma merupakan bidang tersendiri di Ilmu Komputer. Bahkan di kampus tempat saya menuntut ilmu (Ilmu Komputer, Universitas Pendidikan Indonesia) ada empat mata kuliah yang berhubungan langsung dengan Algoritma. Mempelajari algoritma pemrograman itu tidak mudah karena membutuhkan pemahaman yang mendalam untuk menguasainya.

Baca juga: Belajar Bahasa Pemrograman Secara Interaktif di Internet

Animasi banyak membantu kita untuk memvisualisasikan sesuatu yang sulit untuk dibayangkan. Misalnya membantu memahami bagaimana planet-planet mengellilingi matahari, membantu memahami bagaimana pergerakan lempeng bumi, membantu memahami bagaimana cara kerja suatu mesin, membantu memahami asal muasal tsunami, bahkan membantu kita untuk memahami cara kerja suatu algoritma. Artikel kali ini kita akan membahas tiga situs yang menyediakan animasi untuk beragam algoritma yang umum (maupun tak umum) yang banyak diimplementasi dalam berbagai macam program komputer.

Sorting Algorithm Animations

Sorting Algorithm Animations

Sesuai namanya, situs ini mengkhususkan diri untuk animasi algoritma pengurutan, salah satu algoritma paling penting didunia ini. Pengurutan seringkali kita temui dikehidupan sehari-hari. Salah satunya seperti pada contoh di atas.

Situs ini memberikan animasi untuk 8 algoritma pengurutan yaitu:

  • Insertion
  • Selection
  • Bubble
  • Shell
  • Merge
  • heap
  • Quick
  • Quick3
Selain itu ada pula empat jenis kasus untuk dicoba untuk melihat cara kerja algoritma pengurutan yang diinginkan. Keempat opsi itu ialah:
  • Random (acak)
  • Nearly sorted (hampir terurut)
  • Reversed (terbalik)
  • Few unique (campur-campur)
Untuk melihat cara kerja setiap algoritma dalam menyelesaikan kasus kita cukup mengklik salah satu atau semua kasus yang ada (tombol panah warna hijau akan mengaktifkan baris, kolom, atau semuanya). Dibawah ini adalah gambar pada saat semua animasi kasus pengurutan sedang diaktifkan.

[caption id="" align="alignnone" width="903"]Sorting in Action Sorting in Action[/caption]

Baca juga: Mencoba Banyak Bahasa Pemrograman atau Menguasai Beberapa Saja?

Algomation

[caption id="" align="alignnone" width="1351"]Algomation Algomation.net[/caption]

Algomation merupakan situs yang mendedikasikan diri untuk melihat, membuat dan berbagi semua jenis algoritma. Semua algoritma yang ada disitus ini dapat dilihat dan dibagikan oleh semua pengguna. Pengguna yang terdaftar disitus ini dapat membuat animasi baru atau mengembangkan animasi yang telah ada. Algomation dibuat oleh Duncan Meech.

[caption id="" align="alignnone" width="1351"]View Algomation View Algomation[/caption]

Algomation dibuat dengan teknolog NodeJS dan Express serta memanfaatkan MongoDB sebagai media penyimpanan basis datanya. Situs ini disimpan di Heroku. Disisi klien situs ini dikembangkan dalam bahasa pemrograman JavaScript (ES5) dengan beragam pustaka open source termasuk JQuery 2.x, UnderscoreJS dan editor ACE Code. Untuk menggambar layout graf, digunakan springyjs dan dagre. Selain menggunakan pustaka open source Duncan Meech juga membuat sendiri graphic dan API layoutnya.

VisuAlgo

[caption id="" align="alignnone" width="1351"]VisuAlgo.net VisuAlgo.net[/caption]

VisuAlgo merupakan situs yang juga menyediakan beragam animasi algoritma pemrograman populer yang dikembangkan oleh salah satu dosen di National University of Singapore (NUS), Dr. Steven Halim.

Baca juga: Cara Enjoy Memulai Belajar Pemrograman

Konsep VisuAlgo muncul di tahun 2011 saat Dr. Steven Halim membutuhkan alat untuk membantu mahasiswanya memahami algoritma dan struktur data. Bersama beberapa mahasiswanya di NUS, beberapa visualisasi dikembangkan, mulai dari algoritma pengurutan sederhana sampai ke algoritma dan struktur data yang kompleks seperti graf, string serta algoritma geometri. Saat ini ada 18 jenis animasi algoritma dan struktur data yang tersedia.

[caption id="" align="alignnone" width="1540"]Pilihan animasi algorimat dan struktur data Pilihan animasi algorimat dan struktur data[/caption]

VisuAlgo mengandung banyak algoritma yang dibahas dibuku yang juga ditulis oleh Dr. Steven Halim Competitive Programming 3. Saat ini, ada beberapa algoritma tingkat lanjut yang hanya ada di VisuAlgo. Contohnya, animasi Graph Traversal, Depth-First Search(DFS) dan Breadth-First Searc(BFS) beserta varian-variannya.

VisuAlgo sampai saat ini masih terus dikembangkan dan dapat diakses di alamat visualgo.net.

For your information, Dr Steven Halim ini orang Indonesia loh.

[caption id="" align="alignnone" width="1351"]Minimum Spanning Tree in Action Minimum Spanning Tree in Action[/caption]

Baca juga: Programmer Seperti Apa yang Dicari Perusahaan?

(bas/sorting-algorithm/algomation/visualgo/fedoraku)