Struktur Data - 50 Soal Pointer, Sorting Dan Searching - Isi ()

Embed Size (px)

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