0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan8 halaman

PEMOGRAMAN

Pemograman dengan sorting atau pengurutan
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan8 halaman

PEMOGRAMAN

Pemograman dengan sorting atau pengurutan
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

LAPORAN PRAKTIKUM PEMROGRAMAN

PENGURUTAN (SORTING) dan PENCARIAN


(SEARCH)
Disusun Oleh : Feby Susanti

Kelas : XII TKJ 1

PROGRAM STUDI TEKNIK KOMPUTER JARINGAN

2019
1. Teori
1.1. Pengurutan/Sorting
 Sorting
Merupakan proses menyusun elemen-elemen dengan tata urut tertentu dan
proses tersebut terimplementasi dalam bermacam aplikasi.
 Sorting (pengurutan data), data diurutkan dari yang terkecil sampai yang
terbesar atau sebaliknya.
 Macam-macam algoritma sorting :
a. Bubble sort
b. Insertion sort
c. Selection Sort
d. Merge sort
e. Shell sort
f. Quick sort
g. Heap sort
h. Bucket sort

a. Bubble sort
Metode pengurutan dengan cara melakukan penukaran data
dengan tepat disebelahnya secara terus menerus sampai bisa
dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.
Jika tidak ada perubahan, maka data sudah terurut.
Contoh :

3 1 2 4

3 1 2 4
1 3 2 4
1 2 3 4
1 2 3 4

b. Insertion sort
Algoritma ini pada dasarnya memilah data yang akan diurutkan
menjadi dua bagian, yang belum diurutkan dan yang sudah
diurutkan, Elemen pertama diambil dari bagian array yang belum
diurutkan dan kemudian diletakan sesuai posisinya pada bagian
lain dari array yang telat diurutkan. Langkah ini dilakukan secara
berulang hingga tidak ada lagi elemen yang tersisa pada bagian
array yang belum diurutkan.
Contoh :

5 4 1 3 2
4 5 1 3 2

1 4 5 3 2

1 3 4 5 2

1 2 3 4 5

c. Selection sort
Memilih elemen dengan nilai paling rendah dan menukar
elemen yang terpilih dengan elemen ke-i. Nilai dari I dimulai dari
1 ke n, dengan n merupakan jumlah total elemen dikurangi 1.

Contoh:

4 2 0 3 5 1

0 4 2 3 5 1

0 1 4 2 3 5

0 1 2 4 3 5

0 1 2 3 4 5

d. Merge sort
Pengurutan dengan algoritma ini, membuat pengurutan dengan
membagi 2 dan menggabungkannya. Pertama,urutan atau elemen
data awal diurutkan dengan membaginya dengan 2 bagian
(divide). Setengahnya diurutkan dengan bebas (conquer).
Kemudian 2 bagian itu digabungkan dengan cara diurut sesuai
dengan urutan (combine).
1. Divide
Memilah elemen-elemen dari rangkaian data menjadi dua
bagian.
2. Conquer
Conquer setiap bagian dengan memanggil prosedur merge
sort secara rekursif
3. Kombinasi
Mengkombinasikan dua bagian tersebut secara rekursif untuk
mendapatkan rangkaian data berurutan.

Contoh :

6 4 3 1 2 5 8 7

6 4 3 1 2 5 8 7

6 4 3 1 2 5 8 7

4 6 1 3 2 5 7 8

1 3 4 6 2 5 7 8

1 2 3 4 5 6 7 8

1.2. Searching
Merupakan algoritma untuk menemukan atau mencari suatu data yang
ditentukan disuatu tempat, apakah sudah sesuai apa belum
a. Sequential search
Metode pencarian yang paling sederhana. Proses pencarian ini yaitu
dengan membandingkan setiap elemen larik satu persatu secara
beruntun, mulai dari elemen pertama sampai elemen yang dicari
ditemukan atau seluruh elemen sudah diperiksa.

Contoh :
Data : 20 25 35 79 80 90
Data yang di cari : 35
Iterasi Data Keterangan
0 20 25 35 79 80 90 Data awal
1 20 25 35 79 80 90 Belum cocok
2 20 25 35 79 80 90 Belum Cocok
3 20 25 35 79 80 90 Data ditemukan

b. Binary Search
Pencarian data dimulai dari pertnegahan data yang telah terurut.
Oleh karena itu, terdapat 3 kasus yang mungkin terjadi :
 Jika key < elemen tengah, maka hanya perlu mencari key
hanya untuk setengah bagian pertama dari array
 Jika key = elemen tengah, maka pencarian langsung
berakhir atau target langsung ditemukan.
 Jika key > elemen tengah, maka hanya perlu melanjutkan
pencarian untuk key hanya untuk setengah bagian kedua dari
array
Kekurangan :
Harus melakukan pngurutan data terlebih dahulu sebelum
melakukan pencarian. Seperti menggunakan algoritma
bubble sort, selection sort, insertion sort.

Contoh :
(Pencarian blangan 27)

Key = 27

 Key < 30

bawah tengah atas


Indeks (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14)
List 4 7 11 15 16 22 27 30 33 38 44 55 63 77 82

 Key > 15

bawah Tengah atas


Indeks (0) (1) (2) (3) (4) (5) (6) (7)
List 4 7 11 15 16 22 27 30
 Key > 22
Bawah
Indeks (3) (4) (5) (6) (7)
List 15 16 22 27 30

 Key == 27

Indeks (5) (6) (7)


List 22 27 30

2. Praktikum
a) Program
[Link] sort
int a [] = {23,45,17,100,85},temp;
//menampilkan nilai data yang belum diorting
[Link]("Nilai sebelum sorting :");
for (int b=0;b<5;b++)
{[Link] (a[b]+" ");}
for (int b=4;b>0;b--)
{for (int x=0;x<b;x++)
{if (a[x]>a[x+1])
{temp=a[x];
a[x]=a[x+1];
a[x+1]=temp;}
}}

//menampilkan nilai data yang sudah disorting


[Link]("\n\nNilai setelah sorting :");
for(int b=0;b<5;b++)
{[Link](a[b] +",");}

[Link] Search
int[]data = {3,8,15,20,25,35,79,80,90};
int cari = 8;
int x = 0;
boolean ditemukan = false;

for(x=0;x< [Link];x++){
if(data[x] == cari){
ditemukan=true;
break;
}
}
if (ditemukan){
[Link]("Data" + cari + " Ditemukan Pada index
ke-" +x+ ".");
}
else{
[Link]("Data Tidak ditemukan");
}

b) Penjelasan Program
1. Bubble Sort
Metode pengurutan data dengan cara melakukan penukaran data dengan
tepat disebelahnya hingga data tersebut sudah berurutan dan tidak dapat
diubah lagi.

Pada program diaatas terdapat nilai A(23,45,17,100,85), program ini akan


mengurutkn data tersebut dari 17 hingga data tersebut tersusun dari yang
kecil hingga terbesar.

2. Sequential Search
Metode pencarian dengan membandingkan setiap elemen satu persatu
secara beruntun, mulai dari yang pertama hingga elemen yang dicari
ditemukan

Pada program diatas dimasukan data (3,8,15,20,25,35,79,80,90), data


tersebut diurutkan dari indeks 0,1,2,3,4,5,6,7,8. Program mencari nilai 8
yang beraa diindeks ke berapa, lalu program mulai mencari data dengan
membandingkan nilai setiap elemen, program akan berhenti ketika
bertemu nilai 8.

3. Hasil
[Link] sort

[Link] Search

4. Kesimpulan
Pada program JAVA, terdapat program sort (pengurutan) dan search (pencarian).
sort (pengurutan) berfungsi untuk mengurutkan data hingga data tersebut tersusun.
Sort itu terdiri dari Bubble sort, Insertion sort, Selection Sort, Merge sort.
Search (pencarian) yang berfungsi untuk mencari suatu data hingga data tersebut
dapat ditemukan. Search terdiri dari sequential search dan binary search. Sequential
search lebih sederhana dalam pengerjaannya daripada binary search.

Anda mungkin juga menyukai