soal struktur data
-
Upload
wahyu-nisa-alsera -
Category
Documents
-
view
103 -
download
15
description
Transcript of 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
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++;
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>
# 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;
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)
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
If [pos] < A
Low=pos + 1