+ All Categories
Home > Documents > 4061 Ais.database.model.file.PertemuanFileContent S06

4061 Ais.database.model.file.PertemuanFileContent S06

Date post: 06-Jul-2018
Category:
Upload: luthfi-alif
View: 228 times
Download: 0 times
Share this document with a friend

of 27

Transcript
  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    1/27

    STRUKTUR DATA DANALGORITMA

    Algoritma Pengurutan (part 1)

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    2/27

    SORTING (PENGURUTAN)

    Sorting merupakan suatu proses yang bertujuan untuk mengurutkan datsuatu urutan yang dikendaki.

    Pengurutan dapat dilakukan secara ascending (menaik) atau descending(menurun)

    Contoh:

    Misal ada suatu kumpulan bilangan berisi 10 elemen:]

    Setelah diurutkan:

    Ascending : 1, 2, 3, 4, 5, 6, 7, 8 , 9, 10

    Descending: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

    2 5 8 9 6 3 1 4 7 1

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    3/27

    ALGORITMA PENGURUTAN

    Insertion Sort

    Selection Sort

    Bubble Sort

    Shell Sort

    Merge Sort

    Quick Sort

    dll

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    4/27

    INSERTION SORT

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    5/27

    INSERTION SORT

    Pada dasarnya, algoritma insertion sort dilakukan dengan memilah data yang akamenjadi dua bagian yaitu data yang belum diurutkan dan data yang sudah diurutkemudian dibandingkan dan diletakkan pada urutan yang sesuai dengan perbanding

    Contoh

    Misal ada sebuah array dengan jumlah elemen 5 (3, 5, 4, 1, 2) akan diurutkan secara asmaka langkah-langkah pengurutannya adalah:

    Awal 3 5 4 1 2Iterasi 1 3 5 4 1 2

    Iterasi 2 3 5 4 1 2

    Iterasi 3 3 4 5 1 2

    Iterasi 4 1 3 4 5 2

    Iterasi 5 1 2 3 4 5

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    6/27

    ALGORITMA (ASCENDING)

    For i := 1 to n-1 doBegin

     j := i;while (data[j-1] > data[j]) do

    Begintemp = data[j];data[j] = data[j-1];

    data[j-1] = temp; j--;

    if (j == 0) thenbreak;

    endIf;end;

    end;

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    7/27

    JAVA CODE (ASCENDING)

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    8/27

    PROSES

    i j data[j-1] data[j] While(data[j-1] > data[j]) ?

    Action If (j == 0) ?

    Action

    1 1 3 5 (3 > 5) ? F i++ = 2 - -

    2 2 5 4 (5 > 4) ? T

    temp = 4

    data[2] = 5

    data[1] = 4

     j-- = 1

    (1 == 0) ? FCheck for n

    WHILE Loop

    1 3 4 (3 > 4) ? F i++ = 3 - -

    3 3 5 1 (5 > 1) ? T

    temp = 1

    data[3] = 5

    data[2] = 1

     j-- = 2

    (2 == 0) ? FCheck for n

    WHILE Loop

    2 4 1 (4 > 1) ? T

    temp = 1

    data[2] = 4

    data[1] = 1

     j-- = 1

    (1 == 0) ? FCheck for n

    WHILE Loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    9/27

    PROSES (LANJUTAN)

    i j data[j-1] data[j]While

    (data[j-1] > data[j]) ?Action

    If 

    (j == 0) ?Action

    3 1 3 1 (3 > 1) ? T

    temp = 1data[1] = 3

    data[0] = 1

     j-- = 0

    (0 == 0) ? TStop WHILE Lo

    i++ = 4

    4 4 5 2 (5 > 2) ? T

    temp = 2

    data[4] = 5

    data[3] = 2

     j-- = 3

    (3 == 0) ? FCheck for

    WHILE Loop

    3 4 2 (4 > 2) ? T

    temp = 2

    data[3] = 4data[2] = 2

     j-- = 2

    (2 == 0) ? F Check forWHILE Loop

    2 3 2 (3 > 2) ? T

    temp = 2

    data[2] = 3

    data[1] = 2

     j-- = 1

    (1 == 0) ? FCheck for

    WHILE Loop

    1 1 2 (1 > 2) ? F i++ = 5 - -

    5 Stop FOR loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    10/27

    SELECTION SORT

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    11/27

    SELECTION SORT

    Selection sort adalah cara pengurutan dengan menelusuri dan mencayang terkecil / terbesar dari seluruh elemen yang ada dan menempatposisi pertama hingga seluruh elemen terurut.

    Contoh

    Misal ada sebuah array dengan jumlah elemen 5 (3, 5, 4, 1, 2) akan diurutkaascending, maka langkah-langkah pengurutannya adalah:

    Awal 3 5 4 1 2

    Iterasi 1 1 5 4 3 2

    Iterasi 2 1 2 4 3 5

    Iterasi 3 1 2 3 4 5

    Iterasi 4 1 2 3 4 5

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    12/27

    ALGORITMA (ASCENDING)

    For i := 0 to n-1 dobegin

    for i := i+1 to n dobegin

    if data[i] > data[j] then

    temp = data[i];data[i] = data[j];data[j] = temp;

    endIf;end;

    end;

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    13/27

    JAVA CODE (ASCENDING)

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    14/27

    PROSES

    i j data[i] data[j] data[i] > data[j] ? action Hasil P

    0 1 3 5 (3 > 5) ? F j++ = 2 data = {3

    2 3 4 (3 > 4) ? F j++ = 3 data = {3

    3 3 1 (3 > 1)? T

    temp = 3

    data[0] = 1

    data[3] = 3

     j++ = 4

    data = {1

    4 1 2 (1 > 2) ? F j++ = 5 data = {1

    5Stop FOR (j) loop

    i++ = 1

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    15/27

    PROSES (LANJUTAN)

    i j data[i] data[j] data[i] > data[j] ? action Hasil P

    1 2 5 4 (5 > 4) ? T

    temp = 5

    data[1] = 4

    data[2] = 5

     j++ = 3

    data = {1

    3 4 3 (4 > 3) ? T

    temp = 4

    data[1] = 3

    data[3] = 4

     j++ = 4

    data = {1

    4 3 2 (3 > 2)? F

    temp = 3

    data[1] = 2

    data[3] = 3

     j++ = 5

    data = {1

    5Stop FOR (j) loop

    i++ = 2

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    16/27

    PROSES (LANJUTAN)

    i j data[i] data[j] data[i] > data[j] ? action Hasil P

    2 3 4 3 (4 > 3) ? T

    temp = 4

    data[2] = 3

    data[3] = 4

     j++ = 4

    data = {1

    4 3 5 (3 > 5) ? T j++ = 5 data = {1

    5 Stop FOR (j) loopi++ = 3

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    17/27

    PROSES (LANJUTAN)

    i j data[i] data[j] data[i] > data[j] ? action Hasil P

    3 4 4 5 (4 > 5) ? F j++ = 5 data = {1

    5Stop FOR (j) loop

    i++ = 4

    4 Stop FOR (i) loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    18/27

    BUBBLE SORT

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    19/27

    BUBBLE SORT

    Proses pengurutan dengan metode bubble sort dilakukanmembandingkan dua elemen yang berdampingan dan mengubah posyang dibandingkan.

    Dalam kasus ascending, jika elemen kiri lebih besar dari elemen kaposisi kedua elemen tersebut akan ditukar. Begitu pula sebaliknya pdescending, jika elemen kiri lebih kecil dari elemen kanan maka poelemen tersebut akan ditukar

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    20/27

    Misal ada sebuah array dengan jumlah elemen 5 (3, 5, 4, 1, 2) akan diurutsecara ascending, maka langkah-langkah pengurutannya adalah:

    CONTOH

    Awal 3 5 4 1 2

    Iterasi 1 3 4 1 2 5

    Iterasi 2 3 1 2 4 5Iterasi 3 1 2 3 4 5

    Iterasi 4 1 2 3 4 5

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    21/27

    ALGORITMA (ASCENDING)

    While(not_sorted)begin

    not_sorted = false;for i := 0 to n-1 dobegin

    if data[i] > data[i+1] then

    temp = data[i];data[i] = data[i+1];data[i+1] = temp;

    endIf;end;

    end;

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    22/27

    JAVA CODE (ASCENDING)

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    23/27

    PROSESnot_sorted Action i data[i] data[i+1] (data[i] > data[i+1]) ? Action

    T not_sorted = F 0 3 5 3 > 5 ? F i++ = 1 d

    1 5 4 5 > 4 ? T

    temp = 5

    data[1] = 4

    data[2] = 5

    not_sorted = t

    i++ = 2

    d

    2 5 1 5 > 1 ? T

    temp = 5

    data[2] = 1

    data[3] = 5

    not_sorted = t

    i++ = 3

    d

    3 5 2 5 > 2 ? T

    temp = 5

    data[3] = 2

    data[4] = 5

    not_sorted = t

    i++ = 4

    d

    4 Stop FOR loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    24/27

    PROSES (LANJUTAN)

    not_sorted Action i data[i] data[i+1] (data[i] > data[i+1]) ? Action

    T not_sorted = F 0 3 4 3 > 4 ? F i++ = 1

    1 4 1 4 > 1 ? T

    temp = 4

    data[1] = 1

    data[2] = 4

    not_sorted = t

    i++ = 2

    2 4 2 4 > 2 ? T

    temp = 4data[2] = 2

    data[3] = 4

    not_sorted = t

    i++ = 3

    3 4 5 4 > 5 ? F i++ = 4

    4 Stop FOR loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    25/27

    PROSES (LANJUTAN)

    not_sorted Action I data[i] data[i+1] (data[i] > data[i+1]) ? Action H

    T not_sorted = F 0 3 1 3 > 1 ? T

    temp = 3

    data[0] = 1

    data[1] = 3

    not_sorted = t

    i++ = 1

    dat

    1 3 2 3 > 2 ? T

    temp = 3

    data[1] = 2data[2] = 3

    not_sorted = t

    i++ = 2

    dat

    2 3 4 3 > 4 ? F i++ = 3 dat

    3 4 5 4 > 5 ? F i++ = 4 dat

    4 Stop FOR loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    26/27

    PROSES (LANJUTAN)

    not_sorted Action i data[i] data[i+1] (data[i] > data[i+1]) ? Action

    T not_sorted = F 0 1 2 1 > 2 ? F i++ = 1 d

    1 2 3 2 > 3 ? F i++ = 2 d

    2 3 4 3 > 4 ? F i++ = 3 d

    3 4 5 4 > 5 ? F i++ = 4 d

    4 Stop FOR loop

    F Stop WHILE loop

  • 8/17/2019 4061 Ais.database.model.file.PertemuanFileContent S06

    27/27

    LATIHAN DAN TUGAS

    Latihan (kelompok)

    Buatlah algoritma (flowchart danpseudocode) untuk pengurutandescending dengan menggunakanmetode insertion, bubble, danselection.

    Tuliskan proses perulangandescending 5 data random.

    1 & 2 = Bubble

    3 & 4 = Insertion

    5 & 6 = Selection

    Tugas (Individu)

    Buatlah program untuk melapengurutan 100 data randomascending dan descending. Kanalisis efektifitas algoritmawaktu running program.

    Kirim sourcode dan hasil anaemail ([email protected]

    Batas Kumpul: TI.A: 11 April 2016 – 23:59 WI

    TI.B: 10 April 2016 – 23:59 WI

    TI.C: 17 April 2016 – 23:59 WIB

    mailto:[email protected]:[email protected]

Recommended