Algoritma

[algoritma&pemrograman/TIF-1101/r-408]

Asal Usul

Algoritma merupakan ilmu yang spesifik untuk jurusan ilmu komputer dan turunannya (teknik informatika, sistem informasi, sistem komputer, dan lain-lain). Ilmu ini diambil dari nama seorang ilmuwan persia bernama “al-Khowarizmi” yang oleh lidah orang Eropa diucapkan menjadi “Algorithm”. Artinya adalah prosedur komputasi yang menghasilkan nilai tertentu dari suatu masukan. Prosedur tersebut berupa tahapan-tahapan komputasi.

Untuk yang SMA di tahun 90-an, biasanya sudah diperkenalkan Algoritma di mata pelajaran matematika, dengan satu bahasa pemrograman yang terkenal waktu itu: Basic. Algoritma sendiri telah dikembangkan jauh sebelum komputer ditemukan.

Algoritma merupakan Teknologi

Tidak hanya perangkat keras yang termasuk teknologi, algoritma juga bagian dari teknologi karena mengandung unsur efisiensi dan pemilihan metode yang cocok. Jujur saja, algoritma merupakan salah satu mata kuliah yang saya benci. Tapi ternyata merupakan salah satu bagian dari judul disertasi saya (hybrid multi-criteria evolutionary algorithms), unik juga.

Salah satu aspek teknologi adalah efisiensi. Berikut ini contoh perbandingan dua komputer yang menggunakan dua prosesor yang berbeda dengan algoritma pencarian (searching) yang berbeda pula. Rinciannya adalah sebagai berikut:

  • Komputer A: Memiliki kecepatan 10 miliar instruksi per detik. Menggunakan algoritma insertion sort dengan T(n)=C1*n^2.
  • Komputer B: Memiliki kecepatan 10 juta instruksi per detik. Menggunakan algorithma merge sort dengan T(n)=C2*n*log(n).

Jika C1=2 dan C2=50 (waktu proses tiap prosesor dimana komputer B lebih lama dari komputer A). Jika kedua komputer diminta untuk mensortir 10 juta angka berapakah waktu yang dibutuhkan oleh komputer A dan B?

Jawab: Soal tersebut diambil dari buku “introduction to algorithms” karya Cormen. Dengan membagi jumlah instruksi dengan kecepatan prosesor maka diperoleh waktu yang diperlukan.

  • Komputer A membutuhkan waktu proses = 2*(10^7)^2 : 10^10 = 20 ribu detik (kira-kira 5.5 jam) sementara komputer B memiliki waktu proses 50*10^7*log(10)^7 : 10^7 = 350 detik (kira-kira 6 menit).

Bayangkan prosesor yang 1000 kali lebih cepat (komputer A) dikalahkan oleh komputer B karena menggunakan algoritma yang lebih efisien. Selain itu algoritma bisa bekerja sama dengan teknologi-teknologi lainnya:

  • Arsitektur komputer dan teknologi perakitan/pembuatan komponen
  • GUI yang intuitif, mudah dan praktis.
  • Sistem berorientasi objek
  • Teknologi web terintegrasi, dan
  • Jaringan cepat baik kabel dan nirkabel.

Demikian uraian singkat tentang pembuka mata kuliah algoritma. Siapa tahu ada yang berminat/tertarik dengan materi kuliah utama ilmu komputer ini.

Referensi:

Iklan