STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

dokumen-dokumen yang mirip
1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen

Catatan Kuliah PAM 282 STRUKTUR DATA

Abstract Data Type (ADT)

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

STRUKTUR DATA. Deskripsi Mata Kuliah

Nama, Tipe, Ekspresi, dan Nilai

Algoritma Pemrograman

Struktur Data. Pertemuan 2

Algoritma Pemrograman

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Algoritma Pemrograman

Algoritma dan Struktur Data

Algoritma Pemrograman

TIPE, NAMA, DAN NILAI

STRUKTUR DATA. Pengajar Jaidan Jauhari,, MT. Alamat Halaman 1

STRUKTUR DATA. Pengajar Jaidan Jauhari,, MT. Alamat Halaman 1

Brigida Arie Minartiningtyas, M.Kom

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

Algoritma Pemrograman

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

TYPE. Inggriani Liem : Catatan Kuliah Algoritma & Pemrograman, Jurusan teknik Informatika - ITB TYPE.doc/TYPE- 21/08/03 16:04

Algoritma dan Struktur data

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Struktur Program. Rinta Kridalukmana

1 Pencarian. 1.1 Tinjauan Singkat Larik

STRUKTUR DASAR PEMROGRAMAN

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Algoritma Pemrograman

Silabus Struktur Data. Bandung 2013

Pertemuan 4 RUNTUNAN/SEKUENSIAL

Identitas dosen POKOK BAHASAN. Suherman,, ST Address. : Cilegon Mobile : Ym Blog

MATERI PRAKTIKUM STRUKTUR DATA

Algoritma dan Pemrograman. Pertemuan Ke-4 Konsep Tipe Data, Operator Dan Identifier

Algoritma Pemrograman

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

Pengantar Struktur Data

Beyond the Array: The Record Record bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan. Contoh :

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Array. Teknik Informatika Politeknik Negeri Batam

MATRIKS. Dapat disimpan secara linier dan kontigu dengan dua alternatif sebagai berikut : a. Per baris

Algoritma Pemrograman

SATUAN ACARA PENGAJARAN

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

BAHAN AJAR. Mata Kuliah Struktur Data. Disusun oleh: Eva Yulianti, S.Kom.,M.Cs

ANALISIS PERMAINAN KATA MENGGUNAKAN ALGORITMA PEMROGRAMAN ANAGRAM DAN SUBANAGRAM

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Algoritma Pemrograman

Pert 1 Struktur Data (mengajarkomputer.wordpress.com)

Tipe Data, Nama, Nilai. Chapter 4

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

Algoritma Pemrograman

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

Algoritma Dan Struktur Data II

FUNGSI. {deretan instruksi algoritmik : pemberian harga, input, output, analisa kasus, pengulangan)

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Pemrograman Prosedural PENDAHULUAN. Tim Pengajar KU1071 Sem

Algoritma dan Struktur Data

StrukturDasarProgram Prosedural (dalambahasac++)

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Algoritma dan Pemrograman. Pertemuan Ke-12 Tipe data array/larik 1

Tinjau algoritma dibawah ini

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

MATRIKS P E N G E N A L A N P R O G R A M S T U D I. Institut Teknologi Sumatera

Algoritma Pemrograman

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

Struktur dan Organisasi Data 2 STRUKTUR DATA

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Algoritma Pemrograman

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

MODUL IV PENCARIAN DAN PENGURUTAN

Bahasa Pemrograman- TIS SKS

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

STRUKTUR DATA Pertemuan 1 s.d 8

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

Transkripsi:

STRUKTUR DATA Pengajar Jaidan Jauhari, M.T. Alamat Email jaidan_j@ilkom.unsri.ac.id jaidan_j@yahoo.com Disarikan Dari Berbagai Sumber, Terutama Dari Diktat Struktur Data Informatika ITB Karangan Dr. Inggriani Liem Halaman 1

SILABUS MATERI KULIAH Pengantar Struktur Data Review Record dan Array Linked List dan Variasi List Stack (Tumpukan) Queue (Antrian) Pohon Biner MultiList Graph Halaman 2

BUKU SUMBER 1. Inggriani Liem. 1997. Diktat Kuliah Algoritma dan Pemrograman Prosedural. Bandung : ITB 2. Inggriani Liem. 2003. Diktat Kuliah Struktur Data. Bandung : ITB 3. Rinaldi Munir. 2003. Algoritma dan Pemrograman II. Bandung : Penerbit Informatika 4. Bambang Wahyudi. 2004. Struktur Data dan Algoritma. Yogyakarta : Andi Offset 5. Dwi Sanjaya. 2001. Bertualang dengan Struktur Data di Planet Pascal. Yogyakarta : JJ Learning 6. P. Insap Santoso.1997. Struktur Data dengan Turbo Pascal. Yogyakarta : Andi Offset Halaman 3

Komponen Penilaian Tugas 20% Ujian 1 20 % (Pertemuan ke-3) Ujian 2 20% (Pertemuan ke-7) Ujian 3 20% (Pertemuan ke-11) Ujian Akhir Semester 20% Halaman 4

Aturan dan Sanksi-sanksi Harus punya buku tulis tebal untuk catatan dan Hardcopy bahan kuliah struktutr data (akan diberikan dalam bentuk file) Kehadiran minimal 80%, kurang dari 80% tidak lulus (mendapat nilai E) Keterlambatan maksimal 10 menit (Lebih dari 10 menit tidak diijinkan memasuki ruangan) Pengumpulan Tugas yang melebihi waktu yang telah ditentukan akan diberikan nilai nol Kecurangan dalam bentuk apapun akan mendapatkan nilai E Mahasiswa berpakaian rapi dan sopan, yang ditunjukkan antara lain 1. Memakai sepatu tertutup 2. Memakai baju berkerah 3. Tidak memakai aksesoris yang tidak diijinkan 4. Tidak memakai pakaian yang kurang dasar atau lebih dasar 5. dan lain-lain Selama perkuliahan berlangsung mahasiswa tidak diijinkan meninggalkan ruang kuliah kecuali sangat terpaksa dan itupun harus membuat surat ijin dan hanya boleh satu kali Halaman 5

PENGERTIAN STRUKTUR DATA Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol Halaman 6

Secara garis besar type data dapat dikategorikan menjadi : 1. Type data sederhana a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter b. Type data sederhana majemuk, misalnya String 2. Struktur Data, meliputi a. Struktur data sederhana, misalnya array dan record Halaman 7

b. Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan Multilist Non Linier : Pohon Biner dan Graph 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. Halaman 8

Struktur data yang standar yang biasanya digunakan dibidang informatika adalah : List linier (Linked List) dan variasinya Multilist Stack (Tumpukan) Queue (Antrian) Tree ( Pohon ) Graph ( Graf ) Struktur data yang sudah dipelajari sebelumnya adalah struktur data statis, yaitu array. Dalam kuliah ini akan dipelajari struktur data dinamis. Halaman 9

REVIEW RECORD (REKAMAN) Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram. Rekaman disebut juga tipe terstruktur. Contoh : 1. type Titik : record <x : real, y : real> jika P dideklarasikan sebagai Titik maka mengacu field pada P adalah P.x dan P.y. Halaman 10

2. Didefinisikan tipe terstruktur yang mewakili Jam yang dinyatakan sebagai jam (hh), menit (mm) dan detik (ss), maka cara menulis type Jam adalah : type JAM : record <hh : integer, {0 23} mm : integer, {0 59} ss : integer {0 59} > Jika J adalah peubah (variabel) bertipe Jam maka cara mengacu tiap field adalah J.hh, J.mm dan J.ss Halaman 11

Terjemahan dalam bahasa C : 1. type Titik : record <x : real, y : real> diterjemahkan menjadi : typedef struct { float x; float y; } Titik; 2. type JAM : record <hh : integer, {0 23} mm : integer, {0 59} ss : integer {0 59} > Diterjemahkan menjadi : typedef struct { int hh; /*0 23*/ int mm; /*0 59*/ int ss; /*0 59*/ } Jam; Halaman 12

REVIEW ARRAY (LARIK) 1. Pendahuluan Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Halaman 13

Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain. Nama lain array adalah Larik, tabel atau vektor Halaman 14

Cara Pendefinisian Array 1. Sebagai Peubah Contoh : L : array[1..50] of integer NamaMhs : array[ a.. j ] of string 2. Sebagai tipe baru Contoh : type LarikInt : array[1..100] of integer P : LarikInt Halaman 15

3. Mendefinisikan ukuran maksimum elemen larik sebagai konstanta Contoh : Const Nmaks = 100 type Larikint : array[1..nmaks] of integer P : LarikInt Cara menterjemahkan ke bahasa C : #define Nmaks 100 typedef int Larikint[Nmaks+1]; Larikint P; Halaman 16

Cara Mengacu Elemen Larik Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi. Contoh cara mengacu elemen larik adalah : L[4] {mengacu elemen keempat dari larik L } NamaMhs[ b ] {mengacu elemen kedua dari larik NamaMhs} P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi } Halaman 17

Menginisialisasi Larik menginisialisasi elemen larik adalah memberikan harga awal untuk seluruh elemen larik, misalnya menginisialisasi dengan nilai 0 seperti di bawah ini : Procedure InisDgn0(output A:larik, input N:integer) {menginisialisasi setiap elemen larik A[1..N] dengan nol} {K. Awal : N adalah banyak elemen efektif larik, nilainya terdefinisi} {K. Akhir : seluruh elemen larik A bernilai nol} Deklarasi : K : integer Deskripsi : for k 1 to N do A[k] 0 endfor Halaman 18

Mengisi elemen larik dari piranti masukan Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan seperti contoh di bawah ini : Procedure BacaLarik(output A:larik, input N:integer) {mengisi elemen larik A[1..N] dengan nilai yang dibaca dari piranti masukan} {K. Awal : N adalah jumlah elemen efektif larik, nilainya terdefinisi} {K. Akhir : seluruh elemen larik A berisi nilai-nilai yang dibaca dari piranti masukan} Deklarasi : K : integer Deskripsi : for k 1 to N do read (A[k]) endfor Halaman 19

Larik Bertype Terstruktur Larik tidak hanya dapat berisi data bertype tunggal, tapi dapat juga berisi data yang bertipe terstruktur Contoh : const Nmaks = 100 type Mahasiswa : record <nim : integer, nama_mhs : string, KodeMK : string, Nilai : char > TabMhs : array[1..nmaks] of Mahasiswa Halaman 20

Contoh Cara mengacu elemen TabMhs : 1. TabMhs[2].Nim mengacu field Nim dari elemen kedua larik 2. Write(TabMhs[k].KodeMK) menuliskan field KodeMK dari elemen ke k dari larik Halaman 21

Tugas 1 Buatlah dalam notasi algoritma atau bahasa C : 1.Definisikan sebuah type terstruktur untuk menyatakan data nasabah disebuah bank. Data nasabah terdiri atas field Nomor Account, Nama Nasabah, Alamat Nasabah, Kota Nasabah, dan Nomor Telpon Nasabah. Untuk setiap field definisikan type data yang cocok Halaman 22

2.Dari soal nomor 1 buatlah program dalam bahasa pemrograman berbasis bahasa C, untuk memasukkan data nasabah sebanyak N, dengan N diinputkan dari papan ketik, kemudian menuliskan kembali semua data nasabah dalam bentuk matrik/tabel. Petunjuk : Gunakan notasi pengulangan untuk menyelesaikan permasalahan tersebut Tugas dikumpulkan pada pertemuan berikutnya disertai listing program dan contoh keluarannya Halaman 23

ADT (Abstract Data Type) ADT adalah definisi type dan sekumpulan primitif (operasi dasar) terhadap type tersebut. Type diterjemahkan menjadi type terdefinisi dalam bahasa pemrograman yang bersangkutan, misalnya menjadi record dalam Pascal/Ada dan Struct dalam bahasa C Halaman 24

Primitif dalam konteks pemrograman prosedural, diterjemahkan menjadi fungsi dan prosedur. Primitif dikelompokkan menjadi : 1. Konstruktor/Kreator, pembentuk nilai type. Biasanya namanya diawali dengan Make. 2. Selektor, untuk mengakses komponen type. Biasanya namanya diawali dengan Get. Halaman 25

3. Prosedur Pengubah nilai komponen 4. Validator komponen type, yang dipakai untuk mengetes apakah dapat membentuk type sesuai batasan. 5. Destruktor/Dealokator, yaitu untuk menghancurkan nilai objek, sekaligus memori penyimpannya 6. Baca/tulis, untuk interface dengan input/output device Halaman 26

7. Operator Relasional terhadap type tersebut untuk mendefinisikan lebih besar, lebih kecil, sama dengan dan sebagainya. 8. Aritmatika terhadap type tersebut, dalam pemrograman biasanya hanya terdefinisi untuk bilangan numerik. 9. Konversi dari type tersebut ke type dasar dan sebaliknya Halaman 27

ADT biasanya diimplementasi menjadi dua buah modul, yaitu : 1. Definisi/spesifikasi type dan primitif - Spesifikasi type sesuai dengan bahasa yang dipakai - Spesifikasi dari primitif sesuai dengan kaidah dalam konteks prosedural, yaitu : a. Fungsi : nama, domain, range, dan pre kondisi jika ada b. Prosedur : Keadaan Awal, Keadaan Akhir dan proses yang dilakukan 2. Body/realisasi dari primitif, berupa kode program dalam bahasa yang bersangkutan. Realisasi fungsi dan prosedur harus sedapat mungkin memanfaatkan Selektor dan Konstruktor Halaman 28