laporan asd 1

14
LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-1 REVIEW STRUKTUR DASAR JAVA & LIST LINEAR (ARRAY) Dosen : Yufis Azhar S.Kom DISUSUN OLEH: Faridho Fajar Rozaqi 201410370311252 Kelas 3F LABORATORIUM PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015

Upload: faridho-fajar

Post on 04-Jan-2016

29 views

Category:

Documents


9 download

DESCRIPTION

laporan modul 1

TRANSCRIPT

Page 1: Laporan Asd 1

LAPORANPRAKTIKUM ALGORITMA DAN STRUKTUR DATA

MODUL KE-1REVIEW STRUKTUR DASAR JAVA

& LIST LINEAR (ARRAY)

Dosen :Yufis Azhar S.Kom

DISUSUN OLEH:Faridho Fajar Rozaqi201410370311252

Kelas 3F

LABORATORIUMPROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIKUNIVERSITAS MUHAMMADIYAH MALANG

2015

Page 2: Laporan Asd 1

A. Tujuan Mahasiswa mampu : 1. Memahami dan mengingat kembali struktur perintah pada pemrograman java. 2. Memahami tentang struktur data array 3. Mengimplementasikan struktur data array untuk penyelesaian kasus 4. Memahami tentang array multidimensi dan resizing array

B. Alat yang digunakan Peralatan yang digunakan : 1. Perangkat PC yang terinstall Java 2. Editor Java

C. Prosedur Pelaksanaan Prosedur pelaksanaan praktikum adalah sebagai berikut :

1. Mahasiswa mencoba latihan yang ada pada modul praktikum 2. Mahasiswa menganalisa hasil dari program pada latihan yang telah dijalankan 3. Mahasiswa mengerjakan tugas yang diberikan 4. Mahasiswa mendemonstrasikan program yang telah dikerjakan pada

dosen/assisten 5. Mahasiswa membuat laporan dari tugas yang telah dikerjakan

D. Latihan

1.

Tugas :

a. Ketikkan kode diatas lalu Run.b. Tambahkan 1 nilai lagi yaitu array dengan indeks ke-5 tanpa harus

menambahkan panjang array lalu Run.c. Jika error analisa apa penyebab errornya.d. Cobalah cari solusinya dengan menggunakan metode resize array !

Contoh Resize array:

Page 3: Laporan Asd 1

2.

Tugas :

a. Ketikkan kode diatas lalu Run.b. Tambahkan 1 nama lagi lalu Run.c. Analisad. Kenapa kita bisa menambahkan lagi tanpa error seperti latihan 1?

3.

Tugas :

a. Ketikkan kode diatas lalu Run.b. Inputkan sesuai pilihan yang disediakanc. Analisad. Perhatikan baris ke 32, kenapa variabel yang di panggil kata[pilihan-1][1] ?

Page 4: Laporan Asd 1

4.

Tugas :

a. Ketikkan kode diatas lalu Run. b. Analisab. Perhatikan baris ke 21, Mengapa menghasilkan value false ?c. Perhatikan baris ke 28, Mengapa menghasilkan angka -1 ?d. Kenapa isi akhir dari larik berbeda dari wang awal ?

5. Method isEmpty()

/** @return true iff list is empty */public boolean isEmpty(){return size == 0;}

6. Method size()

/** @return current number of elements in list */public int size(){return size;}

7. Method checkIndex(int index)

/** @throws IndexOutOfBoundsException when* index is not between 0 and size - 1 */void checkIndex(int index){if (index < 0 || index >= size)throw new IndexOutOfBoundsException("index = " + index + " size = " + size);}

Page 5: Laporan Asd 1

8. Method get(int index)

/** @return element with specified index* @throws IndexOutOfBoundsException when* index is not between 0 and size - 1 */public Object get(int index){checkIndex(index);return element[index];}

9. Method indexOf(Object the Element)

/** @return index of first occurrence of theElement,* return -1 if theElement not in list */public int indexOf(Object theElement){// search element[] for theElement for (int i = 0; i < size; i++)if (element[i].equals(theElement))return i;

// theElement not found return -1;}

10. Method remove(int index)

/** Remove the element with specified index.* All elements with higher index have their* index reduced by 1.* @throws IndexOutOfBoundsException when* index is not between 0 and size - 1* @return removed element */public Object remove(int index){checkIndex(index);

Page 6: Laporan Asd 1

// valid index, shift elements with higher indexObject removedElement = element[index];for (int i = index + 1; i < size; i++)element[i-1] = element[i];

element[--size] = null; // enable garbage collection return removedElement;

}

11. Method add(int index, Object theElement)

public void add(int index, Object obj){if (index < 0 || index > size)// invalid list positionthrow new IndexOutOfBoundsException("index = " + index + " size = " + size);

// valid index, make sure we have space if (size == element.length){ // no space, double capacityObject [] newArr = new Object[2*size]; System.arraycopy(element, 0,newArr,0,size); element = newArr;}// shift elements right one position for (int i = size - 1; i >= index; i--)element[i + 1] = element[i];element[index] = obj;size++;

}

Page 7: Laporan Asd 1

E. Tugas Praktikum1. Modifikasi program latihan ke 3. Buatlah sebuah kamus sinonim, yaitu terdiri dari

kata dasar dan kata-kata yang memiliki makna yang sama dengan kata dasar tersebut.Contoh :

Kata dasar : sekolahSinonim : kampus, madrasah, maktab, pondok pesantren, pendidikan. Petunjuk :• Gunakan array multi-dimensi.• Minimal kata yang disimpan 5 kata dasar. Sedangkan panjang sinonim tidak

tentu menyesuaikan kata dasarnya.• untuk mengetahui sinonim dari kata tertentu dapat menggunakan

bantuan thesaurus/kamus paduan kata.• Kata dasar tidak ikut ditambahkan pada output sinonimnya.

2. Buatlah program seperti kontak telepon, berikut spesifikasinya (menggunakan ArrayList).• Jumlah kontak telepon bisa ditambahkan berapapun jumlahnya.• Isi tiap kontak telepon berupa nama, nomor telp, alamat.• Setiap kontak telepon bisa ditambahkan lebih dari satu nomor telp.• Setiap kontak telepon bisa ditambahkan lebih dari satu alamat.

F. Hasil Praktikum1. Kamus Sinonim

Source Codepackage DemoModul1ASD;

import java.util.Scanner;import java.util.ArrayList;

public class KamusSinonim { private static Object pilihan; public static void main(String[]Ridho){

ArrayList coba=new ArrayList(); int pilihan; String [][] kata = {{"Rajin","Giat,", "Sungguh-sungguh,", "Tekun," , "Getol," , "Betah."}, {"Rumah,","Bangunan,", "gedung,", "Balai,","Griya,","Graha,","Wisma"}, {"Hewan","Binatang,","Fauna,","Satwa,","Dabat,","Sato"},

Page 8: Laporan Asd 1

{"Pandai","Ahli,","Pintar,","Berakal,","Berpengalaman,","Berpengetahuan,","Kompeten,","Tahu,","Cerdas,","Genius"}, {"Murah,","Banyak,","Berlebih-lebih,","Ekonomis,","Gampang,","Melimpah,","Mudah"}};

do{ for (int i = 0;i<kata.length;i++){ System.out.println("" + (i+1)+","+kata[i][0]); } Scanner scan = new Scanner(System.in); System.out.print("Masukkan Pilihan : "); int Pilihan = scan.nextInt(); System.out.print("Sinonimnya Adalah : "); for (int n = 0;n<kata[Pilihan-1].length-1;n++){ System.out.print(""+kata[Pilihan-1][1+n] +" "); } System.out.println(""); System.out.println("Apakah anda ingin mengulang : \n1. Yes \n2. No"); System.out.println("Masukkan Pilihan : "); pilihan = scan.nextInt(); }while(pilihan==1); }}

ScreenShot Hasil Program Kamus Sinonim

Page 9: Laporan Asd 1

2. Kontak TelphoneSource Code Program

package DemoModul1ASD;

import java.util.ArrayList;import java.util.Scanner;

public class KontakTelphone { public static void main(String[]args){ ArrayList kontak = new ArrayList(); String nama, No_Kontak,alamat, Pilihan; int JmlhTelp, JmlhAlamat; Scanner scan = new Scanner(System.in); do{ System.out.print("Masukkan Nama : "); nama = scan.next(); kontak.add(nama); System.out.print("Masukkan Banyak Kontak : "); JmlhTelp = scan.nextInt(); for(int i=0;i<JmlhTelp;i++) { System.out.print("Nomor Kontak Ke "+(i+1)+" : "); No_Kontak = scan.next(); kontak.add(No_Kontak); } System.out.print("Masukkan banyak alamat : "); JmlhAlamat = scan.nextInt(); for(int j=0;j<JmlhAlamat;j++){ System.out.print("Alamat ke "+(j+1)+" : "); alamat = scan.next(); kontak.add(alamat); } System.out.println("Hasil : "); System.out.println("Nama : "+nama); for(int k=0;k<JmlhTelp;k++){ System.out.println("Kontak ke-"+(k+1)+" : "+kontak.get(k+1));//k+1 agar nama tidak dimunculkan di kontak } for(int a=0;a<JmlhAlamat;a++){ System.out.println("Alamat ke-"+(a+1)+" : "+kontak.get(JmlhTelp+a+1)); } System.out.println("Apakah ingin menambah : \n1. Yes \n2. No"); System.out.println("Masukkan Pilihan : "); Pilihan=scan.next(); }while(Pilihan.equals("1")); } }

ScreenShot Hasil Program Kontak Telphone

Page 10: Laporan Asd 1

KESIMPULAN Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan

dinyatakan dengan nama yang sama. dimana masing-masing elemen variabel mempunyai

nilai indeks. Array dibagi menjadi dua yaitu Array satu dimensi dan multi dimensi, Array

satu dimensi adalah kumpulan elemen yang tersusun dalam suatu baris. Sedangkan Array

Page 11: Laporan Asd 1

Multidimensi merupakan sebuah perluasan dari sebuah array satu dimensi. Jika pada array

satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka pada

array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertype

sama.

Dalam JAVA juga terdapat istilah yang dikenal dengan nama array resizing, yang

dimaksud disini adalah array yang tidak dapat di-resize. Tapi,bisa dideklarasi ulang dengan

menggunakan referensi yang sama. misalnya

int[] myArray = new int[6];

myArray = new int[10];//di resize dari 6 menjadi 10 kolom