Pemrograman 9.0 (Pengurutan Data)
Buatlah program untuk mengurutkan nama barang di Warung Sederhana berdasarkan harganya; dari besar ke kecil. Asumsinya data barang dan harganya sudah ada di dalam array (inisialisasi), sehingga tidak perlu ada input data lagi. Jumlah barangnya untuk sementara dibatasi 5 (lima) saja. Kemudian buatlah tabel tracing dan upload dalam format pdf (beserta screenshot tampilan program) untuk membuktikan bahwa hasil running program sudah sesuai dengan algoritma sorting-nya.
Mahasiswa NPM Ganjil memakai algoritma Bubble Sort, sedangkan yang Genap memakai Selection Sort.
Disini saya menggunakan Selection Sort.
Source Code:
package searchdata;
import java.util.Scanner;
public class SortData {
public static void main(String[] args) {
Scanner N = new Scanner(System.in);
int harga[] = new int [6];
String menu[] = new String [6];
int pilih = 0;
//menu dan harga
menu[0] = "Nasi Bakar ";
harga[0] = 17000;
menu[1] = "Es Teh Jumbo";
harga[1] = 5000;
menu[2] = "Nasi Goreng";
harga[2] = 20000;
menu[3] = "Bubur Ayam";
harga[3] = 13000;
menu[4] = "Air Putih";
harga[4] = 3000;
do{
System.out.println("-----------------------------");
System.out.println("SELAMAT DATANG DI WARUNG KU");
System.out.println("-----------------------------");
System.out.println("1. Daftar Barang");
System.out.println("2. Urutkan Termurah");
System.out.println("3. Urutkan Termahal");
System.out.println("4. Selesai");
System.out.println("-----------------------------");
System.out.print("Pilih y = ");
pilih = N.nextInt();
System.out.println("");
switch(pilih) {
case 1:
System.out.println("-----------------------------");
System.out.println("\tLIST MENU WARUNG");
System.out.println("-----------------------------");
System.out.println("MENU\t\t| HARGA");
System.out.println("");
for (int i = 0; i < 5; i++) {
System.out.println(menu[i] + "\t| " + "Rp. " + harga[i]);
}
System.out.println("");
break;
case 2:
// algoritma selection sort termurah
String menu2[] = new String[5];
menu2 = menu;
int harga2[] = new int[5];
harga2 = harga;
System.out.println("-----------------------------");
System.out.println("\tDARI HARGA TERMURAH");
System.out.println("-----------------------------");
System.out.println("MENU\t\t| HARGA");
System.out.println("");
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 5; j++) {
if (harga2[i] > harga2[j]) {
int temp = harga2[j];
harga2[j] = harga2[i];
harga2[i] = temp;
// mengurutkan menu
String s = menu2[j];
menu2[j] = menu2[i];
menu2[i] = s;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.println(menu2[i] + "\t| " + harga2[i]);
}
System.out.println();
break;
case 3:
// algoritma selection sort termahal
menu2 = menu;
harga2 = harga;
System.out.println("-----------------------------");
System.out.println("\tDARI HARGA TERMAHAL");
System.out.println("-----------------------------");
System.out.println("MENU\t\t| HARGA");
System.out.println("");
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 5; j++) {
if (harga2[i] < harga2[j]) {
int temp = harga2[j];
harga2[j] = harga2[i];
harga2[i] = temp;
// mengurutkan menu
String s = menu2[j];
menu2[j] = menu2[i];
menu2[i] = s;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.println(menu2[i] + "\t| " + harga2[i]);
}
System.out.println();
break;
case 4:
System.out.println("-----------------------------");
System.out.println("\tTERIMA KASIH");
System.out.println("-----------------------------");
break;
}
} while (pilih != 4);
}
}
Output:
Daftar Barang
Komentar
Posting Komentar