Laporan praktikum jawaban 10 algoritma(1)

11
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

Transcript of Laporan praktikum jawaban 10 algoritma(1)

Page 1: Laporan praktikum jawaban 10 algoritma(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

Page 2: Laporan praktikum jawaban 10 algoritma(1)

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.2 Teori 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

Page 3: Laporan praktikum jawaban 10 algoritma(1)

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

Page 4: Laporan praktikum jawaban 10 algoritma(1)

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 Pengaksesan Sebuah 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

Page 5: Laporan praktikum jawaban 10 algoritma(1)

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

Page 6: Laporan praktikum jawaban 10 algoritma(1)

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)

{

Page 7: Laporan praktikum jawaban 10 algoritma(1)

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

Page 8: Laporan praktikum jawaban 10 algoritma(1)

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

Page 9: Laporan praktikum jawaban 10 algoritma(1)

No Nama File Hasil Keluaran

1 Prog 101

2 Prog 102

3 Prog 103

4 Prog 104

Page 10: Laporan praktikum jawaban 10 algoritma(1)

5 Prog 105

Page 11: Laporan praktikum jawaban 10 algoritma(1)

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