SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

dokumen-dokumen yang mirip
SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

BAHAN AJAR. Mata Kuliah Struktur Data. Disusun oleh: Eva Yulianti, S.Kom.,M.Cs

SORTING (PENGURUTAN DATA)

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

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

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

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

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

ALGORITMA PENGURUTAN & PENCARIAN

Simulasi Pengurutan Data Dengan Metode Seleksi

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

Pengurutan (Sorting) Algoritma Pemrograman

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N

PERTEMUAN 10 METODE DEVIDE AND CONQUER

STRUKTUR DATA SORTING ARRAY

CCH1A4 / Dasar Algoritma & Pemrogramanan

BAB 8 SORTING DAN SEARCHING

Powered by icomit.wordpress.com

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

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

7. SORTING DAN SEARCHING

PERTEMUAN 10 METODE DEVIDE AND CONQUER

BAB VI SORTIR ATAU PENGURUTAN

BAB VI Pengurutan (Sorting)

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

SORTING. Brigida Arie Minartiningtyas, M.Kom

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Gambar 13.1 Ilustrasi proses algoritma sorting

BAB V SORTING (PENGURUTAN) INTERNAL

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Modul 8 SORTING (PENGURUTAN)

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

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

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

Algoritma dan Struktur Data

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Pengertian Algoritma Pengurutan

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Searching dan Sorting

BAB VI SEARCHING (PENCARIAN)

Materi 4: SORTING (PENGURUTAN) Dosen:

Algoritma Bubble Sort dan Quick Sort

BAB I PENDAHULUAN.

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

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

STRUKTUR DATA (3) sorting array. M.Cs

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Politeknik Elektronika Negeri Surabaya

PENGURUTAN (SORTING) 1. Overview

Bubble Sort (Pengurutan Gelembung / Pemberatan)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Fakultas Teknologi Informasi

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

RENCANA PEMBELAJARAN SEMESTER (RPS)

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

SATUAN ACARA PERKULIAHAN(SAP)

SILABUS : DESAIN DAN ANALISIS ALGORITMA. : I Ketut Resika Arthana, S.T., M.Kom NIP :

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

Kompleksitas Algoritma Sorting yang Populer Dipakai

STRATEGI DIVIDE AND CONQUER

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

Array (Tabel) bagian 2

SATUAN ACARA PERKULIAHAN (SAP)

MODUL IV PENCARIAN DAN PENGURUTAN

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

Sorting Algorithms. Buble Sort

ANALISIS PERMAINAN KATA MENGGUNAKAN ALGORITMA PEMROGRAMAN ANAGRAM DAN SUBANAGRAM

RENCANA PEMBELAJARAN SEMESTER (RPS)

SEARCHING & SORTING. Pendahuluan

Pokok Bahasan : Struktur Kontrol

Operasi File. Chapter 13

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

SATUAN ACARA PERKULIAHAN (SAP) AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER (AMIK) LEMBAH DEMPO

Transkripsi:

A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 Mahasiswa dapat memahami tentang konsep pemrograman menggunakan struktur pengurutan. 2. Pendukung Mahasiswa dapat mengetahui metoda-metoda pengurutan data. B. Pokok Bahasan Pengurutan C. Sub Pokok Bahasan o Pengantar o Metoda Pengurutan Data Metoda Gelembung (Bubble Sort) Metoda Seleksi ( Selection Sort) Metoda Penyisipan (Insertion Sort) D. Kegiatan Belajar Mengajar Tahapan Kegiatan Pendahuluan Penyajian Kegiatan Pengajaran 1. Menjelaskan perkuliahan yang akan dijalani dalam satu semester 2. Menjelaskan materi-materi perkuliahan dan buku-buku acuan yang akan dipergunakan dalam semester ini 1. Menjelaskan tentang pengertian pengurutan Kegiatan Mahasiswa Mendengarkan dan memberikan komentar Memperhatikan, mencatat, dan Media & Alat Peraga Notebook, LCD, Papan Tulis Notebook, LCD, Papan Struktur Data / Eva Yulianti, S.Kom.,M.Cs 75

2. Menjelaskan tentang metodametoda dalam pengurutan data Penutup 1. Mengajukan pertanyaan kepada mahasiswa. 2. Memberikan kesimpulan. 3. Mengingatkan akan kewajiban untuk pertemuan selanjutnya. memberikan komentar. Mengajukan pertanyaan. Memberikan komentar. Mengajukan menjawab pertanyaan dan Tulis Notebook, LCD, Papan Tulis E. Evaluasi Evaluasi dilakukan dengan cara memberikan pertanyaan langsung dan tidak langsung kepada mahasiswa. F. Daftar Referensi 1. P. Insap Santosa, Struktur Data Menggunakan Turbo Pascal 6.0, Andi Offset, Yogyakarta, 2001 2. Wirth Niklaus, Algorithms and Data Structure, Prentice Hall Int. Inc, 1986 3. Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000 4. Dwi Sanjaya, Bertualang dengan Struktur Data di Planet Pascal, J&J Learning Yogyakarta, 2001 5. Materi Materi dari Internet. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 76

RENCANA KEGIATAN BELAJAR MINGGUAN (RKBM) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 Minggu Ke- Topik (Pokok Bahasan) Metode Pembelajaran Estimasi Waktu (Menit) Media 1 2 3 4 5 7.1 Pengantar 12 7.2 Metoda Pengurutan Data Ceramah, 1 x 3 x 50 7.2.1 Metoda Diskusi Kelas Gelembung (Bubble Sort) Notebook, LCD, Papan Tulis 13 7.2.2 Metoda Seleksi (Selection Sort) 7.2.3 Metoda Penyisipan (Insertion Sort) Ceramah, Diskusi Kelas 1 x 3 x 50 Notebook, LCD, Papan Tulis Struktur Data / Eva Yulianti, S.Kom.,M.Cs 77

BAB VII PENGURUTAN 7.1 PENGANTAR Pengurutan data (sorting) secara umum bisa didefinisikan sebagai suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Secara umum ada dua jenis pengurutan data, yaitu pengurutan secara urut naik (ascending), yaitu dari data yang nilainya paling kecil sampai data yang nilainya paling besar; dan pengurutan secara urut turun (descending), yaitu dari data yang mempunyai nilai paling besar sampai paling kecil. 7.2 METODA PENGURUTAN DATA Dalam melakukan pengurutan data perlu diperhatikan nilai efisiensinya, ukuran efisiensi yang baik diperoleh dari banyaknya pembandingan dan perpindahan yang harus dilakukan. Terdapat beberapa metoda yang disebut dengan metoda langsung (straight method), yang seluruhnya memerlukan N 2 pembandingan (N adalah banyaknya elemen yang akan diurutkan). Metoda langsung ini bisa dikelompokkan menjadi tiga metoda, yaitu penyisipan (insertion), seleksi (selection), dan penukaran (exchange). 7.2.1 Metoda Gelembung (Bubble Sort) Metoda gelembung (Bubble Sort), sering juga disebut dengan metoda penukaran (Exchange Sort), adalah metoda yang mendasarkan penukaran dua buah elemen untuk mencapai keadaan urut yang diinginkan. Metoda ini cukup mudah untu dipahami dan diprogram, tetapi dari beberapa metoda yang ada metoda ini yang paling tidak efisien. Alasannya adalah apabila mengurutkan vektor sebanyak N elemen dan pada iterasi yang kurang dari N 1, maka iterasi tersebut harus tetap dilaksanakan sampai N 1. Dengan demikian, dalam metoda gelembung akan terjadi pembandingan dan pemindahan atau penukaran dua elemen sebanyak : C = ( N 2 N ) / 2 Struktur Data / Eva Yulianti, S.Kom.,M.Cs 78

Contoh : Iterasi ke A [1] A [2] A [3] A [4] A [5] Awal 24 23 56 45 12 I = 1 23 24 56 45 12 23 24 56 45 12 23 24 45 56 12 23 24 45 12 56 I = 2 23 24 45 12 56 23 24 45 12 56 23 24 12 45 56 I = 3 23 24 12 45 56 23 12 24 45 56 I = 4 12 23 24 45 56 Akhir 12 23 24 45 56 Gambar 7.1 Ilustrasi metoda gelembung Untuk membawa vektor menjadi dalam keadaan urut bisa dilakukan dengan dua cara, yaitu : 1. Selalu meletakkan elemen dengan nilai paling besar pada posisi terakhir (posisi ke N). Kemudian elemen dengan nilai paling besar kedua diletakkan pada posisi ke N 1, dan seterusnya. 2. Selalu meletakkan elemen dengan nilai paling kecil pada posisi 1. Kemudian elemen dengan nilai paling besar kedua diletakkan pada posisi ke 2, dan seterusnya. Gambar 7.1 menunjukkan pelacakan metoda gelembung untuk mengurutkan vektor dengan 5 elemen. Dari ilustrasi diatas bisa dilihat bahwa untuk vektor dengan N elemen akan memerlukan iterasi sebanyak N 1 kali. Jika nomor iterasi ditambah dengan banyaknya langkah pada iterasi tersebut, besarnya selalu tetap yaitu sama dengan N. Berikut disajikan Algoritma gelembung : Algoritma GELEMBUNG Langkah 0 Baca vektor yang akan diurutkan. Langkah 1 Kerjakan langkah 2 untuk I = 1 sampai N 1. Langkah 2 Kerjakan langkah 3 untuk J = 1 sampai N I. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 79

Langkah 3 Test : apakah A [ J ] > A [ J + 1 ]? Jika ya, tukarkan nilai kedua elemen ini. Langkah 4 Selesai. Berdasarkan algoritma diatas bisa disusun prosedurnya seperti tersaji pada Program 7.1 berikut : procedure BUBBLE_SORT ( var A : larik; N : integer); var I, J : integer; for I := 1 to N 1 do for J := 1 to N 1 do if A [J] > A [J + 1] then TUKARKAN (A [J], A [J + 1] ) end; Program 7.1 Pengurutan vektor dengan metoda gelembung 7.2.2 Metoda Seleksi ( Selection Sort) Cara kerja metoda seleksi didasarkan pada pencarian elemen dengan nilai terkecil, kemudian dilakukan penukaran dengan elemen ke I. Secara singkat, metode ini bisa dijelaskan sebagai berikut : 1. Dicari data yang terkecil dari data pertama sampai data terakhir. Data terkecil tersebut ditukarkan dengan data pertama. (data pertama sekarang mempunyai nilai terkecil). 2. Data terkecil kedua dicari mulai dari data kedua sampai data terakhir. Data terkecil yang diperoleh ditukar dengan data kedua. 3. Demikian seterusnya sampai seluruh vektor dalam keadaan urut. Contoh : Iterasi ke A [1] A [2] A [3] A [4] A [5 A [6] A [7] A [8] A [9] I=1, Lok= 3 23 45 12 24 56 34 27 23 16 I=2, Lok=9 12 45 23 24 56 34 27 23 16 I=3, Lok=3 12 16 23 24 56 34 27 23 45 I=4, Lok=8 12 16 23 24 56 34 27 23 45 I=5, Lok=8 12 16 23 23 56 34 27 24 45 I=6, Lok=7 12 16 23 23 24 34 27 56 45 Struktur Data / Eva Yulianti, S.Kom.,M.Cs 80

I=7, Lok=7 12 16 23 23 24 27 34 56 45 I=8, Lok=9 12 16 23 23 24 27 34 56 45 Akhir 12 16 23 23 24 27 34 45 56 Gambar 7.2 Ilustrasi pengurutan dengan metoda seleksi Berdasarkan ilustrasi diatas, disusun algoritmanya sebagai berikut : Algoritma SELEKSI Langkah 0 Baca vektor yang akan diurutkan. Langkah 1 Kerjakan langkah 2 sampai 4 untuk I = 1 sampai N 1. Langkah 2 Tentukan : Lok = I Kerjakan langkah 3 untuk J = I + 1 sampai N. Langkah 3 (Mencari data terkecil) Test : apakah A [Lok] > A [J]? Jika ya, tentukan : Lok = J. Langkah 4 Tukarkan nilai A [Lok] dengan A [I]. Langkah 5 Selesai. Berdasar algoritma diatas disusun prosedurnya seperti tersaji pada Program 7.2 berikut procedure SELEKSI ( var A : larik; N : integer); var I, J, Lok : integer; for I := 1 to N 1 do {* Lokasi elemen terkecil *} Lok := I; {* Mencari elemen terkecil dan mencatat posisinya *} for J := I + 1 to N do if A [Lok] > A [J] then {* Lokasi elemen terkecil yang baru *} Lok := J; {* Menukar elemen pada lokasi ke I dengan elemen pada lokasi ke lok* } TUKARKAN (A [I], A [Lok] ) end end; Program 7.2 Pengurutan vektor dengan metoda seleksi Struktur Data / Eva Yulianti, S.Kom.,M.Cs 81

7.2.3 Metoda Penyisipan (Insertion Sort) Metoda penyisipan (insertion), banyak digunakan oleh pemain kartu. Gambar 7.3 menyajikan contoh pengurutan menggunakan metoda penyisipan pada sebuah vektor dengan 9 buah elemen. Contoh : Iterasi A [0] * A [1] A [2] A [3] A [4] A [5] A [6] A [7] A [8] A [9] I = 1 0 23 45 12 24 56 34 27 23 16 I = 2 45 23 45 12 24 56 34 27 23 16 I = 3 12 23 45 12 24 56 34 27 23 16 I = 4 12 12 23 45 24 56 34 27 23 16 I = 5 24 12 23 24 45 56 34 27 23 16 I = 6 56 12 23 24 45 56 34 27 23 16 I = 7 34 12 23 24 34 45 56 27 23 16 I = 8 27 12 23 24 27 34 45 56 23 16 I = 9 23 12 23 23 24 27 34 45 56 16 Akhir 16 12 16 23 23 24 27 34 45 56 Gambar 7.3 Ilustrasi metoda penyisipan Dari ilustrasi diatas bisa dilihat bahwa jika suatu elemen ke I akan disisipkan ke suatu tempat, misalnya pada posisi ke J, maka perlu dilakukan pergeseran ke kanan. Dalam hal ini perlu dihindarkan nilai J = 0, yaitu dengan memberikan data sentinel yang berupa A [0] = T, dengan T adalah nilai elemen ke I (yang akan disisipkan). Berikut adalah algoritma pengurutan dengan penyisipan. Algoritma PENYISIPAN Langkah 0 Baca vektor yang akan diurutkan. Langkah 1 Kerjakan langkah 2 sampai 5 untuk I = 2 sampai N. Langkah 2 Tentukan : T = A [I] (elemen yang akan disisipkan), A [0] = T (data sentinel), dan J = I 1. Langkah 3 (Lakukan penggeseran) Kerjakan langkah 4 selama T < A [J]. Langkah 4 Tentukan : A [J + 1] = A [J], dan J = J 1. Langkah 5 Tentukan : A [J + 1] = T. Langkah 6 Selesai. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 82

Prosedur yang mengimplementasikan algoritma diatas tersaji dibawah ini : procedure PENYISIPAN ( var A : larik; N : integer); var I, J : integer; T : real; for I := 2 to N do T := A [I]; J := I 1; A [0] := T; {* data sentinel *} while T < A [J] do A [J + 1] := A [J]; dec (J) end; A [J + 1] := T {* menempatkan elemen *} end end; Program 7.3 Pengurutan vektor dengan metoda penyisipan --ooooooo-- Struktur Data / Eva Yulianti, S.Kom.,M.Cs 83

Soal & Pembahasan : Soal : 1. Sebutkan jenis-jenis pengurutan data.. 2. Sebutkan metoda yang digunakan dalam pengurutan Pembahasan : 1. Jenis-jenis pengurutan data : Pengurutan secara urut naik (ascending), yaitu dari data yang nilainya paling kecil sampai data yang nilainya paling besar Pengurutan secara urut turun (descending), yaitu dari data yang mempunyai nilai paling besar sampai paling kecil. 2. Metoda pengurutan : Metoda gelembung (Bubble Sort) : metoda yang mendasarkan penukaran dua buah elemen untuk mencapai keadaan urut yang diinginkan. Metoda seleksi (Selection Sort) : didasarkan pada pencarian elemen dengan nilai terkecil, kemudian dilakukan penukaran dengan elemen ke I. Metoda penyisipan (Insertion Sort), banyak digunakan oleh pemain kartu. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 84