Jumat, 30 Januari 2015

Array Class Method pada Java

Kali ini saya akan sharing lagi tentang Metode Array Class pada java.. Cekidoot

1. COPY OF STRING


Method ini digunakan untuk mencopy/menyali suatu array kedalam array yang lain lalu menjadi array yang isinya adalah kumpulan dari lebih dari satu array

Example :

import java.util.Arrays;
public class CobaCopyOfString {
      public static void main(String[] args){
      String[] chelsea = {"terry","cahill","lampard","cole"};
      System.out.println("Pemain Chelsea:");
      for(int i=0; i<chelsea.length; i++)
      {
      System.out.println(chelsea[i]);
      }

      String[] Inggris = Arrays.copyOf(chelsea,8);
      Inggris[4] = "rooney"; Inggris[5] = "hart";
      Inggris[6] = "sturidge"; Inggris[7] = "gerrard";
     
      System.out.println("Pemain Timnas Inggris + Pemain Chelsea:");
      for (int i=0; i<Inggris.length; i++)
      {
      System.out.println(Inggris[i]);
      }
     
}
}

Output :
















2. ByteArr


Method ini digunakan untuk merapikan susunan Array yang tidak rapi dengan cara mengurutkan dari angka yang terkecil sampai terbesar

Example :

import java.util.Arrays;
public class CobaByteArr {
      public static void main(String[] args){
      byte byteArr[] = {5,3,1,2,4};
      Arrays.sort(byteArr);
      System.out.println("Urutan Array :");
      for (byte number : byteArr)
      {
      System.out.println("Angka = " +number);
      }
      
}
}


Output :





3. binarySearch


Method ini digunakan untuk mencari posisi dari urutan Array

Example :

import java.util.Arrays;
public class CobaBinarySearch {
public static void main(String[] args) {
byte angka[] = {56,43,52,55,88};

byte searchVal = 88;
int retVal = Arrays.binarySearch(angka,searchVal);
System.out.println("Angka "+searchVal+" berada di Array posisi ke : "+retVal);
}
}


Output :







4. Merubah ukuran huruf Array


Method yang dipakai adalah dengan cara mengubah angka di dalam []. contoh, misal ada array : int nilai[] = new int [5], kemudian saya akan memperbesarnya ukurannya dengan membuat variabel referensi yang sama, seperti ini nilai = new int[10], dengan seperti ini ukuran array menjadi 10, namun array akan menjadi baru. Untuk lebih jelasnya perhatikan contoh program berikut :

Example :

public class CobaFontArray{
 public static void main (String args[]){
  int nilai[] = new int[5];
  int i;
  for(i=0; i<nilai.length;i++){
   nilai[i]=i;
   System.out.print(nilai[i]+" ");
  }

  System.out.println("\nAfter resizing");
  nilai = new int[10];

  for(i=0; i<nilai.length;i++){
   nilai[i]=i;
   System.out.print(nilai[i]+" ");
  }
 }
}


Output :






5. Mencetak Array ( println )


Method ini digunakan untuk mencetak Array.

Example :

import java.util.Arrays;
public class CobaPrint {
      public static void main(String[] args){
      int[] i1= new int[] { 33, 12, 98 };
      System.out.println("Susunan Array :");
      for (int number : i1) {
 System.out.println("Number = " + number);
      }
      
  }
}



Output :



















sekian!!
Semoga Bermanfaat
Thanks for coming to my Blog

String Class Method pada Java

Dibawah ini saya akan membahas beberapa fungsi yang digunakan di class String untuk bahasa pemrogaman JAVA...Cekiddoot

1. equals()



Method ini digunakan untuk mengecek isi dari suatu string. Method ini mengembalikan nilai true jika benar dan false jika salah. Method equal ini mengecek isi string secara case sensitive, sehingga jika ada perbedaan kapital ataupun sebaliknya, maka akan mengembalikan nilai false.

Example :

public class CobaEquals{
 public static void main (String args[]){
  String kata ="BIMA";
  String kata2="bima";
  String kata3="bima";
  
  System.out.println(kata2.equals(kata3));
  System.out.println(kata.equals(kata2));
 }
}

Output :
















2. trim()



Method ini digunakan untuk membuang spasi, tab, dan form feeds dari awal sampai akhir yang tidak diperlukan.

Example :

public class CobaTrim{
 public static void main (String args[]){
  String nama ="      BIMA FEBRIAN      ";
  
  System.out.println(nama.trim());
 }
}

Output :

















3. toUpperCase()



Method ini akan mengubah semua isi string yang non kapital akan menjadi kapital. Jika string asal sudah uppercase, maka string yang dikembalikan sama dengan string asal.

Example :

public class CobaUpperCase{
 public static void main (String args[]){
  String kata ="bima";
  String kata2="febrian";
  
  
  System.out.println(kata);
  System.out.println(kata2.toUpperCase());

 }
}

Output :


















4. toLowerCase()



Method toLowerCase merupakan kebalikan dari method toUpperCase(), method ini akan mengembalikan string yang identik dengan string asal namun dalam bentuk non kapital.

Example :

public class CobaLowerCase{
 public static void main (String args[]){
  String kata ="BIMA";
  String kata2="FEBRIAN";
  
  
  System.out.println(kata);
  System.out.println(kata2.toLowerCase());

 }
}


Output :


















5. toCompare()



Method ini biasanya digunakan untuk penyortiran. Method ini digunakan untuk membandingka dua string dalam konteks alfabet. Jika string yang target lebih akhir dalam urutan abjad dibanding  referansinya, maka method akan mengembalikan negatif, dan sebaliknya. Tapi jika kedua string sama, maka akan mengembalikan 0.

Example :

public class CobaCompare{
 public static void main (String args[]){
  String kata ="bima";
  String kata2="bahrul";
  String kata3="bimo";
  
  System.out.println(kata2.compareTo(kata3));
  System.out.println(kata.compareTo(kata2));
  
 }
}



Output :

















sekian!!
Semoga Bermanfaat
Thanks for coming to my Blog

Jumat, 23 Januari 2015

Algoritma String/Array pada java

1. ANAGRAM

Anagram adalah salah satu jenis permainan kata, di mana huruf-huruf di kata awal biasa diacak untuk membentuk kata lain atau sebuah kalimat. Anagram sering dipakai sebagai kode. Permainan yang menggunakan anagram antara lain adalah Scrabble dan Boggle. Dalam kedua permainan ini, pemain berusaha membentuk kata-kata dari huruf yg disediakan.

Anagram sesungguhnya adalah semua kombinasi yang mungkin untuk suatu kata / kalimat.
Misalkan kita mencoba mendefinisikan secara manual suatu kalimat yang dispesifikasikan oleh user. Kita akan kesulitan jika suatu kata atau kalimat yang dispesifikasikan oleh user sangat panjang. Untuk itu, manusia membutuhkan komputer dengan aplikasi yang berguna untuk menyelesaikan masalah yang di hadapi.
Source Code :
import java.io.IOException;
public class ContohAnagram { static int size; static int count;
 static char[] charArray;

public static void main(String[] args) throws IOException {
    String input = "Java";   
    size = input.length();
   
    count = 0;
   
    charArray = new char[size];
   
    for (int j = 0; j < size; j++)
 
    charArray[j] = input.charAt(j);
    doAnagram(size);
  }

  public static void doAnagram(int newSize) {  int limit;  if (newSize == 1) 
  
  return;
    
    for (int i = 0; i < newSize; i++) {
      doAnagram(newSize - 1);      
      if (newSize == 2)

      display(); 
     
      rotate(newSize);
    }
  }


  public static void rotate(int newSize) {
    int i;
   int position = size - newSize;
   char temp = charArray[position]; 
   for (i = position + 1; i < size; i++)
      charArray[i - 1] = charArray[i];   
      charArray[i - 1] = temp;
  }


   public static void display() {
    System.out.print(++count + " "); 
    for (int i = 0; i < size; i++)
      System.out.print(charArray[i]);     
      System.out.println();
  }
}


Hasil Output : 















2. Sieve of Eratosthenes


Pencarian bilangan prima hingga suatu batas maksimum tertentu bisa dilakukan menggunakan algoritma Sieve of Eratosthenes. Berikut adalah langkah-langkah untuk mencari deret bilangan prima dengan batas range 100. 


1. ) Catat semua bilangan dari 0-100.

2.) Karena angka 0 dan 1 tidak memenuhi definisi bilangan prima, maka coret angka tersebut. Kemudian, angka berikutnya, yaitu angka 2, akan dianggap sebagai bilangan prima. 

3.) Coret semua bilangan yang merupakan kelipatan dari bilangan prima terbesar yang diketahui (pada langkah pertama berarti angka 2). 

4.) Bilangan tersebut pasti bukan bilangan prima. Bilangan yang belum tercoret setelah angka prima terbesar yang diketahui (pada langkah pertama berarti angka 3), pasti bilangan prima. 


5.) Ulangi langkah 3 dan 4 hingga tidak ada lagi bilangan yang lebih besar dari bilangan prima terbesar yang diketahui yang belum tercoret.

Source code :
import java.util.Vector;

public class ContohSieve {

    public static void main(String[] args) {
        int limit = 100;
        boolean[] bil_asal = new boolean[limit];
        for (int i = 0; i < limit; i++) {
            bil_asal[i] = true;
        }
        bil_asal[0] = false;
        bil_asal[1] = false; 

       
                    for (int i = 2; i <= Math.sqrt(limit); i++) {
                     if (bil_asal[i]) {
                    for (int j = i * i; j < limit; j = j + i) {
                    bil_asal[j] = false;
                }
            }
        }
                Vector<Integer> prima = new Vector<Integer>();
                for (int i = 2; i < limit; i++) {
                if (bil_asal[i]) {
                prima.add(i);
            }
        }
        System.out.println("Jumlah bilangan prima antara 0 sampai " + limit
                + " adalah " + prima.size() + " buah");
                
                for (int i = 0; i < prima.size(); i++) {               
                System.out.println(prima.elementAt(i));
        }
    }
}

Hasil Output :














3. HANOI TOWER


Seperti yang kita ketahui mengenai Nama menara yang di sebut sebagai "Tower of Hanoi" adalah Menara Hanoi. Menara Hanoi ini adalah sebuah permainan matematis atau teka-teki. Permainan / algoritma ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.

Tujuan dari algoritma ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut:
  • Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
  • Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
  • Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.

Source Kode ;


public class ContohHanoi {

  static int Cakram = 3;



  public static void main(String[] args) {

    hanoiTower(Cakram, 'A', 'B', 'C');

  }



  public static void hanoiTower(int topN, char src, char inter, char dest) {

    if (topN == 1)
      System.out.println("Cakram 1 dari " + " Tiang " + src + " ke " + dest);
    else {
    
      hanoiTower(topN - 1, src, dest, inter);
      
      System.out.println("Cakram " + topN + " dari " + " Tiang " + src + " ke " + dest);
     
      hanoiTower(topN - 1, inter, src, dest);
    }
  }
}

Hasil Output :















Semoga Bermanfaat
Thanks for coming to my Blog!!!

Selasa, 13 Januari 2015

Contoh Algoritma Sorting dan Searching pada Java

Oke guys langsung aja saya mau menjelaskan beberapa contoh Algoritma sorting dan searching pada bahasa pemrogaman Java.. Cekidoot.


1. Fibonacci Search

Teknik ini hanya dapat digunakan hanya pada kumpulan data yang sudah di urutkan, karena teknik ini melakukan pencarian dengan mencari data melalui pola bilangan fibonachi. Contoh : 1,1,2,3,5,8,13 



Source kode untuk java :

public class ContohFibonacciByBima {
    public static void main(String[] args) {
    int n0 = 1, n1 = 1, n2; 
    System.out.print(n0 + " " +  n1 + " "); 

      for (int i = 0; i < 10; i++) {
      n2 = n1 + n0;
      System.out.print(n2 + " "); 
      n0 = n1; 
      n1 = n2; 
    }
    System.out.println(); 
  }
}



2. Merge Sort

Merge sort merupakan salah satu teknik sorting yang menurutkan suatu data dengan cara penggabungan. Merge sort juga menggunakan proses divide and conquer pada rekursi.Berikut adalah langkah kerja merge sort :

a.    Devide
      Memilah elemen – elemen dari data menjadi dua bagian.

b.    
Conquer
      Menyelesaikan setiap bagian dengan memanggil prosedur merge sort secara rekursif.


c.     
Kombinasi

      Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan.



Source kode untuk java :


import java.util.*;

public class ContohMergeSortByBima{
public static void main(String[] args){
Integer[] a = {2, 6, 3, 5, 1};
mergeSort(a);
System.out.println(Arrays.toString(a));
}

public static void mergeSort(Comparable [ ] a){
Comparable[] tmp = new Comparable[a.length];
mergeSort(a, tmp,  0,  a.length - 1);
}


private static void mergeSort(Comparable [ ] a, Comparable [ ] tmp, int left, int right){
if( left < right )
{
int center = (left + right) / 2;
mergeSort(a, tmp, left, center);
mergeSort(a, tmp, center + 1, right);
merge(a, tmp, left, center + 1, right);
}
}


    private static void merge(Comparable[ ] a, Comparable[ ] tmp, int left, int right, int rightEnd ){
        int leftEnd = right - 1;
        int k = left;
        int num = rightEnd - left + 1;

        while(left <= leftEnd && right <= rightEnd)
            if(a[left].compareTo(a[right]) <= 0)
                tmp[k++] = a[left++];
            else
                tmp[k++] = a[right++];

        while(left <= leftEnd)    
            tmp[k++] = a[left++];

        while(right <= rightEnd)  
            tmp[k++] = a[right++];

        
        for(int i = 0; i < num; i++, rightEnd--)
            a[rightEnd] = tmp[rightEnd];
    }
 }







3. Counting Sort

Counting Sort adalah algoritma pengurutan efektif dan efisien yang melakukan pengurutan dengan ide dasar meletakkan elemen pada posisi yang benar, dimana penghitungan posisi yang benar dilakukan dengan cara menghitung (counting) elemen-elemen dengan nilai lebih kecil atau sama dengan elemen tersebut. Keunggulan Algoritma Counting Sort adalah dapat mengurutkan dengan waktu yang lebih singkat, karena tidak membandingkan dengan elemen lain. Kelemahan algoritma counting sort adalah menggunakan array yang terlalu banyak.

Source kode untuk java :

import java.util.Scanner;

public class ContohCountingSortByBima {
    private static final int MAX_RANGE = 1000000;
    public static void sort( int[] arr )
    {
        int N = arr.length;
        if (N == 0)
            return;

        int max = arr[0], min = arr[0];
        for (int i = 1; i < N; i++)
        {
            if (arr[i] > max)
                max = arr[i];
            if (arr[i] < min)
                min = arr[i];
        }
        int range = max - min + 1;


        if (range > MAX_RANGE)
        {
            System.out.println("\nError : Range too large for sort");
            return;
        }

        int[] count = new int[range];
        for (int i = 0; i < N; i++)
            count[arr[i] - min]++;
      
        for (int i = 1; i < range; i++)
            count[i] += count[i - 1];
       
             int j = 0;
        for (int i = 0; i < range; i++)
            while (j < count[i])
                arr[j++] = i + min;
    }    

    public static void main(String[] args){
        Scanner scan = new Scanner( System.in );        
        System.out.println("Counting Sort Test\n");
        int n, i;
       
        System.out.println("Enter number of integer elements");
        n = scan.nextInt();
        
        int arr[] = new int[ n ];
       
        System.out.println("\nEnter "+ n +" integer elements");
        for (i = 0; i < n; i++)
            arr[i] = scan.nextInt();
        sort(arr);
       
        System.out.println("\nElements after sorting ");        
        for (i = 0; i < n; i++)
            System.out.print(arr[i]+" ");            
        System.out.println();                     
    }    

}




SEKIAN!!
SEMOGA BERMANFAAT
Thanks For Coming to My Blog