Algortima Teguh Cahyono, ST.M.Kom Tipe Data & Macam Operator Macam – Macam Type Data 1) a) b) Ada enam kelompok type data pada turbo pascal yaitu : Tipe data sederhana , type data sederhana dibagi menjadi dua type : Type ordinal. Tipe data ordinal masih dibagi lagi menjadi beberpa tipe, yaitu : Tipe bilangan bulat. Tipe boolean. Tipe karakter tipe terbilang. Tipe subjangkauan. Tipe real 2. 3. 4. 5. 6. Tipe string, yaitu sekumpulan karakter. Tipe terstruktur, tipe trestruktur dibagi menjadi lima tipe, yaitu : Tipe larik. Tipe rekaman. Tipe himpunan. Tipe berkas. Tipe pointer. Tipe prosedural. Tipe objek 1. Tipe bilangan bulat. Tipe bilangan bulat digunakan untuk menyimpan semua bilangan bulat. Macam-macam tipe bilangan bulat yang dimiliki oleh pascal. type Range Ukuran (byte) format ShortInt -128..127 1 Signed 8-bit Integer -32768..32767 2 Signed 16-bit LongInt -2147483648..2147483647 4 Signed 24-bit Byte 0..255 1 Unsigned 8-bit Word 0..65535 2 Unsigned 16-bit 2. Tipe Boolean Tipe data ini biasa digunakan untuk mempresentasikan logika dan hanya dapat bernilai True (1) atau False (2) Macam tipe data Boolean : Type Range Ukuran (byte) Boolean Byte-sized 1 (8 bit) ByteBool Byte-sized 1 (8 bit) WordBool Word-sized 2 (16 bit) LongBool LongInt-sized 4 (32 bit) Dalam suatu ekspresi, operator seperti =, <>, >, <, >=, <= dan In akan banyak dipakai untuk menentukan hasil dari suatu tipe data boolean 3. Tipe Karakter Tipe data ini hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. Bentuk Umum : Var <NamaVariabel>:char, Contoh : Var Kalimat :string; Nama :string[25]; Alamat :string[30]; 4. Tipe Subjangkauan. Pada dasarnya tipe jangkauan hampir sama dengan tipe bilangan bulat, bedanya kita bebas menetukan jangkauan dari tipe data ini, misal dari 1 sampai 100. Contoh deklarasi : type bulan = 1..12; var januari : bulan; 5. Tipe terbilang. Adalah tipe data yang kita definisikan sendiri dengan nilai yang terbilang Adalah tipe data baru yang elemennya disebutkan satu per satu Bentuk Umum : Type <NamaType>=(elemen1,elemen2,…,elemenN); Contoh type Hari=(Senin,Selasa,Rabu,Kamis,Jumat,Sabtu); Var HariKerja :Hari; Begin … for HariKerja := Senin to Sabtu do {mengerjakan Statement perulangan} End. 5. Real/Floating-Point Tipe data ini biasa digunakan untuk mempresentasikan nilai pecahan Jenis tipe data real : Type Range + 2.9x10-39..1.7x1038 Real + 1.5x10-45..3.4x1038 Single + 5x10-324..1.7x10308 Double Extended + 3.4x10-4932..1.1x104932 - 9.2x1018..9.2x1018 Comp Ukuran (byte) 6 4 8 10 8 Digit 11-12 7-8 15-16 19-20 19-20 6. Tipe String Merupakan tipe data gabungan (array) dari karakter sebanyak 256 (default). Mendefinisikan untaian kata atau karakter Bentuk Umum: Var <NamaVariabel>:string, Contoh : Var Kalimat :string; Nama :string[25]; Alamat :string[30]; atau kalimat := ‘Turbo Pascal’; 7. Tipe Larik Tipe larik memungkinkan kita mendeklarasikan kumpulan variabel yang bertipe sama. Pendeklarasian larik harus mengikuti bentuk umum ; var nama_larik : array[batas_bawah..batas_akhir] of tipe larik; Contoh : Var a1,a2,a3,a4,a5,a6,a7,a8 : longint; Dengan larik kita bisa mendefinisikan kedelapan variabel menjadi : var a : array[1..8] of longint; 8. Tipe Rekaman. Bila dengan larik kita menggabungkan beberapa variabel bertype sama, dengan rekaman kita menggabungkan beberapa variabel yang typenya tidak sama. Untuk mendeklarasikan rekaman digunakan kata baku “ Record “, contoh : type Tkaryawan = record; nama := string; alamat := string; gaji := Longint; end; 9. Tipe Himpunan. Tipe himpunan digunakan untuk menyimpan kumpulan nilai ( disebut juga anggota himpunan ) yang bertipe sama : Contoh type himpunankarakter : set of Char; untuk mendeklarasikan tipe himpunankarakter sebagai himpunan dari karakter Contoh : var vokal : Himpunankarakter; (‘a’,’I’,’u’,’e’,’o’) huruf ; Himpunankarakter; (‘a’,…’z’) Macam – macam Operator 1. 2. 3. 4. 5. 6. 7. Setelah mempelajari macam tipe data, kita akan mempelajari bermacam operator yang dilakukan terhadap variabel. Pada dasarnya ada tujuh nmacam operator : Operator pemberian nilai. Operator aritmatik. Operator pemanipulasi bit. Operator boolean. Operator pembanding. Operator himpunan. Operator string. 1. Operator Pemberi Nilai Merupakan operator yang paling sering digunakan. Kita sudah sering melihat dan membcanya. Contoh : a:= 12; (untuk tipe bilangan bulat ). b:= ‘halo’; (untuk tipe string ). c:= 3,14; (untuk tipe real). d:= (3, 4, 5); (untuk tipe himpunan). 2. Operator Aritmatik. Operator aritmatik hanya dapat dikerjakan pada bilangan bulat atau bilangan real. Pascal mengenal dua macam operator aritmatik yaitu operator aritmatik tunggal dan operator aritmatik biner Ada enam macam operator aritmatik biner pada pascal Ada dua macam opertor aritmatik tunggal pada pascal. Tabel operator aritmatik tunggal operator operasi + Identitas(tanda hasil Bilangan bulat operasi sama dengan tanda operasi) Bilangan real Bilangan bulat Invers(tanda hasil operasi adalah lawan dari tanda operasi) Bilangan bulat Bilangan bulat Bilangan real Bilangan real Type operan Penggunaan aritmatik tunggal x:= -y; Artinya nilai x sama dengan nilai invers dari nilai y x := +y; yang sama artinya dengan x:= y; Type hasil Bilangan real Tabel operator aritmatik biner operator operasi Type bilangan Type hasil + penjumlahan Bilangan bulat Bilangan real Bilangan bulat Bilangan real - Pengurangan Bilangan bulat Bilangan real Bilangan bulat Bilangan real * Perkalian Bilangan bulat Bilangan real Bilangan bulat Bilangan real / Pembagian Bilangan bulat Bilangan real Bilangan bulat Bilangan real Div Pembagian bilangan bulat Bilangan bulat Bilengan bula mod Sisa pembagian(modulus Bilangan bulat Bilangan bulat Contoh : X := y + z; X := a – b – c – d ; X := 5 + 9 + 3.14; X:= a / b ; X := a + b – c * d ; X := 10 div 3; X := 1 mod 3; 3. Operator Pemanipulasi Bit Operasi ini berhubungan dengan pemanipulasian bit pada operan. Operasi ini hanya dapat dikenakan pada operan bertipe bilangan bulat dan hasil operasinya juga selalu bilangan bulat. Ada enan macam operator pemanipulasi bit Operator Pemanipulasi bit Operator Operasi Not Invers And Logika and Or Logikan or Xor Logikan xor Shl Penggeseran bit ke kiri shr Penggeseran bit ke kanan Contoh : Operator and x : = 1 and 0; { x = 0} Operator or x := 1 or 0; { x = 1 } Operator xor x := 1 xor 0; { x = 1 } Operator shl x := y shl 2; Operator shr a := b shr 5; 4. Operator Boolean Operator ini dikenakan pada operan bertipe boolean, sehingga tipe operan dan tipe hasil operasinya adalah boolean. Ada empat macam operator. Operator Boolean Operator Operation Not Negasi And Logika and Or Logika or xor Logika xor Contoh : Operator and a := true and false; { a = false} Operator or a := true or false; { a = true } Operator xor a := true xor false; { a = true } Operasi not a := not b; { a = true jika b = false, atau a = false jika b = true } 5. Operator Pembanding Operator pembanding membandingkan dua buah operan. Hasil dari operan ini adalah data bertipe boolean yang menunjukkan hasil pembandingan bernilai benar atau salah Ada delapan macam operator pembanding Kolom ketiga (Tipe Operan) adalah jenis operan yang dapat dikenai operator pembanding. Operator Pembanding Operator Operasi Tipe Operan = Sama dengan Tipe sederhanan, pointer, himpunan, string <> Tidak sama dengan Tipe sederhanan, pointer, himpunan, string < > <= Kurang dari Tipe sederhana, string Lebih dari Tipe sederhana, string Kurang dari atau sama dengan Tipe sederhana, string >= Lebih dari atau sama dengan Tipe sederhana, string <= >= Subset dari Tipe himpunan Superset dari Tipe Himpunan Contoh : A := 5 = 6; {a = false karena 5 tidak sama dengan 6 } A := 5 <> 6; {a = true} A := 5 < 6; {a = true} A := (3<4) and (5>6); {a = false karena 5<6} A := (4<=4) or (5>6); {a = true} A := (4>=4) or (5>=5); {a = true} 6. Operator Himpunan Operator ini hanya digunakan pada tipe himpunan. Ada empat macam operator himpunan. Operator Operasi + - Union Selisih * in Interseksi Anggota dari Contoh : A:=B+C menggabungkan semua anggota himp. B dan C ke dalam A. Jika A, B dan C bertipe set of char dan nilai A B masing-masing adalah [‘A’,’B’] dan [‘C’] maka variabel C akan bernilai [‘A’, ‘B’, ‘C’]. 7. Operator String Pascal hanya mengenal satu macam operator string, yaitu penggabungan. Operator ini digunakan untuk menggabungkan dua atau lebih operan string menjadi sebuah string menjadi sebuah string yang lebih panjang. Simbol untuk operator ini sama dengan operator penjumlahan (+). Contoh : S := ‘Turbo’ + ‘Pascal’; {sama artinya dengan S := ‘Turbo Pascal’} 8. Derajat Operator Adanya operator – operator di atas menyebabkan munculnya konsep derajat operator. Kegunaannya adalah menentukan operator mana yang harus dikerjakan lebih dulu dan operator mana yang terakhir dikerjakan. Contoh : x := 2 + 3 * 4; akan menghasilkan 14 = (2+12) atau 20= (5*4) Derajat Operator Operator @ not Derajat Tertinggi * / div mod as and shl shr + - or xor = <> < > <= >= in Terendah