Departemen Ilmu Komputer FMIPA-IPB 2010 Struktur Data (KOM 207) Departemen Ilmu Komputer FMIPA-IPB 2010
Deskripsi Mata Kuliah GBPP KOM 207 tahun 2009 Membahas definisi tipe dan teknik atau metode abstraksi data dalam sebuah struktur data untuk menunjang dalam pengolahan/pemrosesan data dalam komputer. Membahas algoritma penting yang terkait dengan pengolahan dan abstraksi data, seperti sorting, hashing dan perhitungan rekursif Deskripsi Mata Kuliah
Tujuan Instruksional Umum GBPP KOM 207 tahun 2009 Mahasiswa mampu menjelaskan dan mengimplementasikan teknik-teknik dasar abstraksi data Tujuan Instruksional Umum
Pokok Bahasan (Acuan : GBPP KOM 207 tahun 2009) Konsep struktur data Linked list dan aplikasi struktur data linier Rekursifitas Struktur data sekuensial Pengenalan struktur data tree dan turunannya Struktur data graf dan aplikasinya Hashing Metode Sorting dengan struktur data tingkat lanjut Pokok Bahasan
Perangkat Perkuliahan Peserta Anda semua (Mahasiswa ILKOM Tingkat 2 … yang lulus MK Algor & Pemrog :p) Tim Pengajar Perkuliahan : Endang Purnama Giri & Dr. Agus Buono Praktikum : Oleh Asisten Bahan Materi Data Structures and Algorithm Analysis in C – Mark Allen Weiss (Addison Wesley) Site Material Elektronik (resources) http://ilkom.fmipa.ipb.ac.id (gabung ke Struktur Data) Perangkat Perkuliahan
Penilaian Komponen Penilaian UTS 30% UAS 35% Tugas 20% Quiz 10% Keaktifan 5% Bonus 5% untuk yang 100% Kehadirannya Penilaian
Kehadiran Paling lambat 15 menit setelah dosen masuk kelas/lab Berpakaian Rapih dan menarik Minimum kehadiran 80% masing2 untuk kuliah dan praktikum (syarat untuk UAS ) Handphone silahkan dinonaktifkan/di-silent Peraturan Kuliah
Kejujuran Akademis Kecurangan Setiap kecurangan Akan diberikan imbalan nilai 0 pada mata kuliah ini Menyontek ataupun bekerja sama pada saat ujian Menyalin tugas hasil pekerjaan yang lain Titip tanda tangan kehadiran Imbalan (sanksi) akan diberikan untuk si pelaku maupun yang memberikan kesempatan Kejujuran Akademis
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009 Pendahuluan Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009
Program menghitung jumlah kemunculan angka dari 1 sampai dengan 1000 yang datanya diletakan pada sebuah file if(x==1) f0001++; if(x==2) f0002++; … if(x==1000) f1000++; Efektif tapi tidak efisien Perhatikan!!!
Bandingkan !!! Kasus sama pendekatan berbeda Int f[1000] f[i]++ Dengan array, Tetap efektif namun lebih efisien Bandingkan !!!
Masih kasus yang sama, Program menghitung jumlah kemunculan angka dari 1 sampai dengan n yang datanya diletakan pada sebuah file, TETAPI nilai n tidak dapat diperkirakan pada saat perancangan program. Bisakah dengan array? Maaf, maksud saya dapat efisienkah dengan array? Perhatikan Lagi!!!
Akhirnya Struktur data + algoritma = program Namun untuk level kita Struktur data tepat + Algoritma siip= program yang elegan Akhirnya
Arti Kata (Webster) Data (da●ta) Struktur (struc●ture) Fakta yang dapat berupa angka,simbol,gambar, statistik dan lainnya yang melalui suatu teknik konklusi dapat menghasilkan informasi Struktur (struc●ture) Cara membentuk, mengkonstruksi, mengaransemen, mengkomposisikan ataupun mengorganisasikan sesuatu Arti Kata (Webster)
Struktur Data Mengapa data disimpan? Supaya bisa diakses diproses untuk masa yang akan datang Mengapa dalam penyimpanan membutuhkan struktur data? Supaya lebih mudah/efisien dalam pengaksesan/pemrosesas data tersebut Mengapa belajar teknik pembentukan struktur data, toh ada bahasa pemrograman yang sudah menyediakan struktur data tersebut? Ada tapi tidak semua Struktur Data
Representasi Data Internal Data Internal (pada memory) 0B3B:0100 45 4E 44 41 4E 47 20 47-41 4E 54 45 4E 47 20 42 ENDANG GANTENG B 0B3B:0110 41 4E 47 45 54 B4 07 80-3E 35 99 00 34 00 2A 0B ANGET...>5..4.*. 0B3B:0120 B0 3F 2A 26 34 99 72 EB-86 E1 E3 09 86 E1 E8 C8 .?*&4.r......... 0B3B:0130 00 86 E1 E2 F7 86 E1 E8-15 E3 75 21 80 CF 04 80 ..........u!.... 0B3B:0140 3E 6E 99 00 74 05 F6 C7-02 75 48 89 3E 32 99 FF >n..t....uH.>2.. 0B3B:0150 06 32 99 C6 06 34 99 FF-C6 06 35 99 00 E8 99 00 .2...4....5..... 0B3B:0160 AC E8 61 E2 74 38 3C 0D-74 34 3A 06 02 96 74 2E ..a.t8<.t4:...t. 0B3B:0170 3A C3 74 2A 3C 3A 74 03-E9 5F FF 80 3E F0 97 02 :.t*<:t.._..>... Representasi Data Internal
Untuk C Int Float Char String Tipe data dasar pada C
Tipe data bentukan, tipe data baru (kreasi) yang tersusun atas beberapa elemen yang memiliki tipe data dasar ataupun tipe data bentukan yang telah di buat sebelumnya. Pada C dikenal dengan struct Record / struct
Representasi struktur Data Representasi struktur data yang sederhana dapat dalam bentuk: Array Pointer Linked list Representasi struktur Data
(untuk C) Suatu struktur data yang memiliki tipe data sejenis namun dapat menampung lebih dari satu buah nilai Penyimpanan pada memory secara terurut Pengaksesannya dengan indeks (ilustrasi di papan tulis) Sifatnya statis (dari aspek kapasitas) Pengaksesan relatif cepat Array
Pointer Tipe data yang berisi alamat memory sebagai nilainya Berisi alamat memory dari variabel yang mempunyai nilai tertentu Ilustrasi di papan tulis Pointer
Himpunan kosong, satu ataupun lebih dari elemen (node) yang saling terhubung membentuk suatu deretan (list) Setiap elemen dialokasikan pada alamat memory yang belum tentu terurut Penelusuran dari node ke node Ilustrasi di papan tulis (logik dan fisik) Sifatnya dinamis dari aspek kapasitas Relatif lebih rumit dibandingkan array Linked List
Wassalamu’alaikum … Terima Kasih Departemen Ilmu Komputer FMIPA-IPB 2009