Struktur
data dengan java
Pengertian
Struktur data
l Struktur
data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar
bisa dipakai secara efisien,
l Sedangkan
data adalah representasi dari fakta dunianyata.
l Fakta
atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan
dalam bentuk tulisan, suara, gambar, sinyal atau symbol.
Untuk pemakaian struktur data yang
tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas
dan tepat,sehingga menjadikan program secara keseluruhan lebih efisien dan
sederhana. Struktur data yang
standar yang biasanya digunakan
dibidang informatika adalah :List linier (Linked List) dan variasinya, MultilistStack (Tumpukan), Queue (Antrian), Tree
( Pohon ), Graph ( Graf ).
Contoh program biner:
import java.util.Scanner;
public
class program_mencari_data_secara_biner
{
public static int N=0;
public static void memasukkan_data(String
nama[], String alamat[], int umur[], char jeniskelamin[])
{
//+++ variabel-variabel ini digunakan
untuk menerima masukan dari keyboard +++
Scanner masukan = new Scanner(System.in); //digunakan untuk masukan Teks dan Angka
int
masukanASCII = 0; //digunakan
untuk masukan Karakter
System.out.print ("tentukan banyaknya
data = ");
N = masukan.nextInt();
for (int i=0; i<=N-1; i++)
{
System.out.println ("");
System.out.println("DATA KE -
" + i);
//+++ memasukkan data teks (bertipe
data string) +++
System.out.print("Silakan masukkan
nama anda = ");
nama[i]
= masukan.next(); //menerima
masukan berbentuk Teks & menyimpan dalam variabel
//+++ memasukkan data teks (bertipe
data string) +++
System.out.print("Silakan masukkan
alamat anda = ");
alamat[i] = masukan.next(); //menerima masukan berbentuk Teks &
menyimpan dalam variabel
//+++ memasukkan data angka (bertipe
data integer) +++
System.out.print("Silakan masukkan
umur anda = ");
umur[i] = masukan.nextInt(); //menerima masukan berbentuk Angka & menyimpan dalam variabel
//+++ memasukkan data karakter (bertipe
data char) +++
System.out.print("Silakan masukkan
jenis kelamin anda = ");
try { masukanASCII = System.in.read(); //menerima masukan berbentuk ASCII
}
catch(java.io.IOException e)
{
}
jeniskelamin[i] = (char) masukanASCII; //mengkonversi ASCII ke CHAR &
menyimpan dalam variabel
}
}
public static void menampilkan_data(String
nama[], String alamat[], int umur[], char jeniskelamin[])
{
System.out.println("------------------------------------------");
System.out.println("No Nama
Alamat Umur JenisKelamin");
System.out.println("------------------------------------------");
for (int i=0; i<= N-1; i++)
{ System.out.println(i
+ "\t" + nama[i] + "\t" + alamat[i] + "\t" + umur[i] + "\t" +jeniskelamin[i]);
}
System.out.println("------------------------------------------");
}
public static void mencari_data_biner (String
nama[], String alamat[], int umur[], char jeniskelamin[])
{ Scanner
masukan = new Scanner(System.in);
String NAMACARI;
boolean ketemu=false;
int posisi=0;
System.out.print("silakan masukkan
nama yang anda cari : ");
NAMACARI = masukan.next();
int atas,bawah,tengah;
atas = 0;
bawah = N -1;
tengah = (atas + bawah) / 2;
while ((ketemu == false) &&
(bawah-atas!=1))
{ System.out.println(nama[tengah]+"
<---> " + NAMACARI );
if
(NAMACARI.compareTo(nama[tengah]) < 0) //(NAMACARI < NAMA[tengah])
{ bawah
= tengah;
tengah = (atas + bawah) / 2;
}
else if
(NAMACARI.compareTo(nama[tengah]) > 0)
//(NAMACARI > NAMA[tengah])
{ atas
= tengah;
tengah = (atas + bawah) / 2;
}
else
{ ketemu
= true;
posisi = tengah;
}
}
System.out.println(ketemu);
if (ketemu==true)
System.out.println("data ketemu di posisi ke " + posisi);
else System.out.println("maap mas,
data yg anda cari nggak ada");
}
//PROGRAM UTAMA
public static void main (String[] args)
{
String nama[] = {"ani","budi","cepir","deny","eko","feri","gunari","helena"
,"iwake","jesica","karlin","lina","maria","ninuk","ody","parmin"
,"qetrin","ririn","susi","tugiran"};
String alamat[] = {"ambarawa","bandung","cilicap","demak","ende","fekalongan","gombong","halmahera"
,"irian","jombang","kartosuro","lampung","majalengka","ngawi","oooo","palembang"
,"qqqqq","rembang","solo","tangerang"};
int
umur[] =
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
char
jeniskelamin[] =
{'P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','P'};
N = 20;
//memasukkan_data(nama, alamat, umur,
jeniskelamin);
menampilkan_data(nama, alamat, umur,
jeniskelamin);
mencari_data_biner(nama, alamat, umur,
jeniskelamin);
}
}
Metode Linear Search
Metode Linear Search dilakukan
dengan membaca data mulai dari urutan indeks ke-0 hingga ke-(N-1). Pada
masing-masing pembacaan data akan dilakukan proses pembandingan antara data
yang sedang dibaca dengan kunci pencarian. Jika data yang dibawa sama dengan
kunci pencarian, maka proses pencarian akan dihentikan dan posisi data tersebut
akan dicatat, untuk selanjutnya diinformasikan kepada user bahwa data yang
dicari ditemukan pada posisi ke-indeks
Tidak ada komentar:
Posting Komentar