ARRAYINT
package ARRAY;
import [Link];
public class ArrayInt {
int N;
int[] a = new int[5];
ArrayInt(int S) {
N = S;
}
void InitArray() {
for (int i = 0; i < N; i++) {
a[i] = 5;
}
}
// Membaca elemen array dari keyboord
void BacaArr() {
Scanner sc = new Scanner([Link]);
for (int i = 0; i < N; ++i) {
[Link]("Nilai ke-" + i + ": ");
a[i] = [Link]();
}
}
// Menampilkan elemen array
void TampilArray() {
for (int i = 0; i < N; i++) {
[Link](a[i] + " ");
}
[Link]();
}
void SequentialSearch() {
int i = 0;
boolean stop = false;
Scanner sc = new Scanner([Link]);
[Link]("X : ");
int x = [Link]();
while (i < N && (stop==false)) {
if (a[i] == x)
stop = true;
else
i = i + 1;
}
if (stop==true)
[Link](x + " ditemukan di index ke: " + i);
else
[Link](x + " tidak ditemukan ");
}
void BinarySearch() { //pada data naik
int iawal = 0, iakhir = N - 1, k = 0;
boolean stop = false;
Scanner sc = new Scanner([Link]);
[Link]("X : ");
int x = [Link]();
while (iawal <= iakhir && (stop==false)) {
k = (iawal + iakhir) / 2;
if (a[k] == x)
stop = true;
else if (a[k] < x)
iawal = k + 1;
else
iakhir = k - 1;
}
if (stop==true)
[Link](x + " ditemukan di index ke: " + k);
else
[Link](x + " tidak ditemukan ");
}
int BinarySearchFun(int x) {
int iawal = 0, iakhir = N - 1, k = 0;
boolean stop = false;
while (iawal <= iakhir && (stop==false)) {
k = (iawal + iakhir) / 2;
if (a[k] == x)
stop = true;
else if (a[k] < x)
iawal = k + 1;
else
iakhir = k - 1;
}
if (stop==true)
return k;
else
return -1;
}
void BubbleSort() {
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
ArrayInt L = new ArrayInt(5);
[Link]();
[Link]();
[Link]();
[Link]("Data sebelum diurutkan:");
[Link]();
[Link]();// Urutkan data dengan BubbleSort
[Link]("Data setelah diurutkan:");
[Link]();
[Link]("=====mencari data====");
Scanner sc = new Scanner([Link]);
int IX = 0;
for (int i = 0; i < 3; i++) {
[Link]("Masukkan nilai yang dicari: ");
int x = [Link]();
IX = [Link](x);
if (IX != -1)
[Link](x + " ditemukan di indeks ke: " + IX);
else
[Link](x + " tidak ditemukan.");
}
}
}
ARRAY TEMAN
package ARRAY;
import [Link];
public class arrTeman {
int N = 3;
Teman[] a = new Teman[N];
void BacaArr() {
[Link]("Baca nilai elemen array dari keyboard");
for (int i = 0; i < N; i++) {
Teman T = new Teman();
[Link]();
a[i] = T;
}
}
void TampilArr() {
for (int i = 0; i < N; i++) {
a[i].TampilTeman();
}
}
void sequentialSearch_1() {
Scanner sc = new Scanner([Link]);
[Link]("Masukkan NRP yang ingin dicari: ");
String X = [Link]();
int i = 0;
boolean stop = false;
while ((i < N) && (stop==false)) {
if (a[i].[Link](X))
stop = true;
else
i = i + 1;
}
if (stop==true)
[Link](X + " Ketemu di index ke " + i);
else
[Link](X + " tidak ditemukan");
}
int sequentialSearchFun(String X) {
int i = 0;
boolean stop = false;
while ((i < N) && (stop==false)) {
if (a[i].[Link](X))
stop = true;
else
i = i + 1;
}
if (stop)
return i;
else
return -1;
}
void BinarySearch() { // Data harus terurut menaik
int iawal = 0, iakhir = N - 1, k = 0;
boolean stop = false;
Scanner sc = new Scanner([Link]);
[Link]("Masukkan NRP yang ingin dicari: ");
String x = [Link]();
while (iawal <= iakhir && (stop==false)) {
k = (iawal + iakhir) / 2;
if (a[k].[Link](x))
stop = true;
else if (a[k].[Link](x) < 0)
iawal = k + 1;
else
iakhir = k - 1;
}
if (stop)
[Link](x + " ditemukan di index ke: " + k);
else
[Link](x + " tidak ditemukan ");
}
int BinarySearchFun(String x) { // Data harus terurut menaik
int iawal = 0, iakhir = N - 1, k = 0;
boolean stop = false;
while (iawal <= iakhir && (stop==false)) {
k = (iawal + iakhir) / 2;
if (a[k].[Link](x))
stop = true;
else if (a[k].[Link](x) < 0)
iawal = k + 1;
else
iakhir = k - 1;
}
if (stop)
return k; // Kembalikan index jika ditemukan
else
return -1; // Kembalikan -1 jika tidak ditemukan
}
void BubbleSort() {
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - 1 - i; j++) {
if (a[j].[Link](a[j + 1].nrp) > 0) { // Jika a[j] lebih besar dari
a[j+1]
// Tukar elemen a[j] dengan a[j+1]
Teman temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
arrTeman A = new arrTeman();
[Link]();
[Link]("===========================Data
sebelum diurutkan============================");
[Link]();
// Urutkan array berdasarkan NRP menggunakan BubbleSort
[Link]();
[Link]("===========================Data
setelah diurutkan============================");
[Link]();
[Link]("===========================mencari
data============================");
Scanner sc = new Scanner([Link]);
int ix = 0;
for (int i = 0; i < 3; i++) {
[Link]("Masukkan NRP yang ingin dicari: ");
String X = [Link]();
ix = [Link](X);
if (ix != -1) {
[Link](X + " Ketemu di index ke " + ix);
A.a[ix].TampilTeman();
} else {
[Link](X + " tidak ditemukan");
}
}
}
}
LARIKINT
package ARRAY;
import [Link];
public class LarikInt {
private static final LarikInt L = null;
int N = 3;
int[] a = new int[N];
void IntArray() {
for (int i = 0; i < N; i++) {
a[i] = 10;
}
}
void BacaArr() {
for (int i = 0; i < N; i++) {
Scanner sc = new Scanner([Link]);
[Link]("Nilai ke :" + i + ": ");
a[i] = [Link]();
}
}
void TampilArr() {
for (int i = 0; i < N; i++) {
[Link]("Elemen ke: " + i + " : " + a[i]);
}
}
static void Salin(LarikInt L1, LarikInt L2) {
for (int i = 0; i < L1.N; i++) {
L2.a[i] = L1.a[1];
}
}
void SequentialSearchProc_1() {
boolean stop = false;
Scanner sc = new Scanner([Link]);
[Link]("X: ");
int X = [Link]();
int i = 0;
while ((i < N) && (stop == false)) {
if (a[i] == X)
stop = true;
else
i = i + 1;
}
if (stop == true)
[Link](X + " Ditemukan diindeks ke" + i);
else
[Link](X + " Tidak ditemukan ");
}
void SequentialSearchProc() {
boolean stop = false;
Scanner sc = new Scanner([Link]);
[Link]("X: ");
int X = [Link]();
int i = 0;
while ((i < N) && (stop == false)) {
if (a[i] == X)
stop = true;
else
i = i + 1;
}
if (stop == true)
[Link](X + " Ditemukan diindeks ke" + i);
else
[Link](X + " Tidak ditemukan ");
}
void BinarySearchFun() {
Scanner sc = new Scanner([Link]);
[Link]("X: ");
int X = [Link]();
int iawal = 0;
int iakhir = N - 1;
boolean found = false;
while (iawal <= iakhir) {
int k = (iawal + iakhir) / 2;
if (a[k] == X) {
found = true;
[Link](X + " Ditemukan diindeks ke" + k);
break;
} else if (a[k] > X) {
iakhir = k - 1;
} else {
iawal = k + 1;
}
}
if (!found) {
[Link](X + " Tidak ditemukan ");
}
}
int BinarySearchFunstop(int x) {
int iawal = 0, iakhir = N - 1, k = 0;
boolean stop = false;
while (iawal <= iakhir && (stop==false)) {
k = (iawal + iakhir) / 2;
if (a[k] == x)
stop = true;
else if (a[k] < x)
iawal = k + 1;
else
iakhir = k - 1;
}
if (stop==true)
return k; // Mengembalikan indeks jika ditemukan
else
return -1; // Mengembalikan -1 jika tidak ditemukan
}
void BubbleSort() {
int temp;
for (int i = 0; i < N - 1; i++) {
for (int k = 0; k < N - i - 1; k++) {
if (a[k] > a[k + 1]) {
temp = a[k];
a[k] = a[k + 1];
a[k + 1] = temp;
}
}
}
}
void SelectionSort() {
int i, j, minIndex, temp;
for (i = 0; i < N - 1; i++) {
minIndex = i;
for (j = i + 1; j < N; j++) {
if (a[j] < a[minIndex]) {
minIndex = j;
}
}
temp = a[minIndex];
a[minIndex] = a[i];
a[i] = temp;
}
}
public static void main(String[] args) {
LarikInt L= new LarikInt();
LarikInt L2 = new LarikInt();
[Link]();
[Link]();
[Link]();
[Link]("L2..........");
[Link]();
Salin(L,L2);
[Link]();
[Link]("data sebelum diurrutkan;");
[Link]();
[Link]("urutkan...");
[Link]();
[Link]();
[Link]();
Scanner sc = new Scanner([Link]);
int IX = 0;
for (int i = 0; i < 3; i++) {
[Link]("Masukkan nilai yang dicari: ");
int x = [Link]();
IX = [Link](x);
if (IX != -1)
[Link](x + " ditemukan di indeks ke: " + IX);
else
[Link](x + " tidak ditemukan.");
}
}