Pemrograman Berbasis Obyek
Array Yuliana Setiowati g Surabaya y Politeknik Elektronika Negeri
Politeknik Elektronika D3 PJJ PENS-ITS
Negeri Surabaya
1
Pemrograman Berbasis Obyek
Topik • • • • • • •
Mendeklarasikan Array Creating Array Initializing Array Array Multidimensional A Array B Bounds d Array Resizing Copying Arrays Politeknik Elektronika Negeri Surabaya
2
Pemrograman Berbasis Obyek
Pengenalan Array • Misalkan kita memiliki tiga g data yyang g berbeda dan kita simpan p dalam variabel yang berbeda. int number1; int number2; int number3; number1 = 1; number2 = 2; number3 = 3;
• Bagaimana jika terdapat banyak data yang berbeda yang memiliki iliki tujuan j yang sama, dan d bagaimana b i cara menyimpannya ?
Politeknik Elektronika Negeri Surabaya
3
Pemrograman Berbasis Obyek
Pengenalan Array • Di Java dan bahasa ppemrograman g lainnya, y , ada satu kemampuan dimana kita dapat menggunakan satu variabel untuk menyimpan sekumpulan data dan memanipulasinya lebih efisien disebut dengan Array
Politeknik Elektronika Negeri Surabaya
4
Pemrograman Berbasis Obyek
Array • Array adalah object yang digunakan untuk menyimpan banyak data dengan tipe yang sama. • Tipe dari array bisa : tipe data primitif atau class
Politeknik Elektronika Negeri Surabaya
5
Pemrograman Berbasis Obyek
Array A • Terdapat 3 langkah untuk membuat array: 1. Mendeklarasikan variabel array 2 Memcreate array beserta ukurannya. 2. ukurannya 3. Memberikan sebuah nilai pada setiap element array. array
Politeknik Elektronika Negeri Surabaya
6
Pemrograman Berbasis Obyek
Membuat Array 1. Pendeklarasian Array – – – –
int[] ints double[] dubs Dimension[] dims ; float[][] twoDee
• Yang tidak legal – int i [5] [ ] scores;
Politeknik Elektronika Negeri Surabaya
7
Pemrograman Berbasis Obyek
Membuat Arrayy 2. Create Array • Karena array adalah sebuah object, object maka create array dengan operator new. • Besar array ditentukan pada saat runtime – int[] ints ; – ints i = new int[25] i [25] ;
int[] ints = new int[25] ;
• Pada saat array di buat, isi array diinisialisasi dengan default value.
Politeknik Elektronika Negeri Surabaya
8
Pemrograman Berbasis Obyek
Membuat Array 3. Memberikan nilai pada elemen array • Untuk mengakses data/elemen di array kita menggunakan indeks. Data ke-1 disimpan di array indeks ke-0 Isi dari array : nilai primitif • int scores = new int[3]; • scores[0] = 75; • scores[1] = 80; • scores[2] = 100; Isi dari array : object • Student students[] = new Students[3] • students[0] = new Student(); • students[1] = new Student(); • students[2] = new Student(); () Politeknik Elektronika Negeri Surabaya
9
Pemrograman Berbasis Obyek
Membuat Array • int[] ints = new int[25] ; ints
0
0
1
0
2
0
3
0
• data dimasukkan ke array mulai dari indeks ke‐0 • int[] ints = new int[25] ; Æ data disimpan mulai dari indeks 0 sampai 24 • Pada saat array di array di buat, isi buat isi array array diinisialisasi dengan default value, nilai default untuk int adalah 0
24
Politeknik Elektronika Negeri Surabaya
10
Pemrograman Berbasis Obyek
Inisialisasi Array • Gabungan g dari 3 langkah g float[] diameters = {1.1f, 2.2f, 3.3f, 4.4f,5.5f} Point[] markup = {new Point(1,5), new Point(3,3), new Point(2,3)} ;
• Untuk mengetahui besar dari array gunakan .length setelah nama array. array long squares ; squares = new long[6000] ; for ( (int i=0 ; i<squares.length q g ;i++) ; ) { squares[i] = i * i ; }
Politeknik Elektronika Negeri Surabaya
11
Pemrograman Berbasis Obyek
Contoh program
Politeknik Elektronika Negeri Surabaya
12
Pemrograman Berbasis Obyek
Hasil running • • • • • • • • • • • •
0 • Nilai l default dari d f l d int adalah d l h0 0 • Nilai default dari boolean adalah false 0 0 0 false f l false false false false false Finished executing Politeknik Elektronika Negeri Surabaya
13
Pemrograman Berbasis Obyek
Contoh:
Politeknik Elektronika Negeri Surabaya
14
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
15
Pemrograman Berbasis Obyek
Contoh Program
Politeknik Elektronika Negeri Surabaya
16
Pemrograman Berbasis Obyek
Hasil Program • A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Politeknik Elektronika Negeri Surabaya
17
Pemrograman Berbasis Obyek
Membuat Array Dimensi 1 • int [] testScores; // Declares the array of ints testScores = new int[4]; // constructs an array and assigns it // the testScores variable
Politeknik Elektronika Negeri Surabaya
18
Pemrograman Berbasis Obyek
Arrays of Objects • Elemen dari array berupa object • Contoh berikut ini menyiapkan ruang untuk menyimpan 5 objek String String[] words = new String[5]; • Pada saat menginisialisasi array dengan tipe objek, objek nilai default dari elemen array adalah null
Politeknik Elektronika Negeri Surabaya
19
Pemrograman Berbasis Obyek
Arrays of Objects • Array words words
null null null null null
Politeknik Elektronika Negeri Surabaya
20
Pemrograman Berbasis Obyek
Arrays of Objects • Buat object String dan simpan di array words[0] = new String(“friendship”); words[1] d [1] = “l “loyalty”; l ” words[2] = “honor”; “friendship” f i d hi
words
“loyalty” “honor”
null null
Politeknik Elektronika Negeri Surabaya
21
Pemrograman Berbasis Obyek
Arrays of Objects • Object j String g dapat p dibuat menggunakan gg literal. • Contoh dibawah ini, membuat object array dengan nama verbs ppanjang j g 4 dan diisi dengan g 4 object j String, g, yang y g dibuat menggunakan string literal. String[] verbs = {"play" {"play", "work" "work", "eat" "eat", "sleep"};
Politeknik Elektronika Negeri Surabaya
22
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
23
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
24
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
25
Pemrograman Berbasis Obyek
Assignment pada array dimensi 1
Politeknik Elektronika Negeri Surabaya
26
Pemrograman Berbasis Obyek
Assignment g pada p arrayy dimensi 1 • Karena Honda extends Car (Honda IS A Car) Car), sehingga array Honda dapat diassignkan ke array Car. Car
Politeknik Elektronika Negeri Surabaya
27
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
28
Pemrograman Berbasis Obyek
Contoh Program
Politeknik Elektronika Negeri Surabaya
29
Pemrograman Berbasis Obyek
Output • • • •
animal 0 : snake animal 1 : kangaroo animal i l 2 : wombat b animal 3 : bird
Politeknik Elektronika Negeri Surabaya
30
Pemrograman Berbasis Obyek
Contoh Program • Lakukan modifikasi dengan melakukan sorting pada data animal
Politeknik Elektronika Negeri Surabaya
31
Pemrograman Berbasis Obyek
• • • • •
Sebelum di sortingg animal 0 : snake animal 1 : kangaroo animal i l 2 : wombat b t animal 3 : bird
• • • • •
Setelah di sorting animal 0 : bird animal 1 : kangaroo animal 2 : snake animal 3 : wombat Politeknik Elektronika Negeri Surabaya
32
Pemrograman Berbasis Obyek
Class Arrays • Class Array berisi berbagai macam method untuk memanipulasi array (seperti searching dan sorting) • S Semua method h d melempar/throw l /h NullPointerException jika array yang diakses b il i null. bernilai ll
Politeknik Elektronika Negeri Surabaya
33
Pemrograman Berbasis Obyek
Contoh •
Buat program untuk menerima masukan data nama mahasiswa yang disimpan dalam array dengan tipe String. Kemudian tampilkan data mahasiswa tersebut.
Politeknik Elektronika Negeri Surabaya
34
Pemrograman Berbasis Obyek
Program g
Politeknik Elektronika Negeri Surabaya
35
Pemrograman Berbasis Obyek
Hasil Program
Politeknik Elektronika Negeri Surabaya
36
Pemrograman Berbasis Obyek
Contoh Program • Lanjutkan program sebelumnya dengan menampilkan data mahasiswa dengan di sorting ascending terlebih dahulu
Politeknik Elektronika Negeri Surabaya
37
Pemrograman Berbasis Obyek
Output Program
Politeknik Elektronika Negeri Surabaya
38
Pemrograman Berbasis Obyek
Jenis Array • Array dimensi 1 menyimpan sekumpulan elemen • Array dimensi 2, dapat dianggap seperti tabel elemen dengan baris dan kolom Dimensi 1
Dimensi 2
Politeknik Elektronika Negeri Surabaya
39
Pemrograman Berbasis Obyek
Array Multidimensional
Politeknik Elektronika Negeri Surabaya
40
Pemrograman Berbasis Obyek
Array Multidimensional • Array dengan 4 baris dan 5 kolom
0
1
2
3
4
0 1 2 3
Politeknik Elektronika Negeri Surabaya
41
Pemrograman Berbasis Obyek
Array Multidimensional • Arrays of arrays yang bukan persegi panjang
0 1 2 3
Politeknik Elektronika Negeri Surabaya
42
Pemrograman Berbasis Obyek
Create dua dimensional array • int[] [] myArray = new int [3] [];
Politeknik Elektronika Negeri Surabaya
43
Pemrograman Berbasis Obyek
D3 PJJ PENS-ITS Politeknik Elektronika Negeri Surabaya
44
Pemrograman Berbasis Obyek
Contoh program
Politeknik Elektronika Negeri Surabaya
45
Pemrograman Berbasis Obyek
Hasil running • Length pada Indeks ke-0 =3 3 • Length pada Indeks ke-1 =5
Politeknik Elektronika Negeri Surabaya
46
Pemrograman Berbasis Obyek
Contoh Program
Politeknik Elektronika Negeri Surabaya
47
Pemrograman Berbasis Obyek
Hasil running • Elemen pd Dimensi ke-1 = 2 • Elemen pd Dimensi ke-2 = 3 • Elemen l pdd Dimensi i i ke-3 k 3=4
Politeknik Elektronika Negeri Surabaya
48
Pemrograman Berbasis Obyek
Contoh •
Terdapat sebuah array yang terdiri dari 4 baris, besar kolom tiap baris dibangkitkan secara random. Isi masing-masing dari array tersebut harus memenuhi aturan – – – –
Baris 0 : kelipatan 2 Baris 1 : kelipatan 3 Baris 2 : kelipatan 4 Baris 3 : kelipatan 5
0
2
4
1
3
6
9
12
2
4
8
12
16
3
5
10
15
20
20
24
25
30
Politeknik Elektronika Negeri Surabaya
35
40 49
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
50
Pemrograman Berbasis Obyek
• KOLOM YANG DIBANGKITKAN Baris ke-0 = 1 Baris ke-1 = 8 B i ke-2 Baris k 2=7 Baris ke-3 = 4 • MENGISI MATRIK 2 3 6 9 12 15 18 21 24 4 8 12 16 20 24 28 5 10 15 20 Politeknik Elektronika Negeri Surabaya
51
Pemrograman Berbasis Obyek
Array Reference Assignments for Multidimensional Arrays
Politeknik Elektronika Negeri Surabaya
52
Pemrograman Berbasis Obyek
D3 PJJ PENS-ITS Politeknik Elektronika Negeri Surabaya
53
Pemrograman Berbasis Obyek
Politeknik Elektronika Negeri Surabaya
54
Pemrograman Berbasis Obyek
Contoh Program
Output 0 1 2 3 4 5 Setelah di Array y Diperbesar p 0 1 2 3 4 5 6 7 8 9 Politeknik Elektronika Negeri Surabaya
55
Pemrograman Berbasis Obyek
Copying Array
Politeknik Elektronika Negeri Surabaya
56
Pemrograman Berbasis Obyek
Hasil Running • 1 2 3 4 5 6 • 1 2 3 4 5 6 4 3 2 1
Politeknik Elektronika Negeri Surabaya
57