Selasa, 17 September 2019

Belajar Java Collections

Collection adalah sebuah framework yang dibuat untuk menyimpan dan memanipulasi sebuah objek. Collection biasanya digunakan pada sebuah data seperti mencari, meng-urutkan, meng-input dan menghapus. Kerangka kerja (Framework) menyediakan dalam bentuk Interface (contoh : Set, List, Queue, Deque dll). untuk class (ArrayList, Vector, LingkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet dll). Gambar berikut adalah hirarki pada java collection :
 
The Java Collections API
Java Collections ini terdiri dari interface Collection, list, set dan order. Di bawah ini merupakan interface collection dan hirarki class.
Gambar : Interface Collection dan Hirarki Class
  1. Collection
Collection merupakan sekumpulan objek yang tidak memiliki posisi yang tetap (no particular order) dan menerima duplikat.
  1. List
List merupakan pengelompokkan berdasarkan urutan, ia memiliki posisi awal dan juga posisi akhir. List juga tidak harus memiliki isi yang unit dan ia juga dapat menampung berbagai macam tipe data seperti Sting, Long, Integer bahkan Object.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class CobaList {
    public static void main(String[] x) {
        List lis = new ArrayList();
        // Masukkan value ke dalam lis
        lis.add("NaufalFikriAulia");
        lis.add("RizalFadly");
        lis.add("BudiArman");
        lis.add("MartaKarlina");
        lis.add("FitriHerawati");
        // Tampilkan value lis
        for (Iterator iterator = lis.iterator(); iterator.hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }
    }
}
Berikut ini hasil dari ekekusinya.
NaufalFikriAulia
RizalFadly
BudiArman
MartaKarlina
FitriHerawati
  1. Set
Set merupakan sekumpulan objek yang tidak didasarkan dengan urutan (unordered) dan menolak duplikat. Pada set, setiap anggotanya harus unik. Sedangkan untuk urutan dan tataletak dari anggotanya tidak begitu penting. Set juga dapat menampung berbagai tipe data bahkan objek.
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class CobaSet {
    public static void main(String[] namakami) {
        Set setdah = new HashSet();
        // Masukkan value ke dalam setdah
        setdah.add("NaufalFikriAulia");
        setdah.add("RizalFadly");
        setdah.add("BudiArman");
        setdah.add("MartaKarlina");
        setdah.add("FitriHerawati");
        setdah.add("AnnisaCandela");
        // Tampilkan value setdah
        for (Iterator iterator = setdah.iterator(); iterator.hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }
    }
}

Berikut ini hasil dari eksekusinya.
RizalFadly
FitriHerawati
AnnisaCandela
NaufalFikriAulia
BudiArman
MartaKarlina
  1. Map
Sedangkan Map merupakan mendukung pencarian berdasarkan key dengan syarat harus unik. Map juga dapat menampung beragam tipe data, sama dengan List dan Set. Namun bedanya, Map dapat menyimpan data secara berpasangan yang terdiri dari key dan value. Untuk nilai dari key, harus unik dan tidak beloeh ada yang sama. Namun jika kamu tetap menyimpan nilai dengan key yang sama, maka nilai key yang terakhir disimpanlah yang akan tersimpan didalam Map.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class CobaMap {
    public static void main(String[] buah manis) {
        Map<Integer, String> mapInt_String = new HashMap<Integer, String>(); // map<Integer, String>
        // Masukkan key dan value ke dalam mapInt_String
        mapInt_String.put(1, "APEL");
        mapInt_String.put(2, "NANAS");
        mapInt_String.put(3, "JERUK");
        mapInt_String.put(4, "RAMBUTAN");
        mapInt_String.put(5, "DURIAN");
        // Tampilkan value mapInt_String
        for (Iterator iterator = mapInt_String.values().iterator(); iterator
                .hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }

        Map<String, String> mapString_String = new HashMap<String, String>();//map<String, String>

        // Masukkan key dan value ke dalam mapString_String
        mapString_String.put("BUDI", "SEPEDA");
        mapString_String.put("ANDRI", "MOBIL");
        mapString_String.put("DENI", "TRUK");
        mapString_String.put("JAJANG", "MOTOR");
        mapString_String.put("ATUT", "BUS");
        mapString_String.put("RUDI", "KAPAL JET");// KEY yang digunakan = RUDI
        mapString_String.put("RUDI", "UFO");// Key yang digunakan = RUDI juga, maka value "KAPAL JET" akan ditimpa oleh "UFO"

        // Tampilkan value mapString_String
        System.out.println("========================================");
        for (Iterator iterator = mapString_String.values().iterator(); iterator
                .hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }

        // Tampilkan pasangan key-value mapString_String
        System.out.println("========================================");
        for (Iterator iterator = mapString_String.keySet().iterator(); iterator
                .hasNext();) {
            String string = iterator.next();
            System.out.println(string + " mengendarai "
                    + mapString_String.get(string));
        }
    }
}
Berikut ini hasil dari eksekusinya.
GAJAH
KUDA
ZEBRA
KAMBING
SAPI
========================================
MOBIL
SEPEDA
BUS
TRUK
MOTOR
UFO
========================================
ANDRI mengendarai MOBIL
BUDI mengendarai SEPEDA
ATUT mengendarai BUS
DENI mengendarai TRUK
JAJANG mengendarai MOTOR
RUDI mengendarai UFO
Coba dikihat pada hasil eksekusi dari MAP, terlihat bahwa nilai dari “KAPAL JET” tidak pernah ditampilkan pada output. Ini dikarenakan nilai “KAPAL JET” ditimpa oleh nilai dari “UFO”.
Berdasarkan uraian diatas, dengan pengelompokkan dalam grup, terdapat beberapa manfaat diantaranya :
  1. Menyimpan elemen dengan urutan tertentu
  2. Mengambil kembali elemen tersebut dengan index maupun dengan berbagai cara yang spesifik
  3. Memanipulasi data
  4. Dan berbagai transformasi manfaat lainnya.

Method compareTo( )

Method ini memungkinkan kita membandingkan object bilangan yang dipanggil melalui mehod untuk argumen.Hal ini dimungkinkan untuk membandingkan tip data Byte, Long, Integer, dll.
Namun, dua jenis yang berbeda tidak bisa dibandingkan, baik argumen dan object bilangan harus memanggil mehod dari jenis yang sama.

Syntax :

public int compareTo( NomorSubClass referenceName )

Paremeter :

Berikut adalah detail dari parameter:

  • referenceName - Ini bisa menjadi Byte, Double, Integer, Float, Long atau Short.

Return Value :

  • Jika Integer sama dengan argumen maka 0 dikembalikan.
  • Jika Integer kurang dari argumen maka -1 dikembalikan.
  • Jika Integer lebih besar dari argumen maka 1 dikembalikan.

Contoh :

Bukalah NetBeans kalian buatlah class baru bernama Test lalu tuliskan kode berikut
public class Test{ 

   public static void main(String args[]){
      Integer x = 5;
      System.out.println(x.compareTo(3));
      System.out.println(x.compareTo(5));
      System.out.println(x.compareTo(8));            
     }
}
Berikut adalah hasil dari kode diatas
1
0
-1

Pengertian String

String pada dasarnya adalah kumpulan dari karakter-karakter (karakter bertipe data char). Penulisan string harus diawali den diakhiri dengan tanda petik dua (“), sedangkan karakter harus diawali dan diakhiri dengan tanda petik satu (‘). Misalnya :
Penulisan string :
string A = “gaji”;
Penulisan karakter :
char A = ‘g’;
char B = ‘a’;
char C = ‘j’;
char D = ‘i’;
char E = ‘\0’;
Kita dapat membangun sebuah string dengan menggunakan array dari beberapa karakter. Dalam bahasa C++, string yang digunakan adalah bertipe null terminated string, yaitu jenis string yang diakhiri dengan oleh karakter null (‘\0’), bukan nol. Oleh karena itu, jika kita ingin mendeklarasikan string dalam bentuk array dari char, maka kita harus menambahkan 1 tempat untuk posisi karakter null. sebagai contoh misalnya kita ingin melakukan deklarasi variabel yang bertipe string dan mengisinya dengan teks “Baik”, maka bentuk deklarasinya adalah sebagai berikut :
//Mendelklarasikan variabel tipe string dengan lebar 5
char sifat[5];
//Mengisi nilai ke dalam variabel sifat
sifat = {‘B’,’a’,’i’,’k’,’\0′};
Jika kita cermati, sebenarnya kita hanya mengisi 4 karakter kedalam variable sifat, sedangkan sisa ruangnya akan digunakan untuk menempatkan karakter null. Untuk lebih jelasnya perhatikan gambar berikut.
Struktur String
Jika kita ingin mengisi nilai kedalam variabel string dalam bentuk array char, maka kita perlu menambahkan karakter null di bagian elemen akhir array. Berikut contoh kode program dengan bentuk array char.

Senin, 16 September 2019

Mengurutkan String dengan method compareTo( )

Dapat juga melakukan pengurutan string dengan method compareTo(). Method ini membandingkan karakter-karakter pada String secara berurutan dari awal String. Misalnya string pertama bernilai “a” dan string kedua

bernilai “b”,     maka     apabila

Stringpertama.compareTo(Stringkedua ) akan menghasilkan nilai negatif (<0) dan apabila dilakukan sebaliknya akan menghasilkan nilai positif (>0). Nilai 0 akan dihasilkan apabila string pertama dan kedua sama.

Contoh :



Public class UrutanString{

public static void main(String[] args) {

String [] nama={"Ridwan","Lisa","Nadia","Siti ","Udin","Yuni"};
String temp;

System.out.println("Nama-nama Sebelum Diurutkan");

for (int i=0; i<nama.length; i++){

System.out.println(i+1+" "+nama[i]+" ");
}

System.out.println("==================================");

System.out.println("Nama-nama Yang Sudah Diurutkan");


for (int i=0; i<(nama.length-1); i++){


for (int j=0; j<(nama.length-1); j++){


if (nama[j].compareTo(nama[j+1])>0){
 temp=nama[j+1];
nama[j+1]=nama[j];
nama[j]=temp;

}

}

}

for (int i=0; i<nama.length; i++){
System.out.println(i+1+" "+nama[i]);

}

}

}

Strings Pada Java

Kalian pasti tidak asing dengan String, tipe data ini banyak digunakan terutama pada pemrograman Java. Dalam pemrograman Java, String merupakan urutan character, dan String adalah Object.
Pemrograman Java menyediakan class string untuk membuat dan memanipulasi Strings.

Membuat Strings :

Cara yang paling mudah untuk membuat string adalah dengan menulis syntax sebagai berikut.
String greeting = "Hello world!";
Dalam hal ini compiler akan membuat object String , "Hello world!".
Sama halnya dengan object lain, kita dapat membuat object String dengan keyword baru dan sebuah constructor. Class string memiliki sebelas constructor yang memungkinkan kita untuk memberikan nilai awal dari string dengan sumber yang berbeda, seperti sebuah array character.
public class StringDemo{

   public static void main(String args[]){
      char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}
Berikut hasil dari isi array tersebut :
hello.

Catatan :

  • Class String bersifat kekal, sehingga setelah dibuat object String tidak dapat diubah.
  • Jika kita membutuhkan banyak modifikasi String character maka kita harus menggunakan class String Buffer dan String Builder.

lenght() Method Untuk String :

Method ini digunakan untuk mengetahui informasi tentang object yang dikenal sebagai accessor method. Salah satu method accessor yang dapat kita gunakan untuk object string yaitu lenght() method, yang dapat menghitung jumlah character pada object String.
Berikut adalah contoh penggunaan lenght() method.
public class ContohStringLenght{

   public static void main(String args[]) {
      String palindrome = "Kodok Lompat Miring";
      int len = palindrome.length();
      System.out.println( "Panjang String adalah : " + len );
   }
}
Berikut adalah hasil dari kode diatas.
Panjang String adalah : 18

Concatenating String :

Class String mencakup method untuk concenating (menggabungkan) dua string.
string1.concat(string2);
Method ini menghasilkan string baru yaitu gabungan string1 dengan string2. Kita juga dapat menggunakan method concat() untuk string literal, seperti berikut:
"Nama saya adalah ".concat("Nunu");
Dalam kondisi tertentu String lebih sering digabungkan dengan operator + seperti berikut:
"Hello," + " world" + "!"
Berikut hasil kode diatas.
"Hello, world!"
Sekarang mari kita lihat contoh berikut :
public class StringDemoConcenate {

   public static void main(String args[]) {
      String string1 = "lompat ";
      System.out.println("Kodok " + string1 + "miring");
   }
}
Berikut adalah hasil dari kode diatas.
Kodok lompat miring

Membuat Format Strings :

Kita mempunyai printf() dan format() method untuk mencetak output dengan nomor yang diformat. Class String method class kesetaraan, format(), yang mengubah object String ke object PrintStream.
dengan menggunakan format() statis string memungkinkan kita membuat string yang telah diformat dan dapat kita gunakan kembali, sebagai perlawanan cetak satu kali. Semisal :
System.out.printf("Nilai dari float variable adalah " +
                  "%f, sementara nilai dari integer " +
                  "variable adalah %d, dan string " +
                  "adalah %s", floatVar, intVar, stringVar);
Kita bisa menuliskan begini
String fs;
fs = String.format("Nilai dari float variable adalah " +
                  "%f, sementara nilai dari integer " +
                  "variable adalah %d, dan string " +
                  "adalah %s", floatVar, intVar, stringVar);
System.out.println(fs);

Method String

Berikut adalah daftar method untuk class String :
NoMethod dengan Deskripsi
1
Mencari charpada indeks tertentu.
2
Membandingkan String tertentu dengaObject lain.
3
Membandingkan dua string leksikografi.
4
Membandingkan dua string leksikografi, mengabaikan perbedaan kasus.
5
Merangkai string yang ditentukan sampai akhir string yang telah ditentukan.
6
Memberikan nilai true jika dan hanya jika String yang ditentukan merupakan urutan character yang sama sebagai StringBuffer yang ditentukan.
7
Mengembalikan String yang mewakili urutan karakter dalam array yang ditentukan.
8
Mengembalikan String yang mewakili urutan karakter dalam array yang ditentukan.
9
Menguji jika string berakhir dengan akhiran tertentu.
10
Membandingkan string ke objek tertentu.
11
Membandingkan String untuk String lain, mengabaikan perbedaan huruf kecil atau besar.
12
Mengkodekan String ke urutan byte menggunakan standar charset platform, menyimpan hasilnya ke dalam array byte baru.
13
Mengkodekan String ke urutan byte menggunakan nama charset, menyimpan hasilnya ke dalam array byte baru.
14
Menyalin character dari string ke dalam array character tujuan.
15
Mengembalikan kode hash untuk string yang telah ditentukan.
16
Mengembalikan index dalam string yang ditentukan pada kejadian pertama dari character yang ditentukan.
17
Mengembalikan index dalam string yang ditentukan pada kejadian pertama dari character yang ditentukan, mulai pencarian pada indeks tertentu.
18
Mengembalikan index dalam string yang ditentukan pada kejadian pertama dari substring yang ditentukan.
19
Mengembalikan indeks dalam string yang dtentukanpada kejadian pertama dari substring yang ditentukan, mulai dari indeks tertentu
20
Mengembalikan representasi kanonik untuk objek string.
21
Memeriksa index dalam string pada urutan kejadian terakhir dari karakter ditentukan.
22
Memeriksa index dalam string pada kejadian terakhir dari karakter ditentukan, panjang string yang diperiksa ditentukan dalam fromIndex.
23
Memeriksa index dalam string pada terjadinya paling akhir atau paling kanan dari substring yang ditentukan.
24
Mengembalikan index dalam string pada  kejadian terakhir dari substring yang ditentukan, mencari mundur mulai dari indeks tertentu.  Character yang dibandingkan ditentukan dalam String str, panjang pencarian ditentukan dalam 
25
Memeriksa panjang string.
26
Memberitahu apakah string sesuai dengan ekspresi reguler yang diberikan.
27
Tes jika dua string region adalah sama.
28
Tes jika dua string region adalah sama
29
Mengembalikan string baru yang dihasilkan dari mengganti semua kejadian dari oldChar dalam string yang ditentukan dengan newChar.
30
Menggantikan setiap substring dari string yang ditentukan yang cocok dengan ekspresi reguler yang diberikan dengan penggantian yang diberikan.
31
Menggantikan substring pertama dari string yang ditentukan yang cocok dengan ekspresi reguler yang diberikan dengan penggantian yang diberikan.
32
Membagi string yang ditentukan disekitar nilai yang cocok dengan ekspresi reguler yang diberikan.
33
Membagi string yang ditentukan disekitar nilai yang cocok dengan ekspresi reguler yang diberikan dengan batasan pembagian.
34
Menguji jika string yang ditentukan dimulai dengan awalan ditentukan.
35
Menguji jika string yang ditentukan dimulai dengan awalan ditentukan memulai pencarian dari indeks tertentu.
36
Menampilkan urutan karakter yang merupakan subsequence dari urutan karakter yang ditentukan.
37
Menampilkan string yang merupakan substring dari string yang ditentukan.
38
Menampilkan string yang merupakan substring dari string yang ditentukan dengan akhir substring yang ditentukan.
39
Mengkonversi string yang ditentukan ke array karakter baru.
40
Mengkonversi semua karakter di String yang ditentukan untuk merubah ke huruf kecil menggunakan aturan lokal default.
41
Mengkonversi semua karakter di String ini untuk menurunkan kasus menggunakan aturan Lokal diberikan.
42
Objek ini (yang sudah string!) Adalah dirinya kembali.
43
Mengkonversi semua karakter di String ini untuk huruf menggunakan aturan lokal default.
44
Mengkonversi semua karakter di String ini untuk huruf menggunakan aturan Lokal diberikan.
45
Mengembalikan salinan string, dengan menghapus spasi pada awal dan akhir string.
46
Mengembalikan representasi string dari tipe data argumen yang berlalu.