Struktur Data Jenis jenis data Data dan Struktur

  • Slides: 27
Download presentation
Struktur Data Jenis – jenis data

Struktur Data Jenis – jenis data

Data dan Struktur Data Struktur data adalah cara menyimpan atau merepresentasikan data di dalam

Data dan Struktur Data Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien. l 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. l Beberapa definisi tentang data dari sudut pandang yang berbeda-beda: l ¡ ¡ Menurut berbagai kamus bahasa Inggris-Indonesia, data diterjemahkan sebagai istilah yang berasal dari kata “datum” yang berarti fakta atau bahan-bahan keterangan. Dari sudut pandang bisnis, data bisnis (business data) adalah deskripsi organisasi tentang sesuatu(resources) dan kejadian (transactions) yang terjadi (business data is an organization’s description of things (resources)and events (transactions) that it faces). © Deni Arifianto 2011

TIPE DATA TUNGGAL © Deni Arifianto 2011

TIPE DATA TUNGGAL © Deni Arifianto 2011

INTEGER l l l Tipe data integer merupakan tipe data bilangan bulat yang hanya

INTEGER l l l Tipe data integer merupakan tipe data bilangan bulat yang hanya mengenal bilangan decimal. Dimana tipe data Integer tidak mengenal pecahan Operasi-operasi dasar yang ada dalam integer antara lain : Penjumlahan, Pengurangan, Perkalian, Pembagian, dsb. Operator yang bekerja terhadap sepasang integer (operand) disebut sebagai "binary operator". Sedangkan operator yang hanya bekerja terhadap satu operand saja disebut sebagai "unary operator". Contoh dari unary operator adalah operator negasi. Operator ini berfungsi untuk mengubah tanda suatu operand. © Deni Arifianto 2011

Range Integer © Deni Arifianto 2011

Range Integer © Deni Arifianto 2011

REAL l l l Data numerik yang bukan termasuk integer, digolongkan dalam jenis data

REAL l l l Data numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis data ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut Scientific Notation. Disini penyajiannya terdiri atas dua bagian, yaitu : mantissa (pecahan) & eksponen. Contoh : ¡ bilangan 123000 = 0. 123 * 106. ¡ Disini 0. 123 adalah mantissa (pecahan), sedangkan 6 adalah eksponennya. Secara umum suatu bilangan real X dituliskan M * RE © Deni Arifianto 2011

BOOLEAN Jenis data ini disebut juga jenis data "logical". Elemen dari jenis data ini

BOOLEAN Jenis data ini disebut juga jenis data "logical". Elemen dari jenis data ini mempunyai nilai salah satu dari "true" atau "false". l Operator-yang dikenal adalah ¡ Operator Logika, yaitu : NOT, AND dan OR. l Operator OR akan menghasilkan nilai "true", jika salah satu atau kedua operand bernilai "true". l Operator AND akan menghasilkan nilai "true", jika kedua operand bernilai "true". l Sedangkan operator NOT akan menghasilkan nilai "true", jika operand bernilai "false", dan sebaliknya. l Operator NOT merupakan "precedence" dari operator AND dan OR. l Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR. ¡ Operator Relasional, yaitu : >, <, >=, <> dan =. l l © Deni Arifianto 2011

KARAKTER Jenis data karakter merupakan elemen dari suatu himpunan simbol aksara yang terdiri atas

KARAKTER Jenis data karakter merupakan elemen dari suatu himpunan simbol aksara yang terdiri atas bilangan, abjad dan simbol-simbol khusus © Deni Arifianto 2011

TIPE DATA UNTAI (STRING) © Deni Arifianto 2011

TIPE DATA UNTAI (STRING) © Deni Arifianto 2011

STRING Jenis data string merupakan jenis data campuran, karena elemen-elemennya dibentuk dari karakter-karakter. l

STRING Jenis data string merupakan jenis data campuran, karena elemen-elemennya dibentuk dari karakter-karakter. l String adalah barisan hingga simbol yang diambil dari himpunan karakter. l Dalam penulisannya, suatu string berada dalam tanda "aphosthrope". l Misal, diberikan himpunan alphabet A = { C, D, 1} String-string yang dapat dibentuk dari alphabet di atas antara lain adalah : l ¡ 'CD 1', 'CDD', 'DDC', 'CDC 1', . . . dsb, termasuk "null string" atau "empty string". © Deni Arifianto 2011

Fungsi-fungsi String © Deni Arifianto 2011

Fungsi-fungsi String © Deni Arifianto 2011

LENGTH Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string.

LENGTH Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string. Panjang dari string didefinisikan sebagai banyaknya karakter, atau dapat ditulis : S = N atau Length (S) = N. l Contoh : l ¡ ¡ Jika diberikan string S = 'a 1 a 2. . . a. N'. Maka LENGTH(S) = N. Jika diberikan string S = 'ABCD 13 AB', maka LENGTH(S) = 8. © Deni Arifianto 2011

CONCATENATION l l l Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan

CONCATENATION l l l Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut. Operasi ini hampir sama dengan operasi gabungan. Jika S 1 dan S 2 masing-masing adalah suatu string, maka bentuk operasi concatenation dinotasikan dengan : CONCAT(S 1, S 2). Misal S 1 = 'a 1 a 2. . . a. N' dan S 2 = 'b 1 b 2. . . b. M' Maka CONCAT(S 1, S 2) = ' a 1 a 2. . . a. Nb 1 b 2. . . b. M' Panjang dari string yang baru (resultan) merupakan jumlah panjang dari masing-masing string atau : LENGTH(CONCAT(S 1, S 2)) = LENGTH(S 1) + LENGTH(S 2) © Deni Arifianto 2011

SUBSTRING Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang

SUBSTRING Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang diketahui. l Notasinya adalah : SUBSTR(S, i, j) di mana : l S = string yang diketahui. i dan j adalah integer i = posisi awal substring, 0 i LENGTH(S) j = banyak karakter yang diambil, 0 j LENGTH(S) dan 0 i+j-1 LENGTH(S) l Contoh : Diberikan S = 'a 1 a 2. . . a. N' ; i = 2 ; j = 4. Maka SUBSTR(S, i, j) = SUBSTR(S, 2, 4) = 'a 2 a 3 a 4 a 5' l Catatan : 1. LENGTH(SUBSTR(S, i, j)) = j 2. SUBSTR(CONCAT(S 1, S 2), 1, LENGTH(S 1)) = S 1 3. SUBSTR(CONCAT (S 1, S 2), LENGTH(S 1)+1, LENGTH(S 2)) = S 2 © Deni Arifianto 2011

INSERT Operasi ini adalah untuk menyisipkan suatu string ke dalam string lain. l Bentuk

INSERT Operasi ini adalah untuk menyisipkan suatu string ke dalam string lain. l Bentuk umumnya adalah : INSERT(S 1, S 2, i). l S 1 dan S 2 masing-masing adalah suatu string dan i adalah posisi awal S 2 pada S 1. l Misalkan: S 1 = 'a 1 a 2. . . a. N' S 2 = 'b 1 b 2. . . b. M' INSERT(S 1, S 2, 3) = 'a 1 a 2 b 1 b 2. . . b. Ma 3 a 4. . . a N' l © Deni Arifianto 2011

DELETE l l l Operasi ini digunakan untuk menghapuskan sebagian karakter dalam suatu string.

DELETE l l l Operasi ini digunakan untuk menghapuskan sebagian karakter dalam suatu string. Bentuk umumnya adalah : DELETE(S, i, j) Maksudnya adalah menghapuskan sebagian karakter dalam string S, mulai dari posisi i dengan panjang j. Contoh : Diberikan string S = 'a 1 a 2. . . a. N' DELETE(S, 3, 4) = 'a 1 a 2 a 7 a 8. . . a. N' Catatan : ¡ INSERT(S 1, S 2, i) = CONCAT(CONCAT (SUBSTR(S 1, 1, i-1), S 2), ¡ SUBSTR(S 1, i, LENGTH(S 1)-(i-1))) DELETE(S, i, j)=CONCAT(SUBSTR(S, 1, i-1), SUBSTR(S, i+j, LENGTH(S)-(i+j-1))) di mana : 1 i LENGTH(S 1) 0 i+j-1 LENGTH(S 1) Untuk i, j integer. © Deni Arifianto 2011

PEMETAAN INTEGER KE STORAGE l Bentuk mapping ke storage dari integer dapat dilakukan dengan

PEMETAAN INTEGER KE STORAGE l Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu : ¡ ¡ ¡ Skema Sign dan Magnitude Skema One's Complement Skema Two's Complement © Deni Arifianto 2011

Skema Sign and Magnitude l l l Cara ini merupakan bentuk konvensional yang digunakan

Skema Sign and Magnitude l l l Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu. Contoh : + 7 + 111 representasi dengan 4 digit : 0111 - 7 - 111 representasi dengan 4 digit : 1111 Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya. © Deni Arifianto 2011

Skema Two's Complement dan One's Complement l l l Kedua skema ini merupakan cara

Skema Two's Complement dan One's Complement l l l Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika X + X' = R. X disebut sebagai bentuk true, sedangkan X' = R - X disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X. Skema Two's Complement menggunakan R = 2 N. Skema One's Complement menggunakan R = 2 N - 1. Misal diberikan integer = 7, akan dicari bentuk binernya dengan skema Two's Complement untuk representasi 4 digit. X = 7 ; R = 24 ; X + X' = R - X = 24 - 7 = 16 - 7 =9 dalam biner = 1001 © Deni Arifianto 2011

PEMETAAN KARAKTER KE STORAGE l l Saat ini banyak sekali skema yang digunakan untuk

PEMETAAN KARAKTER KE STORAGE l l Saat ini banyak sekali skema yang digunakan untuk merepresentasikan karakter dalam storage. Pada umumnya skema yang paling banyak digunakan adalah : ¡ Extended Binary Coded Decimal Interchange Code (EBCDIC) ¡ American Standard Code for Information Interchange (ASCII) Pada skema EBCDIC digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya adalah : 28=256. Sedangkan skema ASCII menggunakan kode 7 bit untuk menyatakan suatu karakter. Skema ini mempunyai jumlah kemungkinan kombinasi yang lebih sedikit jika dibandingkan dengan skema EBCDIC. © Deni Arifianto 2011

PEMETAAN STRING KE STORAGE l l l Untuk mengetahui bentuk mapping pada storage dari

PEMETAAN STRING KE STORAGE l l l Untuk mengetahui bentuk mapping pada storage dari suatu string, perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan, antara lain : l letak posisi awal (start) dan posisi akhir (terminal) l suatu pointer yang menunjukkan lokasi pada storage Ada tiga cara yang umum digunakan untuk mapping suatu string ke dalam storage. Misal diberikan dua string, yaitu : ¡ S 1 = 'ABCDEFG' dan ¡ S 2 = 'BCD' © Deni Arifianto 2011

Cara ke-1 l Jika diberikan suatu informasi tentang : - nama string - starting

Cara ke-1 l Jika diberikan suatu informasi tentang : - nama string - starting address - panjang string l Contoh : Nama String l Start Panjang String 1 Ptr 1 7 String 2 Ptr 2 3 Maka secara fisik bentuk formatnya pada storage adalah : Atau © Deni Arifianto 2011

Cara ke-2 l Jika diberikan informasi sebagai berikut : - nama string - starting

Cara ke-2 l Jika diberikan informasi sebagai berikut : - nama string - starting address - terminal address l Misalnya diberikan tabel sbb : Nama String l Start Terminal String 1 Ptr 1 s Ptr 1 t String 2 Ptr 2 s Ptr 2 t Maka secara fisik bentuknya pada storage adalah : Atau © Deni Arifianto 2011

Cara ke-3 l Jika diberikan informasi : ¡ ¡ ¡ l l nama string

Cara ke-3 l Jika diberikan informasi : ¡ ¡ ¡ l l nama string starting address suatu tanda yang menunjukkan batas string Misalnya : Nama String Start String 1 Ptr 1 String 2 Ptr 2 Maka bentuknya secara fisik pada storage adalah : © Deni Arifianto 2011

Selain cara-cara di atas, representasi suatu string pada storage dapat pula dalam bentuk packed

Selain cara-cara di atas, representasi suatu string pada storage dapat pula dalam bentuk packed atau unpacked. l Suatu string yang direpresentasikan dalam bentuk packed terbagi atas beberapa word. l Banyaknya karakter untuk masing-masing word tergantung dari kode yang digunakan oleh mesin (bitnya). l Secara umum jumlah word yang digunakan untuk merepresentasikan string S dalam storage dengan R karakter per word adalah : l © Deni Arifianto 2011

Contoh Misal diberikan string S = "Struktur. Data", direpresentasikan dalam 4 karakter per word

Contoh Misal diberikan string S = "Struktur. Data", direpresentasikan dalam 4 karakter per word dalam bentuk packed. l Maka secara fisik dapat digambarkan : l Stru ¡ ¡ ktur Data Jumlah Word : 3, Jumlah Karakter/Word : 4 © Deni Arifianto 2011

Sedangkan cara unpacked, setiap word terdiri hanya satu karakter, berarti jumlah word yang diperlukan

Sedangkan cara unpacked, setiap word terdiri hanya satu karakter, berarti jumlah word yang diperlukan untuk merepresentasikan suatu string S adalah LENGTH(S). l Contoh : l Diberikan string S = ”unmuhjember". Representasinya dalam bentuk unpacked adalah : l u n m u h j e m b e r © Deni Arifianto 2011