Algoritma & Struktur Data
Algoritma
Ciri algoritma yang baik menurut DONALD E.KNUTH:
1. Input: ada minimal 0 input atau lebih
2. Ouput: ada minimal 1 output atau lebih
3. Definite: ada kejelasan apa yang dilakukan
4. Efective: langkah yang dikerjakan harus efektif
5. Terminate: langkah harus dapat berhenti (stop) secara jelas
Struktur Data
Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.
Di dalam struktur data kita berhubungan dengan 2 aktivitas:
1. Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada
2. Menunjukkan mekanisme kerja operasi-operasinya
Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.
Jadi Struktur data = obyek data + [operasi manipulasi data]
Hubungan Struktur Data & Algoritma
1. Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat.
2. Tidak semua struktur data baik dan sesuai. Contoh untuk problem pemrosesan image, record informasi mahasiswa.
Tipe Data Dan Obyek Data pada Bahasa Pemrograman Algoritma & Struktur Data.
Tipe Data
Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer.
1. Built-in : sudah tersedia oleh bahasa pemrograman tersebut.
Tidak berorientasi pada persoalan yang dihadapi.
2. UDT : User Defined Type, dibuat oleh pemrogram.
Mendekati penyelesaian persoalan yang dihadapi
Contoh: record pada Pascal, struct pada C.
3. ADT : Abstract Data Type
memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut.
Contoh: class pada Java.
Contoh Tipe Data Pada C.
Terdapat 5 tipe bawaan dari bahasa C Yaitu :
1. void : diartikan sebagai tanpa tipe data dan tanpa pengembalian nilai.
2. int : bilangan bulat ( integer )
3. float : bilangan pecahan ( floating poin )
4. double : bilangan pecahan dengan jangkauan data yang lebih luas
5. char : karakter
Sedangkan C++ sendiri menambahkan dua buah tipe data lagi yaitu :
1. bool : isi bilangan boolean (true dan false)
2. wchar t : wide character
Dengan Jangkauannya :
TIPE | UKURAN(bits) | RANGE |
Unsigned char | 8 | 0 s/d 255 |
Char | 8 | -128 s/d 127 |
Short int | 16 | -32,768 s/d32,767 |
Unsigned int | 32 | 0 s/d 4,294,967,295 |
Int | 32 | -2,147,438,648, s/d 2,147,483,647 |
Unsugned long | 32 | 0 s/d 4,294,697,295 |
long | 32 | -2,147,438,648, s/d 2,147,483,647 |
Float | 32 | 3.4 e-38 s/d 1.7 E +38 |
Double | 64 | 1.7E-308 s/d3.4 E + 308 |
Long double | 80 | 3.4 E-4932 s/d 1.1 E + 4932 |
Obyek Data
Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu.
Misalnya : integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf
Tidak ada komentar:
Posting Komentar