array 2 dimensi

13
Array 2 Dimensi Argumen dari Command-Line 2 t6a 3 Array Dimensi Banyak 4 Deklarasi Array Dimensi Banyak 5 t6b 5 Operasi pada Elemen Array 6 t6c 6 Operasi pada Elemen Array 7 t6d 7 Array Sebagai Parameter Method 9 t6e 9 Tugas 10 1. Buku Alamat 10 2. Segitiga Bawah 10 3. Jumlah Elemen Array 11 4. Bom 11 5. Perkalian Matriks 12 6. Transpose Matriks 13 Minggu lalu kita sudah mempelajari tentang array. Array yang kita pelajari adalah array berdimesi satu. Pada bahasa Java, kita dapat membuat array berdimesi dua, tiga, empat, dan seterusnya. Minggu ini kita akan mempelajari array 2 dimensi. Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 1

Upload: skyland-hacker

Post on 13-Jun-2015

8.255 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: Array 2 Dimensi

Array 2 Dimensi

Argumen dari Command-Line 2

t6a 3

Array Dimensi Banyak 4

Deklarasi Array Dimensi Banyak 5

t6b 5

Operasi pada Elemen Array 6

t6c 6

Operasi pada Elemen Array 7

t6d 7

Array Sebagai Parameter Method 9

t6e 9

Tugas 10

1. Buku Alamat 10

2. Segitiga Bawah 10

3. Jumlah Elemen Array 11

4. Bom 11

5. Perkalian Matriks 12

6. Transpose Matriks 13

Minggu lalu kita sudah mempelajari tentang array. Array yang kita pelajari adalah array berdimesi satu.

Pada bahasa Java, kita dapat membuat array berdimesi dua, tiga, empat, dan seterusnya. Minggu ini

kita akan mempelajari array 2 dimensi.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 1

Page 2: Array 2 Dimensi

Argumen dari Command-Line

Sebuah aplikasi Java dapat menerima sejumlah argumen dari command-line. Argumen dari command-

line memberikan kesempatan bagi user untuk mengatur operasi dari sebuah aplikasi dalam sekali

pemanggilan program. User memasukkan argumen command-line pada saat memanggil aplikasi dan

menspesifikasikan argumen tersebut setelah nama dari class yang akan dijalankan.

Sebagai contoh, apabila anda memiliki sebuah aplikasi Java dengan nama Sort, yang akan

mengurutkan lima nomor, di command prompt, anda dapat menjalankannya seperti berikut ini.

java Sort 5 4 3 2 1

Perlu diperhatikan bahwa sebuah argumen dapat dipisahkan oleh spasi. Pada bahasa pemrograman

Java, jika kita akan memanggil sebuah aplikasi, sistem runtime akan memberikan argumen command-

line ke method main yang dimiliki oleh aplikasi menggunakan sebuah array dari String. Lalu, setiap

String di dalam array mewakili sebuah argumen commmand-line. Perhatikan deklarasi dari main

method.

public static void main( String[] args )

Argumen yang diberikan kepada program akan disimpan kedalam sebuah array String dengan identifier

args. Pada contoh sebelumnya, argumen dari command-line yang akan diberikan kepada aplikasi Sort

command adalah sebuah array dengan lima buah String yaitu “5”,”4”,”3”,”2”, dan “1”. Anda dapat

mengetahui berapa banyak argumen dari command-line dengan cara melihat panjang dari attribute

array. Sebagai contoh :

int numberOfArgs = args.length;

Jika program Anda membutuhkan argumen command-line yang bertipe angka. Anda harus

mengkonversi argumen String tersebut untuk merepresantasikan sebuah angka, misalnya “34” menjadi

sebuah angka 34. Kode dibawah ini adalah sebuah potongan program untuk mengkonversi sebuah

argumen command-line menjadi tipe integer.

int firstArg = 0;

if (args.length > 0)

firstArg = Integer.parseInt(args[0]);

Untuk lebih memahami penggunaannya, cobalah kode program berikut.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 2

Page 3: Array 2 Dimensi

t6a

Jangan lupa menuliskan identitas program pada setiap file.

Cobalah untuk memasukkan karakter pada args[0] dan angka pada args[1]. Apa yang akan terjadi ? Apa arti dari pesan kesalahan yang muncul ?

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 3

Page 4: Array 2 Dimensi

Array Dimensi Banyak

Jika kita melihat array berdimesi satu sebagai :

Kita dapat melihat array berdimensi dua sebagai :

Dan array berdimensi tiga seperti ini :

Selain berdimensi tiga, kita juga dapat membuat array berdimensi empat, lima dan seterusnya. Hal ini

dapat dilakukan karena pada bahasa Java, array berdimensi banyak diimplementasikan seperti array di

dalam array. Array dua dimensi adalah array satu dimensi yang setiap elemennya adalah array satu

dimensi juga. Selanjutnya kita akan mempelajari cara deklarasi array berdimensi banyak.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 4

Page 5: Array 2 Dimensi

Deklarasi Array Dimensi Banyak

Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.

Perhatikan contoh berikut.

t6b

Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu

dimensi. Dari program diatas, apa output yang keluar ?

Coba tuliskan deklarasinya jika ingin dibuat suatu array dengan :

(1) nama : Papan_catur , untuk menyimpan informasi pada papan catur, dibuat bertipe integer dan

berukuran 8 x 8.

(2) nama : kubus , array tiga dimensi berukuran 10 x 10 x 10 yg dapat digunakan untuk menyimpan

char.

(3) nama : umur , tipe int , jumlah yg perlu disimpan : 1028 ( array satu dimensi ).

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 5

Page 6: Array 2 Dimensi

Operasi pada Elemen Array

Sama seperti pada array satu dimensi, kita tidak dapat langsung melakukan suatu operasi tertentu

pada array tersebut. Kita tidak dapat menuliskan :

int A[10][10];

A = A + 10;

Operasi-operasi tersebut dapat dilakukan pada elemen array, karena untuk melakukan operasi-operasi

tersebut, kita perlu mengakses elemen array.

Jadi, bila kita menuliskan : a = a + 10;

kita dapat juga menuliskan : A[2][0] = A[0][2] + 10;

atau, bila kita menuliskan : a = b + c;

kita dapat juga menuliskan : A[3][3] = A[2][2] + c; atau A[4][0] = B[0][0] + C[3][0];

Perhatikan contoh berikut. Kita akan menjumlahkan semua elemen array.

t6c

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 6

Page 7: Array 2 Dimensi

Operasi pada Elemen Array

Kita dapat melakukan pengaksesan secara sekuensial pada array dimesi banyak. Sama seperti pada

array dimensi satu, sangat merepotkan jika kita hendak menampilkan isi array dengan cara seperti pada

program sebelumnya. Karenanya kita lebih baik melakukan akses secara sekuensial pula pada array

dimensi banyak. Perhatikan pola berikut :

Jika kita membuat suatu array : X[2][3]

maka elemennya elemennya adalah :

     X[0][0]

     X[0][1]

     X[0][2]

     X[1][0]

     X[1][1]

     X[1][2]

Pada urutan elemn di atas, kita dapat mengikuti polanya dengan cara :

Cobalah membuat program dengan spesifikasi berikut :

t6d

Buatlah sebuah array dua dimensi berukuran 4 x 5 yang dapat menampung 20 buah angka.

User memasukkan 20 buah angka.

Komputer menampilkan 20 buah angka tersebut dengan format seperti  tabel.

Contoh input :

1

2

3

4

5

6

7

8

9

10

11

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 7

Page 8: Array 2 Dimensi

12

13

14

15

16

17

18

19

20

Contoh output :

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 8

Page 9: Array 2 Dimensi

Array Sebagai Parameter Method

Pengiriman array dua dimensi ke dalam parameter method, sama seperti pengiriman array satu dimensi

adalah pengiriman secara pass by reference. Untuk pengiriman array dua dimensi (atau lebih), kita

hanya akan menggunakan bentuk :

int X[ ][ ]

Perhatikan contoh berikut.

t6e

 

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 9

Page 10: Array 2 Dimensi

Tugas

Nama file: t12NYYXXX.java (N: nomor soal, YY: angkatan, XXX: 3 digit terakhir NPM)

Lihat jam pengumpulan di E-Learning.

1. Buku AlamatBerikut ini adalah array multidimensi yang menyatakan isi dari sebuah buku alamat:

String entry = {{"Florence", "735-1234", "Manila"}, {"Joyce", "983-3333", "Quezon City"},

{"Becca", "456-3322", "Manila"}};Cetak buku alamat tersebut dalam format berikut :

Name : Florence

Tel. : 735-1234

# Address : Manila

Name : Joyce

Tel. : 983-3333

# Address : Quezon City

Name : Becca

Tel. : 456-3322

# Address : Manila

2. Segitiga BawahBuatlah program dengan spesifikasi sebagai berikut. Program menerima sebuah bilangan integer N dari

user ( 1<= N <= 10 ). N menyatakan ukuran dari array dua dimensi N x N. Isilah array tersebut dengan N

x N buah bilangan. Kemudian tampilkan isi dari array tersebut dalam bentuk tabel/matriks dan

tampilkan juga matriks segitiga bawah dari tabel/matriks tersebut.

Contoh input :

3

12

73

30

10

35

24

90

73

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 10

Page 11: Array 2 Dimensi

65

Contoh output :

Matriks :

12 73 30

10 35 24

90 73 65

Matriks segitiga bawah :

12

10 35

90 73 65

Hint : anda dapat membuat sebuah array 10 x 10, tetapi tidak perlu digunakan semua tempatnya.

3. Jumlah Elemen ArrayBuatlah sebuah array berukuran 10 x 10 yang dapat diisi oleh bilangan integer, kemudian jumlahkan

semua elemen pada array menggunakan method dengan prototipe :

int jumlah_elemen_array( int X[ ][ ] );

Dengan X adalah array yang akan dijumlahkan seluruh elemennya.

- Tidak perlu menampilkan isi dari array, cukup tampilkan hasil penjumlahan-nya saja.

- Untuk menampilkan hasil ke layar tidak boleh dilakukan di dalam method.

4. BomTugas anda kali ini adalah menghitung banyaknya jumlah bom yang ada pada suatu petak tanah.

Suatu daerah dibagi-bagi menjadi beberapa petak tanah yang memiliki luas yang sama. Pada petak -

petak tertentu di daerah tersebut terdapat bom yang ditanam di dalam tanah (pada setiap petak tanah

terdapat maksimal satu buah bom). Tugas anda adalah menghitung berapa buah petak tanah yang

tertanam bom.

Spesifikasi masukan.

Baris pertama masukan terdiri dari dua buah bilangan a dan b dimana 1<= a,b <=30 yang menyatakan

panjang dan lebar dari suatu daerah.

Untuk setiap a baris berikut, masing - masing baris terdiri dari b bilangan yang menyatakan apakah ada

bom pada petak tersebut. Bilangan 0 menyatakan bahwa pada petak tersebut tidak terdapat bom dan

bilangan 1 menyatakan bahwa pada petak tersebut terdapat bom.

Masukan akan berakhir jika a dan b salah satunya bernilai -1

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 11

Page 12: Array 2 Dimensi

Spesifikasi keluaran

Tampilkan hasil dari perhitungan anda, berapa banyak jumlah petak tanah yang ditanami bom.

Tampilah harus sesuai dengan format :

Kasus ke-n   ( n adalah nomor kasus )

Jumlah bom : x ( x adalah jumlah bom )

Contoh input :

5 5

1 0 0 0 0

0 0 1 0 1

1 0 0 0 0

0 0 1 0 0

1 0 0 0 0

2 3

0 0 0

0 0 0

-1 -1

Contoh output :

Kasus - 1

Jumlah Bom : 6

Kasus - 2

Jumlah Bom : 0

5. Perkalian MatriksBuatlah sebuah program yang berfungsi untuk menampilkan hasil perkalian dari dua buah matriks.

Spesifikasi masukan

Baris pertama masukan terdiri dari dua buah bilangan a dan b dimana 1<= a,b <=10 yang menyatakan

besar dari matriks A (a -> baris dan b -> kolom ).

Untuk setiap a baris berikut, masing - masing baris terdiri dari b bilangan yang menyatakan nilai dari

matriks tersebut. Nilai dari elemen matriks adalah bilangan bulat n dimana 9 < n < 100

Baris berikutnya terdiri dari dua buah bilangan b dan c dimana 1<= b,c <=10 yang menyatakan besar

dari matriks B ( b -> baris dan c -> kolom ).

Untuk setiap b baris berikut, masing - masing baris terdiri dari c bilangan yang menyatakan nilai dari

matriks tersebut. Nilai dari elemen matriks adalah bilangan bulat n dimana 9 < n < 100. Perhatikan

bahwa kolom matriks A sama dengan baris matriks B.

Spesifikasi keluaran

Tampilkan hasil dari perkalian matriks A dan matriks B.

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 12

Page 13: Array 2 Dimensi

Contoh input :

3 2

10 12

14 14

14 20

2 3

20 12 14

24 14 18

Contoh output :

488 288 356

616 364 448

760 448 556

6. Transpose MatriksBuatlah sebuah program yang berfungsi untuk menampilkan transpose dari suatu matriks.

Spesifikasi masukan.

Baris pertama masukan terdiri dari dua buah bilangan x dan y dimana 1<= x,y <=10 yang menyatakan

besar dari matriks tersebut  (x -> baris dan y -> kolom ).

Untuk setiap x baris berikut, masing - masing baris terdiri dari y bilangan yang menyatakan nilai pada

kolom dari matriks tersebut. Nilai dari elemen matriks adalah bilangan bulat n dimana 0 < n < 10.

Spesifikasi keluaran.

Tampilkan transpose dari matriks masukan.

Contoh input :

4 5

8 6 5 3 4

2 5 3 5 4

9 4 7 3 6

1 4 8 6 2

 

Contoh output :

8 2 9 1

6 5 4 4

5 3 7 8

3 5 3 6

4 4 6 2 

Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010 13