Langsung ke konten utama

UTS STRUKTUR DATA

 

TUGAS UTS 


OPSI 1 BAGIAN 1

Pertanyaan :

Buatlah pengurutan menggunakan metode Bubble short Secara Ascending dari data dibawah ini :
5 2 21 4 9 16 13 3


Contoh:

data[1]=5;
data[2]=2;
data[3]=21;
data[4]=4;
data[5]=9;
data[6]=16;
data[7]=13
data[8]=3;

Perhatikan diatas kita mempunyai 5 elemen data, kita akan coba urutkan dengan teknik bubble sort secara ascending lewat langkah-langkah berikut:

  • Data[1] akan dibandingkan dengan data[2] jika nilai dari data[1] lebih besar dari data[2] maka posisinya akan ditukar.
  • data[1] selanjutnya akan terus dibandingkan dengan data[3],data[4] dan data[5]. Apabila nilai dari data[1] lebih besar maka posisinya akan terus ditukar.
  • Ketika data[1] telah selesai membandingkan dengan semua data yang ada, selanjutnya data[2] akan dibandingkan lagi dengan data[3],data[4] dan data[5]. cara kerjanya sama bila nilai pada data[2] lebih besar dengan data yang dibandingkan maka posisinya akan ditukar. Pada tahap ini data[1] sudah tidak dibandingkan lagi karena sudah mempati posisi pengurutan yang tepat.
  • Begitupun dengan Proses pembandingan data lain yang akan terus berjalan hingga memenuhi urutan yang diinginkan.


Implementasi Kedalam Program c++

#include <iostream>
#include <conio.h>
using namespace std;
    int data[10], data2[10];
    int n;
    
int tukar (int a,int b){
    int t;
    t=data[b];
    data[b]=data[a];
    data[a]=t;
}

int input(){
    cout<<"Masukan Jumlah Data = ";
cin>>n;

cout<<endl;
    
    for (int i=0;i<n;i++){
    	cout<<"Masukan Data Ke-"<<i+1<<" = ";
    	cin>>data[i];
    	
    	data2[i]=data[i];
	}
	cout<<endl;	
}

int tampil(){
	for (int i=0;i<n;i++){
	     cout<<"["<<data[i]<<"] ";
	}
	cout<<endl;
}

int 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);
			}
		}
		tampil();
	}
	cout<<endl;
}


int main()
  {
  	cout<<"ALGORITMA BUBBLE SORT"<<endl;
  	cout<<"----------------------"<<endl;
	input();
	cout<<"Proses Bubble Sort"<<endl;
	tampil();
	bubble_sort();
  getch();
  }

Hasil Output





Latihan array tiga dimensi :

OPSI 2 BAGIAN 2

Diketahui suatu Array 3 dimensi yang dideklarasikan dengan A[2][5][6] Pada Bahasa C++ Setiap elemen terdiri dari 4 byte. Alamat elemen pertama BC9A H

A. Jumlah Elemen : [2] * [5] * [6] = 60
B. Jumlah Byte Seluruhnya : 60 * 4byte = 240 byte


C1. Row Major Order


Ditanya :    &A[1][3][5] 
Diketahui : &A[0][0][0] 
                          1   3  5  
                 

Pindah kolom = 1 kolom = 1 elemen 
Pindah baris = 3 baris x 6 elemen/baris = 18 elemen 
Pindah blok = 5 blok x 24 elemen/blok = 120 elemen 
Total perpindahan = 1 + 18 + 120 = 139 elemen
Pindah  =  139 Elemen
=  139  * 4 Byte
=  556  Byte  (Decimal)
=  22C  Hexa Dec
Jadi Alamat  @A[1],[3],[5] =   BC9A  +  22C  = BEC6



C2. Coloumn Major Order


Ditanya :    &A[1][3][5] 
Diketahui : &A[0][0][0]
                          1   3  5
 
Pindah kolom = 1 kolom x 4 elemen/kolom = 4 elemen 
Pindah baris = 3 baris = 3 elemen 
Pindah blok = 5 blok x 24 elemen/blok = 120 elemen 
Total perpindahan = 4 + 3 + 120 = 127 elemen
Pindah  =  127 Elemen
=  127  * 4 Byte
=  508  Byte  (Decimal)
=  1FC  Hexa Dec
Jadi Alamat  @A[1],[3],[5] =   BC9A  +  1FC  = BE96



OPSI 3 BAGIAN 3 : Buble Short


Buatlah pengurutan dari data dibawah ini :
90 145 67 23 189 29 334 92 266 95



Implementasi Kedalam Program c++


#include <iostream> using namespace std;
int main(){
//disini kita melakukan pembuatan array yang mana berasal dari inputan user
6 int banyakA;
7 int x[100];
8 cout<<"masukann banyak array :";
9 cin>>banyakA;
10 for(int m=0;m<banyakA;m++){
11 cout<<"masukan array ke "<<m<<" :";
12 cin>>x[m];
13 }
//proses pembuatan array
//menampilkan array sebelum di sorting
16 cout<<"array awal adalah:"<<endl;
int y=banyakA-2;
int param;
for(int m=0;m<banyakA;m++){
cout<<x[m]<<" ";
}
22 cout<<endl<<endl<<"mulai proses sorting"<<endl;
//memulai proses sorting
25 while(y >= 0){
int index = 0;
while(index <= y){
if(x[index] > x[index+1]){
param = x[index];
x[index] = x[index+1];
x[index+1] = param;
}
index++;
}
//disini kita melakukan pengecekan hasil di setiap tahapan sort
for(int m=0;m<banyakA;m++){
cout<<x[m]<<" ";
}
cout<<endl;
y--;
42 }
//processing end
//disini kita melakukan looping untuk mengeluarkan hasil sorting
46 cout<<"hasil sortingnya adalah:"<<endl;
for(int m=0;m<banyakA;m++){
cout<<x[m]<<" ";
50 }
}


Keterangan :

line 6-13 : disini kita membuat form input untuk user, dimana user akan memberi inputan banyaknya array dan value dari setiap index array dan array tsb disimpan dalam variable x

line 16-22 : disini kita menampilkan array yang sudah di inputkan oleh user, sebagai pembanding sebelum dan sesudah di sorting.

line 25-42 : disinilah proses sorting terjadi, pertama kita akan melooping sebanyak array, lalu kita akan simpan indexnya di dalam variable index, setelah itu kita akan akan looping dan mengecek apakah setiap array ke index lebih besar dibanding array ke index+1? jika iya maka kita akan lakukan pertukaran

line 46-50 : disini kita tampilkan kembali array yang sudah di sorting.


Hasil Output



Komentar

Postingan populer dari blog ini

Tugas Pertemuan 6

SOAL 1. Buatlah suatu program Animasi Antrian dengan 4 buah pilihan : INSERT, DELETE, CETAK ANTRIAN, QUIT. Jika dipilih INSERT : program akan meminta user untuk menginput sebuah karakter yang akan dimasukan kedalam antrian Jika dipilih DELETE : maka karakter pertama masuk akan dikeluarkan dari antrian Jika dipilih CETAK ANTRIAN : komputer menampilkan karakter yang ada pada antrian Jika dipilih QUIT : program keluar   Jawaban #include<stdio.h> #include #include #include #define n 10 using namespace std; void INSERT(); void DELETE(); void CETAKLAYAR(); void Inisialisasi(); void RESET(); int PIL,F,R; char PILIHAN [1],HURUF; char Q[n]; void main ( ) { Inisialisasi(); do { cout >PILIHAN; PIL=atoi(PILIHAN); switch (PIL) { case 1: INSERT (); break; case 2: DELETE(); break; case 3: CETAKLAYAR (); break; default: cout >HURUF; Q[++R]=HURUF; } else cout
Digital marketing dalam perspektif seorang pengusaha atau pebisnis lebih kepada sistem pemasaran dengan menggunakan media internet. Sudah pasti, di dalamnya termasuk mobile phone hingga beberapa situs jejaring sosial lainnya. Hanya saja, agar Teknik ini lebih mengena kepada sasaran, sepertinya Teknik promosi lebih dikesampingkan dan mengutamakan komunikasi. Menjalin hubungan secara personal dengan konsumen dengan cara mendengar keluhan atau saran akan membuat pelanggan lebih merasa dihargai. Yang pada akhirnya akan memberikan nilai tambah terhadap perkembangan bisnis terutama brand perusahaan. Terlihat sederhana namun sulit untuk dipastikan terlebih bagi mereka yang kurang memahami akan pengertian digital marketing sebenarnya. (Daengs, Achmad, Andi Farouq, 2016 : 287-293). Menurut Urban (2004:2) Digital Marketing menggunakan internet dan teknologi informasi untuk memperluas dan meningkatkan fungsi marketing tradisional. Definisi ini berkonsentrasi pada seluruh marketing tradisi...

Tugas Pertemuan 14

  Latihan  Pohon dengan jumlah simpul=273 merupakan Full atau atau Complete tree  Berapa kedalamannya?  Nomor berapa simpul terkiri dari level tersebut?  Berapa jumlah maksimum simpul pada level 7  Nomor berapa anak kanan dari simpul ke 180? Ada dilevel berapa anak tersebut  Nomor berapa orang tua dari simpul ke 83? Ada di level berapa orang tua tertsebut?  Jawaban : Complete tree 9 level Nomor 256 64 Simpul tidak ada, karena rumus anak kanan adalah 2n+1, maka 2(180)+1=361. sementara jumlah simpul sebanyak 273. orang tua dari simpul ke 83 adalah 41, berada pada level 6. Kirimkan Ini lewat Email BlogThis! Berbagi ke Twitter Berbagi ke Facebook