sd materi #2
Post on 06-Jan-2016
82 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Perbedaan Tipe Data, Obyek Data & Struktur Data (1)
Tipe data adalah jenis data yang mampu ditangani
oleh suatu bahasa pemrograman pada komputer.
Tiap-tiap bahasa pemrograman memiliki tipe data
yang memungkinkan:
Deklarasi terhadap variabel tipe data tersebut
Menyediakan kumpulan operasi yang mungkin
terhadap variabel bertipe data tersebut
Jenis obyek data yang mungkin
Contoh tipe data di C? Java? Pascal? .NET?
-
ADT (Abstract Data Type) atau Tipe Data Bentukan
ADT (Abstract Data Type) atau Tipe Data Bentukan Bahasa C memiliki tipe data numerik dan karakter (seperti
integer, float, char dan lain- lain). Bagaimana jika kita ingin
membuat tipe data baru?
ADT adalah tipe data yang dibuat oleh programmer sendiri yang memiliki suatu nama tertentu.
ADT dapat berupa tipe data dasar namun diberi nama baru atau berupa kumpulan tipe data berbeda yang diberi nama
baru.
Untuk pembuatan ADT digunakan keyword typedef
-
Perbedaan Tipe Data, Obyek Data & Struktur Data (2)
Obyek Data adalah kumpulan elemen yang mungkin
untuk suatu tipe data tertentu.
Mis: integer mengacu pada obyek data -32768 s/d
32767, byte 0 s/d 255, string adalah kumpulan karakter
maks 255 huruf
Struktur Data adalah cara penyimpanan dan
pengorganisasian data-data pada memori komputer
maupun file secara efektif sehingga dapat digunakan
secara efisien, termasuk operasi-operasi di dalamnya.
-
Ilustrasi Struct Struct bisa diumpamakan sebagai sebuah class, misalnya: Mahasiswa
Struct Mahasiswa memiliki property atau
atribut atau variabel yang melekat
padanya:
- NIM yaitu karakter sejumlah 8
- Nama yaitu karakter
- IPK yaitu bilangan pecahan
Struct hampir mirip dengan class pada
Java, namun struct tidak memiliki method
atau function.
Struct dapat digunakan dengan cara
membuat variabel
Misalnya :
obyek anton bertipe
struct Mahasiswa
obyek erick bertipe
struct Mahasiswa
Dengan demikian anton
dan erick memiliki
NIM, Nama, dan IPK
masing-masing
-
Struct - Struct adalah tipe data bentukan yang berisi kumpulan
variabel-variabel yang bernaung dalam satu nama yang
sama.
- Berbeda dengan array yang berisi kumpulan variabel
yang bertipe data sama, struct dapat memiliki variabel-
variabel yang bertipe data sama atau berbeda, bahkan
bisa menyimpan variabel yang bertipe data array atau
struct
- Variabel-variabel yang menjadi anggota struct disebut
dengan elemen struct
-
Variabel merupakan container yang digunakan untuk menyimpan
suatu nilai pada sebuah program dengan tipe tertentu. Untuk
mendefinisikan variabel, kita dapat menggunakan identifier untuk
menamai variabel tersebut.
-
Array atau Larik merupakanStruktur Data Sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sementara
pada komputer.
Array dapat didefinisikan sebagai suatu himpunan hingga elemenyang terurut dan homogen.
Terurut : Dapat diartikan bahwa elemen tersebut dapat diidentifikasi sebagai elemen pertama, elemen kedua dan
seterusnya sampai elemen ke-n.
Homogen : Adalah bahwa setiap elemen dari sebuah Array tertentu haruslah mempunyai type data yang sama
-
Sebuah Array dapat mempunyai elemen yangseluruhnya
berupa integer atau character atau String bahkan dapat
pula terjadi suatu Array mempunyai elemen berupa Array.
Karakteristik Array :
1.Mempunyai batasan dari pemesanan alokasi memory
(Bersifat Statis)
2. Mempunyai Type Data Sama (Bersifat Homogen)
3. Dapat Diakses Secara Acak
-
3 Hal yang harus diketahui dalam mendeklarasikan array :
a. Type data array
b. Nama variabe larray
c. Subskrip/ index array
Jenis Array (yang akan dipelajari)adalah :
a.Array Dimensi Satu (One DimensionalArray)
b. Array Dimensi Dua (Two DimensionalArray)
c. Array Dimensi Tiga(TheeDimensionalArray)
-
1. ARRAY DIMENSI SATU (One DimensionalArray)
Deklarasi : Type_Data Nama_Variabel[index]
Misalnya:
Int A[5];
-
Rumus untukmenentukan jumlah elemen dalam Array :
Contoh :
Suatu Array A dideklarasikan sbb:
intA[10]; maka jumlah elemen Array dimensi satu
tersebut adalah= 10
-
PEMETAAN (MAPPING ARRAY DIMENSI SATU KE STORAGE)
Dimana :
@A[i] : Posisi Array yg dicari
B: Posisi awal index di memory komputer
i : Subkrip atau indeks array yg dicari
L: Ukuran/ Besar memory suatu type data
Contoh :
Suatu Array A dideklarasikan sebagai berikut:
intA[5]; dengan alamat awal index berada di 0011 (H) dan
Ukuran memory type data integer = 2 Tentukan berapa alamat
array A[3] ?
-
Sistem Bilangan
-
Latihan :
Suatu Array B dideklarasikan
sebagai berikut:
Float B[10]; dengan alamat awal
index berada di 001D(H). Tentukan
berapa alamat array B[5] ?
-
0 1 2 3 4 5 6 7
21da 21db 21dc 21dd 21de 21df 21e0 21e1
indeks
value
alamat
-
2. ARRAY DIMENSI DUA(TwoDimensionalArray)
Deklarasi : Type_Data Nama_Variabel[Index1] [index2]
Misal: intA[3][2];
Penggambaran secara Logika :
Sering digunakan dalam menterjemahkan matriks pada
pemrograman.
-
Menentukan jumlah elemen dalam Array dimensidua:
n
(Index array) = Perkalian dari statemen sebelumnya i=1
Contoh :
Suatu Array X dideklarasikan sbb:
intX[4][3];
Maka jumlah elemen Array dimensi dua tersebut adalah:
(4) * (3) = 12
-
PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE
Terbagi Dua cara pandang (representasi) yang berbeda :
1. Secara Kolom Per Kolom (Coloumn Major Order/CMO)
@M[i][j] = M[0][0] + {(j -1) * K + (i -1)} * L
2. Secara Baris Per Baris (Row Major Order/ RMO)
@M[i][j] = M[0][0] + {(i -1) * N + (j -1)} * L
Keterangan :
@M[i][j] = Posisi Array yg dicari,
M[0][0] = Posisi alamat awal index array,i= Baris, j = kolom, L =
Ukuran memory type data, K = Banyaknya elemen per kolom, N =
Banyaknya elemen per baris
-
Penggambaran secara logika
-
Contoh Pemetaan:
Suatu Array X dideklarasikan sebagai berikut :
Float X[4][3], dengan alamat index X[0][0] berada di 0011(H) dan ukuran
type data float = 4
Tentukan berapa alamat array X[3][2] berdasarkan cara pandang baris
dan kolom ?
-
Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
@M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
X[3][2] = 0011(H) + {(3 1) * 3 + (2 1)} * 4 = 0011(H) + 28 (D) 1C (H) = 0011(H) + 1C (H)
= 002D(H)
Lanjutan Contoh Pemetaan :
-
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 1) * 4 + (3 1)} * 4 = 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
Lanjutan Contoh Pemetaan :
-
3.ARRAY DIMENSI TIGA (ThreeDimensionalArray)
Deklarasi :
Type_DataNama_Variabel[index1] [ndex2] [index3];
Misal:intA[3][4][2];
Penggambaran secara Logika :
-
Menentukan jumlah elemen dalam Array dimensi3:
n
(index array) = Perkalian dari statemen sebelumnya i=1
Contoh :
SuatuArray X dideklarasikan sbb:
intA[3][4][2] ;maka jumlah elemen Array dimensi tiga
Tersebut adalah:
(3) * (4) * (2) = 24
-
PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE
Rumus:
@M[n][m][p] =M[0][0][0] + {((n-1)*(index1)) +((m-1)*(index2))
+ ((p-1)*(index3)}* L
Contoh:
SuatuArray A dideklarasikan sebagai berikut:
ShortintA [2][4][3], dengan alamat awal index A[0][0][0]
Berada di0011(H) dan ukuran type data shortint = 2 Tentukan
Berapa alamat array diA[2][3][2] ?
-
Penyelesaian:
1.Tentukan jumlah eleme narray A [2][4][3]
= (2) * (4) * (3)
= 32
2.@M[n][m][p] =M[0][0][0]+{((n-1)*(index1))+((m-1)*(index2))
+ ((p-1)*(index3)}* L
A[2][3][2] = 0011(H) + {((21) * 4 * 3) + ((3-1) * 3) + (2-1)} * 2 = 0011(H) + {12 + 6 + 1 } * 2
= 0011(H) + 38 (D) 26 (H)
= 0011(H) + 26 (H)
= 0037 (H)
-
Tringular Array dapat merupakan Upper Tringular
(seluruh elemen di bawah diagonal utama = 0), ataupun Lower Tringular
(seluruh elemen di atas diagonal utama = 0).
Dalam Array Lower Tringular dengan N baris, jumlah maksimum elemen
0 pada baris ke-I adalah = I,
karenanya total elemen 0, tidak lebih dari
N
I = N(N+1)/2 I=1
TRINGULAR ARRAY
(ARRAY SEGITIGA)
-
SuatuArray Upper Tringular dan Array Lower Tringular
Dapat dengan order yang sama, dapat disimpan sebagai
suatuarray dengan order yang berbeda, Contohnya:
-
SPARSE ARRAY
(ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya,
contohnya adalah Array A pada Gambar berikut :
top related