2. Defenisi Struktur Data
Struktur Data adalah cara menyimpan atau
mempresentasian data di dalam komputer agar
bisa dipakai secara efisien.
Pemakaian Struktur Data yang tepat di dalam
proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga
menjadikan Program Secara Keseluruhan lebih
efisien dan sederhana
3. Contoh Penerapan
Sebuah program pencarian rute terdekat di suatu kota
mempunyai peta seperti di bawah ini:
Bagaimana
Caranya
menyimpan
data jarak
antar peta
tersebut di
memori?
5. Keuntungan Solusi 1
Struktur Data Sederhana
Pengaksesan sangat mudah (karena menggunakan array)
Pencarian Jarak dapat dilakukan dengan mudah
6. Kelemahan Solusi 1
Boros Tempat ketika titik persimpangannya banyak
?
Berapa Banyak titik
persimpangan di
Sulawesi Selatan?
7. Kenapa disebut Boros?
1 simpang tidak mungkin tersambung dengan 9999 simpang
lainnya. Paling banyak adalah (mungkin) simpang 5. itu
artinya sebuah titik persimpangan hanya terhubung dengan
4 titik pesimpangan lainnya.
Ini artinya dalam satu baris data titik persimpangan maka terdapat
9996 data yang nilainya 0 (karena tidak terhubung). Dengan kata
lain 9996 dari 10000 adalah 99,96% data adalah 0, sedangkan
yang berisi data hanya 0.04%.
0.04% berisi data, 99,96% berisi 0, bukankah ini
pemborosan?
8. Solusi 2
Data disusun dalam array 1 dimensi (menyimpan data semua titik
persimpangan) yang setiap elemennya memilikii linked-list (yang
berisi titik-itik simpang yang berhubungan).
11. Kekurangan Solusi 2
Butuh algoritma Khusus untuk mencari jarak dari suatu titik
ke titik lain.
Contoh:
Carilah Jarak dari titik D menuju E
1. Cari titik simpang D dengan cara menelusuri dari
simpang pertama (sekuensial)
2. Setelah titik simpang D ditemukan, mulai telusuri
linked list dari simpang pertama yang berhubungan
dengan simpang D (yaitu Simpang C), Kemudian ke
simpang E.
16. TIPE DATA
Data yang diproses dalam sebuah program biasanya tersimpan dalam
sebuah variabel
Semua variabel mempunyai tipe data
Seorang programmer dapat menggunakan tipe data yang telah
disediakan oleh bahasa pemrograman (pre-defined data type) ataupun
membuat tipe data sendiri (jika tipe data yang diperlukan tidak tersedia
oleh bahasa pemrograman)
19. TIPE DATA DASAR
Tipe data yang sederhana (simple data type)
Telah tersedia dari bahasa pemrograman (pre-defined data type). C, Java,
Pascal dll
Contoh Tipe Data
Tipe Data Logika (Bolean)
Tipe Data Bilangan Bulat (Ordinal Number)
Tipe Data Bilangan Pecahan (Floating Number)
Tipe Data Karakter
Tipe Data String
20. Tipe Data Logika
Tipe data ini sering disebut dengan tipe data Bolean
Tipe data ini mempunyai dua kemungkinan yaitu True (benar) dan False
(salah)
Beda bahasa progam, beda juga cara pendefenisian True/False
Pada bahasa pascal, ada nilai True dan False
Pada bahasa C, Bolean dinyatakan dengan 0 (False) dan bukan 0 (True)
21. Tipe Data Logika
Operator Operasi Logika: OR, NOT, AND, XOR
Operator perbandingan: =, <>
22. Tipe Data Bilangan Bulat
Nama tipe, ukuran memori dan range nilai tipe data bilangan bulat.
23. Tipe Data Bilangan Bulat
Tipe data ini digunakan untuk menampung data angka bilangan bulat.
Ada banyak nama jenis tipe data bilangan bulat, diantaranya adalah byte, shortint,
smallint, integer, longit, longword.
Setiap jenis tipe data mempunyai karakteristik masing-masing berdasarkan:
Ukuran memori yang digunakan
Semakin besar memori yang digunakan maka range nilai yang
bisa ditampung juga semakin lebar/banyak
Apakah dapat menampung bilangan berpenanda (signed)
negatif atau hanya bilangan positif saja.
Operator aritmatika: +, -, *, /, DIV, MOD
Operator Perbandingan: >, <, >=, <=, <>, =
24. Tipe Data Bilangan Pecahan
Tipe data ini digunakan untuk menampung data angka bilangan pecahan.
Ada beberapa nama jenis tipe data bilang pecahan, diantaranya adalah single, double,
extended dan real.
Setiap jenis tipe data mempunyai karakteristi masing-masing berdasarkan:
Ukuran memori yang digunakan.
Semakin besar memori yang digunakan maka range nilai yang bisa ditampung juga
semakin lebar/banyak.
Keakuratan digit.
Operator aritmatika: +, -, *. /
Operator perbandingan: >, <, >=, <=, <>, =
25. Tipe Data Bilangan Pecahan
Nama tipe, ukuran memori dang range nilai tipe data bilangan pecahan
26. Tipe Data Bilangan Karakter
Tipe data ini digunakan untuk menampung sebuah karakter.
Ukuran memori yang dibutuhkan adalah 1 byte.
Nama tipe data yang digunakan adalah char
Karakter menampung semua karakter ASCII yang biasa berupa huruf (A…Z, a….z),
angka (0…9), tanda baca, simbol, karakter control dan lain-lain.
Penulisan data karakter harus diapit dengan tanda kutip tunggal (apostrof).
Contoh: pilihan:=‘Y’;
Penulisan data karakter boleh juga ditulis dengan menggunakan kode ASCII dari
karakter tersebut diawali dengan tanda #.
Contoh escape:=#27;
Operator perbandingan: >,<, >=,<=, <>, =
28. Tipe Data String
Tipe data ini digunakan untuk sekumpulan/sederetan karakter-karakter, misalnya untuk
menyimpan data nama, alamat, keterangan, dan lain-lain.
String sebenarnya adalah array dari karakter (array of char)
Ukuran standar string adalah 255 karakter di (pascal).
Besarnya ukuran memory yang dibutuhkan adalah sesuai maksimum panjang string +1
byte. Jadi jika ada nama bertipe STRING dengan maksimum 10 karakter, maka akan
minta tempat di memori sebanyak 11 byte (di pascal).
Operator penggabungan (concatenation): +
Operator perbandingan: <,>, <=, >=, <>, =
29. TIPE DATA POINTER
Pointer adalah tipe data yang menyimpan alamat di memori (dimana data miliki
varable lain berada).
Pointer bisa menunjuk data ke variabel manapun.
Pendeklarasian pointer adalah
namaVar:^TipeDataVariable;
Untuk mengisi variabel tipe ini sintaksnya adalah:
namaVar:=@namaVariableLain;
Untuk mengisi nilai di lokasi yang ditunjuk oleh pointer, sintaksnya adalah:
namaVar^:=nilai;
Untuk mengambil nilai di lokasi yang ditunjuk oleh pointer, sintaksnya adalah:
writeln(‘Data : ‘, namaVar^);
30. TIPE DATA POINTER
Linked List menggunakan pointer
Array dapat anda telusuri menggunakan pointer
Stack, Queue, Tree bisa diimplementasikan dengan pointer.
JADI POINTER WAJIB DIPAHAMI
31. TIPE DATA TERSTRUKTUR
Tipe data terstruktur adalah tipe data yang dibuat sendiri oleh pregrammer (sesuai
kebutuhannya)
Tipe data terstruktur dibuat dikrenakan bahasa pemrograman tidak disediakan tipe
data yang dibutuhkan programer.
Tipe data terstruktur disusun ketika programmer memerlukan sebuah data yang isinya
multivalue (banyak isinya). Contoh: Data mahasiswa terdiri dari NIM, Nama, Kelas, Nilai
Kehadiran, Tugas, UAS, UTS dll.