Anda di halaman 1dari 11

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

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:

2.

Tugas :
a.
b.
c.
d.

Ketikkan kode diatas lalu Run.


Tambahkan 1 nama lagi lalu Run.
Analisa
Kenapa kita bisa menambahkan lagi tanpa error seperti latihan 1?

3.

Tugas :
a.
b.
c.
d.

Ketikkan kode diatas lalu Run.


Inputkan sesuai pilihan yang disediakan
Analisa
Perhatikan baris ke 32, kenapa variabel yang di panggil
kata[pilihan-1][1] ?

4.
Tugas :
a. Ketikkan kode diatas lalu Run. b. Analisa
b. 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);
}

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);
// valid index, shift

elements with higher


index
Object 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 position
throw new
IndexOutOfBoundsException
("index = " + index + " size = " +
size);

// valid index, make sure we have


space if (size == element.length)
{ // no space, double capacity
Object [] 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++;

E. Tugas Praktikum
1. 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 : sekolah
Sinonim : 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 Praktikum
1. Kamus Sinonim
Source Code
package 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"},

{"Pandai","Ahli,","Pintar,","Berakal,","Berpengalaman,","Berpengetahuan,","Kompeten,","Ta
hu,","Cerdas,","Genius"},
{"Murah,","Banyak,","Berlebihlebih,","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

2. Kontak Telphone
Source 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

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

Anda mungkin juga menyukai