Anda di halaman 1dari 60

STRUKTUR DATA adalah : Suatu Kesatuan nformasi (Collection of

values) yang terorganisasi dengan sejumlah operasi atas informasi


tersebut.
Terdapat 3 (tiga) komponen yang menentukan karakter struktur data
yaitu :
1. Function Definition
2. Storage Structure
3. Algorithms
1. Function Definition
Himpunan dari fungsi-fungsi dasar.
Dapat digunakan pada struktur tempat penyimpanan yang ada dan
dapat digunakan pada setiap bagian dari program.
2. Storage Structure
Himpunan Struktur dari tempat penyimpanan.
Merupakan koleksi dari variabel dan hubungan antara satu variabel
dengan variabel yang lain.
3. Algorithms
Himpunan dari algoritma.
Digunakan untuk Pengubahan dari struktur tempat penyimpanan.
TPE DATA
Adalah Jenis data yang 'ditangani' bahasa pemrograman.
Pada garis besarnya, Tipe Data dapat dikategorikan menjadi :
TPE DATA SEDERHANA
C++ telah menyediakan beberapa tipe data sederhana,
diantaranya adalah :
nteger (Bulat)
Floating point (Pecahan)
Boolean
Masing-masing dapat terdiri dari beberapa tipe.
TPE DATA KOMPLEKS
Tipe-tipe data dibawah ini disebut kompleks karena
penggunaannya harus dikombinasikan dengan tipe data
lain.
Tipe-tipe data kompleks tersebut adalah :
Pointer
Array
String (Pointer of Char)
AND Jika Kedua Nilai variabelnya True, maka hasilnya True,
kalau tidak, maka hasilnya False.
OR Jika SalahSatu Nilai variabelnya True, maka hasilnya True
kalau tidak, maka hasilnya False.
Disebut juga Exclusive OR
NOT Jika nilai variabelnya True , maka hasilnya False
Jika nilai variabelnya False, maka hasilnya True
XOR Jika salah satu nilai variabelnya True, maka hasilnya True,
kalau tidak, maka hasilnya False; termasuk jika True dengan
True maka hasilnya false.
Dengan 4 (empat) operator dasar ini banyak yang bisa dimanfaatkan
untuk keperluan selanjutnya.
Operator inilah awal dari komputer yang canggih.
P Q p AND q p OR q p XOR q NOT p
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
Tabel diatas disebut TRUTH TABLE dari semua operator dasar.
Dan kita menggunakan angka 1 dan 0 untuk True dan False.
p q r
p AND q NOT r (p AND q) OR (NOT r)
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 1 1
0 1 1 0 0 0
1 0 0 0 1 1
1 0 1 0 0 0
1 1 0 1 1 1
1 1 1 1 0 1
PONTER
Adalah Suatu variabel yang menyimpan alamat (address) dari
suatu data, bukan menyimpan datanya sendiri.
Variabel yang nilainya merupakan address dari variabel yang
lain.
Pointer dideklarasikan dengan menggunakan tanda asterix ( * )
didepan nama variabelnya.
Kita akan mendapatkan address suatu objek dengan
menggunakan tanda & sebagai Address Operator.
PONTER dan ADDRESS
PONTER dan VARABLE FUNCTON
PONTER dan RECORD
PONTER
ARRAY
Array atau juga disebut Larik Adalah struktur data yang paling
sederhana atau primitif yang merupakan Koleksi data dimana
setiap elemen memakai nama yang sama, bertipe sama dan setiap
elemen diakses dengan membedakan indeks array nya.
Operasi yang dilakukan pada Array :
1. Retrieve, yaitu Membaca atau mengambil nilai di elemen tertentu
yang terdapat didalam array tersebut.
2. Update, yaitu Mengubah nilai di elemen tertentu yang terdapat
didalam array tersebut.
(catatan: Setiap elemen didalam array sudah mempunyai nilai awal,
yaitu nul atau kosong).
Dimensi Array Array 1 Dimensi
Array 2 Dimensi
Array 3 Dimensi
Array Multi Dimensi
STRNG ( PONTER OF CHAR )
String merupakan bentuk data yang biasa dipakai dalam
pemrograman guna menampung dan memanipulasi data
teks.
Suatu konstanta String ditulis dengan diawali dan diakhiri oleh
Tanda Petik.
Contoh :
"masukkan nama anda:
"nama anda adalah: %s\n
Data string biasanya dimasukkan dengan perintah gets()
ataupun scanf().
Konstanta String akan disimpan berurutan dalam memori dan
diakhiri tanda \ 0 atau Null dan setiap karakter akan
menempati memori sebesar 1 byte.
Algoritma adalah Urutan langkah-langkah yang logis untuk
memecahkan masalah.
Kata Algoritma diambil dari nama seorang ilmuwan Persia bernama :
Abu Ja'far Mohammed bn Musa al-Khowarizmi, yang menulis
buku berjudul Kitab Aljabr w'al-miqabala (Rules of restoration and
reduction, pada sekitar tahun 825).
Algoritma umumnya dirancang untuk menyelesaikan suatu masalah
spesifik dan dengan usaha yang paling minimal.
Ciri-ciri Algoritma (Menurut Donald E.Knuth-Pakar ilmu komputer) :
1. nput = Masukan
2. Output = Keluaran
3. Definite / Definiteness = Jelas
4. Effective / Effectiveness = Efektif
5. Terminate / Halt / Finiteness = Berakhir
NPUT Terdapat 0 atau lebih masukan yang diberikan secara
eksternal. Setiap algoritma memerlukan data sebagai masukan
untuk diolah.
OUTPUT Sedikitnya terdapat satu keluaran yang harus
dihasilkan (Setiap algoritma memberikan satu atau beberapa
hasil keluaran).
DEFNTE Harus secara sempurna menyatakan apa yang
dilakukan.
Setiap langkah algoritma harus didefinisikan dengan tepat dan
tidak menimbulkan makna ganda (ambiguous).
Oleh karena itu maka sebetulnya cara paling tepat untuk
menuliskan algoritma adalah dengan menggunakan formal
language (bahasa pemrograman komputer).
EFFECTVE Awalnya Setiap instruksi harus dapat dilakukan
secara manual menggunakan pensil dan kertas dalam
sejumlah waktu berhingga.
Algoritma dapat dituangkan dalam bentuk tulisan atau gambar /
bagan (algoritma digunakan sebagai perantara pada penulisan
program komputer).
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
TERMNATE Harus berhenti/berakhir (Finiteness / Halt) setelah
melakukan sejumlah langkah proses.
JENS PROSESALGORTMA
Langkah-langkah yang membentuk suatu algoritma
dibagi kedalam 3 (tiga) kelompok proses :
1. Sequence Process Proses yang berurutan
2. Selection Process Proses Pemilihan
3. teration Process Proses Pengulangan
Sequence Process
Proses Kedua dikerjakan setelah proses pertama selesai,
kemudian dilanjutkan dengan proses ketiga.
nstruksi dikerjakan satu persatu mulai dari instruksi pertama
sampai dengan instruksi terakhir.
Selection Process
Suatu proses dikerjakan jika suatu kondisi terpenuhi. Suatu
instruksi adakalanya baru boleh dikerjakan apabila memenuhi
persyaratan tertentu.
Sebagai contoh : Jika mengisi pulsa prabayar telepon seluler
maka akan mendapat talktime gratis selama sepanjang malam.
teration Process
Proses dikerjakan berulangkali selam kondisi terpenuhi.
Misalnya boleh memasukkan nomor PN ATM selama nomor
masih salah dan belum tiga kali mencoba.
Operator merupakan simbol atau kata yang dapat digunakan
dalam program untuk melakukan suatu operasi atau
manipulasi, seperti : Menjumlahkan dua buah nilai,
memberikan nilai ke suatu variabel, membandingkan dua
buah nilai, dsb.
Sebagian operator C++ tergolong sebagai operator binary
yaitu operator yang dikenakan terhadap dua buah nilai
Contoh A+B
Simbol + merupakan operator untuk melakukan operasi
penjumlahan dari dua buah operand-nya (yaitu a+b) karena
operasi penjumlahan melibatkan dua operand maka
operator ini tergolong sebagai operator binary.
Tanda Operator dalam bahasa C++ dapat dikelompokkan sbb :
1. Operator Pengerjaan (Assignment Operators)
2. Operator Aritmetika (Arithmatic Operators)
3. Operator Peningkatan dan Penurunan
(ncrement and Decrement Operators)
4. Operator Bitwise (Bitwise Operators)
5. Operator Hubungan (Relational Operators)
6. Operator Logika (Logical Operators)
7. Operator Alamat (Address Operators)
8. Operator Koma (comma Operators)
9. Operator Gabungan
Operator Pengerjaan (assignment operator) berupa tanda :
Sama Dengan ( = )
yang digunakan untuk mengisikan nilai yang berada sebelah
kanannya variabel yang ditunjukkan disebelah kirinya.
Contoh :
a=5
a=b=c
Maka nilai a dan b akan sama dengan c, yaitu 5
Operator Aritmetika yang tergolong sebagai operator binary.
Operator Keterangan
* PerkaIian
/ Pembagian
% ModuIus atau Sisa Pembagian
+ Pertambahan
- Pengurangan
Operator Keterangan
+ Tanda PIus
- Tanda Minus
++ Prefix : preincrement, Postfix : postincrement
-- Prefix : predecrement, Postfix : postdecrement
Operator Aritmetika yang tergolong sebagai operator unary.
OPERATOR PENNGKATAN
Operator peningkatan (increment operator) yang menggunakan
tanda operasi (++).
Operator peningkatan digunakan untuk menambahkan nilai 1
pada nilai sebelumnya.
OPERATOR PENURUNAN
Dan operator penurunan (decrement operator) yang
menggunakan tanda operasi (--).
Operator peningkatan digunakan untuk mengurangi nilai 1 pada
nilai sebelumnya.
Untuk operator Bitwise dalam bentuk bit, bahasa C++ menyediakan
beberapa operator seperti sbb :
Operator Keterangan
<<
Shift left (pergeseran bit ke kiri)
>>
Shift right (pergeseran bit ke kanan)
&
Operasi bit AND
|
Operasi bit OR
| terdapat pada keyboard dgn menekan
bersamaan tombol shift dan :\ )
)
Operasi bit XOR
~
Operasi bit NOT (tekan shift dan tanda ~ )
Seluruh operasi bitwise hanya dapat dikenakan pada operand yang
bertipe integer atau karakter.
OSEN : GIANARI MAULANI, S.KOM
W Operator hubungan (relational operators) digunakan
untuk membandingkan dua elemen nilai dan dihasilkan
nilai perbandingannya, yaitu betul (bernilai 1) atau salah
(bernilai 0).
W Operator ini banyak digunakan pada penyeleksian suatu
kondisi di statement if .
Operator Keterangan
> Lebih besar dari
>= Lebih besar sama dengan
< Lebih kecil
<= Lebih kecil sama dengan
== Sama dengan
!= Tidak sama dengan
OSEN : GIANARI MAULANI, S.KOM
Disamping operator hubungan, C++ juga menyediakan 3 (tiga)
buah operator logika yang biasanya berpasangan dengan
operator hubungan.
Operator Keterangan
&& Operator logika AND
| | Operator logika OR
! Operator logika NOT
Nilai perbandingan dari operator logika juga menghasilkan dua
nilai, yaitu Betul (bernilai 1) atau Salah (bernilai 0).
Operator ini juga banyak digunakan pada penyelesaian suatu
kondisi di statement if .
OSEN : GIANARI MAULANI, S.KOM
Tabel Perbandingan Operator Logika
A B A && B A | | B
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
OSEN : GIANARI MAULANI, S.KOM
C++ juga menyediakan dua buah operator alamat (address
operators) yang berhubungan dengan penggunaan pointer.
Operator Keterangan
& Address of operator
*
ndirection operator
Dari tabel diatas dapat dijelaskan sbb :
Operator & menunjukkan alamat memori dari suatu data.
Operator * digunakan untuk menunjukkan suatu pointer
OSEN : GIANARI MAULANI, S.KOM
Operator koma (comma operator) digunakan untuk
meletakkan beberapa ungkapan yang dipisahkan dengan
tanda koma didalam kurung buka dan kurung tutup.
Contoh :
printf ("%c/n, pertama1);
printf ("%c/n, kedua2);
OSEN : GIANARI MAULANI, S.KOM
C++ memungkinkan penulisan suatu operator pengerjaan (=) untuk
digabung dengan operator lainnya yaitu dengan operator Aritmetika,
Operator peningkatan dan penurunan serta operator Bitwise.
a = a + b; dapat ditulis a+=b;
a = a b; dapat ditulis a- =b;
a = a * b; dapat ditulis a*=b;
a = a / b; dapat ditulis a/=b;
a = a % b; dapat ditulis a%=b;
a = a < b; dapat ditulis a<=b;
a = a > b; dapat ditulis a>=b;
a = a & b; dapat ditulis a&=b;
a = a | b; dapat ditulis a | =b;
a = a ) b; dapat ditulis a)=b;
Linear Array (biasa disebut Array) adaIah saIah satu
bentuk struktur data yang bersifat Linear (continue).
Array merupakan koIeksi data dimana setiap eIemen
memakai nama yang sama dan bertipe sama dan setiap
eIemen diakses dengan membedakan index array-nya.
ARRAY BERIMENSI SATU
Representasi (Pemetaan) di memori
Memori komputer untuk pemetaan Iinear array dibentuk secara Iinear
puIa. Memori memiIiki aIamat (address), ibarat suatu kompIek
perumahan. Sebagai identifikasi, maka rumah-rumah tsb diberi nomor
yang urut daIam poIa yang tertentu (misaInya dari keciI ke besar).
Pemetaan di memori juga berfungsi sebagai identifikasi Ietak data,
agar keIak data tsb dapat diambiI kembaIi, maka akan dengan tepat
ditemui data tersebut.
Banyaknya aIamat di memori tergantung dari jenis
komputer yang digunakan, misaInya dari aIamat 000000
hingga FFFFFF (daIam sistem biIangan HexadesimaI).
Setiap aIamat dapat ditempati oIeh data sebesar satu
byte.
Ketika kita memasukkan data baru, maka komputer akan
mencatat dimana data itu disimpan. EIemen data
pertama yang disimpan daIam aIamat memori disebut
dengan Base Address (B).
ika kita memiIiki 20 niIai data daIam variabeI ber-
subscript A yang masing-masing memerIukan
8 byte data dan base address-nya di 1000.
Berada di aIamat berapakah muIainya niIai data A
yang ke-18 disimpan ?
A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(8) A(9) A(10) A(11)
A(12) A(13) A(14) A(15) A(16) A(17) A(18) A(19) A(20)
1000 1032 1016 1064 1048
1160 1144 1128 1112 1096
1080
1008
1152 1136 1104 1120
1088 1072 1056 1040 1024
ika kita memiIiki 20 niIai data daIam variabeI ber-subscript A yang
masing-masing memerIukan 8 byte data dan base address-nya di
1000.
Berada di aIamat berapakah muIainya niIai data A yang ke-18 disimpan ?
NiIai data A (18) disimpan muIai dari aIamat 1136 di memori.
Kita dapat membuat rumusannya, yaitu :
A = B + (SK-1) * L
Keterangan :
A = Posisi aIamat awaI dari niIai data yang akan dicari
B = Base Address
SK = Subscript ke berapa yang akan dicari
L = Lebarnya data yang dapat disimpan di setiap aIamat memori
A = B + (SK-1) * L
A = 1000 + (18-1) * 8
A = 1000 + 17 * 8
A = 1000 + 136
A = 1136
a) ika kita memiIiki 25 niIai data daIam
variabeI ber-subscript A yang masing-
masing memerIukan 8 byte data dan base
addressnya di 500 berada di aIamat
berapakah muIainya niIai data A yang ke-23
disimpan ?
b) ika kita memiIiki 75 niIai data daIam
variabeI ber-subscript A yang masing-
masing memerIukan 10 byte data dan base
addressnya di 900 berada di aIamat
berapakah muIainya niIai data A yang ke-71
disimpan ?
1. BuatIah perhitungannya dengan rumus !
2. BuatIah gambarannya !
RUMUS :
A = B + (SK-1) * L
A = B + (SK-1) * L
A = 500 + (23-1) * 8
A = 500 + 22 * 8
A = 500 + 176
A = 676
a) ika kita memiIiki 25 niIai data daIam
variabeI ber-subscript A yang masing-
masing memerIukan 8 byte data dan base
addressnya di 500 berada di aIamat
berapakah muIainya niIai data A yang ke-23
disimpan ?
b) ika kita memiIiki 75 niIai data daIam
variabeI ber-subscript A yang masing-
masing memerIukan 10 byte data dan base
addressnya di 900 berada di aIamat
berapakah muIainya niIai data A yang ke-71
disimpan ?
A = B + (SK-1) * L
A = 900 + (71-1) * 10
A = 900 + 70 * 10
A = 900 + 700
A = 1600
A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(8) A(9) A(10) A(11)
500
508
516
524
532
540
548
556
564
572
580
588
A(12) A(13) A(14) A(15) A(16) A(17) A(18) A(19) A(20) A(21)
596
604
612
620
628
636
644
652
660
668
A(22) A(23) A(24) A(25)
676
684
692
700
A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(8) A(9) A(10) A(11)
900
910
920
930
940
950
960
970
980
990
1000
1010
A(12) A(13) A(14) A(15) A(16) A(17) A(18) A(19) A(20) A(21)
1020
1030
1040
1050
1060
1070
1080
1090
1100
1110
A(22) A(23) A(24) A(25) A(26) A(27) A(28) A(29) A(30) A(31)
1120
1130
1140
1150
1160
1170
1180
1190
1200
1210
A(32) A(33) A(34) A(35) A(36) A(37) A(38) A(39) A(40) A(41)
1220
1230
1240
1250
1260
1270
1280
1290
1300
1310
A(52) A(53) A(54) A(55) A(56) A(57) A(58) A(59) A(60) A(61)
1420
1430
1440
1450
1460
1470
1480
1490
1500
1510
A(62) A(63) A(64) A(65) A(66) A(67) A(68) A(69) A(70) A(71)
1520
1530
1540
1550
1560
1570
1580
1590
1600
1610
A(72) A(73) A(74) A(75)
1620
1630
1640
1650
A(42) A(43) A(44) A(45) A(46) A(47) A(48) A(49) A(50) A(51)
1320
1330
1340
1350
1360
1370
1380
1390
1400
1410
Representasi (Pemetaan) di Memori
Ada dua cara yang dapat kita Iakukan untuk pemetaan Array berdimensi
dua, yaitu :
(1) MembeIah per baris (Row Major Order)
(2) MembeIah per koIom (CoIoumn Major Order)
MEMBELAH PER BARIS ( #4 aj4r Order )
Contoh daIam bahasa pemrograman untuk memasukkan data matriks
sbb:
5 4 6
A = 7 3 5 Menjadi 5 4 6 7 3 5 9 2 9
9 2 9
A = B + (( p-1 ) * y + (q-1 )) * L
A = B + (( q-1 ) * y + (p-1)) * L
MEMBELAH PER KOLOM ( CoIomn major order )
Contoh daIam bahasa pemrograman untuk memasukkan data matriks
sbb:
5 4 6
A = 7 3 5 Menjadi 5 7 9 4 3 2 6 5 9
9 2 9
A = B + (( p-1 ) * y + (q-1)) * L
A = B + (( q-1 ) * y + (p-1)) * L
ARRAY 0lHFtSl 0uA
ika kita memiIiki matriks A :
Berordo x , y 55 x 78
Base address untuk matriks tsb adaIah 1000
Setiap niIai data membutuhkan 8 byte memori
Pertanyaan :
i Iokasi manakah awaI niIai data A (57,71)
disimpan ?
ika kita memiIiki matriks A berordo x , y 55 x 78, base address
untuk matriks tersebut di 1000 dan setiap niIai data membutuhkan
8 byte memori, i Iokasi manakah awaI niIai data A (57,71)
disimpan ?
Maka rumus adaIah :
A = B + (( p-1 ) * y + (q-1)) * L
A = 1000 + (( 57-1 ) * 78 + ( 71-1 )) * 8
A = 1000 + (( 4368 ) + ( 70 )) * 8
A = 1000 + ( 4438 ) * 8
A = 1000 + 35504
A = 36504
ika kita memiIiki matriks A berordo x , y 55 x 78, base address
untuk matriks tersebut di 1000 dan setiap niIai data membutuhkan
8 byte memori, i Iokasi manakah awaI niIai data A (57,71)
disimpan ?
Rumus untuk membeIah per adaIah :
A = B + (( q-1 ) * y + (p-1)) * L
A = 1000 + (( 71-1 ) * 78 + ( 57-1 )) * 8
A = 1000 + (( 5460 ) + ( 56 )) * 8
A = 1000 + ( 5516 ) * 8
A = 1000 + 44128
A = 45128
ika kita memiIiki matriks A :
Berordo x , y 60 x 75
Base address untuk matriks tsb adaIah 800
Setiap niIai data membutuhkan 10 byte memori
Pertanyaan :
i Iokasi manakah awaI niIai data A (63,73)
disimpan ?
ika kita memiIiki matriks A :
Berordo x , y 43 x 52
Base address untuk matriks tsb adaIah 1500
Setiap niIai data membutuhkan 8 byte memori
Pertanyaan :
i Iokasi manakah awaI niIai data A (45,50)
disimpan ?
A = B + (( p-1 ) * y + (q-1)) * L
A = 800 + (( 63-1 ) * 75 + ( 73-1 )) * 10
A = 800 + (( 4650 ) + ( 72 )) * 10
A = 800 + ( 4722 ) * 10
A = 800 + 47220
A = 48020
A = B + (( q-1 ) * y + ( p-1 )) * L
A = 800 + (( 73-1 ) * 75 + ( 63-1 )) * 10
A = 800 + (( 5400 ) + ( 62 )) * 10
A = 800 + ( 5462 ) * 10
A = 800 + 54620
A = 55420
A = B + (( p-1 ) * y + ( q-1 )) * L
A = 1500 + (( 45-1 ) * 52 + ( 50-1 )) * 8
A = 1500 + (( 2288 ) + ( 49 )) * 8
A = 1500 + ( 2337 ) * 8
A = 1500 + 18696
A = 20196
A = B + (( q-1 ) * y + ( p-1 )) * L
A = 1500 + (( 50-1 ) * 52 + ( 45-1 )) * 8
A = 1500 + (( 2548 ) + ( 44 )) * 8
A = 1500 + ( 2592 ) * 8
A = 1500 + 20736
A = 22236
SORT adaIah Suatu proses pengurutan data yang sebeIumnya disusun
secara acak atau tidak teratur menjadi urut dan teratur menurut aturan
tertentu.
Biasanya pengurutan menjadi 2 (dua), yaitu :
Ascending Pengurutan dari karakter / angka keciI ke karakter /
angka besar.
escending Pengurutan dari karakter / angka besar ke karakter /
angka keciI.
!&#&%
!&#&%
!&#&%
!&#&%
Untuk meIakukan proses pengurutan dapat menggunakan beberapa
metode, saIahsatunya adaIah :
BubbIe Sort adaIah Suatu metode pengurutan yang membandingkan
eIemen yang sekarang dengan eIemen berikutnya.
MisaIkan ada data-data sebagai berikut 5, 34, 32, 25, 75, 42, 22, 2
Kita ingin meIakukan pengurutan dari yang terkeciI sampai yang
terbesar dari ke 8 (deIapan) data tsb.
Ada beberapa Iangkah sampai dengan data tsb urut dan menghasiIkan
data sbb 2, 5, 22, 25, 32, 34, 42, 75 ?
SeIection Sort adaIah suatu metode pengurutan yang membandingkan
eIemen yang sekarang dengan eIemen berikutnya sampai ke eIemen
yang terakhir.
ika ditemukan eIemen Iain yang Iebih keciI dari eIemen sekarang maka
dicatat posisinya dan Iangsung ditukar.
MisaIkan ada data-data sebagai berikut :
5, 34, 32, 25, 75, 42, 22, 2
aftar biIangan diatas masih beIum urut dari keciI ke besar, yang
nantinya hasiI akhirnya 2, 5, 22, 25, 32, 34, 42, 75
AIgoritma pengurutan yang tercepat dan popuIer,dan karena
kecepatannyaIah maka disebut Quick sort.
Akan tetapi waIaupun rata-rata aIgoritma ini Iebih cepat daripada
aIgoritma sort yang Iainnya,daIam beberapa kasus ia dapat menjadi
Iebih Iambat,khususnya jika jumIah datanya sedikit.
Quick Sort membandingkan suatu eIemen (disebut Pivot) dengan
eIemen yang Iain dan menyusunnya sedemikian rupa sehingga eIemen-
eIemen Iain yang Iebih keciI dari Pivot tsb terIetak disebeIah kirinya dan
eIemen yang Iebih besar dari Pivot terIetak disebeIah kanan.
Merge Sort biasanya digunakan untuk jumIah data yang besar.
engan membagi-bagi menjadi sub-sub bagian muIai dari sedikit
eIemen hingga keseIuruhan eIemen tersebut menjadi data yang sudah
urut.
Sortir ini digunakan biIa kapasitas memori tidak sanggup untuk
menampung seIuruh data yang akan disortir.
1. ATA 4, 28, 31, 27, 80, 44, 12, 9
Berapa Iangkah supaya urut ?
Urutkan secara rinci !
2. ATA 9, 21, 45, 11, 3, 8, 50, 77
Berapa Iangkah supaya urut ??
Urutkan secara rinci !
CONTOH
SOAL
BUBBLE
SORT
1. ATA 9, 41, 12, 62, 78, 13, 2, 30
2. ATA 1, 18, 77, 26, 33, 8, 22, 4
3. ATA 19, 37, 6, 1, 2, 99, 14, 10
Berapa Iangkah supaya urut dgn SeIection
Sort?
Urutkan secara rinci SeIection Sort &
Merge sort !
CONTOH
SOAL
SELECTION &
MERGE SORT
1. ATA 9, 41, 12, 62, 78, 13, 2, 30
Pivotnya di 78
2. ATA 1, 18, 77, 26, 33, 8, 22, 4
Pivotnya di 33
Berapa Iangkah supaya urut ?
Urutkan secara rinci !
CONTOH
SOAL QUICK
SORT
BENERAN

Anda mungkin juga menyukai

  • Nu Skin
    Nu Skin
    Dokumen1 halaman
    Nu Skin
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • AKDR Pelayanan KB
    AKDR Pelayanan KB
    Dokumen4 halaman
    AKDR Pelayanan KB
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Sistem Operasi
    Sistem Operasi
    Dokumen3 halaman
    Sistem Operasi
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Flu Burung Lengkap
    Flu Burung Lengkap
    Dokumen20 halaman
    Flu Burung Lengkap
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Melakukan Survey Kepuasan Pelanggan
    Melakukan Survey Kepuasan Pelanggan
    Dokumen4 halaman
    Melakukan Survey Kepuasan Pelanggan
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Sistem Distribut
    Sistem Distribut
    Dokumen34 halaman
    Sistem Distribut
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Proposal Reuni 1
    Proposal Reuni 1
    Dokumen8 halaman
    Proposal Reuni 1
    zanmar75
    50% (2)
  • Coper Riya
    Coper Riya
    Dokumen6 halaman
    Coper Riya
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Melakukan Survey Kepuasan Pelanggan
    Melakukan Survey Kepuasan Pelanggan
    Dokumen4 halaman
    Melakukan Survey Kepuasan Pelanggan
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Format Anc
    Format Anc
    Dokumen5 halaman
    Format Anc
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • PENUTUP
    PENUTUP
    Dokumen1 halaman
    PENUTUP
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Kecakapan Antar Personal
    Kecakapan Antar Personal
    Dokumen5 halaman
    Kecakapan Antar Personal
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Scribd
    Scribd
    Dokumen32 halaman
    Scribd
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Daftar Kebutuhan Ibu Dan Bayi
    Daftar Kebutuhan Ibu Dan Bayi
    Dokumen1 halaman
    Daftar Kebutuhan Ibu Dan Bayi
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat
  • Fazri Shadow Defender
    Fazri Shadow Defender
    Dokumen1 halaman
    Fazri Shadow Defender
    Zhy Wayne Fazri Promanchester
    Belum ada peringkat