Skip to main content

Apa itu optimasi program?

Optimalisasi program adalah proses memodifikasi program komputer dengan cara yang menyebabkan program mengeksekusi lebih cepat, mengkonsumsi lebih sedikit sumber daya atau umumnya berfungsi dengan tingkat efisiensi yang lebih tinggi.Tugas optimasi dapat dilakukan secara otomatis oleh beberapa kompiler bahasa pemrograman, sengaja dengan menggunakan program optimisasi, atau secara manual oleh pemrogram yang melangkah melalui kode sumber dan mencoba melakukan perbaikan spesifik.Secara umum, optimasi program dilakukan dengan tujuan tertentu, karena ada sangat sedikit optimasi umum yang dapat dibuat untuk program yang dalam beberapa cara tidak mengurangi keadaan yang dioptimalkan dari bagian lain dari program, yang berarti program biasanya dapatdioptimalkan untuk penggunaan kecepatan atau sumber daya, tetapi biasanya tidak keduanya.Salah satu komplikasi yang dapat terjadi dengan beberapa jenis optimasi adalah bahwa banyak bahasa pemrograman tingkat tinggi memberikan tingkat abstraksi yang begitu besar antara kode asli dan bahasa komputer sehingga optimisasi bisa sulit atau tidak mungkin untuk diimplementasikan di semua platform dalam semua situasi, terutama denganBahasa yang ditafsirkan yang menggunakan kompilasi just-in-time (JIT).

Konsep penting dalam optimasi program adalah gagasan bahwa optimasi biasanya dilengkapi dengan semacam harga.Salah satu contohnya adalah bahwa, ketika sepotong kode dioptimalkan untuk berjalan lebih cepat, peningkatan kecepatan dapat mencapai harga keterbacaan kode, penggunaan memori, fleksibilitas program atau sejumlah biaya lainnya.Ini berarti optimisasi program harus menjadi proses yang ditargetkan, dengan maksud membuat satu aspek dari suatu program beroperasi dengan cara yang lebih baik sambil bersedia mengorbankan efisiensi aspek lain.

Berbagai jenis optimasi program dapat dilakukan pada tahap yang berbeda dariPengembangan Program.Selama desain, optimasi luas dapat dilakukan dengan memastikan suatu program tampaknya berjalan secara efektif.Saat bekerja dengan kode sumber yang sebenarnya, optimisasi dapat mencakup memastikan tidak ada perintah asing, panggilan berulang atau fungsi yang ditulis dengan buruk.Pada kompilasi, banyak optimisasi secara otomatis dilakukan oleh kompiler dan dapat dipandu melalui penggunaan sakelar atau arahan kompiler yang berbeda oleh programmer.

Optimalisasi otomatis, seperti yang dapat terjadi dengan kompiler atau program optimasi dedikasi, seringkali dapat melibatkan trik yang adaTerlalu rumit untuk menjadi praktis bagi pemrogram manusia.Ini dapat melibatkan instruksi bergerak dalam suatu program sehingga mereka dieksekusi dari urutan yang awalnya ditulis tetapi dengan cara yang lebih efisien untuk prosesor.Ini juga dapat melibatkan sumber daya yang secara sengaja menggeser seperti blok memori sehingga dapat diakses lebih cepat.Sebagian besar optimasi program terjadi secara otomatis pada tingkat kompiler.

Satu komplikasi dengan optimasi program yang berulang atau agresif adalah bahwa, setelah suatu program telah dimodifikasi untuk berjalan lebih efisien, umumnya menjadi lebih sulit untuk dimodifikasi untuk tujuan lain, seperti menambahkan fungsionalitas ataumemperbaiki bug.Ini dapat terjadi ketika optimisasi mulai mengunci dalam perilaku program yang ditetapkan yang tidak mudah diubah atau disesuaikan dengan kode baru tanpa mengharuskan semua optimisasi dibatalkan.Masalah yang lebih besar adalah bahwa, dalam banyak kasus, program yang dioptimalkan menjadi kurang dapat dibaca manusia, karena trik dan jalan pintas digunakan alih-alih hanya perintah ringkas dan struktur kontrol klasik.Untuk alasan ini, seringkali ada tingkat optimasi program yang dapat diterima untuk dihentikan, meskipun modifikasi kode drastis mungkin membuat program bekerja sedikit lebih efisien.