Archive

Archive for September, 2012

Halo

September 28, 2012 Leave a comment

Halo

Halo, An Optical Phenomenon….

P.S.

Picture was taken by @anoo_anna

Advertisements
Categories: Ren's Notes Tags: ,

Mencopy Array Pada Java

September 23, 2012 Leave a comment

Ada beberapa cara dalam mencopy array pada Java,  antara lain:

  • Menggunakan method copyOf dan copyOfRange yang terdapat pada kelas Arrays. Untuk lebih detail tentang kedua method tersebut dapat dilihat disini
  • Menggunakan method static arraycopy yang terdapat pada kelas System. Untuk lebih detail tentang method arraycopy dan kelas System dapat dilihat disini.
  • Menggunakan method clone yang terdapat kelas Object. Untuk lebih detail tentang method clone dan kelasObject dapat dilihat disini.
  • Menggunakan for loop, melakukan copy setiap nilai pada element array.

Contoh untuk melakukan copy array dengan bahasa pemrograman Java sebagai berikut:

Nama file: copy.java

package copyarray;

import java.util.Arrays;
import java.util.Random;

/**
 *
 * @author Taeyeon
 */
public class copy {
    private int[] A;
    private int[] B;
    private int[] C;
    private int[] D;
    private int[] E;
    private int[] F;
    
    private static Random valueGen = new Random();
    
    public copy(int newSize)
    {
        A=new int[newSize];
        B=new int[newSize];
        C=new int[newSize];
        D=new int[newSize];
        E=new int[newSize];
        
        for (int i=0; i<newSize; i++)
        {
            A[i]=1+ valueGen.nextInt(120);
        }
    }
    
    public int[] getA()
    {
        return A;
    }
    
    public void EditA(int value, int index)
    {
        A[index]= value;
    }
    
    public void setB(int[] newA)
    {
         for(int i=0; i< newA.length; i++)
            {
                B[i] = newA[i];
            }  
    }
    public int[] getB()
    {
      return B;
    }
    
     public void setC(int[] newA)
    {
        C = Arrays.copyOf(newA, newA.length);
    }
    public int[] getC()
    {
      return C;
    }
    
     public void setD(int[] newA)
    {
        D = Arrays.copyOfRange(newA, 0, newA.length);
    }
    public int[] getD()
    {
      return D;
    }
     public void setE(int[] newA)
    {
        System.arraycopy(newA, 0, E, 0, newA.length);
    }
    public int[] getE()
    {
      return E;
    }
    
    
     public void testData(int[] data)
    {   
        for(int i=0; i<data.length; i++)
        {
            System.out.print(data[i]+" ");
        }
    }

}

 

Nama file : Main.java

package copyarray;

/**
 *
 * @author Taeyeon
 */
public class Main {

    /**
     * @param args the command line arguments
     */
 
    public static void main(String[] args) throws CloneNotSupportedException {
        
       copy cp = new copy(10);
       /* Inisialisasi nilai array A */
       
       cp.setB(cp.getA());
       cp.setC(cp.getA());
       cp.setD(cp.getA());
       cp.setE(cp.getA());
       
       
       System.out.print("-----Nilai awal array A--------\n");
       cp.testData(cp.getA());
       /* Mencopy nilai array A ke array B, C, D, E, F */
       
       cp.EditA(1000, 0);
       /* Melakukan perubahan nilai pada salah satu element array A
        * untuk membuktikan perubahan nilai pada array A tidak berpengaruh
        * pada nilai array yang telah dicopy sebelumnya */
       System.out.print("\n---Nilai array A setelah diedit----\n");
       cp.testData(cp.getA());
       
       System.out.print("\n---Mencopy array dengan for loop----\n");
       cp.testData(cp.getB());
       
       System.out.print("\n---Mencopy array dengan method copyOf----\n");
       cp.testData(cp.getC());
       
       System.out.print("\n---Mencopy array dengan method copyOfRange----\n");
       cp.testData(cp.getD());
       
       System.out.print("\n---Mencopy array dengan method static arraycopy---\n");
       cp.testData(cp.getD());

 

Contoh output dari program diatas sebagai berikut:

Output Program

Semoga bermanfaat 😀

Referrensi : Dari berbagai sumber

 

Algoritma Pengurutan Shaker Sort

September 22, 2012 Leave a comment

Algoritma Shaker sort merupakan improvement dari algoritma pengurutan Bubble sort. Cara kerja dari algoritma ini hampir sama dengan cara kerja dari algoritma Bubble Sort. Perbedaannya adalah Shaker sort melakukan pengurutan array dari dua arah.

Berikut ini contoh implemtasi algoritma Shaker sort dalam bahasa pemrograman Java.

Nama file : Shaker.java

package shakersort;
import java.util.Random;
/**
 *
 * @author Taeyeon
 */
public class Shaker {

    private int[] data;
    
    private static Random valueGen = new Random();
    
    public void setData(int newSize)
    {
        data = new int[newSize];
        for (int i=0; i<newSize; i++)
        {
            data[i]=1+ valueGen.nextInt(120);
        }
    }
    
    public int [] getData()
    {
        return data;
    }
    
    public void testData()
    {   
        for(int i=0; i<data.length; i++)
        {
            System.out.print(data[i]+" ");
        }
    }
        
    public void shakerSort(int [] newData)
    {
        int [] toSort = newData;
        for (int i=0; i<toSort.length/2; i++)
        {
            boolean swapped = false;
            for(int j=0; j<toSort.length - i -1; j++)
            {
                int temp;
                if(toSort[j]> toSort[j+1])
                {
                    temp = toSort[j];
                    toSort[j] = toSort[j+1];
                    toSort[j+1]= temp;
                    swapped = true;
                }
            }
            
           for(int k=toSort.length-2-i; k>i; k--)
            {   
                int temp;
                if(toSort[k]< toSort[k-1])
                {
                    temp = toSort[k];
                    toSort[k] = toSort[k-1];
                    toSort[k-1]= temp;
                    swapped = true;
                }
            }
            
            if(!swapped)
            break;
        }
    }
}

Nama file : Main.java

package shakersort;

/**
 *
 * @author Taeyeon
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      Shaker sh = new Shaker();
      sh.setData(25);
      System.out.println("Array dengan nilai element random");
      sh.testData();
      System.out.print("\n");
      System.out.println("\nArray dengan nilai element sudah terurut");
      sh.shakerSort(sh.getData());
      sh.testData();
    }

}

Contoh output program:

Output Shaker Sort

Semoga bermanfaat 😀

Referensi : Dari berbagai sumber.

Algoritma Linear Search dengan Java

September 20, 2012 Leave a comment

Algoritma Linear Search adalah algoritma pencarian yang paling sederhana. Linear Search bekerja dengan membandingkan nilai yang dicari dengan setiap element pada array ( pada umumnya ) secara sequen. Berikut ini implementasi algoritma linear search pada bahasa pemrograman Java yang terdiri dari 2 file .java

Nama file : LinearGenerator.java

package linearsearch;

import java.util.Random;

/**
 *
 * @author Taeyeon
 */
public class LinearGenerator {

    private int [] data;
    static private Random randomValue = new Random();
    
    public LinearGenerator(int sizeArray)
    {
        data = new int [ sizeArray];
        for(int i=0;i<sizeArray;i++)
        {
            data[i]= 1 + randomValue.nextInt(125);
        }
    }
    
    public int linearSearch(int searchKey)
    {
        for(int index=0; index < data.length; index++)
            if(data[index]== searchKey)
                return index;
        return -1;
    }
    
    @Override
    public String toString()
    {
        StringBuffer temp = new StringBuffer();
        for(int element:data)
        
            temp.append(element + " ");
            temp.append("\n");
            
            return temp.toString();
        
    }
}

Nama file : Main.java

package linearsearch;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
/**
 *
 * @author Taeyeon
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        
        
        int searchKey;
        int position;
        int arrayLength;
        
        arrayLength = 25;
        
        LinearGenerator searchArray = new LinearGenerator(arrayLength);
        System.out.println(searchArray);
        
        System.out.println("Masukkan nilai yang akan dicari:");
        searchKey = Integer.parseInt(input.readLine());
        
        while (searchKey != -1)
        {   
            position = searchArray.linearSearch(searchKey);
            
            if(position == -1)
                System.out.println("Nilai tidak ditemukan");
            else
                System.out.println("Nilai "+searchKey+" ditemukan di index "+(position+1));
            
            System.out.println("input -1 untuk keluar");
            searchKey = Integer.parseInt(input.readLine());
        }
    }

}

 

Contoh keluar program

Linear Search

Semoga bermanfaat. 😀

Referensi : Dari berbagai sumber.

Perbedaan Operator == Dengan Method equals()

September 19, 2012 Leave a comment

Untuk melakukan perbandingan antar dua buah string pada Java sebaiknya kita menggunakan method equasl() yang terdapat pada kelas String dari pada menggunakan operator ==. Method equals() bekerja dengan membandingkan konten string tersebut, sedangkan operator == bekerja dengan membandingkan referensi object ( membandingkan alamat object ). Berikut ini contoh untuk menunjukkan perbedaan antara method equals() dan operator ==.


package stringtest;

/**
 *
 * @author Taeyeon
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String objSatu = new String("Kukuh Utama");
        String objDua  = new String("Kukuh Utama");
        
        boolean bolSatu = objSatu.equals(objDua);
        boolean bolDua  = (objSatu == objDua);
        
        System.out.println("Menggunakan method equal():" + bolSatu);
        System.out.println("Menggunakan operator == : " + bolDua);
    }

}

Hasil keluaran program:

Result

Untuk membadingkan program diatas dilakukan sedikit perubahan menjadi:

String objDua  = objSatu;


Sehingga hasil keluaran program tersebut menjadi:

Result

Semoga bermanfaat. 😀

Referensi : Dari berbagai sumber.

 

Looking For A Job After Graduation

September 18, 2012 Leave a comment

Looking For Job

As always toughest test after graduation.

Dear Allah, Make it easy for me.

Aamiin.

Categories: Ren's Notes Tags:

Lovely

September 17, 2012 Leave a comment

So Lovely. ^_^

Lovely

Lovely

Source

Categories: Ren's Notes Tags: , , ,