Twitter Delicious Facebook Digg Stumbleupon Favorites More

Selasa, 08 November 2011

Algoritma + Struktur Data = Program

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah   waktu dan ruang (space) memori yang dibutuhkan untuk menjalankannya. Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang. Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan jumlah data yang diproses. Kemangkusan algoritma dapat digunakan untuk menilai algoritma yang terbaik.

Ada dua macam kompleksitas algoritma, yaitu kompleksitas waktu dan kompleksitas ruang :


·     Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n.

·     Kompleksitas ruang, S(n), diukur dari memori yang digunakan oleh struktur data yang terdapat di dalam algoritma sebagai fungsi dari ukuran masukan n.

Dengan menggunakan besaran kompleksitas waktu/ruang algoritma, kita dapat menentukan laju peningkatan waktu (ruang) yang diperlukan algoritma dengan meningkatnya ukuran masukan n

Coba Lihat contoh coding program dibawah ini. 

Contoh1
import java.util.Scanner;
public class contoh1 {
    public static void main(String[] args) {
     Scanner in =new Scanner(System.in);
     int x; double y;
     System.out.print("X = ");
     x=in.nextInt();
     if (x > 100){
         y = x * 0.9; }
     else {
         y = x;  }
     System.out.print("y = "+y);
 }
}

Contoh 2

import java.util.Scanner;
public class contoh2 {
    public static void main(String[] args) {
     Scanner in =new Scanner(System.in);
     int x; double y;
     System.out.print("X = ");
     x=in.nextInt();
     y = (x > 100) ? (x * 0.9) : x;
     System.out.print("y = "+y);
 }
}

Coba perhatikan dengan saksama kedua coding program diatas. Sudah kah anda menemukan perbedaannya ? Coding program Manakah menurut anda yang lebih efisien ? Tambahan : Pemilihan Struktur data yang tepat juga dapat membuat suatu program tersebut menjadi mangkus ( efisien ).

 
Design by Free WordPress Themes | Bloggerized by Mahasewa - Premium Blogger Themes | Blogger Templates