Bubble Sort Program
Tugas praktikum hari ini:
Buatlah program yang dapat memberi input sejumlah data n. Kemudian dari data-data sebanyak n urutkanlah, baik secara ascending maupun descending, bergantung dari pilihan yang diambil.
Jawab:
import java.util.Scanner;
class sort {
public static void main(String[] args){
Scanner read = new Scanner (System.in);
System.out.print("Masukan jumlah data: ");int jumlah = read.nextInt();
int[] num = new int[jumlah];
for (int i=0;i<num.length;i++){
System.out.println("Data ke - "+i +" = ");num[i]=read.nextInt();
}
System.out.println("Ingin diurutkan secara (A)scending atau (D)escending = ");
String urut = read.next();
if (urut.equalsIgnoreCase("A")){
ascending(num); // urutkan secara normal.
}
else if (urut.equalsIgnoreCase("D")){
descending(num); // urutkan secara terbalik.
}
System.out.println("\ndata yang telah diurutkan");
for (int i=0; i < num.length; i++){
System.out.println(num[i]+ " ");
}
}
/*
Buatlah program yang dapat memberi input sejumlah data n. Kemudian dari data-data sebanyak n urutkanlah, baik secara ascending maupun descending, bergantung dari pilihan yang diambil.
Jawab:
import java.util.Scanner;
class sort {
public static void main(String[] args){
Scanner read = new Scanner (System.in);
System.out.print("Masukan jumlah data: ");int jumlah = read.nextInt();
int[] num = new int[jumlah];
for (int i=0;i<num.length;i++){
System.out.println("Data ke - "+i +" = ");num[i]=read.nextInt();
}
System.out.println("Ingin diurutkan secara (A)scending atau (D)escending = ");
String urut = read.next();
if (urut.equalsIgnoreCase("A")){
ascending(num); // urutkan secara normal.
}
else if (urut.equalsIgnoreCase("D")){
descending(num); // urutkan secara terbalik.
}
System.out.println("\ndata yang telah diurutkan");
for (int i=0; i < num.length; i++){
System.out.println(num[i]+ " ");
}
}
/*
* Mengurutkan deret angka secara urut (dari terkecil ke terbesar).
*
* @params int[]
* @return int[]
*/
public static int[] ascending(int[] num){
int temp;
for (int i=1; i<num.length; i++){
for(int j=0; j<num.length-i; j++){
if (num[j] > num [j+1]){
temp = num [j];
num [j] = num [j+1];
num [j+1] = temp;
}
}
}
return num;
}
public static int[] ascending(int[] num){
int temp;
for (int i=1; i<num.length; i++){
for(int j=0; j<num.length-i; j++){
if (num[j] > num [j+1]){
temp = num [j];
num [j] = num [j+1];
num [j+1] = temp;
}
}
}
return num;
}
/*
int temp;
for (int i=1; i<num.length; i++){
for(int j=0; j<num.length-i; j++){
if (num[j] < num [j+1]){
temp = num [j];
num [j] = num [j+1];
num [j+1] = temp;
}
}
}
return num;
}
}
* Mengurutkan deret angka secara terbalik (dari terbesar ke terkecil).
*
* @params int[]
* @return int[]
*/
public static int[] descending(int[] num){int temp;
for (int i=1; i<num.length; i++){
for(int j=0; j<num.length-i; j++){
if (num[j] < num [j+1]){
temp = num [j];
num [j] = num [j+1];
num [j+1] = temp;
}
}
}
return num;
}
}