Senin, 05 Januari 2015

Jenis Data


Pada bab dua ini terdapat beberapa sub bab, diantaranya:
ü  Tipe data numerik
ü  Tipe data karakter
ü  Tipe data Boolean
ü  Penyimpanan String dalam standar Pascal dan implementasi modern dari bahasa
ü  Fungsi standar dan operator untuk pengolahan tipe data yang berbeda
ü  Tambahan jenis Turbo Pascal, operator, dan fungsi

2-1 Ikhtisar Jenis Data

Kita telah menggunakan jenis data INTEGER dan jenis REAL baik sebagai konstanta numeric dan variabel. Kita juga telah menggunakan operator aritmatika dengan variabel dan konstanta
untuk membangun ekspresi aritmatika, dan  telah mengetahui beberapa fungsi seperti ROUND dan TRUNC. Data diolah dengan suatu program yang mungkin berisi karakter tunggal, string teks, dan jumlah logis. Setiap jenis data disimpan dan dimanipulasi secara berbeda. Pascal menyediakan tipe data standar berikut (juga disebut tipe data yang sederhana atau skalar):

INTEGER
NYATA
CHAR
BOOLEAN

Bab ini memperkenalkan seluruh gambar data jenis numeric dan fungsi terkait dan ekspresi. Hal ini juga memperkenalkan tipe data CHAR yang digunakan untuk mewakili satu karakter, dan jenis BOOLEAN untuk mewakili nilai-nilai logis. Pembahasan jenis karakter tunggal berisi gambaran tentang bagaimana string diwakili dalam standar Pascal dan juga bagaimana mereka diwakili dalam implementasi modern seperti Turbo Pascal dan UCSD Pascal (menggunakan tipe STRING).






2-2 Jenis Numerik

Kisaran angka yang dapat direpresentasikan sebagai bilangan bulat (atau sebagai real) tergantung pada implementasi. Untuk tipe INTEGER itu ditentukan oleh batas-batas sebagai berikut:

MAXINT                    bilangan bulat positif maksimum
- (MAXINT + 1)         bilangan bulat negatif maksimum

Sekali lagi, nilai MAXINT tergantung pada pelaksanaannya. Bilangan real umumnya disimpan dalam jumlah yang lebih besar dari byte daripada bilangan bulat, tapi presisinya terbatas. Fraksi seperti 0.333333 dan 0.666666 dapat sebagai nilai-nilai yang tepat 1/3 dan 2/3, terlepas dari berapa banyak digit yang digunakan untuk mewakili jumlah. Untuk alas an ini, tidak dianjurkan untuk menguji dua bilangan real untuk kesetaraan. Sebaliknya, akan lebih baik untuk menguji untuk melihat apakah perbedaan antara kedua angka kurang dari beberapa jumlah kecil tertentu.
Dalam Turbo Pascal, ada jenis numeric tambahan, yang diperkenalkan di bawah bagian ini.

·         Jenis angka dalam Turbo Pascal

Dalam Turbo Pascal tipe integer tambahan (termasuk jenis INTEGER) di Turbo Pascal. Tipe ini tertera pada tabel 2-1 bersama dengan ukuran penyimpanan dan jangkauan maksimum nilai-nilai yang dapat direpresentasikannya. Dalam satu byte, kita dapat menyimpan baik dalam bentuk SHORTINT atau BYTE. BYTE ini sebenarnya merupakan Unsigned SHORTIN, yang berarti hanya dapat berupa bilangan positif saja. Seperti yang terlihat dalam tabel, jangkauan maksimum nilai untuk tipe dua kali lipat ketika tanda tidak digunakan. Hal yang sama berlaku untuk jenis INTEGER dan WORD, WORD adalah positif INTEGER dengan jangkauan maksimumnya sebesar dua kali lipat.

Tabel 2-1: Turbo Pascal tipe integer

Jenis Data
Ukuran (dalam byte)
Rentang
SHORTINT
1
Dari -128 sampai 127
BYTE
1
Dari 0 sampai 225
INTEGER
2
Dari -32768 sampai 32767
WORD
2
Dari 0 sampai 65535
LONGINT
4
Dari -2.147.483.648 sampai 2.147.483.647


Longint adalah bilangan bulat terbesar yang dapat diwakili dalam Turbo Pascal. Kita bisa menguji nilainya dengan menampilkan nilai MAXLONGINT  yang telah ditetapkan sebagai berikut:

Writeln (MAXLONGINT);

Perhatikan bahwa kisaran negativ dari jenis ditandatangani melebihi kisaran positif oleh salah satu (mis, 127 dan -128). Hal ini karena nol dihitung dengan angka positif.

Perhatian: di sini koma digunakan hanya untuk menyatakan jumlah besar dalam pembacaan. Kita tidak akan melihat koma dalam output dari program, koma juga tidak digunakan sebagai bagian dari konstanta literal. Jadi, nomor 2,147,483,647 pasti ditetapkan sebagai 2147483647.

Dalam Turbo Pascal, ada juga jenis REAL tambahan (termasuk jenis REAL) sebagaimana
ditunjukkan padaTabel 2-2. Untuk bilangan real, kolom baru akan ditambahkan ke table untuk menggambarkan akurasi nomor sebagai jumlah digit maksimum yang tepat.

Tabel 2-2: Turbo Pascal jenis REAL


Jenis Data
Ukuran(dalam byte)
Presisi (hingga)
Rentang
SINGLE
4
7
Dari 0,71E-45sampai 3.4E+38
REAL
6
11
dari 2.94E-39 sampai 1.7E + 38

DOUBLE
8
15
dari 4.94E-324 untuk 1.79E + 308

EXTENDED
10
19
dari 3.3E-4932 untuk 1.18E + 4932

COMP
8
Bilangan bulatnya
± 9.2E + 18

Jika kita memeriksa berbagai jenis data Tunggal kita akan menemukan bahwa itu cukup dekat dengan jenis REAL, terutama di daerah jumlah yang sangat besar. Perbedaan utama antara keduanya terletak pada penyimpanan ekonomis dari jenis data TUNGGAL (4 bytes dibandingkan dengan 6), yang datang dengan mengorbankan presisi (7 digit dibandingkan dengan 11).
Jenis bilangan Real selain REAL tidak tersedia kecuali menggunakan math coprocessor. Jenis COMP benar-benar milik himpunan bilangan bulat, karena tidak menerima fraksi, tetapi biasanya disebutkan antara real karena memerlukan penggunaan matematika yang coprocessor.

2-3 FungsiAritmatika

Pascal termasuk  fungsi standar yang dapat digunakan dalam ekspresi antara konstanta dan variabel.
 Tabel 2-3 menunjukkan fungsi aritmatika standar yang dibagi menjadi tiga kelompok, yaitu :
ü  fungsikonversi
ü  fungsitrigonometri
ü  fungsi Miscellaneous

Fungsi beroperasi pada parameter yang disajikan dalam tanda kurungnya. Parameter adalah ekspresi dari jenis tertentu (perhatikan bahwa ekspresi mungkin variabel tunggal atau konstanta). Sebelum menggunakan fungsi ini, kita harus tahu jenis dari parameter penggunaan fungsi dan jenis nilai yang dikembalikan (yang  juga merupakan jenis fungsi). Fungsi konversi, misalnya, mengambil parameter nyata dan menghasilkan bilangan bulat. Fungsi lain menggunakan baik integer atau parameter nyata dan menghasilkan berbagai jenis. Jenis nilai yang dikembalikan sangat penting ketika kita menetapkan fungsi untuk variabel.

Tabel 2-3: Fungsi Aritmatika Standar


Format Fungsi
Nilai Kembali
Tipe Parameter
Tipe Hasil
KONVERSI FUNGSI:




ROUND (x)
x dibulatkan ke integer terdekat
REAL
INTEGER
TRUNC (x)
X dengan fraksi bagian dipotong
REAL
INTEGER
TRIGONOMETRI FUNGSI:



Arctan (x)
Arc tan x
REAL/INTEGER
INTEGER
Cos (x)
Cosinus x
REAL/INTEGER
INTEGER
Sin (x)
Sinus x
REAL/INTEGER
INTEGER
FUNGSI LAIN-LAIN



ABS (x)
Nilai absolut dari x
REAL/INTEGER
REAL/INTEGER
EXP (x)
Fungsi eksponensial dari x (ex)
REAL/INTEGER
REAL
LN (x)
Logaritma natural x
REAL/INTEGER
REAL
SQR (x)
Kuadrat dari x (x²)
REAL/INTEGER
REAL/INTEGER
SQRT(x)
Akar kuadrat dari x(^x)
REAL/INTEGER
REAL
*SEMUA SUDUT HARUS DINYATAKAN DALAM RADIAN




Lihatlah contoh-contoh ini:

SQR (3) = 9
SQR (2.5) = 6.25
SQRT (9) = 3.00
ABS (-28,55) = 28,55
LN (EXP (1)) = 1.00
Arctan (1) = 45 derajat

Perhatikan bahwa jenis hasil dikembalikan oleh fungsi SQR adalah sama dengan jenis
parameter, tetapi fungsi SQRT mengembalikan bilangan real yang terlepas dari parameter. Perhatikan juga bahwa parameter fungsi mungkin saja berisi fungsi lain, seperti LN (EXP (1)).

Output kembali dari fungsi terakhir (arctan) yang dikonversi menjadi derajat di sini namun akan dikembalikan dalam radian jika tidak dikonversi. Program yang dihasilkan ini ditunjukkan pada Contoh 2-1. Perhatikan deskripsi format, yang digunakan untuk menghasilkan output dalam format ini.
{------------------------------- Contoh 2-1 -------------- -------------------
}

{Fungsi Aritmatika Standar}
PROGRAM FungtionDemo (OUTPUT);
CONST
Pi = 3.14159; {Tidak perlu untuk bagian ini di Turbo Pascal}
BEGIN
Writeln ('SQR (3) =', SQR (3));
Writeln ('SQR (2,5) =', SQR (2.5): 0: 2);                    {Perhatikan format}
Writeln ('SQRT (9) =', SQRT (9): 0: 2);
Writeln ('ABS (-28,55) =', ABS (-28,55): 0: 2);
Writeln ('LN (EXP (1)) =', LN (EXP (1)): 0: 2);
Writeln ('arctan (1) =', arctan (1) * 180 / Pi: 0: 0, 'derajat')     {Perhatikan konversi dan format}
END.
{------------------------------------------------- ---------------------------
}



Power Fungsi
Operator listrik tidak ada dalam Pascal seperti dalam beberapa bahasa lain (seperti
sebagai Fortran dan Basic), tetapi Kita dapat membuat satu menggunakan fungsi aritmatika. Kita tentu saja bisa menggunakanfungsi SQR untuk menghasilkan kekuatan kecil, demikian:
SQR (x) daya 2

0 komentar:

Posting Komentar

komentarin dong... :(

 
Copyright (c) 2010 WELCOME TO MY KINGDOM :) and Powered by Blogger.