MODUL XIII, Algoritma Pemrograman I

ARRAY/ LARIK
A.   DASARTEORI
Dalam beberapaliteratur, array sering disebut (diterjemahkan) sebagai larik. Array adalahkumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yangmenggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebutdengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkanoleh suatu subscript atau indeks. Elemen pertama mempunyai indeksbernilai 0.
Arraybisa berupa array berdimensi satu, dua, tiga atau lebih. Array berdimensi satu (one-dimensionalarray) mewakili bentuk suatu vektor. Array berdimensi dua (twodimensionalarray) mewakili bentuk dari suatu matriks atau table. Array berdimensitiga (three-dimensional array) mewakili bentuk suatu ruang.
Suatu arrayberdimensi 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.
Sebuaharray dapat diinisialisasi sekaligus pada saat dideklarasikan. Untukmendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antarakurung kurawal ({}) yang dipisahkan dengan koma.
Rounded Rectangle: tipe_data nama var [ukuran] = {nilai var}

B.   PEMBAHASAN
Program1 :
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.   Scannerinput=new Scanner (System.in);
10.  LarikCopylarik=new LarikCopy();
11.  intdata[];
12.  data=newint[10];
13.  for(int i=0; i<5; i++){
14.       System.out.print(“Masukkandata ke-“+i+” = “);
15.       data[i]=input.nextInt();
16.  }
17.  larik.copy(data);
18.  for(int i=0; i<5; i++){
19.  System.out.println(“Datake-“+i+” = “+data[i]);
20. }
21. }
22. }
Hasiloutput program :
Pembahasan:
Padabaris 1 dan 2 secara berurutan adalah paket Scanner dan deklarasi class dengannama kelas LarikCopy. Baris 3 deklarasi method copy(intlrk[])dengan parameter larik yang bertipe data integer. Baris 4  merupakan perulangan for (inti=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 deklarasimethod main(String[]args). Baris 9 adalah paket masukkan Scannerinput=new Scanner (System.in); dengan nama obyek input.Baris 10 merupakan deklarasi paket masukkan method LarikCopy();dengan nama obyek larik. Baris 11 adalahdeklarasi larik int data[]; yang bertipe datainteger. Baris 12 merupakan penciptaan larik data=new int[10];dengan 10 elemen. Baris 13  merupakanperulangan for (int i=0; i<5; i++)denganargument-argument variable i. Baris 14 untukmenampilkan nilai dari hasil perulangan for. Baris 15 adalah penginputan nilaike larik, kemudian nilai tersebut diubah menjadi variable iyang nantinya akan dieksekusi di perulangan for. Sehingga pada baris 15 akandikerjakan sebanyak 5 kali. Baris 17 berfungsi untuk menampilkan nilai darilarik intdata[];.Baris18  merupakan perulangan for (inti=0; i<5; i++)dengan argument-argument variable i.Baris 19 untuk menampilkan nilai dari hasil perulangan for.
Program2 :
1.import java.util.Scanner;
2.public class LarikDeret {
3. public static void main(String[]args){
4.   Scannerinput=new Scanner(System.in);
5.   doubledata[];
6.   doublemin1, min2, mak1, mak2;
7.   int x=0,y=0;
8.   data=newdouble [10];
9.   for (inti=0;i<5;i++){
10.  System.out.print(“Masukkandata 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. }
Hasiloutput program :
Pembahasan:
Padabaris 1 dan 2 secara berurutan adalah paket Scanner dan deklarasi class dengannama kelas LarikDeret. Baris 3 adalah deklarasi method main(String[]args). Baris 4 adalah paket masukkan Scannerinput=new Scanner (System.in); dengan nama obyek input.Baris 5 adalah deklarasi larik double data[]; yang bertipedata double. Baris 6 merupakan deklarasi variable doublemin1, min2, mak1, mak2; yang bertipe data double. Baris 7merupakan deklarasi variable int x=0, y=0; yang bertipedata integer dan masing-masing mempunyai nilai awal 0. Baris 8 merupakanpenciptaan larik data=new double [10]; dengan 10elemen. Baris 9  merupakan perulangan for (inti=0; i<5; i++)dengan argument-argument variable i.Baris 10 untuk menampilkan nilai dari hasil perulangan for. Baris 11 adalahpenginputan nilai ke larik, kemudian nilai tersebut diubah menjadi variable iyang nantinya akan dieksekusi di perulangan for. Sehingga pada baris 11 akandikerjakan sebanyak 5 kali. Baris 13 dan 14 menyatakan bahwa nilai darivariable min1=data[0]; dan mak1=data[0];mempunyai nilai yang sama dengan elemen pertama pada larik data[0].Baris 15  merupakan perulangan for (inti=0; i<5; i++)dengan argument-argument variable i.Baris 16 dan 17 adalah pernyataan seleksi dengan if yang berkondisi bahwa nilaivariable 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 denganvariable i. Baris 20 dan 21 adalah pernyataanseleksi dengan if yang berkondisi bahwa nilai variable min1kurang dari nilai dari larik data[i] yang diinput, kemudiannilai disimpan sementara pada variable min1. Baris 22menyatakan 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++)denganargument-argument variable i. Baris 28 adalahpernyataan seleksi dengan if yang berkondisi bahwa nilai dari variable ikebalikan dari variable x. Baris 29 dan 30 adalah pernyataanseleksi dengan if yang berkondisi bahwa nilai variable mak2kurang dari nilai dari larik data[i] yang diinput, kemudiannilai disimpan sementara pada variable mak2. Baris 31adalah pernyataan seleksi dengan if yang berkondisi bahwa nilai dari variable ikebalikan dari variable y. Baris 32 dan 33 adalah pernyataanseleksi dengan if yang berkondisi bahwa nilai variable min2kurang dari nilai dari larik data[i] yang diinput, kemudiannilai disimpan sementara pada variable min2. Baris 35 adaahpernyataan yang berfungsi untuk menampilkan nilai variable min1, min2,mak1, mak2;.
C.   TUGAS
Modifikasiprogram pada larik1 di atas untuk menghitung jumlah, rata-rata, serta nilaiterbesar 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);
   }
}
Hasiloutput program :
D.   KESIMPULAN
Larikadalah struktur data yang terdiri dari data yang bertipe sama. Ukuran larikbersifat tetap, larik akan mempunyai ukuran yang sama sekali dibuat. Larikdalam java adalah obyek, disebut juga sebagai tipe referensi. Posisi dari larikbiasanya 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