STRUKTUR DATA PERTEMUAN 1 I Dewa Gede Agung Pandawana, S.Kom. Email : vandawaa@yahoo.com sri
Tipe data Menunjukkan suatu nilai yang dapat digunakan oleh suatu variabel / konstanta. Tipe data yg tepat -> program dpt dieksekusi secara efektif sri
Tipe data (lanj) Secara umum dikelompokkan atas 2 bagian : Tipe data tunggal / sederhana Integer Real Boolean Karakter Tipe data majemuk / campuran String sri
Tipe Data Sederhana Integer Nilai bilangan bulat (integer positif, integer negatif, dan nol) Turbo Pascal Operator Integer terdiri atas : + , - , * , DIV dan MOD sri
Tipe Data Sederhana (lanj) Contoh Var jumlah : integer; Begin jumlah:=25000; writeln(‘nilai jumlah : ’, jumlah); End. sri
Tipe Data Sederhana (lanj) 2. Real subset bilangan real Jenis data ini ditulis menggunakan titik desimal Terdiri atas 2 bagian : mantissa (pecahan) & eksponen Ex : 123000 = 0.123 * 106 Turbo Pascal : 1E-38 sampai 1E+38 Mantissa signifikan = 11 digit mantissa eksponen sri
Tipe Data Sederhana (lanj) Operator Real terdiri atas : + , - , * , /, DIV dan MOD Contoh Var n1 , n2 : real; Begin n1:=12345678910.2345; n2:=12345; writeln(‘nilai1: ’, n1); writeln(‘nilai2: ’, n2); End. Result : Nilai1 : 1.2345678910E+10 Nilai2 : 1.2345000000E+04 sri
Tipe Data Sederhana (lanj) 3. Boolean tipe data logika yang memiliki dua nilai yaitu true dan false Operator : Operator Logika (NOT, OR, AND, XOR) Operator Relasional (>, <, >=, <=, <> dan =) sri
Tipe Data Sederhana (lanj) 3. Boolean Contoh Soal : T and F = F and F = T or F = T or T = T xor F = F xor F = T xor T = Contoh Soal : T and F or F xor F = Not (F and T) or T = F xor T or (F and T) = Not (F xor F and T) = F T F T sri
Tipe Data Sederhana (lanj) 4. Karakter Elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol-simbol khusus TURBO Pascal Deklarasi dengan tipe Char Ditulis diantara tanda petik tunggal Ex : ‘A’, ‘a’, ‘!’, ‘%’, ‘5’ sri
Tipe Data Sederhana (lanj) Contoh Char Var karakter : char; Begin karakter:=‘A’; writeln(‘karakter : ’, karakter); End. Result : Karakter : A sri
Tipe Data Campuran 5. String barisan hingga simbol yang diambil dari himpunan karakter Campuran -> elemen-elemennya dibentuk dari karakter-karakter Contoh : Himpunan alphabet {A,A,1} -> string = (AB1), (A1B), (1AB),…dst. Termasuk string Null ( empty / kosong ) = { } sri
Tipe Data Campuran(lanj) Contoh String (Turbo pascal) Var tanggal : string[10]; hari: string[6]; Begin tanggal:=’01-03-2010’; hari := ‘Senin ’; writeln(hari , tanggal); End. Result : Senin 01-03-2010 sri
Pemetaan ke Storage (Integer) Tak bertanda (bilangan biner, oktal, heksadesimal) Bertanda Skema Sign dan Magnitude (S/M) Skema Two’s Complement sri
Sign dan Magnitude Bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner Bit paling kiri (most significant bit) sebagai sign bit (tanda), 7 bit sisanya adalah magnitude / bilangan absolut 0 berarti positif 1 berarti negatif +18 = 00010010 -18 = 10010010 sri
Sign dan Magnitude (lanj) sri
Sign dan Magnitude (lanj) Kita dapat menunjukkan bilangan dari −12710 to +12710 jika kita menambahkan sign bit Problem Dua bilangan nol (+0 and -0) Sign-magnitude adalah metode yang umum digunakan untuk mempresentasikan tanda dalam bilangan float sri
Two’s Complement X+X’=R Menggunakan R = 2N Contoh : jika dipergunakan 5 bit untuk representasi bilangan 2n = 25 = 100000 +3 = 00011 3 = 100000-00011 = 11101 sri
Two’s Complement (lanj) Contoh : + 44 = 00101100 - 44 = ???? Langkah pertama : mulai dari kanan, temukan angka ‘1’ yang pertama Balikkan semua bit yang ada di sebelah kiri angka ‘1’ tersebut Hasil akhir - 44 : 11010100 sri
Two’s Complement (lanj) Contoh : + 41 = 00101001 - 41 = ????? Langkah pertama : mulai dari kanan, temukan angka ‘1’ yang pertama Balikkan semua bit yang ada di sebelah kiri angka ‘1’ tersebut Hasil akhir - 41 : 11010111 sri
Two’s Complement (lanj) sri
Pembalikan tanda yang mudah Kelebihan : Satu angka 0 Aritmatika yang mudah Pembalikan tanda yang mudah sri