1. LAPORAN PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN
JOBSHEET 10
ARRAY(LARIK)
Disusun Oleh :
Rais Usman Adzikri
3.33.16.0.19/ TK-1A
PROGRAM STUDI D3 TEKNIK TELEKOMUNIKASI
POLITEKNIK NEGERI SEMARANG
TAHUN 2016/2017
2. JOBSHEET 10
ARRAY (LARIK)
10.1 Tujuan Instruksional Khusus
Pada akhir bagian ini mahasiswa diharapkan mampu untuk :
1. Mendeklarasikan dan membuat array
2. Mengakses elemen-elemen didalam array
3. Menentukan jumlah element didalam sebuah array
10.2Teori Pendahuluan
Dibagian sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam
variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian variabel, kita sering
menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik, dimana untuk
menggunakan variabel tersebut, kita akan memanggil dengan nama identifier-nya. Sebagai
contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda
untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk
menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian
memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.
Gambar 10.1 Contoh dari interger array
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah
blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot. Bayangkanlah
3. array adalah sebuah variabel – sebuah lokasi memori tertentu yang memiliki satu nama sebagai
identifier, akan tetapi ia dapat menyimpan lebih dari sebuah value.
10.2.1 Deklarasi Array
Array harus dideklarasikan seperti layaknya sebuah variabel dengan contoh sebagai berikut:
int[] ages;
atau dapat juga dibuat seperti berikut :
int ages[];
Setelah pendeklarasian dilanjutkan dengan menentukan berapa panjangnya dengan sebuah
konstruktor. Proses ini di Java disebut sebagai instantiation ( Kata dalam Java yang berarti
membuat ). Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Kita
akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian
selanjutnya. Perlu dicatat, bahwa ukuran dari array tidak dapat diubah setelah Anda
menginisialisasinya. Sebagai contoh,
int[] ages;
ages = new int[100];
atau bisa juga ditulis dengan,
int[] ages = new int[100];
Gambar 10.2 Single dimensi Array
4. Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa identifier
ages akan digunakan sebagai nama array yang berisi data-data integer, dan kemudian untuk
membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen. Selain
menggunakan sebuah keyword baru untuk meng-instantiate array, array juga dapat dibuat
dengan memberikan sebuah value.
Sebagai contoh,
1. Membuat sebuah array yang berisi variabel-variabel //boolean pada sebuah identifier.
Array ini terdiri dari 4 elemen yang diinisilisasikan sebagai value {true,false,true,false}
boolean results[] ={ true, false, true, false };
2. Membuat sebuah array yang terdiri dari penginisialisasian 4 variabel double bagi value
{100,90,80,75}
double []grades = {100, 90, 80, 75};
3. Membuat sebuah array String dengan identifier days. Array ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};
10.2.2 PengaksesanSebuah Elemen Array
Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, harus
menggunakan sebuah nomor index atau subscript. Sebuah nomor index atau subscript telah
diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap
value apabila dibutuhkan. Index selalu dalam integer. Dimulai dari nol, kemudian akan terus
bertambah sampai list value dari array tersebut berakhir. Perlu dicatat, bahwa elemen-
elemen didalam array dimulai dari 0 sampai dengan (ukuranArray-1).
Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,
1. Memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
2. Mencetak elemen array yang terakhir
System.out.print(ages[99]);
Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan
dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu, apabila menggunakan
tipe data reference seperti String, tidak akan diinisalisasi ke string kosong “”. Berikut ini adalah
5. contoh, bagaimana untuk mencetak seluruh elemen didalam array. Dalam contoh ini
digunakanlah loop, sehingga kode kita menjadi lebih pendek.
public class ArraySample
{
public static void main( String[] args )
{
int[] ages = new int[100];
for( int i=0; i<100; i++ )
{
System.out.print( ages[i] );
}
}
}
Untuk mengetahui berapa banyak element didalam sebuah array, dapat digunakan length
(panjang) field dalam array. Panjang field dalam array akan mengembalikan ukuran dari array
itu sendiri. Sebagai contoh,
arrayName.length
Contoh program yang menggunakan length.
public class ArraySample
{
public static void main( String[] args )
{
int[] ages = new int[100];
for( int i=0; i<ages.length; i++ )
{
System.out.print( ages[i] );
}
} }
10.2.3 Array Multidimensi
Array multidimensi diimplementasikan sebagai array didalam array. Array multidimensi
dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array. Sebagai contoh,
1. Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
2. Karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
3. String array 4 baris x 2 kolom
6. String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses
array satu dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama didalam
array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.
10.3 Peralatan dan Bahan
1. Komputer dengan konfigurasi minimal
a. Prosesor P-II atau yang lebih tinggi
b. RAM minimal 32 MB
c. Free space hardisk minimal 200 MB
d. Windows 98)
2. Software J2SE dan JCreator
10.4 Langkah Kerja
1. Buat program dibawah ini dengan nama Prog101,java
public class Prog101
{
public static void main(String[] args)
{
int i;
int[] dataku=new int[5];
for(i=0; i<dataku.length; i++)
{
dataku[i] = (int) (Math.random()*100);
System.out.println("Isi dataku [" +(i+1) +"] =" +dataku[i]);
} } }
2. Buat program dibawah ini dengan nama Prog102,java
public class Prog102
{
public static void main(String[] args)
{
7. int[][] Mahasiswa = {{80,60,90},
{30,40,50}} ;
}
double rerata1, rerata2;
System.out.println("Nilai tugas 1 = "+Mahasiswa[0][0]);
System.out.println("Nilai tugas 2 = "+Mahasiswa[0][1]);
System.out.println("Nilai ujian = "+Mahasiswa[0][2]);
rerata1 = 0.25*Mahasiswa[0][0] + 0.25*Mahasiswa[0][1] + 0.5*Mahasiswa[0][2] ;
System.out.println("Nilai rata-rata mahasiswa 1 = "+rerata1);
System.out.println("Nilai tugas 1 = "+Mahasiswa[1][0]);
System.out.println("Nilai tugas 2 = "+Mahasiswa[1][1]);
System.out.println("Nilai ujian = "+Mahasiswa[1][2]);
rerata2 = 0.25*Mahasiswa[1][0] + 0.25*Mahasiswa[1][1] +
0.5*Mahasiswa[1][2] ;
System.out.println("Nilai rata-rata mahasiswa 2 = "+rerata2);
} }
3. Buat program dibawah ini dengan nama Prog103,java
public class Prog103
{ public static void main(String[] args)
int[][] dataku = {{43,62,70},
{33,37,20},
{89,77,66},
{10,20,40}};
for(int i=0; i<4; i++)
{ for(int j=0; j<3; j++)
{
System.out.print(dataku[i][j]);
}
System.out.print("n");
} } }
4. Buat program sortir dibawah ini dengan nama Prog104,java
public class Prog104
{ public static void main(String[] args)
{ int[] dataku = new int[5];
for(int i=0; i<dataku.length; i++)
dataku[i] = (int) (Math.random()*100);
System.out.println("Data mula-mula: ");
for(int i=0; i<dataku.length; i++)
System.out.println("tIsi dataku["+1+"] --> "+dataku[i]);
//Proses sortir
8. for(int i=dataku.length-1; i>0; i--)
{
for(int kiri=0; kiri<i; kiri++)
{ int kanan=kiri+1;
if (dataku[kiri] > dataku[kanan])
{
int bantu = dataku[kiri];
dataku[kiri] = dataku[kanan];
dataku[kanan] = bantu;
}
}
}
// Data setelah diurutkan
System.out.println("nSetelah sortir : ");
for (int i=0; i<dataku.length; i++)
System.out.println("tIsi dataku["+i+"] --> "+dataku[i]);
} }
5. Buat program pencarian data dibawah ini dengan nama Prog105.java
import javax.swing.JOptionPane;
public class Prog105
{
public static void main(String[] args)
{
int[] dataku= new int[10];
int cari;
System.out.print("Isi Database : ");
for(int i=0; i<dataku.length; i++)
{
dataku[i] = (int) (Math.random()*100);
System.out.print(dataku[i] +" ");
}
String str = JOptionPane.showInputDialog("Masukkan data yang akan dicari : ");
cari = Integer.parseInt(str);
System.out.println("n");
for (int i=0; i<dataku.length; i++)
{
if (cari==dataku[i])
{
System.out.println("Data "+cari+ "ditemukan pada posisi "+(i+1));
break;
} } } }
10.5 Lembar Kerja
9. No Nama File Hasil Keluaran
1 Prog 101
2 Prog 102
3 Prog 103
4 Prog 104
11. 10.6 Pertanyaan dan Tugas
Jelaskanlah cara kerja dari sortir dan pencarian data pada langkah kerja nomor 4 (file
Prog104.java) dan nomor 5 (file Prog105.java).
JAWAB
1. Penjelasan file Prog 104.java
Pada program tersebut menjelaskan program penginputan otomatis suatu data secara
random(acak) sebanyak 5 data,kemudian masuk kedalam array 1 dimensi. Setelah data terinput
maka akan bekerja dengan mengurutkan angka dari kecil ke besar .Seperti pada hasil percobaan
Prog104.java isi data mula-mula yang terdiri dari 5 data adalah 6,41,41,8,65 (terinput secara
acak) kemudian inputan tadi masuk ke program sortir untuk diurutkan dari angka kecil ke angka
besar ,setelah prosses soortir dilakukan ,hasil data yang dikeluarkan adalah 6,8,41,41,65
2. Penjelasan file Prog 105.java
Pada program tersebut menjelaskan suatu penginputan data secara otomatis secara random(acak)
Sebanyak 10 data, Kemudian data tersebut dimasukkan ke array 1 dimensi, Setelah itu akan
muncul massage box yang digunakan untuk mencari data yang sudah muncul secara acak, dan
setelah menuliskan angka pada massage box program akan mencari angka tersebut,terletak
dimana angka tersebut berada (pada angka urutan keberapa angka tersebut ).Dan apabila pada
saat penginputan data dan data yang kita inputkan tidak terdapat pada data array tersebut maka
program tidak ada reaksi apapun ,Seperti pada gasil keluaran pada Prog.104.java,data array yang
muncuul adalah 10,78,38,67,48,56,27,56,59,17Setelah data muncul ,maka massge box juga
muncul,untuk menginputkan data array yang dipilih.Setelah menginputkan data array yang
dipilih,program dengan sendirinya mencarari data yang diinputkan ada massage box pada urutan
keberapa data itu berapa.Contoh,pada percobaan yang saya lakukan,sayamemilih angka 78,dan
angka tersebut terletak pada posisi angka ke 2 dari 10 angka