LAPORAN PRAKTIKUM
Sorting (Selection Sort & Insertion Sort )
DISUSUN OLEH :
Mitha Zalina Ramadhany NIM : 6304221424
DOSEN PENGAMPU : Lidya Wati M.Kom NIP : 198908222014042001
Matkul :
Struktur Data dan Algoritma Lanjut
POLITEKNIK NEGERI BENGKALIS JURUSAN TEKNIK INFORMATIKA
REKAYASA PERANGKAT LUNAK
2023/2024
1. Selection Sort Secara Manual
Memilih lalu mengurutkan “22, 2, 90, 25, 20, 30, 6, 3” berdasarkan DESCENDING
2. Insertion Sort Secara Manual
Menambah lalu mengurutkan “7, 3, 9, 2, 12, 10, 1, 5” berdasarkan
DESCENDING
3. Selection Sort Secara Manual
Memilih lalu mengurutkan “saya suka situ sebab situ suka saya”
berdasarkan ASCENDING
4. Insertion Sort Secara Manual
Menambah lalu mengurutkan “saya suka situ sebab situ suka saya”
berdasarkan DESCENDING
1. Percobaan 2 : Selection Sort Codingan nya:
//MITHA ZALINA RAMADHANY //RPL 3A
package Sorting;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class SelectionSortMitha { static int[] array;
public static void main(String[] args) {
System.out.print("Masukkan Ukuran Array yang diinginkan : ");
int ukuran=inputdata();
inputarray(ukuran);
System.out.println("Isi Array Sebelum Terurut = ");
bacaarray();
selec(array);
System.out.println("Isi Array Setelah Terurut = ");
bacaarray();
}
static void inputarray(int ukuran) {
System.out.println("Masukkan Nilai yang diinginkan = ");
array=new int[ukuran];
for (int i=0; i<ukuran; i++) {
System.out.print("Array "+i+" =");
array[i]=inputdata();
} }
static void bacaarray() {
int ukuran= array.length;
for (int i=0; i<ukuran; i++) {
System.out.println("Nilai Array ke ["+i+"] ="+array[i]);
} }
public static int[] selec(int[] array) {
int ukuran= array.length;
while(ukuran>0) {
int max=0;
int i;
for (i=1; i<ukuran; i++) {
if (array[max]<array[i]) max=i;
}
int temp=array[max];
array[max]=array[ukuran-1];
array[ukuran-1]=temp;
ukuran--;
}
return array;
}
static int inputdata() {
BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
String kata=null;
try{
kata=a.readLine();
}catch (Exception e) {
e.toString();
}
int nilai=Integer.valueOf(kata).intValue();
return nilai;
} }
Hasil Run:
2. Percobaan 3 : Insertion Sort Codingannya:
//MITHA ZALINA RAMADHANY //RPL 3A
package Sorting;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class InsertionSortMitha { static int[] array;
public static void main(String[] args) {
System.out.print("Masukkan Ukuran Array yang diinginkan : ");
int ukuran=inputdata();
inputarray(ukuran);
System.out.println("Isi Array Sebelum Terurut = ");
bacaarray();
insertion(array);
System.out.println("Isi Array Setelah Terurut = ");
bacaarray();
}
static void inputarray(int ukuran) {
System.out.println("Masukkan Nilai yang diinginkan = ");
array=new int[ukuran];
for (int i=0; i<ukuran; i++) {
System.out.print("Array "+i+" =");
array[i]=inputdata();
} }
static void bacaarray() {
int ukuran= array.length;
for (int i=0; i<ukuran; i++) {
System.out.println("Nilai Array ke ["+i+"] ="+array[i]);
} }
static int[] insertion(int[] array) {
int ukuran= array.length;
int max, j;
int i=1;
while(i<ukuran) {
max=array[i];
for (j=i; j>0; j--) {
if (max<array[j-1]) array[j]=array[j-1];
else
break;
}
array[j]=max;
i++;
}
return array;
}
static int inputdata() {
BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
String kata=null;
try{
kata=a.readLine();
}catch (Exception e) {
e.toString();
}
int nilai=Integer.valueOf(kata).intValue();
return nilai;
} }
Hasil Run:
3. Percobaan untuk inputan String Selection Sort “SAYA SUKA SITU SEBAB SITU SUKA SAYA” Berdasarkan ASCENDING
Codingan:
//MITHA ZALINA RAMADHANY //RPL 3A
package Sorting;
import java.util.Scanner;
public class StringSelectionSortMitha { static String[] array;
public static void main(String[] args) {
System.out.print("Masukkan Ukuran Array yang diinginkan =
");
int ukuran = Integer.parseInt(inputdata());
inputarray(ukuran);
System.out.println("Isi Array sebelum terurut : ");
bacaarray();
selec(array);
System.out.println("Isi Array Setelah Terurut secara ascending:");
bacaarray();
}
static void inputarray(int ukuran) { array = new String[ukuran];
for (int i = 0; i < ukuran; i++) {
System.out.print("array " + i + " : ");
array[i] = inputdata();
} }
static void bacaarray() { int ukuran = array.length;
for (int i = 0; i < ukuran; i++) {
System.out.println("nilai array ke [" + i + "] :" + array[i]);
} }
public static void selec(String[] array) { int ukuran = array.length;
for (int i = 0; i < ukuran - 1; i++) { int minIndex = i;
for (int j = i + 1; j < ukuran; j++) {
if (array[j].compareTo(array[minIndex]) < 0) { minIndex = j;
}
}
String temp = array[minIndex];
array[minIndex] = array[i];
array[i] = temp;
} }
static String inputdata() {
Scanner input = new Scanner(System.in);
return input.nextLine();
} }
Hasil Run:
4. Percobaan untuk inputan String Insertion Sort “SAYA SUKA SITU SEBAB SITU SUKA SAYA” Berdasarkan DESCENDING
//MITHA ZALINA RAMADHANY // RPL 3A
package Sorting;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class StringInsertionSortMitha { static String[] array;
public static void main(String[] args) {
System.out.print("Masukkan Ukuran Array yang diinginkan =
");
int ukuran = Integer.parseInt(inputdata());
inputarray(ukuran);
System.out.println("Isi Array Aebelum terurut :");
bacaarray();
insertion(array);
System.out.println("Isi Array Aetelah terurut :");
bacaarray();
}
static void inputarray(int ukuran) {
System.out.println("Masukkan Nilai yang diinginkan :");
array = new String[ukuran];
for (int i = 0; i < ukuran; i++) {
System.out.print("array " + i + " : ");
array[i] = inputdata();
} }
static void bacaarray() { int ukuran = array.length;
for (int i = 0; i < ukuran; i++) {
System.out.println("Nilai Array ke [" + i + "] :" + array[i]);
} }
static void insertion(String[] array) { int ukuran = array.length;
for (int i = 1; i < ukuran; i++) { String key = array[i];
int j = i - 1;
while (j >= 0 && key.compareTo(array[j]) < 0) { array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
} }
static String inputdata() {
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
String kata = null;
try {
kata = a.readLine();
} catch (Exception e) { e.printStackTrace();
}
return kata;
} }