Transcript
Page 1: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

1

ArrayAdharul Muttaqin

Universitas Brawijaya Malang

Array

• Array merupakan memory pada komputer yg digunakan untukmenyimpan sejumlah data bertype sama.

• Di Java, Array merupakan sebuah object yang menampung sejumlahnilai dengan panjang tertentu (disebut sebagai element) yang nilai-nilai tersebut mempunyai type data yang sama.

• Array digunakan untuk memproses sekelompok nilai-nilai yang berkaitan

Page 2: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

2

Contoh

• Contoh: Simpan 5 buah data bertype integer yang dimasukkan user• Biasanya disiapkan 5 variabel untuk menyimpan nilai data tersebut

• Dengan array, cukup disiapkan satu buah variabel saja

• Array untuk 5 elemen

20

70

40

30

10

Array Index

• Bagaimana mengakses sebuah elemen array• menggunakan index masing-masing elemen

misal: myArray[1]

• index untuk elemen pertama adalah 0

• index untuk elemen terakhir adalah jumlah elemen - 1

Page 3: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

3

Contoh: Array 5 Elemen

20

70

40

30

10

myArray[0]

myArray[1]

myArray[2]

myArray[3]

myArray[4]

index elemen pertama selalu bernilai 0

index elemen terakhir : 4 ( 5 -1)

banyaknya elemen: 5

myArray meupakannama array

Panjang Array

• Array di java mempunyai field dengan nama length yang berisipanjang array

• panjang array ini bersifat final yg tidak bisa diubah

• contoh

myArray.length

menghasilkan suatu angka yang merupakan panjang array

Page 4: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

4

Contoh: Array 5 Elemen

20

70

40

30

10

myArray[0]

myArray[1]

myArray[2]

myArray[3]

myArray[4]

index elemen terakhir : myArray.length - 1

banyaknya elemen 5: myArray.length

Mengakses Array

• Array diakses dengan menggunakan indexnya. Index ditulis di dalamtanda kurung kotaknya.

• Index berupa suatu nilai bulat yang dapat berasal dari• Literal/ konstanta, myArray[4]

• berupa variabel, myArray[myIndex]

• berupa ekspresi, myArray[myIndex - 2]

• kembalian method myArray[input.nextInt()]

Page 5: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

5

Memodifikasi Isi Elemen Array

• Untuk mengubah atau memberikan nilai suatu elemen array samaseperti saat mengubah nilai suatu variable, array berada sebelah kirioperator assignment (=)

• contoh: myArray[4]=75;

Membaca Isi Array

• Untuk membaca isi array juga sama seperti membaca nilai variable. Hanya bedanya, array harus disertakan indexnya.

• Array berada di sebelah kanan operator assignment

• Contoh: number=myArray[4];

Page 6: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

6

Contoh:

20

70

40

30

10

myArray :

int number;

Misalnya terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

Berikan nilai (assign) elemenpertama dari myArray ke variabeldengan nama number:

1

number = myArray[0];

Contoh:

20

70

40

30

10

myArray :

int number;

terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

Berikan nilai (assign) elementerakhir dari myArray ke variabeldengan nama number:

2

number = myArray[myArray.length-1];

Page 7: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

7

Contoh:

20

70

40

30

10

myArray :

int number;

terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

Berikan nilai (assign) elemen ke-4 dari myArray ke variabel dengannama number:

3

number = myArray[3];

Contoh:

20

70

40

30

10

myArray :

int number;

terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

Ubah nilai elemen ke-2 darimyArray menjadi dua kali nilaisemula:

4

myArray[1]= myArray[1]*2;

atau myArray[1]*= 2;

Page 8: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

8

Latihan:

20

70

40

30

10

myArray :

int number;

terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

a) Berikan nilai 65 ke elemen ke-4pada myArray

a) Tambahkan elemen ke-3 padamyArray dengan 5

Latihan:

20

70

40

30

10

myArray :

int number;

terdapat dua buah variable:• myArray, bertype array of integer• number, bertype integer

a) Berikan nilai 65 ke elemen ke-4pada myArray

myArray[3]=65;

a) Tambahkan elemen ke-3 padamyArray dengan 5myArray[2]+=5;

Page 9: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

9

Deklarasi dan Pembuatan Array

• Deklarasi variable yang bertype array

type[] namaVariable;

type array nama variabel

Deklarasi dan Pembuatan Array

• Deklarasi variable yang bertype array

int[] nilai;

type array nama variabel

variabel nilaimerupakan suatu

variabel yang ber-type array of integer

Page 10: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

10

Deklarasi dan Pembuatan Array

• Deklarasi variable yang bertype array

double[] harga;

type array nama variabel

variabel hargamerupakan suatu

variabel yang ber-type array of double

Latihan: Deklarasi dan Pembuatan Array

• Deklarasi variable yang bertype array

String[] nama;

type array nama variabel

variabel namamerupakan suatu

variabel yang ber-type array of String

Page 11: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

11

Deklarasi dan Pembuatan Array

• Setelah dideklarasikan array harus dibuatkan objectnya

• Pembuatan sebuah array object adalah sebagai berikut:

new type[panjangArray]

Deklarasi dan Pembuatan Array

• Setelah dideklarasikan array harus dibuatkan objectnya

• Contoh Pembuatan sebuah array object adalah sebagai berikut:

new int[5]

type array panjang array

Page 12: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

12

Contoh: Deklarasi dan Pembuatan Array

• Contoh Pembuatan sebuah array object adalah sebagai berikut:

new String[5]

type array panjang array

Deklarasi dan Pembuatan Array

• Menggunakan 2 baris

contoh:

int[] numbers; //deklarasi

numbers= new int[10];//membuat array, inisialisasi

• Menggunakan 1 baris

contoh:

int[] numbers = new int[10];

type array nama array Pembuatan array

Page 13: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

13

Nilai Default

• Saat array dibuat, masing-masing elemen akan mendapatkan nilaidefault sebagai berikut:• 0 untuk Elemen bertype numeric (int, double, byte, dll)

• Falsr untuk elemen bertype Boolean (bool)

• null untuk Elemen bertype reference

Contoh

double[] nilaiUTS = new double[5];

0.0

0.0

0.0

0.0

0.0

nilaiUTS[0]

nilaiUTS[1]

nilaiUTS[2]

nilaiUTS[3]

nilaiUTS[4]

nilai default

Page 14: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

14

Contoh

double[] nilaiUTS = new double[5];

nilaiUTS[1]=80.0;

nilaiUTS[3]=60.5;0.0

80.0

0.0

60.5

0.0

nilaiUTS[0]

nilaiUTS[1]

nilaiUTS[2]

nilaiUTS[3]

nilaiUTS[4]

Contoh

double[] nilaiUTS = new double[5];

0.0

80.0

0.0

60.5

0.0

nilaiUTS[0]

nilaiUTS[1]

nilaiUTS[2]

nilaiUTS[3]

nilaiUTS[4]

Jika type data elemenarray adalah type primitif, maka yang disimpan merupakannilai aktualnya (misal60.5)

Page 15: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

15

Contoh: Type Reference

String[] namaMhs= new double[5];

null

null

null

null

null

namaMhs[0]

namaMhs[1]

namaMhs[2]

namaMhs[3]

namaMhs[4]

nilai default

Contoh

String[] namaMhs= new double[5];

namaMhs[0]= "Budi";

namaMhs[4]= "Robet"

null

null

null

namaMhs[0]

namaMhs[1]

namaMhs[2]

namaMhs[3]

namaMhs[4]

"Budi"

"Robet"

Page 16: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

16

Contoh

null

null

null

namaMhs[0]

namaMhs[1]

namaMhs[2]

namaMhs[3]

namaMhs[4]

"Budi"

"Robet"

jika type elemen adalah jenis type reference, misalnya String, maka ididalam array terdapat suatu referensi yang menunjuk ke

actual object

Deklarasi sekaligus Inisialisasi Array

• Pada type data tunggal bisa dilakukan deklarasi sekaligus inisialisasi, contoh int nilai=10;

• Array juga dapat dideklarasikan sekaligus diberi nilai inisial• Menggunakan daftar nilai sebagai nilai inisial

• Nilai elemen dikumpulkan dalam sebuah tanda kurung kurawal ({})

• masing-masing nilai elemen dipisahkan dengan koma (,)

int n[ ] = { 10, 20, 30, 40, 50 };

• n merupakan array of integer dengan panjang 5

• nilai indexnya 0, 1, 2, 3, 4 dan masing-masing elemen sudah ada nilainya

• untuk deklarasi seperti di atas tidak diperlukan create array dengan new

Page 17: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

17

Deklarasi sekaligus Inisialisasi Array

double[ ] nilaiUTS = {100.0, 45.5, 46.7, 79.0, 96.1};

string [ ] namaMhs ={"Andi", "Zainul","Boni"};

Berapa panjang masing-masing array tsb?

Dapatkah panjang array diubah?

Latihan A

• Buatlah sebuah kode program yang didalamnya terdapat:• Deklarasi variabel-variabel dengan nama typenya sbb:

• listNilai dengan type array of double, menampung elemen sebanyak 4

• listNama dengan type array of double, menampung elemen sebanyak 4

• Berikan nilai untuk masing-masing elemen• Elemen listNilai ke-1 dan 4 diberi nilai 60, sedangkan elemen ke-2 dan 3 diberi nilai 75

• Elemen listNama berturut-turut diberi nilai Bambang, Joko, Mega, dan Harto

• Tampilkan semua isi elemen listNilai dan listNama

• Gantilah listNilai elemen ke-2 menjadi 45

• Gantilah nilai elemen listNama yang berisi Mega menjadi Karno, dan yang berisi Harto menjadi Soeharto

Page 18: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

18

Latihan B

• Buatlah sebuah kode program yang didalamnya terdapat:• Deklarasi variabel-variabel sekaligus meberikan nilai saat deklarasi dengan

nama typenya dan nilainya sbb:• listNilai dengan type array of double, Elemen listNilai ke-1 dan 4 diberi nilai 60,

sedangkan elemen ke-2 dan 3 diberi nilai 75• listNama dengan type array of double, Elemen listNama berturut-turut diberi nilai

Bambang, Joko, Mega, dan Harto

• Tampilkan nilai panjang elemen untuk masing-masing variabel denganmenggunakan namaVariable.length

• Tampilkan semua isi elemen listNilai dan listNama• Gantilah listNilai elemen ke-2 menjadi 45• Tukarkan tempat Joko dan Harto sehingga Harto menjadi elemen kedua dan

Joko menjadi elemen ke 4.

Menggunakan array dalamloopingAdharul Muttaqin

Page 19: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

19

Array dalam looping

• Sering diperlukan operasi yang sama terhadap semua elemen dalamarray• Operasi yang sama berulang-ulangmenggunakan looping

• Perhatikan bahwa• Indeks array elemen pertama adalah 0

• Indeks array elemen terakhir adalah panjang array -1

• indeks array harus selalu lebih kecil dari pada panjang array

Contoh: Soal

• Tampilkan nama mahasiswa dari sebuah array yang sudahdideklarasikan dan diinisialisasikan dengan data-data sebagai berikut: Deni, Azka, Riva, Jeni

Page 20: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

20

public class NamaMhs {public static void main(String[] args) {

String[] nama={"Deni", "Azka", "Riva", "Jeni"};

System.out.println("Nama-nama dalam daftar: ");for(int i=0; i<nama.length; i++ ){

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

}}

Deklarasi daninisialisasiarray

Loop for untuk perulangansepanjang jumlah data

Penggunaan array, indeks berubahsesuai looping

Contoh: Jawab

Contoh Persoalan

•Masukkan sejumlah 10 nilai dan namamahasiswa kemudian ditampilkan dalambentuk tabel.

Page 21: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

21

Algoritma

• untuk 10 mahasiswa yang ada• input nama

• input nilai

• Untuk 10 data yang ada• tampilkan nama

• tampilkan nilai

Kode Java

import java.util.Scanner;public class NilaiMhs {

public static void main(String[] args) {Scanner data = new Scanner(System.in);String[] nama;double[] nilai;int jumlahMhs = 10;

nama = new String[jumlahMhs];nilai = new double[jumlahMhs];

Page 22: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

22

Kode Java

System.out.println("Masukkan nama dan nilai : ");//mengisi nilai array nama dan nilai

for (int i = 0; i < jumlahMhs; i++) {System.out.println("Data ke " + (i + 1));System.out.print("Nama : ");nama[i] = data.next();System.out.print("Nilai : ");nilai[i] = data.nextDouble();

}

Kode Java

System.out.println("Data yang sudah dimasukkan ");System.out.println("No \tNama \tNilai");

//menampilkan isi array nama dan nilaifor (int i = 0; i < nama.length; i++) {

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

}}

Page 23: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

23

Latihan C

• Masukkan sejumlah n data tinggi badan dan nama mahasiswakemudian ditampilkan dalam bentuk tabel. Nilai n, tinggi badan, dannama didapatkan dari input user. Tampilkan pula nilai rata-rata nilaimahasiswa tersebut, serta nilai maksimum dan minimumnya

Latihan D

• Untuk permasalahan latihan 1, tambahkan untuk menampilkan nilaivarian dan standar deviasinya!

𝑉𝑎𝑟𝑖𝑎𝑛 = 𝑖=1𝑛 (𝑥𝑖 − 𝑥)2

𝑛,

𝑥 𝑎𝑑𝑎𝑙𝑎ℎ 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎

Langkah mendapatkan varian:akumulasikan kuadrat selisih data ke-i dan rata-rata (jumlah=jumlah+(x[i]-rataRata))

Bagi jumlah dengan nAkarkan

𝑆𝑡𝑑 𝐷𝑒𝑣 = 𝑖=1𝑛 (𝑥𝑖

2 − 𝑥2)

𝑛,

𝑥 𝑎𝑑𝑎𝑙𝑎ℎ 𝑛𝑖𝑙𝑎𝑖 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎

Langkah mendapatkan std dev:akumulasikan selisih kuadrat data ke-i dan kuadrat rata-rataBagi dengan nakarkan

Page 24: Array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •Di Java, Array merupakan sebuah object yang menampung sejumlah ... •Literal/ konstanta, myArray[4] •berupavariabel,

12/3/2015

24

Terima Kasih


Top Related