Pages

Minggu, 16 Juni 2013

Tipe data Boolean

Pengertian tipe data Boolean
Tipe data Boolean:merupakan tipe data logika,yang berisi dua kemungkinan nilai:TRUE(benar) atau FALSE(salah).
Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu:Boolean,WordBool,dan LongBool.Tipe Boolean memakai memori paling kecil,sedangkan WordBool dan LongBool di pakai untuk menulis program yang sesuai dengan lingkungan Windows.

Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.
Dalam bahasa pemrograman yang memiliki built-in tipe data Boolean, seperti Pascal dan Java, operator perbandingan seperti '>' dan '≠' biasanya ditetapkan untuk mengembalikan nilai Boolean. Juga, perintah bersyarat dan berulang dapat didefinisikan untuk menguji ekspresi Boolean bernilai.

Bahasa tanpa tipe data Boolean eksplisit, seperti C dan Lisp, masih dapat mewakili nilai-nilai kebenaran dengan beberapa jenis data lainnya. Lisp menggunakan daftar kosong untuk false, dan nilai lain untuk benar. C menggunakan tipe integer, di mana ekspresi relasi seperti ungkapan i> j dan logis dihubungkan oleh & & dan | | didefinisikan memiliki nilai 1 jika benar dan 0 jika salah, sedangkan bagian uji jika, sementara, untuk, dll, mengobati setiap nilai bukan nol sebagai benar [1] [2] Memang,. sebuah variabel Boolean dapat dianggap (dan dilaksanakan) sebagai variabel numerik dengan (sedikit) satu digit biner, yang dapat menyimpan hanya dua nilai.

Kebanyakan bahasa pemrograman, bahkan mereka yang tidak memiliki tipe Boolean eksplisit, memiliki dukungan untuk operasi aljabar Boolean seperti bersama (DAN, &, *), disjungsi (OR, |, +), kesetaraan (EQV, =, ==) , eksklusif atau / non-kesetaraan (XOR, NEQV, ^, =!), dan tidak (TIDAK, ~,!).

Dalam beberapa bahasa, tipe data Boolean didefinisikan untuk menyertakan lebih dari dua nilai kebenaran. Sebagai contoh ISO SQL 1999 standar yang ditetapkan nilai Boolean sebagai bisa benar, palsu, atau tidak diketahui (SQL null). Meskipun konvensi ini menentang hukum dikecualikan tengah, sering berguna dalam pemrograman.

Dalam model lambda kalkulus komputasi, nilai Boolean dapat diwakili sebagai boolean Gereja.

SEJARAH   BOOLEAN
Salah satu bahasa yang paling awal untuk memberikan tipe data Boolean yang eksplisit adalah ALGOL 60 (1960) dengan operator nilai benar dan palsu dan logis dinotasikan dengan simbol '\ wedge' (dan), '\ vee' (atau), '\ supset' ( berarti), '\ equiv' (kesetaraan), dan '\ neg' (tidak). Karena keterbatasan perangkat input waktu, namun, kompiler paling banyak digunakan representasi alternatif untuk yang terakhir, seperti DAN atau 'DAN'. Pendekatan ("Boolean adalah terpisah built-in tipe data primitif") diadopsi oleh bahasa banyak kemudian, seperti ALGOL 68 (1970) [3], Jawa, dan C #.

Versi pertama dari FORTRAN (1957) dan penggantinya FORTRAN II (1958) tidak memiliki nilai logis atau operasi, bahkan pernyataan kondisional JIKA mengambil sebuah ekspresi aritmatika dan bercabang ke salah satu dari tiga lokasi sesuai dengan tandanya. FORTRAN IV (1962), namun, mengikuti ALGOL 60 misalnya dengan menyediakan tipe data Boolean (LOGIS), literal kebenaran (TRUE.. Dan. FALSE.), Bernilai Boolean operator perbandingan numerik (. EQ., GT.., dll), dan operator logika (TIDAK.., DAN..,. ATAU.). Dalam laporan FORMAT, karakter kontrol tertentu ('L') diberikan untuk parsing atau format nilai logis. [4]

Bahasa Lisp (1958) tidak pernah memiliki built-in tipe data Boolean. Sebaliknya, bersyarat konstruksi seperti COND berasumsi bahwa nilai logis "palsu" yang diwakili oleh daftar kosong (), yang didefinisikan untuk menjadi sama dengan atom khusus nihil atau NIL; sedangkan setiap s ekspresi-lain ditafsirkan sebagai "benar" . Untuk kenyamanan, sebagian dialek modern Lisp predefine t atom memiliki nilai t, sehingga kita dapat menggunakan t sebagai notasi mnemonik untuk "benar". Pendekatan ("nilai apapun dapat digunakan sebagai nilai Boolean") dipertahankan dalam dialek Lisp sebagian besar (Common Lisp, Scheme, Emacs Lisp), dan model serupa diadopsi oleh bahasa scripting banyak, bahkan yang memiliki tipe Boolean yang berbeda atau nilai-nilai Boolean; walaupun nilai-nilai yang diinterpretasikan sebagai "palsu" dan yang "benar" bervariasi dari bahasa ke bahasa. Dalam Skema, misalnya, "false" nilai adalah berbeda atom dari daftar kosong, sehingga yang terakhir ini ditafsirkan sebagai "benar". Pada Python, nilai numerik dari nol (integer atau pecahan), nilai null (Tidak ada), dan kontainer kosong (string yaitu, daftar, set, dll) dianggap salah Boolean; semua nilai-nilai lain dianggap Boolean benar secara default. Di Ruby, di sisi lain, hanya objek null dan benda palsu khusus adalah "false", segala sesuatu yang lain (termasuk integer 0 dan array kosong) adalah "benar". Dalam JavaScript, string "kosong", null, undefined, NaN, +0, -0, dan false [5] kadang-kadang disebut "falsy", dan mereka melengkapi, "truthy", untuk membedakan antara tipe-diperiksa secara ketat dan memaksa boolean. [6] Bahasa seperti PHP juga menggunakan pendekatan ini.

Standar awal untuk bahasa C (1972) tidak memberikan tipe Boolean, dan, sampai hari ini, nilai Boolean biasanya diwakili oleh bilangan bulat (int) dalam program C. Perbandingan operator ('>','==', dll) didefinisikan untuk mengembalikan signed integer (int) hasil, baik nol (untuk false) atau 1 (untuk yang benar). Konvensi yang sama diasumsikan oleh operator logika ('&&','||',, '!', Dll) dan pernyataan kondisi-testing ('jika', 'sementara'). Dengan demikian nilai-nilai logika dapat disimpan dalam variabel integer, dan digunakan di mana saja bilangan bulat akan berlaku, termasuk dalam pengindeksan, aritmatika, parsing, dan format. Pendekatan ("Boolean nilai hanya bilangan bulat") dipertahankan dalam semua versi C.
Beberapa dialek yang, seperti C99 dan Objective-C, memberikan definisi standar tipe Boolean sebagai sinonim dari int dan macro untuk "palsu" dan "benar" sebagai 0, dan 1 masing-masing. Visual Basic menggunakan pendekatan yang sama. C + + memiliki Boolean terpisah tipe data ('bool'), tetapi dengan konversi otomatis dari nilai skalar dan pointer yang sangat mirip dengan C. Pendekatan ini diadopsi juga oleh bahasa banyak kemudian, terutama oleh beberapa orang scripting seperti AWK dan Perl. Satu masalah dengan pendekatan ini adalah bahwa tes jika (t ){...} == TRUE dan jika (t) tidak setara. Python memiliki situasi yang terkait, dimana tipe Boolean, bool merupakan subtipe dari integer int jenis,, dan boolean bertindak benar dan salah sebagai 0 dan 1, masing-masing, dalam konteks aritmatika.

Bahasa Pascal (1978) memperkenalkan konsep tipe enumerated programmer-didefinisikan. Built-in tipe data Boolean kemudian diberikan sebagai tipe enumerated yang telah ditetapkan dengan nilai-nilai FALSE dan TRUE. Menurut definisi, semua perbandingan, operasi logis, dan pernyataan bersyarat diterapkan untuk dan / atau menghasilkan nilai Boolean. Jika tidak, tipe Boolean memiliki semua fasilitas yang tersedia untuk tipe enumerated secara umum - seperti pemesanan dan digunakan sebagai indeks. Di sisi lain, konversi antara boolean dan bilangan bulat (atau jenis lainnya) masih diperlukan tes eksplisit atau pemanggilan fungsi, seperti pada ALGOL 60. Pendekatan ("Boolean adalah tipe enumerasi") diadopsi oleh bahasa yang paling kemudian yang telah disebutkan jenis, seperti Modula, Ada dan Haskell.

Setelah tipe enumerated (enum ''s) ditambahkan ke versi ANSI C (1989), banyak programmer C terbiasa untuk mendefinisikan jenis mereka sendiri Boolean seperti itu, karena alasan mudah dibaca. Namun, tipe enumerated yang setara dengan bilangan bulat sesuai dengan standar bahasa, sehingga identitas yang efektif antara boolean dan integer tetap berlaku bagi program C.

Boolean dlm versi terbaru dari Python, benda yang ditetapkan pengguna dapat menentukan nilai kebenaran mereka dengan memberikan metode __bool__. [7]

Pada standar 1999, SQL yang ditetapkan tipe data Boolean dengan empat nilai yang mungkin: true, false, tidak diketahui atau null. Namun, vendor dapat memilih untuk menyamakan dua nilai terakhir [8].. Karena inkonsistensi ini kebanyakan implementasi SQL (dengan pengecualian dari Postgresql) [9] menggunakan tipe data lain (seperti bit, byte, dan karakter) untuk mensimulasikan nilai Boolean.
Kesimpulan:
           
·         Tipe data Boolean mengandung nilai dua-negara seperti benar / salah, ya / tidak, atau on / off.

Nilai default dari Boolean adalah False.
Jenis Konversi

Ketika Visual Basic mengkonversi nilai numerik ke tipe data Boolean, 0 menjadi Palsu dan semua nilai lain menjadi True. Ketika Visual Basic mengkonversi nilai Boolean untuk tipe numerik, Palsu dan Sejati menjadi 0 menjadi -1.

Bila Anda mengkonversi antara nilai-nilai boolean dan tipe data numerik, perlu diingat bahwa NET Framework. metode konversi tidak selalu menghasilkan hasil yang sama seperti kata kunci konversi Visual Basic. Hal ini karena konversi Visual Basic mempertahankan perilaku yang kompatibel dengan versi sebelumnya. Untuk informasi lebih lanjut, lihat Pemecahan Masalah Tipe Data.
Programming Tips
·         Bilangan Negatif. Boolean bukan tipe numerik dan tidak dapat mewakili nilai negatif. Dalam hal apapun, Anda tidak harus menggunakan Boolean untuk menyimpan nilai numerik.
·         Tipe Karakter. Boolean tidak memiliki tipe karakter harfiah atau pengidentifikasi tipe karakter.
·         Jenis Framework. Jenis yang sesuai di NET Framework. adalah struktur System.Boolean.

Note book:
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok = true;
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.


contoh tipe data Boolean:
Dim runningVB As Boolean
' Check to see if program is running on Visual Basic engine.
If scriptEngine = "VB" Then
    runningVB = True
End If
Contoh program Boolean:
Contoh:
Program display_bool;
Usees wincrt;
Begin writeln(ord(true));
Writeln(ord(false));
End.
Hasilnya:0 13.2.