|
1.6 |
Struktur Data dan Modular |
|
|
Penyimpanan Data |
- Data perlu disimpan dalam pemboleh ubah supaya boleh diproses.
- Arahan kod komputer dan pemboleh ubah disimpan dalam fail kod sumber (source code).
- Kod sumber seharusnya mudah ditulis, dibaca dan dikemaskini.
- Gunakan struktur yang lebih sistematik untuk pemboleh ubah dan arahan pemboleh ubah boleh dipecahkan kepada “kumpulan-kumpulan kecil” yang dipanggil tatasusunan.
- Arahan-arahan komputer juga boleh dipecahkan kepada beberapa “kumpulan kecil” yang dipanggil fungsi.
|
|
|
1.6.1 Struktur Tatasusunan (array) Satu Dimensi |
Perbezaan antara Algoritma dengan Struktur Data |
- Algoritma ialah kaedah melakukan proses tertentu terhadap data seperti menyusun (sorting), mencari (searching), mencari nombor prima dan memproses nombor rawak dan grafik.
- Struktur data ialah 1 kaedah tertentu untuk menyimpan secara tersusun data-data dalam ingatan supaya senang dicapai untuk diproses bagi menghasilkan maklumat mengikut kehendak pengguna.
- Data boleh disusun dalam bentuk tatasusunan (array) dan vektor (vector), senarai pautan (linked lists), timbunan (stack) dan giliran (queue).
- Tatasusunan ialah pemboleh ubah yang membolehkan koleksi beberapa nilai data (elemen) dalam satu-satu masa dengan menyimpan setiap elemen dalam ruang memori berindeks.
- Pemboleh ubah ialah slot memori yang telah dikhaskan untuk menyimpan data.
- Pemboleh ubah mudah cuma menyimpan 1 nilai data dalam satu-satu masa.
- Komputer mempunyai tatasusunan yang sangat besar.
- Ini kerana ia merupakan cara terbaik untuk memproses data yang sangat besar terdapat dalam komputer.
|
Pengisytiharan Tatasusunan |
- Tatasusunan ialah koleksi 1 atau lebih data yang dipanggil elemen.
- Setiap tatasusunan mempunyai jenis data tertentu.
- Contoh:
int , double dan string .
|
- Pengisytiharan tatasusunan menyediakan ruang memori yang masih kosong.
- Nilai perlu diberikan melalui proses pengumpukan.
- Selepas isytihar, nilai diumpuk dengan memanggil elemen-elemen tatasusunan satu-persatu.
|
Pengumpukan Nilai Awal Tatasusunan |
- Umpukan dibuat ketika melakukan pengisytiharan.
- Saiz dalam tatasusunan tidak perlu dimasukkan dalam tanda [ ].
- Saiz tatasusunan ditentukan secara automatik berdasarkan bilangan data dalam kurungan {}.
- Semua data yang hendak disimpan ialah satu jenis yang sama.
|
Perbezaan Struktur Memori antara Pemboleh Ubah Mudah dengan Memori Tatasusunan |
- Kelas tatasusunan terdiri daripada pelbagai static methods yang bertujuan untuk mencari tatasusunan, membandingkan tatasusunan dan mengisi elemen tatasusunan.
|
Atur Cara yang Menggunakan Tatasusunan |
- Elemen boleh dipanggil menggunakan indeks tatasusunan.
|
|
|
1.6.2 Menggunakan Subatur Cara, Memahami Konsep Menghantar Parameter ke Subatur Cara dan Mengembalikan Data |
- Fail kod komputer yang panjang adalah sukar ditulis, dibaca, diulang kaji atau dikemas kini.
- Baris-baris kod komputer yang berkait boleh dihimpunkan dalam 1 modul.
- Setiap modul adalah lebih pendek dan mengkhusus kepada tujuan tertentu.
- Modul-modul ini dipanggil subatur cara.
- Subatur cara ialah struktur untuk himpunan kod komputer.
- Antara senarai penyataan yang terdapat dalam suatu subatur cara:
- Menerima input data.
- Memproses data.
- Memaparkan maklumat.
- Kelebihan menggunakan struktur modul atau subatur cara:
- Sebuah subatur cara mempunyai kod kepala dan badan.
- Pengepala subatur cara mempunyai komponen-komponen yang berikut:
- Kata kunci khas.
- Jenis data pulangan.
- Nama subatur cara.
- Bekas parameter.
- Badan subatur cara mengandungi kod komputer yang bermula dengan simbol kurung dakap pembuka “{“ dan diakhiri kurung dakap penutup “}”.
- Penyataan komputer adalah sebaris kod komputer yang diakhiri simbol koma bertindih “;”.
- Penyataan-penyataan komputer ialah algoritma komputer yang telah diterjemahkan kepada bahasa pengaturcaraan.
- Penyataan-penyataan ini akan dilaksanakan oleh komputer dari baris awal hingga akhir dalam turutan atas dan bawah (top-down).
|
- Sejenis subatur cara yang istimewa kerana:
- Subatur cara wajib dengan nama
main() .
- Boleh wujud tanpa subatur cara yang lain.
- Mengandungi baris pertama penyataan yang mesti dilaksanakan komputer.
- Mengandungi baris terakhir penyataan yang mesti dilaksanakan komputer.
- Subatur cara
main() mempunyai sintaks yang serupa dengan sintaks umum subatur cara tetapi dengan reka bentuk kepala yang unik.
- Pengepala subatur cara
main() jarang diubah.
- Kekalkan sintaks untuk mengelakkan ralat sintaks.
- Badan subatur cara
main() mengandungi kod-kod komputer.
- Penyataan-penyataan dalam subatur cara
main() akan menentukan sifat aksara.
- Seharusnya ditulis berasaskan algoritma yang telah diuji.
|
- Pengatur cara boleh menulis subatur cara yang lain yang disebut sebagai pentakrifan subatur cara.
- Serupa dengan subatur cara
main() tetapi lebih ringkas.
- Dalam fail kod sumber, subatur cara baharu terletak di luar subatur cara
main() .
- Subatur cara lain juga mesti berada dalam badan class.
|
Memanggil Subatur Cara main() |
- Tujuannya supaya kod penyataan-penyataan dalam subatur cara lain turut dilaksanakan.
- Hubungan 2 subatur cara adalah pemanggil dan dipanggil.
- Pemanggil memanggil nama subatur cara dipanggil dalam badan subatur cara pemanggil.
- Pemanggil ialah pentakrifan atau pendefinisian subatur cara perlu dibuat sebelum subatur cara dapat dipanggil daripada
main() ataupun mana-mana subatur cara lain.
|
Memanggil Subatur Cara daripada main() |
- Kebiasaannya, subatur cara
main() menggunakan subatur cara-subatur cara lain.
- Apabila
main() memerlukan bantuan subatur cara lain untuk melakukan proses tertentu, kawalan dipindahkan kepada subatur cara tersebut.
- Setelah subatur cara tersebut selesai, kawalan dikembalikan kepada subatur cara
main() .
- Apabila memanggil subatur cara yang memanggil 1 atau lebih argumen, pastikan nilai-nilai yang sesuai disediakan.
- Ini kerana, argumen sering diperlukan dan subatur cara pemanggil mesti mempunyai nilai betul apabila memanggil suatu subatur cara.
|
- Parameter atau argumen ialah pemboleh ubah yang membolehkan subatur cara menerima nilai daripada pemanggil.
- Subatur cara-subatur cara masih dapat berkongsi nilai-nilai pemboleh ubah melalui parameter.
- Ungkapan parameter rasmi (formal parameter) merujuk kepada parameter bagi subatur cara.
- Ungkapan parameter sebenar (actual parameter) merujuk pemboleh ubah di dalam subatur cara pemanggil.
- Jika parameter diperlukan, parameter perlu diisytiharkan dalam kurungan bekas parameter dalam subatur cara.
- Pengisytiharan parameter adalah seperti pengisytiharan pemboleh ubah.
- Panggilan subatur cara mestilah menggunakan nilai-nilai yang serasi dengan pengisytiharan parameter dalam subatur cara.
- Susunan nilai adalah penting.
- Nama yang diberikan pada parameter mestilah nama yang unik mengikut parameter tersebut.
- Nama parameter tidak boleh sama dengan nama parameter yang lain dalam subatur yang sama dan nama pemboleh ubah setempat di dalam subatur tersebut.
|
- Semua subatur cara akan mengembalikan kawalan kepada pemanggil.
- Sesetengah subatur cara bukan sahaja mengembalikan kawalan tetapi juga data.
- Bagi yang memulangkan kawalan sahaja, kata kunci
void digunakan sewaktu pengisytiharan subatur cara.
- Sekiranya subatur cara mengembalikan data, baris akhir dalam badan subatur cara menpunyai penyataan return dan data yang ingin dipulangkan kepada pemanggil.
- Nama subatur cara tidak mempunyai
void sebagai jenis data pulangan.
- Jenis data yang bersesuaian dengan data dipulang diisytiharkan dalam sintaks.
- Data boleh dipulangkan sebagai hasil ungkapan, nilai dalam pemboleh ubah, nilai pemalar ataupun nilai data itu sendiri.
- Setiap subatur cara cuma boleh mengembalikan 1 jenis data sahaja.
- Nama subatur cara yang memulangkan data biasanya diberikan prefix get.
- Terdapat 2 perkara penting yang perlu diberikan perhatian:
- Jenis data pulangan mestilah bersesuaian dengan jenis data yang ditentukan oleh subatur cara.
- Parameter mestilah mengikut susunan dan diterima oleh subatur cara dengan susunan yang sama.
|
|
|
1.6.3 Perbezaan Antara Fungsi (Function) dan Prosedur (Procedure) Pada Subatur Cara |
- Terdapat dua jenis subatur cara:
- Perbandingan antara prosedur dan fungsi adalah seperti yang ditunjukkan di bawah:
Aspek Perbandingan |
Prosedur |
Fungsi |
Persamaan |
Mengembalikan kawalan. |
Perbezaan |
Tidak mengembalikan data. Jenis data pulangan dalam sintaks adalah void . Badan tidak diakhiri dengan penyataan return . |
Mengembalikan data. Jenis data pulangan dalam sintaks adalah int , double , char , string , tatasusunan atau objek Java. Badan diakhiri dengan penyataan return diikuti data yang dipulangkan. |
Sintaks definisi |
static void namaProsedur([jenisData namaParameter]){} |
static jenisData namaFungsi([jenisData namaParameter]){} |
Contoh definisi |
static void cariJumlah(int x, int y)
{
int jawapan = x + y;
System.out.print(jawapan);
}
|
static int cariJumlah(int x, int y)
{
int jawapan = x + y;
return jawapan;
}
|
Sintaks panggilan |
namaProsedur([jenisData namaParameter]); |
jenisData pembolehUbah; pembolehUbah = namaFungsi([jenisData namaParameter]); |
Contoh panggilan |
cariJumlah(5, 8); |
int jumlah = cariJumlah(5, 8); |
- Sintaks fungsi adalah serupa dengan prosedur.
- Badan fungsi adalah seperti prosedur kecuali di baris akhirnya terdapat penyataan return untuk memulangkan data.
- Data boleh dipulangkan sebagai hasil ungkapan, nilai dalam pemboleh ubah, nilai pemalar ataupun nilai data itu sendiri.
- Petunjuk yang digunakan untuk memilih fungsi:
- Data yang telah diproses perlu disimpan dalam badan pemanggil.
- Data yang telah diproses akan digunakan lagi oleh pemanggil.
- Subatur cara digunakan untuk meminta input.
- Subatur cara tidak memaparkan hasil atau menyimpan hasil di mana-mana.
- Petunjuk yang digunakan untuk memilih prosedur:
- Subatur cara digunakan untuk membuat paparan sahaja.
- Hasil proses digunakan dalam subatur cara sekali sahaja dan tidak diperlukan lagi.
|
|
|
1.6.4 Menulis Atur Cara Bermodular yang Mengandungi Struktur Tatasusunan |
- Struktur Tatasusunan dalam Atur Cara Bermodular:
- Tatasusunan digunakan sebagai parameter untuk bilangan data yang banyak.
- Pastikan subatur cara mampu menerima parameter tatasusunan.
- Pengisytiharan dilakukan kepada kepala subatur cara.
- Struktur kawalan ulangan for diperlukan untuk mengumpukan atau mengakses nilai elemen-elemen dalam tatasusunan.
- Elemen-elemen dalam satu-satu tatasusunan boleh diubah terus dari mana-mana subatur cara.
- Oleh itu, pemboleh ubah tatasusunan tidak perlu dikembalikan kepada pemanggil.
|
|