Upload
vuongbao
View
230
Download
0
Embed Size (px)
Citation preview
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 diberikanAturan :
- 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
Materi1. Data dan Struktur Data2. Array3. Record4. Pointer5. Linked List6. Stack (Tumpukan)7. Queue (Antrian)8. Tree (Pohon)9. AVL Tree10. Heap dan B-Tree11. Sorting12. Search13. Hashing14. Graph
DATA DAN STRUKTUR DATA&
ARRAYPertemuan 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. Character2. Integer3. Floating Point Single Precision4. Floating Point Double Precision
Tipe DataTipe Data
Penulisan dalam Bahasa C/C++
UkuranMemori Jangkauan Nilai
Characterchar / signed char 1 byte -128 hingga 127
unsigned char 1 byte 0 hingga 255
Integer
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
Floating point single precision
float 4 byte 3.4 x 10e-38 hingga 3.4 x 10e38-3.4 x 10e-38 hingga -3.4 x 10e38
Floating point double precision
double 8 byte1.7 x 10e-308 hingga 1.7 x 10e308-1.7 x 10e-308 hingga -1.7 x 10e308
long double 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
• Tiap-tiap elemen array dapat diakses dengan menggunakan indek
Nama Array[<indek>]
• Tipe data yang diperbolehkan untuk indek adalah tipe data integer dan character
• Manipulasi terhadap isi array dilakukan per elemen
IndekNama Array
1 elemen
0 1 2 43 5 6 7
Array Dimensi SatuMendefinisikan 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] index
5 4 78 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}”
Contoh-02
Array 2 Dimensi
• Deklarasi
Tipe_data VariabelArray[<jumlah baris>] [<jumlah kolom>]
Indek kolom
Variabel Array0 1 2 43 5 6 7
0
1
2Indek baris
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
Contoh-
04
Array Tiga/Multi Dimensi• Array/larik banyak dimensi biasanya
diilustrasikan dengan gambar sebagai berikut :
Array/Larik tiga/multidimensi (multi-dimensional array) :
Array multidimensi adalah array dari array. Sebuah array multidimensi dapat berupa segiempat atau segitiga.
Array berupa segiempat
[0] [0]
[1] [0]
[2] [0]
[3] [0]
[0] [1]
[1] [1]
[2] [1]
[3] [1]
[0] [2]
[1] [2]
[2] [2]
[3] [2]
[0] [3]
[1] [3]
[2] [3]
[3] [3]
Array berupa segitiga
[0] [0]
[1] [0]
[2] [0]
[3] [0]
[1] [1]
[2] [1]
[3] [1]
[2] [2]
[3] [2] [3] [3]
Array Multi Dimensi• Bentuk Umum :
– <TipeDt> <NamaArray>=[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
Contoh-05
Tugas 01
• Buat seperti tampilan dibawah ini dan gabungan dari ke empat gambar dibawah, dengan inputan baris dan kolomnya