1.3 Pemboleh Ubah, Pemalar dan Jenis Data
Dalam pengaturcaraan, pemboleh ubah dan pemalar bertindak sebagai ruang ingatan untuk menyimpan data yang diproses oleh komputer. Sebelum digunakan dalam bahasa Java, pemboleh ubah dan pemalar perlu diisytiharkan terlebih dahulu bersama jenis data yang bersesuaian bagi mengoptimumkan ruang ingatan komputer.
Objektif Pembelajaran
- Menjelaskan hubungan antara jenis data, saiz data dan kapasiti ingatan komputer.
- Memilih dan menggunakan jenis data yang bersesuaian iaitu Integer (
int), nombor nyata (float,double), aksara (char), rentetan (String) dan Boolean (boolean). - Membezakan pemboleh ubah sejagat (global) dan setempat (local).
- Mengisytiharkan, memulakan dan menetapkan nilai pada pemboleh ubah dan pemalar.
- Menggunakan penyataan umpukan dan penyataan aritmetik.
- Menulis atur cara untuk memasukkan input dari papan kekunci dan memaparkan output.
Hierarki Pengelasan Jenis Data dalam Java
Jenis data dibahagikan kepada data primitif dan data bukan primitif. Setiap jenis data mempunyai saiz simpanan yang berbeza dalam ingatan komputer.
Carta Pokok Jenis Data
Data primitif ialah data asas yang tidak boleh dipermudahkan lagi, manakala data bukan primitif ialah data berstruktur yang terbentuk daripada gabungan nilai asas.
Penerangan Ringkas
Konsep pemboleh ubah, pemalar, jenis data, skop pemboleh ubah serta operasi input dan output dalam Java.
Apakah itu pemboleh ubah?
Pemboleh ubah ialah ruang simpanan sementara untuk nombor, teks dan objek. Nilainya sentiasa berubah semasa berlakunya pemprosesan dan tidak akan memegang sebarang nilai selepas program tamat.
Nama pemboleh ubah digunakan sebagai rujukan nilai dalam memori komputer dan kekal sama walaupun nilainya bertukar. Contohnya, kosKasut boleh memegang RM56.00 kemudian berubah kepada RM34.00.
Apakah itu pemalar?
Pemalar ialah nilai yang tetap dan tidak akan berubah sewaktu proses pengaturcaraan dilaksanakan. Contohnya, nilai Pi \(\pi = 3.142\), bilangan jam dalam sehari = 24, dan bilangan hari dalam seminggu = 7.
Dalam Java, pemalar diisytiharkan menggunakan kata kunci final.
Pencam (Identifier)
Pencam ialah nama yang digunakan untuk mewakili nama objek, pemboleh ubah, pemalar, prosedur dan fungsi.
Kategori dan Jenis Data serta Kapasiti Ingatan Komputer
Data dibahagikan kepada dua kelas: data primitif dan data bukan primitif.
| Kategori | Jenis data | Penerangan | Saiz |
|---|---|---|---|
| Boolean | boolean |
Memegang nilai true atau false |
1 bit |
| Character | char |
Satu karakter sahaja, diapit tanda petik tunggal seperti '@' |
2 bait |
| Integral / Integer | byte, short, int, long |
int minimum -2147483648 hingga maksimum 2147483647 |
int: 4 bait |
| Nombor nyata | float, double |
float minimum -3.4e38 hingga maksimum 3.4e38; double julat sehingga \(\pm 1.79769313486231\text{e}308\) |
float: 4 bait, double: 8 bait |
Data bukan primitif
Data bukan primitif ialah data yang nilainya terdiri daripada beberapa gabungan nilai asas. Contohnya String bermula dari 0 hingga tiada had aksara dengan saiz lebih daripada 10 bait, dan Array.
Pemboleh Ubah Sejagat dan Setempat
Pemboleh ubah sejagat (Global)
Pemboleh ubah sejagat diisytiharkan di luar mana-mana fungsi, menggunakan kata kunci static dalam kelas Java.
Ia boleh diakses di mana-mana fungsi, berfungsi sepanjang program dan wujud sehingga atur cara tamat.
Pemboleh ubah setempat (Local)
Pemboleh ubah setempat diisytiharkan di dalam sesebuah fungsi atau subatur cara tertentu.
Ia hanya boleh diakses dalam fungsi tempat ia diisytiharkan sahaja. Ruang memorinya dimusnahkan sebaik sahaja fungsi tersebut tamat. Jika nama pemboleh ubah setempat sama dengan nama pemboleh ubah sejagat, atur cara akan merujuk pemboleh ubah yang terdekat iaitu pemboleh ubah setempat.
Sintaks Pengisytiharan, Permulaan dan Penetapan Nilai
JenisData NamaPembolehUbah;
int x;
String nama;
double s, t, u;
boolean v;
char w;
float y;
NamaPembolehUbah = nilai;
x = 10;
nama = "hardeep";
w = 'y';
y = 342.234f;
JenisData NamaPembolehUbah = nilai;
int x = 10;
double s = 0.123, t = 1.1, u = s+t;
final double pi = 3.142;
final int BILANGAN_JAM_DALAM_SEHARI = 24;
Tiga tatatanda komen dalam Java
1. Satu baris: // Komen
2. Pelbagai baris: /* Komen */
3. Dokumentasi/Javadoc: /** Komen */
Penyataan Umpukan dan Penyataan Aritmetik
Penyataan umpukan menggunakan simbol sama dengan (=) untuk memberi nilai kepada pemboleh ubah.
x = "Hello";
p = 0.123;
p = q = r = 255;
Penyataan aritmetik melibatkan pengendali aritmetik utama:
| Pengendali | Operasi |
|---|---|
+ |
Tambah |
- |
Tolak |
* |
Darab |
/ |
Bahagi |
Keutamaan operasi dibaca dari kiri ke kanan, namun operasi darab dan bahagi diutamakan. Penggunaan simbol kurungan () diutamakan bagi mengawal urutan pengiraan, contohnya (30 - 5 + ((2 * 3) / 3)).
Memasukkan Input daripada Papan Kekunci dan Memaparkan Output
Untuk menerima input daripada pengguna, gunakan pustaka pengimbas import java.util.Scanner; dan cipta objek Scanner.
import java.util.Scanner;
Scanner input = new Scanner(System.in);
int umur = input.nextInt();
String nama = input.next();
System.out.println("Teks paparan " + pembolehUbah);
Kaedah input.nextInt() membaca data jenis int, manakala input.next() membaca data jenis perkataan atau rentetan (String). Output dipaparkan menggunakan System.out.println("Teks paparan " + pembolehUbah);.
Cuba Jawab Dulu
Cuba jawab sendiri dahulu, kemudian tekan butang untuk menyemak.
Apakah kata kunci yang mesti digunakan dalam pengaturcaraan Java untuk mengisytiharkan sesuatu nilai sebagai pemalar?
Kata kunci final.
Antara jenis data int, float, double dan char, jenis data manakah yang memerlukan peruntukan ruang kapasiti ingatan komputer sebanyak 8 bait?
Jenis data double.
Apakah perbezaan skop akses antara pemboleh ubah sejagat (global) dengan pemboleh ubah setempat (local)?
Pemboleh ubah sejagat boleh diakses di mana-mana fungsi dalam atur cara, manakala pemboleh ubah setempat hanya boleh diakses di dalam fungsi atau blok tempat ia diisytiharkan sahaja.
Kesalahan Biasa
- Menggunakan kata kunci
integerdan bukannya kata kunci ringkasintsemasa mengisytiharkan pemboleh ubah integer dalam kod Java. - Terlupa meletakkan huruf
fdi belakang nilai nombor perpuluhan semasa mengumpukkan nilai kepada pemboleh ubah jenisfloat. Contohnya menulis342.234;dan bukannya342.234f;. - Menggunakan tanda petik ganda dua (
" ") untuk nilai pemboleh ubah jenischar, sedangkancharmesti menggunakan tanda petik tunggal (' '). - Terlupa mengimport pakej pengimbas
import java.util.Scanner;atau terlupa menulis kata kuncinewsemasa mencipta objekScanner input = new Scanner(System.in);. - Menyimpan nilai purata atau hasil bahagi dalam pemboleh ubah jenis
charatauintyang menyebabkan berlakunya kehilangan digit perpuluhan atau ralat ketidakpadanan jenis data.
Salah Faham Konsep
Nama pemboleh ubah akan berubah apabila nilainya berubah.
Nama pemboleh ubah adalah kekal sebagai rujukan lokasi memori; hanya nilai kandungan di dalam ruang simpanan tersebut yang berubah semasa proses berlangsung.
Data jenis String tergolong dalam kumpulan jenis data primitif.
Menurut pengelasan buku teks, String ialah jenis data bukan primitif (data berstruktur) yang terbentuk daripada gabungan aksara-aksara asas.
Pemboleh ubah setempat boleh dipanggil atau digunakan di mana-mana bahagian dalam keseluruhan atur cara.
Pemboleh ubah setempat hanya wujud dan sah digunakan dalam blok atau fungsi tempat ia diisytiharkan, dan ruang memorinya dimusnahkan selepas fungsi itu tamat.
Ringkasan
- Pemboleh ubah ialah ruang simpanan sementara yang nilainya boleh berubah, manakala pemalar (
final) memegang nilai yang tetap sepanjang pelaksanaan atur cara. - Data dibahagikan kepada dua kategori: primitif (
boolean,char,byte,short,int,long,float,double) dan bukan primitif (String,Array). - Kapasiti ingatan bergantung kepada jenis data:
boolean(1 bit),char(2 bait),intdanfloat(4 bait),double(8 bait), sertaString(>10 bait). - Pemboleh ubah sejagat diisytiharkan di luar fungsi (menggunakan
static) dan boleh dicapai di seluruh program; pemboleh ubah setempat diisytiharkan di dalam fungsi dan hanya boleh dicapai dalam fungsi tersebut sahaja. - Penyataan umpukan menggunakan simbol
=untuk memberikan nilai, manakala penyataan aritmetik menggunakan pengendali+,-,*,/dengan keutamaan tanda kurungan(). - Pengambilan input daripada pengguna dilaksanakan dengan mengimport
java.util.Scannerdan menggunakan kaedah sepertinextInt()sertanext().
Aktiviti Ringkas
A. Kuiz Objektif
1 Antara jenis data berikut, yang manakah dikategorikan sebagai jenis data bukan primitif dalam pengaturcaraan?
2 Berapakah saiz kapasiti ingatan komputer yang diperuntukkan bagi pemboleh ubah jenis char dalam Java?
B. Isi Tempat Kosong
3 Kata kunci yang digunakan dalam Java untuk mengisytiharkan pemalar yang nilainya tidak berubah ialah .
4 Pemboleh ubah yang diisytiharkan di luar mana-mana fungsi dan boleh diakses di mana-mana fungsi dalam atur cara dikenali sebagai pemboleh ubah .
C. Padankan Jenis Data dengan Ciri atau Nilai
Seret jenis data ke ciri yang betul. Jika menggunakan telefon, tekan pilihan jawapan dahulu, kemudian tekan kotak padanan.
true atau false dengan saiz 1 bit