Sekolah Tinggi Manajemen Informatika dan Komputer PERTEMUAN KE-1 STRUKTUR DATA Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya
Mata Kuliah STRUKTUR DATA SKS : 4 Penilaian: Tugas-Tugas, UTS, UAS Kehadiran, dll: Peraturan Akademik
REFERENSI PENGANTAR STRUKTUR DATA, D. Suryadi H.S., Penerbit Gunadarma, 1991 PENGANTAR STRUKTUR DATA, Sumantri Slamet I.S., dkk, Penerbit Elex Media Komputindo …
What is …. ? STRUKTUR Bagaimana bagian-bagian dari sesuatu berhubungan satu dengan lain atau bagaimana sesuatu tersebut disatukan. (id.wikipedia.org) DATA Catatan atas kumpulan fakta. Data merupakan bentuk jamak dari datum, berasal dari bahasa Latin yang berarti "sesuatu yang diberikan". Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa angka, kata-kata, atau citra. (id.wikipedia.org)
DEFINISI Struktur Data adalah koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Struktur Data adalah cara merepresentasikan data agar efisien dalam penyimpanan dan pengolahannya. A data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Wikipedia.org
ALGORITHMS + DATA STRUCTURES = PROGRAMS What for ? Apa tujuan data diatur dalam struktur tertentu? Efisiensi waktu proses Efisiensi resources (RAM, storage) Kemudahan pemrograman (karena lebih jelas) ALGORITHMS + DATA STRUCTURES = PROGRAMS Niklaus Wirth
Efisiensi Waktu Proses Non Index Index A A B B C C D D E E
Efisiensi Storage Matriks Ukuran Besar Yang Selnya Banyak Kosong (Sparse Matrix) 1 2 3 4 5 6 7 ... 500 … 9 8
Efisiensi Storage Hanya data yang tidak 0 yang disimpan 5 4 9 8 1 3 1 2 5 6 500 2 5 3 4 4 9 6 8 1 500 3
JENIS-JENIS DATA Tipe Data Sederhana - Data Sederhana Tunggal : integer, real, boolean, karakter - Data Sederhana Majemuk : string Tipe Data Berstruktur - Struktur sederhana : array, record - Struktur majemuk - Linier : stack (tumpukan), queue (antrian), linear linked list - Non Linier : tree (pohon), graph
Contoh-contoh Integer 1, 10, -197205062000031007 Real 0.009, -12.88938 Boolean true, false Karakter A, q, #, = String “STMIK”, “Facebook” Array [1,3,12,43,56] Record Mhs : {Nama=”Rudi”, Usia=23}
Contoh-contoh Tree (pohon) Graph AMIR BUDI CATUR RANGGA BOB DESI
Selain tipe data tersebut di atas, user dapat membuat tipe data baru (user defined type) sesuai kebutuhan. Namun demikian, tipe data baru tersebut tetap diturunkan dari tipe yang sudah tersedia dalam bahasa pemrograman. Misal: Type Kelas = 1..12; Nama = string[50];
Bahasa pemrograman pada umumnya sudah menyediakan tipe data sederhana dan tipe data berstruktur sederhana, dan sudah pula terdefinisi operasi-operasi yang dapat dilakukan terhadap tipe data tersebut. Contoh operator: Integer: +, -, x, ^, DIV, MOD Boolean: not, and, or
Sedangkan, tipe data berstruktur majemuk tidak semua bahasa pemrograman menyediakan secara langsung, melainkan harus dibuat prosedur penanganannya. Tipe data berstruktur majemuk seringkali disebut dengan istilah Tipe Data Abstrak atau Abstract Data Type. “Struktur” yang terbentuk, misalnya tree (pohon), queue (antrian), graph hanya secara abstrak terbentuk dalam logika programmer, sedangkan representasi fisiknya tetap memanfaatkan sistem memori sekuensial.
Tugas #1 Tuliskan semua operator dan contoh hasil operasinya untuk tipe-tipe data berikut: Integer, Real, Boolean, String Tuliskan contoh pendefinisian tipe-tipe berikut pada bahasa pemrograman Pascal, C dan Basic. - array - record
TERIMA KASIH