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 17

Circular Doubly Linked List adalah sederetan elemen yang saling berhubungan satu dengan yang lain, dimana pointer kiri simpul pertama menunjuk simpul terakhir dan pointer kanan simpul terakhi menunjuk simpul pertama. Semua simpul berhak menjadi simpul pertama. Jika suatu simpul dibuat menjadi simpul depan maka simpul yang ada di sebelah kiri merupakan simpul belakang. Pendeklarasian simpul untuk Circular Doubly Linked List sama dengan pendeklarasian pada Doubly Linked List. Operasi yang ada pada Doubly Linked List juga berlaku pada Circular Doubly Linked List, hanya saja pada Circular tidak mengandung NULL, perhatikan gambar 8. Operasi pada Circular Doubly Linked List Operasi pada Circular Doubly Linked List juga dapat dilakukan penyisipan dan penghapusan simpul. a. Operasi Penyisipan Simpul Operasi penyisipan simpul ke suatu Linked List juga ada tiga, yaitu penyisipan simpul di depan, penyisipan simpul di belakang, dan penyisipan simpul di tengah. Karena semua simpul berhak menjadi si...

Tugas Pertemuan 18

Dalam pemograman pada bahasa C memiliki cara untuk mengurutkan data. Konsep sorting dapat memudahkan untuk mengurutkan data acak. Macam-macam metode sorting dalam bahasa C antara lain : 1. Bubble Sort Bubble sort adalah metode pengurutan data dengan cara melakukan penukaran data tepat di sebelahnya secara terus menerus sampai dipastikan dalam satu iterasi tidak ada lagi perubahan. Jika tidak ada perubahan maka data sudah terurut. Proses pengurutan Bubble Sort Berikut merupakan proses pengurutan Bubble Sort dengan array  "7 9 4 1 5". Proses pertama : (7 9 4 1 5) menjadi (7 9 4 1 5) (7 9 4 1 5) menjadi (7 4 9 1 5) (7 4 9 1 5) menjadi (7 4 1 9 5) (7 4 1 9 5) menjadi (7 4 1 5 9) Proses kedua : (7 4 1 5 9) menjadi (4 7 1 5 9) (4 7 1 5 9) menjadi (4 1 7 5 9) (4 1 7 5 9) menjadi (4 1 5 7 9) (4 1 5 7 9) menjadi (4 1 5 7 9) Proses ketiga : (4 1 5 7 9) menjadi (1 4 5 7 9) (1 4 5 7 9) menjadi (1 4 5 7 9) (1 4 5 7 9) menjadi (1 4 5 7 9) (1 4 5 7 9) menjadi (1 4 5 7 9) Jika diperhatikan, ...
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...