Sebuah
tipe dasar adalah tipe data yang disediakan oleh bahasa pemrograman sebagai
sebuah blok bangunan dasar. Kebanyakan bahasa memungkinkan lebih rumit jenis
komposit yang akan secara rekursif dibangun mulai dari tipe dasar. jenis
built-in adalah tipe data yang bahasa pemrograman menyediakan dukungan
built-in.
Dalam
kebanyakan bahasa pemrograman, semua tipe data dasar yang built-in. Selain itu,
banyak bahasa juga menyediakan satu set tipe data komposit. Pendapat bervariasi
apakah built-in tipe yang tidak mendasar harus dipertimbangkan "primitif".
Tergantung
pada bahasa dan pelaksanaannya, tipe data primitif mungkin atau mungkin tidak
memiliki korespondensi satu-ke-satu dengan benda-benda di memori komputer.
Namun, salah satu biasanya mengharapkan operasi pada tipe data primitif dasar
untuk menjadi bahasa tercepat konstruksi ada. Selain Integer, misalnya, dapat
dilakukan sebagai instruksi mesin tunggal, dan beberapa prosesor menawarkan
petunjuk khusus untuk memproses rangkaian karakter dengan sebuah instruksi.
Secara khusus, C standar menyebutkan bahwa "objek int 'polos' memiliki
ukuran alami disarankan oleh arsitektur lingkungan eksekusi". Ini berarti
bahwa int kemungkinan menjadi 32 bit panjang pada arsitektur 32-bit. Tipe
primitif dasar hampir selalu jenis nilai .
Kebanyakan
bahasa tidak mengizinkan perilaku atau kemampuan primitif (baik built-in atau
dasar) jenis data yang akan dimodifikasi oleh program. Pengecualian termasuk
Smalltalk , yang memungkinkan semua jenis data yang akan diperpanjang dalam
sebuah program, menambah operasi yang dapat dilakukan pada mereka atau bahkan
mendefinisikan operasi built-in.
Sekilas
Kisaran
sebenarnya tipe data primitif yang tersedia tergantung pada bahasa pemrograman
tertentu yang sedang digunakan. Misalnya, di C , string adalah komposit tapi
built-in tipe data, sedangkan pada dialek modern BASIC dan JavaScript , mereka
berasimilasi ke tipe data primitif yang bersifat dasar dan built-in.
Tipe
primitif dasar klasik mungkin termasuk:
- Character
( character , char );
- Integer
( integer , int , short , long , byte ) dengan berbagai presisi ;
- Angka
floating-point ( float , double , real , double precision );
- Nomor
fixed-point ( fixed ) dengan berbagai presisi dan programmer yang dipilih skala
.
- Boolean
, nilai-nilai logis benar dan salah.
- Referensi
(juga disebut pointer atau pegangan), nilai kecil mengacu ke alamat obyek lain
dalam memori, mungkin jauh lebih besar.
Jenis
yang lebih canggih yang dapat built-in meliputi:
- Tupel
di ML , Python
- Daftar
link di Lisp
- Bilangan
kompleks di Fortran , C (C99) , Lisp , Python , Perl 6 , D
- Bilangan
rasional di Lisp , Perl 6
- Tabel
hash dalam berbagai samaran, di Lisp , Perl , Python , Lua , D
- Fungsi
kelas pertama , penutupan , kelanjutan dalam bahasa yang mendukung pemrograman
fungsional seperti Lisp , ML , Perl 6 , D dan C # 3.0
Nomor fixed-point
A
fixed-point nomor mewakili terbatas presisi bilangan rasional yang mungkin
memiliki bagian pecahan. Angka-angka ini disimpan secara internal dalam bentuk
skala-integer, biasanya dalam biner tapi kadang-kadang dalam desimal . Karena
nomor fixed-point memiliki presisi yang terbatas, hanya subset dari nyata atau
rasional angka yang persis representable, nomor lain dapat diwakili hanya
sekitar. Nomor fixed-point juga cenderung memiliki rentang yang lebih terbatas
daripada nilai-nilai floating point , sehingga programmer harus berhati-hati
untuk menghindari tumpah dalam perhitungan menengah serta hasil akhir.
Karakter dan string
Sebuah
karakter jenis (biasanya disebut "char") mungkin berisi satu huruf ,
angka , tanda baca , simbol , kode format , kode kontrol , atau beberapa kode
lain khusus (misalnya, sebuah tanda perintah byte ). Beberapa bahasa memiliki
dua atau lebih jenis karakter, misalnya tipe single-byte untuk ASCII karakter
dan tipe multi-byte untuk Unicode karakter. Istilah "tipe karakter"
biasanya digunakan bahkan untuk jenis yang nilainya lebih tepat mewakili unit
kode , misalnya UTF-16 kode unit seperti di Jawa dan JavaScript .
Karakter
dapat dikombinasikan ke dalam string . Data string dapat mencakup angka dan
simbol numerik lain tetapi akan diperlakukan sebagai teks.
Dalam
kebanyakan bahasa, string adalah setara dengan sebuah array karakter atau unit
kode, tetapi Java memperlakukan mereka sebagai jenis yang berbeda (
java.lang.String dan char[] ). Bahasa lain (seperti Python , dan banyak dialek
BASIC ) tidak memiliki tipe karakter yang terpisah, string dengan panjang satu
biasanya digunakan untuk mewakili (unit kode tunggal) karakter.
Literal
untuk karakter dan string biasanya dikelilingi oleh tanda kutip :
kadang-kadang, tanda kutip tunggal (') digunakan untuk karakter dan tanda kutip
ganda (") digunakan untuk string.
Contoh
karakter literal dalam sintaks C adalah: 'A', '4 ', '$', '\ T' ( karakter tab )
Contoh
string literal dalam sintaks C adalah: "A", "Hello World"
Numeric tipe data rentang
Setiap
tipe data numerik memiliki nilai maksimum dan minimum yang dikenal sebagai
kisaran . Mencoba untuk menyimpan nomor di luar jangkauan dapat menyebabkan
kesalahan kompilator / runtime, atau perhitungan yang salah (karena pemotongan
) tergantung pada bahasa yang digunakan.
Tidak ada komentar:
Posting Komentar