Welcome to Algoritma Zone

Hello... Nama Saya Multi, Saya Seorang Mahasiswi Informatika Saya membuat Blog ini untuk Mata Kuliah Algoritma Semoga Bermanfaat :)
Label:

Metode Shell (Shell Sort)

Metode ini disebut juga dengan metode pertambahan menurun (diminishing
increment).
Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga
sering disebut dengan Metode Shell Sort.
Metode perbandingan dan pertukaran.
Perbandingan dimulai dari separuh array yang akan disortir dengan separuh bagian yang lain.


Proses pengurutan dengan metode Shell dapat dijelaskan sebagai berikut :
Pertama-tama adalah menentukan jarak mula-mula dari data yang akan dibandingkan,
yaitu N / 2. Data pertama dibandingkan dengan data dengan jarak N / 2. Apabila data
pertama lebih besar dari data ke N / 2 tersebut maka kedua data tersebut ditukar.
Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N / 2. Demikian
seterusnya sampai seluruh data dibandingkan sehingga semua data ke-j selalu lebih kecil
daripada data ke-(j + N / 2).

Pada proses berikutnya, digunakan jarak (N / 2) / 2 atau N / 4. Data pertama
dibandingkan dengan data dengan jarak N / 4. Apabila data pertama lebih besar dari data
ke N / 4 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan
dengan jarak yang sama yaitu N / 4. Demikian seterusnya sampai seluruh data
dibandingkan sehingga semua data ke-j lebih kecil daripada data ke-(j + N / 4).

Pada proses berikutnya, digunakan jarak (N / 4) / 2 atau N / 8. Demikian
seterusnya sampai jarak yang digunakan adalah 1.
Algoritma metode Shell dapat dituliskan sebagai berikut :

1 Jarak ← N
2 Selama (Jarak > 1) kerjakan baris 3 sampai dengan 9
3 Jarak ← Jarak / 2. Sudah ← false
4 Kerjakan baris 4 sampai dengan 8 selama Sudah = false
5 Sudah ← true
6 j ← 0
7 Selama (j < N – Jarak) kerjakan baris 8 dan 9
8 Jika (Data[j] > Data[j + Jarak] maka tukar Data[j], Data[j + Jarak]. Sudah ← true
9 j ← j + 1

Contoh :
Jika terdapat 100 elemen, diperbandingkan elemen 1 dan elemen 51, elemen 2 dan elemen 52 dst. Selanjutnya algoritma akan membandingkan elemen 1 dan elemen 26, elemen 2 dan elemen 27 dst.

Label:

Metode Gelembung (Bubble sort)


Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran
(exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan
masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah
dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari,
metode ini merupakan metode yang paling tidak efisien.


Hampir sama dengan Selection Sort
Cara pengurutan elemen yang paling sederhana
Menggunakan metode pembandingan dan pertukaran
Tiap putaran, elemen yang bersebelahan akan dibandingkan dan isinya akan ditukar jika nilainya tidak berurut
ba := n
i := 1 {mulai dari bawah}
if l[i] < l[i+1] then {jika elemen itu lebih ringan dari pada elemen di atasnya}
   {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif

Proses pemeriksaan dan penukaran seperti itu harus dilakukan mulai dari bawah sampai ke batas atas pengapungan. 
Jadi, i harus digerakkan mulai dari 1 sampai dengan ba-1; algoritmanya menjadi:

ba := n
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {jika elemen itu lebih ringan dari pada elemen di atasnya}
    {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile

Berikutnya, batas atas pengapungan ba dikurangi dengan 1
Proses pengapungan yang sama dilakukan mulai dari bawah sampai ke ba
Dilakukan sampai dengan nilai ba menjadi 2
Algoritmanya menjadi: 

ba := n
while ba > 1 do 
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile
ba := ba – 1
ewhile 

Bila algoritma dituliskan dengan procedur UrutApung, dengan argumen l dan n, maka :

proc UrutApung(l,n)
ba := n
while ba > 1 do 
i := 1 {mulai dari bawah}
while i < ba do 
if l[i] < l[i+1] then {tukarkan}
temp := l[i]
l[i] := l[i+1]
l[i+1] := temp
eif
i := i + 1
ewhile
ba := ba – 1
 ewhile 
eproc






Label:

Metode Seleksi (Selection Sort)

Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil
kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering
dinamakan pivot.


Proses pengurutan dengan metode seleksi dapat dijelaskan sebagai berikut :
langkah pertama : dicari data terkecil dari data pertama sampai data terakhir. Kemudian
data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang
mempunyai nilai paling kecil dibanding data yang lain. 
Langkah kedua : data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.


Algoritma seleksi dapat dituliskan sebagai berikut :

1 i ← 0
2 selama (i < N-1) kerjakan baris 3 sampai dengan 9
3 k ← i
4 j ← i + 1
5 Selama (j < N) kerjakan baris 6 dan 7
6 Jika (Data[k] > Data[j]) maka k ← j
7 j ← j + 1
8 Tukar Data[i] dengan Data[k]
9 i ← i + 1


Untuk lebih memperjelas langkah-langkah algoritma seleksi dapat dilihat pada
tabel 6.2. Proses pengurutan pada tabel 6.2 dapat dijelaskan sebagai berikut:
• Pada saat i=0, data terkecil antara data ke-1 s/d ke-9 adalah data ke-4, yaitu 3, maka
data ke-0 yaitu 12 ditukar dengan data ke-4 yaitu 3.
• Pada saat i=1, data terkecil antara data ke-2 s/d ke-9 adalah data ke-2, yaitu 9, maka
data ke-1 yaitu 35 ditukar dengan data ke-2 yaitu 9.
• Pada saat i=2, data terkecil antara data ke-3 s/d ke-9 adalah data ke-3, yaitu 11, maka
data ke-2 yaitu 35 ditukar dengan data ke-3 yaitu 11.
• Pada saat i=3, data terkecil antara data ke-4 s/d ke-9 adalah data ke-4, yaitu 12, maka
data ke-3 yaitu 35 ditukar dengan data ke-4 yaitu 12.
• Dan seterusnya.
Di bawah ini merupakan prosedur yang menggunakan metode seleksi.

void SelectionSort()
{
int i, j, k;
for(i=0; i<Max-1;i++){
k = i;
for (j=i+1; j<Max; j++)
if(Data[k] > Data[j])
k = j;
Tukar(&Data[i], &Data[k]);
}
}

Label:

Pengertian Algoritma Pengurutan (sorting)


Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun
kembali humpunan obyek menggunakan aturan tertentu. 
Mnurut Microsoft Book-shelf,definisi Algoritma Pengurutan adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.

Ada dua macam urutan yang biasa digunakan dalam proses pengurutan yaitu :
  • urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar
  • urut turun (descending) yaitu data yang mempunyai nilai paling besar sampai paling kecil.
Contoh :
data bilangan 5, 2, 6 dan 4 dapat diurutkan naik menjadi 2, 4, 5, 6 atau 
diurutkan turun menjadi 6, 5, 4, 2. 
Pada data yang bertipe char, nilai data dikatakan lebih kecil atau lebih besar dari yang lain didasarkan pada urutan relatif (collating sequence) seperti dinyatakan dalam tabel ASCII 

Keuntungan dari data yang sudah dalam keadaan terurutkan antara lain :
  • data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan, dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah melakukan pengecekan apakah ada data yang hilang
  • melakukan kompilasi program komputer jika tabel-tabel simbol harus dibentuk
  • mempercepat proses pencarian data yang harus dilakukan berulang kali.
Pemilihan algoritma sangat ditentukan oleh struktur data yang digunakan. 
Metode pengurutan yang digunakan dapat diklasifikasikan menjadi dua katagori yaitu :
  • pengurutan internal, yaitu pengurutan dengan menggunakan larik (array). Larik tersimpan dalam memori utama komputer
  • pengurutan eksternal, yaitu pengurutan dengan menggunakan berkas (sequential access file). Berkas tersimpan dalam pengingat luar, misalnya cakram atau pita magnetis.
Untuk menggambarkan pengurutan dengan larik, bisa kita bayangkan semua kartu
terletak di hadapan kita sehingga semua kartu terlihat dengan jelas nomornya. Pada
penyusunan kartu sebagai sebuah berkas, kita bayangkan semua kartu kita tumpuk
sehingga hanya kartu bagian atas saja yang bisa kita lihat nomornya.

Pada postingan selanjutnya akan saya bahas metode Algoritma Pengurutan.

Label:

Pencarian Biner (Binary Search)


Salah satu syarat agar pencarian biner dapat dilakukan adalah data sudah dalam keadaan urut. Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat dilakukan.
Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian biner. Misalnya saat ingin mencari suatu kata dalam kamus.


Prinsip dari pencarian biner dapat dijelaskan sebagai berikut : 
mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1. Demikian seterusnya sampai data tengah sama dengan yang dicari.


Untuk lebih jelasnya perhatikan contoh berikut. Misalnya ingin mencari data 17
pada sekumpulan data berikut :


Mula-mula dicari data tengah, dengan rumus (0 + 9) / 2 = 4. Berarti data tengah
adalah data ke-4, yaitu 15. Data yang dicari, yaitu 17, dibandingkan dengan data tengah
ini. Karena 17 > 15, berarti proses dilanjutkan tetapi kali ini posisi awal dianggap sama
dengan posisi tengah + 1 atau 5.
Data tengah yang baru didapat dengan rumus (5 + 9) / 2 = 7. Berarti data tengah
yang baru adalah data ke-7, yaitu 23. Data yang dicari yaitu 17 dibandingkan dengan
data tenah ini. Karena 17 < 23, berarti proses dilanjukkan tetapi kali ini posisi akhir
dianggap sama dengan posisi tengah – 1 atau 6.
Data tengah yang baru didapat dengan rumus (5 + 6) / 2 = 5. Berarti data tengah
yang baru adalah data ke-5, yaitu 17. data yang dicari dibandingkan dengan data tengah
ini dan ternyata sama. Jadi data ditemukan pada indeks ke-5.
Pencarian biner ini akan berakhir jika data ditemukan atau posisi awal lebih besar
daripada posisi akhir. Jika posisi sudah lebih besar daripada posisi akhir berarti data
tidak ditemukan.

Untuk lebih jelasnya perhatikan contoh pencarian data 16 pada data diatas.
Prosesnya hampir sama dengan pencarian data 17. Tetapi setelah posisi awal 5 dan
posisi akhir 6, data tidak ditemukan dan 16 < 17, maka posisi akhir menjadi posisi tengah
– 1 atau = 4 sedangkan posisi awal = 5.

Disini dapat dilihat bahwa posisi awal lebih besar daripada posisi akhir, yang
artinya data tidak ditemukan.
Algoritma pencarian biner dapat dituliskan sebagai berikut :
1 L ← 0
2 R ← N - 1
3 ketemu ← false
4 Selama (L <= R) dan (tidak ketemu) kerjakan baris 5 sampai dengan 8
5 m ← (L + R) / 2
6 Jika (Data[m] = x) maka ketemu ← true
7 Jika (x < Data[m]) maka R ← m – 1
8 Jika (x > Data[m]) maka L ← m + 1
9 Jika (ketemu) maka m adalah indeks dari data yang dicari, jika tidak data tidak
ditemukan

Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian biner.

int BinarySearch(int x)
{
int L = 0, R = Max-1, m;
bool ketemu = false;
while((L <= R) && (!ketemu))
{
m = (L + R) / 2;
if(Data[m] == x)
ketemu = true;
else if (x < data[m])
R = m - 1;
else
L = m + 1;
}
if(ketemu)
return m;
else
return -1;
}

Fungsi diatas akan mengembalikan indeks dari data yang dicari. Apabila data
tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.
Jumlah pembandingan minimum pada pencarian biner adalah 1 kali, yaitu apabila
data yang dicari tepat berada di tengah-tengah. Jumlah pembandingan maksimum yang
dilakukan dengan pencarian biner dapat dicari menggunakan rumus logaritma, yaitu :
C = 2log(N)

Label:

Pencarian Berurutan (Sequential Searching)


Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian
yang paling sederhana. Pencarian berurutan menggunakan prinsip sebagai berikut : 
data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai
data tersebut ditemukan atau tidak ditemukan.


Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai
dengan jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang
dicari. Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir
pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling
buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula.
  • Pencarian beruntun pada larik tidak terurut :
Pencarian dilakukan dengan memeriksa setiap elemen larik mulai dari
elemen pertama sampai elemen yang dicari ditemukan atau sampai
seluruh elemen sudah diperiksa.
Contoh:

Misal nilai yang dicari adalah X = 21, maka elemen yang
diperiksa : 13, 16, 14, 21 (ditemukan!)
Indeks larik yang dikembalikan: IX = 4
Misal nilai yang dicari adalah X = 15, maka elemen yang
diperiksa : 13, 16, 14, 21, 76, 21 (tidak ditemukan!)
Indeks larik yang dikembalikan: IX = 0.
  • Procedur Pencarian Terurut
Procedure CariRuntunurut(input L: larik, input n:integer,
input X: integer, input/output IX:integer)

Algoritma
I ← 1
while (I < N) and (L[I] < X) do
I ← I + 1
endwhile
if (L[I] = X) then
IX ← I
else
IX ← 0
endif

Algoritma pencarian berurutan dapat dituliskan sebagai berikut :

1. i ← 0
2. ketemu ← false
3. Selama (tidak ketemu) dan (i <= N) kerjakan baris 4
4. Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1
5. Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak
ditemukan


Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian sekuensial.

int SequentialSearch(int x)
{
int i = 0;
bool ketemu = false;
while ((!ketemu) && (i < Max)){
if(Data[i] == x)
ketemu = true;
else
i++;
}
if(ketemu)
return i;
else
return -1;
}


Fungsi diatas akan mengembalikan indeks dari data yang dicari. Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.

Label:

Pengertian Algoritma Pencarian (searching algorithm)


Algoritma pencarian (searching algorithm) adalah algoritma yang menerima
sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman
dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah
satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak
ditemukan (unsuccessful).
Metode pencarian data dapat dilakukan dengan dua cara yaitu :
  • pencarian internal(internal searching) dan 
  • pencarian eksternal (external searching). 
Pada pencarian internal, semua rekaman yang diketahui berada dalam pengingat komputer sedangkan pada pencarian eksternal, tidak semua rekaman yang diketahui berada dalam pengingat komputer, tetapi ada sejumlah rekaman yang tersimpan dalam penyimpan luar misalnya pita atau cakram magnetis.


Selain itu metode pencarian data juga dapat dikelompokkan menjadi :
  • pencarian statis (static searching) dan 
  • pencarian dinamis (dynamic searching).
Pada pencarian statis, banyaknya rekaman yang diketahui dianggap tetap, 
pada pencarian dinamisbanyaknya rekaman yang diketahui bisa berubah-ubah yang disebabkan oleh penambahan atau penghapusan suatu rekaman.


Ada dua macam teknik pencarian yaitu :
  • pencarian sekuensial dan 
  • pencarian biner.
Perbedaan dari dua teknik ini terletak pada keadaan data. Pencarian sekuensial
digunakan apabila data dalam keadaan acak atau tidak terurut. 
Sebaliknya, pencarian biner digunakan pada data yang sudah dalam keadaan urut.


pada postingan selanjutnya akan saya bahas Pencarian Berurutan (Sequential Searching), dan Pencarian Biner (Binary Search).

Label:

Metode Penyisipan Langsung (Straight Insertion Sort)


Proses pengurutan dengan metode penyisipan langsung dapat dijelaskan sebagai berikut :

Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu.

Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai.

Algoritma penyisipan langsung dapat dituliskan sebagai berikut :

1 i 1
2 selama (i < N) kerjakan baris 3 sampai dengan 9
3 x Data[i]
4 j i – 1
5 selama (x < Data[j]) kerjakan baris 6 dan 7
6 Data[j + 1] Data[j]
7 j j – 1
8 Data[j+1] x
9 i i + 1

Untuk lebih memperjelas langkah-langkah Algoritma Penyisipan Langsung dapat dilihat pada tabel contoh. Proses pengurutan pada tabel dapat dijelaskan sebagai berikut:
Tabel Contoh






Di bawah ini merupakan prosedur yang menggunakan metode penyisipan langsung.
void StraighInsertSort()
{
int i, j, x;
for(i=1; i<Max; i++){
x = Data[i];
j = i - 1;
while (x < Data[j]){
Data[j+1] = Data[j];
j--;
}
Data[j+1] = x;
}
}


Prosedur Pengurutan dengan Metode Penyisipan Langsung
Dari algoritma dan prosedur diatas, jumlah perbandingan (=C) minimum, rata-rata dan maksimum pada metode penyisipan langsung adalah :

Cmin = N – 1
Crata-rata = (N2 + N + 2) / 4
Cmax = (N2 + N – 2) / 2

Jumlah perbandingan minimum terjadi jika data sudah dalam keadaan urut, sebaliknya jumlah perbandingan maksimum terjadi jika data dalam keadaan urut terbalik.

Cara menghitung Cmin adalah dengan melihat kalang paling luar yaitu i,
pengulangan ini dimulai dari 1 sampai dengan N-1 atau sama dengan N-1
Cara menghitung Cmax dengan menganggap selalu terjadi pergeseran. Kalang
dalam (while) diatas akan melakukan pengulangan dari 0 sampai dengan i. Apabila hal ini dilakukan sebanyak N-1 kali, maka Cmax adalah jumlah dari deret aritmetik 2, 3, 4, ..., N
atau (N – 1) / 2 . (2 + N)
Cara menghitung Crata-rata adalah dengan menjumlahkan Cmin dan Cmax dan dibagi dengan 2.


Jumlah penggeseran (=M) minimum, rata-rata dan maksimum untuk metode
penyisipan langsung adalah :

Mmin = 2(N – 1)
Mrata-rata = (N2 + 7N - 8) / 4
Mmax = (N2 + 3N – 4) / 2

Label:

Algoritma SORTING (Pengurutan)




Algoritma Pengurutan adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu, berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.


Ada dua macam urutan yang biasa digunakan dalam proses pengurutan yaitu :
• urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar
• urut turun (descending) yaitu data yang mempunyai nilai paling besar sampai paling kecil.

Contoh : data bilangan 5, 2, 6 dan 4
dapat diurutkan
naik menjadi 2, 4, 5, 6 atau
diurutkan
turun menjadi 6, 5, 4, 2.

Pada data yang bertipe char, nilai data dikatakan lebih kecil atau
lebih besar dari yang lain didasarkan pada urutan relatif (collating sequence) seperti dinyatakan dalam tabel ASCII

Keuntungan dari data yang sudah dalam keadaan terurutkan antara lain :

• data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan, dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah melakukan pengecekan apakah ada data yang hilang.
• melakukan kompilasi program komputer jika tabel-tabel simbol harus dibentuk
• mempercepat proses pencarian data yang harus dilakukan berulang kali.

Data yang diurutkan sangat bervariasi, dalam hal jumlah data maupun jenis data yang akan diurutkan.

Beberapa faktor yang berpengaruh pada efektifitas suatu algoritma pengurutan antara lain:
• banyak data yang diurutkan
• kapasitas pengingat apakah mampu menyimpan semua data yang kita miliki
• tempat penyimpanan data, misalnya piringan, pita atau kartu, atau media penyimpan yang lain.

Pemilihan algoritma sangat ditentukan oleh struktur data yang digunakan. Metode pengurutan yang digunakan dapat diklasifikasikan menjadi dua kategori yaitu :

• pengurutan internal, yaitu pengurutan dengan menggunakan larik (array). Larik tersimpan dalam memori utama komputer
• pengurutan eksternal, yaitu pengurutan dengan menggunakan berkas (sequential access file). Berkas tersimpan dalam pengingat luar, misalnya cakram atau pita magnetis.

Deklarasi Larik

Prosedur Penukaran 2 Bilangan

Deklarasi larik yang digunakan adalah larik dimensi satu (vektor) dengan elemennya bertipe integer.

#define Max 100;
int Data[Max];
Max adalah banyaknya elemen vektor. 
Anda bisa mengubah nilai konstanta Max sesuai kebutuhan. 
Indeks larik dimulai dari 0. 
Data yang sebenarnya disimpan mulai dari indeks 0.

Selain deklarasi diatas, proses yang juga selalu digunakan pada algoritma pengurutan adalah proses menukarkan elemen. Di bawah ini satu prosedur sederhana :

untuk menukarkan nilai dua buah elemen A dan B.
void Tukar (int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}

Prosedur tukar diatas akan digunakan pada beberapa prosedur pengurutan yang akan dijelaskan pada postingan berikutnya.