: Zulfahmi Jufri
NIM
: 1507055034
Tugas Struktur Data
2. Modul Binary Search
Algoritma :
/* Buat prosedur dengan nama binarySearch */
if (arr[tengah] == x ) {
return tengah+1;
/* Jika nilai data array[tengah] lebih besar dari angka yg dicari, maka
pencariannya dilanjutkan ke data sebelumnya */
:
:
:
:
:
1507055034/Zulfahmi Jufri
binary.h
Binary Search
20/10/2016
Koding untuk modul program binary search
yang berisi rumus-rumus pencarian binary
search. */
/* NIM/Nama
Nama File
Topik
Tanggal
Deskripsi
:
:
:
:
:
1507055034/Zulfahmi Jufri
binary.cpp
Binary Search
20/10/2016
Koding utama untuk program binary search yang
berisi pemanggilan modul binary.h, inputan
inputan, dan tampilan hasil.*/
#include <iostream.h>
#include <conio.h>
#include"binary.h"
int main() {
int arr[100], jml, x, hasil;
cout<<" \n Masukkan jumlah data yang akan diinput(Max 100) :
";
cin>>jml;
for (int i = 0; i < jml; i++) {
cout<<"\n Masukkan nilai data ke "<<i+1<<": ";cin>>arr[i];
}
cout<<"\n Masukkan angka yang ingin dicari : ";
cin>>x;
hasil = binarySearch (arr, x, jml);
if (hasil == -1) {
cout<<" \n Angka tidak ditemukan.";
} else {
cout<<" \n Angka ditemukan pada posisi ke "<<hasil ;
}
getch();
return 0;
}
3. Modul Sorting
Algoritma :
- Bubble Sort
void bubble_sort()
{
/* Memproses dari data pertama sampai data terakhir */
for(int i=1;i<n;i++)
{
/* Periksa nilai data dari data terakhir */
for(int j=n-1;j>=i;j--)
{
/* Jika nilai pada data[j] < data[j-1] (data sebelumnya) maka nilai
keduanya ditukar (menggunakan procedure tukar) */
if(data[j]<data[j-1]) tukar(j,j-1);
}}}
Selection Sort
void selection_sort()
{
int pos,i,j;
/* Memproses dari data pertama sampai data terakhir */
for(i=0;i<n-1;i++){
pos = i;
/* Periksa nilai data dari data pertama */
for(j = i+1;j<n;j++){
/* Jika nilai pada data[j] < data[pos] maka nilai keduanya ditukar
(menggunakan procedure tukar) */
for(i=1;i<n;i++){
temp = data[i];
j = i -1;
/* Selama nilai dari data[j] > temp dan j >= nol maka data[j+1] =
data[j] dan nilai j terus berkurang 1 */
/* NIM/Nama
Nama File
Topik
Tanggal
Deskripsi
sorting.cpp
: 1507055034/Zulfahmi Jufri
: bubble.h
: Sorting
: 20/10/2016
: Koding untuk modul bubble sort pada
*/
void bubble_sort()
{
for(int i=1;i<n;i++){
for(int j=n-1;j>=i;j--){
if(data[j]<data[j-1]) tukar(j,j-1);
}}}
/* NIM/Nama
Nama File
Topik
Tanggal
Deskripsi
sorting.cpp
: 1507055034/Zulfahmi Jufri
: selection.h
: Sorting
: 20/10/2016
: Koding untuk modul selection sort pada
*/
void selection_sort()
{
int pos,i,j;
for(i=0;i<n-1;i++){
pos = i;
for(j = i+1;j<n;j++){
if(data[j] < data[pos]) pos = j;
}
if(pos != i) tukar(pos,i);
}}
/* NIM/Nama
Nama File
Topik
Tanggal
Deskripsi
sorting.cpp
: 1507055034/Zulfahmi Jufri
: insertion.h
: Sorting
: 20/10/2016
: Koding untuk modul insertion sort pada
*/
void insertion_sort(){
int temp,i,j;
for(i=1;i<n;i++){
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0){
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
/* NIM/Nama
Nama File
Topik
Tanggal
Deskripsi
*/
:
:
:
:
:
1507055034/Zulfahmi Jufri
tukar.h
Sorting
20/10/2016
Koding untuk modul tukar pada sorting.cpp
4. Pengolahan Matriks
Algoritma :
- Penjumlahan Matriks
/*Panggil semua baris */
for (i=0;i<3;i++){
/*Panggil semua kolom */
for (j=0;j<3;j++){
/*Menambahkan matriks array A[i][j]+B[i][j] */
C[i][j]=A[i][j]+ B[i][j];
}
Perkalian Matriks
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
D[i][j]=0;
/*Variabel baru untuk mengali */
for(int k=0;k<3;k++)
{
/*D[i][j] adalah hasil sum dari A[i][k]*B[k][j] */
D[i][j]+=A[i][k]*B[k][j];
}
}
}
for (i=0;i<3;i++){
for (j=0;j<3;j++){
C[i][j]=A[i][j]+ B[i][j];
}
cout<<endl;
}
for(i=0;i<3;i++)
tambah dan kali { */
for(j=0;j<3;j++)
{
#include
<iostream.h>
D[i][j]=0;
#include <conio.h>
k=0;k<3;k++) {
intfor(int
main(){
intD[i][j]+=A[i][k]*B[k][j];
A[3][3];
}}
int}B[3][3];
int C[3][3];
int D[3][3];
int i,j;
cout<<"Matriks Ordo 3X3"<<endl;
for (i=0;i<3;i++){
for (j=0;j<3;j++){
cout<<"Matrik A["<<i<<","<<j<<"] : ";
cin>>A[i][j];}}
cout<<endl;
for (i=0;i<3;i++){
for (j=0;j<3;j++){
cout<<"Matrik B["<<i<<","<<j<<"] : ";
cin>>B[i][j];}}
#include"tambah.h"
#include"kali.h"
cout<<"Hasil Tambah : " <<endl;
for (i=0;i<3;i++){
for (j=0;j<3;j++){
cout<<C[i][j]<<" ";}
cout<<endl;}
cout<<"Hasil Kali : " <<endl;
for (i=0;i<3;i++){
for (j=0;j<3;j++){
cout<<D[i][j]<<" ";
}
cout<<endl;
}
getch();
}