Saat mengisi formulir pendaftaran online, Anda mungkin pernah melihat kolom tanggal lahir menolak huruf, atau kolom jumlah barang menolak angka pecahan. Formulir itu "tahu" jenis isian yang pantas untuk setiap kolom. Komputer membutuhkan pengetahuan yang sama setiap kali menyimpan dan mengolah sebuah nilai, dan pengetahuan itulah yang disebut tipe data.

Bagi pemula yang baru bertanya apa itu tipe data, materinya sering terasa seperti hafalan: integer, float, char, boolean, string. Padahal di balik daftar itu ada alasan yang sangat praktis. Pilihan tipe data menentukan apakah 7 + 5 menghasilkan 12 atau 75, apakah hitungan uang Anda meleset satu rupiah, bahkan apakah sebuah roket tetap terbang. Artikel ini membahasnya satu per satu, dari konsep dasar sampai contoh penerapannya.

Tipe Data Adalah Kontrak antara Nilai dan Komputer

Tipe data adalah klasifikasi yang memberi tahu komputer jenis sebuah nilai. Klasifikasi ini sekaligus menentukan rentang nilai yang boleh disimpan, besar memori yang dipakai, dan operasi yang sah dilakukan terhadap nilai tersebut. Dengan kata lain, tipe data adalah kontrak antara programmer dan komputer.

Pengertian tipe data sebagai kontrak lebih mudah diingat kalau dipecah menjadi tiga janji:

  1. Rentang nilai: batas terkecil dan terbesar yang bisa ditampung. Tipe byte di Java, misalnya, hanya menerima angka −128 sampai 127.
  2. Ukuran memori: jumlah bit (satuan terkecil data digital, bernilai 0 atau 1) yang disiapkan untuk satu nilai. Integer 32-bit selalu memakai 4 byte, berapa pun angkanya.
  3. Operasi yang boleh: angka bisa dijumlahkan dan dibagi, teks bisa disambung dan dipotong, nilai logika bisa dibalik dari benar menjadi salah.

Janji ketiga paling mudah dilihat dari contoh berikut. Angka yang ditulis dengan dan tanpa tanda petik diperlakukan sangat berbeda oleh Python:

Python
print(7 + 5)      # 12
print("7" + "5")  # 75

Baris pertama menjumlahkan dua bilangan. Baris kedua menyambung dua teks, karena tanda petik mengubah tipe nilainya menjadi string (deretan karakter). Operatornya sama-sama +, tetapi maknanya ditentukan oleh tipe data di kiri dan kanannya.

Kenapa Komputer Tidak Bisa Menebak Sendiri

Memori komputer tidak menyimpan angka, huruf, atau gambar. Yang tersimpan hanyalah deretan bit. Tanpa keterangan tambahan, komputer tidak punya cara untuk tahu apa arti deretan tersebut.

Ambil contoh satu byte (kelompok delapan bit) berisi pola 01000001. Kalau dibaca sebagai bilangan bulat, nilainya 65. Kalau dibaca sebagai karakter menurut tabel ASCII, hasilnya huruf "A". Pola bitnya identik, hanya cara membacanya yang berbeda. Tipe data dalam pemrograman berfungsi sebagai petunjuk cara membaca itu.

Cara kerja tipe data: satu byte 01000001 dibaca sebagai angka 65 bertipe integer atau huruf 'A' bertipe char.
Cara kerja tipe data: satu byte 01000001 dibaca sebagai angka 65 bertipe integer atau huruf 'A' bertipe char.

Petunjuk ini juga dipakai compiler atau interpreter (program yang menerjemahkan kode Anda menjadi instruksi mesin) untuk mencegah kesalahan. Saat Anda mencoba membagi sebuah teks dengan angka, bahasa pemrograman bisa langsung menolak, karena operasi itu tidak ada dalam kontrak tipe string. Kesalahan tertangkap sebelum sempat merusak data.

Dari sini terlihat tiga manfaat tipe data yang Anda rasakan langsung saat menulis program:

  1. Memori terpakai secara efisien: komputer menyiapkan ruang sesuai kebutuhan. Nilai boolean tidak perlu diberi ruang sebesar angka 64-bit.
  2. Kesalahan tertangkap lebih awal: operasi yang tidak masuk akal, seperti mengalikan nama pelanggan dengan tanggal, ditolak sebelum menghasilkan data kacau.
  3. Kode lebih mudah dipahami: variabel bertipe boolean bernama sudah_bayar langsung memberi tahu pembaca kode bahwa isinya hanya ya atau tidak.

Macam-Macam Tipe Data Primitif

Tipe data primitif adalah tipe dasar yang disediakan langsung oleh bahasa pemrograman dan tidak bisa dipecah lagi menjadi bagian yang lebih kecil. Hampir semua bahasa memiliki lima jenis tipe data berikut, meski namanya bisa sedikit berbeda.

Untuk memudahkan, macam-macam tipe data primitif biasanya dikelompokkan menjadi tiga. Tabel berikut merangkum kelima tipe data dan contohnya:

KelompokTipeContoh nilai
Numerikinteger25, -3
Numerikfloat, double3.14, -0.5
Tekschar'A'
Teksstring"Halo"
Logikabooleantrue, false

Tipe data numerik dipakai untuk semua nilai yang akan dihitung. Tipe teks menampung huruf, angka yang tidak dihitung, dan simbol. Tipe logika hanya menjawab satu pertanyaan: benar atau salah.

Macam-macam tipe data: primitif (numerik, teks, logika) dan komposit (array, struct, object, enum).
Macam-macam tipe data: primitif (numerik, teks, logika) dan komposit (array, struct, object, enum).

Integer: Bilangan Bulat dengan Batas Atas

Apa itu integer? Tipe data integer menyimpan bilangan bulat, positif maupun negatif, tanpa angka di belakang koma. Di banyak bahasa, int adalah nama singkat tipe ini. Contohnya umur, jumlah stok, atau nomor urut. Karena tidak perlu menyimpan pecahan, operasi integer cepat dan hasilnya selalu tepat.

Namun, setiap integer punya batas. Java, misalnya, menyediakan empat ukuran:

TipeUkuranRentang
byte8-bit−128 s.d. 127
short16-bit−32.768 s.d. 32.767
int32-bit±2,1 miliar
long64-bit±9,2 × 10¹⁸

Rentang lengkap int 32-bit adalah −2.147.483.648 sampai 2.147.483.647. Angka terakhir ini perlu Anda ingat, karena akan muncul lagi di pembahasan kasus nyata. Ukuran di tabel berlaku tetap di Java, tetapi tidak di semua bahasa. Di C dan C++, standar hanya menjamin int minimal 16-bit. Pada komputer 32-bit dan 64-bit modern, ukurannya hampir selalu 32-bit.

Batas tipe data integer: byte 127, short 32.767, int 2.147.483.647, dan long sekitar 9,2 × 10¹⁸.
Batas tipe data integer: byte 127, short 32.767, int 2.147.483.647, dan long sekitar 9,2 × 10¹⁸.

Python mengambil jalan berbeda. Integer Python tidak punya batas atas; angkanya bisa sebesar apa pun selama memori masih cukup. Kemudahan ini dibayar dengan kecepatan hitung yang lebih lambat dibanding integer berukuran tetap.

Float dan Double: Bilangan Pecahan yang Tidak Selalu Tepat

Tipe data float dan tipe data double sama-sama menyimpan bilangan pecahan, seperti suhu 36,5 atau koordinat peta. Keduanya mengikuti standar IEEE 754 (aturan internasional cara menyimpan bilangan pecahan dalam bentuk biner). Float memakai 32-bit dengan ketelitian sekitar 6–7 digit desimal. Double memakai 64-bit dengan ketelitian sekitar 15–17 digit.

Ada satu sifat penting yang sering mengejutkan pemula. Coba jalankan kode ini:

Python
print(0.1 + 0.2)         # 0.30000000000000004
print(0.1 + 0.2 == 0.3)  # False

Ini bukan kesalahan Python. Pecahan 0,1 dalam sistem biner menjadi deretan angka berulang tanpa ujung, mirip 1/3 yang menjadi 0,3333... dalam desimal. Komputer terpaksa membulatkannya, dan selisih pembulatan itu muncul saat dua nilai dijumlahkan.

Tipe data float tidak selalu tepat: 0,1 berulang tanpa ujung di biner, sehingga 0.1 + 0.2 menjadi 0.30000000000000004.
Tipe data float tidak selalu tepat: 0,1 berulang tanpa ujung di biner, sehingga 0.1 + 0.2 menjadi 0.30000000000000004.

Karena sifat ini, dokumentasi resmi Java menegaskan float dan double tidak boleh dipakai untuk nilai yang harus presisi, seperti uang. Gunakan BigDecimal di Java, modul decimal di Python, atau DECIMAL di database.

Char: Satu Karakter

Tipe data char menampung tepat satu karakter: sebuah huruf, digit, atau simbol. Di Java, C, dan C++, nilai char ditulis dengan tanda petik tunggal, misalnya 'A' atau '7'.

Di balik layar, char sebenarnya disimpan sebagai angka kode. Huruf "A" adalah kode 65, sesuai contoh pola 01000001 di atas. Char di C umumnya memakai 8-bit, cukup untuk tabel ASCII. Char di Java memakai 16-bit (nilai 0 sampai 65.535) supaya bisa menampung karakter Unicode (standar pengodean yang mencakup huruf dari hampir semua bahasa di dunia).

Python dan JavaScript tidak punya tipe char terpisah. Satu huruf di kedua bahasa itu dianggap sebagai string yang panjangnya satu.

Boolean: Hanya Benar atau Salah

Tipe data boolean hanya mengenal dua nilai: benar (true) dan salah (false). Namanya diambil dari George Boole, matematikawan yang merumuskan aljabar logika. Penulisannya berbeda di tiap bahasa: Boolean di Pascal, boolean di Java, bool di C++ dan Python.

Boolean adalah bahan bakar percabangan. Setiap kali program memutuskan "kalau saldo cukup, proses pembayaran", keputusan itu bergantung pada nilai boolean hasil perbandingan.

Hal yang perlu diperhatikan, beberapa bahasa memperlakukan nilai lain seolah-olah boolean. Di Python, angka 0, teks kosong "", daftar kosong [], dan None dianggap salah. Sebaliknya, teks "0" justru dianggap benar karena tidak kosong. Perbedaan kecil ini sering menjadi sumber bug di kode pemula.

String: Deretan Karakter

Tipe data string menampung teks, yaitu deretan karakter yang bisa berisi huruf, angka, spasi, dan simbol. Nama, alamat email, dan isi pesan semuanya disimpan sebagai string. Nilainya ditulis di antara tanda petik, misalnya "indowebsite.co.id".

Status string berbeda di tiap bahasa. JavaScript menggolongkannya sebagai tipe primitif, sedangkan Java memperlakukannya sebagai objek bawaan dari kelas String. Di Java dan Python, string juga bersifat immutable (tidak bisa diubah setelah dibuat). Operasi seperti mengganti huruf sebenarnya membuat string baru, bukan menyunting string lama.

Untuk manipulasi teks, seperti memotong, mencari kata, atau mengubah huruf besar-kecil, tipe yang dipakai adalah string beserta fungsi bawaannya.

Tipe Data Komposit: Wadah untuk Banyak Nilai

Tipe primitif hanya menampung satu nilai. Untuk data yang lebih kompleks, bahasa pemrograman menyediakan tipe data komposit, yaitu tipe yang dibangun dari gabungan beberapa nilai.

  1. Array: deretan nilai bertipe sama yang diakses lewat nomor urut. Nomor urut itu, atau indeks, selalu berupa integer. Tipe data array ini kami bahas lengkap di artikel pengertian dan cara kerja array.
  2. Struct atau record: satu wadah berisi beberapa nilai berbeda tipe, misalnya nama (string), umur (integer), dan status aktif (boolean) milik satu pelanggan.
  3. Object atau dictionary: pasangan kunci dan nilai, seperti {"nama": "Rina", "umur": 21}.
  4. Enum: daftar nilai tetap yang diberi nama, misalnya status pesanan DIPROSES, DIKIRIM, SELESAI.

Tipe komposit menjadi bahan dasar struktur data, yang mengatur bagaimana banyak nilai disusun dan diolah secara efisien.

Tipe Data Python, JavaScript, Java, dan C++

Konsep tipe data sama di semua bahasa, tetapi nama dan pembagiannya berbeda. Tabel berikut menyandingkan tipe data Python, JavaScript, Java, dan C++, empat bahasa yang paling sering dipelajari pemula:

KonsepPythonJSJavaC++
Bulatintnumberintint
Pecahanfloatnumberdoubledouble
Karakterstrstringcharchar
TeksstrstringStringstring
Logikaboolbooleanbooleanbool

Perhatikan kolom JavaScript. Tipe data JavaScript tidak membedakan bilangan bulat dan pecahan; keduanya bertipe number dengan format 64-bit. Akibatnya, bilangan bulat di atas 9.007.199.254.740.991 tidak lagi dijamin tersimpan dengan tepat. Untuk angka sebesar itu, JavaScript menyediakan tipe BigInt.

Anda bisa mengecek tipe data sebuah nilai secara langsung. Di Python, gunakan fungsi type():

Python
print(type(25))      # <class 'int'>
print(type(2.5))     # <class 'float'>
print(type("A"))     # <class 'str'>
print(type(True))    # <class 'bool'>

Di JavaScript, gunakan operator typeof:

JavaScript
typeof 25      // "number"
typeof "A"     // "string"
typeof true    // "boolean"
typeof null    // "object"

Baris terakhir sering membingungkan. Hasil "object" untuk null adalah kekeliruan desain sejak versi pertama JavaScript, dan dipertahankan sampai sekarang supaya kode lama tidak rusak.

Variabel dan Tipe Data: Siapa yang Memeriksa?

Variabel dan tipe data sering disebut bersamaan, tetapi keduanya berbeda. Variabel adalah wadah bernama untuk menyimpan nilai, misalnya umur. Tipe data adalah jenis isi wadah itu, misalnya integer. Satu variabel bisa berganti isi, tetapi pada banyak bahasa jenis isinya dikunci sejak awal.

Bahasa pemrograman terbagi dua dalam hal memeriksa tipe data:

  1. Static typing: tipe setiap variabel ditentukan saat kode ditulis dan diperiksa sebelum program berjalan. Java, C++, dan Go masuk kelompok ini. Kalau Anda memasukkan teks ke variabel integer, program gagal dikompilasi.
  2. Dynamic typing: tipe ditentukan otomatis dari nilai yang diisikan, dan baru diperiksa saat program berjalan. Python dan JavaScript masuk kelompok ini. Anda cukup menulis umur = 25 tanpa menyebut tipenya.

Selain itu, ada perbedaan seberapa ketat bahasa menolak campuran tipe. Python akan menolak 42 + "1" dengan pesan error. JavaScript justru diam-diam mengubah angka menjadi teks, lalu menghasilkan "421". Sifat ini disebut weak typing, dan menjadi salah satu alasan lahirnya TypeScript, yang menambahkan pemeriksaan tipe statis di atas JavaScript.

Bagi pemula, bahasa dinamis terasa lebih ringan di awal. Bahasa statis lebih cerewet, tetapi menangkap lebih banyak kesalahan sebelum program sampai ke pengguna.

Variabel dan tipe data: Java menolak teks di variabel int saat kompilasi, Python baru memunculkan TypeError saat berjalan.
Variabel dan tipe data: Java menolak teks di variabel int saat kompilasi, Python baru memunculkan TypeError saat berjalan.

Konversi Tipe Data

Data dari luar program, seperti isian formulir atau isi file teks, hampir selalu datang dalam bentuk string. Sebelum bisa dihitung, nilai itu harus diubah tipenya lebih dulu. Proses ini disebut konversi tipe data atau casting.

Di Python, konversi dilakukan dengan memanggil nama tipenya sebagai fungsi:

Python
umur = int("25")      # string -> integer
print(umur + 5)       # 30
print(str(25) + "5")  # 255
print(int(3.9))       # 3, pecahan dibuang

Perhatikan baris terakhir. Mengubah float menjadi integer tidak membulatkan, melainkan membuang angka di belakang koma. Konversi juga bisa gagal: int("dua puluh") menghasilkan error ValueError, karena teks itu tidak berisi angka. Setiap konversi dari tipe besar ke tipe kecil berisiko kehilangan informasi, dan risiko itu pula yang menjadi awal salah satu kasus di bagian berikutnya.

Tipe Data di Luar Kode: Database, Excel, dan JSON

Tipe data tidak hanya hidup di dalam kode program. Setiap kolom di database, setiap sel di spreadsheet, dan setiap nilai di file konfigurasi juga punya tipe.

Tipe Data di MySQL

Tipe data MySQL wajib ditentukan untuk setiap kolom saat tabel MySQL dibuat. Tipe data numerik pada MySQL tersedia dalam beberapa ukuran:

TipeUkuranRentang UNSIGNED
TINYINT1 byte0 s.d. 255
SMALLINT2 byte0 s.d. 65.535
INT4 byte0 s.d. 4,29 miliar
BIGINT8 byte0 s.d. 1,8 × 10¹⁹

Kata kunci UNSIGNED membuang nilai negatif sehingga batas positifnya menjadi dua kali lipat. Untuk teks, MySQL menyediakan VARCHAR dan TEXT. Untuk tanggal, tersedia DATE dan DATETIME. Untuk uang, gunakan DECIMAL, tipe bilangan pecahan yang disimpan secara pasti hingga 65 digit.

Ada dua hal yang sering ditanyakan. Pertama, tipe data boolean di MySQL sebenarnya hanyalah nama lain dari TINYINT(1); nilai TRUE disimpan sebagai 1 dan FALSE sebagai 0. Kedua, gambar bisa disimpan dengan tipe BLOB (Binary Large Object). Namun, praktik yang lebih umum adalah menyimpan berkas gambar di disk, lalu mencatat lokasinya di kolom VARCHAR. Cara ini membuat database tetap ramping dan mudah di-backup.

Tipe Data di Microsoft Excel

Menurut dokumentasi Microsoft, setiap isi sel Excel pada dasarnya hanya dievaluasi menjadi empat tipe nilai: angka, teks, logika (TRUE/FALSE), dan error (seperti #DIV/0!).

Pilihan di menu Format Cells, seperti Number, Currency, Date, Percentage, dan Text, sering disebut sebagai jenis tipe data Excel. Sebenarnya pilihan itu hanya mengatur tampilan, bukan tipe penyimpanannya. Tanggal, misalnya, disimpan Excel sebagai angka seri: 1 Januari 1900 adalah angka 1, dan setiap hari berikutnya bertambah satu. Karena itulah tanggal bisa dikurangi untuk menghitung selisih hari.

Kalau Anda mengetik nomor HP 0812... dan Excel menghapus angka nol di depannya, itu tanda Excel membacanya sebagai angka. Awali dengan tanda petik tunggal ('0812...) agar Excel menyimpannya sebagai teks.

Tipe Data di JSON

Format pertukaran data JSON hanya mengenal enam tipe nilai: string, number, boolean, null, object, dan array. Sama seperti JavaScript, JSON tidak membedakan bilangan bulat dan pecahan.

Saat Tipe Data Salah Pilih: Tiga Kasus Nyata

Memilih tipe data terdengar seperti keputusan kecil. Tiga kejadian berikut menunjukkan sebaliknya.

  1. Roket Ariane 5 (1996): Pada 4 Juni 1996, roket Ariane 5 hancur 37 detik setelah lepas landas. Penyebabnya, sebuah nilai kecepatan horizontal bertipe float 64-bit dikonversi ke integer 16-bit. Nilainya terlalu besar untuk integer 16-bit, sehingga terjadi overflow (nilai melampaui batas tipe datanya). Kode tersebut diwarisi dari Ariane 4 yang akselerasinya jauh lebih rendah. Kerugiannya ditaksir lebih dari US$370 juta.
  2. Penghitung tayangan "Gangnam Style" (2014): YouTube menyimpan jumlah tayangan video dalam integer 32-bit bertanda. Pada Desember 2014, video PSY melewati 2.147.483.647 tayangan, tepat di batas atas tipe tersebut. YouTube kemudian mengganti penghitungnya dengan integer 64-bit.
  3. Masalah tahun 2038: Banyak sistem lama menyimpan waktu sebagai jumlah detik sejak 1 Januari 1970, dalam integer 32-bit bertanda. Hitungan itu mencapai batasnya pada 19 Januari 2038 pukul 03:14:07 UTC. Satu detik kemudian, nilainya berbalik menjadi negatif dan terbaca sebagai 13 Desember 1901. Sistem modern sudah beralih ke integer 64-bit, tetapi perangkat tertanam yang jarang diperbarui masih berisiko.

Ketiga kasus punya pola yang sama: tipe data dipilih berdasarkan kondisi saat itu, lalu data tumbuh melampaui perkiraan. Tipe yang terlalu kecil terasa hemat di awal, tetapi mahal diperbaiki belakangan.

Tiga kasus overflow tipe data: roket Ariane 5 (1996), penghitung Gangnam Style (2014), dan Unix time tahun 2038.
Tiga kasus overflow tipe data: roket Ariane 5 (1996), penghitung Gangnam Style (2014), dan Unix time tahun 2038.

Di sisi lain, memilih tipe terbesar untuk semua hal juga bukan jawaban. Kolom BIGINT memakai 8 byte, sedangkan TINYINT hanya 1 byte. Pada tabel berisi 10 juta baris, selisih itu mencapai sekitar 70 MB untuk satu kolom saja, belum termasuk indeksnya. Pilihan terbaik adalah tipe terkecil yang masih aman untuk pertumbuhan data beberapa tahun ke depan.

Cara Memilih Tipe Data untuk Data Sehari-hari

Pertanyaan paling berguna saat memilih tipe data adalah: "Apa yang akan saya lakukan dengan nilai ini?" Tabel berikut merangkum pilihan untuk data sehari-hari, dengan contoh tipe MySQL:

DataTipeAlasan
UmurTINYINT UNSIGNED0–255 sudah cukup
Harga rupiahBIGINT / DECIMALHitungan pasti
Nomor HPVARCHAR(15)Ada nol dan "+62"
Kode posCHAR(5)Tidak dihitung
ID penggunaBIGINT UNSIGNEDAman untuk jutaan baris
Status aktifBOOLEANHanya ya/tidak
Tanggal lahirDATEBisa dihitung selisihnya

Rupiah jarang memakai sen, sehingga BIGINT sudah cukup dan lebih sederhana. Kalau aplikasi Anda perlu dua angka di belakang koma, misalnya untuk kurs mata uang asing, gunakan DECIMAL(15,2).

Aturan praktisnya: kalau sebuah nilai tidak akan pernah dijumlahkan atau dibandingkan besar-kecilnya, jangan simpan sebagai angka. Nomor HP, kode pos, dan NIK adalah teks yang kebetulan berisi digit.

Pertanyaan yang Sering Diajukan

Apa saja tipe data dasar dalam pemrograman?

Hampir semua bahasa memiliki lima tipe data dasar. Integer untuk bilangan bulat, float atau double untuk bilangan pecahan, char untuk satu karakter, string untuk teks, dan boolean untuk nilai benar/salah.

Terangkan nilai sebuah data dari tipe data integer

Nilai integer adalah bilangan bulat positif, negatif, atau nol tanpa angka desimal, misalnya 25, −7, atau 0. Rentangnya bergantung pada ukuran tipe. Integer 32-bit menampung −2.147.483.648 sampai 2.147.483.647.

Tipe data untuk bilangan bulat dan bilangan pecahan adalah?

Bilangan bulat memakai integer (int, long, short, byte). Bilangan pecahan memakai float atau double. Untuk uang, pakai tipe desimal pasti seperti DECIMAL atau BigDecimal.

Tipe data yang digunakan untuk menampung sebuah karakter adalah?

Char. Nilainya ditulis dengan tanda petik tunggal, misalnya 'A'. Python dan JavaScript tidak punya tipe char, sehingga satu karakter disimpan sebagai string berpanjang satu.

Tipe data apa yang dipakai untuk manipulasi string?

String itu sendiri. Setiap bahasa menyediakan fungsi bawaan untuk memotong, menyambung, mencari, dan mengganti isi string. Di C, yang tidak punya tipe string, teks disimpan sebagai array char.

Indeks array harus berupa tipe data apa?

Integer, karena indeks menyatakan posisi elemen yang dihitung dari 0 atau 1. Angka pecahan seperti 2,5 tidak bisa menunjuk posisi apa pun.

Apa kegunaan tipe data numerik?

Tipe numerik dipakai untuk semua nilai yang akan dihitung, dibandingkan, atau diurutkan secara matematis. Contohnya harga, jumlah stok, nilai ujian, dan suhu.

Kesimpulan

Tipe data adalah kontrak yang menentukan rentang nilai, ukuran memori, dan operasi yang boleh dilakukan terhadap sebuah nilai. Lima tipe primitif, yaitu integer, float, char, boolean, dan string, menjadi dasar semua data yang Anda olah, baik di kode program, database, maupun spreadsheet.

Saat memilih tipe, tanyakan apa yang akan dilakukan pada nilai tersebut dan seberapa besar ia bisa tumbuh. Pilih tipe terkecil yang tetap aman, jangan pakai float untuk uang, dan simpan nomor yang tidak dihitung sebagai teks. Untuk langkah berikutnya, Anda bisa mempelajari cara menyusun logika program lewat pengertian algoritma.

Semoga artikel ini membantu.