Data Types

tipe data adalah himpunan yang bisa user temui pada semua data. Dengan memahami suatu tipe data, user jadi bisa menentukan suatu nilai data yang dimiliki dari data tersebut. Salah satu dari bentuk penerapan tipe data yang ada dalam kehidupan sehari-hari adalah bilangan bulat. Maka sebenarnya penulisan suatu bilangan pada data bermacam-macam jenisnya. Lebih konkret nya lagi sebuah tipe data akan sangat sering ditemui dalam dunia pemrograman komputer. Dalam tahap awal pembuatan sebuah program, user terlebih dahulu harus menentukan tipe data yang digunakan. Kebanyakan tipe data yang digunakan oleh para programmer adalah real, integer, double, char, string dan masih banyak tipe data yang lain.

Array Types

Dalam ilmu komputer, jenis array adalah jenis data yang mewakili kumpulan elemen, masing-masing dipilih oleh satu atau lebih indeks yang dapat dihitung saat menjalankan selama pelaksanaan program. Seperti koleksi biasanya disebut variabel array, nilai array, atau hanya array. Array merupakan salah satu tipe data terstruktur (structured data type) yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe data yang sama.

Suatu array akan memiliki jumlah komponen yang banyaknya tetap. Banyaknya komponen di dalam suatu array ditunjukkan oleh suatu indeks yang disebut dengan tipe indeks (index type).

Tipe data terstruktur, array, pada umumnya dibedakan menjadi dua, yaitu :
– Array Satu Dimensi (One-Dimensional Array)
– Array Dua Dimensi (Two-Dimensional Array)

Associative Arrays

Dalam ilmu komputer, sebuah array asosiatif, peta, tabel simbol, atau Kamus adalah jenis data abstrak terdiri dari kumpulan (kunci, nilai) pasangan, sehingga setiap kunci yang mungkin muncul paling sekali dalam koleksi.Operasi yang terkait dengan tipe data ini memungkinkan:

  1. Penambahan sepasang ke koleksimenghapus sepasang dari koleksi
  2. Modifikasi pasangan yang ada pencarian nilai yang terkait dengan kunci tertentu
  3. Mengimplementasikan array asosiatif menimbulkan masalah kamus, sebuah masalah ilmu komputer klasik: tugas mendesain struktur data yang memelihara sekumpulan data selama operasi ‘ pencarian ‘, ‘ Hapus ‘, dan ‘ insert ‘.

Dua solusi utama untuk masalah Kamus adalah Tabel hash atau pohon pencarian. Dalam beberapa kasus juga dimungkinkan untuk memecahkan masalah menggunakan array langsung ditangani, pohon pencarian biner, atau struktur lebih khusus lainnya.Banyak bahasa pemrograman termasuk asosiatif array sebagai jenis data primitif, dan mereka tersedia di Perpustakaan perangkat lunak untuk banyak orang lain. Content-memori yang dituju adalah bentuk dukungan tingkat hardware langsung untuk array asosiatif.

Array asosiatif memiliki banyak aplikasi termasuk pola pemrograman fundamental seperti memoization dan pola dekorator. Nama ini tidak berasal dari properti asosiatif yang dikenal dalam matematika. Sebaliknya, itu muncul dari fakta bahwa kita mengasosiasikan nilai dengan kunci.

Character String Types

Tipe data String adalah tipe data yang bisa menampung banyak karakter sekaligus. String adalah tipe data untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter. Fungsi ini digunakan untuk membuat identifier String/teks.

List Types

List adalah hal yang digunakan untuk mengelompokkan bersama potongan informasi sehingga mereka jelas terkait satu sama lain dan mudah dibaca. Dalam pengembangan web modern, list berupa elemen yang sering digunakan untuk navigasi serta konten umum. List baik dari sudut pandang struktural karena mereka membantu membuat dokumen yang terstruktur dengan baik, lebih mudah diakses, dan dapat dipertahankan.

Mereka juga berguna karena mereka menyediakan elemen khusus yang Anda dapat melampirkan gaya CSS. Akhirnya, secara semantik daftar yang benar membantu pengunjung membaca situs web Anda, dan mereka menyederhanakan pemeliharaan ketika halaman Anda perlu diperbarui.Ada tiga jenis list dalam HTML:

  • Daftar unordered-digunakan untuk mengelompokkan satu set item terkait tanpa urutan tertentu
  • Daftar memerintahkan-digunakan untuk mengelompokkan satu set item terkait dalam urutan tertentu
  • Daftar Deskripsi-digunakan untuk menampilkan pasangan nama/nilai seperti istilah dan definisi 

Pointer and Reference Types

Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer tertentu. Pointer merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single, dan bahkan tipe-tipe data lain yang didukung oleh bahasa C. Variabel biasa, sifatnya statis dan sudah pasti, sedangkan pada pointer sifatnya dinamis dan dapat lebih fleksibel. Variabel pointer yang tidak menunjuk pada nilai apapun berarti memiliki nilai NULL, dan disebut sebagai dangling pointer karena nilainya tidak diinisialisasi dan tidak dapat diprediksi.

Pendeklarasian variabel pointer menggunakan tanda * sebelum nama variabelnya, sedangkan untuk menampilkan nilai yang ditunjuk oleh suatu variabel pointer, juga digunakan operator * (tanda asterisk). Jika diinginkan untuk menampilkan alamat tempat penyimpanan nilai yang ditunjuk oleh suatu variabel pointer, digunakan operator & (tanda ampersand).

Operator Pointer ada dua, yaitu :

  • Operator &
    Operator & bersifat unary (hanya memerlukan satu operand saja). Operator & menghasilkan alamat dari operandnya.
  • Operator *
    Operator * bersifat unary (hanya memerlukan satu operand saja).
    Operator * menghasilkan nilai yang berada pada sebuah alamat.

Referensi digunakan untuk memberikan nama alias dari variable. Dalam hal pengelolaan variabel dan parameter, C++ juga menyediakan reference variable, dan call by reference. Reference ke suatu variabel adalah nama alias terhadap variable tersebut. Reference berbeda dengan pointer. Jika sudah digunakan untuk mengacu suatu objek/variabel, reference tidak dapat direset untuk mengacu objek/variabel lain. Fasilitas ini dapat dimanfaatkan untuk memberikan alias terhadap suatu variabel yang mempunyai nama yang panjang (misalnya karena berada dalam struktur yang berlapis-lapis). Penggunaan reference yang lain adalah untuk call by reference dan return value dari sebuah fungsi.

Primitive Data Types

Ada tiga jenis tipe data primitif dalam bahasa pemrograman:

  • Tipe data Angka
    • Pecahan
    • Bilangan
  • Tipe data Karakter
  • Tipe data Boolean

Kemudian tipe data yang sering dipakai oleh Bahasa pemrograman, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika).

Tipe data Integer – Dalam bahasa pemrograman, tipe data integer adalah tipe data yang terdiri dari angka bulat (tidak mengandung nilai pecahan atau nilai desimal).

Tipe data real – biasanya digunakan untuk angka desimal (pecahan, misalnya 3.14). Tipe data ini dikenal juga dengan tipe data float atau floating point.

Tipe Data Char adalah tipe data yang hanya bisa diisi dengan 1 karakter saja. Karakter ini (alpanumerik) harus ditulis diantara tanda kutip.

Karena hanya bisa diisi dengan 1 karakter saja, tipe data char hanya membutuhkan 1 byte memory (1 byte = 8 bit).

Record Types

Record merupakan jenis tipe data terstruktur yang berisi beberapa data, yang masing- masing dapat berlainan tipe termasuk bertipe array. Jadi secara sederhana record merupakan tipe data tersetruktur yang terdiri dari beberapa data.

Kemudian masing-masing data tersebut disebut sebagai field. Namun yang menarik adalah masing-masing data field dapat berupa satu atau beberapa nama pengenal.

Strong Typing

Sebuah Strong Typing Programming Language adalah satu di mana setiap jenis data (seperti bilangan bulat, karakter, heksadesimal, dikemas desimal, dan sebagainya) adalah standar sebagai bagian dari bahasa pemrograman dan semua konstanta atau variabel yang didefinisikan untuk program tertentu harus dijelaskan dengan salah satu jenis data. Operasi tertentu mungkin hanya diperbolehkan dengan jenis data tertentu. Kompilator bahasa memberlakukan data mengetik dan menggunakan kepatuhan. Keuntungan dari mengetik data yang kuat adalah bahwa ia memberlakukan seperangkat aturan yang ketat pada programmer dan dengan demikian menjamin konsistensi tertentu hasil. Sebuah kerugian adalah bahwa hal itu mencegah programmer dari menciptakan jenis data yang tidak diantisipasi oleh pengembang dari bahasa pemrograman dan membatasi bagaimana “kreatif” satu dapat dalam menggunakan jenis data tertentu.

Tuple Types

Tipe data tuple merupakan salah satu jenis tipe data yang didalamnya memiliki nilai lebih dari 1. Ini membuat tipe data tuple sama seperti tipe data list, hanya saja perbedaan tipe data tuple dan list terletak pada sifat yang dimilikinya. Tipe data tuple memiliki sifat immutable (nilai didalamnya tidak dapat diubah), perbedaan lain yang bisa dilihat dari tipe data tuple adalah dalam penulisannya, tipe data tuple menggunakan tanda kurung bulat () dalam menempatkan nilai/elemen

Type Checking

Dalam konteks type checking, konsep tentang operand dan operator perlu diperluas untuk juga mencakup subprogram dan assignment statement. Subprogram dipandang sebagai operator, dan parameter nya berperan sebagai operand. Simbol yang digunakan pada assignment dipandang sebagai operator, dan target variable serta expression berperan sebagai operand nya.

Dengan demikian, pengertian type checking dapat dinyatakan sebagai aktivitas untuk memastikan bahwa operands dari suatu operator adalah compatible types.

Compatible type diartikan sebagai type yang legal bagi suatu operator, atau diperbolehkan berdasarkan rule dari bahasa pemrograman, untuk dikonversi secara implicit (implicitly converted), oleh compiler-generated code (ataupun interpreter), ke suatu legal type. Implicit atau automatic conversion tersebut biasa disebut coercion.

Union Types

Union adalah kumpulan data yang anggotanya disimpan di dalam memori yang sama dan saling mempengaruhi satu sama lain. Berbeda dengan struct yang tiap anggotanya menyimpan nilai secara terpisah, tiap anggota union menyimpan nilainya di dalam lokasi memori yang sama. Karena penyimpanannya sama dan saling timpa, maka saat nilai satu anggota diubah, nilai anggota union lain akan berubah walaupun tidak menjadi sama.

User Defined Ordinal Types

Dalam bahasa pemrograman, Ordinal Type adalah tipe data dimana rentang nilainya dapat diasosiasikan menggunakan himpunan bilangan bulat positif. User-defined ordinal types artinya ordinal type yang dapat didefinisikan sendiri oleh user.

User-defined ordinal types terdiri dari:

  1. Enumeration type adalah satu di mana semua nilai yang mungkin, yang dinamakan konstanta, disediakan, atau disebutkan, dalam definisi. Enumeration menyediakan cara mendefinisikan dan mengelompokkan koleksi konstanta bernama, yang disebut enumeration constants. Bahasa pemrograman yang menggunakannya adalah C, Pascal, C++, Java, C#, dan F#.
  2. Subrange type mendefinisikan subset dari nilai-nilai dari tipe tertentu. Subrange type diperkenalkan dalam bahasa pemrograman Pascal dan Ada. Dengan menggunakan subrange, kita dapat dengan mudah mendeteksi error yang terjadi karena nilai-nilai variabel yang tidak masuk akal yang seharusnya tidak mengambil nilai di luar batas yang diberikan.

References

https://www.mastekno.com/id/pengertian-fungsi-dan-jenis-tipe-data/
http://www.xpode.com/ShowArticle.aspx?ArticleId=497
https://en.wikipedia.org/wiki/Associative_array
https://webplatform.github.io/docs/guides/html_lists/
http://tri-yangzuka.blogspot.com/2012/10/perbedaan-pointer-dengan-referensi.html
https://kodedasar.com/pengertian-tipedata/
https://kodedasar.com/pengertian-record/
https://whatis.techtarget.com/definition/strongly-typed
https://www.malasngoding.com/operasi-tipe-data-tuple/
https://beritati.blogspot.com/2019/09/pengertian-type-checking-dalam-bahasa.html
https://beritati.blogspot.com/2019/09/user-defined-ordinal-types-dalam-bahasa.html

Author : Fendy Wirya Atmaja, Bayu Kanigoro