Hi dev, berikut adalah contoh program pencarian c++ dilakukan secara terurut yang belum sempat kami coba, dikarenakan kendala device, saya sudah coba di online compiler tapi sepertinya librari headernya tidak selengkap jika menggunakan editor desktop, contoh saat itu kami belajar menggunakan boland c++.
Contoh Program Pencarian Terurut
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
bool ketemu, henti=0;
int i=0,cari,posisi,tamp;
ketemu=0;
int larik[50];
randomize();
for(int i=0;i<50;i++)
larik[i]=random(50);
for(int i=0;i<50-1;i++)
for(int j=i+1;j<50;j++)
if(larik[i]>larik[j])
{
tamp=larik[i];
larik[i]=larik[j];
larik[j]=tamp;
}
for(int i=0;i<50;i++)
cout<<larik[i]<<" ";
cout<<"\nData yg dicari : ";cin>>cari;
while(!ketemu && !henti)
{
if (cari==larik[i])
{
ketemu=1;
posisi=i;
}
if(cari<larik[i])
henti=1;
cout<<cari<<" "<<larik[i]<<" "<<henti<<endl;
cout<<"perulangan : "<<i<<endl;getch();
i++;
}
if(ketemu==1)
cout<<"Data ada, posisi : "<<posisi;
else
cout<<"Data tidak ada...";
getch();
}
Contoh Program Pencarian Biner
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
bool ketemu;
int cari,posisi,tamp;
int larik[10];
randomize();
for(int i=0;i<10;i++)
larik[i]=random(10);
for(int i=0;i<10-1;i++)
for(int j=i+1;j<10;j++)
if(larik[i]>larik[j])
{
tamp=larik[i];
larik[i]=larik[j];
larik[j]=tamp;
}
for(int i=0;i<10;i++)
cout<<larik[i]<<" ";
cout<<"\nData yg dicari : ";cin>>cari;
int atas, tengah, bawah;
ketemu=0; bawah=0; atas=10;
while(bawah<atas)
{
tengah=(atas+bawah)/2;
if(cari < larik[tengah])
atas=tengah-1;
else if (cari > larik[tengah])
bawah=tengah+1;
else if (cari == larik[tengah])
{
ketemu=1;
posisi=tengah;
bawah=atas+1;
}
}
if(ketemu==1)
cout<<"Data ada, posisi : "<<posisi;
else
cout<<"Data tidak ada...";
getch();
}
Hi dev, di sisi lain saya juga ingin membagikan segelintir tugas yang paling berkesan kala itu.
Tugas C++ Paling Berkesan Saat Itu
Petunjuk:
Buatlah 3 kolompok dalam satu kelas, moderator, operator, presenter, dan yang menjawab pertanyaan bisa bergantian. Setiap kelompok mengembuat tugas untuk presentasi berdasarkan soal dibawah ini. Buatlah laporan cetak untuk dikumpulkan dan power point untuk presentasi
Struktur laporan berupa:
- a. Permasalahan
- b. Pembahasan (jelaskan fungsi2 yang dibentuk dan operasi fungsi)
- c. Program lengkap dan capture running.
1]. Buatlah program dengan menggunakan linkedlist untuk memasukkan data dengan menu:
- a. Tambah
- b. Edit
- c. Hapus
- d. Cari
- e. Selesai
Pilihan Anda [a..e]
Dalam struktur terdapat field unik (misal nomor mahasiswa, no karyawan,dll) yang digunakan untuk identifikasi. Penyimpanan data diurutkan sesuai denga field uniknya. Proses penambahan dan penghapusan akan meletakkan data sesuai dengan urutannya.
2]. Buatlah program dengan menggunakan double linkedlist untuk memasukkan data dengan menu:
- a. Tambah
- b. Edit
- c. Hapus
- d. Cari
- e. Selesai
Pilihan Anda [a..e]
Dalam struktur terdapat field unik (misal nomor mahasiswa, no karyawan,dll) yang digunakan untuk identifikasi. Penyimpanan data diurutkan sesuai denga field uniknya. Proses penambahan dan penghapusan akan meletakkan data sesuai dengan urutannya.
3]. Buatlah program dengan menggunakan stack untuk memasukkan data dengan menu:
- a. Tambah
- b. Edit
- c. Hapus
- d. Cari
- e. Selesai
Pilihan Anda [a..e]
Dalam struktur terdapat field unik (misal nomor mahasiswa, no karyawan,dll) yang digunakan untuk identifikasi. Penyimpanan data diurutkan sesuai denga field uniknya. Proses penambahan/penghapusan dengan menggunakan push dan pop saja.