• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1"

Copied!
12
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM SEMENTARA

ALGORITMA & STRUKTUR DATA 1

Disusun oleh :

Nama : Joshua Steven Adrian NIM : 201301015

Dosen pengampu :

Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO

(2)

2

BAB I TEORI DASAR

Teknik insertion sort merupakan teknik pengurutan data yang paling sederhana dan mudah dipahami dan diterapkan.

Prinsip dasar teknik insertion sort : seolah-olah mengambil sebuah elemen dari tempat tertentu, lalu menyisipkan ke suatu tempat hingga elemen-elemen lain bergeser ke belakang.

 Quick Sort

Merupakan teknik membandingkan suatu elemen dengan elemen lain dan menyusunnya sedemikian rupa hingga elemen lainny yang lebih kecil dari pivot terletak disebelah kirinya dan elemen lainnya yang lebih besar dari pada pivot tersebut terletak disebelah kanannya.

(3)

3

BAB II

PENJELASAN PROGRAM

Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan sorting (insertion & quick) pada Program 7.1, Program 7.2.

Listing Program 7.1

/*

* 7.1.cpp *

* Created on: Apr 20, 2014 * Author: ACER

*/

#include "iostream" using namespace std;

void tampilkan_larik(int data[], int n) {

int i;

for(i=0; i<n; i++)

cout<<data[i]<<" "<<endl; }

void insertion_sort(int data[], int n) { int i, k, x, ketemu; for(k=1; k<n; k++) { x=data[k]; i=k-1; ketemu=0;

while((i>=0) && (!ketemu)) { if(x<data[i]) { data[i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } } int main(){ int JUM_DATA=8; int i;

(4)

4

int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, JUM_DATA); cout<<"Hasil pengurutan data: \n"; tampilkan_larik(data, JUM_DATA);

return 0; }

Output Program 7.1

Hasil output dari Program 7.1 adalah sebagai berikut :

Penjelasan Program 7.1

Berikut penjelasan dari Listing Program 7.1 :

 Tanda yang diawali /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang didalamnya mengandung sebuah perintah atau teks, maka saat program dirunning atau dijalankan tidak akan dibaca oleh compiler.  #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk

menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.

 <iostream> merupakan pengarah praprosesor yang input/masukkannya menggunakan cout ,dan penampung data ke programnya/outpunya menggunakan cin.

 Yang dimaksud using namespace std;adalah standar device sebuah program.

void tampilkan_larik(int data[], int n) {

Merupakan statement prosedur tampilkan_larik.

 Yang dimaksud int i; adalah tipe data i berbentuk int/ integer (bilangan bulat).

for(i=0; i<n; i++)

cout<<data[i]<<" "<<endl; }

(5)

5

void insertion_sort(int data[], int n) {

Merupakan statement prosedur insertion_sort.

 Yang dimaksud int i, k, x, ketemu; adalah tipe data i,k,x,ketemu berbentuk int/ integer (bilangan bulat).

for(k=1; k<n; k++) {

Merupakan statement perulangan/looping.

x=data[k]; i=k-1; ketemu=0;

Yang dimaksud “x” bernilai sama dengan data[k], “i” bernilai sama dengan k-1, “ketemu” bernilai 0.

while((i>=0) && (!ketemu)) { if(x<data[i]) { data[i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } } }

Merupakan statement while dan if. While merupakan statement perulangan yang berfungsi untuk melakukan perulangan suatu program., sedangkan if- else berfungsi untuk memilih /menyeleksi.

 Int main digunakan untuk memulai /memainkan program.

int JUM_DATA=8;

int i;

int data[]={25,57,48,37,12,92,80,33};

Yang dimaksud int JUM_DATA=9, int i, int data[]={25,57,48,37,12,92,80,33} adalah tipe data JUM_DATA, i, data berbentuk int/ integer (bilangan bulat). JUM_DATA bernilai 8, data[] berisi sama dengan 25,57,48,37,12,92,80,33.

(6)

6

insertion_sort(data, JUM_DATA); merupakan statement pemanggilan prosedur insertion_sort.

 Cout berfungsi sebagai input/masukkan dalam program. tampilkan_larik(data, JUM_DATA);

merupakan statement pemanggilan prosedur tampilkan_larik.  Return 0 digunakan untuk menampilkan hasil running di IMD.

 Tanda “{“ dan “}” berfungsi untuk membuka dan menutup badan prosedur.

Listing Program 7.2

/*

* 7.2.cpp *

* Created on: Apr 20, 2014 * Author: ACER

*/

#include "iostream" using namespace std;

void tampilkan_larik(int data[], int n) {

int i;

for(i=0; i<n; i++)

cout<<data[i]<<" "<<endl; }

int partisi(int data[], int p, int r) { int x, i, j, tmp; x=data[p]; i=p; j=r; while(1) { while(data[j]>x) j=j-1; while(data[i]<x) i=i+1; if(i<j) {

(7)

7 tmp=data[i]; data[i]=data[j]; data[j]=tmp; } else return j; } }

void quick_sort(int data[], int p, int r) { int q; if(p<r) { q=partisi(data, p, r); quick_sort(data, p, q); quick_sort(data, q+1, r); } } int main(){ int JUM_DATA=9; int i; int data[]={25,57,48,37,12,92,80,33,1}; quick_sort(data, 0, JUM_DATA-1);

cout<<"Hasil pengurutan data: \n"; tampilkan_larik(data, JUM_DATA);

return 0; }

Output Program 7.2

(8)

8

Penjelasan Program 7.2

Berikut penjelasan dari Listing Program 7.2 :

 Tanda yang diawali /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang didalamnya mengandung sebuah perintah atau teks, maka saat program dirunning atau dijalankan tidak akan dibaca oleh compiler.  #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk

menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.

 <iostream> merupakan pengarah praprosesor yang input/masukkannya menggunakan cout ,dan penampung data ke programnya/outpunya menggunakan cin.

 Yang dimaksud using namespace std;adalah standar device sebuah program.

void tampilkan_larik(int data[], int n) {

Merupakan statement prosedur tampilkan_larik.

 Yang dimaksud int i; adalah tipe data i berbentuk int/ integer (bilangan bulat).

for(i=0; i<n; i++)

cout<<data[i]<<" "<<endl; }

Merupakan statement perulangan/ looping.

int partisi(int data[], int p, int r) {

Merupakan statement prosedur partisi.

 Yang dimaksud int x, i, j, tmp; adalah tipe data x,i,j,tmp berbentuk int/ integer (bilangan bulat).

x=data[p]; i=p; j=r;

Yang dimaksud “x” bernilai sama dengan data[p], “i” bernilai sama dengan p, “j” bernilai r. while(1) { while(data[j]>x) j=j-1; while(data[i]<x) i=i+1;

(9)

9

Merupakan statement while didalam while didalam while lagi. While merupakan statement perulangan yang berfungsi untuk melakukan perulangan suatu program.

if(i<j) { tmp=data[i]; data[i]=data[j]; data[j]=tmp; } else return j; } }

Merupakan statement if- else yang berfungsi untuk memilih /menyeleksi.

void quick_sort(int data[], int p, int r) {

Merupakan statement prosedur quick_sort.

if(p<r) { q=partisi(data, p, r); quick_sort(data, p, q); quick_sort(data, q+1, r); } }

Merupakan statement if- else yang berfungsi untuk memilih /menyeleksi.  Int main digunakan untuk memulai /memainkan program.

int JUM_DATA=9;

int i;

int data[]={25,57,48,37,12,92,80,33,1};

Yang dimaksud int JUM_DATA=9, int i, int data[]={25,57,48,37,12,92,80,33,1} adalah tipe data JUM_DATA, i, data berbentuk int/ integer (bilangan bulat). JUM_DATA bernilai 9, data[] berisi sama dengan 25,57,48,37,12,92,80,33,1.

quick_sort(data, 0, JUM_DATA-1);

merupakan statement pemanggilan prosedur quick_sort.  Cout berfungsi sebagai input/masukkan dalam program.

tampilkan_larik(data, JUM_DATA);

merupakan statement pemanggilan prosedur tampilkan_larik.  Return 0 digunakan untuk menampilkan hasil running di IMD.

(10)

10

(11)

11

BAB III KESIMPULAN

insertion sort merupakan teknik pengurutan data yang paling sederhana dan mudah dipahami dan diterapkan.

Quick Sort merupakan teknik membandingkan suatu elemen dengan elemen lain dan menyusunnya sedemikian rupa hingga elemen lainny yang lebih kecil dari pivot terletak disebelah kirinya dan elemen lainnya yang lebih besar dari pada pivot tersebut terletak disebelah kanannya.

Jadi dengan melakukan sorting (insertion & quick) seperti pada Program 7.1, Program 7.2 maka dapat memudahkan pengguna untuk mengurutkan suatu data.

(12)

12

BAB IV

DAFTAR PUSTAKA

1. Modul praktikum algoritma & struktur data 1 (bab 7 sorting (insertion & quick) ). 2. Ardhana. YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclips Indigo C ++.

Referensi

Dokumen terkait

Selanjutnya, studi telah menunjukkan bahwa estimasi usia dengan metode CPCI (Coronal Pulp Cavity Index) merupakan metode yang didasarkan pada hubungan antara usia dan

Dalam penelitian ini yang dimaksud dengan konsumsi zat gizi adalah jumlah dan jenis zat gizi dari makanan yang dikonsumsi oleh unit percobaan selama penelitian berlangsung,

Tabel 3.1 Membandingkan tingkat kepentingan elemen-elemen tujuan dibawah ini berdasarkan aktor Pelaku Industri Elemen Tujuan A Elemen Tujuan B Peningkatan Pendapatan

Adapun fungsi-fungsi dari setiap rangkaian, seperti rangkaian Minimum Sistem Mikrokontroller ATMega 16 di gunakan sebagai control otak dari input menuju output yang

Tahap analisis morfologi pada preprocessing ini dilakukan dengan menerapkan sistem MorphInd sebagai penganalisis morfologi bahasa Indonesia yang akan

Jenis penelitian ini adalah penelitian kualitatif, yaitu penelitian dengan tujuan untuk mengetahui faktor-faktor penyebab keterlambatan pengiriman laporan bulanan KIA

Apabila kita melihat dari regulasi lembaga permasyrakatan yang telah diatur dalam Undang-Undang Nomor 12 Tahun 1995 tentang permasyarakatan, Menurut pasal 1 ayat 2 Sistem

Pertama-tama penulis memanjatkan puji syukur ke hadirat Tuhan YME yang senantiasa melimpahkan kasih, rahmat serta hidayah-Nya sehingga penulis dapat menyelesaikan