html5-img
1 / 22

Bab 3

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

dotty
Download Presentation

Bab 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bab 3 Prinsip-prinsip Spesifikasi Rekabentuk

  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

  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

  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

  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

  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

  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

  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

  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

  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

  11. 3.1.2. Peniskalaan Kawalan

  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

  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

  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)

  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

  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

  17. Peniskalaan Kawalan Berstruktur • Andaikan suatu blok aturcara Fortran seperti berikut: . . . Z1 = X1 – Y1 IF ( Z1 .LE. 0 ) Z1 = -Z1 . . . . . . . . . C1 = A1 – B1 IF ( C1 .LE. 0 ) C1 = -C1 • Blok ini boleh diwakilkan secara abstrak sebagai: Z = X – Y IF ( Z .LE. 0 ) Z = -Z Yang mana Z mewakili Z1 dan C1, X mewakili X1 dan A1, dan y mewakili Y1 dan B1

  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

  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

  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

  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

  22. 3.1.    Parameter dan Penghantaran Parameter

More Related