Bagaimana mendapatkan proses yang efektif?
Sebelum menjawab pertanyaan tersebut, terlebih dahulu akan dibahas tentang pengertian proses yang dimaksud pada pertanyaan tersebut. Menurut referensi, pengertian Proses adalah urutan pelaksanaan atau kejadian yang terjadi secara alami atau didesain, mungkin menggunakan waktu, ruang, keahlian atau sumber daya lainnya, yang menghasilkan suatu hasil. Apabila proses dihubungkan dengan komputasi, maka proses komputasi berarti urutan pelaksanaan atau kejadian untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Dari pengertian tersebut, proses komputasi yang efektif adalah cara-cara yang efektif untuk menemukan pemecahan masalah menggunakan suatu algoritma tertentu sehingga resource yang dibutuhkan menjadi minimal.
Bagaimana mendapatkan proses komputasi yang efektif? Komputasi yang efektif dapat diperoleh dengan cara menerapkan prinsip kemangkusan algoritma dan prinsip analisis desain algoritma. Faktor yang mempengaruhi kemangkusan algoritma yaitu:
Kemampuan mencapai goal
Pemilihan algoritma yang digunakan harus menemukan mampu goal-nya. Pemilihan algoritma yang salah dapat berakibat paling fatal yaitu proses tidak dapat berhenti dan terus-menerus mencari goal. Kondisi tersebut disebut dengan ‘looping forever‘.
Run time
Run time dapat diukur dengan kompleksitas waktu algoritma. Selain mampu mencapai goal, waktu proses pencapaian goal tersebut sebaiknya tidak membutuhkan waktu yang lama. Perhitungan kompleksitas waktu tidak dapat diukur secara langsung, karena sangat bergantung pada kemampuan hardware yang digunakan. Perhitungan kompleksitas waktu yang paling umu adalah dengan cara menghitung kompleksitas looping dari algoritma dan dinyatakan dalam notasi Big O.
Kebutuhan ruang memory
Algoritma yang baik adalah algoritma yang tidak membutuhkan ruang memory yang besar. Pemanfaatan variabel yang efektif menjadi kunci penting untuk mendapatkan algoritma yang tidak membutuhkan memory yang besar. Manajemen variabel yang baik dan pemanfaatan variabel lokal juga dapat meminimalkan pemanfaatan ruang memory.
Completeness
Completeness berati kemampuan algoritma untuk menemukan semua goal yang dapat dicapai. Beberapa algoritma ‘cepat puas’ apabila telah menemukan sebuah goal, namun sayangnya goal yang ditemukan tersebut belum tentu optimal. Selain algoritma yang ‘cepat puas’, ada pula algoritma yang ‘penasaran’, yaitu algoritma yang berusaha menemukan semua goal yang terdapat dalam pemecahan masalah. Beberapa permasalahan sudah memiliki formulasi tertentu untuk menemukan solusi optimal tanpa harus menelusuri semua solusinya, namun masih banyak permasalahan yang belum memiliki formulasi khusus untuk menemukan solusi optimalnya.
Untuk membuktikan apakah proses yang terjadi adalah proses yang efektif, maka sebaiknya algoritma tersebut diterapkan pada sistem yang seminimal mungkin untuk meminimalkan faktor kemampuan hardware yang digunakan. Selain itu, buktikan tanpa menggunakan interface, karena belum ada formulasi tertentu yang mengatur kompleksitas tampilan yang berhubungan dengan interaksi manusia dan komputer.
Lanjutkan bacaan ke Lima Hal yang Harus Dijawab dalam Disertasi.
Komentar Terupdate