Anda di halaman 1dari 15

LAPORAN PRAKTIKUM

STRUKTUR DATA
MODUL 1 dan 2

NUR AYU SAFITRI


115610075
SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN
KOMPUTER

AKAKOM

YOGYAKARTA
2012

TIPE DATA
I. PEMBAHASAN
Setiap bahasa pemrograman memiliki tipe data yang
spesifik. Tipe data akan digunakan untuk mendeklarasikan variabel

yang digunakan. Tipe data dapat digunakan ubtuk menentukan


bentuk data yang dapat ditampung oleh sebuah variabel.
Java memiliki 8 tipe data primitive (atau tipe data bawaan
dari java), meliputi 4 tipe bilangan bulat (byte, short, int, long), dan
2 tipe untuk bilangan mengambang (float, double) sisanya untuk
karakter (char) dan boolean (true, false) yang masing-masing
memiliki jangkauan berbeda. Pada praktikum ini kita dapat
membedakan masing-masing tipe data yang digunakan yaitu
sebagai berikut :
Praktikum 1
public class pembagian {
public static void main (String[] args) {
int banyaknyaApel = 5;
int jumlahAnak = 2;
int perolehan;
perolehan = banyaknyaApel / jumlahAnak;
System.out.println("Masing2 mendapat = "+ perolehan);
}
}
Hasil eksekusi :

Berapa hasil yang diperoleh sewaktu program tersebut dieksekusi? Apakah


hasilnya 2,5? Mengapa demikian? Lalu benarkah hasilnya?
Pada saat melakukan eksekusi pada program ini hasil yang didapat adalah 2 bukan 2,5,
karena didalam program tersebut tipe data yang digunakan adalah integer dimana tipe
data integer hanya bisa menghasilkan bilangan bulat saja, yang benar adalah dalam
program pembagian ini tipe data yang kita gunakan adalah float dimana float dapat
menghasilkan bilangan decimal.
public class pembagian {
public static void main (String[] args) {
float banyaknyaApel = 5;
float jumlahAnak = 2;
float perolehan;
perolehan = banyaknyaApel / jumlahAnak;
System.out.println("Masing2 mendapat = "+ perolehan);
}
}

Hasil eksekusi perbaikan:

Praktikum 2 :
public class Variabel {
static int a;
public static void main (String [] args) {
int x;
x =10;
a =2;
System.out.println("Nilai a : "+ a);
{
int y;
y = 5;
System.out.println("Nilai x : "+ x);
System.out.println("Nilai a : "+ a);
{
int z;
z = 20;
System.out.println("Nilai x + y + z + a : "+ (x +
z + a));
}
System.out.println("Nilai z : "+ z);
System.out.println("Nilai y : "+ y);
}
System.out.println("Nilai z : "+ z);
System.out.println("Nilai y : "+ y);
System.out.println("Nilai x : "+ x);
}

}
Hasil eksekusi :

y+

Terdapat 3 error karena :


Karena
System.out.println("Nilai z : "+ z); masuk

dalam komponen y
Karena System.out.println("Nilai z : "+ z);
System.out.println("Nilai y : "+ y);
Masuk dalam komponen x.

Setelah data pada line 17, 20, dan 21 dihapus maka program tersebut jalan
public class Variabel {
static int a;
public static void main (String [] args) {
int x;
x =10;
a =2;
System.out.println("Nilai a : "+ a);
{
int y;
y = 5;
System.out.println("Nilai x : "+ x);
System.out.println("Nilai a : "+ a);
{
int z;
z = 20;
System.out.println("Nilai x + y + z + a :"+ (x + y + z
+ a));
}
//System.out.println("Nilai z : "+ z);
System.out.println("Nilai y : "+ y);
}
//System.out.println("Nilai z : "+ z);
//System.out.println("Nilai y : "+ y);
System.out.println("Nilai x : "+ x);
}
}
Hasil eksekusi perbaikan:

PRAKTIKUM 3
public class contohString {
public static void main (String [] args) {

System.out.println("STMIK\nAkakom");
System.out.println("STMIK\tAkakom");
System.out.println("\"Halo\"");
}
}
Hasil eksekusi :

Pada saat menuliskan perintah:


System.out.println("STMIK\nAkakom"); perintah \n membuat
linefeed pada kalimat STMIK , dimana kata AKAKOM turun kebawah
sedangkan STMIK tetap diatas.
System.out.println("STMIK\tAkakom"); perintah \t pada kalimat
STMIK AKAKOM membuat terjadinya Tab pada kalimat tersebut.
System.out.println("\"Halo\""); perintah \ membuat petik
pada kata Halo.
PRAKTIKUM 4
public class cobaKalimat {
public static void main (String [] args) {
char coba="HAI";
System.out.println(coba);
}
}
Hasil Eksekusi :

Terjadi error pada program tersebut, karena tipe data yang digunakan adalah char dimana
hanya bisa digunakan untuk 1 karakter saja, dan kita harus menggunakan tipe data string
karena kata HAI lebih dari 1 karakter, karena tipe data string bukan tipe data primitif
tetapi sudah merupakan sebuah objek.
public class cobaKalimat {
public static void main (String [] args) {
String coba="HAI";

System.out.println(coba);
}

Hasil eksekusi pembenaran :

II. LATIHAN
INPUT
import java.util.Scanner;
public class Latihan1 {
public static void main (String [] args){
Scanner objek = new Scanner (System.in);
String a = "";
String b = "AKAKOM";
System.out.print ( "Masukkan Password anda : " );
a = objek.nextLine();
if (a.equals(b)){
System.out.println(" Password Anda Benar");
}else
System.out.println(" Password Anda Salah");
}
}

HASIL

III. KESIMPULAN
Pada praktikum pertemuan pertama ini dapat disimpulkan bahwa
mahasiswa/i dapat menggunakan berbagai macam bentuk tipe data sesuai
dengan program yang ingin dibuat, dan Java memiliki 8 tipe data

primitive (atau tipe data bawaan dari java), meliputi 4 tipe bilangan
bulat (byte, short, int, long), dan 2 tipe untuk bilangan mengambang
(float, double) sisanya untuk karakter (char) dan boolean (true,
false). Dimana untuk menghasilkan bilangan desimal dapat
menggunakna tipe data Integer, untuk membuat kalimat/kata yang
lebih dari satu karakter menggunakan String, dan saat data lebih
dari 10 digit dapat menggunakan tipe data Long.

PRAKTIKUM KE-2
SORTING DAN SEARCHING
I. PEMBAHASAN
Sorting (pengurutan)
Sorting (pengurutan) Merupakan konsep/algoritma yang sering digunakan,
sorting dapat dibuat dengan dua model Ascending (data yang tekecil ke data yang
terbesar) dan Descending (data yang terbesar ke data yang terkecil). Ada beberapa
metode sorting :
1. Bubble Sort
2. Insertion Sort
3. Selection Sort
4. Quick Sort
Searching (Pencarian)
Searching (pencarian) adalah suatu metode pencarian sebuah data dalam
sekumpulan besar data. Ada beberapa metode pencarian data :
1. Pencarian Linear (Linear Search)
2. Pencarian Biner (Biner Search)
Pelaksanaan Praktikum 1
public class BubbleSort {
public static void tampilkanData (String nama[], int
indeksTerakhir)
{
for (int i=0; i<= indeksTerakhir; i++)
System.out.println(nama[i]);

}
public static void urutkanBubble(String nama[], int
indeksTerakhir)
{
String sementara= "";
for (int j=0; j<= indeksTerakhir - 1; j++)
{
for (int i=0; i<= indeksTerakhir-1-j;i++)
{
//perintah dibawah ini identik dengan
//--> if (nama[i]>nama[i+1])
if (nama[i].compareTo(nama[i+1]) > 0)
{
sementara = nama[i];
nama[i]
= nama[i+1];
nama[i+1] = sementara;
}

}
}
public static void main (String args[])
{
String
nama[]
={"gina","cici","beni","heru","dedi","eko","feri","janu","
abud","iwan"};
int indeksTerakhir = nama.length-1;
System.out.println("Data sebelum diurutkan : ");
tampilkanData(nama, indeksTerakhir);
urutkanBubble(nama, indeksTerakhir);
System.out.println("");

System.out.println("Data setelah diurutkan : ");


tampilkanData(nama, indeksTerakhir);

Saat program diatas dieksekusi yang terjadi adalah perbedaan antara data
sebelum diurutkan dimana nama-nama yang ada tersusun acak dan sesudah
diurutkan dimana data tersebut diurutkan menurut abjad secara ascending.

for (int i=0; i<= indeksTerakhir; i++)


System.out.println(nama[i]);

Scrip diatas adalah untuk melakukan looping pada data nama

sementara = nama[i];
Berfungsi untuk menampung pertukaran data

int indeksTerakhir = nama.length-1;

int indeksTerakhir -> Untuk mengetahui banyaknya data


nama.length-1;
-> Untuk mengetahui isi array

Hasil Eksekusi :

Scrip Program saat menambahkan umur dan jenis kelamin dan mengurutkannya sesuai
nama :
public class BubbleSort {
public static void tampilkanData (String nama[],
indeksTerakhir)
{
for (int i=0; i<= indeksTerakhir; i++)
System.out.println(nama[i]);
}
public
static
void
urutkanBubble(String
nama[],
indeksTerakhir)
{
String sementara= "";
for (int j=0; j<= indeksTerakhir - 1; j++)
{
for (int i=0; i<= indeksTerakhir-1-j;i++)
{
//perintah dibawah ini identik dengan
//--> if (nama[i]>nama[i+1])
if (nama[i].compareTo(nama[i+1]) > 0)
{
sementara = nama[i];
nama[i]
= nama[i+1];
nama[i+1] = sementara;
}

}
}
public static void main (String args[])

int

int

{
String nama[] ={"gina 19 W","cici 20 W","beni
L","heru 20 L","dedi 20 L","eko 19 L",
"feri 21 L","janu 23 L","abud 19 L","iwan 20 L"};
int indeksTerakhir = nama.length-1;

22

System.out.println("Data sebelum diurutkan : ");


tampilkanData(nama, indeksTerakhir);
urutkanBubble(nama, indeksTerakhir);
System.out.println("");

System.out.println("Data setelah diurutkan : ");


tampilkanData(nama, indeksTerakhir);

}
Hasil eksekusi

Pelaksanaan Praktikum 3
import java.util.Scanner;
class larik
{
public static void tampilkanData(String nama[],int
indeksTerakhir)
{
for (int i = 0; i <= indeksTerakhir; i++)
System.out.println(i +"."+nama[i]);
}
public static void cariBiner(String nama[],int
indeksTerakhir)
{
String namaCari="";
boolean ketemu =false;
int posisi=0;

Scanner masukan = new Scanner(System.in);


System.out.print("silakan masukkan nama yang anda
cari : ");
namaCari = masukan.nextLine();
int atas,bawah,tengah;
atas = 0;
bawah = indeksTerakhir+1;
while ((ketemu == false) && (atas <= bawah-1))
{
tengah = (atas + bawah) / 2;
if (namaCari.compareTo(nama[tengah]) >
0) //(NAMACARI <NAMA[TENGAH])
bawah = tengah;
else if(namaCari.compareTo(nama[tengah]) >
0) //(NAMACARI > NAMA[TENGAH])
atas = tengah;
else
{
ketemu = true;
posisi = tengah;
}
}
if (ketemu==true)
System.out.println("data ketemu di posisi
ke " + posisi);
else
System.out.println("map mas, data yg anda
cari nggak ada ");
}
public static void main(String args[])
{
String nama[] =
{"abud","bambang","cecep","dedi","eko","feri",
"gunawan","hasan","iwan","jumeno","karti","lina","murni"};
int indeksTerakhir = nama.length -1;
System.out.println("Data yang ada :");
tampilkanData(nama,indeksTerakhir);
System.out.println("");
cariBiner(nama, indeksTerakhir);
}
Hasil Eksekusi

Jika kita mencari nama sudin akan tampil sebagai berikut:

Saat kita mengeksekusi program diatas maka program meminta kita untuk memasukan
salah satu nama yang ingin kita cari, setelah kita memasukan nama tersebut program
memproses data yang dicari jika data yang kita cari ada maka program akan menghasilkan
output dari hasil data yang kita cari, jika data yang kita cari tidak ada maka program akan
menyampaikan pesan("maap mas,data yang anda cari nggak ada"),yang
berarti data yang kita cari tidak tersedia dalam progranm tersebut.
Pada pencarian biner ini adalah pencarian terhadap data yang sudah terurut. Data kunci
dibandingkan dengan data tengah (data vivot), jika sama maka berarti pencarian ditemukan. Jika
data kunci lebih besar dari data tengah maka pencarian akan dilakukan disebelah kanan data
tengah (data diurutkan secara Ascending) Jika belum ditemukan maka data pada sisi pencarian
akan dibagi dua kembali, dibandingkan lagi.

II. LATIHAN

III. TUGAS
Terlampir

IV. Listing
Terlampir

V. KESIMPULAN
Pada praktik pertemuan kedua ini dapat disimpulkan bahwa, mahasiswa/i dapat
membuat program sorting(pengurutan) dan searching(pencarian), dimana pengurutan
data tersebut dapat berupa ascending maupun descending, adapun metode-metode
sorting yaitu dapat berupa Bubble Sort, Insertion Sort, Selection Sort, dan Quick Sort
. Sedangkan metode-metode searching dapat berupa Pencarian Linier dan pencarian
Biner.

Anda mungkin juga menyukai