Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id SORTING Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id.

Slides:



Advertisements
Presentasi serupa
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
Advertisements

PENGURUTAN (SORTING).
STRUKTUR DATA (3) sorting array
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
BAB 6 S O R T I R Sebelum mengetahui lebih jauh tentang sorting, sebaiknya kita ingat kembali pengertian file dan record. File adalah kumpulan record,
STRUKTUR DATA (4) Sorting dan Searching Array
Desain dan Analisis Algoritma
Design and Analysis Algorithm
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting (Pengurutan).
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Metode Pengurutan (Sorting)
Algoritma dan Pemrograman – Pertemuan 3 & 4 Sorting (Pengurutan)
KUG1A3 Algoritma& Pemrograman
Algoritma dan Struktur Data 1 pertemuan 11
LANJUTAN DARI SHORTING
Struktur Data Algoritma Sorting
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
Algoritma dan Struktur Data
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Pemrograman Sorting
PENGURUTAN (SORTING).
SORTING (Lanjut).
Pengurutan (Sorting).
STRUKTUR DATA (3) sorting array
Sorting.
STRUKTUR DATA (3) sorting array
Algoritme dan Pemrograman
STRUKTUR DATA sorting array
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Algoritma dan Pemrograman Sorting
KUG1E3/ Pemrograman Terstruktur 1
Array Buat algoritma untuk mencari nilai terbesar dari 5 nilai mahasiswa yang diinputkan dengan array.
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Desain dan Analisis Algoritma
Pengurutan Rekaman SUB Pengurutan Gelembung.
Dasar – dasar Pemrograman
Shorting (Pengurutan)
IT234 Algoritma dan Struktur Data
Algoritma dan Pemrograman Sorting
Analisa Algoritma 3 SKS.
Bubble sort.
Sorting.
Sorting (Pengurutan).
Pengurutan (Shorting)
STRUKTUR DATA (3) sorting array
Algoritma & Pemrograman II STT Wastukancana Purwakarta
SORTING ARRAY SESI 2.
ALGORITMA PENGURUTAN (SORTING)
Algoritma Divide and Conquer
Algoritme dan Pemrograman
SORTING (PENGURUTAN).
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa.
STRUKTUR DATA (3) sorting array
Selection Sort Merupakan sebuah algoritma pengurutan yang mencari element terkecil dari suatu list data tidak terurut (unsorted list) kemudian menukarnya.
IT234 Algoritma dan Struktur Data
Desain dan Analisis Algoritma
STRUKTUR DATA (3) sorting array
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
MODEL SORTING Kelompok V Rahmawati ( )
Defri Kurniawan POINTER Defri Kurniawan
Sorting (Pengurutan).
SORTING.
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
Transcript presentasi:

Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id SORTING Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id

Referensi Anany Levitin – introduction to the Design & Analysis of Algorithm3rd Edition (2012)

RENCANA KEGIATAN PERKULIAHAN SEMESTER W Pokok Bahasan 1 Review Fungsi 2 Parameter & Tipe Kembalian Fungsi 3 Sorting 4 5 Searching 6 7 Review 1-6 8 Ujian Tengah Semester W Pokok Bahasan 9 Analisa Rekuren 10 11 Struct & ADT 12 13 Pointer 14 15 Presentasi Proyek Akhir 16 Ujian Akhir Semester

Content Algoritma Penyelesaian Masalah dengan Algoritma Algoritma Bubble Sort Algoritma Selection Sort

Algoritma Apa itu algoritma ?

Algoritma Algoritma adalah urutan instruksi – instruksi yang jelas (logis) untuk menyelesaikan suatu masalah. Yakni untuk memperoleh output yang diperlukan untuk setiap input logis dalam waktu yang terbatas (Levitin, 2012)

Algoritma Kata ‘instruksi’ tersebut mengacu kepada kemampuan dari sesuatu (benda) atau seseorang untuk memahami dan melakukan instruksi yang diberikan. Yang dimaksud dalam hal ini adalah ‘komputer’. Perlu diingat bahwa sebelum era perangkat elektronik ditemukan, kata ‘komputer’ (computer) bemakna seseorang yang terlibat dalam proses perhitungan (compute/calculate) numerik.

Algoritma Masalah Algoritma ‘Komputer’ Input Output Konsep Algoritma (Levitin, 2012) Masalah Algoritma ‘Komputer’ Input Output

Penyelesaian Masalah dengan Algoritma Hal-hal penting dalam penyelesaian masalah dengan algoritma: Setiap langkah dalam sebuah algoritma harus jelas (nonambiguity), Rentang nilai input harus ditentukan secara rinci, Sebuah algoritma dapat digambarkan dalam beberapa cara yang berbeda,

Penyelesaian Masalah dengan Algoritma Hal-hal penting dalam penyelesaian masalah dengan algoritma: Terdapat beberapa algoritma yang dapat digunakan dalam menyelesaikan masalah yang sama, Algoritma-algoritma yang digunakan dalam masalah yang sama dapat berasal dari gagasan-gagasan yang berbeda dan mampu menyelesaikan masalah dengan kecepatan yang sangat berbeda.

Contoh Persoalan Dengan Penyelesaian Algoritma Hitung gaji total, dimana gaji total adalah gaji pokok ditambah tunjangan. tunjangan pegawai dilihat berdasarkan masa kerja. Jika masa kerja lebih dari sama dengan 3 tahun maka mendapat tunjangan 20% dari gaji pokok. Jika kurang dari 3 tahun tunjangan 10% dari gaji pokok.

Algoritma Menghitung Gaji Total Pegawai Bahasa Natural: Read masa kerja, gaji pokok Jika masa kerja lebih dari sama dengan 3thn maka tunjangan 20% dari gaji pokok Jika tidak, tunjangan 10% dari gaji pokok Jumlahkan tunjangan yang didapat dengan gaji pokok sebagai gaji total Cetak gaji total

Algoritma Menghitung Gaji Total Pegawai Notasi Algoritmik Nama Program Gaji_pegawai Kamus Tjg, mk, gapok, gatot : double Algoritma Read (mk, gapok ) If(mk>=3) then tjg  0.2 * gapok Else tjf  0.1 * gapok Gatot  gapok + tjg Write(‘gaji total’,gatot )

Algoritma Menghitung Gaji Total Pegawai Flowchart

Algoritma Sorting Brute Force Brute force adalah pendekatan yang ‘mudah’ untuk menyelesaikan masalah. Kata force mengacu pada sebuah computer dan bukan pada sesuatu yang bersifat cerdas. Brute force merupakan pendekatan yang paling mudah untuk diimplementasikan. Beberapa algoritma pengurutan brute force yang sederhana diantaranya adalah Bubble Sort dan Selection Sort

Algoritma Bubble Sort

Algoritma Bubble Sort Jenis algoritma pengurutan lain yang berbasis brute force adalah Bubble Sort. Algoritma bubble sort membandingkan elemen-elemen yang berdekatan dan menukarnya jika elemen-elemen tersebut belum urut. Dengan melakukan hal tersebut secara berulang, maka akan mem- bubble up elemen terbesar pada posisi terakhir.

A0, . . ., Aj  Aj+1, . . ., An-i-1 | An-i ≤ . . . ≤ An-1 Algoritma Bubble Sort Pada iterasi selanjutnya akan mem-bubble up elemen ke-2 dan seterusnya hingga pada proses ke n – 1 semua elemen akan terurut. Proses iterasi i (0 ≤ i ≤ n-2) dari bubble sort dapat direpresentasikan sebagai berikut: A0, . . ., Aj  Aj+1, . . ., An-i-1 | An-i ≤ . . . ≤ An-1

Algoritma Bubble Sort Algoritma BubbleSort(A[0 … n-1]) //Mengurutkan array yang diberikan dengan inputan //Input: sebuah array A[0 … n-1] dengan elemen- elemen yang dapat diurutkan //Output: array A[0 … n-1] yang telah diurutkan for i  0 to i<n do for j  0 to j<n – i do if A[j + 1] < A[j] swap A[j] and A[j+1]

Algoritma Bubble Sort for(i=1;i<n;i++){ for(j=0;j<n-i;j++) { if(data[j+1]<data[j]){ temp=data[j]; data[j]=data[j+1]; data[j+1]=temp; }

Algoritma Bubble Sort Contoh 90  50 70 95 30 35 15 90  50 70 95 30 35 15 50 90  70 95 30 35 15 50 70 90  95  30 35 15 50 70 90 30 95  35 15 50 70 90 30 35 95  15 50 70 90 30 35 15 | 95

Algoritma Bubble Sort Contoh 50  70  90  30 35 15 | 95 50  70  90  30 35 15 | 95 50 70 30 90  35 15 | 95 50 70 30 35 90  15 | 95 50 70 30 35 15 | 90 95

Algoritma Bubble Sort Contoh 50  70  30 35 15 | 90 95 50  70  30 35 15 | 90 95 50 30 70  35 15 | 90 95 50 30 35 70  15 | 90 95 50 30 35 15 | 70 90 95

Algoritma Bubble Sort Contoh 50  30 35 15 | 70 90 95 50  30 35 15 | 70 90 95 30 50  35 15 | 70 90 95 30 35 50  15 | 70 90 95 30 35 15 | 50 70 90 95

Algoritma Bubble Sort Contoh 30  35  15 | 50 70 90 95 30  35  15 | 50 70 90 95 30 15 | 35 50 70 90 95 30  15 | 35 50 70 90 95 15 | 30 35 50 70 90 95

Algoritma Selection Sort

Algoritma Selection Sort Selection Sort dapat terurut naik (ascending), maupun turun (descending) Proses pengurutan naik (ascending) selection sort dilakukan dengan cara mencari data terkecil dari data pertama sampai dengan data terakhir, kemudian ditukar posisinya dengan data pertama. Selanjutnya mencari data terkecil dari data kedua sampai dengan data terakhir kemudian ditukar posisinya dengan data kedua Dan seterusnya sampai semua data terurut naik. Apabila terdapat n buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan. Data terakhir, yaitu data ke-n tidak perlu diurutkan karena tinggal satu-satunya.

Algoritma Selection Sort Algoritma SelectionSort(A[0 … n-1]) //Mengurutkan array yang diberikan dengan selection sort //Input: sebuah array A[0 … n-1] dengan elemen- elemen yang dapat diurutkan //Output: array A[0 … n-1] yang telah diurutkan for i  0 to n – 1 do min  i for j  i to n do if A[j] < A[min] min  j if A[i]!=A[min] swap A[i] and A[min]

Algoritma Selection Sort for(i=0;i<n-1;i++){ indexmin=i; for(j=i;j<n;j++){ if(data[j]<data[indexmin]) { //jika data[j] kurang dari data[indexmin] lakukan penukaran indexmin=j; } if(data[i]!=data[indexmin]){ temp=data[i]; data[i]=data[indexmin]; data[indexmin]=temp;

Algoritma Selection Sort Contoh |90 50 70 95 30 35 15 15 |50 70 95 30 35 90 15 30 |70 95 50 35 90 15 30 35 |95 50 70 90 15 30 35 50 |95 70 90 15 35 35 50 70 |95 90 15 35 35 50 70 90 |95 15 35 35 50 70 90 95