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.
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
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
- Random (acak)
- Nearly sorted (hampir terurut)
- Reversed (terbalik)
- Few unique (campur-campur)
Algomation
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.
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
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.
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.
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.
(bas/sorting-algorithm/algomation/visualgo/fedoraku)
Tidak ada komentar:
Posting Komentar