LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1

dokumen-dokumen yang mirip
LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

LAPORAN PRAKTIKUM RESMI QUEUE

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

JURUSAN SISTEM INFORMASI

LAPORAN PRAKTIKUM ALGORITMA & STRUKTUR DATA II PROGRAM KASIR KANTIN DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN C++

REVIEW ARRAY. Institut Teknologi Sumatera

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

LATIHAN SOAL (FUNGSI & PROSEDUR)

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

SORTING (Pengurutan)

Gambar 13.1 Ilustrasi proses algoritma sorting

Selection / Pemilihan PEMILIHAN

Modul Praktikum 6 Pemograman Berorientasi Objek

Konsep Dasar Pemrograman Dan Pengenalan C++

Politeknik Elektronika Negeri Surabaya

Algoritma dan Pemrograman 2 PENGURUTAN

Komentar, Identifier, Konstanta dan Variabel

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Politeknik Elektronika Negeri Surabaya

MODUL 5 PERULANGAN (LOOPING)

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

STRUKTUR DASAR PEMROGRAMAN

Modul 8 SORTING (PENGURUTAN)

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

BAB VI Pengurutan (Sorting)

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

PRAKTIKUM 4 PERCABANGAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

Penggunaan Private dan Public dalam C++

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Kurikulum Qt. Chapter 4 Function. Fungsi

PEMROGRAMAN BERORIENTASI OBJEK. Percabangan. Budhi Irawan, S.Si, M.T

Dasar-dasar C/C++ Ekohariadi FT Unesa

Sorting. Pertemuan ke 14.

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PERULANGAN Pengampu : Agus Priyanto, M.Kom

Modul Praktikum Algoritma dan Struktur Data

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Algoritma & Pemrograman Lanjut FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Pencarian (Searching)

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

Politeknik Elektronika Negeri Surabaya

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

PEMROGRAMAN BERORIENTASI OBJEK

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

A. Putting a Program Together

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Pengantar Pemrograman

A. Putting a Program Together

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

PENGENALAN FUNGSI C++

MATERI IV ARRAY. Materi Praktikum Pemograman Bahasa C++ dengan menggunakan variabel Array

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

StrukturDasarProgram Prosedural (dalambahasac++)

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-9 Pengurutan (Sorting) 2

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

SATUAN ACARA PERKULIAHAN(SAP)

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Abstrak. Pendahuluan. cerita. Pemrograman. mewakili semua. Struktur Bahasa. dan deklarasi. Mari. ilmuti.org Seluruh disertakan dalam

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

OPERASI SELEKSI PEMROGRAMAN C++

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

PENGENALAN C++ Bab 1

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

A. TUJUAN PEMBELAJARAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Algoritma & Pemograman (Flowchart & C++)

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Transkripsi:

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 2014

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. 2

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; 3

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; Merupakan statement perulangan/ looping. 4

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. 5

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) 6

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 Hasil output dari Program 7.2 adalah sebagai berikut : 7

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; 8

if(i<j) Merupakan statement while didalam while didalam while lagi. While merupakan statement perulangan yang berfungsi untuk melakukan perulangan suatu program. 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. 9

Tanda dan berfungsi untuk membuka dan menutup badan prosedur. 10

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. 11

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 ++. Yogyakarta: CAPS (Center of Academic Publishing Service). 12