350 likes | 661 Views
Algoritma & Struktur Data. Array (list linier). Teknik Informatika Universitas Muhammadiyah Malang 2011. Tujuan Instruksional. Mahasiswa mampu : Memahami cara pengoperasian struktur data array Me mahami kelebihan dan kekurangan struktur data array
E N D
Algoritma & Struktur Data Array (list linier) Teknik Informatika Universitas Muhammadiyah Malang 2011
Tujuan Instruksional • Mahasiswa mampu : • Memahami cara pengoperasian struktur data array • Memahami kelebihan dan kekurangan struktur data array • Mengimplementasikan struktur data array kedalam sebuah algoritma
Topik • Bentuk dasar array • Deklarasi array • Inisialisasi array • Pengaksesan element array
Array • Array adalah object yang digunakan untuk menyimpan banyak data dengan tipe data yang sama. • Tipe data dari array dapat berupa : • tipe data primitif • tipe data objek (reference)
Array • 2 bagian penting yang menyusun array : • Index berupa bilangan bulat mulai dari 0-(n-1), digunakan untuk mengakses element. *n=jumlah element. • Element digunakan untuk menyimpan data. Jenis data yang disimpan disesuaikan dengan tipe data yang diberikan ketika deklarasi array.
Gambaran • Penyimpanan data pada array : • Nilai grade dari 6 mahasiswa yang disimpan pada array. • Dari gambar diatas dapat dijabarkan sbb : • Element 1 berisi data 65, ada pada index ke-0 • Element 2 berisi data 32, ada pada index ke-1 • Element 3 (data = ?, index = ?) • Element 6 (data = ?, index = ?) 0 1 2 3 4 5 Index Elemen
Array • Terdapat 3 langkah untuk membuat array: • Mendeklarasikan variabel array • Memcreate array beserta ukurannya • Memberikan sebuah nilai pada setiap element array
(1) Deklarasi Variabel Array • Bentuk Syntax array dimensi satu : • Contoh : • int[] ints; nama array ints bertipe int • double[] dubs; nama array dubs bertipe double • Dimension[] dims;nama array dims bertipe class Dimension • float[][] twoDee; nama array twoDee (2 dimensi array ) bertipe float • Yang tidak legal : • int [5] scores; pemberian array-size diawal deklarasi! Tipedata[] namaArray;
(2) Create Array • Karena array adalah sebuah object, maka create array menggunakan operator new. • Besar array (array-size)wajib ditentukan pada proses ini. • Bentuk syntax : • Contoh : • int[] ints ; proses deklarasi variabel array • ints = new int[25] ; create array ints sebesar 25 element namaArray = new Tipedata[array-size];
Contoh lain • double[] dubs; • dubs = new double[100]; create array dubs sebesar 100 element • Dimension[] dims; • dims = new Dimension[9]; create array dims sebesar 9 element • float[][] twoDee; • twoDee = new float[5][5]; create array twoDee sebesar 5 baris dan 5 kolom *Padasaat array dibuat, isi array diinisialisasidengan default value.
(3) Memberikan nilai pada elemen array • Pemberian nilai pada elemen array (inisialisasi array) menggunakan index. • Ingat! array selalu diawali dari index ke-0. • Jadi, jika besar array adalah n maka untuk mengakses elemen ke-n ada pada index ke n-1. • Bentuk syntax : namaArray[index] = nilai;
Contoh Isi dari array : nilai primitif • int [] scores; • int scores = new int[3]; • scores[0] = 75; • scores[1] = 80; • scores[2] = 100; Isi dari array : object • Student students[] = new Student[3]; • students[0] = new Student(); • students[1] = new Student(); • students[2] = new Student();
Inisialisasi Array • Gabungan dari 3 langkah • 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. • long squares ; • squares = new long[6000] ; • for (int i=0 ; i<squares.length ;i++) { squares[i] = i * i ; }
Pengaksesan Elemen • Menggunakan variabel penampung x = namaArray[index]; variabel x akan menampung data yang ada pada elemen sesuai index. 2. Menggunakan System.out.print(); mengakses sekaligus menampilkan data pada elemen sesuai index. Contoh : System.out.print(grade[0]); (Menampilkan data pada elemen dengan index ke-0)
Hasil running 0 0 0 0 0 false false false false false false Finished executing
Create dua dimensional array • int[] [] myArray = new int [3] [];
Hasil running • Length pada Indeks ke-0 =3 • Length pada Indeks ke-1 =5 • Finished executing
Hasil running • Elemen pd Dimensi ke-1 = 2 • Elemen pd Dimensi ke-2 = 3 • Elemen pd Dimensi ke-3 = 4 • Finished executing
Hasil Running • 1 2 3 4 5 6 • 1 2 3 4 5 6 4 3 2 1
Copying Array // create a new array of proper length and data type Object [] newArray = new Object [newLength]; // copy all elements from old array into new one System.arraycopy(element, 0, newArray, 0, element.length); // rename array element = newArray;
Latihan 1. Diberikan matriks A sebagai berikut : 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Perintah pokok yg digunakan pd pengisian matriks A adalah ??
Latihan • Buatlah sebuah array yang memenuhi spesifikasi yang ada pada tabel disamping. Petunjuk : • Buatlah class Bank yang memiliki dua variabel array tsb. • Berikan inisialisasi pada variabel antrian dengan angka terurut mulai dari 1. sedangkan inisialisasi variabel nasabah dengan obyek yg mengacu pada class Customer. • Berikan nilai saldo pada tiap objek yang ada dengan memanggil method setSaldo() menggunakan nasabah[0]. • Lakukan pengaksesan untuk setiap elemen pada array antrian. • Lakukan pengaksesan method getSaldo(). Class Customer{ double saldo; void setSaldo(double dana) { saldo = saldo+dana; } double getSaldo() { return saldo; } }
Latihan • Buatlah sebuah array dua dimensi untuk menyimpan sebuah kata bahasa indonesia beserta kata padanan bahasa inggrisnya. petunjuk : • Kata yg disimpan diberikan 5 kata. • Element 1 digunakan untuk menyimpan kata bahasa indonesia • Element 2 digunakan untuk menyimpan kata bahasa inggris • Cobalah mengakses kata bahasa inggris dari kata bahasa indonesia yang dipilih pleh user.
Latihan • Diketahui L=(a,b,c,d). L adalah sebuah array linier list. Tentukan hasil yang didapatkan ketika dilakukan perintah berikut ini : • isEmpty() • size() • get(0), get(2),get(6),get(-3) • indexOf(a), indexOf(c), indexOf(q) • remove(0), remove(2), remove(3) • add(0,e), add(2,f), add(3,g), add(4,h), add(6,h), add(-3,h)
Daftar Pustaka • Nana Ramadiyanti, Pemrograman Lanjut : Array, Pens-ITS • Sahni, Sartaj, “Data Structures, Algorithms, and Applications in Java”. McGraw-Hill International Editions. • L.N. Harnaningrum, Struktur Data menggunakan Java, Graha ilmu, 2010 • Siswanto, Algoritma & Struktur Data Linier, Graha Ilmu, 2010