MODUL XIII, Algoritma Pemrograman I

ARRAY / LARIK
A.   DASAR TEORI
Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik. Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan oleh suatu subscript atau indeks. Elemen pertama mempunyai indeks bernilai 0.
Array bisa berupa array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu (one-dimensional array) mewakili bentuk suatu vektor. Array berdimensi dua (twodimensionalarray) mewakili bentuk dari suatu matriks atau table. Array berdimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.
Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :
Rounded Rectangle: tipe_data nama_var = new tipe_data [ukuran]

dengan :
·         tipe_data    : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
·         nama_var   : nama variabel array
·         ukuran       : untuk menyatakan jumlah maksimal elemen array.
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. Untuk mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kurawal ({}) yang dipisahkan dengan koma.
Rounded Rectangle: tipe_data nama var [ukuran] = {nilai var}

B.   PEMBAHASAN
Program 1 :
1.import java.util.Scanner;
2.public class LarikCopy {
3.public void copy(int lrk[]){
4.for (int i=0; i<5; i++){
5. lrk[i]=lrk[i]*3;
6. }
7. }
8. public static void main (String[]args){
9.   Scanner input=new Scanner (System.in);
10.  LarikCopy larik=new LarikCopy();
11.  int data[];
12.  data=new int[10];
13.  for (int i=0; i<5; i++){
14.       System.out.print(“Masukkan data ke-“+i+” = “);
15.       data[i]=input.nextInt();
16.  }
17.  larik.copy(data);
18.  for (int i=0; i<5; i++){
19.  System.out.println(“Data ke-“+i+” = “+data[i]);
20. }
21. }
22. }
Hasil output program :
Pembahasan :
Pada baris 1 dan 2 secara berurutan adalah paket Scanner dan deklarasi class dengan nama kelas LarikCopy. Baris 3 deklarasi method copy(int lrk[])dengan parameter larik yang bertipe data integer. Baris 4  merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 5 adalah operasi perkalian lrk[i]=lrk[i]*3;yang berfungsi mengkalikan isi dari larik dengan 3. Baris 8 adalah deklarasi method main (String[]args). Baris 9 adalah paket masukkan Scanner input=new Scanner (System.in); dengan nama obyek input. Baris 10 merupakan deklarasi paket masukkan method LarikCopy();dengan nama obyek larik. Baris 11 adalah deklarasi larik int data[]; yang bertipe data integer. Baris 12 merupakan penciptaan larik data=new int[10];dengan 10 elemen. Baris 13  merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 14 untuk menampilkan nilai dari hasil perulangan for. Baris 15 adalah penginputan nilai ke larik, kemudian nilai tersebut diubah menjadi variable iyang nantinya akan dieksekusi di perulangan for. Sehingga pada baris 15 akan dikerjakan sebanyak 5 kali. Baris 17 berfungsi untuk menampilkan nilai dari larik int data[];.Baris 18  merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 19 untuk menampilkan nilai dari hasil perulangan for.
Program 2 :
1.import java.util.Scanner;
2.public class LarikDeret {
3. public static void main(String[]args){
4.   Scanner input=new Scanner(System.in);
5.   double data[];
6.   double min1, min2, mak1, mak2;
7.   int x=0, y=0;
8.   data=new double [10];
9.   for (int i=0;i<5;i++){
10.  System.out.print(“Masukkan data ke-“+i+” = “);
11.  data[i]=input.nextDouble();
12. }
13. min1=data[0];
14. mak1=data[0];
15. for (int i=1;i<5;i++){
16.  if (mak1<data[i]){
17.       mak1=data[i];
18.       x=i;
19.  }
20.  if (min1>data[i]){
21.       min1=data[i];
22.       y=i;
23.  }
24. }
25. min2=data[0];
26. mak2=data[0];
27. for (int i=1;i<5;i++){
28.  if (i !=x)
29.  if(mak2<data[i])
30.  mak2 = data[i];
31.  if(i !=y)
32.  if(min2>data[i])
33.  min2=data[i];
34. }
35. System.out.println(min1+” “+min2+” “+mak1+” “+mak2+” “);
36. }
37. }
Hasil output program :
Pembahasan :
Pada baris 1 dan 2 secara berurutan adalah paket Scanner dan deklarasi class dengan nama kelas LarikDeret. Baris 3 adalah deklarasi method main (String[]args). Baris 4 adalah paket masukkan Scanner input=new Scanner (System.in); dengan nama obyek input. Baris 5 adalah deklarasi larik double data[]; yang bertipe data double. Baris 6 merupakan deklarasi variable double min1, min2, mak1, mak2; yang bertipe data double. Baris 7 merupakan deklarasi variable int x=0, y=0; yang bertipe data integer dan masing-masing mempunyai nilai awal 0. Baris 8 merupakan penciptaan larik data=new double [10]; dengan 10 elemen. Baris 9  merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 10 untuk menampilkan nilai dari hasil perulangan for. Baris 11 adalah penginputan nilai ke larik, kemudian nilai tersebut diubah menjadi variable iyang nantinya akan dieksekusi di perulangan for. Sehingga pada baris 11 akan dikerjakan sebanyak 5 kali. Baris 13 dan 14 menyatakan bahwa nilai dari variable min1=data[0]; dan mak1=data[0];mempunyai nilai yang sama dengan elemen pertama pada larik data[0]. Baris 15  merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 16 dan 17 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai variable mak1 kurang dari nilai dari larik data[i]yang diinput, kemudian nilai disimpan sementara pada variable mak1. Baris 18 menyatakan nilai dari variable x sama dengan variable i. Baris 20 dan 21 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai variable min1kurang dari nilai dari larik data[i] yang diinput, kemudian nilai disimpan sementara pada variable min1. Baris 22 menyatakan nilai dari variable y sama dengan variable i. Baris 25 dan 25 menyatakan bahwa nilai dari variable min2=data[0]; dan mak2=data[0];mempunyai nilai yang sama dengan elemen pertama pada larik data[0]. Baris 27 merupakan perulangan for (int i=0; i<5; i++)dengan argument-argument variable i. Baris 28 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai dari variable ikebalikan dari variable x. Baris 29 dan 30 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai variable mak2kurang dari nilai dari larik data[i] yang diinput, kemudian nilai disimpan sementara pada variable mak2. Baris 31 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai dari variable ikebalikan dari variable y. Baris 32 dan 33 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai variable min2kurang dari nilai dari larik data[i] yang diinput, kemudian nilai disimpan sementara pada variable min2. Baris 35 adaah pernyataan yang berfungsi untuk menampilkan nilai variable min1, min2, mak1, mak2;.
C.   TUGAS
Modifikasi program pada larik1 di atas untuk menghitung jumlah, rata-rata, serta nilai terbesar dan terkecil.
Program :
import java.util.Scanner;
public class Larik1 {
public static void main(String [] args){
    Scanner masuk = new Scanner (System.in);
    float nilai [] = new float [5];
    float total,rata,maks,min;
    System.out.println(“Masukkan 5 buat data nilai”);
    for (int i=0; i<5; i++){
       System.out.print((i+1)+”: “);
       nilai [i]=masuk.nextFloat();
    }
    System.out.println(“Data nilai yang dimasukkan “);
    for (int i=0; i<5; i++)
    System.out.println(nilai[i]);
    total=0;
    for(int i=0; i<5; i++)
        total = total + nilai[i];
    rata=total/5;
    maks = nilai[0];
    min = nilai[0];
    for (int i=0; i<5; i++){
        if (maks<nilai[i])
            maks=nilai[i];
        if (min>nilai[i])
            min=nilai[i];
    }
    System.out.println(“Total data = “+total);
    System.out.println(“Rata-rata = “+rata);
    System.out.println(“Nilai terbesar = “+maks);
    System.out.println(“Nilai terkecil = “+min);
    }
}
Hasil output program :
D.   KESIMPULAN
Larik adalah struktur data yang terdiri dari data yang bertipe sama. Ukuran larik bersifat tetap, larik akan mempunyai ukuran yang sama sekali dibuat. Larik dalam java adalah obyek, disebut juga sebagai tipe referensi. Posisi dari larik biasanya disebut elemen atau indeks dan elemen larik dimulai dari 0 (nol)
E.    LISTING
Terlampir.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s