View
221
Download
0
Category
Preview:
Citation preview
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
1/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
STRUKTUR DATAPOINTER
SORTING
SEARCHING
20 SOAL POINTER DARI TINGKAT 3
1. Buat program yang membedakan antara penunjuk dan alamat pointer ?-----------------------------------------------------------------------------------------------------------------------CODING:#include #include
int a=4;void getAGlobal(){cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
2/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}
void gokil(char *s) {while ( *s != '\0' ) {if ( *s >= 'a' && *s
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
3/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}
void tukar(int *ptr1, int *ptr2) {int temp;temp = *ptr1; // 1*ptr1 = *ptr2; // 2*ptr2 = temp; // 3
}
5. Buat program mengganti nilai array, misal: nama[0]=Angel, setelahdirubah menjadi nama[0]=Bambang ?-----------------------------------------------------------------------------------------------------------------------CODING:#include #include
main(){ char *nama[3] = {"Angel","Cheryl","Jasmine"};
clrscr();cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
4/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
getch();}
7. Buat program menampilkan array 2 dimensi dengan bantuan pointer?-----------------------------------------------------------------------------------------------------------------------CODING:
#include #include
void main(){clrscr();char a[3][5] = { "ABCDE","FGHIJ","KLMNO" };char *p;
p=&a[0][0];for(int i=1; i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
5/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
#include #include
void terbalik(char s[]){int n;for(n=0;s[n]!='\0';n++);
for(int i=n-1;i>=0;i--) cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
6/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
7/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
8/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
{ int i;double sum=0;
for(i=0;i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
9/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
clrscr();printf("Bulan (1..12): ");scanf("%d",&bl);printf("%s\n",nama_bulan(bl) );getch();
}
char *nama_bulan(int n){static char *bulan[]= {"Kode bulan Salah","Januari","Februari","Maret",
"April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"};
return ( (n12) ? bulan[0] : bulan[n] );}
17.Buat program Jumlah dan Selisih dari 2 angka yang diinputkan ?-----------------------------------------------------------------------------------------------------------------------CODING:#include
#include
void jumlahselisih(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
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
10/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
11/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
#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;i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
12/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
else{
quick(i+1,atas);quick(bawah,j-1);
}}}
2. Buat program mengurutkan angka dari terkecil sampai terbesarmenggunakan BUBBLE SORT ?-----------------------------------------------------------------------------------------------------------------------CODING:#include #include #define N 20
int bubble(int n);int i,j,A[N];
main(){int jml;clrscr();printf("Masukkan jumlah bilangan (maks 20) : ");scanf("%d",&jml);printf("\n");
for (i=0;i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
13/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
3. Buat program mengurutkan Disk DLDLDLDLDLDLDL menjadiDDDDDDDLLLLLLL-----------------------------------------------------------------------------------------------------------------------CODING:#include
#includemain(){ clrscr();
char disk[50];char tmp;int n,i,j,count;
gotoxy(10,10);printf("masukkan jumlah disk [max=50] ");scanf("%d",&n);
for(i=0;i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
14/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
15/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
16/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
17/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}else if ( (y >= lno) && (z < rno)) {a[i] = R[z];z++;
}}
}
void mergeDivide(int * a, int left, int right) {int mid = (left + right) / 2;if (left < right) {cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
18/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
19/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}RA[i]=rra;goto e10;
}
void TWRIT(int N, float *ARR) {int i; float tmp;printf("\n");;for (i=1; i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
20/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
i=j;e10: 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
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
21/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
if (ARR[i]
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
22/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
23/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}
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 Sort15.Selection Max Sort & Selection Min Sort16.Tree & Heap Sort
-----------------------------------------------------------------------------------------------------------------------CODING:#include #include#include#include#define p 100
void buble( int jmlh, int larik[p] );void quick( int bts_bawah, int bts_atas, int larik[p] );void insert( int jmlh, int larik[p] );void max( int jmlh, int larik[p] );
void min( int jmlh, int larik[p] );void heap( int jmlh, int larik[p] );void varian();void varian2();
void main(){
lagi:
clrscr();
int qty,a,array[p],pil;textbackground(BLUE);
textcolor(YELLOW);varian();
clrscr();
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
24/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
gotoxy(28,20);coutqty;
delay(250);clrscr();
cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
25/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
void buble(int jmlh, int larik[p] ){ int tampung;
for(int i=1; i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
26/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
for(int i=1; i temp && j>=0 ){
larik[j+1] = larik[j];j=j-1;
}
larik[j+1] = temp;}
}
void max(int jmlh, int larik[p]){ int i, j, imaks, temp;
for(i=jmlh-1; i>=0; i--){ imaks = 0;
for(j=1; j larik[imaks] ){
imaks=j;}
}
temp = larik[i];larik[i] = larik[imaks];larik[imaks] = temp;
}
}
void min(int jmlh, int larik[p]){ int i, j, imin, temp;
for(i=0; i
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
27/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
sift(larik,i,jmlh);}
for( i=jmlh-1 ; i>=1; i-- ){
temp = larik[0];larik[0] = larik[i];larik[i] = temp;sift(larik,0,i-1);
}}
void sift(int aray[p], int x, int jumlah){
int done, max, temp;done=0;
while ( (x*2 aray[x*2+1] )
max = x*2;else
max = x*2+1;
if( aray[x] < aray[max] ){
temp = aray[x];aray[x] = aray[max];aray[max] = temp;
x=max;}
else done = 1;}
}
void varian(){ gotoxy(32,15);cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
28/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
29/36
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
30/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
flag = 0;
cout > target;
for(int cntr = 0; cntr < 10; cntr++){if(array[cntr] == target){cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
31/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
cout > jwb;} while(jwb=='y');
getch();}
3. Buat program mencari angka -5 sampai 5 menggunakan SEARCHING ?-----------------------------------------------------------------------------------------------------------------------CODING:#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,4,5};int cari, lokasi;
cout > cari;lokasi = search(array, OKE, cari);if (lokasi > -1)
cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
32/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
#include"iomanip.h"void main(){char nama [4][10]={"jasmine","leona","anggie","gina"};char alamat [4][25]={"Buah Batu, BANDUNG","Pondok Indah, JAKARTA","MekarIndah, BANDUNG","Kenari, BOGOR"};char telephon [4][15]={"085624246442","021-1234-5678","022-7836613","021-8232642"};char jajan [4][15]={"Rp.15.000.000,-","Rp.2.500,-","Rp.5Miliar,-","Rp.123.456,"};char *cari, *pilih;int x;
clrscr();
if(strcmp(cari,nama[x])!=0){gotoxy(10,2);cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
33/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
6. Buat program mencari index dengan flag ?-----------------------------------------------------------------------------------------------------------------------CODING:#include #include
int main(){ double target;int array[10] = {9,18,27,36,45,54,63,72,81,90};int flag;
clrscr();flag = 0;
cout > target;
for(int cntr = 0; cntr < 10; cntr++){if(array[cntr] == target)
{cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
34/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
}do{clrscr();couttuju;
if (tuju==nomor[tuju-1]){
cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
35/36
IMAM CIPTARJO 6307130
TUGAS 1 TI 1
29
return -1;}
9. Buat program contoh Linear 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 > cari;
lokasi = LinearSearch(angka, GOKILZ, cari);
if (lokasi > -1)cout
8/14/2019 Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi (www.alonearea.com)
36/36
Recommended