array - adharul.lecture.ub.ac.id · menyimpan sejumlah data bertype sama. •di java, array...

24
12/3/2015 1 Array Adharul Muttaqin Universitas Brawijaya Malang Array Array merupakan memory pada komputer yg digunakan untuk menyimpan sejumlah data bertype sama. Di Java, Array merupakan sebuah object yang menampung sejumlah nilai dengan panjang tertentu (disebut sebagai element) yang nilai- nilai tersebut mempunyai type data yang sama. Array digunakan untuk memproses sekelompok nilai-nilai yang berkaitan

Upload: doanque

Post on 27-Mar-2019

237 views

Category:

Documents


0 download

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