Professional Documents
Culture Documents
Laprak
Laprak
3.1 Tujuan
Adapun tujuan dari praktikum ini, sebagai berikut:
1. Mengerti dan memahami metode pencarian data.
2. Dapat menggunakan metode pencarian data dalam program.
3. Memahami penggunaan metode sorting.
3. Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara
(n-1) dengan n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi
berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2,
dst.
4. Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.
3.3 Latihan
1. Latihan 1
a. Kode program
#include <iostream>
using namespace std;
int main()
{
int data[8];
int dicari;
int main(){
cout<<" "<< endl << endl;
cin >> n;
for (i = 1; i <= n; i++)
{
cout << "data " << i << " = ";
cin >> data[i];
}
cout << "awal = ";
for (i = 1; i <= n; i++)
cout << data[i] << " ";
cout << endl;
for (i = 1; i < n; i++)
{
for (j = 1; j < n; j++)
{
if (data[j] > data[j + 1])
{
simpan = data[j];
data[j] = data[j + 1];
data[j + 1] = simpan;
}
}
}
cout << "hasil= ";
3.4 Tugas
1. Ubahlah script dibawah ini menggunakan bahasa C.
#include <iostream>
using namespace std;
int data[10], data2[10];
int n;
void tukar(int a, int b){
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void Input(){
cout << "Masukkan jumlah data = ";
cin >> n;
cout << " " << endl;
for (int i = 0; i < n; i++)
{
cout << "Masukkan data ke-" << (i + 1) << " = ";
cin >> data[i];
data2[i] = data[i];
}
cout << endl;
}
void Tampil()
{
for (int i = 0; i < n; i++)
{
cout << data[i] << " ";
}
cout << endl;
}
void bubble_sort()
{
for (int i = 1; i < n; i++)
{
for (int j = n - 1; j >= i; j--)
{
if (data[j] < data[j - 1])
tukar(j, j - 1);
}
Tampil();
}
cout << endl;
}
main()
{
cout << "* Bubble Sort *" << endl;
Input();
cout << "Proses Bubble Sort,,,,,,," << endl;
cout << " " << endl;
Tampil();
bubble_sort();
cout << " " << endl;
}
a. Kode Program
#include <stdio.h>
int data[10];
int n;
int main()
{
printf("\n");
printf("Nama : ADITYA NOOR WICAKSONO ");
printf("\nNIM : 32602300071 ");
printf("\n\n");
printf("* Bubble Sort *\n");
printf("Masukkan jumlah data = ");
scanf("%d", &n);
printf("\n");
for (int i = 0; i < n; i++)
{
printf("Masukkan data ke-%d = ", (i + 1));
scanf("%d", &data[i]);
}
printf("\nProses Bubble Sort,,,,,,,\n\n");
for (int i = 0; i < n; i++)
{
printf("%d ", data[i]);
}
printf("\n");
bubble_sort();
return 0;
}
b. Output
dicari = 4;
ke = 2;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 8, dicari, ke)) <<
"\n";
ke = 1;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 8, dicari, ke)) <<
"\n";
dicari = 0;
ke = 1;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 9, dicari, ke)) <<
"\n";
return 0;
}
a. Kode Program
#include <iostream>
using namespace std;
if (n <= 0)
posisi = -1;
else
{
for (int i = 0; i < n; i++)
{
if (data[i] == k)
{
pencacah++;
if (pencacah == m)
{
cout << "ketemu " << m << endl;
posisi = i;
break;
}
}
}
}
if (posisi != -1)
{
cout << "posisi " << k << " yang ke-" << m << "
dalam larik data : " << posisi << endl;
}
else
{
cout << "posisi " << k << " yang ke-" << m << "
dalam larik data : -1" << endl;
return posisi;
}
int main()
{
int data[9] = {10, 9, 4, 6, 3, 4, 2, 5, 7};
int dicari, ke;
dicari = 4;
ke = 2;
cari(data, 9, dicari, ke);
cout << "Pencacah 1" << endl;
ke = 1;
cari(data, 9, dicari, ke);
dicari = 0;
ke = 1;
return 0;
}
b. Output
int main() {
cout << " " << endl << endl;
int banyakData;
cout << "Pengurutan Data dengan Algoritma Insertion
Sort\n";
int data[banyakData];
insertionSort(data, banyakData);
return 0;
}
b. Output
// Quick Sort
int partition(vector<int> &data, int low, int high, bool
ascending)
{
int pivot = data[high];
int i = (low - 1);
// Bubble Sort
void bubbleSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (data[j] > data[j + 1])
{
swap(data[j], data[j + 1]);
}
}
}
}
// Insertion Sort
void insertionSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 1; i < n; i++)
{
int key = data[i];
int j = i - 1;
while (j >= 0 && data[j] > key)
{
data[j + 1] = data[j];
j--;
}
data[j + 1] = key;
}
}
data[j + 1] = key;
}
}
// Selection Sort
void selectionSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
int min_index = i;
for (int j = i + 1; j < n; j++)
{
if (data[j] < data[min_index])
{
min_index = j;
}
}
swap(data[i], data[min_index]);
}
}
int main()
{
cout << " " << endl
<< endl;
vector<int> data(n);
return 0;
}
b. Output
1. Ascending
int q;
if (p < r)
{
q = partisi(data, p, r);
quick_sort(data, p, q - 1);
quick_sort(data, q + 1, r);
}
}
int main()
{
int jum_data = 9;
int i;
int data[] = {25, 57, 48, 37, 12, 92, 80, 33, 1};
int main() {
cout << " " << endl
<< endl;
int jumlahData;
cout << "Masukkan Jumlah Data: ";
cin >> jumlahData;
vector<int> data(jumlahData);
return 0;
}
b. Output
3.5 Kesimpulan
Pada BAB III ini membahas mengenai metode sorting dan searching.
Pengurutan (Sorting) adalah proses menyusun kembali data yang
sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun
secara teratur menurut aturan tertentu. Pengurutan dapat dilakukan secara
ascending (urut naik) dan secara descending (urut turun). Ada beberapa
metode sorting yang dibahas pada BAB ini yaitu Bubble Sort (metode
gelembung), Insertion Sort (metode penyisipan), Selection Sort (metode
seleksi), dan Quick Sort (metode Quick). Sedangkan pencarian (searching)
adalah tindakan untuk mendapatkan suatu data dalam kumpulan data.
Pencarian data dilakukan terhadap data yang secara keseluruhan terdapat
pada memori komputer. Pada BAB ini kita bisa lebih mengetahui dan
mengerti tentang metode sorting (pengurutan) dan metode searching
(pencarian) dalam algoritma. Mengetahui penerapannya pada sebuah
program yang ada pada latihan dan tugas yang ada, baik dalam source code
(kode program) dan hasil output dari kode program tersebut.