SELAMAT MENEMPUH MATAKULIAH Dosen Pembina: Sujito, S.Kom., M.Pd. Bisa dihubungi melalui: HP : 0812 3325 516 E-mail : [email protected] [email protected] PENGENALAN CONTOH MASALAH Buatlah program untuk menghitung jumlah kemunculan angka 1 sampai 300 dalam sebuah file CONTOH MASALAH Mungkin ada yang menjawab seperti ini: while (!feof()) do { fread(a); if (a == 1) c001++; if (a == 2) c002++; ... if (a == 300) c300++; } Program di atas >300 baris. Program di atas benar walaupun tidak efisien, sangat besar (300 lines of code), dan sulit dipelihara. SOLUSI Solusi sederhana: gunakan array integer yang terdiri dari 300 elemen: int c[300]; while (!feof()){ fread(a); c[a]++; } PERMASALAHAN Pemahaman masalah secara menyeluruh dan data apa saja yg diperlukan diperlukan.. Keputusan operasi operasi--operasi yang dilakukan terhadap data. Penyimpanan data pada memori sehingga tersimpan dan terstruktur secara logis shg operasinya efisien efisien.. Pengambilan keputusan terhadap bahasa pemrograman apa yang paling cocok untuk jenis data yang ada CONT… Karena itu kita perlu mempelajari: STRUKTUR DATA 7annya adalah mhs mampu memilih struktur/type data yang tepat pada setiap variabel yang digunakan dalam program guna meningkatkan efisiensi penggunaan memori (Space) sehingga berdampak pada peningkatan Speed (kecepatan eksekusi) sebuah program. PROGRAM ALGO RITMA STRUKTUR DATA PENGERTIAN Struktur data adalah pengaturan data di dalam memori komputer ketika pemrosesan data sedang berlangsung. MANFAAT Agar diperoleh sebuah pemprograman lebih efisien, mudah, dan elegan. Supaya data yang disimpan dapat lebih mudah/efisien dalam pengaksesan/pemrosesan data tersebut. ALGORITMA PENGERTIAN Deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis. MANFAAT Data perlu distrukturkan agar dapat diperoleh algoritma yang sederhana dan/atau berkinerja unggul. Algoritma tidak dapat dipisahkan dengan struktur data yang dipilih dalam mempresentasikan data persoalan. CONT… Algoritma dirancang untuk menyelesaikan suatu persoalan spesifik dengan usaha paling minimal. EKSPRESI ALGORITMA Tiga alternatif yang paling sering digunakan, yaitu: Bahasa alami/natural (seperti bahasa Indonesia, bahasa Inggris). Pseudocode, atau flowchart. PENGERTIAN DASAR Struktur Data Sistem penyimpanan data dalam memori komputer Data Kumpulan nilai yang merupakan representasi fakta dari dunia nyata Entity Sesuatu yang mempunyai nilai Range Value Nilai-nilai yang mungkin (nilai jangkauan) dari sebuah attribute Model Data Wujud data sesuai cara pandang. Model Data Logika Model data yang sesuai dengan sudut pandang manusia Model Data Fisik Model data komputer yang representasikan dengan bit 0 dan 1. CONTOH Data kendaraan bermotor: Nopol NoMesin NoRangka Merk Warna dll OPERASI PADA STRUKTUR DATA Traversing Proses mengunjungi setiap elemen data Searching Proses mencari data dangan kriteria tertentu Inserting Proses menambahkan data Deleting Proses menghapus data Sorting Proses menyusun elemen data dengan aturan tertentu Updating Proses merubah data Mergering Proses menggabung 2 struktur data PEMBAGIAN STRUKTUR DATA Array Linier Link List Struktur data Tree Non linier Graph REFERENSI Bambang Hariyanto, IR, MT. Struktur Data: Pondasi Membuat Program yang Elegan dan Efisien. Informatika: Bandung. 2008 Fathurrochman, M.Kom. Pemrograman Berorientasi Objek dengan Bahasa Java. UINMalang Press. 2008 Siswanto. Algoritma & Struktur Data Liner dengan Java. Graha Ilmu. 2010