Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA ARRAY DAN OPERASI SET.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA ARRAY DAN OPERASI SET."— Transcript presentasi:

1 STRUKTUR DATA ARRAY DAN OPERASI SET

2 ARRAY Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama. Array merupakan gabungan dari beberapa variabel sejenis serta memeiliki jumlah komponen yang jumlahnya tetap. Elemen-elemen dari array tersusun secara Sequential dalam memori komputer. Macam-macam array dapat berupa satu dimensi, dua dimensi, tiga dimensi dan banyak dimensi.

3 Array Satu Dimensi. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 17 21 33
Array satu dimensi tidak lain adalah kumpulan elemen-elemen yang identik, tersusun dalam satu baris. Elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut berbeda. Untuk jelasnya perhatikan gambar berikut : [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 17 21 33 1 48 2 16 72 9

4 gaji = Array[1..10] of Longint; logika=Array[boolean] of integer;
Bentuk Umum : type <NamaArray>=Array[indexArray] of tipe data; Contoh : gaji = Array[1..10] of Longint; logika=Array[boolean] of integer; Pendeklarasian Array diawali dengan kata baku type dan diikuti dengan nama array dan sama dengan(=) lalu kata baku array beserta range indeks dan diakhiri dengan kata baku of beserta type datanya. Tipe data enumerasi merupakan deklarasi tipe data baru yang terdiri dari elemen disebutkan satu persatu untuk kemudian dipakai sebagai indeks Array. Contoh : hari=(senin,selasa,rabu,kamis,jumat,sabtu); pendapatanharian = array [hari] of real;

5 Kita juga dapat mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai indeks dari suatu array, seperti berikut : type tinggi = ; tinggiorang = array [tinggi] of byte; Konstanta juga dapat kita gunakan sebagai indeks array. Untuk menggunakannya kita awali dengan kata baku Const. contonya : const min=1; max=10; arr= Array [min..max] of byte; var ponit : arr;

6 Contoh Array Satu Dimensi:
uses wincrt; type kalimat=array[1..3] of string; var i : byte; kal:kalimat; begin clrscr; for i:= 1 to 3 do write('Masukan kata ke-',i,':'); readln(kal[i]); end; end. Output

7 Array Dua Dimensi Array dua dimensi sering digambarkan sebagai sebuah matriks. Adalah merupakan perluasan dari sebuah array satu dimensi. Jika pada array satu dimensi hanya terdiri dari sebuah baris denganh beberapa kolom elemen, maka pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom yang bertype sama.

8 Ilustrasi Array Dua Dimensi
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 12 11 67 87 65 10 23 34 21 6 44 45 88 13 78 71 56 89 43 3 55 35 76 32 52 25 54 36 22 33 74 [1] [2] [3] [4] [5] [6]

9 Bentuk Umum : type <namaarray>=array[indeksarray1,indeksarray2] of tipe data; Contoh : Type matrik=array[1..2,1..3] of byte; logika=array[1..5,boolean] of integer; baris=[1..2]; kolom=[1..3]; ordo=array[baris,kolom] of byte; Var matrik : ordo; Array dua diemnsi dianggap sebagai array didalam array sehingga array dua dimensi dapat dituliskan juga dalam bentuk matrik=array[1..2] of array [1..3] of byte;

10 Pendeklarasian array dua dimensi secara prinsip sama dengan array satu dimensi, kecuali pada array dua dimensi terdapat dua indeks array yang terdapat di dalam tanda kurung saku dan masing-masing boleh mempunyai tipe data yang berbeda. Contoh : type kegiatan=(main,belajar,nonton,berenang); hari=(senin,selasa,rabu,kamis,jumat,sabtu); aktivitasAnak= array[hari..kegiatan] of byte; var a : aktivitasAnak;

11 Pendeklarasian array aktivitasanak menggunakan dua buah tipe data yang masing-masing didefinisikan sendiri yaitu kegiatan dan hari.jika digambarkan seperti berikut : Untuk dapat mengakses masing-masing elemen dari array aktivitasanak, kita harus mengetahui posisi baris dan kolomnya yang ingin diakses.contoh jika kita ingin mengakses data yang dipertebal (5) kita dapat deklarasikan : A[selasa,Belajar] [main] [Belajar] [nonton] [berenang] 10 12 23 35 21 5 11 44 32 2 29 6 20 13 16 14 4 18 25 26 9 17 22 [Senin] [selasa] [Rabu] [Kamis] [Jumat] [sabtu]

12 Array Tiga Dimensi Array tiga dimensi dapat digambarkan sebagai suatu benda ruang seperti sebagai berikut : 17 35 15 23 88 56 12 44 34 14 56 88 22 12 67 96 61 91 57 13 67 [1] [2] [3] [4] 1 33 56 22 32 23 21 3 11 4 13 45 41 12 6 55 34 35 35 45 33 [12] [11] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

13 Kalender=array[tanggal,bulan,tahun] of byte;
Bentuk Umum Type <namaarray>=array[indeksarray1,indeksarray2,indeksarray3] of tipe data; Contoh : Kalender=array[tanggal,bulan,tahun] of byte; Logika=array[1..10,boolean,2..15] of integer; Deklarasi pada array tiga dimensi tidak jauh berbeda dengan deklarasi array satu dimensi dan dua dimensi, kecuali pada indeks array.

14 Array Banyak Dimensi Sebenarnya array banyak dimensi tidak terlalu sering digunakan seperti halnya satu dimensi,dua dimensi dan tiga dimensi. Array banyak dimensi ini pada dasarnya sama dengan array sebelumnya kecuali pada jumlah dimensinya saja. Bentuk umum: Type <namaarray>=array[indeksarray1,indeksarray2,indeksarray3……indeksarrayn] of tipe data; Contoh : waktu=array[tahun,bulan,tanggal,jam] of integer;

15 Perhatian : Pada prinsipnya pascal tidak membatasi jumlah banyak dimensi dari array, hanya kita perlu memperhatikan batas maksimal memori yang dapat dipakai oleh tiap array yaitu sama dengan 64 KB(KiloByte),setara dengan 64 x 1024 = byte. Kita perlu memperhatikan perhitungan alokasi memori, yaitu kita perlu tahu tipe data yang kita gunakan membutuhkan berapa banyak memori Misal : integer 2 byte, string 256 byte kita tinggal mengalikannya dengan range indeks array pada tiap dimensi. Contoh : arr1:array[1..256] of string; arr2:array[1..606,boolean,-1..2] of real; Dimana besar memori arr1= 256x256=65536 byte(sama dengan maksimal). Sedangkan besar memeori arr2= 606x3x2x4x6 = byte (melebihi batas maksimal).

16 Pemakaian Array Masing-masing elemen dalam array dapat diakses melalui indeksnya, tentunya harus disesuaikan dengan dimensi dari arraynya. Misalkan terdapat array satu dimensi sebagai berikut : Var nilai =array[0..9] of byte; Nilai Indeks = [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] Tiap-tiap tempat dapat menampung data yang bertype sama (homogen)Yaitu :byte[0..255],jika ingin mengisi tempat ke-5 tersebut misalnya Dengan nilai 75, maka dituliskan : Nilai[5]=75;

17 Sehingga akan menjadi sebagai berikut :
Dengan cara yang samadigunakan untuk mengisi elemen –elemen yang lain dalam array tersebut. Sedangkan jika kita ingin mengambil kembali nilai indeks pada indeks ke-5, maka kita perlu lakukan adalah : temp:=Nilai[5]; temp diatas merupakan variabel yang digunakan menampung data sementara, nama variabel temp dapat diganti sesuai dengan keperluan Nilai 75 Indeks = [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

18 OPERASI SET Deklarasi Set
set merupakan tipe data terstruktur yg terdiri dari elemen yg disebut Anggota Set, yg tdk memiliki urutan dan tidak boleh ada dua anggota set yg sama. Bentuk Umum : type <NamaTipe>=set of <TipeData>; Contoh : Karakter = set of Char; Angka = set of Integer; Tanggal = aet of 1..31; Hari = set of (Senin,Selasa,Rabu,Kamis,Jumat,Sabtu,Minggu); Var kar:karakter; bil:angka; tgl:tanggal; Seminggu:hari; Penulisan nilai didalam suatu set Nilai-nilai dalam suatu set dapat dituliskan dgn beberapa cara, yi disebutkan satu per satu (enumerasi) atau dituliskan dalam rentang tertentu.

19 Notasi Set Enumerasi Elemen-elemen yg terdapat dalam set dinyatakan satu per satu. Bentuk Umum : NamaVar:=[elemen1,elemen2,….elemenN]; Contoh : Angka := [1,2,3,4,5,6]; Huruf := [`A`,`B`,`C`,`D`,`E`]; Notasi Set Rentang Elemen-elemen yg dinyatakan secara rentang berdasarkan tipe dasar set tersebut. NamaVar:=[Rentang1,Rentang2,…,RentangN] Angka : =[1..6]; AngkaAngka := [0..5,10..20,35..50]; Huruf := [`A`..`C`,`G`..`Z`];

20 Memberikan nilai pada variabel set
type Karakter = set of char; Angka = set of integer; Tanggal = set of ; var kar:karakter; bil:angka; tgl:tanggal; Begin kar:=[`a`,`b`]; bil:=[1..10,20..50]; tgl:=[1,2,3,4]; End.

21 Operasi – Operasi Dalam Set
Salah satu operasi dasar dalam set ialah menyatakan apakah suatu nilai tertentu merupakan anggota dari set tersebut. Operator set `in` digunakan untuk tujuan tersebut. Bentuk umum: SuatuNilai in SuatuSet Contoh: If(`z` in Huruf) then {statement} While not (NilaiSet in AngkaSet) do {statement} Operator `in` dpt digunakan untuk membandingkan anggota dari suatu set dengan set yg lain. Hasil yg muncul, True jika elemen merupakan anggota set, False jika tidak.

22 Operasi Gabungan (Union)
Adalah operasi yg menggabungkan dua set menjadi satu. Anggota dari dua set tersebut, dijadikan satu dan menghasilkan set baru dan tidak menghasilkan duplikasi anggota set. Notasi : + Contoh : [1,2,3] + [4,5,6]  [1,2,3,4,5,6]

23 Operasi Selisih (Difference)
Adalah operasi yang terjadi pada dua set, apabila elemen set pertama ada pada set kedua maka elemen yg sama tersebut pada set pertama akan dihapus. Sehingga menghasilkan isi set pertama setelah penghapusan. Notasi : - Contoh : [1,2,3,4,5,6,7] – [1,3,5,7]  [ 2,4,6] [1,2,3,4,5] – [1,2,3,4,5]  [ ] [1,2,3] – [7,8,9]  [1,2,3] [] – [5,6,7]  []

24 Operasi Irisan (Intersection)
Adalah operasi yang membentuk set dengan keanggotaan dari dua set yang memiliki anggota yang sama. Notasi :* Contoh : [1,2,3] * [7,8,9]  [] [1,2,3,4,5,6] * [5,6,7,8,9,10]  [5,6] [] * []  [] [1,2,3] * [1,2,3]  [1,2,3]

25 Operasi Relasi (Relational)
Selain operasi diatas, operasi relasi juga dapat digunakan dalam set. Notasi <= (kurang atau sama dari) Terjadi jika semua anggota set pertama adalah anggota dari set kedua. Definisi: A <= B, jika dan hanya jika A – B = [] Contoh : [`a`,`b`,`c`,`d`]<=[`a`,`b`,`c`,`d`,`e`,`f`] [`a`,`b`] <= [`a`,`b`]

26 Notasi < (kurang dari)
Terjadi semua anggota set pertama adalah anggota dari set kedua, namun minimal ada satu anggota set kedua yg bukan anggota set pertama. Definisi :A<B, jika dan hanya jika A-B =[] dan B-A<> [] Contoh: [`a`,`b`,`c`]<[`a`,`b`,`c`,`d`,`e`,`f`]

27 Notasi >= (lebih besar atau sama dari)
Terjadi jika anggota set kedua merupakan subset dari set pertama. Contoh : [`a`,`b`,`c`,`d`,`e`]>=[`a`,`b`,`c`]

28 Notasi > (lebih besar dari)
Terjadi jika semua set kedua adalah anggota dari set pertama, namun minimal ada satu anggota set pertama yang bukan anggota set kedua. Contoh : [`a`,`b`,`c`] > [`a`,`b`,`c`]

29 Notasi = (sama dengan) Terjadi jika kedua set sama persis. Baik anggota dari jumlah anggota harus sama. Contoh : [`a`,`b`,`c`] = [`a`,`b`,`c`]

30 Notasi <> (tidak sama dengan)
Terjadi jika ada minimal salah satu anggota set yang bukan anggota yang lainnya. Contoh: [`a`,`b`,`c`,`d`]<>[`a`,`b`,`c`,`d`]

31 SOAL Quiz Dikumpulkan Hari ini
Buatlah suatu program untuk menghitung jumlah huruf kapital dan huruf vokal dari suatu kalimat yang diinput dari keyboard. Masukkan String: Saya Belajar Pascal Jumlah Huruf kapital :3 Jumlah Huruf vokal :7 Coba Lagi [ Y/T ] ? _ Dikumpulkan Hari ini


Download ppt "STRUKTUR DATA ARRAY DAN OPERASI SET."

Presentasi serupa


Iklan oleh Google