Mengenal Teori Dasar Optimasi

Apa yang dimaksud dengan optimasi dari segi pemrograman?

Optimasi adalah suatu cara memodifikasi suatu program komputer sehingga lebih efektif dan efisien dalam menggunakan satu atau lebih sumber daya yang ada, misalnya memori, kapasitas disk, atau waktu.

Mengapa kita memerlukan optimasi?

Andai program yang kita buat terlalu besar dan terlalu lambat, bukankah kita dapat menambahkan memori yang lebih banyak dan prosesor yang lebih cepat? Jika hal tersebut tidak memungkinkan untuk waktu sekarang ini, maka generasi prosesor selanjutnya pasti cukup mampu untuk melakukan. Jadi mengapa kita-kita ini memerlukan yang namanya optimasi? Ok untuk lebih jelasnya mari kita liat kenyataan yang ada. Kenyataan yang didapat dari membandingkan waktu dulu dan sekarang.

Begini ceritanya. Waktu kecil dulu saya dibelikan komputer dengan memori hanya 640KByte, disk drive cuman 360 KByte, dan HDDnya 40 MByte (masih kecil ya waktu dulu komputernya. Program-program yang ada waktu itu hanyalah DOS, pengolah kata, kompiler Assembley, BASIC, Pascal, C dan Game yang rata-rata hanya memakan tempat kurang dari 2 Mbyte. Di bandingkan sekarang ini jenis komputer tersebut sudah sedikit  di pasaran, paling banter komputer terkuno sekarang ini berkonfigurasi prosesor 866, memory 128 Mbyte, dan HDD yg dapat mencapai hitungan Gbyte dgn perlengkapan tambahannya, dsbnya. Mesin 866 sekarang ini sedikitnya memiliki memori 10 kali lipat lebih banyak, kapasitas disk 25 kali lebih besar, dan berpuluh-puluh kali lebih cepat. Apalagi bila dibandingkan dengan komputer jaman 1980-an.

Maka, menurut kenyataan ini kita tidak perlu kawatir lagi dengan yg namanya efisien. Tetapi bila kita melihat perkembangan beberapa software house, ternyata mereka selalu mendapatkan beberapa masalah kinerja yang serius dengan software-software terbaru mereka, terutaman ketika mereka mulai untuk mencoba menambahkan lebih banyak kemampuan dan kegunaan daripada versi sebelumnya, contoh saja: Windows NT, Compiler Borland C++ yg memakan kapasitas disk 240Mbyte (instalasi penuh), Game memerlukan setidaknya prosesor pentium dgn memori 16 Mbyte, dsb. Dari sini dapat digambarkan dengan istilah yang nama:

Dimana tersedia lebih banyak sumber daya, proyek yang lebih berambisi akan dilaksanakan.Ini berarti bahwa penggunaan secara optimal sumber -sumber daya yang ada sangat penting, tidak peduli seberapa cepat dan seberapa banyak kapasitas tampung mesin tsb (ohhh shit L). Jadi kapan dong kita membutuhkan yang namanya Optimasi?

  1. Jika kamu menulis program untuk diri lo sendiri pada satu buah komputer dan kamu memiliki/mampu membeli sebuah komputer yang cukup tangguh untuk menjalankan program tsb, maka lebih baik kalian membeli komputer daripada mengoptimasikan program anda
  2. Jika  kamu menulis program untuk banyak komputer pada sebuah perusahaan, akan merupakan ide yang lebih baik bila kamu mencoba untuk melakukan optimasi daripada melakukan upgrade untuk    semua komputer yang ada
  3. Jika program lo ditujukan untuk dijual di pasaran luas.Kalian harus melaksanakan optimasi, sehingga lebih banyak pasaran yang dapat dicakup dengan menurunkan tingkat kemampuan minimal hardware yang dibutuhkan.

Seberapa jauh optimasi yang dibutuhkan?Begini, bila kamu memiliki target khusus untuk program kamu, misalnya persedian memori sebesar 2 Mbyte dan jika kamu dapat meraih target ini dengan algoritma yang sederhana, kamu tidak perlu membuang-buang waktu dengan mencoba untuk    mengurangi beberapa KByte data dengan menggunakan algoritma yang lebih baik(biasanya lebih rumit malahan). Karena algoritma ini biasanya memiliki karakteristik yang dapat mempersulit pengembangan program di masa mendatang.Jadi bagaimana dong?(santai aja)

Gini.., kamu harus menggunakan algoritma termudah dan terjelas yang mencukupi kebutuhan untuk mencapai target.Jika kamu dapat mengetahui algoritma yang memadai, kamu tidak perlu memakai algoritma yang sangat canggih dan rumit untuk program kamu, yang akan memberikan lebih banyak waktu bagi kamu untuk mengerjakan bagian lain yang membutuhkan pengembangan.

Gue sendiri memakai optimasi otomatis, weks apaan tuh? Begini aku memakai kompiler Borland C++ 5.0 yang dapat mengoptimasikan kode program kamu dengan menggunakan beberapa teknik optimasi, seperti Jump Optimizing, Loop Unrolling, Instruction Cache, Pembuangan kode yang tidak terpakai, dsb.But, jangan tergantung ama kompilernya kenapa? karena pada kompiler Microsoft C 7.0 memiliki bug pada pengoptimasian kode. Ndak percaya coba aja make Microsoft C 7.0

Sekian dulu artikel dari saya meskipun banyak kekurangan dan kesalahan ketik semoga ada manfaat bagi para programmer indonesia JJJ

“Dari Programmer Oleh Programmer Untuk Programmer”

Contact Person  : drponidi@phracker.org

WebSites                      : http://www.geocities.com/defacecrew

Author                           : Dr`Ponidi

Edited by                      : SaMuRai_HaCk

Terbitan Online kecoak elektronik http://www.k-elektronik.org/

Akhmad Muhibudin, Webmaster Portal Pendidikan Indonesia

Dedikasi untuk: Kikin Kurnia Novianti, Ara Amelia Novianti dan Pengelola situs Pendidikan Indonesia. 2010.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: