Langsung ke konten utama

MAKALAH STRUKTUR DATA


KATA PENGANTAR

                                            Bismillahirrahmanirrahim.
Assalamu’alaikum Wr.Wb.
Puji Syukur kami panjatkan kehadirat Allah SWT, yang telah melimpahkan berbagai rahmat dan Karunia-Nya sehingga kami masih diberi kesempatan untuk meyelesaikan tugas Makalah ini guna memenuhi tugas mata kuliah Struktur Data. Shalawat serta salam semoga senantiasa tercurahkan kehadirat Nabi kita Muhammad SAW, Keluarga, Sahabat, dan para Pengikutnya yang tetap setia menjaga dan mengikuti sunnahnya hingga akhir zaman. Dalam penyusunan Makalah STD ini, tidak sedikit hambatan yang kami hadapi. Namun dengan penuh kesabaran dan terutama pertolongan dari Allah SWT akhirnya Makalah ini dapat terselesaikan, tetapi kami menyadari masih banyak kekurangan dan jauh dari sempurna, oleh karena itu saran dan kritik yang kontruktif dari semua pihak terutama dari Bapak Dosen pembimbing mata kuliah ini sangat kami harapkan demi perbaikan di masa yang akan datang. Semoga Makalah STD ini, dapat bermanfaat dan berguna untuk para mahasiswa, atas perhatiannya kami ucapkan terima kasih.


Kendal, Maret 2018
















BAB I
PENDAHULUAN
A.    Latar Belakang.
Pada tugas kali ini yang membahas tentang Sorting & Searching, antara lain:
·         Sorting adalah Proses mengurutkan, menyusun/ memindahkan posisi elemen-elemen/ data dengan tata urut tertentu pada array.
·         Jenis tampilan berupa Ascending/ proses menaik dan Discending/ proses menurun.
-          Ascending
Ex: A-Z, 0-9.
-          Discending
Ex: Z-A, 9-0.
·         Beberapa macam metode Sorting yaitu :
-          Bubble sort, exchange sort, selection sort, merge sort, quick sort, insertion sort, heap sort.
·         Sedangkan Searching adalah Proses penelusuran/ pencarian posisi elemen-elemen / data pada array.
·         Jenis tampilannya sama berupa Ascending dan Discending.
·         Terdapat 2 macam metode Searching yaitu :
-          Sequential Search/ pencarian berurutan dan Binary Search/ pencarian biner.
B.     Tujuan.

a.       Mahasiswa dapat memahami berbagai macam algoritma pengurutan (sorting) dan pencarian (searching).
b.      mahasiswa dapat menemukan / menentukan algoritma pengurutan dan pencarian yang paling cepat dan tepat untuk suatu masalah tertentu.

BAB II
TUGAS PENDAHULUAN
Pertanyaan :
1.      Buatlah algoritma pengurutan data dengan menggunakan beberapa macam metode sorting di atas.
2.      Buatlah algoritma pencarian data dengan menggunakan metode binary search dan sequential search.



















Jawab :

1.      Metode Sorting.

a.      Metode Bubble Sort.
Metode pengurutan buble sort/ gelembung, prosedur atau algorimatnya adalah sbb:
-          pengecekan dimulai dari data ke-1 sampai dengan data ke-n.
-          bandingkan data ke-n dengan data sebelumnya (n-1),jika lebih kecil maka tukar bilangan tersebut dengan data yang ada didepanya satu persatu (n-1,n-2,n-3,..dst).
-          lakukan langkah ke 2 sampai mendapatkan urutan yang maksimal.
Berikut ini kita akan mencoba membuat sebuah program pengurutan data atau Sorting dengan metode Bubble Sort. kita akan memasukan 15 data yang int Data[15]={8,1,45,2,5,2,9,6,12,7,8,6,10,11,44};  yang tidak berurutan. pemrogramanya, serta kita akan meghitung berapa banyak proses pertukaran posisi data, dan berapa banyak proses perbandingan data. contoh codingnya adalah sebagai berikut :
ü  Contoh Program Metode Bubble Sort
int tmp,TK, FB:
void main () {
int Data[15]:{8,1,45,2,5,2,9,6,12,7,8,6,10,11,44};
cout<<">>> Sorting dengan Metode Bubble <<<\n’’;
cout<<"_______________________________________\n":
cout<<"\n\nData sebelum di Urutkan >> ";
for (int i=0: i<15; i--) {
cout<Data[i]<<" ";
}
for (int h=0; h<15; h++){
for (int i=0; i<15; i--) {
FB++;
if (Data[i] > Data[i+1]){
tmp=Data[i];
Data[i]=Data[i+1];
Data[i+1]=tmp;
TK--;
}
}
}
cout<<endl<<endl;
cout<<"Data Sesudah di Urutkan >> ";
for (int j=0; j<15; j++){
cout<<Data[j]<<" ";
}
cout<<"\n\nJumlah Proses Pertukaran = "<<TK;
cout<<"\n\nJumlah Proses Perbandingan = "<<FB;
getch();
}
Output dari porgram tersebut adalah sebagai berikut :


b.      Metode Selection Sort.
Metode pengurutan selection sort,prosedur atau algorimatnya adalah sbb :
-          pengecekan dimulai dari data ke -1 sampai dengan data ke n.
-          tentukan bilangan dengan index terkecil dari data bilangan tersebut.
-          tukar bilangan dengan index terkecil tersebut dengan bilangan pertama (I= 1)dari bilangan tersebut.
-          lakukanlah langkah 2 dan 3 untuk bilangan berikut (I=I+1)sampai dapatkan urutan yang optimal.

c.       Metode Merge Sort.
Metode pengurutan merge sort,prosedur atau algorimatnya adalah sbb:
-          kelompokan 2 deret bilangan menjadi 2 bagian,4 bagian,8 bagian dst.
-          urutkan secara langsung bilangan dalam kelompok tersebut.
-          lakukanlah langkah diatas untuk kondisi bilangan yang lain sampai didapatkan urutan yang maksimal.
d.      Metode Quick Sort.
Metode pengurutan Quick sort,prosedur atau algorimatnya adalah sbb:
-          tentukan bilangan batas bawah (lower bound(I = 1)) dan tentukan bilangan batas atas (upper bound(I = N)).
-          syarat pemindahan adalah LB&UB.
-          Jika LB& UB lakukan pertukaran diantara dua bilangan tersebut.
-          lakukan langkah 2 dan langkah 3 untuk bilangan selanjutnya sampai mendapat urutan yang optimal.

e.       Metode Insertion Sort.

Metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb:

-          pengecekan dimulai dari data ke -1 sampai dengan data ke n.
-          Pengurutan dilakukan dengan cara membandingkan data ke- 1.
-          Bandingkan data ke- 1 dengan data sebelumnya,jika lebih kecil data tersebut bisa.
-          lakukan langkah 2 dan 3 sampai mendapatkan urutan yang optimal.

f.       Metode Heap Sort.

Metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb :

-          Buat Heap Maksimum.
-          Jika N lebih besar dari 1 maka tukarkan Nilai/Prioritas root dengan prioritas simpul terakhir (simpul ke-N) tetapi jika N sama dengan 1 maka ambil nilai yang ada di root.
-          Kemudian nilai banyak simpul (N) dikurangi 1.
-          Jika N &gt; 1 maka lakukan reorganisasi heap yaitu proses sift down terhadap root.
Lakukan langkah 2 sampai 4 sampai simpul habis (N=0).

Komentar

Postingan populer dari blog ini

PENGERTIAN DAN JENIS JENIS TIPE DATA

Assalamualaikum wr.wb. A. Tipe Data      1. Pengertian Tipe data     Tipe data adalah jenis nilai yang dapat ditampung oleh suatu variabel. 2.  Jenis- jenis tipe data / Data Type a) Tipe data primitive (Sederhana)           Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive  adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.         1.  Numerik          Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai             dalam bentuk angka. Tipe data ini terbagi atas integer, dan real.         a.   Integer               Integer Merupakan tipe data berupa bilangan bulat, terbagi atas             beberapa kategori seperti table dibawah ini                 b. Real              Real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan.   

CONTOH DIAGRAM ERD PERPUSTAKAAN

Gambar ERD dalam peminjaman buku di perpustakaan: ——————————————————————————————————————————————————————– Contoh Kasus 2: Seperti deskripsi soal kasus nomor 1, namun ada beberapa tambahan penjelasan seperti berikut: Seorang mahasiswa boleh meminjam beberapa buku. Satu buku boleh dipinjam beberapa mahasiswa. Semua mahasiswa sangat pelu buku sehingga tidak ada yang tidak pernah meminjam ke perpustakaan. Setiap peminjam akan dicatat tanggal peminjamannya. Semua mahasiswa disiplin mengembalikan buku tepat satu minggu setelah peminjaman. Gambarkan ERDnya!! MODEL ENTITY – RELATIONSHIP Model Entity Relationship : Suatu penyajian data dengan menggunakan Entity dan Relationship Entity : Objek secara fisik : Buku, Perpustakaan, Mahasiswa Objek secara konsep : Meminjam Relationship :  Atribut : Atribut Multivalue Derajat dari Relationship : Trenary degree (Derajat Tiga) Cardinality Ratio Constraint M : N  Particip

Flowchart adalah

Assalamualaikum Wr. Wb. Flowchart  A. Pengertian Flowchart (Diagram Alir)                 Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.   Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi – notasi tertentu. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antar proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian – bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.  Walaupun tidak ada kaidah – kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :  1) Hindari