Anda di halaman 1dari 8

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Array dan String


Topics:
Array String

Array
Pada pertemuan kali ini, kita akan membahas mengenai array dalam java. Pertama, kita akan mendefiniskan apa yang dimaksud dengan array, cara mendeklarasikan array dan cara penggunaanya. Array merupakan sekumpulan obyek yang memiliki tipe data yang sama dan dapat di akses secara random dengan menggunakan index. Array mempunyai panjang yang tetap, artinya ketika kita mendeklarasikan suatu array dengan panjang 10, maka array tersebut panjangnya akan tetap 10 walaupun kita hanya memakai 5 elemen.

Mengapa Array?
Pada praktikum sebelumnya, kita telah mengenal tipe data primitif (int, double, float dan lain-lain). Kita juga telah pelajari bagaimana mendeklarasikan tipe data primitif tersebut. Misalnya:
int variabel1; int variabel2; int variabel3; variabel1=1; variabel2=2; variabel3=3;

Contoh di atas merupakan cara pembuatan tiga variabel bertipe int (bertipe sama). Bagaimana kalo kita menginginkan 100 variabel yang bertipe sama, haruskan kita membuat variabel tersebut hingga 100 buah? Kita memang bisa membuat 100 variabel dengan tipe data yang sama secara konvensional tetapi hal tersebut sangat menyita waktu dan kurang efektif. Untuk menjawab masalah tersebut, maka java menyediakan suatu tipe variabel yang bisa berisikan tipe data yang sama dengan penamaan yang sama tetapi dapat diakses secara efektif melalui index. Penyelesaiian masalah di atas:
int variabel[ ]=new int[100];

Contoh di atas menunjukkan kalau kita cukup membuat variabel array yang bernama variabel dengan panjang 100.

Gambar visual suatu array


Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Struktur Array
Deklarasi array Secara Umum: <type data> nama_variabel[ ]; atau <type data>[ ] nama_variabel Contoh 1: int variabel[ ]; Contoh 2: int[] variabel; *tanda kurung ([]) bisa diletakkan dibelakang tipe data primitif (lihat contoh 1) atau dibelakang nama variable (lihat contoh 2) Pembuatan dan alokasi array Secara Umum: nama_variabel=new <type data>[jumlah elemen]; Contoh: variabel=new int[100]; Inisialisasi atau pengaksesan array Secara Umum: <type data>nama_variabel[ ]={nilai1,nilai2,nilai3,,nilai_n}; Contoh: int variabel[ ]={1,2,3,4,5,6,7,8}; Untuk lebih memahami tentang array, silakan ketikkan program di bawah ini:
//Program Histogram public class Histogram { public static void main(String[] args){ int array[ ]={4,3,6,7,1,9,5}; System.out.println("Program Histogram"); System.out.println("Panjang array: " +array.length); for(int i=0;i<array.length;i++){ System.out.print(array[i] +"\t: "); for(int j=0;j<array[i];j++){ System.out.print("*"); } System.out.println(); } } }

Coba compile dan jalankan program di atas. Sama seperti pada bahasa pemograman di C, tipe data char pada java juga di simpan dalam bentuk ASCII. Jadi kita dapat menjumlahkan tipe char tersebut. Untuk lebih jelasnya silakan coba program dibawah ini.
public class PBO { public static void main(String[] args) { char pbo[]; pbo=new char[7]; pbo[0]='P'; pbo[4]='O'; pbo[1]='B'; pbo[5]='B'; pbo[2]='O'; pbo[6]='P'; pbo[3]=' '; for(int i=0;i<pbo.length;i++){ System.out.print(pbo[i]); } pbo[0] += 1; System.out.println(); System.out.println("Hasil penambahan: " +pbo[0]); } } Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Coba compile dan jalankan program di atas.

Tambahan:
Array pada java dimulai dari index ke-0 s/d ke-(n-1). Dimana n adalah jumlah element/banyaknya data. Array bersifat statis sehingga tidak bisa ditambah ataupun dikurangi.

Mengcopy Suatu Array


Kita bisa mencopy suatu isi array ke array yang lain dengan menggunakan fungsi bawaan dari java yaitu System.arraycopy. Fungsi ini memiliki 5 parameter, kelima parameter tersebut adalah: 1. From : Array asal 2. From Index : start index 3. To : array tujuan 4. To Index : index array tujuan (start index array tujuan) 5. Count : banyaknya elemen yang akan dikopi Untuk lebih jelas mengenai fungsi arraycopy, silakan ketikkan program di bawah ini:
class ArrayCopy { public static void main(String[] args) { int arrayAsal[]={0,1,2,3,4,5,6,7,8,9}; int arrayTujuan[]={9,8,7,6,5,4,3,2,1,0}; //kata kunci : System.arraycopy(From,FromIndex,To,ToIndex,count) System.arraycopy(arrayAsal,3,arrayTujuan,4,4); for(int i=0;i<arrayTujuan.length;i++){ System.out.println(arrayTujuan[i]); } } }

Coba compile dan jalankan program di atas. Apa yang dapat kalian simpulkan dari program di atas? Coba udah sedikit code di atas menjadi : System.arraycopy(arrayAsal,3,arrayTujuan,4,8); Coba tambahkan code dibawah ini:

Compile dan jalankan program di atas, apa yang terjadi?

Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Array Multidimensi
Array tidak hanya terdiri dari 1 dimensi, array juga bisa terdiri dari 2 dimensi, 3 dimensi dan n-dimensi. Array di atas 3 dimensi sangat jarang digunakan karena sangat sulit untuk di gambarkan. Array multidimensi diimplementasikan sebagai array dalam array. Untuk lebih jelas mengenai cara pendeklarasian array multidimensi dan penggunaanya, silakan ketikkan program di bawah ini. Cara mendeklarasikan array multidimensi:
Array 2 dimensi: char multiChar[ ][ ]=new char[10][5]; char multiChar2[ ][ ]={{'a','b','c'},{'d','e','f'}}; inisialisasi array 2 dimensi Array 3 dimensi: int tigaDimensi[ ][ ][ ]=new int[10][10][10]; int tigaDimensi2[ ][ ][ ]={{{1,2,3},{4,5,6}},{{1,2,3},{4,5,6}}}; inisialisasi array 3 dimensi

Tambahan: Array lebih dari 2-dimensi sangat jarang dipakai.


Coba ketikkan program di bawah ini untuk memahami lebih mendalam mengenai array multidimensi. Compile dan jalankan, apa yang hasil outputnya?
public class Multidimensi { public static void main(String[] args) { char multiChar[ ][ ]=new char[10][5]; char multiChar2[ ][ ]={{'a','b','c'},{'d','e','f'}}; int tigaDimensi[ ][ ][ ]=new int[10][10][10]; int tigaDimensi2[ ][ ][ ]={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}}; System.out.println("Karakter pada baris ke-1 dan kolom ke-1: " +multiChar2[1][1]); System.out.println("Karakter pada baris ke-1 dan kolom ke-1: " +tigaDimensi2[1][1][1]); } }

Cobalah untuk mengubah-ubah index dalam pemanggilan array untuk memahami mengenai fungsi array tersebut lebih mendalam.

Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

public class TwoDArray { public static void main(String[] args) { int tabel[ ][ ]=new int[5][10]; for(int row=0;row<tabel.length;row++){ for(int col=0;col<tabel[row].length;col++){ tabel[row][col]=row*10+col; } } for(int row=0;row<tabel.length;row++){ for(int col=0;col<tabel[row].length;col++){ System.out.print(tabel[row][col] +"\t"); } System.out.println(); } } }

* Pengaksesan index pada array seperti pengaksesan koordinat suatu peta dalam koordinat 2 dimensi yaitu [x,y] atau sama seperti pada sebuah Matrix yaitu [baris,kolom]

String
String merupakan sekumpulan karakter yang sebenarnya tersimpan dalam suatu array (Array of Character). String pada java merupakan suatu Object yang memiliki beberapa fungsi untuk memanipulasi Object tersebut (untuk Object akan dipelajari di pertemuan selanjutnya). Untuk lebih jelas mengenai String silakan lihat contoh di bawah:

Deklarasi String

Cobalah buat tambahkan code seperti di bawah ini:

Compile lagi program di atas, lalu lihat apa yang terjadi? Apakah error atau tidak?

Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Cara Lain Pendeklarasian String

Contoh di atas merupakan contoh lain dari pendeklarasian sebuah String. Pendeklarasian String pada contoh pertama maupun kedua pada intinya sama. Jadi, silakan kalian milih mau menggunakan contoh pertama ataupun kedua ^^ Pendeklarasian String pada contoh kedua sekaligus membuktikan bahwa String pada java merupakan suatu Object (mengenai Object akan dipelajari lebih lanjut pada pertemuan selanjutnya).

Manipulasi String
Kita juga bisa memanipulasi String pada java. Untuk memanipulasi String pada java cukup mudah karena String pada java berupa Object. Object biasanya berisi fungsi-fungsi bawaan dari Object tersebut. Untuk lebih jelas mengenai manipulasi String, coba ketikkan contoh program di bawah ini.

public class PickAnCharacter { public static void main(String[] args) { String pbo="Saya Sedang Belajar PBO loh..."; System.out.println("karakter pada index ke-6 : " +pbo.charAt(6)); char tampung[]=new char[100]; int awal=9; for(int i=0;i<17;i++){ tampung[i]=pbo.charAt(awal); awal+=1; } for(int j=0;j<17;j++){ System.out.print(tampung[j]); } } }

Contoh di atas menunjukkan bagaimana cara kita mengambil sebuah karakter dalam sebuah String. Ingat, String merupakan sekumpulan karakter. Oleh karena itu, untuk mengambil suatu karakter dalam sebuah String kita harus menggunakan sebuah index (array).

Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Manipulasi String (tambahan)


Di bawah ini merupakan contoh manipulasi String yang sering digunakan.

Tim Asisten PBO UKDW 2010 [4]

PRAKTIKUM PBO ARRAY DAN STRING

February 11, 2010

Latihan!!
1. Buatlah suatu program yang bisa menghitung pengurangan, penambahan suatu matrix (array 2 dimensi). 2. Buatlah suatu program yang bisa mengecek bilangan terkecil, terbesar serta rata2 dari semua data yang diinputkan oleh user. Inputan berupa arguments. 3. Buatlah suatu program untuk menghitung jumlah huruf dalam sebuah kalimat dengan menggunakan JOptionPane.

Contoh Output:

4. Buatlah suatu program yang dapat mengurutkan data yang di inputkan oleh user. Input user berupa argumens (args). 10 data saja cukup. Contoh Program:

Tim Asisten PBO UKDW 2010 [4]