Bab 3

22
1 Bab 3 Prinsip- prinsip Spesifikasi Rekabentuk

description

Bab 3. Prinsip-prinsip Spesifikasi Rekabentuk. 3.1.    Peniskalaan (Abstraction). - PowerPoint PPT Presentation

Transcript of Bab 3

Page 1: Bab 3

1

Bab 3

Prinsip-prinsip Spesifikasi Rekabentuk

Page 2: Bab 3

2

3.1.    Peniskalaan (Abstraction) Peniskalaan adalah suatu perwakilan kepada suatu objek yang

mengecualikan (tidak menghiraukan) elemen-elemen yang dianggap sebagai perincian yang tidak relevan kepada objek tersebut penggunaan objek ini lebih mudah s

Peniskalaan berprosedur membolehan pengaturcara menumpukan perhatian kepada satu bahagian sahaja daripada suatu aturcara pada suatu masa

Peniskalaan bermodul ditakrifkan sebagai satu koleksi pengisytiharan objek-objek data yang berkaitan

Suatu modul mungkin mengandungi pengisytiharan jenis, pembolehubah, dan prosedur

Page 3: Bab 3

3

3.1.    Peniskalaan (Abstraction) Secara umumnya, peniskalaan bahasa pengaturcaraan

boleh dikategorikan kepada 2 yang umum: Peniskalaan data Peniskalaan kawalan

Setiap peniskalaan ini boleh dipecahkan lagi kepada 3 paras: Asas - mengumpulkan maklumat paling asas tentang

perlaksanaan dalam persekitaran mesin Berstruktur - mengumpulkan maklumat global tentang

struktur suatu aturcara Unit - mengumpulkan maklumat tentang keseluruhan

aturcara

Page 4: Bab 3

4

3.1.1. Peniskalaan Data

Menguruskan komponen-komponen aturcara yang terlibat di dalam pengiraan, seperti rentetan aksara dan nombor

Berkait dengan atribut suatu objek data dan operasi ke atas objek tersebut

Page 5: Bab 3

5

Peniskalaan Data Asas

Merujuk kepada perwakilan dalaman bagi atribut objek data dalam sistem komputer: Pembolehubah – merupakan perwakilan kepada

lokasi-lokasi ingatan yang mengandungi nilai-nilai data

Jenis data – menakrifkan suatu set nilai yang boleh diwakilkan oleh suatu pembolehubah

Page 6: Bab 3

6

Peniskalaan Data Berstruktur Suatu kaedah asas untuk mewakilkan secara abstrak suatu

koleksi data-data yang berkait di antara satu sama lain Contohnya, rekod seorang pekerja mengandungi nama, alamat,

nombor telefon dan gaji setiap satunya terdiri dari jenis data yang berbeza, tetapi secara keseluruhannya mewakilkan suatu rekod

Jenis rekod adalah suatu peniskalaan paras-rendah

Peniskalaan paras-rendah berguna apabila anda hendak mengumpukkan suatu rekod kepada suatu rekod yang lain atau

menghantarnya sebagai satu parameter

Page 7: Bab 3

7

Peniskalaan Data Berstruktur Salah satu implementasi peniskalaan data berstruktur adalah

Jenis Data Niskala (Abstract Data Types - ADT) Jenis data niskala ditakrifkan sebagai suatu koleksi struktur

data dan operasi yang diabstrakkan menjadi satu jenis data yang mudah

Contoh jenis data niskala adalah senarai, timbunan, giliran dan pokok

Satu lagi bentuk peniskalaan data berstruktur adalah penggunaan pengisytiharan semula suatu jenis data

Page 8: Bab 3

8

Peniskalaan Data Berstruktur Contoh dalam C

typedef struct rekod_pelajar pelajar

Dalam kes ini, suatu rekod yang bernama rekod_pelajar berjenis struct ditakrifkan semula sebagai pelajar

Ini membolehkan penggunaan pelajar sebagai mewakilkan struct rekod_pelajar di dalam pernyataan-pernyataan yang berikutnya

Page 9: Bab 3

9

Peniskalaan Data Unit Suatu kaedah untuk mengumpulkan semua maklumat yang

diperlukan untuk mencipta dan menggunakan suatu jenis data tertentu di dalam suatu unit lokasi

Modul – suatu set pernyataan yang dibentuk sebagai blok untuk melaksanakan suatu proses tertentu

Blok biasanya mengandungi prosedur atau fungsi, dan berguna untuk mengimplimenkan rekabentuk atas-bawah, dan menyokong guna-semula (reusability) modul-modul

Pengkapsulan seperti ini mengekang capaian kepada perincian jenis data. Ini memastikan bahawa perubahan kepada sturuktur data tidak akan mengubah bahagian lain dalam aturcara

Page 10: Bab 3

10

Peniskalaan Data Unit

Kelebihan peniskalaan data unit adalah: Aturcara menjadi lebih mudah untuk dibaca, ditulis dan

diedit Guna-semula unit-unit aturcara membolehkan suatu blok

digunbakan dalam banyak persekitaran aturcara Aturcara yang mengimplimenkan peniskalaan ini tidak

akan dipengaruhi oleh perubahan yang berlaku pada perincian dalam blok

Dua contoh bahasa pengaturcaraan yang menyokong peniskalaan ini adalah Ada dan Modula-2

Page 11: Bab 3

11

3.1.2. Peniskalaan Kawalan

Page 12: Bab 3

12

3.1.2. Peniskalaan Kawalan Menerangkan tentang jujukan pernyataan atau

kumpulan pernyataan (Blok aturcara) Ia menguruskan komponen-komponen

aturcara yang saling memindah kawalan perlaksanaan seperti gelung, pernyataan bersyarat, dan panggilan prosedur

Peniskalaan kawalan boleh diklasifikasikan kepada asas, berstruktur, dan unit

Page 13: Bab 3

13

Peniskalaan Kawalan Asas Satu peniskalaan kawalan asas yang tipikal adalah sebuah

pernyataan umpukan yang mewakilkan secara abstrak pengiraan dan penyimpanan suatu nilai kepada lokasi yang diwakilkan oleh suatu pembolehubah

Contoh:

x = x+ 5; Nilai asal x ditambah dengan 5 untuk menghasilkan satu nilai

baru kepada pembolehubah x Secara asasnya, terdapat 2 mekanisma yang boleh digunakan

untuk menentukan aliran kawalan ke atas suatu arahan Jujukan Cabangan

Page 14: Bab 3

14

Peniskalaan Kawalan Asas Kebiasaannya, arahan dilaksanakan satu persatu mengikut

susunan ianya ditulis dalam aturcara secara jujukan, atau perlaksanaan berjujukan

Jujukan dilakukan dengan menambah pembilang (suatu register dalam perkakasan) secara automatik selepas setiap arahan dilaksanakan arahan yang disimpan di dalam lokasi ingatan yang berturutan dapat dicapai dan dilaksanakan satu demi satu

Percabangan boleh digunakan untuk melaksanakan arahan yang tidak mengikut susunan dalam aturcara juga dipanggil sebagai pemindahan kawalan (transfer of control)

Page 15: Bab 3

15

Peniskalaan Kawalan Asas Oleh itu pembilang aturcara boleh diubah supaya

kawalan dipindahkan kepada suatu lokasi yang spesifik

Dalam bahasa pengaturcaraan, percabangan boleh diwakilkan dengan arahan jump atau goto

Arahan-arahan ini juga dikenali sebagai percabangan tanpa-syarat

Page 16: Bab 3

16

Percabangan Tanpa Syarat Contoh dalam C:

#include <stdio.h>main(){

int count = 1; start:

if (count > 10)goto end;

printf(“ %d “, count);count = count + 1;goto start;

end:printf(“ \n End of the program “);

}

Start: dan end: adalah label yang menandakan lokasi di mana kawalan perlaksanaan dipindahkan

Page 17: Bab 3

17

Peniskalaan Kawalan Berstruktur Andaikan suatu blok aturcara Fortran seperti berikut:

. . .Z1 = X1 – Y1IF ( Z1 .LE. 0 ) Z1 = -Z1. . .. . .. . .C1 = A1 – B1IF ( C1 .LE. 0 ) C1 = -C1

Blok ini boleh diwakilkan secara abstrak sebagai: Z = X – YIF ( Z .LE. 0 ) Z = -Z

 Yang mana Z mewakili Z1 dan C1, X mewakili X1 dan A1, dan y mewakili Y1 dan B1

Page 18: Bab 3

18

Peniskalaan Kawalan Berstruktur Tanpa perlu menulis segmen yang sama dua kali, kita boleh

menakrifkan segmen ini sebagai suatu peniskalaan kawalan berstruktur dan hanya memanggilnya setiap kali diperlukan

Peniskalaan ini juga dirujuk sebagai subprogram, subrutin atau fungsi

Subrutin untuk peniskalaan di atas boleh ditulis sebagai Subroutine CALC (X, Y, Z)

Z = X – Y

IF ( Z .LE. 0 ) Z = -Z

Return

End

Page 19: Bab 3

19

Peniskalaan Kawalan Berstruktur Blok aturcara di atas boleh ditulis semula sebagai:

. . .

CALL CALC( X1, Y1, Z1 )

. . .

. . .

CALL CALC( A1, B1, C1) Apabila dilaksanakan, arahan CALL akan menghantar

kawalan aturcara kepada subrutin yang dipanggil Pernyataan Return pula akan menghantar semula kawalan

aturcara kepada pemanggil yang akan menyambung perlaksanaan aturcara dengan pernyataan selepas pernyataan CALL

Page 20: Bab 3

20

Peniskalaan Kawalan Berstruktur Mekanisma kawalan berstruktur juga terdapat dalam beberapa

bentuk yang lain: termasuk gelung while dan for dalam C, gelung repeat dalam Pascal, dan mekanisma loop-exit dalam Modula-2

Panggilan subrutin atau fungsi adalah lebih kompleks berbanding dengan pemilihan atau gelung kerana ia memerlukan penyimpanan maklumat tentang keadaan aturcara pada setiap kali panggilan dibuat dan bagaimana subrutin dilaksanakan

Satu kelebihan peniskalaan kawalan berstruktur adalah ianya membolehkan struktur kawalan dilakukan secara tersarang tidak kira kedalamannya

Page 21: Bab 3

21

Peniskalaan Kawalan Unit Mewakili suatu koleksi prosedur yang

menyediakan perkhidmatan logikal yang berkaitan kepada bahagian lain dalam aturcara yang sama

Sebagai contoh, prosedur yang mengira purata, median, dan sisihan piawai yang boleh dikumpulkan sebagai satu unit program yang mengira nilai-nilai statistik tertentu

Page 22: Bab 3

22

3.1.    Parameter dan Penghantaran Parameter