MATERI PRAKTIKUM 2 ARRAY

dokumen-dokumen yang mirip
Pertemuan 4 Array pada Java

PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM

MATERI PRAKTIKUM STRUKTUR DATA

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

A. TEORI ARRAY 1 DIMENSI

A. TEORI ARRAY 1 DIMENSI

Modul Praktikum 4 Pemograman Berorientasi Objek

Modul Praktikum Bahasa Pemrograman 1

2 TIPE DATA DAN VARIABEL

PEMAHAMAN DASAR DASAR JAVA

BAB II VARIABEL DAN TIPE DATA

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Percabangan & Perulangan

DASAR PEMOGRAMAN JAVA

MODUL 3 ARRAY. Pemograman Berorientasi Objek

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

Dasar Pemrograman Java

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Badiyanto, S.Kom., M.Kom. PBO java

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

BAB 7. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel.

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Pemrograman Dasar A R R A Y

Array Multidimensi. Pemrograman Dasar. Java

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

PEMROGRAMAN BERORIENTASI OBJEK

Array Pendeklarasian Array

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Bahasa Pemrograman :: Dasar Pemrograman Java

LAPORAN PRAKTIKUM STRUKTUR DATA

SUMBER BELAJAR PENUNJANG PLPG

Pertemuan 3 Struktur Perulangan pada Java

TIPE DATA Pertemuan (K-03/L-03)

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Pertemuan 2 Struktur Kontrol Percabangan

Array. Pengantar. int a, b, c, d, e;

MODUL III ARRAYLIST TUGAS PENDAHULUAN

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

TIPE DATA DAN VARIABLE

IKG2I4 / Software Project I

TIPE DATA DAN VARIABLE

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Tipe Data Floating Point Tipe data yng digunakan untuk menampung bilangan desimal

LAB02 : KODING PROGRAM

SEKUEN, PERCABANGAN & PENGULANGAN

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

ARRAY. 7 th week Estu Sinduningrum ST,MT

BAHASA PEMROGRAMAN JAVA

Bahasa Pemrograman 2.

OPERATOR-OPERATOR DALAM JAVA

MODUL PRAKTIKUM DASAR-DASAR PEMROGRAMAN

PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK Dosen : Tim Dosen PBO

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

Beberapa Contoh Penggunaan Array

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Struktur Kontrol Pemrograman Java : PERCABANGAN

MODUL DUA VARIABEL DAN TIPE VARIABEL

if (ekspresi_boolean) {

JAVA BASIC PROGRAMMING Joobshet

Pemrograman Fery Updi,M.Kom

Dasar-Dasar Pemrograman Java

PERTEMUAN I PENGENALAN JAVA

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 4 CONTROL FLOW STATEMENT

PERTEMUAN 3 OBJEK DAN CLASS

Array 1 Dimensi pada Java

IKG2I4 / Software Project I

PEMROGRAMAN JAVA : ARRAY

String. Berikut perbedaan antara deklarasi char dan deklarasi String:

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Pengenalan JavaScript

BAB 1 KONSEP DASAR JAVA

Pemrograman Berbasis Objek Operator dan Assignment

Variabel dan Tipe data Javascript

A. Judul Percobaan/praktikum Tipe Data, Keyword, Variabel, Operator dan Teknik Konfersi

Operator dan Assignment

Cara Membaca File Text di JAVA

Kumpulan Teknik Pemrograman Berorientasi Objek Dengan Java. Oleh : Richi Hariyanto, Amd

Penjebakan Eksepsi. Nur hasanah, M.Cs

Elemen Dasar Dalam Bahasa Java

Modul Praktikum 2 Pemograman Berorientasi Objek

PRAKTIKUM 6 EXCEPTION

B. DASAR TEORI Array. Misalkan kita memiliki tiga data yang berbeda dan kita simpan dalam variabel yang berbeda.

Praktikum 9 Exception Handling

Pemrograman Berorientasi Object

Transkripsi:

MATERI PRAKTIKUM 2 ARRAY A. Teori 1. Deklarasi dan Penciptaan Array Array adalah bentukan yang menyediakan penyimpanan sejumlah item bertipe sama. Item-item array dapat berupa data sederhana atau komposit. Array di Java dideklarasikan dengan kurung siku: [...] Array merupakan cara nyaman untuk mengelompokkan informasi yang berhubungan. Sintaks umum deklarasi array adalah sebagai berikut: type var-name[]; Atau type [] var-name; - Type adalah mendeklarasikan tipe basis dari array. Tipe basis menentukan tipe data bagi masing-masing elemen yang membentuk array. Dengan demikian tipe basis untuk array menentukan tipe data yang dimuat oleh array. Berikut adalah contoh deklarasi array di java: int number[]; char[] letters; long grid[]; - Pada java, Kita harus menyatakan secara eksplisit saat melakukan penciptaan array menggunakan operator new[] atau dengan mendaftarkan item-item untuk array pada saat penciptaan. Contoh: char alphabet[]= new() char[26]; int prima = [7,11,13]; 2. Array 1 Dimensi Array 1 dimensi adalah seranai variabel bertipe serupa. Kita harus lebih dulu menciptakan tipe variabel array yang diinginkan. int monthdays[]; 1

Walaupun deklarasi telah menetapkan bahwa monthdays adalah variabel array, namun belum ada array yang diciptakan. Nilai monthdays adalah kosong yang merepresentasikan array tanpa nilai. Untuk merangkai monthdays dengan array biangan bulat aktual dan fisik, kita harus melakukan alokasi dengan menggunakan operator new(). Operator new () merupakan operator khusus untuk mengalokasikan memori. Array-var = new() type[size] Contoh: monthdays = new() int[12]; Praktikum 2 Software yang dibutuhkan: 1. Eclips 2. JDK Silakan didownload sesuai dengan kebutuhan PC/ Laptop masingmasing Tujuan Praktikum: 1. Mahasiswa memahami tentang Array 1 dimensi dan multidemensi 2. Mahasiswa dapat mempraktikkan array dalam pemrograman java Tahapan praktikum: 1. Installkan JDK 2. Ekstrak Eclips 3. Klik aplikasi eclips 2 kali jika telah diesktrak 4. Buat Project Java Baru dengan Cara: Klik File > New > Java Project 5. Buat Package Baru dengan Cara: Klik File > New > Package Untuk nama package harus diawali dengan huruf kecil 6. Buat Kelas Baru dengan cara Klik File > New > Class Untuk nama Kelas Awalin dengan Huruf Kapital Tuliskan Koding di dalam area koding Praktikum 2.1 Array 1 Dimensi 1. Buat Project Java dengan Nama : NIM_Nama_Praktikum2 2. Buat Package baru dengan nama: praktikumarray 3. Buat Kelas baru dengan nama: Array1Dimensi 4. Ketikkan koding berikut pada area koding public class Array1Dimensi { public static void main (String [] args) { //Langkah 1: deklarasi variabel array int monthdays[]; 2

12 hari"); //Langkah 2: penciptaan array bilangan integer dengan elemen monthdays = new int [12]; monthdays[0]=31; monthdays[1]=29; monthdays[2]=31; monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; monthdays[6]=31; monthdays[7]=30; monthdays[8]=31; monthdays[9]=30; monthdays[10]=31; monthdays[11]=30; System.out.println ("Bulan April mempunyai "+monthdays[3] +" Simpan dan run, akan menghasilkan: Selain dengan cara di atas, array juga dapat diinisalisasi saat dideklarasikan, yaitu dengan coding sebagai berikut: public class Array1Dimensi { public static void main (String [] args) { int monthdays[] = {31,29,31,30,31,30,31,31,30,31,30,31; hari"); System.out.println("April mempunyai : " + monthdays[3] + " Setelah disimpan dan di run, program akan menghasilkan hasil yang sama 3. Array Multidimensi Array multidimensi adalah array dari array. 3

Contoh: Array dua dimensi bertipe int bernama intarr dideklarasikan dan diciptakan dengan perintah sebagai berikut: int int2darr [][] = new() int [4][5]; Perintah ini mendeklarasikan dan menciptakan array 4 kali 5 dan memberikan ke variabel int2darr. Secara internal, matriks ini diimplementasikan sebagai array dari array bertipe int. Praktikum 2.2 Array 2 Dimensi Penjelasan Program: Program berikut memberikan angka ke masing-masing elemen di array dari kiri ke kanan, puncak ke bawah kemudian menampilkan masing-masing elemennya. 1. Buat Kelas baru dengan nama: ArrayInt2D 2. Ketikkan koding berikut pada area koding public class ArrayInt2D { public static void main(string args[]) { int int2darr[][] = new int[4][5]; int k = 0; for (int i=0; i<4; i++) { for (int j=0; j<5; j++) { int2darr[i][j] = k++; for(int i=0; i<4; i++) { for (int j=0; j<5; j++) { System.out.print(int2DArr[i][j] + " "); System.out.println(); Hasil Program: 4

Praktikum 2.3 Mengalokasikan nilai array secara manual Penjelasan Program: Kelebihan alokasi masing-masing dimensi secara manual adalah kita bisa mengalokasikan jumlah elemen berbeda untuk masing-masing dimensi. 1. Buat Kelas baru dengan nama: ArrayManual2D 2. Ketikkan koding berikut pada area koding public class ArrayManual2D { public static void main(string[] args) { int int2dunequalarr[][] = new int[4][]; int2dunequalarr[0] = new int[1]; int2dunequalarr[1] = new int[2]; int2dunequalarr[2] = new int[3]; int2dunequalarr[3] = new int[4]; int k=0; Hasil Program: for (int i=0; i<4; i++) { for (int j=0; j<i+1; j++) { int2dunequalarr[i][j] = k++; for (int i=0; i<4; i++) { for (int j=0; j<i+1; j++) { System.out.print(int2DUnequalArr[i][j] + " "); System.out.println(); 5

Praktikum 2.4 Array 2 Dimensi yang berbeda Penjelasan Program: Program menciptakan array dua dimensi dimana ukuran dimensi kedua tidak sama. Kita dapat melakukan inisialisasi array multidimensi dengan mengapit masing-masing inisialisasi dimnesi dengan satu pasangan kurung kurawal 1. Buat Kelas baru dengan nama: ArrayDouble2D 2. Ketikkan koding berikut pada area koding public class ArrayDouble2D { public static void main(string args[]) { double adoublemat[][] = { { 0*0, 1*0, 2*0, 3*0, { 0*1, 1*1, 2*1, 3*1, { 0*2, 1*2, 2*2, 3*2, { 0*3, 1*3, 2*3, 3*3 ; for (int i=0; i<4; i++) { for (int j=0; j<4; j++) { System.out.print(aDoubleMat[i][j] + " "); System.out.println(); Hasil Program Praktikum 2.5 Array 3 Dimensi Penjelasan Program: Membuat dan menampilkan array 3 dimensi 1. Buat Kelas baru dengan nama: ArrayTigaD 2. Ketikkan koding berikut pada area koding 6

public class ArrayTigaD { private double width = 0; private double length = 0; private double height = 0; //membuat instance baru dari array 3D public ArrayTigaD() { public ArrayTigaD (double length, double width, double height) { this.width = width; this.length = length; this.height = height; public void setwidth(double width) { this.width = width; public void setlength(double length) { this.length = length; public void setheight(double height) { this.height = height; public double getwidth() { return width; public double getlength() { return length; public double getheight() { return height; public double calcarea() { return 2 * ((width * length) + (width * height) + (length * height)); public double calcvolume() { return width * length * height; public String tostring() { String str = "Balok " + "\n" + "Panjang : " + length + "\n" + "Lebar : " + width + "\n" + "Tinggi : " + height + "\n" + "Luas : " + calcarea() + "\n" + "Volume : " + calcvolume() + "\n"; 7

return str; static void test() { ArrayTigaD b = new ArrayTigaD (10,20,50); System.out.println(b); public static void main (String args[]) { test(); Hasil Program: Praktikum 2.6 Membuat Program Matriks Bujur Sangkar Penjelasan Program: Bujur sangkar adalah matriks nxn yang masing-masing elemen berisis bilangan bulat 1,2,3,...,n 2 yang muncul tepat sekali bahwa penjumlahan masing-masing kolom, baris dan diagonal adalah sama. Contoh: Bujur sangkar 5x5, dimana semua elemen di kolom, baris dan diagonal apalabila dijumlahkan adalah 65. 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 Cara: Untuk membentuk bujur sangkar nxn bahwa n adalah bilangan ganjil sebagai berikut: K=1 Tempatkan bilangan k di tengah pada baris puncak Kemudian berlaku ketentuan berikut: Setelah itu bilangan bulat k berikutnya ditempatkan, Bergeraklah ke satu baris dan satu kolom ke kanan untuk memenmaptkan bilangan bulat berikutnya (k+1) kecuali bila terjadi kondisi berikut: - Jika berada dibaris puncak kolom ke-j, pindah ke baris dasar dari kolom ke-j dan tempatkan k+1 8

- Jika pergerakan menjadi di sebelah kanan di bari ke-i tempaktakn k+1 dibaris ke-i di sisi kiri - Jika pergerakan ke tempat yang telah terisi atau diluar sudut kanan atas, tempatakan k+1 tepat di bawah k 1. Buat Kelas baru dengan nama: ArrayBujurSangkar 2. Ketikkan koding berikut pada area koding public class ArrayBujurSangkar { static final int ADJUST = 1; private int side; private int[][] square; private boolean fvalid = false; public ArrayBujurSangkar (int side) { if(side % 2 == 1) { this.fvalid = true; this.side = side; square = new int[side][side]; makemagic(); static void test01() { ArrayBujurSangkar t = new ArrayBujurSangkar(5); sah!"); if (t.isvalid()) t.printsquare(); else System.out.println("Nilai sisi yang dimasukan tidak System.out.println(""); static void test02() { ArrayBujurSangkar t = new ArrayBujurSangkar(5); sah!"); if (t.isvalid()) System.out.println(t); else System.out.println("Nilai sisi yang dimasukan tidak System.out.println(""); static void test03() { ArrayBujurSangkar t = new ArrayBujurSangkar(5); sah!"); if (t.isvalid()) t.printsquare(); else System.out.println("Nilai sisi yang dimasukan tidak System.out.println(""); public static void main(string args[]) { test01(); test02(); 9

test03(); public boolean isvalid() { return fvalid; private void makemagic() { int row = 1-ADJUST; int col = side/2; square[row][col] = 1; for (int k=2; k<=(side*side) ; k++) { int oldrow = row; int oldcol = col; row = row - 1; col = col + 1; if(row < 0) row = side-adjust; if(col>side-adjust) col = 1-ADJUST; if(square[row][col] == 0) square[row][col] = k; else { row = oldrow + 1; col = oldcol; square[row][col] = k; public void printsquare() { // for(int i=0; i<side; i++) { for(int j=0; j<side; j++) { // System.out.print(square[i][j]+"\t"); System.out.println(); public String tostring() { // String str = ""; for (int i=0; i<side; i++) { for (int j=0; j<side; j++) { str += square[i][j] + "\t"; str += "\n"; return str; Hasil Program: 10

Praktikum 2.7 Menulis program dua bilangan bulat sangat besar Penjelasan Program: Membuat program aritmatika untuk dua bilangan bulat sangat besar bahkan sampai 300 digit. Salah satu pendekatannya dengan memandang tiap bilangan sebagai satu list, masing-masing memiliki elemen-elemen satu blok bilangan digit. Contoh: 179.534.672.198 dismpan dengan blok: Blok [1]: 198 Blok [2]: 672 Blok [3]: 534 Blok [4]: 179 1. Buat Kelas baru dengan nama: ArrayIntegerBesar 2. Ketikkan koding berikut pada area koding public class ArrayIntegerBesar { private int[] digits; private int length = 0; private int modpercell = 1000; public ArrayIntegerBesar() { public ArrayIntegerBesar(int[] digits) throws Exception{ if(digits == null digits.length <1) throw (new Exception("Array harus berisi, tidak null")); if(digits[0] == 0) throw (new Exception("Digit pertama tidak boleh nol")); 11

setdigits(digits); length = digits.length; public ArrayIntegerBesar(int length) { this.length = length; digits = new int[length]; for(int i=0; i<length; i++) digits[1] = 0; public ArrayIntegerBesar(int length, int modpercell) { this.length = length; this.modpercell = modpercell; digits = new int[length]; for (int i=0; i<length; i++) digits[i] = 0; public int getlength() { return length; public ArrayIntegerBesar add(arrayintegerbesar a) { ArrayIntegerBesar t; int carry = 0; if(a.length > length) { t = new ArrayIntegerBesar(a.length+1); t.digits[0] = (this.digits[0] + a.digits[0]) % modpercell; carry = (this.digits[0] + a.digits[0]) / modpercell; for (int i=1; i<this.length; i++) { t.digits[i] = (this.digits[i] + a.digits[i] + carry) / modpercell; modpercell; modpercell; for (int i=this.length; i<a.length; i++) { t.digits[i] = (a.digits[i] + carry) % carry = (a.digits[i] + carry) / modpercell; t.digits[t.digits.length-1] = carry; else { t = new ArrayIntegerBesar(this.length+1); t.digits[0] = (this.digits[0] + a.digits[0]) % carry = (this.digits[0] + a.digits[0]) / modpercell; for(int i=1; i<a.length; i++) { t.digits[i] = (this.digits[i] + a.digits[i] + carry) % modpercell; carry = (this.digits[i] + a.digits[i] + carry) / modpercell; 12

modpercell; ; for (int i=a.length; i<this.length; i++) { t.digits[i] = (this.digits[i] + carry) % carry = (this.digits[i] + carry) / modpercell; if(t.digits[t.length-1] ==0) { ArrayIntegerBesar t2 = new ArrayIntegerBesar(t.length-1); for (int i = 0; i<t2.length; i++) t2.digits[i] = t.digits[i]; t = t2; return t; public void printdigits() { System.out.print(digits[digits.length-1]); if(digits.length>1) { for(int i= digits.length-2; i>=0; i--) { System.out.print("."); if(digits[i] == 0) System.out.print("000"); else if(digits[i]<10) System.out.print("00"); else if(digits[i]<100) System.out.print("0"); if(digits[i]!= 0) System.out.print(digits[i]); System.out.println(); public String tostring() { String str = ""; str += digits[digits.length-1]; if(digits.length > 1) { for(int i=digits.length-2; i>=0; i--) { str += "."; if(digits[i]==0) str += "000"; else if (digits[i]<10) str += "00"; else if (digits[i]<100) str += "0"; if (digits[i]!=0 ) str += digits[i]; return str; static void test01() throws Exception { int[] digitsa = {1; ArrayIntegerBesar a = new ArrayIntegerBesar(digitsA); System.out.println("a = " + a); int[] digitsb = {1,2; ArrayIntegerBesar b = new ArrayIntegerBesar(digitsB); System.out.println("b = " + b); int[] digitsc = {1,2,4,5,6,7,8,9,0; 13

ArrayIntegerBesar c = new ArrayIntegerBesar(digitsC); System.out.println("c = " + c); static void test02() throws Exception { int[] digitsa = {179, 534, 672, 198; ArrayIntegerBesar a = new ArrayIntegerBesar(digitsA); System.out.println("a = " + a); int[] digitsb = {1,0,0,0,0,0,0,0,0; ArrayIntegerBesar b = new ArrayIntegerBesar(digitsB); System.out.println("b = " + b); ArrayIntegerBesar c = a.add(b); System.out.println("A+B = " + c); static void test03() { try { ArrayIntegerBesar t = new ArrayIntegerBesar(null); catch (Exception e) { System.out.println(e); static void test() throws Exception { test01(); test02(); test03(); public static void main(string args[]) throws Exception { test(); private void setdigits(int[] digits) { this.digits = new int[digits.length]; for (int i=0; i<digits.length; i++) this.digits[i] = digits[digits.length-1-i]; Hasil Program: 14

4. 15