Pada
Algoritma dan Struktur Data 2 akan mempelajari tentang tipe data lain,
searching (pencarian), algoritma rekursif (berulang), dan pengurutan (sorting).
1.
Tipe Data Lain
Tipe data lain dalam pascal terdir dari 4 macam, yaitu tipe sub
jangkauan, tipe data enumerasi, tipe data set, dan tipe data string.
a.
Tipe Sub Jangkauan
Tipe ini mendefenisikan jangkauan dari nilai-nilai ordinal.
Aturan pendeklarasian :
Type
Huruf :’o’..’c’;
Angka : ‘0’..’1’;
Nilai : ‘0’..’100’;
var
Inisial : Huruf
Nilai : Angka
Selain dengan cara mendeklarasikan terlebih dahulu tipe dan
selajutnya dilakukan dalam pendeklarasian variabel tipe sub jangkauan dapat
langsung dibuat pada bagian pendeklarasian variabel.
b.
Tipe Data
Enumerasi
Tipe enumerasi
mendefenisikan sekumpulan nilai yang diberi nama dan disebut satu persatu
berdasarkan nilainya.
Aturan pendeklarasian :
Type
Nama_tipe =
(nama_nilai1, nama_nilai2,......., nama_nilain);
c.
Tipe data set
Tipe data set
adalah tipe data yang memungkinkan kita untuk mengadakan suatu himpunan dan
termasuk tipe data terstruktur. Pada tipe ini jumlah nilai tipe tidak boleh
lebih dari 255 nilai.
Aturan
pendeklarasian :
Type
Nama_tipe = set of tipe;
Contoh program :
d.
Tipe data
string
Tipe data
string adalah serangkai karakter dengan panjang yang berubah-ubah dan panjang
maksimalnya antara 1-255 karakter.
Aturan
pendeklarasian :
Var
Nama_var :
string [constanta];
Atau
Nama_var : string;
Fungsi
dan prosedur untuk manipulasi string :
1.
Length, yaitu
mengirimkan panjang string.
2.
Concat, yaitu
menggabungkan 2 atau lebih string menjadi 1 string.
3.
Copy, yaitu
mengirimkan sub string dari string.
4.
Delete, yaitu
untuk menghapus sub string pada sebuah string.
5.
Insert, yaitu
menyisipkan sub string pada sebuah string.
6.
Pos, yaitu
mengirimkan posisi sub string pada sebuah string.
2.
Searching
(pencarian).
Pencarian
(Searching) adalah proses pencarian nilai dari sebuah larik dengan
membandingkan tiap-tiap elemennya berdasarkan algoritma pencarian yang
digunakan. Ada 3 macam jenis search yang terdapat dalam pascal yaitu,
Sequential search, Binary Search, dan Ekstrim Search.
1.
Sequential Search
Algoritma
pencarian ini yaitu membandingkan nilai yang dicari (didefenisikan) dengan
setiap elemen array, mulai indeks terkecil sampai indeks terbesar yang
terdefenisi. Sebagai contoh bila di indeks array ditentukan dari sebuah
variabel n=8 dan tab array berisi
(1,2,3,10,12,70, 42, 30) sedang nilai yang dicari adalah x=10, maka pencarian
akan dihentikan pada (1,2,3,10) dan tidak perlu sampai pada tab array yang
paling terakhir oleh karena nilai yang dicari telah ditemukan. Yakni x=10 ditemukan pada indeks ke-4.
2.
Binary Search.
Algoritma ini
juga disebut dengan dikotomik ide dasarnya adalah membandingkan harga x, dengan
elemen tengah array, jika lebih besar dari elemen tengah array, karena
elemen-elemen terurut membesar, maka pencarian dilakukan pada setengah bagian
yang nilainya lebih besar dari x sampai elemen terakhir. Sebagai contoh :
Diketahui sebuah tabel berisi harga integer, tabInt[1..n], yang
telah terisi, dan terurut membesar , tulisakan program dengan bantuan fungsi
yang jka diberikan sebuah x berniali integer , maka akan dicari apakah harga x
ada dalam tabint secara dikotomik, dengan aturan sbb:
Bandingkan x dengan harga elemen tengah :
1.
Jika sama
berarti x ditemukan dalam tabel
2.
Jika
x
3.
Jika x >
tengah, pencarian dilakukan pada elemen bagian atas dengan cara yang sama
3.
Ekstrim Search
mencari nilai
ekstrim (terbesar atau terkecil) adalah
contoh dari proses sequential terhadap array selain beberapa contoh
pencarian diatas, ide dasar algoritma mencari nilai ekstrim adalah dengan
membandingkan nilai elemen pertama array (diasumsikan sebagai nilai ekstrim)
dengan nilai elemen-elemen sesudahnya.
3.
Algoritma
Rekursif.
Rekursif
adalah proses memanggil dirinya sendiri yang biasanya dilakukan fungsi atau
prosedur pada pemrograman prosedural. Rekursif akan terus berjalan sampai
kondisi berhenti terpenuhi.
Contoh program :
4.
Pengurutan
(Sorting).
Pengurutan
data atau sorting merupakan hal yang penting dalam kehidupan nyata untuk
memudahkan pengolahan data. Pengurutan data dapat dilakukan dengan urutan naik
(ascending) atau dengan urutan menurun (descending).
Pengurutan memiliki beberapa metode antara lain :
1.
Metode
penyisipan (insertion sort).
Metode
penyisipan langsung adalah metode pengurutan yang mengambil sebuah data sisip
pada data yang diurutkan dan menggeser data yang lebih besar dari data sisip
agar data sisip dapat ditempatkan pada tempat yang benar.
2.
Metode Seleksi
Metode seleksi
adalah metode pengurutan ang mencari nilai terkecil atau terbesar bergantung
pada pengurutan naik atau turun yang kemudian ditempatkan pada tempat paling
depan, kemudian mencari lagi nilai terkecil atau terbesar kedua sepanjang
jumlah elemen array dikurangi satu, setelah ketemu elemen kedua ditukar dengan
nilai minimum , begitu seterusnya.
3.
Metode
Gelembung (Bubble Sort)
Metode
gelembung adalah metode pengurutan yang menukarkan dua buah elemen secara terus
menerus sampai pengurutan selesai.
4.
Metode Quick
Sort
Metode quick
sort adalah metode pengurutan yang menjadikan sebuah tabel data yang akan
diurutkan menjadi dua buah sub bagian yang ditelusuri dari kiri dan dari kanan.
Sekian yang dapat saya sampaikan mengenai Algoritma dan Struktur Data 2, lebih dan kurangnya mohon di maafkan.....