STRUKTUR DATA By : Sri Rezeki Candra Nursari
2 SKS
Penilaian : Gasal TA 2013/2014 UAS = 35% UTS = 30% ABSEN = 5% TUGAS = 30% _________________________________ Jumlah = 100% Tugas kirim ke :
[email protected] Batas Tugas 9 hari setelah diberikan Aturan : - Apabila > 30 menit, tidak diperkenankan absen, tetapi diperbolehkan kuliah - Apabila duduk di paling belakang, dan ada kursi yang kosong didepan akan dikenakan denda Rp. 2.000 diberikan kepada bendahara (Rita, Adlina, Putri)
Literatur • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media • Utami Ema. dkk, (2007),”Struktur Data (Konsep & Implementasinya Dalam Bahasa C & Free Pascal di GNU/Linux)”, Graha Ilmu • Hubbard Jhon, R., Ph.D, (2000), “Schaum’s Outline Of Theory and Problems of Data Structures With C++” McGraw-Hill
Materi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Data dan Struktur Data Array Record Pointer Linked List Stack (Tumpukan) Queue (Antrian) Tree (Pohon) AVL Tree Heap dan B-Tree Sorting Search Hashing Graph
DATA DAN STRUKTUR DATA & ARRAY Pertemuan 01
2 SKS
Data dan Struktur Data • Tipe data dalam bahasa C/C++ • Array • Structure • Unions • Variabel Statis dan Dinamis
Tipe data dalam bahasa C/C++ • Setiap bahasa pemrograman menggunakan Tipe Data Dasar (basic data Type) sendiri-sendiri antara satu bahasa dengan bahasa yang lain ada yang sama atau tidak sama. • Tipe data dasar yang digunakan oleh bahasa C/C++ 1. 2. 3. 4.
Character Integer Floating Point Single Precision Floating Point Double Precision
Tipe Data Tipe Data Character
Integer
Floating point single precision
Floating point double precision
Penulisan dalam Bahasa C/C++
Ukuran Memori
Jangkauan Nilai
char / signed char
1 byte
-128 hingga 127
unsigned char
1 byte
0 hingga 255
int / signed int / signed
2 byte
-32768 hingga 32767
unsigned int / unsigned
2 byte
0 hingga 65535
long int / long / signed long / signed long int
4 byte
-2.147.438.648 hingga 2.147.438.647
unsigned long / unsiged long int
4 byte
0 hingga 4294967295
float
4 byte
3.4 x 10e-38 hingga 3.4 x 10e38 -3.4 x 10e-38 hingga -3.4 x 10e38
double
long double
8 byte
1.7 x 10e-308 hingga 1.7 x 10e308 -1.7 x 10e-308 hingga -1.7 x 10e308
10 byte
3.4 x 10e-4932 hingga 1.1 x 10e4932 -3.4 x 10e-4932 hingga -1.1 x 10e4932
Array • Kumpulan elemen-elemen data • Kumpulan elemen mempunyai susunan tertentu yang teratur • Jumlah elemen terbatas, dan semua elemen mempunyai tipe yang sama • Macam Array – Array satu dimensi – Array dua dimensi – Array tiga dimensi
Array Dimensi Satu Indek
0
1
2
3
4
5
6
7
Nama Array 1 elemen
• Tiap-tiap elemen array dapat diakses dengan menggunakan indek Nama Array[
]
• Tipe data yang diperbolehkan untuk indek adalah tipe data integer dan character • Manipulasi terhadap isi array dilakukan per elemen
Array Dimensi Satu Mendefinisikan array tipe_data nama_array[jumlah_data]; Contoh : int nilai[10]; Array nilai akan berisi 10 data (elemen) dengan index 0 – 9 [0] [1] [2] [3] … [9] 5
4
8
7
index 1
ARRAY 1 – Contoh 01 Buat programnya untuk menampilkan “7 elemen Array dengan isi elemennya (22,7,66,28,11,63,3)”
Contoh 01 – Array satu dimensi
ARRAY 1 – Contoh 02 Buat programnya untuk menghitung jumlah “3 elemen Array dengan isi elemennya {22,7,1966}”
C o n t o h 0 2
Array 2 Dimensi Indek kolom
Variabel Array
0
1
2
3
4
5
6
7
0 1
Indek baris
2
• Deklarasi
Tipe_data VariabelArray[<jumlah baris>] [<jumlah kolom>]
Inisialisasi Array tak beraturan • Pada saat pendeklarasian array 1 dimensi, ukuran array boleh tidak disebutkan asalkan diberi inisialisasi nilai awal. Untuk array dimensi banyak (dimensi 2/lebih), yang boleh tidak disebutkan hanyalah indek yang paling kiri Contoh: int skala[ ] = {1, 2, 4, 6}; int nilai[ ][2] = {1, 2, 3, 4, 5, 6};
ARRAY 2 – Contoh 3 Buat programnya untuk menampilkan “Elemen Array dengan ordo 3x4 dan isi elemennya : Baris 1 (11, 22, 33, 44) Baris 2 (63, 11, 66, 7) Baris 3 (22, 28, 11, 7)
Contoh 03
ARRAY 2 Dimensi – contoh 04 Buat programnya untuk menginput ordo yang diinginkan, menginput isi elemen array, menampilkan isi elemen array dan menjumlah kolom pada array
Co nt oh 04
Array Tiga/Multi Dimensi • Array/larik banyak dimensi biasanya diilustrasikan dengan gambar sebagai berikut :
Array/Larik tiga/multidimensi (multidimensional array) :
Array multidimensi adalah array dari array. Sebuah array multidimensi dapat berupa segiempat atau segitiga.
[0] [0]
[0] [1]
[0] [2]
[0] [3]
[0] [0]
[1] [0]
[1] [1]
[1] [2]
[1] [3]
[1] [0]
[1] [1]
[2] [0]
[2] [1]
[2] [2]
[2] [3]
[2] [0]
[2] [1]
[2] [2]
[3] [0]
[3] [1]
[3] [2]
[3] [3]
[3] [0]
[3] [1]
[3] [2]
Array berupa segiempat
[3] [3]
Array berupa segitiga
Array Multi Dimensi • Bentuk Umum : – <TipeDt> =[i] [j] [k] [m] [n]...
• Contoh: – int Logika[24, 63]; – int A[counterB, counterK] – byte Waktu [jam,menit,detik]; – byte Date[tanggal,bulan,tahun];
ARRAY 3 Dimensi – contoh 5 Buat programnya untuk membuat Array bentuk segitiga 4 baris 4 kolom, bentuk seperti dibawah ini
C o n t o h 0 5
Tugas 01 • Buat seperti tampilan dibawah ini dan gabungan dari ke empat gambar dibawah, dengan inputan baris dan kolomnya