STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG)

Slides:



Advertisements
Presentasi serupa
Metodologi Penelitian dan Telaah Pustaka (KOM 398)
Advertisements

Adiyuda Prayitna STMIK AKAKOM Yogyakarta
Dosen: Fitri Catur Lestari, S. Si., M. Si. Metode Statistik Nonparametrik Semester Genap Tahun Akademik 2012/2013 GAMBARAN UMUM PERKULIAHAN Maret 2013.
Kontrak Perkuliahan Kuliah Bahasa Inggris dimulai pada minggu ke-1 tanggal 23 Februari 2009 Responsi Bahasa Inggris dimulai pada minggu kedua tanggal 2.
ANALISIS DAN PERANCANGAN SISTEM
Perkenalan Program Kompetensi IF & SI
Pengantar Teknologi Informasi Gerlan A. Manu, ST.,MKom Pengantar Teknologi Informasi - Gerlan A. Manu, ST.,MKom 1.
Algoritme dan Pemrograman
Dasar Pemrograman Komputer
Praktikum Bahasa C Struktur Kendali.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
PENGANTAR DINAMIKA TANAH
Pengenalan Sistem Berorientasi Objek Ilmu Komputer Institut Pertanian Bogor.
Bacaan yang dianjurkan 1. Raymond Mc. Leod, Jr, Sistem Informasi Manajemen Jilid 1 2. Gordon B. Davis, second edition, Management information System 3.
ARRAY (Lanjutan).
GRAFIKA KOMPUTER (Computer Graphics) Dosen : Abdullah Basuki R.,S.Si, M.T. Web blog : abdullabasukiumsida.wordpress.com
Struktur Kendali Proses (Seleksi)
Penawaran Tenaga Kerja Dalam Produksi Rumah Tangga dan Keluarga
Tata Tertib Perkuliahan
Departemen Ilmu Komputer FMIPA-IPB 2010
STRUKTUR KENDALI PROSES
PENGENALAN c++ DAN STRUKTUR DASAR C++
M01 – Perkenalan dan kontrak By: Muhammad Davi, S.Kom Blog : HP:
Suwirno Mawlan, S.Kom., M.T.I
Tujuan Umum Agar mahasiswa dapat Memahami Prinsip Komunikasi Data 3 SKS.
PENGOLAHAN CITRA DIGITAL (Digital Image Processing)
Pengantar Sistem Dijital
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER WIDYA UTAMA
Algoritme dan Pemrograman
Karakter & String.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
PERANCANGAN SISTEM IV Bernadeth Adriasi, S.Kom PERTEMUAN I SYLLABUS.
Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT
HUKUM PERDATA ISLAM Rabu, 3 September TATA TERTIB PERKULIAHAN 1. Berpakaian sopan dan rapi 2. Alat komunikasi dinonaktifkan 3. Batas waktu keterlambatan.
KULIAH PENGANTAR BLOK CSL II
Algoritme dan Pemrograman
Dosen: Novi Indah Riani, S.Pd., MT.
OLEH : YETI HERNAWATI, SST.,M.Keb
Kontrak Perkuliahan Metodologi Desain
Andika Elok Amalia, ST., MT.
Oleh. Amida Yusriana, M.I.Kom
POMPA DAN KOMPRESOR Dosen: Novi Indah Riani, S.Pd., MT.
Algoritme dan Pemrograman
KULIAH PENGANTAR BLOK CSL IV
INTERNET (Teori dan Praktikum)
Algoritme dan Pemrograman
Komputer aplikasi it-I (html)
Algoritme dan Pemrograman
Kepemimpinan dan BERPIKIR SISTEM KESMAS
Algoritme dan Pemrograman
Teknik Fasilitasi Nurjanah.
SISTEM INFORMASI MANAJEMEN
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Dosen : Bella Hardiyana, S. Kom
Algoritme dan Pemrograman
Dosen : Bella Hardiyana S. Kom
MOBILE TECNOLOGY (J2ME)
Blok I Pengenalan Tempat
PEMBAHASAN MINGGU 1 S/D MINGGU 7
Algoritme dan Pemrograman
Komputer aplikasi it-I (html)
PERTEMUAN I KONTRAK KULIAH.
Pendahuluan dan kontrak belajar pengauditan 1
Aturan Matakuliah Dasar Algoritma dan Pemrograman
Identitas Dosen – Nama: Winda Andrini Wulandari, S.Kom, M. Kom, CEH – Alamat : Jl. Lestari Komp. Beringin 94 Simpang 4 Banjarbaru –
ORGANISASI KOMPUTER II
Departemen Sains Komunikasi dan Pengembangan Masyarakat
Teknik Fasilitasi Nurjanah.
Teknik Fasilitasi Nurjanah.
Transcript presentasi:

STRUKTUR DATA Pengantar Endang Purnama Giri, S.Kom., M.Kom. (EPG) Annisa, S.Kom., M.Kom. (ANN) Hendra Rahmawan, S.Kom., MT (HRW) Departemen Ilmu Komputer Institut Pertanian Bogor 2009-2010

Who am I ? Staf Dept Ilkom, Ibu rumah tangga, 1 suami, 2 anak, umur 4 tahun dan 4 bulan Address: Bukit cimanggu city blok X2 no.6 Telpon: 08881025777 Moto: Selalu menjadi orang yang bermanfaat dan membawa kebahagiaan bagi orang lain

Kontrak Perkuliahan Klik Here

Peraturan Kuliah Kehadiran Paling lambat 15 menit setelah dosen masuk kelas/lab Berpakaian Rapih Handphone silahkan dinonaktifkan/di-silent

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 Sanksi akan diberikan untuk si pelaku maupun yang memberikan kesempatan

Motivation: Which Filing System? OR This one? This one? WHY?

Motivation: cluster or queue? This one? This one? WHY?

1 6 9 12 OR 12 9 6 1 WHY? Motivation: logistics case This one?

Mengapa Struktur Data Penting? #include<stdio.h> int nilai1, nilai2, nilai3,…,nilai100; float rataan; void main() { scanf(“%d”,&nilai1); scanf(“%d”,&nilai2); scanf(“%d”,&nilai3); : scanf(“%d”,&nilai100); } #include <stdio.h> main() { int n, i, x[100]; scanf("%d", &n); for (i=0 ; i<n ; i++) scanf("%d", &x[i]); .... return 0; }

Mengapa Struktur Data Penting? 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

Mengapa Kuliah ini Penting? Untuk dapat memilih struktur data yang tepat, harus mengetahui kelebihan dan kekurangan dari masing-masing struktur data. Untuk dapat memahami struktur data, caranya adalah dengan belajar membuatnya dan menerapkannya dalam berbagai kasus

STRUKTUR DATA Struktur adalah cara sesuatu disusun;susunan, bangunan;pengaturan susunan dengan pola tertentu……(KBBI) Struktur data adalah suatu cara menyusun atau memodelkan data sehingga memudahkan pemrogram dalam melakukan pengolahan sesuai dengan kebutuhan. Struktur Data dalam bahasa pemrograman diimplementasikan dalam tipe data

Tipe Data Dasar Tipe Data Dasar Pointer Skalar Integer, Riil, char, Boolean Terstruktur Set Array Record File Tipe data dasar adalah tipe data yang telah tersedia secara default dalam suatu bahasa pemrograman (mis: pascal)

Abstract Data Type (ADT) Tipe data abstrak : Tipe data yang tidak tersedia secara default dan didefinisikan sendiri oleh pemrogram. Linked List, Queue, Stack, Tree, Graph.

Tipe data dasar pada C Untuk C Int Float Char String

Representasi struktur Data Representasi struktur data yang sederhana dapat dibentuk dari: Record Array Pointer  linked list

Record / struct 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 Record / struct: tipe data terstruktur elemen-elemen data didalamnya memiliki tipe data yang berbeda Masing-masing record merepresentasikan suatu obyek int nilai; float rataan; Struct nilai_akhir { int nilai; float rataan } ; nilai_akhir x;

Array 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 8 9 5 2 3 7 Angka[1] Angka[2] Angka[3] Angka[4] Angka[5] Angka[6] baca 1000 angka dan lakukan operasi yang sama terhadap masing-masing angka (?) Array : tipe data terstruktur terdiri dari beberapa elemen data setiap elemen data memiliki tipe data yang sama Pengaksesan elemen array menggunakan nama array dan index  namaarray [index]

How to represent a Table ? X [1] Nama: Tini IPK : 2.68 Status : Lulus X [2] Nama: Tina IPK : 3.65 Status : Lulus X [3] Nama: Tino IPK : 4.00 Status : Lulus X [4] Nama: Toni IPK : 3.21 Status : Lulus X [5] Nama: Tito IPK : 2.89 Status : Lulus Array of record !!

Pointer Tipe data yang berisi alamat memory sebagai nilainya Berisi alamat memory dari variabel yang mempunyai nilai tertentu

Pointer Pada variabel statis, lokasi memory ditempati oleh data/nilai sesungguhnya, Pada variabel dinamis, lokasi memory ditempati oleh alamat memori yang menyimpan data sesungguhnya. Variabel dinamis dikenal dengan nama pointer (yang berarti menunjuk ke sesuatu) Lokasi yang ditunjuk biasa dibebut node 100 A 1000 1000 A a. A adalah variabel statis b. A adalah variabel dinamis

Linked List Definisi Linked list atau senarai berantai struktur berupa rangkaian elemen saling berkait, setiap elemen dihubungkan ke elemen lain melalui pointer.

Linked List 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 Sifatnya dinamis dari aspek kapasitas Relatif lebih rumit dibandingkan array

Review Operasi Variabel Pointer Array dan operasinya Array of Record Array dan Pointer Linked List

Review Pointer1 Deklarasi int *ip ``address-of'' operator & int i = 5; ip = &i; ``contents-of'' operator * printf("%d\n", *ip); 5 ``set whatever ip points to to 7.'' *ip = 7;

Review Pointer2 int j = 3; ip = &j; int *ip2; ip2 = ip;

Review Pointer3 ip = &i; ip2 = ip; *ip2 = *ip; different? ip = 5; or *ip = 5; ? Which one is correct? printf("%d\n", ip); or printf("%d\n", *ip); ? Which one is correct?

Variabel Statis Banyaknya data terbatas sesuai dengan saat pendeklarasian int Tabel[1..100] Hanya mampu menampung 100 data maksimal Jika kurang, maka untuk menambahkannya dengan mengubah deklarasinya Trouble !!!! Bagaimana bila banyak datanya tidak bisa dipastikan, apakah harus terus menerus merubah deklarasinya ??????

Implementasi Pointer sebagai variabel dinamis Untuk mengalokasikan tempat (menciptakan) yang ditunjuk pertama kali, menggunakan perintah malloc/calloc. x=(int*)calloc(1,sizeof(int)); K=(int*)calloc(1,sizeof(int)); X K 1001 1002 1001 1002 X K

Implementasi Pointer X K free (X); free (K); Untuk menghapus alokasi tempat yang ditunjuk pointer menggunakan perintah free. free (X); free (K); X K

Record dan Array Kumpulan data dengan record dan array. mhs[1] mhs[2] 3 4 5 ganjar deny indri mira dwi 1001 1002 1003 1004 1005 struct datamhs { int no_urut ; char nama[20] ; }; struct datamhs mhs[5]; Statis, data tidak dapat ditambahkan secara langsung, alokasi memori juga statis

Record dan Pointer Record dan pointer struct simpul{ int no_urut ; char nama[20]; struct simpul *next; }; struct simpul awal, akhir, baru; no_urut nama awal akhir baru null Implementasi kumpulan data dinamis menggunakan struktur diatas terdapat pada linked list

Linked List Komponen-komponen Linked List 1. Simpul, terdiri dari dua bagian, data dan pointer data Pointer penunjuk untuk awal, akhir, pencarian dan elemen baru dari linked list Nil atau null, untuk menyatakan bahwa pointer tidak menunjuk kemanapun 4. Elemen akhir linked list adalah simpul yang pointernya bernilai nil

Linked List Bentuk Linked List Akhir Awal Operasi-operasi pada Linked List 1. Penambahan Simpul : awal, tengah, akhir 2. Penghapusan Simpul : awal, tengah, akhir 3. Pencarian Simpul 4. Pembacaan Simpul