slide materi kuliah algoritma & struktur data mengenai pointer
Deskripsi lengkap
50 soal dan jawabanFull description
Struktur data adalah suatu pengelolaan data sehingga data dapat dipergunakan secara lebih efisien dan efektif. Dalam bahasa pemrograman, struktur data seringkali ditampakkan secaa fisik dala…Full description
freeFull description
Makalah Struktur DataFull description
modul praktikum semester 2
zdvdsFull description
Descripción completa
Full description
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
STRUKTUR DATA POINTER SORTING SEARCHING
2 0 S OA L P O I N T E R – D A R I T I N G K A T 3
1. Buat program program yang yang membedakan membedakan antara antara penunjuk dan alamat alamat pointer ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int a=4; void getAGlobal(){ getAGlobal(){ cout << "A Global adalah " << a << " alamatnya " << &a; } void fungsi_by_value(int a){ a = a * 3; cout << "\nA By Value adalah = " << a << " alamatnya adalah " << &a; } void main(){ clrscr(); int a = 5; getAGlobal(); cout << "\nA Main adalah = " << " alamatnya adalah " << &a; fungsi_by_value(a); cout << "\nA Main setelah fungsi dipanggil adalah = " << a << " alamatnya adalah " << &a; getch(); }
2. Buat Buat
prog progra ram m memb membes esar arka kan n kata, ata, misal: imam imam menj enjadi adi IMAM IMAM dan dan tampilkan alamat memorinya ? ----------------------------------------------------------------------------------------------------------------------
CODING:
#include #include void gokil(char *); void main(){ clrscr(); char string[1]; cout << "Masukkan Kata : "; cin >> string; cout << "String sebelum proses adalah " << string; gokil(string); cout << "\nString setelah proses adalah " << string << " berada pada alamat " << &string; getch(); 29
3. Buat program program membalikk membalikkan an besar besar dan kecil kecil huruf, huruf, misal: iMaM menjadi
ImAm, dan tampilkan alamatnya memorinya ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void Balik_Huruf(char s[]){ int n; for(n=0;s[n]!='\0';n++); for(int i=0;i='a' && s[i]<='z') s[i] = s[i] - 'a' + 'A'; else if(s[i]>='A' && s[i]<='Z') s[i] = s[i] - 'A' + 'a'; } } void main(){ clrscr(); char *s; cout << "Masukkan kalimat dengan huruf besar dan kecil : "; cin.getline (s,100); cout << "String mula-mula = " << s; cout << "\nString hasil = "; Balik_Huruf(s); cout << s << " berada pada alamat " << &s; getch(); }
4. Buat program menukarkan 2 angka misal:
angka1=5, angka2=7 berubah jadi angka1=7, angka2=5 ? ----------------------------------------------------------------------------------------------------------------------
CODING:
#include #include void tukar(int *ptr1, int *ptr2); int main() { clrscr(); int input, num1, num2; cout << "Masukkan angka pertama : "; cin >> num1; cout << "Masukkan angka kedua : "; cin >> num2; tukar(&num1,&num2); cout << "\nAngka akan tertukar menjadi " << num1 << " dan " << num2; getch(); 29
meng mengga gant ntii nila nilaii arra array, y, misal: nama[0 nama[0]=A ]=Ange ngel, l, setela setelah h dirubah menjadi nama[0]=Bambang ? ----------------------------------------------------------------------------------------------------------------------
6. Buat program program menginputk menginputkan an angka angka lalu lalu ditampilk ditampilkan an lagi beserta beserta alamat alamat
dengan menggunakan array-pointer? (karena menggunakan array, semua angka berada pada alamat yang sama) ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void main(){ clrscr(); int a[5], input, *p; cout << "Masukkan Jumlah Data : "; cin >> input; for(int i=0; i> a[i]; } p=a; for(i=0; i
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
getch(); }
7. Buat program menampilkan array 2 dimensi dengan bantuan pointer?
prog progrram menam enampi pillkan nilai terb erbesar esar dari ari juml umlah data ata yang ang diinputkan ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void main() { clrscr(); int nil[x], i, x, a=0, *p, kecil, in; for (i=0;i
for (i=0;i=nil[i]) { p=&nil[a]; in=a; }else{ p++; i=0; } } printf("Angka terbesar:%d\n", *p); printf("pada alamat ke:%p\n", p); printf("Pada index ke :%d", in+=1); getch();
}
11. Buat Buat prog progra ram m fung fungsi si LEFT LEFT,, atau atau meng mengam ambi bill kara karakt kter er dari dari kiri kiri,, misal:
ASMIRANDAH, diambil 4 menjadi ASMI ---------------------------------------------------------------------------------------------------------------------CODING:
#include 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
#include #include #include main() { char *kata; int x,y,ambil; kata = new char; clrscr(); cout << "Masukkan kata : "; gets(kata); y = strlen(kata) - 1; cout << "Jumlah yang di ambil : "; cin >> ambil; cout << "Hasilnya adalah : "; for (x=0; x
12. Buat Buat progr program am fungsi fungsi RIGHT, RIGHT, atau atau menga mengambi mbill karak karakter ter dari dari kiri, kiri, misal:
ASMIRANDAH, diambil 5 menjadi ANDAH ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include #include
main() { char *kata; int x,y,ambil; kata = new char; clrscr(); cout << "Masukkan kata : "; gets(kata); y = strlen(kata) - 1; cout << "Jumlah yang di ambil : "; cin >> ambil; cout << "Hasilnya adalah : "; ambil=ambil-1; for (x=y-ambil;x<=y;x++) (x=y-ambil;x<=y;x++) { cout << *(kata+x); } getch(); }
13. Buat program mengkonversi dari biner ke desimal, serta tampilkan alamat ?
main() { char *bil; int banyak, nilai=1, hasil=0, mundur; clrscr(); cout<<"MASUKAN cout<<"MASUKAN BILANGAN BINER : "; cin>>bil; banyak = strlen(bil); strlen(bil); mundur = banyak; for (int x=0; x
14.Buat program statistik, menghitung rata-rata, nilai minimum dan maksimum ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include double rata2(double *data, int n); double min(double *data, int n); double max(double *data, int n); void main() { clrscr(); double *x; int i,j,k,n; printf("Banyaknya data "); scanf("%d",&n); x = new double [n];//maksimum array for(i=0;i
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
{
int i; double sum=0; for(i=0;i
} double min(double *data, int n) { int i; double min=data[0]; for(i=1;imax) max=data[i]; } return max; }
15. Buat program dengan 10 array lalu tampilkan masing-masing alamat index ?
17.Buat program Jumlah dan Selisih dari 2 angka yang diinputkan diinputkan ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void jumlahselisih jumlahselisih(int (int a, int b, int *j, int *s) { *j=a+b; if (a>=b) *s=a-b; else *s=b-a; } int main() { clrscr(); int bil1, bil2, jumlah, selisih; cin >> bil1; cin >> bil2; jumlahselisih(bil1, bil2, &jumlah, &selisih); cout << "Jumlah = " << jumlah; cout << "\nSelisih = " << selisih; getch(); }
18. Buat program yang tipe datanya char dan menampilkan kalimat sebanyak
10 kali, tetapi dengan menggunakan pointer dan fungsi ? ---------------------------------------------------------------------------------------------------------------------CODING:
19.Buat program menjumlahkan angka yang diinputkan ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int main() { int arr[5], jumlah=0, i; clrscr(); for (i=0; i<5; i++) scanf("%d", arr+i); for (i=0; i<5; i++) { jumlah += *(arr+i); if (i<4) printf("%d + ", *(arr+i)); else printf("%d = %d", *(arr+i) << jumlah); } getch(); }
20. Buat program Jumlah Kali 2, misal : 2 x (5+6)=22 ?
#include #include int jumlahganda(in jumlahganda(int t a, int b) { int c; c=2*(a+b); return c; } int main() { int bil1, bil2, bil3; clrscr(); cout cout << "Mas "Masuk ukka kan n b bil ilan anga gan n 1 : " "; ; cout cout << "Mas "Masuk ukka kan n b bil ilan anga gan n 2 : " "; ;
cin cin >> >> bil bil1; 1; cin cin >> >> bil bil2; 2;
2 0 S OA L SORTING – D A R I T I N G K A T 2 1. Buat Buat
pro program gram mengu ngurutk rutka an ang angka dari ari ter terkeci ecil sampa ampaii ter terbesa besarr menggunakan QUICK SORT ? ----------------------------------------------------------------------------------------------------------------------
CODING:
#include #include 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
#define N 20 int quick(int bawah, int atas); int i, j, A[N]; main() { int jml; clrscr(); printf("Masukkan jumlah bilangan (maks 20) : "); scanf("%d",&jml); // input data for (i=0;ii && A[j]>=pivot) A[j]>=pivot) { j--; } if (i
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
else { quick(i+1,atas); quick(bawah,j-1); } } }
2. Buat program mengurutkan angka dari terkecil sampai terbesar menggunakan BUBBLE SORT ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #define N 20 int bubble(int n); int i,j,A[N]; main() { int jml; clrscr(); printf("Masukkan printf("Masukkan jumlah bilangan (maks 20) : "); scanf("%d",&jml); printf("\n"); for (i=0;iA[j]) { temp = A[i-1]; A[i-1] = A[j]; A[j] = temp; } } } }
29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
3. Buat
program mengurutkan Disk DLDLDLDLDLDLDL menjadi DDDDDDDLLLLLLL ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include main() { clrscr(); char disk[50]; char tmp; int n,i,j,count; gotoxy(10,10); printf("masukkan printf("masukkan jumlah disk [max=50] "); scanf("%d",&n); for(i=0;i
4. Buat program mengurutkan pilihan Ascending atau Descending ?
#include #include void main() { clrscr(); double *ar,tmp; int n,i,ad,urut; printf("Masukan printf("Masukan banyaknya data : "); scanf("%d",&n); 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
printf("Urutkan secara : \n1. Ascending \n2. Descending \nPilihan no 1 atau 2 : "); scanf("%d",&ad); ar = new double[n];//set ukuran array for(i=0;iar[i+1])&&ad==1) || ((ar[i]
}
printf("\nSetelah diurutkan\n"); for(i=0;i
5. Buat contoh program menggunakan Taly Sort? ---------------------------------------------------------------------------------------------------------------------CODING:
6. Buat Buat cont contoh oh prog progra ram m meng menggu guna naka kan n Heap Heap Sort Sort,, deng dengan an mena menamp mpil ilka kan n langkah-langkah? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int heapSize = 10; void print(int a[]) { for (int i = 0; i <= 9; i++) { cout << a[i] << "-"; } cout << endl; } int parent(int i) { if(i==1) return 0; if(i%2==0) return ( (i / 2)-1); else return ( (i / 2)); } int left(int i) { return (2 * i) + 1; } int right(int i) { return (2 * i) + 2; } void heapify(int a[], int i) { int l = left(i), great; int r = right(i); if ( (a[l] > a[i]) && (l < heapSize)) { great = l; } else { great = i; } if ( (a[r] > a[great]) && (r < heapSize)) { great = r; } if (great != i) { int temp = a[i]; a[i] = a[great]; a[great] = temp; heapify(a, great); } } void BuildMaxHeap(int a[]) { for (int i = (heapSize - 1) / 2; i >= 0; i--) { heapify(a, i); print(a); } } void HeapSort(int a[]) { BuildMaxHeap(a); 29
7. Buat Buat contoh contoh progr program am mengg mengguna unaka kan n Merge Merge Sort, Sort, dan tampil tampilka kan n langk langkahahlangkahnya? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include void print(int * a) { for (int i = 0; i < 10; i++) { cout << a[i] << "-"; } cout << endl; } void mergeConquer(int mergeConquer(int * a, int left, int mid, int right) { int lno = mid - left + 1, rno = right - mid; int * L = new int[lno], * R = new int[rno]; for (int y = 0; y < lno; y++) { L[y] = a[left + y]; cout << L[y] << "l"; } cout << endl; for (int z = 0; z < rno; z++) { R[z] = a[mid + z + 1]; cout << R[z] << " r "; ; } cout << endl; y = 0; z = 0; for (int i = left; i <= right; i++) { if ( (y < lno) && (z < rno)) { if (L[y] <= R[z]) { a[i] = L[y]; y++; } else { a[i] = R[z]; z++; } } else if ( (y < lno) && (z >= rno)) { a[i] = L[y]; y++; 29
8. Buat contoh program mengurutkan nama Pacar, sesuai dengan abjad dan
huruf besar dan kecil, menggunakan menggunakan Bubble Sort? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include #include #define SIZE 100 float int
A[SIZE], MAX_VALUE, temp; i,N;
void HPSORT(int n, float *RA) int i,ir,j,l; float rra;
{
l=(n/2)+1; ir=n; e10: if (l > 1) { l--; rra=RA[l]; } else { rra=RA[ir]; RA[ir]=RA[1]; ir--; if (ir==1) { RA[1]=rra; return; } } i=l; j=l+l; e20: if (j <= ir) { if (j < ir) if (RA[j] < RA[j+1]) j++; if (rra < RA[j]) { RA[i]=RA[j]; i=j; j=j+j; } else j=ir+1; goto e20; 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
} RA[i]=rra; goto e10; } void TWRIT(int N, float *ARR) { int i; float tmp; printf("\n");; for (i=1; i
10. Buat contoh program Shell Sort, dengan menampilkan secara kolom ?
#include #include #include #include #define SIZE 100 float int
A[SIZE], MAX_VALUE, temp; i,N;
void SHELL(int n, float *ARR) #define #define
ALN2I TINY
{
1.0/0.69314718 1.0/0.69314718 1e-5
float LOGNB2, t; int i,j,k,l,m,nn; LOGNB2=(float) floor(log(N)*ALN2I+TINY); m=n; for (nn=1; nn<=floor(LOGNB2); nn++) { m=m / 2; k=n-m; for (j=1; j
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
e10:
i=j; l=i+m; if (ARR[l] < ARR[i]) { t=ARR[i]; ARR[i]=ARR[l]; ARR[l]=t; i=i-m; if (i >= 1) goto e10; }
} } } void TWRIT(int N, float *ARR) { int i; float tmp; printf("\n");; for (i=1; i
11.Buat contoh program menggunakan Insertion Sort dengan tampilan kolom ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include #include #define SIZE 100 float int
A[SIZE], MAX_VALUE, temp; i,N;
void PIKSRT(int N, float *ARR) int i,j; float a; for (j=2; j0; i--) {
{
29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
if (ARR[i]<=a) goto e10; ARR[i+1]=ARR[i]; } i=0; e10: ARR[i+1]=a; } } void TWRIT(int N, float *ARR) { int i; float tmp; printf("\n");; for (i=1; i
12. Buat contoh program menggunakan Merge Sort dengan tampilan kolom ? Input 4.00 3.00 1.00 67.00 55.00 8.00 0.00 4.00 -5.00 37.00 7.00 4.00 2.00 9.00 1.00 -1.00 Output -5.00 4.00
#include #include #include void sort(double *a, int lo, int hi) { if (lo>=hi) return; int mid = (lo + hi) / 2; sort(a, lo, mid); sort(a, mid + 1, hi); 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
int start_hi = mid + 1; int end_lo = mid; while ((lo <= end_lo) && (start_hi <= hi)) { if (a[lo] < a[start_hi]) a[start_hi]) lo++; else { double T = a[start_hi]; for (int k = start_hi - 1; k >= lo; k--) { a[k+1] = a[k]; } a[lo] = T; lo++; end_lo++; start_hi++; } } } void main() { clrscr(); int i,n=16; static double a[] = {4,3,1,67,55,8,0,4,-5,37,7,4,2,9,1,-1}; printf("\n\n Data Asal :\n"); for(i=0; i
13.Buat contoh program menggunakan Selection Sort? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int SelectionSort(int [], int); int main() { clrscr(); const int GOKILZ = 10; int angka[GOKILZ] = {22,5,67,98,45,32,101,99,73,10}; int i, pindah; pindah = SelectionSort(angka, GOKILZ); cout << "Angka yang telah si sorting Ascending :\n"; for (i = 0; i < GOKILZ; i++) cout << " " << angka[i]; cout << '\n' << pindah << " angka pindah untuk mengurutkan angka\n"; getch(); 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
} int SelectionSort(int num[], int GOKILZ) { int i, j, min, minidx, grade, pindah = 0; for ( i = 0; i < (GOKILZ - 1); i++) { min = num[i]; minidx = i; for(j = i + 1; j < GOKILZ; j++) { if (num[j] < min) { min = num[j]; minidx = j; } } if (min < num[i]) { grade = num[i]; num[i] = min; num[minidx] = grade; pindah++; } } return pindah; }
Buat program mengurutkan angka dengan pilihan menu dan jenis sorting : 14. Buble Sort, Quick Sort, Insert Sort 15. Selection Max Sort & Selection Min Sort 16.Tree & Heap Sort ---------------------------------------------------------------------------------------------------------------------CODING:
buble( int jmlh, int larik[p] ); quick( int bts_bawah, int bts_atas, int larik[p] ); insert( int jmlh, int larik[p] ); max( int jmlh, int larik[p] ); min( int jmlh, int larik[p] ); heap( int jmlh, int larik[p] ); varian(); varian2();
#include #include int data[100], data2[100]; int n; void tukar(int a,int b){ int t; t = data[b]; data[b] = data[a]; data[a] = t; } void bubble_sort(){ for(int i=1;i=i;j--){ j=n-1;j>=i;j--){ if(data[j] data[j]) tukar(i,j); } } printf("exchange sort selesai!\n"); selesai!\n"); } void selection_sort(){ selection_sort(){ int pos,i,j; for(i=0;itemp && j>=0){ data[j+1] = data[j]; j--; } data[j+1] = temp; } printf("insertion sort selesai!\n"); } void Input(){ printf("Masukkan printf("Masukkan jumlah data = ");scanf("%d",&n); ");scanf("%d",&n); for(int i=0;i
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
data2[i] = data[i]; } } void AcakLagi(){ for(int i=0;i
1 0 S OA L SEARCHING – D A R I T I N G K A T 2 1. Buat program mencari index dari array kelipatan 5 ?
#include #include int main() { double target; int array[10] = {5,10,15,20,25,30,35,40 {5,10,15,20,25,30,35,40,45,50}; ,45,50}; int flag; clrscr(); 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
flag = 0; cout << "Masukkan angka kelipatan 5 dari (5-50): ";
cin >> target;
for(int cntr = 0; cntr < 10; cntr++) { if(array[cntr] if(array[cntr] == target) { cout << "Target berada pada array index " << cntr << "." << endl; flag += 1; } } if(flag < 1) { cout << "Target tidak ada" << endl; } getch();
} 2. Buat program “Kontes Menyanyi”, Memasukkan No.Peserta dan Nama, cari
berdasarkan nomor ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include void main() { clrscr(); char* nama[100], jwb; long double peserta[100], x; int n; cout << "\n Masukan Banyak Nama : "; cin >> n; for (int a=0; a> peserta[a]; cout << " Masukan Nama Peserta : "; cin >> nama[a]; } do { clrscr(); cout << "\n Masukan Nomor Peserta : "; cin >> x; if (x==peserta[x-1]) { cout << " Nomor Peserta Atas Nama " << nama[x-1]; } else { cout << " Nomor Peserta Yang Anda Masukkan Tidak Terdaftar"; }
29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
cout << "\n\n Anda Ingin Mencari Lagi (y/t)? "; cin >> jwb; } while(jwb=='y'); while(jwb=='y'); getch(); }
3. Buat program mencari angka -5 sampai 5 menggunakan SEARCHING ?
#include #include int search(int [], int, int); int main() { clrscr(); const int OKE = 11; int array[OKE] = {-5,-4,-3,-2,-1,0,1,2,3, {-5,-4,-3,-2,-1,0,1,2,3,4,5}; 4,5}; int cari, lokasi; cout cout << "\n "\n Mas Masuk ukka kan n ang angka ka yang yang ingi ingin n dic dicar ari i : "; cin cin >> >> car cari; i; lokasi = search(array, OKE, cari); if (lokasi > -1) cout << " Angka yang dicari berada pada index ke-" << lokasi << endl; else cout << " Angka yang dicari tidak ada\n"; getch(); } int search(int daftar[], int ukuran, int kunci) { int kiri, kanan, xxx; kiri = 0; kanan = ukuran - 1; while (kiri <= kanan) { xxx = (int) ((kiri + kanan) / 2); if (kunci == daftar[xxx]) { return xxx; } else if (kunci > daftar[xxx]) kiri = xxx + 1; else kanan = xxx - 1; } return -1; }
4. Buat program mencari nama cewek kinclong, beserta alamat, no.telpp, dan
uang jajan? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void main() { clrscr(); int data[10] = {3,17,9,-4,21,6,-3,44,56,1}; int cari,i; cout cout < << < " "Mas Masukk ukkan an data data y yang ang ingin ingin dicari dicari : " "; ;
cin >> cari; cari;
data[10] = cari; i=0; while(data[i] while(data[i] != cari) i++; if(i<10) cout << "Data ada " << endl; else cout << "Data tidak ada "; getch(); } 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
6. Buat program program mencari mencari index index dengan dengan flag ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int main() { double target; int array[10] = {9,18,27,36,45,54,63,72 {9,18,27,36,45,54,63,72,81,90}; ,81,90}; int flag; clrscr(); flag = 0; cout << "Masukkan angka kelipatan 9 : ";
cin >> target;
for(int cntr = 0; cntr < 10; cntr++) { if(array[cntr] if(array[cntr] == target) { cout << "Target berada pada array index " << cntr << "." << endl; flag += 1; } } if(flag < 1) { cout << "Target tidak ditemukan" << endl; } getch();
}
7. Buat Buat progr program am Phoneb Phonebook ook,, masuk masukka kan n nama nama dan dan no.te no.telp, lp, lalu cari cari denga dengan n memasukkan nomor ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include #include void main() { clrscr(); char* nama[100],jwb; nama[100],jwb; long double nomor[100],tuju; int n; cout<<"Masukan cout<<"Masukan Banyak Nama : "; cin>>n; for (int a=0;a>nama[a]; cout<<"Masukan Nomor: "; cin>>nomor[a]; 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
} do { clrscr(); cout<<"Masukan Nomor Tujuan : "; cin>>tuju; if (tuju==nomor[tuju-1]) { cout<<"No Yang Anda Tuju Atas Nama "<>jwb; } while(jwb=='y'); while(jwb=='y'); getch(); }
#include #include int binarysearch(int [], int, int); int main() { clrscr(); const int GOKILZ = 10; int array[GOKILZ] = {5,10,22,32,45,67,73,98,99,101}; int cari, lokasi; cout << "Masu "Masukkan kkan angka angka yang yang ingin ingin dicari dicari : "; cin >> cari; cari; lokasi = binarysearch(array, GOKILZ, cari); if (lokasi > -1) cout << "Angka yang kamu cari berada pada index ke-" << lokasi << endl; else cout << "Angka yang kamu cari tidak ada\n"; getch(); } int binarysearch(int daftar[], int ukuran, int kunci) { int kiri, kanan, xxx; kiri = 0; kanan = ukuran - 1; while (kiri <= kanan) { xxx = (int) ((kiri + kanan) / 2); if (kunci == daftar[xxx]) { return xxx; } else if (kunci > daftar[xxx]) kiri = xxx + 1; else kanan = xxx - 1; } 29
TUGAS 1 TI 1
IMAM CIPTARJO – 6307130
return -1; }
9. Buat prog program ram contoh contoh Linear Linear Search Search ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include int LinearSearch(int [], int, int); int main() { clrscr(); const int GOKILZ = 10; int angka[GOKILZ] = {5,10,22,32,45,67,73,98,99,101}; int cari, lokasi; cout << "Masu "Masukkan kkan angka angka yang yang ingin ingin dicari dicari : ";
cin >> cari; cari;
lokasi = LinearSearch(angka, GOKILZ, cari); if (lokasi > -1) cout << "Angka yang dicari berada pada indes ke-" << lokasi << endl; else cout << "Data yang dicari tidak ada\n"; getch(); } int LinearSearch(int daftar[], int msx, int kunci) { int i; for (i = 0; i < msx; i++) { if (daftar[i] == kunci) return i; } return -1; }
10.Buat program memasukkan memasukkan data, diurutkan diurutkan lalu cari data tersebut ? ---------------------------------------------------------------------------------------------------------------------CODING:
#include #include void main() { clrscr(); int i,j,indexmin,tengah,eltengah,n,dt,temp,ketemu=0,posisi; int A[100]; cout<<"Banyak cout<<"Banyak data : "; cin>>n; for(i=0;i>A[i]; } for(i=1;i=temp)&&(j>0)){ A[j+1]=A[j]; j=j-1; 29