soal struktur data

15
Hal 6 Bab I 1. Buatlah program perkalian matriks dengan menggunakan bahasa pemograman C/C++ 3. Buatlah program pendataan data mahasiswa dengan menggunakan tipe data record dengan menggunakan bahasa pemograman C/C++ Hal 28 Bab IV 1. Carilah 2 metode sorting lainnya dan buatlah masing-masing algoritma. Flowchart dan pemograman dengan menggunakan bahasa C/C++ 2. dari contoh program sorting dengan metode bubble sort diatas dengan bahasa Pascal, rubahlah kedalam bahasa pemograman C/C++ Hal 35 Bab V 1. carilah 2 metode searching (pencarian) lainnya dan buatlah masing-masing algoritma. Flowchart dan pemogramannya dengan menggunakan bahasa C/C++ Hal 43 Bab VI 1. jika anda sebagai agen penjualan karcis Bus antar kota. Anda calon penumpang dating ke loket dan ingin membelikan tiket dari Jakarta ke Banyuwangi, hanya dengan Bus super cepat ABC. Tetapi bus ABC tidak ada yang langsung dari Jakarta ke

description

soal struktur data

Transcript of soal struktur data

Page 1: soal struktur data

Hal 6 Bab I

1. Buatlah program perkalian matriks dengan menggunakan bahasa

pemograman C/C++

3. Buatlah program pendataan data mahasiswa dengan menggunakan tipe

data record dengan menggunakan bahasa pemograman C/C++

Hal 28 Bab IV

1. Carilah 2 metode sorting lainnya dan buatlah masing-masing algoritma.

Flowchart dan pemograman dengan menggunakan bahasa C/C++

2. dari contoh program sorting dengan metode bubble sort diatas dengan

bahasa Pascal, rubahlah kedalam bahasa pemograman C/C++

Hal 35 Bab V

1. carilah 2 metode searching (pencarian) lainnya dan buatlah masing-

masing algoritma. Flowchart dan pemogramannya dengan menggunakan

bahasa C/C++

Hal 43 Bab VI

1. jika anda sebagai agen penjualan karcis Bus antar kota. Anda calon

penumpang dating ke loket dan ingin membelikan tiket dari Jakarta ke

Banyuwangi, hanya dengan Bus super cepat ABC. Tetapi bus ABC tidak

ada yang langsung dari Jakarta ke Banyuwangi, jika diketahui jalur ABC

antar kota sebagai berikut:

dari jalur bus ABC tersebut, diminta:

a. konversikan ke dalam bentuk Tree

b. buatlah jalur Depth-Search, Breadth-First-Search dan Hill-Climbing-

Search dengan kota berangkat dari Jakarta akhir kota banyuwangi

Jawaban:

Hal 35 Bab V

2 metode searching lainnya :Interpolation search :Algoritma :

- Baca vektor yang akan diketahui, misalnya vektor A dengan N buah elemen dan urutkan

secara naik (Ascending)- Baca elemen yang akan dicari, misalnya data- Inisialisasi

Tentukan tm=0,  High = N dan Low = 0- Gunakan rumus

Posisi = (data – A[low] / A[high] –A[low] ) * ( high – low ) + low- Ketika data >= A[low] dan data<= A[high] lakukan

Jika A[posisi] = data maka tm+1

Page 2: soal struktur data

Jika A[posisi] > data maka high = posisi - 1Jika A[posisi] < data maka low = posisi + 1

- Jika tm > 0 maka data ditemukan- Selesai

Program metode interpolation search

Source code :#include<stdio.h>#include   <conio.h>void   main(){

//deklarasi   variableint   A[10],   i,j,k,tkr,low,high,pos,tm;//proses   penginputan   datafor(i=0;i<10;i++){

printf("data   ke-%d:",i+1);scanf("%d",&A[i]);

}//Input   data   yang   akan   dicariclrscr();printf("Masukkan   data   yang   akan   anda   cari:");scanf("%d",&k);//proses   pengurutan   datafor(i=0;i<10;i++){

for(j=i+1;j<10;j++){

if   (A[i]>A[j]){

tkr=A[i];A[i]=A[j];A[j]=tkr;

}}

}//proses   pencarian   datatm=0;high=9;low=0;do{

pos   =   ((k   -   A[low])   /   (A[high]   -   A[low]))*(high-low)   +low;

if   (A[pos]   ==   k){

tm++;

Page 3: soal struktur data

break;}

if   (A[pos]   >   k)high   =   pos-1;

elseif   (A[pos]   <   k)low   =   pos   +   1;

}while(k   >=   A[low]   &&   k   <=   A[high]);if   (tm>0){

printf("data   %d   yang   dicari   ada   dalam   array\n",k);

}//jika   tidak   ditemukanelse{

printf("data   tidak   ditemukan   dalam   array\n");}

Hasil output programnya :

Metode pencarian dengan sentinel :Algoritma :- Baca vektor yang akan diketahui, misalnya vektor array dengan 

n elemen- Baca data yang akan dicari, misalnya x- Inisialisasi i = 0- Test apakah array[i]  tidak sama dengan x- Jika tidak maka  i +1- Jika i < N maka data ditemukan

Program metode pencarian sentinel :Source Code :#   include   <conio.h>

Page 4: soal struktur data

#   include   <stdio.h>#   include   <math.h>void   main(){int   array[]={9,23,90,8,52,3,4,5},   i=0,x;printf   ("masukkan   data   yang   akan   dicari   ");scanf   ("%d",   &x);array[8]=x;i=0;while(array[i]!=x)i++;if   (i<8){printf("Data   ditemukan");}elseprintf   ("data   tidak   ditemukan");getch();}

Hasil output programnya :

Flowchart Metode interpolation search  dan metode sequential dengan sentinel search- Flowchart metode interpolation search

Mulai

Intarray[],N,ix;

i =0;

Page 5: soal struktur data

Input data (X)

If array[i]!=x

I<N i+1

Data ketemu

Selesai

Flowchart metode interpolation search :

Mulai

Int A,high,low,N,pos;

Input data dicari(A)

Page 6: soal struktur data

Tm=0, Low =0High=N

Pos=(A-x[low]/A[high]-A[low])*(high-low)+low

If A>=x[low] &&A<=A[high]

If tm = 0

If [pos] = A

If [pos] > A

Tm + 1

High =pos-1

Cetakhasil

Selesai

Page 7: soal struktur data

If [pos] < A

Page 8: soal struktur data

Low=pos + 1

Page 9: soal struktur data