Buku Teks SK PDF

Anda mungkin juga menyukai

Anda di halaman 1dari 346
PENGATURCARAAN Penggunaan komputer, telefon pintar dan tablet telah menjadi satu keperluan dalam kehidupan masa kini. Interaksi antara manusia dengan peralatan komunikasi telah mewujudkan satu bentuk bahasa yang dikonal sebagai bahasa pengalurearaan, Pelbagai aplikasi telah direka Mengounakan bahasa pengaturcaraan untuk membantuy. manusia dalam kehidupan harian, Adakal penggunaan pelbagai aplikasi dapat membantu anda menyelesaikan masalan? lat dan jenis data » Stuiturkawalan + Amalan terbaik e pengalurcaraan » Moculardan struktur dats » Pembangunan aplikesi BH (apes development) acer Hise} SEVEN EEN VICI Strategi Penyelesaian Masalah Masalah lalah keraguan, situasi yang tidak diingini, c: yang dihadap! dalam kehidupan seca ‘ean! aT eels keputusan amat diperlukan untuk melahirkan generasi yang perembuat merancang strategl penyolesaian masalah. Contohnya, kita iim NOlehan keputusan tentang jenis makanan yang hendak dibeli di kentin arbuat jumlah wang yang ada. lengan Penyelesaian masalah ialah tunjang utama dalam sains kom; Pengatur cara perlu memahami cara penyelescian sesuatu masala ten menterjemahkan cara tersebut kepada algoritma yang dapat difaham oleh komputer, Komponen yang bertanggungjawab untuk melaksanakan arahan jalah unit pemprosesan utama (central processing uni, CPU), CPU akan melaksanakan arahan yang diterima dan bermulanya proses penyelesaian masalah. Oleh itu, pengatur cara perlu menulis ‘sintaks’ yang spesifik, faitu peraturan yang diperlukan oleh komputer untuk melaksanaxan arahan dengan tepat. Rajah 1.7 dan 1.2 menunjukkan contoh penulisan algoritma dan atur cara bagi memaparkan mese| Hello Malaysia. Rajah 1.1 menunjukkan dua format perwakilan algoritma faltu pseudokod dan carta alir. Gy einen autem 1.44 Menera keperluan penyetessian imasalah berstrategi 4.42 Menjelaskan ciriccii penyelesaian imesalah berkesan tentukan masalah, jana idea ~ hapus halangan, jana penyelesaian, ‘entukan tindakan, Taksanakan penyelesaian, buat penilaian, dan buat penambahbaikan Pseudokod 4 Mua 2 Baca input Hello Melaysia" /svemulis program yang akan menapark j a menaparkan mesej 3 Papar culput "Hello Malaysia’ pee + "Hello Malaysia” carta alir i public class HelloMelaysia { public static void main (string[] args) { Input x= " Hello Berner Malaysia" x = "Hello Malaysia’; System-out .print1n (x) Output } "Hello Malaysia" } Rajah 1.1 Contoh algoritma Hello Nateys Rajah 1.2 Contoh aturcare untuk Hello Malaysia Ly & Sains Komputor Tingkaton 4 Keperluan Penyelesaian Masalah Berstrategi Pelbagai masalah dalam kehidupan harian merupakan cabaran yang porlu diatasi, Masalah menghalang kita daripada mencapal apa yang diingini, di samping mengganggu kelancaran dan kesglesaan hidup,Sestiatu masalal ——Anugerah APICTA yang rumit memerlukan strateg! penyclosalan masalah yang borkesan, —anjuran Multimedia akah faedah penagunaan strategl dala a 1h? Development Corporation Api pe 101 dalam penyelesalan masalal pena gon ICT kebangsan sejak tahun 1999, Anugerah ini diadakan untae mengetengahkan bakat dan jaggx mengiktiraf reativitirakyat tempatan, man dan termasuk ke} sumbangan bersejarah dalam sesebush industri, Mengapakah perlunya stratogt dalam penyelescian masalah? Rajah 1.3 Kepertuan strategi dalam penyelesaian masalah Pembangunanaplikasi komputer berkalt rapat denganstrategipenyelesatan masalah dalam pengaturcaraan komputer. Seseorang perlu menguasai lacie) strategi penyelesaian masalah supaya dapat memahami masalah dengan mudah bagi mendapatkan strategi penyelesalan yang terbaik, i Penyelesaian masalah sebagal proses mengkaji butiran sesuatu Khan academy: Apalah masalah untuk mendapatkan satu penyelesaian (Businessdictionary.com) itu pengaturearaan? beepeligoogl 2X8 Komputer boleh digunakan untuk menyelesaikan masalah. Welau bagaimanapun, cara penyelesaian terhadap masalah yang dihadapi haruslah jelas sebelum mengatasinya. Pemikiran komputasional (computational) membolehkan kita memahami masalah yang dihadapi dan Membangunkan penyelesaian yang munasabah apabila kita menghadapi masalah yang kompleks. QQ BAB1 PENGATURCARAAN & os Empat teknik pemikiran komputasional dalam, pen 2 jalan: elesaian Masala 4, Teknik Leraian (Decomposition) - Memecahkan masal: bahagian yang lebih kecil dan terkawal, Sebo kepada menyelsaikan masalah, masalah dan cara untuk manyelee me: mastilah difahami, Penguraian masalah_ membanty elesakanny, masalah Kompleks kepada bahagian yang mudh ciuruskaw ot seseorang murid. juga, kita cuba memahami bagaimana sistem yang, kompleks vertu ere ee menggunakan teknik leraian dam meted kal yong dipertukan Contoh; Memahami cara sebuah basikal berfungsi akan Jamlih Kaori harian yang mudah jika seluruh basikal itu dipecahkan kepada baha Jadi lebih wgian yang wee Keo. Rujuk rajat oi bawal can labelkan bahagien teasikal yang dilukiskan. yang berurmar antara 16 bhingga 18 tahun ialah 2600-2800 keals Contohays Kalort sekeping roti canal ialah 300 keals. Apakah jens makanan yang dimakan supaya kalori yang dipeslukan berada ‘alam lingkungan yang isebutkan? 1 Pada 11 Ogos 2016, Perdana Menteri, Datuk: Seri Najib Tun Razak telah mengumumian bahawa Pemikiran Komputasional dan Sains Komputer akan integrasikan ke dalam ‘kurikulum rasmi sekolah, bermola Januari tahun depan. Malaysia ial Neyara pertama di ASEAN yang merjadi perintis kurikeulum ini, Sumber: \worwutusan.com.my 2. Pengecaman corak (Pattern recognition) — Mencari persamaan (similarities) antara mesalah dan dalam mesalah. Apablla kita telah meleraikan masalah yang kompleks kepada bahagian yong mudah urus dengan teknik leraian, ini membantu dalam mengenal pasti persamaan atau corak yang ada pada setiap bahaglan masalah yang kecil. Corak-corak ini dapat membantu menyelesalkan masalah kompleks dengan lebih efisien, Bayangkan kita hendak mengetahul cara sesebuah basikal berfungsl. Gin-cirl basikal ialah Mempunyai dua buah roda yang berputar, hendal untuk menguasai hala tuju, pedal untuk menggerakkan basikal dan rantai yang _menjaci penyambung supaya basikal dapat berfungsl. Jadi, kita boleh melukis gambar basikal berdasarkan ciri-ciri di atas. Dalam pemikiran komputasional, ciri-citi ini dixenal sebagai corak. Cuma yang berbeza secara spesifik ialah warna basikal, bunyi loceng atau saiz roda. Dengan mengikut corak dan mengabaikan cirl-ciri spesifik, kita dapat menyelesaikan masalah tentang basixal BAB 4 PENGATURCARAAN @- Gee urs ie Ls Dalam pemikiran Komputasional, setelah mengetahui ciri-cir| umum untuk masaleh menggosok gigi, satu corak telah terbentuk, Apabila kita dapat mengetahul cara menggosok igi, individu yang lain juga dapat berouat demikian dengan mengikuti corak-corak tersebut, 3. Peniskalaan (Abstraction) — Peniskalaan adalah penting supaya dapat menjana penyelesaian yang tepat kepada masalah yang dihadapi, Contohnya, untuk menghasilkan sebuah basikal, jika tidak meniskalakan cirl-ciri umum dan spesifik, kita berkemungkinan akan } Menghasikan basikal yang beroda kecil dan berbakul di hendalnya, iaitu merupaan satu penyelesaian yang tidak tepat. Satu. model basikal ialah basikal yang mempunyai dua roda, hendal dan pedal. Ciri ‘Spesitik seperti saiz roda, berbakul atau berloceng dan warna rangka hendaklah diabaikan, Setelan mendapat model kepada masalah, kita boleh menggunakan corak di atas untuk melukis basikal dan juga membina algoritma untuk menyelesaikan masalah yang dihadapi. Bicone p h menisk dan spesifik, luis mc alan masalah unte ygosok gig} 4, Algoritma (Algorithms) — Membangunkan penyelesalan langkah demi fangkah terhadap masalah yang dihadapi atau mematuhi peraturan untuk menyelesaikan masalah. Algoritma merupakan suatu pelan, iaitu satu set langkah arahan untuk menyelesaikan masalah. Jika anda Scbagai scorang murid boleh mengikat tali kasut, membuat secawan kopi, atau menyediakan Sains Komputer, makanan, anda telah tahu mengikut sesuatu algoritma. pada pencapat anda, i " ‘mengepakah kita perlukan Dalam algoritma, setiay arahan cikenal pasti dan susunan pemikiran komputasional? pelaksanaannya dijalankan seperti yang dirancang. Algoritma juga Apakah contoh pemikiran Gigunakan sebagai titik mula untuk rekaan program komputer dalam komputasional dalam i idupan seharian anda? bentuk carta alir dan pseudokod, ‘kehidupan scharian andai Mula OUTPUT “Mempunyai 2 veda yang berputar?” INPUT “Ya" Tahtkah OUTPUT “Hendal untuk menguasai hala tuju?” Glicier INPUT “Ya” Pengasas pemikiran OUTPUT “Pedal dan rantai untuk menggerakkan komputasional ilah basikal? Jeannate M Wing, Beliau INPUT “Ya” telah mentafsirean OUTPUT “Ini ialah sebuah basixal.” Familia Escapes Tanat sebagai membina kuasa dan proses penyelesaian Rajah 1.5 Conton pseudokod bagi masala fungsi sebuch besikal secara pengkomputeran, sama ada dilaksanakan oleh manusia arau mesin, Sumber: wwwaem.org untuk membina an aktivitl osok gig BAB 1 PENGATURCARAAN |-cle pethikiran Komputasional dalam, masalah Kelas anda teah ditugaskan mengadakan Kemper’ Mengurangkan Penggunaan Eektri« dl sekotah ‘ anda memandangkan bil elektrik telly meningkat dav adalah wajar masalah ini dla) dan diselesakan dengan segera. Justifkaskan ciri-cii pemikiran komputasional dalam menyelesaiken masalah ben raat stuasi yang diberkan, {a} Leraikan masalah peningkatan bil elektrik. (b) Kenal pasti ci-cri yang terdapat dan bina corek-corak penggunaan atau ‘semua tempat yang terlibat di sekolah anda. (6) Meniskalakan cir-cii yang hendak dijadikan model den ciri-cin spesifik yang hendak diketepixan, (@ velasken dengan ringkas largkah demi langkah penyelesalan yang clam untuc menyelesaan masaiah di atas. Pembaziran elektrik gi Pemikiran komputasional membolehkan kita merancang perkara komputer dengan tepat. Sebagai contoh, jika anda hencak pergi ke (KLCC) dari KL Sentral, anda perlu merancang perjalanan yang harus ‘Terdekat dan tidak mengalam) kesesakan trafik. Katkan anda meng ke KLCC, Mula-mula masukkan lokasi yang dikehendaki iaitu KL sediakan. Anda akan mendapat paparan seperti di bawahh, yang hendak dilaksanakan oleh Kuala Lumpur Convention Centre Giambil, iaitu: mengikut jalan yang jguna aplikasi Waze untuk sampai Sentral ke KLCC di ruang yang di wie) —— 7 Fs Caras i i = * be) {i ssn 1D seccrrays Suter hance, *, oman + cree ros Rajah 1.6 Paparan Waze dati KL Sentral he KLCC Anda boleh memilih tiga pilinan perialanan yang dicedangkan oleh Waze dengan mengamhil kira bilangan rakan yang bersama-sama andadan mod pengangkutan anda. Dalam kes ini, merancang perjalanan lalah pemikiran Gette know Woze komputasional manakala mengikut arahan langkah demi langkah ialah BeogCP3Cs Pengaturcaraan. SainsKonperTagatand 9 Tre Penyelesaian masala dengan pomikiran komputasional Untuk menang dalam pemainan Pacman, kita harus mengetahuljenisitem yang perl dimakan, laluan yang solamat, apa-apa yang perlu dielakkan, dan cara untuk memasnahkan musuh, P| asa SKOR 4020 PERCUBAAN (2) Berdaserkan kepada empat teknik pemikiran komputesional dan pemahaman anda tentang permainan ini, bincangkan dengan rekan anda tentang strategi untuk memenangi permainan ini (b) Namakan dua jenis permainan lain yang memerlukan_ stretegi penyelesaian untuk meneng. () Apekah cara-cara untuk menyelesakan masalah itu supaya menang dalam permainan yang dinyatakan di (b)? (OQ. BAB 1 PENGATURCARAAN er ‘3 Bart: Mereroka pemikiran pengkomputeran: contoh penggunaan pemikiran pengkomputeran hetps://goo.g/OreWXS Play Pacman entine go0.gV/ovSwh Kemahiran dalam pengaturcaraan telah, mewujudkan profesion yang berikut: + Pembangun laman web + Jurutera perisian * Pembangun aplikasi mudah alih + Jorutera rangkaian + Pengurus IT Laporan Paaran Kosa ICT gi Malaysia 2015 oleh Persanaan Indust Komputer dan “Multimedia Malaysia (PIKOM) Ite /googl 1QUAIN Tehukoh EIS Kos langsung salah kos untuk aktiviti prjek seperti gaji pekerja projeh. Kos tak langsang pul merupakan kos ‘untuk aktivii yang tidak rmelibatkan secara langsung prock. Contohnya Jamatan dan bil ate) Anda Carta PERT (Program seluation Revies iru) ialah alat pengurusan projek yang diguna untuk menguruskan, smenjadualkan dan menyelaraskan aktiviti prjek Cara PERT dypat menunjukkan wunitan tugas yung akan dilaksanakan, Tujuannya adalab untuk menenrukan ‘masa minimum dan maksimusn unruk sanaan aktiviti-akaiviti| dalam projek Perkara ini adalah penting untuk mengelakkan kelewa dalam menyiapkan Kelewatan menyiapkan projek hanya akan coin} smeningkadcan ko. Ciri-ciri Penyelesaian Masalah Berkesan Setelah memikirkan strategl untuk menyelesatkan melaksanakan strategl tersebul, keputusan yang qj menggambarkan keberkesanan strateg! penyolosaian mas diambil. Misi mencari penyelesa‘an melibatkan tiga ciri masa dan sumber. Masalah dan, Peroleh akay ‘ale yang telah Penting laitu kos, Kos Kos ditakrifkan sebagai harga yang perlu dibayar untuk memperoleh, Mengeluarkan dan menyenggara, biasanya berupa wang, masa, tenaga, dan perbelanjaan. (Kamus Online Dewan Bahasa) i Persoalan yang selalu dibincangkan oleh jawatankuasa yang melaksanakan projek ialah, (a) berapakah kos projek? (b) adakah kos tersebut akan menambeh produktiviti? (c) bolehkah kos tersebut menyelesaikan masalah yang dihadapi? Projek yang dilaksanakan mengikut tempoh yang normal ialah projek yang dileksanakan mengikut masa dan kos yang diperuntukkan. Manakala kos siap masa tercepat (crashing cost), ialah usaha yang maksimum untuk Menyelesaikan projek dalam masa terpendek. Kos siap masa tercepat (crashing cost) meningkat apabila tempoh masa projek menurun, Masa Penyelesaian masalah secara barkesan yang melbatkan masa merujuk sesuatu projek yang disiapkan mengikut masa yang telah ditetapkan, Faktor masa dalam penyelesaian masalah ini memainkan peranan yang penting supaya semua perancangan awal dan pelaksanaan penyelesaian masalah dapat cilakukan mengikut tempoh yang ditetapkan. Abtiviti pelaksanaan yang tertunda atau lambat disiapkan akan meningkatkan kos. Selain itu, penyelesaian masaleh yang memerlukan masa tersingkat ‘seperti keperluan menyiapkan projek dalam jangka masa terhad, juga akan melibatkan peningkatan kos. Contoh, penambahan bilangan pekerja supaya sesuaiu projex dapat disiapkan dalam masa yang dikehendaki. Carta Gantt merupakan jadual perancangan yang dapat melihat perkembangan semua altiviti projek yang dipaparkan mengikut tempoh masa. Sebelah kiri carta ialah senarai aktiviti manakala bahagian atas lalah tempoh masa. Setiap aktiviti diwakili oleh satu bar, panjang bar mewakilitariky mula dan tarikh akhir aktiviti tersebut. Penggunaan carta Gantt penting dalem penyelesaian masalah kerana maklumat dapat dlihet sepintas lalu laitu, (a) senaral aktiviti projek (b) bila setiap aktiviti bermula dan berakhir ao Sains Komputer Tingkatan 4 {2 (©) tempoh masa setiap axtivit (6) aktivti-aktivit yang bertinait Gaye (0) tarlkh mula dan tatih projok dijangka tamat El Lihat contoh carta Gantt di bawah, bolehkah anda berlkan maklumel yang anda dapat lihat sepintas lalu? What isa Gantt chart? http://goo,gi/AiCass A 1, Menyediakan soal selid&k Ga 2, Mengedarkan sal solid dan ~—mendapatkan data Cap 3. Menemu rama on aD “4, Menganalsis data & r Cae ‘Teaching Computers ‘5. Membuat rumusan to Understand Human ap eer Ihttps://g00.g/NRMbre Rajah 1.7 Canton carta Gantt yang mudeh Ciri-ciri penyelesalan masalah berkesan berdasarkan kos dan masa Sepuluh orang ahli Persaluan Pencinta Alam Sekitar sexolah anda ingin mengacakan lawatan sembil belajar dati Resort Pantai Damai ke Kampung Budaya Sarawak, Jerek di antara kedua-dua tempat ialah 850 m. Jika mereka bertolak dari Resort Pantai Damai ke Kampung Budaya Sarawak secara berjalan kaki, mereka ken memakan masa 11 minit, manakala jka mereka menaiki Kereta henya 3 rinit. Bincangkan kesan pillhan cara pengangkutan mereka dari segi Kos dan masa deri Resort Pantai Damai ke Kampung Budaya Sarawak, Pada pendapat anda, apakah pilthan yang sesual untuk penyelesalan masalah dl atas? Berikan justifikasi anda. Laluan pejatan kaki Laluan kereta Sumber: Google Maps BAB 1 PENGATURCARAAN Sumber Sumber didefinisikan seb i stok atau wang, bahan-bahan mentah, staf dan aset fain yang boleh Gigunakan dalam organisasi supaya dapat berfungs! dengan efektif (Kamnus Online Dewan Bahasa Dalam perancangan penyelesaian masalah, semua penyclesalan memerlukan sumber, Sumber iperlukan untuk menjana hasil atau perkhidmatan. Contoh sumber adalah soperti sumber kewangar sumber manusia dan sumber teknologi, Perancangan sumber adalah tanggunglawab plhak pengurugay an perancangan sumber yang baik adalah untuk mendapatkan kepulusan yang optimum. Pembaziran Sumber dapat dielakkan dengan perancangan yang rapi. Masalah yang dihadapi apabila kekurangan Sumber ialah akan melambatkan masa untuk menyiapkan projek, seterusnya mengakibatkan Peningkatan Kos projek. Penjaduatan sumber projek perlu dladakan untuk mengelakkan berlaku kekurangan supeya tidak Menjejaskan penyelesaian masalah yang dihadapi. Langkah-langkah yang berikut perlu diberikan perhatian untuk tujyan ini 1 Memastikan ada pegawai atau unit yang memantau penjadualan sumber. 2 Menggunakan sistem baris gir mengikul keutamaan projek (first come first served). 3 Memastikan keperluan projek diuruskan dengan teliti dengan mengambil kira sumber sedia ada dan sumber kewangan yang diperuntukkan. 4 Mengadakan proses penjadualan altiviti supaya seimbang dan boleh dilaksanakan sepanjang projek dijalankan. [CRE Giri-ciri penting untuk menyelesaikan masalah Situasi 2: Syarikat X sedang membina apiikasi untuk kehadran mutid yang perlu disiapkan dalam ‘Situasi 1: ‘Seorang pengatur cara memerlukan empat bulan untuk menyiapkan tugas yang diamanahkan kepacanya tetapi akan cuti bersalin dalam tempoh masa tersebut, ‘Apakah langkah yang harus diambil oleh pengurus projek itu untuk menyelesalkan masalah di atas? Justifikasikan jawapan anda dari segi kas yang terlibat, tempoh masa untuk menyiapkan projek dan juga sumiber manusia yang terlibat. lum della leh digmbil oleh Ge. Sains Komputer Tingkatan 42. ‘tempoh masa tiga bulan, Pada masa yang sama, syarikat ini juge telah mendapat projek baharu iaity membina aplkasi mencetak tiket bas yeng peru disiapkan dalam tempoh masa yang sama. Cadiangkan langkah penyelesaian yang boleh diembil dalam pengurusan kos yang terlibat dan sumoer tenaga mahir memandangkan kedua-dia projek ini peru cisiapkan dalam tempoh yang sama. Gunakan tip ci bawah untuk membantu anda menyelesakan masalah tersebut. (@) Senaraikan kederiuan kedua-clua projek (6) Senaraikan alcivit clan tempeh dalam carta Gantt (6) Tindakan yang boleh diambil oleh pengurus projels Disk AW Ihomahak pt vwntuk pulang ke runahnyat. Bantu Pale Al se yang dhealangkan, (a) Cavikan Ketiyga (b) Bincangkan «lark seg kos (Tol), masa (lanipa is jalan yang telah dear (e) Justifikasthat pilihany jalan yn runafsny da ada Pak AB re akan digunakan oleh Pak Ali dari dan sumber. Tol: RM2.00 ‘Mari bermain permainan pengarurcaraan dengan menggunakan kod, |) https://goog/LrEUhH QQ BAB 4 PENGATURCARAAN ACen el} ECs Gener bermaksud umum atau berkaitan dengan ciri- sii hosus yang lenis ‘leh sesuata Kelompok, cea CPN Pay Proses Penyelesaian Masala), Prosos peryelesaian’masalah molibatkan langkah-langkah yang segy dan borgantung kepada jonis masalah yang ingin dlsolosaikan, Sen masalah yang ingin diselesalkan perlu melalui beberapa proses, jg) it mengikut struktur model generk sebagai panduan. Pengaturcaraan ‘oe membantu murid berlikir secara kreatif dan inovatif serta membanty mereka untuk menyelesaikan masalah dan melaksanakan semua proses dengan betul, Model generik penyelesaian masalah dalam Rajah 1.8 terdiri daripada lapan proses. Setlap proses akan dijelaskan dengan persoalan yang haryg difikirkan bersama-sama, Jana idea Tentukan ae WEE halangan), masdah penyelesaian EI (Eee Tentukan Pane feweesen tindaken Rajah 1.8 Proses penyelesaian masalah Proses penyelesaian masalah dalam pengaturcaraan adalah seperti yang berikut: 1 Mengumpulkan dan menganalisis data Murid perlu mengumpul data tentang punca dan skop masalah serta ‘mengenal pasti hal yang berikut dalam sesuatu situasi. = Sojauh manakah masalah tersebut memberikan kesan? © Bilakah masalah ilu perlu diselesaikan? ny Menentukan masalah Murid perlu mengenal pasti masalah yang paling utama yang perlu diselesalkan, Kemudian, masalah yang kedua juga perlu dikenal pasti sebelum mengenal pasti tahap pemahaman sedia ada murid. * Adakah masalah ini merupakan masaleh yang utama? * Apakah masalah lain yang capat dikesan? 3. Menjana idea — menghapuskan halangan Murid periu menyenaraikan beberapa idea yang dapat digunakan untuk menyelesaikan setlap masalah yang telah dikenal pastl. Sejauh manakah idea yang disenaralkan dapat menyelesaikan masalah yang dihadapi? 4 Menjana penyelesaian Murid hendaklah menyenaraikan idea atau langkah Maralah secara Kseatif semasa merancang penyelesaian. Guru perlu mengenal pasti murid sick Ome dan cies telah menjana suatu rancangan penyelesalan yang sesua. Layart aman sestwang, * Adakah idea penyelesaian ini telah dibincangkan dengan jelas? yang berikut untuk 5 Menentukan tindakan peel cael Murid hendaktah membuat pilihan yang terbaik daripada senaral idea yang telah dibuat. © Adakah pilihan yang lain harus diberikan perhatian? + Dapatkah idea ini menyelesaikan masalah yang dinadapi? 6 Melaksanakan penyelesaian Murid perlu menggunakan pelbagai alat dan teknik yang telah dipih Model Penyelesaian untuk melaksanakan penyelesaian, Fokus hendaMan diturpukan — Msslah kepada tindakan yang boleh menyumbang kepada ponyolesaian — tP/“evo.8¥' masalah. * Bolehkah tindakan ini berjaya dllaksanakan? 7 Membuat penilaian Penilaian akan dilaksanakan terhadap langkah-langkah penyelesaian. Jika tidak menepati tahap yang memuaskan atau tidak menyslesaikan Proses Penyclesaian masalah, murid perlu mencari tindakan yang lain. Pianlahs * Adekah hasil yang hendak cicapai memueskan? beed/apeg UDINE IC ENE rf spat pelbaygi model lesaian maval: ‘reat, antaranya ah Model Penyelesaian 8 Membuat penambahbaikan Setiap penyelesaian yang telah dilaksanakan perlu ditambah balk jika masih terdapat kekurangan dan mengikut keperluan. Apakah penambahbaikan yang boleh anda cadangkan? Untuk merangsang pemikiran anda tentang proses penyelesaian smasilah, fkirkan cara penyelesaian terhadap masalah yang berikut: Sambungkan kesemnva tiik dengan hanya menggunakan empat garisan sthaja tanpa mengangkatkan pen anda. BAB 4 PENGATURCARAAN @- ® Gammon Baca surat di bawah dengan toll, Anda sebagai pegawal ) amu = Kempuer Togkatan 4 Kod Kompucer Prendocode joogl/q2P7Gn Rajah 1.42 Algortma lebih mudah eifahann dalam bentuk pseudotod herbanding hod komputer OX, Gunakan Algoritma untuk Menyolesalkan Masalah Pada hujung tahun 2074, beberapa negeri di Malaysia telah mengalam! bencana banjir yang besar yang merosakkan banyak tempat tinggal, tanaman, teakan dan sebagainya. Antara negeri- negeri yang paling teruk dilanda banjir ialah neger Kelantan, Terengganu, Pahang, Perak, Sabah dan Sarawak. Kejadian itu telsh membuka mata benyck phak untuk membuat persediaan yang rapi dan sistematik sekiranya dilanda dengan bencana yang sama sekali lagi. Sebagai rakyat Malaysia yang prihatin, cuba anda bina satu analisis IPO untuk untuk tindakan yang peru diambil ketika banjir besar berlaku. Kemudian, nyatakan langkah- joka tindakan tersebut Gengan menggunakan dua perwakilan algoritma, iaity pseudokod dan carta alr. Selamat Mencuba! Struktur Kawalan dalam Pengaturcaraan Pelbagai proses komputer yang lebih kompleks dapat dicipta dengan menggabungkan penyataen komputer, Tiga struktur kawalan komputer adalah seperti yang berikut: @ Struktur kawalan urutan @ Struktur kawatan pitihan @ Struktur kawalan pengulangan Strukctur Kawalan Urutan Struktur kawalan urutan melaksanakan arahan- arahan komputer satu per satu. Urutan arahan yang betul adalah penting Kerana urutan yang beriainan boleh memberikan output yang ‘Penyataan 4 berlainan. Setiap arahan adalah satu penyataan algoritma seperti yang berikut Penyataan 2 @ inPut cata. EWVE\ccl @ Memproses data. GeaNeleeinl © OUTPUT hasil (Q__ BAB 1 PENGATURGARAAN ee Penyataan 3 Urutan linear algoritma diporsombehken sebagai susunan Penyataan. = penyataan secara linear, Sntaks bagl wutan Iinear adalah separ yang berikut: bet CL ele) (eine Penggunaun algoritma diaplikasikan setiap havi dalam kehidupan. Setian orang sebenarnya telah membangunkan algoritma Penyataan 2 rmerela Kevika melakukan Penyataan 2 Penyataan 1 scharang pekerjaan, Pan yaeRen 3 ‘Misalnya, bersiap untuk ke sekolah, membelt Tamat Penyataan 2 smakanan di kantin dan sebagiinya, Penyataan 3 } Rajah 113 Coto uta ea lgorimadaam pseudokod dan cata ali Contoh-contoh urutan linear menggunakan pseudokod dan caria alir adalah seperti yang berikut: Se ele Carta alir } (Cuba anda bina uratan linear bagi menyediakan satu resepi makanan kegemaran anda. Persembahkannys dalam bentuk sintaks dan carta alie. Mula INPUT nama OUTPUT "Hello" gan nana oureuT . Tamat. "Hello” + nama Rajah 1.14 Urulaninzeraigoritna dalam pseudokod den cara alr untuk “Hello” dan nama 2 Sains Komputer Tingketan 4 Pith] Carta alir Comatay a INPUT / . Mula tahun_lahir a 2. INPUT TAHUN_LAHIR 3. UMUR = TAHUN_SEMASA - TANUN_LAHIR Ps 4. OUTPUT UMUR 7 wmur = tahun_semasa - tahun lahir 5. Tamat Rajah 4.46 Peoudokod dan carta air untuk uur Input Interaktif Perhatikan penyataan-penyataan INPUT adalah untuk menerima data daripada pengguna. Pengguna memasukkan data melalui pgpan kekunci dan akan disimpan dalam pemboleh ubah. Algoritma sedemikian dikatakan interaktif kerana melibatkan input pengguna. Pemboleh ubah ialalruang memori yeng dikhususkan untukmenerima sent (Umpukan) dan menyimpan data. Dalam subjek Matematik terutamanya dalam —ruzemenein Java bab Algebra, pamboleh ubzh biasanya diberikan nama abjad seperti x _goo.g/XCsi6B ataupun y. Umpukan Selain input interaktif daripada pengguna, kaedah umpukan boleh digunakan untuk memasukkan data ke dalam pembolell ubah. Akan tetapi, nilai pemboleh ubah yang diumpuk adalah sama setiap kali atur cara daripada algoritma sedemikian dijalankan. Umpukan menggunakan simbol matematik, jaitu (=). Merujuk Berdasarkan . Contoh 1 di bawah, di sebelah Kiri operator jalan pemboleh ubah seperti Coe tahun_lahir. Di sebelah kanan operator ialah nilai. Umpukan bermakna umpulon, binako ne ko ang ringka nilai Gi sebelah Kanan disimpan di dalam pomboleh uban di sebelah kiri neck bulon kelahiran simbol umpukan (=) bagi semua murid di dalam kelas anda. Contoh 1: Lakukan bersama-sama_ rakan dan bandingkan Jawapan anda. Q_ BAB 4 FENGATURCARAAN f a tahun_lahir = 1963 (Umpukan nilai 1963 kepada pemboleh ubah tatikh_lahir) Java Arithmetic googU/RVLDZD Contoh 7 menunjukkan carta alir untuk arar cara yang menerima dua nombor dan Contoh 2: Umur = 21 (Umpukan nilai 21 kepada pemboleh ubah umur) Di samping itu, operator-operator aritmetik juga digunakan dala ungkapan yang melibatkan pengiraan nombor, Kebanyakan Operator jp} sama dengan operator matematik (that Jacdual 1.2). Pengocualian tay penggunaan simbol asterik (*) untuk pendaraban dan simbol garis ‘Senden, untuk pembahagian nombor. Hal ini demikian kerana, tiada simbo| daraty Gan pembahagian untuk papan kunci piawal. Jadual 1.2 Operator-operatoraritmetik (an Penambahan Lukiskan carta alir untuk etur cara yang menerima dua rombor dan ‘memaparian jumlah sebagai output, Penyelesaian: swear sonborn a (sep [em verre be ro ¥ Jumlah = nombori + nombor2. }¢—_(“pioscs memaparkan jumlah sebagai ourput Bagaimanakah pula untuk melukis carta slir bagi atur cara yang menerima empat nombor dan ‘memaparkan jumlah sebagai output? Jue / OUTPUT junlah / _—— Pethatkan! Dalam nod input, perkataan-perkataan yang biasa digunakan ialah baca, input atau dapatkan. Dalam nod output pula, perkataan-perkataan yang blasa digunakan lalah papar, cetak, tulis, output atau laporkan. Perhatikan dalam nod proses, operas! aritmetik seperti tambah, tolak, darab dan balag! digunakan dalam ungkapan, Hasil aritmetik dumpukkan kepada pemboleh ubah melalui simbol '=", Analisa — Svmmiany of speraters goo.gl/SGR2Ir penggunaen perkataan-perkataan untuk nod Input, output dan prosos di atas ditunjukkan dalam contoh yang berikt GeOR — Lukis carta alir untuk alur cara yang menerima saiz jejari bulatan dan menentukan ukur tit keluasan bulatan tersebut. Lukis carta untuk atur cara yang menerima saiz jejari untuk sebuah silinder dan menentukan Umpuk milai padu bagi silinder tersebut. Papar Input ukur_lilie = 2 ¢ Pr * jejari Berdasarkan Contoh 8, persembabkan atur cara ‘yang diberikan dalam bentuk pscudokod. ¥ Proses luas = PI * radius * jejari oureuT ukur_lilit, luas Output hh eg Q__BAB 1 PENGATURCARAAN Ge © Pema anda mererina upah bekerja? Dalam aktvl ini ancla cllehencal mencipta sebuah Pes Komputer yang dapat menghitung pendapatan kasar clan pencdapatan bersih pekeria di sebuah oyahe tempatan, Persian tersebut memerlukan input masa mula kerja, masa lamat Keria, upah seam Dekea get potongan PERKESO i Formula menghitung adalah seperti yang berikut: Pendapatan kasar = jumich jan kerja x upah sajam Pendapatan bersih = pendapatan kasar - potcngan PERKESO 1 Buat analisis IPO. 2 Cadangkan penyelesaian kepada masalalidiialas menggunakan pseudokod dan carta alir berdasarkan Pengetahuan mengenai struktur kawalan urutan. aCe ely Cer PERKESO ialah Perubuhan Keselamatan Sosal di bawah Kementerian Sumber ‘Manusia untuk ‘menjaga kebajikan sosial pekerja-pekerja Struktur Kawalan Pilihan SOAR aps Casares Seselengah masalah memerlukan keputusan. Keputusan perlu dibuet paneer rmenetiken ) setelah menial syarat, Keputusan yang berbeza memerlilen tindeken ao Susulan yang berbeza. Sebagai contoh, jika hati sudan gelap, ambi balu dari ampaian, Jika hari masih cerah, sidai baju di ampaian. Struktur kawalan pilihan memberlkan perisian komputer keupayzan untuk membual keputusan beraseskan syarat yang telah ditenlukan pengatur cara. Struktur ini membolehkan arahan-arahan lain komputer Gilaksanakan daiam sitvasi masatah yang berbeza. Ciri umum adalah satu syarat yang menentukan satu daripada dua cabang dipilih. Setiap cabang mengandungi urutan arahan Komputer yang berbeza. Sekiranya satu urutan sudah terpilih, urutan salu lagi akan diabaikan, PERKESO Se Sains Komputer ingkatan 45 gs Cl Carta alir JTKA SYARAT_BENAR MULA_ITKA BLOK PENYATAAN 1 Benar_—fyarat?> Banat ANAT. TRA SIKALTIDAR MOLA_STRA_TTDAK ' : Bok PENTATARN, 2 Tanyacanen acre ANAT JTRA_TIDAR Rajah 4.16 Contoh pseudckod dan carta alr untuk stuktur kavtalan pillhan. Menghasitkan syarat Syarat yang digunakan dalam struktur kawalan pillhan ialah ungkapan logik. Ungkapan logik akan menilai data untuk menghasilkan keputusan “Benar” (True) atau "Palsu" (False) GEO Pengguna memasukkan ingut bagi harga barang, (@) Cadangkan nama pemboleh ubah. (0) Tuliskan ungkapan logik untuk mengu|! sama ada Inout melebini RM100. Penyelesaian (@) harga (b) harga > 100 Untuk menghasilkan ungkapan logik, operator hubungan boleh digunakan. Dalam contoh sebelumnya, operator ‘>' digunakan untuk menguiji jika nilai dalam pemboleh ubah harga lebih tinggi daripada nilai yang diuji, iaitu 100. Operator hubungan membandingkan nilai dalam pemboleh ubah dengan nilai diyji. Hasil ujian lalah ila “Benar" atau “Palsu". Jadual 1.3 menunjukkan operator hubungan yang kerap digunakan. Jadual 1.3 Operalor-operator aritmatik Pore [ies < Lebih keci darinada < Lebih kecil daripada ata sama > Lebih besa datipada >= —_Lebin besar daripaca atau sama 1= Tidak sama dengan = ‘Sama dengan ‘Anda membeli sepinggan nasi lemak, sekeping roti canai dan semangkule mi kari ketika waktu rehat di kantin. Rakan anda pula membeli dua pinggan nasi lemak, dua keping roti canai dan semangkuk mi kari. Berdasarkan Contoh 9, tulisiean ungkapan logik untuk menguji sama ada input anda lebih ecil daripada rakan anda atau sebaliknya. Ble: Equality, Relational ond conditional operators goo.gl/2s5Re BAB 1 PENGATURCARAAN Bendasarkan Contoh 10. raliskan ungleapyan logik untuk menguii nilai dalam pemboleh lubah bagi situasi yang berikut: Pengguna memasukkan ketinggian dalam aplikasi komputer, Uji sama ada ketinggian minimum ialah 150 em. Arkitek ringkaian Jomputer membina pelan induk rangkaian data komunilasi din mereka bentuk patch vor infrastralerur yang sedia ada sebagai tindak balas kepada ancaman Jeselamatan, Pengguna memasuktan uur ke dalam epikasl Komputer. Ui sama agg mur sudah mencapal usia minimum 47 tahun, (@) Kenal pasti pemboleh ubah, (0) Kenal pasti nila yeng diujl. (c) Tuliskan ungkapan logik untuk mengui nilal dalam pemboleh ubah, Ponyelesalan: (@) umur wo 17 (C) umur > = 17 atau umur > 16 oo Pseudokod untuk Struktur Kawalan Pilihan Perhatikan bahawa terdapat dua blok dalam Pseucokod struktur kawalan pilihan. Blok pertama mengandungi blok penyataan yang akan dilaksanakan sekéranya syarat memiverican nilal “Benar”, Perkataan Jkj, dlikuti oleh syarat digji, Blok penyataan mesti berade di antara woxa Ska dan TAMAT_ITKA t OIKA SYARAT_BENAR MULA_JIKA BLOK PENYATAAN 1 TAMAT_JTKA Biok selainnya mengandungj blok penyataan yang akan dilaksanakan sekiranya syarat dari blok pertama gagal memberikan nilai "Benar", yakni “Palsu". Blok penyataan “Palsu" mesti berada di antara MULA_JIKA_ ‘Trpas dan TAMAT_sTKA_TIDAK JIKA_TIDAK MULA_JIKA_TIDAK BLOK PENYATAAN 2 TAMAT_JIKA_TIDAK Gm ‘Tui pseudokod untuk menilai hari sama ada hari sudah galap atau sebalknya. Pengguna cikehendaki menjawab sarra ada "Benar" etau “Palsu* apabila ditanya jike hari sudah gelep. .Jka "Benar* untuk hari sudah gelep, papar “Ambil baju cari mpaian." dan *Simpan dalam bakul.". Jka seballknye, papar "Sidai baju ci ampaian’, Penyelesaian: 1. MULA 2. Papar "Hari sudah gelap; Benar atau Palsu?" 3. INPUT jawapan dengan nilai "Benar" atau “Palsu" Sains Komputer Tingkatan 4 J 4, JIKA Hari_sudan_gelap? NULA_JTKA OUTPUT ‘Anbil semua baju dard ampaian." OUTPUT "Simpan semia baju dalam bakul." TAMAT_IIKA OTKA_FIDAK MULA_STKA_TIDAK OUTPUT "Sidai baju di anpaian.” ‘TANAT_JIKA_TIDAK 5. TAXAT a Ge Tulis pseudokod bagi biok struktur kawalan pithan untuk menguji sama ¢ ads umur penaguna sudah mencapai usia minimum 17 tahun, Jka umur pengguna adalah 17 tahun atau ke atas, paparkan bahawa pemohon bole memohon menduduki ujian lesen memandu . Paparkan bahawa pomohon belum cukup umur sekiranya ujan syarat gagal. Penyelesaian Persatuan bola sepak di 2, MLA SMK Gemilang s 2. Papar "Nasukkan umur penchon:" mencari pemain bola 3. INPUT urur sepak yang baharu. 4. SIRA umur > 16 MULA_JIKA Syarat yang diletakdsan OUTPUT "Anda boleh pchon lesen,* bagi pemain bola sepak TANAT_JIRA yong bahar mestilah DAK MULA_JIKA_TIDAK tidak memakai kaca UTPUT "Anda belun cukup’ vivur.* rata. Tulis pseudokod TANAT_JIKA_TIDAK untuk menguji sama 5. TANAT ada pemain memaki kkaca mata atau tidak. Carta alir untuk Struktur Kawalan Pilihan ) Dalam carta alir, nod syarat, diwakili oleh bentuk geometri rombus. Terdapat satu anak panah masuk dan dua anak panah keluar. Anak panah Benar Palsu masuk membawa data untuk dinilai oleh syarat dalam nod syarat. Hasil penilaian adalah sama Y ada "Benar” (7rue) atau “Palsu” (False). penye loan Henyatanwiaiel Dua anak panah keluar ialah keputusan untuk v t “Benar" dan “Palsu". Anak panah “Benar” dipilin Penyataan 1.2 Penyataan 2.2 apabila syarat dalam nod menghasilkan keputusan “Benar" dan “Palsu". Setiap anak panah menuju kepada blok penyataan-penyataan yang berbeza. Hal ini bererti tindakan susulan adalah berbeza Gan bergantung kepada hasil ujian syarat. Ganae) BAB 1 PENGATURCARAAN ° Lukis carta alr untuk menila hari sama ada sudah golap ateu sebalknya, Pengguna dikehendaki may —~ es ama ada “Benar’ etau *Palsu" apebila ditenya jika hari sudah golap. Jka “Bonar* untuk hari such th apar “Ambi baju dari ampaian.* dan *Smpan dalam boku." Jka sebalinya, paper "Sal baju di arnt ian Penyelesaian: PAPAR " Hari sudah gelap? jyatakan Benar atau Palsu: INPUT javapan jawapan = "Benar' ? ourruT vaAmbil semua baju dari ampaian.* oureur “Sidai baju di ampaian." oureuT “Simpan semua baju dalam bakul.* Salns Komputer Tingkatan 4 CEMEIOD __ Lukis carta alr untuk atur cara yang menentukan umur pemohon dan tentukan sama ada pemohon boleh memohon ‘sen memandu ataupun tidak, Umiur minimums alah #7 tahun Penyelesaian Mola | PAPAR "Masukkan umar INPUT umur// a Palou umur > 16 7 as he an fone / Q_ BAB PENGATURCARAAN Aktivt ini boieh dlakukan di dalam kelas. Persediaan: 1 Guru menyeciakan 10 bij bola ping pong 2 Bola-bola ping pong diberikan abjad setiap satu dari | hingga 10. 3 Guru memasukkan kesemua 10 biji bola ping pong ke dalam satu karung kein, Aktiviti kelas: 1 Setiap murid diminta mengeluarkan sekeping kerlas kosong bersalz Jedi kurang Ad, 2 Guru akan menulis peraturan permainan berikut oi ates papan tulis: JIRA NOMBOR_BOLA $ 2 == 0 MULA_JIKA OUTPUT "EB" TAMAT_JIRA SIKA_TIDAK MULA_JTKA_TIDAK OUTPUT "A" ‘TAMAT_JIKA_TIDAK ‘Nota: Ujan nombor genap ialah menggunakan modulo %. Modulo 9% mencari bak! pernbahagian ombor dengan 2. Nombor ‘genap memberikan baki sifar. Nombor ganjil memberikan baki satu, ‘Mulakan aktivii. Guru akan mengambil bola daripada karung dan tunjukkan kepada kelas. Guru akan menulis jawapan dalam kertas A4 guru. Bola yang dikeluarkan tidak akan dmasukkan serrula ke dalam karung, 4 Guru akan meminta murid menulis jawapan dalam kertas M1. 5 Guru akan mengulangi langkah 3 dan 4 sebanyak 6 kali 6 Pada akhir aktivii, guru menunjukken jawapan bella kepada muri dan meminta murid mongra bilangan jawapan yang bene, Contoh jawapan: ‘Setiap jawapan mempunyai enam adja kombinasi A dan E seperti berikut, AEEEAA ins Komputer Tingkalan 4 Struktur Kawalan Pengulangan Struktur kawalan pengulangan mengulang arahan- arahan komputer dalam blok. Ulangan boleh berlangsung sehingga menerima syarat berhenti ataupun mencapai bilangan yang sudah ditetapkan. Cuba bayangkan seorang murid berlari mengeiilingi bulatan dan terus- menerus membuat pusingan, Sintaks struktur kawalan ulangan adalah seperti yang berikut: Lips} (Eee i SELAGI SYARAT MULA_SELAGI BLOX PENYATAAN TAMAT. es <——_____| | Blok Penyataan | ¥ Benar palsu r ( Dalam pseudokod, perhatikan bahawa syarat juga digunakan seperti dalam kawalan pilihan untuk menentukan tindakan seterusnya. Syarat diletakkan selepas kata kunci SELAGr. Tidak seperti kawalan pilinan, kawalan pengulangan menggunakan keputusan syarat "Benar" untuk mengulang arahan-arahan dalam blok penyetaan, Jika keputusan Beh syarat adalah “Palsu", maka blok penyataan tidak akan diendahkan. Blok penyataan ialah penyataan-penyataan di antara kata kunci MULA__ im SELAGI dan TAMAT_SELAGI. Demikian halnya dalam carta alir, lihat rajah 1.15. Nod syarat dalam ao struktur kawalan pengulangan menentukan sama ada blok penyataan pS perlu diulang. Jika kKeputusan adalah "Benar", anak panah menuju (Q._BAB 4 PENGATURCARAAN a © Pakar, Pereka data Bekerja, dengan set data yang ‘sangat besar. Kerja ini juga beraitan dengan Pengiraan statistik, Pakar peroks data akan mereka Tent algorstmsa dan Perisian analisis data. dalam, Persckitaran yang tertenta, Jika kita that kepada Ischidupan seharian, didapati strakrur kawalan pengulangan juga berliku dalam kehidupan kita, Misalnya,murid yang setiap pagi akan bangun pada Jam 6:00 pagi dan bersiap-siap untuk ke sekolah. Perkara ini bberulang dari hari Isnin hhingyea ke hari Jumaae, Perkara ini hanya tidak berating jika terdapae gangguan. Contohnya seperti murid tersebur Sean pada hari Khamis, ‘Maka, tiduk akan berlaku pengulangan dalam kawalan hidupnya pada tari Jumazt minggy tersebut. Sains Komputer Tingkotan 4 kepada blok penyataan dan seterusnya ballk kepada Nod syarat iby dluji sekal tag, Sekranya keputusan adalah "Palsu", anak panah a akan meninggalkan kesemua blok penyataan dan nod syarat, lu Cute) Blok Penyataan Nod syarat Benar Palsu Rajah 1.17 Nod syarat dalam struktur kawalan pengulangan, Dalam rajah di atas, perhatikan perbezaan reka bentuk carta al i antara struktur kawalan ulangan dengan struktur Kawalan_pilihar Perbezaan ketara adalah hala tuju anak panah bagi keputusan "Benar yang berpatah balik supaya pengulangan boleh dilaksanakan jike peri Oleh sebab itulah struktur ini disebut sebagai struktur kawalan ulangan, Tuls pseudokod untuk aplikasl yang akan mencetak teks ‘Saya gembira hhadir ke sekolah hari ini." sebanyak 5 kali. Penyelesaien: 1. Mula 2. pembilang = 0 3. SELAGI pembilang < 5 MULA_SELAGT OUTPUT "Saya gembira hadir ke sekolah hari ini." pembilang = pembilang + 1 TAMAT_SELAGT 4. Tanat GQ Luks carta alir untuk aplikasi yang akan mencetak teks *Saya gembira haclir ke sekclah hair ini,” seoanyak 5 kali, Penyelesaian: penbilang = 0 pembilang = penbilang + 1 oureor "Saya gembira hadir ke sekolah hari ini." pembilang < 5 Benar Diana, Ai Lee dan Nathan sedang berlatih di padang sekolah ‘untuk menyertai acara arian 100 meter. Mereka telah diarahkan oleh Cikgu Hashim untuk berlari di dalam bulatan sebanyak 20 pusingan tanpa henti bagi tujuan menguatkan stamina, Berdasarkan situasi ini, bina carta alir yang sesuai. BAB 4 PENGATURCARAAN Atv ini boleh dilakukan of dalam keles, Persediaan: 1 Guru menyediakan 12 biji bola ping pong. 2 Bola-bola ping pong alberikan nombor cetiap satu ceri O hingga 9, 8 Dua lagi bola pina pong cliberikan nombor negatif, at -1 dan -2, 4 Guru memasukkan kesemua 12 bij bola ping pong ke dalam satu karung kain, Aktiviti kelas: + Setiap murid diminta mengeluarkan sekeping kertas kosong bersaiz lebih kurang Aa, 2 Guru akan menulis peraturan permainan berikut di atas papan tuls: a. mutA INPUT NOMBOR_BOLA + SELAGI NOMBOR_BOLA > -1 MULA_SELAGI 3.1 OUTPUT NOMBOR_BOLA 3.2 AMBIL BOLA DARI KARUNG 3.3 INPUT NOMBOR_BOLA TANAT_SELAGI 4. TANAT 3 Mulakan aktiviti. Guru akan Meminta murid melihat nom! jawapan dalam kertas Ad gi ™engambil bola daripada k ior atas ping pong ‘sebagai ru, Bola yang dikeluarkan ti 4 Guruaken meminta murid menulis jawapan dalam kert 5 Teruskan aktiviti sehingga bola yang dkeluarkan dari ‘rung dan tunjukkan kepada kelas, Guru "INPUT nombor_bola’. Guru aken menuis idak dimasukkan semula ke dalam karung, 'as Ad sebagei "OUTPUT nombor bola’ ipada karung ialah nombor negattit & Pacia akhir alivi, guru menunjukkan Javapan bellau kepada mud dan meminta murid mengra bilangan jawapen yang benar. Conton jawapan: 31745968 a we. ‘Sains Komputer Tingkatan 4. _O Menguji dan Membaiki Ralat dalam Algoritma Algoritma diyji setelah ditulis untuk tujuan pembaikan, Pengujlan algoritma dibuat sebelum algoritma ditulls sebagai kod komputer. Lihat Rajah 1.18. Hal ini demikian Kerana, pembelulan ci poringkat Kod mengambil masa yang lebih lama dan lebih mahal daripada pembetulan di peringkat algoritme, Matlamat pengujian algoritma adalah untuk memastikan logik algoritma adalah betul dan memikirkan pembaikan algoritma supaya lebih efisien. Algoritma yang telah diuji mempunyai ciri-ciri yang berikut: roeree * Mudah difahami, maka mudah ditulis sebagai atur cara komputer. Alu * Lengkap, yakni memenuhi semua keperluan penyelesaian masalah. Penganalisis operasi © Efisien, yakni algoritma berfungsi dengan pantas dan tidak memakan _Penyelidlkan banyak ruang memori. menyelesaikan masalsh dan mewnujudkan strates * Memenunhi kriteria reka bentuk perisian yang ingin dibangunkan. yang didorong oleh data ‘dalam bidang seperti Ralat dalam i logistic dan kewangan . Algaritma Pengunalisis bahagian ini Algoritma yang tidak memenuli kriteria akan sukar difahami, titaklengkap, —__sentiasa berusaha untule kurang efisien dan tidak memenuhi kriteria reka bentuk perisian, Perkara —_meneari penambahbaikan, iniakan mengakibatkan perisian yang dihasilkan mengandungi ralat. Hal ini opersi data supaya tidake kerana pengatur cara bergantung kepada algoritma untuk menghasilkan ‘mengganggu program data atur cara. Algoritma yang mengandungi ralat akan menyebabkan pengatur cara menghasilkan atur cara yang juga mengandungi ralat. Rejah di bawah menunjukkan hubungan ralat algoritma dan ralat atur cara. dan sentiasa memantau proses organisasi data, © OP ree eesuiph ote} i. Kecuaian pengatur cara OQ. BAB 4 PENGATURCARAAN ae ngan relat algorima dan ralal alur cara Rajah 4.19 Hut Algoritma boleh dij secara manual, iat dengan menggunakan kkertas dan pen, Teknik ini dipangeil des-chvcking, Matlamat dest-checking inlah pemerilsaan sama ada algoritma berfungsi dengan logik yang berul atau schaliknys. Pemeriksaan devb-chevting dilakukan sebelum algoritma dirulis sebagai kod komputer. Hal ini kerana, pemberulan di peringkat kod meagambil sas yang lebih lama daripada pemberulan di peringkat algoritma. Ujan algortma boleh mencegah ralal algoriima, Relat algcrima yy menyebabkan dua jenis rial dalam alr cara yang baka! cna daripada algoritma tersebul, IIhat Jadual 1.4, in (a) Ralat sintaks ~ tidak wujud dalam algortma, Ral sintaks borg kerana menggunakan bahasa pongaturcaraan seper Java dent cui, Rolat sintaks biasanya dtemul socara cutomatik oloh porgs kompiler bahasa pengaturcaraan. Ralal algoritma tidak menyebabjan ralat sintaks, (b) Ralat logik — ralat logik berlaku kerana perisian yang dihasilkan tidy menjalankan fungsi-fungsi yang sepatutnya, tidak lengkap ataupun fungsi menghasilkan output yang tidak tepat. Jadu 1 4 Contoh-contoh ralat logik ; ‘Ngoria menggunakan formula lian untuk keluasenbultan, Fumosi yang slant in berpuncadaripaca ungkapan yen salah, Agora sepatunya memberkan cua ouput iit kur it ee = ee buatantetap seelah iyi, cura salu ouput yang Jengkap telah dipamerkan. . . Fala ini bepunca daipac kecualn sehingga mengabaikan teria kre lr ca, Aigoritma tidak mempamerkan titik perpuluhan bagi keluasan Output yang titak —_bulatan menyebabkan kehiangan kejituan tepat Flat in berpuncadaripada perggunaan ens data yang tac sesuaalaupun umputan yang tidak bet Untuk mencegah ralat ini daripada berlaku dalam atur cara, algoritma mestilah dipastikan mudah difahami pengatur cera, lengkao dan memenuhi kriteria reka bentuk, (© Ralat masa larian — ralat yang timbul apabila atur cara dijalankan, Ralat masa larlan termasuklah atur cara yang tidak dapat dimulakan, menjadi sangat perlahan ataupun tidak responsif. Ralat ini boleh dikenal pasti daripada kegagalan output dan paparan ameran dalam atur cara. Contoh: Exception in thread "main" java.lang. Nul1Pointersxception Ralat masa larian boleh dikesan melalui reka bentuk algoritma yang tidak efisien atau salah. Misainya: * Struktur kawalan urutan yang tidak betul. © Pemboleh ubah tidak mengandungi nilai atau objek. © Pembahagian dengan sifar. © Struktur kawalan pengulangan yang tidak boleh berhenti kerana logik syarat yang salah. Langkah-langkah Pengujian Algoritma Pengujan algoritma lalah pemeriksaan secara manual dan_ teil Penguijian algoritma juga dikenal sebagai desk-checking kerana toknik ini menggunakan kertas dan pensel. Pengujian algoritma harus dilakukan secara sistematik. Umumnya, pengujian melibatkan langkah-langkah yang berikut: 1 Kenal pasti "Output Dijangka" 2 Kenal pasti "Output Diperoleh" 3 Bandingkan “Output Diperoleh" dengan “Output Dijangka", 4 Analisis dan baiki algoritma, Doing aidesk-cbek 0021/7 Img, Langkah 1: Kenal pasti “Output Dijangka” Kenal pastinital-nilal beberapa pasangan input-output tanpa menggunakan algoritma, Nilai-nilai ini mudah diketahui penguji berdasarkan kriterla/ fakta umUM ataupun pengiraan manual. Contoh berdasarkan kriteria: Umur layak memohon lesen memandu ialah 17 tahun dan ke atas. Analisis: Jadi, sekiranya input umur ialah 18, output dijangka ialah permohonan dibenarkan, Begitu juga dengan umur 20, 30 dan ke atas. Namun, umur 18 tidak memenuhi syarat, oleh tu tidak dibenarkan. ANAISIS Ge amass bagi boleh disimpulkan dalam jadual yang ditunjukkan di bawah. aituisl jong berileur Ketinggian yang layak | innit uit] outst ianoka | uuntule menyercat 18 Permohanan dibenarkan pasukan bola keranjang 20 Permohenan dibenarkan ialah 170 cm dan ke atas, Pastikan analisis 30 _Permohonan cibenarkan eat cocangionl 15 Tidek dibenarkan maldumat input yang dliyji dan output Langkah 2: Tentukan "Output Diperoleh" dijangka. Matlamat semakan adalah untuk memastikan algoritme berfungsi dengan logik yang betul. Uji algoritma menggunakan input bagi output yang telah dikenal pasti dalam langkah 1. Output yang diperoleh melalui proses algoritma adalah "Output Diperoleh”, Salah satu kaedah sistematik adalah dengan menggunakan jacual pengujian tahap algoritma. Jadual ini memastikan setiap tanap dalam algoritma diuji. Format jadual adalah sepert! ditunjukkan dl bawah. Jadual 1.5 Contah-contoh rat gtk Ea as aes ‘No—nombor baris dalam algoritma : P,— pemboleh utah pertama : ,—pemboeh uah kedua 2 | .~ pamboch ubah ke-n i VO Irouv/Output Q BAB 1 PENGATURCARAAN f 1) GS Pakar sokongan komputer berkhidiat untuk orang, ramai seperti menyestiakan perkhidmatan pelangyan Gan pekerja dalam bing teknologi maklumat jabatan bagi membanta pekerja yang lain, Pakar sokongan komputer ‘memberikan tumpuan kepada iti dengan data dian ranggaian komunikasi, ) Konsep yang digunakan dalam desk checking boleh digunakan dalam ‘kehidupan seharian kita, Misalnya, sisaran ‘sta untuk setiap mara pelajaran ialah A dalam peperiksaan, kepatusan, yang kita peroleh ialsh output yang diperoleh sama ada A,B,C dan sererusnya. Sekiranya kite tidak mencepai sasarin, ‘ita akan membaiki kelemahan kita. Begin juga dengan konsep yang. didapati pada dest checking, Untuk menghaslkan Jacl 1.6 secara efisien, pastkan perkara-perkar, berikut dilaksanakan: 1 Pastikan pseudokod mempunyal nombor bag! setiap bar's, 2 Kenal_pastl_pemboleh-pemboleh ubah yang cigunakan dala pscudokod, Hal ini acialah penting kerana pomboleh-pomboleh ubat akan menghasilkan lajur-lajur jadual (@) Bilangan lajur = bilangan pemboleh ubah + 2 (b) Lajur pertama adalah untuk nombor baris. (c) Lajur-lajur seterusnya adalah untuk setiap pemboleh ubah, (@) Lajur terakhir /O adalah untuk Input pengguna dan outoyt diperoleti. (®) Bilangan baris jadual = bilangan baris tahap algoritma. Ruy, psedokod 3 Dalam jadual yang ingin diluk’s, masukkan 1 sebagai nombor barig pertama untuk MULA dan dakhiri dengan nombor baris.teraknir pseudokod. hin Contoh proses-proses dalam setiep tahap adalah seperti menerima input melalui lajur /0, mengumpuk nilai pada lajur pemboleh ubah, mengubah nial data dalam lajur pemboleh ubah dan mempamerkan hasil dalam lajur VO. Output yang ciperolehi melalui proses algoritma dipanggil “Output Diperoleh". Langkah 3: Bandingkan "Output Diperoleh" dengan "Output Dijangka" Sekiranya "Output Diperoleh" sama dengan "Output Dijangka", algoritma Mungkin bebas daripada ralat. Ulangi langkah-langkah di atas dengan beberapa "Output Dijangka" lain untuk pengesahan. Contoh keputusan algoritma TANPA relat: EE ES 1 18 Permohonan dbenerkan Permohonan dibenarkan . 20 Permohonan dibenarkan Permohonan dibenarkan 3 30 Permohonan divenerkan Permohonan dibenarkan 4 15 Tidakclbenarkan, Tidak denarkan Contoh keputusan algoritma DENGAN ralat: Ei Omar ey | (Un anae | lh 1 18 Parmohonan dbenarkan Tidak divenarkan 2 20. Permohonan dibenerkan Tidak dbvenarkan 3 30 Permohonan dibenerkan Tidak dibenarkan 4 15 Tidak dibenarkan Tidak dibenarkan (oe, Sains KomputerTingkatan 4 Langkah 4: Membaiki Ralat Dalam Algoritma AD susinivon + Somak nama pemboleh ubah 2 Semak umpukan CD 4 Somak ungkapan | 4 Somak urutan botul ED riaeion | 5 Somak syarat struktur kawalan | | 6 Semak cabang struktur kawalan ° 1 Susah faham: Adakah baris-beris algoritma mudah dilkutl_semasa pengujian? vika tidak, semak penggunaan behasa. Gunakan bahasa mudah, Tingkas dan konsisten. 2 Tidak lengkap: Adakah algoritma melaksanakan semua fungs! yang diperlukan? Sekiranya tidak, tambah baris-baris pseudokod untuk fungsi yang ‘tidak dimasukkan. 2 Tidak efisien: Adakah urutan dan struktur algoritma kompleks? (@) Penyataan-penyataan yang tidak digunakan langsung harus dibuang. (b) Semak syarat dalam siruktur kawalan pilihan dan struktur kawalan Pengulangan supaya boleh menghasikan kedua-dua keputusan “Benar" atau "Palsu". (c) Jika syarat struktur kawalan pilihan sentiasa menghasilkan “Benar" sahaja atau “Palsu" sahaja sepanjang masa, buang salah satu cabang pllihan dan ubah kepada struktur kawalan urutan. (d) Jika syarat dalam struktur pengulangan sentiasa "Palsu", semak sekiranya blok pengulangan benar-benar diperlukan. (e) Jika syarat dalam struktur pengulangan sentiasa “Benar", semak ungkapan syarat jika ada kesilaoan untuk mengemaskinikan nilai pemboleh ubah. Tidak penuhi kriteri “Output Dijangka"? (@) Semak ungkapan yang digunakan untuk sebarang kesilapan. eatrecing pik reddit (b) Semak urutan baris algoritma supaya logik. checks (c) Pastikan nilai-nilai diumpuk kepada pemboleh ubah yang sesual. po0.g/HWywu2, Q BAB 1 PENGATURCARAAN ae = Adakah “Output Diperoleh" berlainan daripada An algorithm for error 2 Semak sekiranya algoritma barikut adalah bebas raat. Agorima ini mem input nama daripada pengguna dan mempamerkan "Hell" dikuti nama na input sebagal output, Berdasarkan Contoh cence 17,semak sekiranya algoriema berikat mula adalah bebas raat. INPUT NANA PAPAR "HELLO" Tamat kuti langkah-langkah berkut: 1 Kenal pasti "Output Dijangks ‘Adam Hello Adam Algoritma ini meminta input nama daripada pengguna dan mempamerkan “Selamat tinggal” diilausi nama input ae ola 2 Tentukan "Output Diperoleh* ) {a) Pastikan setiap baris erahan dalam psaudokod diberikan nombor. Contoh: Mura 2. Mule INPUT NANA lexp| 2. INPUT NANA PAPAR "HELLO “ 3. PAPAR "HELLO ° Tamat 4. Tamat (b) Senaraikan semua pemboleh ubah dalam algoritma: Pemboleh ubah:nama (©) Lukiskan jadual pengujan tahap algortma: 1 ‘ sa ar A: ‘e (@) Lukiskan jadual penguilan tahap algorima’ aaa | 1 ‘pul 4 Nota: *null" jalah rilai pemboleh ubsh jenis data teks yang belum diumpuk dengan sebarang rile, (@) Laksanaxan arahan dalam setiap bars, Arahan tersebut mungkn mengubah data dalam pemboleh ubah. Kemas kini nilei data setiap pemboleh ubah di setiep baris. Pe oe 1 null "Adam" ‘nama?“Adam* "Adam" OU oe lan Hales (8) Bandingkan "Output Diperoleh" dengan "Output Dijangka’, Dalem contoh berikul, kelihatan "Output Diperoleh’ berlainan daripada "Output DiJangka’, Untuk mengesahkan keputusan, ulang dengan input uji yang lain. kaa Bete ieee i 3 Adam Hello Adam Hello Zhi Hello Zhi-¥ Hello Darshini Hallo Darshini Hello Kesimpulannya, algoritma mengandungi ralat. Relat lalah kegagalan input dipamerkan dalam output. BAB t PENGATURCARAAN Penganalsis keselamatan, maklumat memainkan peranan yang penting, dalam menjaga kerahsiaan sesuatu orga Mereka memeriksa sistem keselamatan tekrnologi meklumat dan mereadangkan Iangkah- Jangkah keselamatan, termasuk membaili kelemahan sesuatu sistem tekologi maldumat, scacbuah organistsi, 3. Membaiki ralat dalam algoritma. Nombor baris yang menghasilkan output yang tidak tepet tala h ketiga. Bar's pseudokod yang berkalt adalah: bay 3. Papar “Hello Logic ervrs in Jacw Selolah ditelt, kelihatan jelas bahawa pembolch ubah nama , goo.gValn26U mengandung! input pengguna ticlals aca dalam barls tersebut, Baile baw torsobut: 3. Papar "Hello " 4 nama ig adi, pseudokod yang dibalki kelihatan seperti yang berikut; Mula Input nama Papar "Hello " + nama Tamat lang) langkat-langkan penguian menggunakan pseudokod yeng jeh Gibaiksi, Pada kali ini, hasil ‘Output Diperoleh* menepati "Output Djangka" Ujian dibuat beberapa kali untuk pangesahan. 1 ‘Adam: Helio Adam Helo Adam Apakah perbezaan antara ralat algoritma } dan ralat atur cara? Antara ralat yang algoritma dan ralat arur cara, yang manakah 2 hist Helo Zhi Helo 20 Gnas 3 Das Vl Casi Helo bastin Anca dan rakan-rakan ingin melakukan perbandingan harga bagi makanan yang dijual di kantin sekolah anda dengan harga jangkaan anda, Lakukan aktivt ini berdasarkan arahan yang bericut. 1. Bina satu jadual harga makenan yang anda dan rekan-rakan anda Jangkakan, Misalnya, harga sepinggan nasi lemiak, mi goreng, air sirap, dan kuih-muih. Contch jadual adalah seperti beri«ut: Nama makanan aoe ‘Nasi leak RMT.50 Mi goreng M150 Air sirap RW 0.50 Khemu (et) RM 0.40 2. Kemudian, pergi ke kantin sekolah anda dan bina jadual harga makanan yang sama yang didapati i kantin sekolah anda. Bina jadual seperti di arahan 1. t 8. Setelah itu, bandingkan harga makanan yang anda jangkakan dengan harga sebenar makanan di kantin sekolah anda. Aplikasikan pembelaiaran desk checking yang telah anda pelajar. - Sains Kempuier Tinghalan 4 Pengesanan Nilai Pemboleh Ubah pada Setiap Tahap dalam Algoritma Algoritma mengumpuk dan mengubah nilal sesuatu pemboleh ubah. Oleh sebab itu, nilal pemboleh ubah adalah tidak tetap. Setiap baris algoritma mungkin membuat perubahan pada pemboleh ubah tertentu, Jadual pemboleh ubah digunakan untuk mengesan nilai pemboleh ubah pada setiap tahap algoritma. Contohnya adalah seperti yang berikut: GQ Algoritma yang berikut mengumpuk pemboleh ubah z dengan nilal 100, kemudian dibahag dengan 2, didarab dengan 4 dan ditambah sebanyek 25%. Apakah rilai z di setiap baris algoritma yang berikut? 2, Mula i Berdasarkan Contoh 5. " z 17, berikan nil 6. a sekizanya pemboleh 7 vubah z diumpuk dengan nilai 75, kemudian Penyelesatan: dibahagi dengan 5, didarab dengan 9 dan a, Lukis jadual bernombor untuk setiap baris kod di atas. ditambah sebanyake b. Kenal pasti dan sediaken lajur input dan output program. Lajurini ciperlukan 3094, untuk mengenal pasti input pengguna dan output yang dihasilkan program. . Kenal pasti pemboleh ubah dan sediakan ljur khes pemiboleh ubah z. 2 100 100 z 50 = 4 200 - 5 250 - 6 260 250 ' ' Analysis of Algorithm googl/ukdFpQ. Contoh 18 menunjukkan bahawa nilal pemboleh ubah z diubah beberapa kali. Dalam baris algoritma 2, z diumpuk dengan nilai 100, tetapi dalam baris 3 diubah menjadi 50. Dalam baris 4, nilai z didarab dengan 4 menjadi 200. Algoritma baris 5 menambah sebanyak 25% nillai z iaitu 50 kepada nilai asal z iaitu 200 menjadiken nilai baharu z ialah 250, Dalam baris 6, nilai z tidak berubah pada 250. Manakala dalam baris 7, semua nilai dibersinkan kerana algoritma sudah tamat. Q_ BAB 1 PENGATURCARAAN ae ah ubah berubah mengikut porubahan algortma Lakukan aktivtl ini mengikut arahan yang betikut Bina kumpulan dengan empat orang ahi. Setiap kumpulan diberikan satu pemboleh udalviaitu y yang diumpuk dengan niai 60, Abli yang petama peru memilih sualu nombor antara nombor 4 hingga 10, Ahi yang kedua pull peru memilih suatu nombor antara nombor 11- 20, Kemudian, alll yang ketiga perl memilh suatu operas aritmatik sama ada "4", "-" dan "¢", Abli yang Keempat juga peru memilin suatu operasi aritmetik sama ada dan *x’, Gabungkan semua nambor dan operasi aritmetix yang anda pilin. Selepas itu, bina perwakilan algoritma berdasarkan pemboleh ubah dan semua nombor seria operas aritmetik yang anda pil Binakan jadual untuk mengetahui nila y di setiap batis aigoritma yang telah anda bina, EES Mengenal Pasti Output —=] yang Betul dari Algoritma et Berdasarkan Input yang dengan melayn! laman Diberi sesawang di bawah, Qutput yang betul bergantung kepada nilai pemboleh ubah sewakty as algoritma papar dipanggil. Dalam Contoh 18, paparan dibuat pada baris % keenam. Oleh sebab itu, nilal z pada baris keenam sahaja digunakan, fH laitu 250, Adakah output yang ditentukan menggunakan algoritma. betul? goo.gl/mTFyW3 Membandingkan output dijangka merupakan satu-satunya cara untuk menentukan kesahihan output algoritma. Output dijanaka ditentukan secara manual, jaitu hitungan manual. Jika output algoritma adalah betul, output algoritma sepatutnya bersamaan dengan output dijangka. (Ge Algoritma berikut meneima dua nombbor dan memaparkan jumleh sepa yang berikut: Mula INPUT x . INPUT y + jumlah =x + y » PAPAR jumlah . Tamat Tentukan sama ada algoritma di atas adalah betul. Sains Komputer Tingkatan 4 Penyelesaian; 1 Tentukan pemboleh ubsh: x, y,jumlah 2 Gunakan data uijian yang sesual: (a) Pengguna masukkan integer 12 apabila program meminta Input untuk: pemboleh ubah x. (b) Pengguna masukkan integer 88 apablla program meminta input untuk pemboleh ubalh y, Berdasarkan Contoh 19, cuba gantikan nilai x dengan integer 5 din y dengan integer 31. 3 Keputusan dijangka: Hitung x + y = 12 4 88, Maka, output dijangkca lalah 100. 4 Luks jadual, {@) Kosan nilai pemboleh ubah pada sotiap baris algoritma, ()) Kenal pasti output dari algoritma berdasarkan input 5 Baningkan output algortma dengan output dijangka. dawapan Bagi input x = 12 dany = 8, output diangka alah 100 (umiah). Outout algoritma, jumlahnya ialah 100. Jumilah ini adalah sama dengan output dijangka, Make. sigoritma telah mencapai kelepatan nilal dalam. ujian di atas. Bag _menyemak jawapan untuk kepastian, gunakan niai input-input yang berbeza dan tentukan output dijangka. 1 zs = - 2 12 = = = 3 12 88 - - 4 12 88, 12+ 88 = 100 = 5 12 88 400 sumiah = 100 6 = <= ss 2, Output algoritma, jumlahnya ialeh 100. Jumlah ini adslah sama dengan output dijengka. Maka, algoritma telah mencapal ketepatan nilai dalam uijan di atas. Bagi menyemak jawepan semua untuk kepastian, gunekan nial input-input yang berbeza dan tentukan output dljangka. BAB 1 PENGATURCARAAN Terjemahan Algoritma ke dalam Bahasa Pengaturcaraan Setiap baris algoritma yang direka bentuk dapat ditukarcan kepada 4, komputer, Algoritma berbentuk universal. Oleh itu, simbal dan Derkataay yang digunakan tidak perlu bersandarkan kepada mana-mana bahasy pengaturcaraan, Banyak lagi bahasa pengaturcaraan yang ser, digunakan termasuklah Visua/ Basic (VB), Java, C# dan lain-lain. " Tahukah CGI Selain daripada Jaw, terdapat banyak lagi ahasa pengaturcaraan yang telah dibangunken ‘leh pengatur cars. Antara behasa penganurearaan yang popular ialah Peyton, Forh, Perl, Lua, Smaitiall, Lage dan Raby. Terjemahkan setiap baris algoritma kepada kod komputer yang sempurna, Penyelessian penne oe Muta public static void main(string{] args) { _PAPAR "Nama pengguna” system.out.print ("Masukkan nama pengguna: "); Si cera String nama = new java.util Scanner (system. in) . nextLine (); "PAPAR "Aga Khabar’, nama, "2" System.out.printin ("Hello " + nama) ; Tamat } XO. “Anda dan rakan anda diberkan dua situasi. Teremiahkan stuasi yang ciberikan kepada bentuk algontma dan kod komputer Java. Selamat mencubal Situasi 1 ameshmengajakibu dan bapanya untuk bercuti cPeralcketika cut sokolah. Dia memuat perancanga? vpatuk melawat ke Zoo Taiping ketka percutian tersabut. [bu bepanya telah bersetuju dengan rancang® Ramesh, Untuk mengelakkan darioada kesesaken ketika beratur bagi membei thet memocuki tersebut, Ramesh membual keputusan untuk membel tiket secara atas talian. Bantu Ramesh mer fan terjemahkannya kepada kod komputer. tiket secara atas talan dengan menggunakan algoritma d: Situasi 2 Chew An dan Jamilah ingin meminjam buku rujukan Sains Komputer Tingketan 4 di sekolahnya: Bantu Chew An dan Jamilah untuk meminjam buku tersebut dengan menggunakan algoritma can terjemahkannya kepada kod komputer. | Menterjemah algoritma ke dalam bahasa pengaturcaraan ‘Sains Komputer Tingkatan 4p eo se yang dapat menentukan keluasan cinding sebuah bik sotelah mangambi i jasarkan soalan 1, ubah algoritma untuk menentukan kos mengecat sebuah bilk s setetah k kaki per segi dimasukkan. Ps | Tulis pseudokod untuk atur cara yang telah menetima dua nombor dan memaparken juiahnya. sebagai output. 4 Tulis Pseudokod untuk atur cara yang menerima jejari bulatan dan menentukan ukur lilt dan Iues buletan tersebut. 5 Luk's carta alir untuk atur cara yang menerima dua nombor dan kemudien mempamerkan purat 6 Tentukan sama ada penyataan berikut ‘Benar* atau "Pals fa) Pengujian algoritma dibuat setelah kod Java ditulis. ( (0) Ralat logik berpunca daripada ralat algoritma ( (©) Ralat sintaks berpunca daripada ralat algoritma, ( (¢) Salah satu punca ralat algoritma ialah kegagalan memenuhi kriteria. ( 7 Katakan anda menetap di Kermaman dan perlu berulang-alik ke Kuantan. Anda ingin mengetahui sama ada memandu kereta ataupun menaki bas lebih menjimatkan, Anda juga mengetahui harga tiket bas dari Kemaman ke Kuantan dan jarak perjalanan dan kos petrol bagi satu_ kilometer. Tuliskan algoritma untuk menyelesaikan masalah ir Doric ole Kerteh Cy 8 Sebuah aplikasi menerima dan meriumiahkan ime nombor integer daripada pengguna menggunekan struktur kawaian pengulangan. Seterusnya, aplikasi menghasikan output purata lima ‘ead nombor tersebut (@) Bina analisis IPO. (0) Hasilkan pseudokod yang bersesuaian. (©) Lukis carta alir untuk algoritma penyelesaian. 9 Hasilken algoritma untuk atur cara menghitung llitan bulatan dengan jejari dalam meter ciberikan. Diketahui formula menghitung lilitan ialah 2 x Pl x jejari. (PI = 3.142) (2) Bust analisis untuk menentukan Output Dijangka. (b) Tentukan pseudokod untuk Output Diperoleh, (c) Sekiranya terdapat ralat, cadangkan pembalkan bagi ralat tersebut. BAB 4 PENGATURCARAAN & @ 1.3.4 Menjelaskan hubungan antara jenis data, saiz data ddan kapasti ingatan oomputer 132 Memitih dan menggunakan jenis, by | rentetan, dan Boolean, lembezakan | pemboleh ubsh sejagat dan setempat 134 Mengisytiharkan, memulakan din | menetapkan nilai pada pembolch ubah dan pemalar 1.35 Menggunakan penyaraan umpukan | dan penyaraan aritmetik 1.36 Menulis atur cara untuk | memasukkan input dari papan keluunci dan ‘memaparkan output Pemboleh Ubah, Pemalar dan Jenis Data Pemboleh ubah atau pemalar dalam Java, perlu diisytiharkan Ssebp digunakan. Konsep dan prosedurnya adalah sama sepert ingin melang ke luar negara, lait. seseorang individu perlu mengisytiharkan bar yang ada di dalam bagast di pejabat Kasiam, Dalam proses _pengaturcaraan, seorang pengatur cara p mengisytiharkan jenis data yang diperlukan dalam sesuatu program y, hendak dilaksanakan, Pemboleh ubah Pempboleh ubah ialahruang simpanan sementara’ ‘untuknombor, teks dan ob Nilai pemboleh ubah sentiasa berubah semasa berlakunya Pemprosesan « tidak akan memegang sebarang nilai selepas program tamat. Pengatur cara perlu memberikan nama kepada setiap pemboleh ut yang digunakan untuk menyelesaikan sesuatu masalah dalam prog: yang dibangunkan. Pengatur cara menggunakan nama pemboleh ut sebagai nama rujukan untuk nilai_ spesifik femboleh ubah tersot Komputer pula akan menggunakan nama pemboleh ubah tersebut seba fujukannya untuk mencari nilai pemboleh ubeh itu dalam memorin Pemboleh ubah merupakan elemen dalam pengaturcaraan dan nilair boleh berubah pada bila-bila masa sewaktu proses pengaturcare dilaksanakan. Contohnya, public class kirabuas { public static void main(string{] args) { float panjang, lebar, luas; } Contoh yang lain adalah dalam situasi kos sepasang kasut. Item int ini perlu diberikan satu nama pemboleh ubah kerana kos sepasa kasut mungkin berubah mengikut jenis kasut. Nama pembolen ud ‘sepatutnya konsisten dengan nilai pemboleh ubah. Dalam kes ini, nat pemboleh ubah ialah kosKasut Kerana nama ini merujuk kos sepasa kasut. Sekiranya kos sepasang kasut berubah, nilai pemboleh ubeh ak berubah tetapi nama pemboleh ubah tidak akan berubah. | Sains Komputer Tagkatan$ Pemalar Sewaktu proses pengaturcaraan dilaksanakan, nilal pemalar adalah teta i , la la 1D dan tidak akan berubah. Pemalar biasanya digunakan semasa pengatur cara ingin mengisytiharkan nilai yang tidak berubah. Contohnya, nilai Pi (r), bilangan hari dalam seminggu, bilangan jam’ dalam sehatl, kadar pertkran nial mata wang Malaysia dan sebagainya. Jka ingin ‘Seti an perboth mengaunakan nilai seperti ini, pengatur cara peru mengisytiharkannya St sebagai pemalar. Contohnya, . eee EP eS ee sisytihavan pemala final double pi = 3.142; an pematar final int BILANGAN_JAM_DALAM_SEHARI Pes = 24; isytiharan pembo! ubah final int BILANGAN_HART_DALAM seMINecuU = 7; Pengisyt iharan pemalar final double Dolar_Singapura kepada Ringgit Malaysia = 3.03;| Cubsandalihat contoh pengigtiharan pemalar venis data yang dlisytiharkan mestitzh sepacan dengan nilai. Contohnya, "8 ditunjlkhan aye di bawah. pemalar jenis integer mestik i i g lah memberikan nilai integer. //eengisytiharan pemalar final double pl = 3.242; Jenis Data “Tusa yang berwarna Jenis data dalam bahasa pengaturearaan merujuk satu set data yang hhijaw dikenal sebagai mempunyai nilai dan ciri-ciri yang telah ditetankan. Jenis data dan contoh Komen, Komen ialah f : penanda yang cibuat Penggunaan nilai yang dibenarkan adaleh seperti dalam Jadual 1.6, oleh piesa Gra Tani, Jadual 1,6 Jenis data dan contoh penggunaan milai yang dibenarkan Setiap dur earn yang ae oe dibina. Dalam Java, Minimum -2147483648 fit seaplane vate : komen: Antara tiga gaya Integer Maksimum 2147483647 shen anata omier yan Minimum -3.4¢38 5 boleh cigunakan ialah, po Maksimum 3.4¢38 goat fb @Peagieytiharan embolch ubah Minimum -1.7e308 Fue Cad Maksimum 3.4638 Stak (i /* Pengioytinaran | pemboleh bab nar Satu karakter sanaja 2 bat {iP Vegdhen String Bermula dar 0 hingga tiada had >10 bet pemboteh ubak*/ Benar (iu) SY) Asdaskan mesjumpai Boolean algy eS ‘bt eb anya ratatanda komen elope in Data merupakan satu elemen yang memainkan peranan yang penting Untuk penerangan yang dalam sesebuah pengaturcaraan. Data yang dimasukkan dalam pengeturcaraan Pn aed akan diproses untuk menghasiikan output bagi sesuatu permaselahan subtopik 15, yang wujud. Jenis data boleh dikategorikan kepada dua Kelas, iaitu data primitif dan data bukan primitif. saree GR 5 Data tentins daripada dua ents ssitu data primint stan dats bokan primi Data primitit Data primititintah data yang nilainya dalam bentuk paling dan tidak boleh iPermdahhan Iagh D: Data bakin primitf juga boleh ¢ wan CT Malaysia atau ‘Mad ier MIV) talah prograns sukarclawan ICT vang beshasrat untuk memberikan Khidinat suk, Jawan i kewasan vang telah dikenal past: dani segi penggunaan peralatin ICT dan pembangunan ICT dalam masyarakat ae (fled? 20. qba9Qe = Sains Komputer Tagkatan$ © Jens data _ See a a, a ~. Print Bukan ri Pe Sting A Boolean ae “s Integral a i integer Nombor nyaiy a | eds | be char byte shot inl Fong float —cloyty : Rajah 4.20 en Jam bahasa pengaturcaraa | OKO, Emm Kategori jenis data Berdasarkan penyataan diatas, bincang bersama-sama chi kumpulan tente 1. (2) _Jenis data yang diperlukan (b)_kategorijenis data 2. Benkan tiga contoh situasi yang lein. Berdasarkan contoh yang t diberikan, ulang langkah ai ‘(a) dan (b), 9 Bentangkan hasil perbincangan kumpulan anda. Hubungan antara Jenis Data, Saiz Data dan Kapasiti Ingate Komputer Setiap jenis data dan saiz data akan disimpan calam ingatan komp Nama pembolen ubah mermainkan peranan yang penting menentukan saiz data dalam ingatan. Berdasarkan jenis data } digunakan pada pemboleh ubah, sistem operasi akan menenti apa-apa yang boleh disimoan dalam ingatan komputer. Kepelbad Penggunzan jenis data pada pemboleh ubah dapat menjimatkan pada ingatan komputer. Oleh itu, penggunaan jenis data yang s¢ diperlukan untuk nilai yang panjang supaya menjimatkan ruang ingatan komputer. Jadual 1.6 pada muka surat 57 menunjukkan jumlah memori yang digunakan untuk menyimpan jenis data bagi pemboleh ubah dalam ingatan komputer. Simpanan memori ini disimpan dalam unit bait (bytes). Jom belajar kod Java ringkas! hitp://googl/<2ADde Jenis data dan kapasit ingatan komputer Anda dixehendaki berada dalam kumpulan kecil dan membuka akaun Sistem Anaiisis Peperiksaan (SAPS). Berdaserkan slip peperiksaan yang dipaparkan, senaraikan berapakah jenis data dan dan kapasiti ingatan komputer yang digunakan bagi setiap data yang telah disenaraikan. foil Pengetahuan sumber terbuka memudahlan anda mendapatkan peluang pekerjaan dalam bidang ICT Jenis Data re rn [on hitpv/goo.gl/9JubTe Vr Dagang Netialah sebuah syarilat GLC yang menyediakan perkhidmatan ‘untuk menjalankan ee ai e-commerceiaita lat strategi Pemilihan dan Penggunaan sane peniagan Daging ‘ ‘Net merupakan pembekal Jenis Data yang Bersesuaian —petiicmaneonmere Pemilihan dan penggunaan data yang sesuai amat penting dalam sesebuah and eo a atur cara supaya atur cara dapat cibangunkan tanpa ralat sintaks. Jenis ee data bagi pemboleh ubah dan pemalar yang menentukan jenis maklumat akan disimpan dalam ruang ingatan yang diperuntukkan. Penggunaan jenis data yang sesuai juga berfungsi sebagai penanda aras kegada sesuatu pemboleh ubah itu sama ada pemboleh ubah tersebut menyimpan data yang tatap, data yang boleh dikira, huruf, - rombor perpuluhan atau data yang mempunyai pilihan benar atau palsu. hitp://goo.gV/aDmQr) BAB 4 PENGATURCARAAN Apekah integer? Integer merangkumi semua nombor yang tidak mempunyai pecahan atau Perpuluhan, Integer ialah nombor asal yang lebih besar daripada bait. Integer boleh bemilai antara ~2147483648 «, hingga 2147483648, Apakah nombor nyata? Nombor nyaia iatah nombor yang terdit daripada semua rombor yang mempunyai tik perpuluhan atau bahagian pecahan. Nombor nyata bernilai antara: i 1.79769313486231e308 hingga ie 4 4.94065645841247e-324, jika rombor adalah negatif, dan akukan untuk . « 1.79769313486231E308 hingga iboleh uba ue 4.94065645841247E-324, jika nombor_ menggunakan kala adalah posit, j int nombor_pertama, nombor_kedua, jawapan; nombor_pertama = 10; nombor_kedua = 20; Jawapan = nombor_pertama + aonbor_kedua; float tinggi, tapaki;//Pengisytiharan penboleh ubah double luas;//Pengisytiharan pemboleh ubah ‘//" digunakan apabila ingin mencyangkan kod azehan yang berada dalam satu baris. Apakah aksaralrentetan? Apakah Boolean? i Aksara dan rentetan merupakan data dalam Boolean ialah data dalam bentuk bentuk rvang Kosong (space), teks, perkataen pilihan, faitu memilih salch satu daripada aiau nilai yang mengandungi susunan aksara sesuatu yang "benar’ (True) atau "palsu" atau simbol., (False). ing)? ngatur cara char ampe! boolean forLeft = false; String email_address ~ "memeome.com"; boolean forStraight = true; boolean forRight = false; BABA PENGATURCARAAN Pengatur cara teckenalt Steve Werniak hetp//goo.gVniGKvh, Supenomputer brps//goo.gV/8zi0cW ane 3 aie NetBeans untuk Jave~ Cara untuk memasang dan meaggunakan pengaturcaraan Java pada Windows, Mac dan Linux breps://g00.g/bMBnG6 Co 1K) Jenis data Bahagikan Kelas kepada omoat kumpulan. Sotiap kumpulan py, menyenaraikan contoh data sebenyak mungkin berclasarcan enam Jens caja yang diberikan, CY KEES Perbezaan Pemboleh Ubah Sejagat dan Setempat Setiap pemboleh ubah dan pemalar mungkin wujud dan akan digunakan untuk keseluruhan atur cara atau hanya bagi satu fungsi. Kewujudan Ppemboleh ubah atau pemalar dikenal sebagai kawasan yang kedua- duanya boleh digunakan secara sah. Pemaoleh ubah dan pemalar bagi Pengatur cara terdiri daripada dua skop iaitu: © Pembolen ubah sejagat (Global) * Pembolen ubah sejagat hanya berfungsi dalam atur cara sahaja. © Penggunaan pemboleh ubah sejagat adalah semasa dalam fungs! alur cara sahaja. Apabila tatacara itu telah tamat, ruang memori yang diperuntukkan kepada pembole ubah dan pemalar jug8 akan tamat. @ Pemboleh ubah setempat (Local) * Pemboleh ubah setempat hanya berfungsi dalam subatur cara yang diisytinarkan, * Digunakan dalam fungsi ‘di mana’ pemboleh ubah diisytinarkan, bermula ‘dari mana’ pemboleh ubah diisytinarkan dan bila penarat akhir tatacara tersebut. Sains Komputer Tingkatan 4 Lihat ciri-ciri pemboleh ubah sejagat dan pemboleh ubah setempat dalam Jadual 1.7. Jadual 1.7 Perbezaon cit-it antara pembolet uty at donigan prembotet vital setompat Pemboleh ubah stjagat GOULD YON ST CLO Ap ie Lan eGee (ersne nt) rhe) Bente panenae dalam Jaws, Pengisytiharan Pengisytiharan yang diakukan Pembole’ ubah yang diluarmana-mana fungsi. diisyiiharkan dalam sabuah Ee fungsi dalam atur cara. Akses Bole diaksesdimana-mana Tidak boleh diakses di luar Bi {urge fungsi it. Apakah pemboleh ubah Fungsi —_Boleh digunakan hingga ke Hanya boleh digunakan untuk statik? attr pregrany fungsi yang diisi. hitps!/goo.glgilolb vika sesuatu pemboleh ubah —_Jika dua fungsi menggunakan Setempat mempunyai nama _pemoleh ubah tempatan yang yang sama dengan pemboleh sama, tiada masalah akan ubah sejagat,ryjukan hanya —_berlaku. dibuat terhadap pemboleh ubah yang terdekat,iaity pembcleh ubah setempat, public class Af int data = 50; static int m = 100;//global variable « ‘Pemboleh ubah sejagat public static void main(strinal] args) {; int n=90;//local variable «——_____|___ Pemboleh ubah setempat } ]//ena of class Rajah 1.21 Contoh atur cara yang menggunakan pemboleh ubah sejagal dan peniboleh ubah setempat Pemboleh ubah sejagat dan pemboleh ubah setempat Berdasarkan atur cara di bawah, labelkan pemboleh Ubah sejagat dan pemboleh ubah setempat. public Class info { static int 1 = 5; public static void main(stvingl] arg) | int n= 7; } BAS 1 PENGATURCARAAN Pengisytiharan, Permulaan dan Penetapan Nilai pada Pemboleh Ubah dan Pemals Sebelum membangunkan sesuatu atur cara, pemboleh ubah dan, Pem; perlu melalui proses pengisytiharan, permulaan dan penetapan nila Pengisytiharan Nilai Pemboleh Ubah san untuk mewakil Pemboleh ubah dikenal sebagal tempat untuk menyimpan data, ge, nay ek pen pemboleh ubah di dalam Java memounyai lenis yang tertentu, ye San Has owe menentukan saiz dan susun atur memori dan set operasi yang bo Gigunakan untuk pemboleh ubah. Anda mestilah mengisytiharkan seq pemboleh ubah sebelum boleh digunakan. Pengisytiharan pemboleh ubah perlu dilaksanakan dengan memberi) jenis data dan nama pemboleh ubah. Contoh pengisytiharan pembo ubah adalah seperti yang berikut: | ————————————————— public class pembolchvbah { public static void main(string{] args) { Pengisytiharan Integer int x; @——___ = intistah jenis data } + xialeh nama pemboleh } ubah a public class pembolehUbah { public static void main(string[] args) { Pengisytiharan String String nama; <———____________|____ + String ialah jenis data } + nama laleh nama } pemboleh ubeh public class pembolehtbah { public static void main(String[] args) ( Pengisytiharan Double double s, t, u;q———_____|__* Double ilah janis data ) +s, tuialah nama pembol } ubah public class pembolehUbah { public static void main(String[] args) ( Pengisytiharan Boolean boolean v; +} __ + Boolean ialahjenis dala } + vialah nama pembolet J ubah Goo p Monpiter Tinga 4 public class pesbolohtbah { public static void main(serinal) avan) { Pengisytiharan Char chante * Char lla jonis data } + wiaiah nama pemboloh ) uubah public class penbolehuban | public static void mainisty float dias) wemwe:!| Pengisytiharan Float + Float alah jenis data + yialah name pemboteh ubah Permulaan dan Penetapan Nilai untuk Pemboleh Ubah Selepas mengisytiharkan jenis data dan nama pemboleh ubah, nilai kepada pemboleh ubah boleh citetapsan atau diumpukkan. Sintaks untuk menetapkan nilal pemboteh ubah adalah seperti yang berikut. Jenis Data NamaPembolehUbah = nilai; Integer public class pembolehtbah | public static void main(string{] args) | int |— Penetapan nilai public class pembolehUbah { Pengisytinaran & public static void main(string[] args) { Fosapania: | ee } ) String public class pembolehUbah { public static void main(stringl) args) { string nama; nana = “hardesp"; }— Penetapan nital public class penbolehubah { public static void main(string{] args) { Pengisytiharan& | __, scring nana = "hardeep"; Penetapan nila ) Q Bap 1 PENGATURCARMAN @« } Double public class pembolehUbah { public static void main(string[] args) { double s, t, u; ae asd t public class pembolehubah { Euanyieune Public static void main(string{) args) { Ponetapan nilat Boolean ———————> double s = 9.103, } } | fe Llew s ast, public class penbolehUbah { public static void main(string{] args) { boolean v; , WS true; —________|__ Benetapan nilai si —— public class penbolehUbah { Pengisytiharan & public static void main(String(] args} { Penetapanniel | —/——— boolean v = true; } eee ae | Char public class pembolehubah ( public static void main(string[] args) { char w; wos ty; <——______________1___ Penetapan niai public class penbolehubah { public static void main (String[] args) ( —|____—> char w= ty'; } ig aaeeesaiiei ll ae ‘Sains Komputer Tingkatan 4 public class pembolehtbah { public static void main(stringl] args) { float y; y 442, 234f} ——— _—{—— Penetapan nilal public class pembolehtbah { Pengisytiharan & public static void main(String] args) ( Penetapan nilal © | floaty = 342.2346; ) } Pengisytiharan dan Penetapan Nilai Pemalar Dalam dunia sebenar, terdapat beberapa nilai yang tidak akan berubah seperti segi empat mempunyai 4 sisi, satu hari mempunyai 24 jam dan nilai Pi mempunyai tiga tempat perpuluhan iaitu 3.142. serta nilai mata wang bagi Malaysia. Nilai-nilai ini akan kekal dan tidak akan berubah. Dalam pengaturcaraan ava, nilai-nilai ini masih sama apabila dijadikan sebagai pemboleh ubah. Pombolch ubah ini dikenal sebagai pemalar. Nilai pemalar tidak akan berubah semasa menjalankan atur cara. Sintaks untuk mengisytiharkan pemalar dalam Java adalah seperti yang berikut: final int BLANGAN_HARI_DALAM_SEMINGGU = 7 ; final double Pi = 3.14 ; static final double = 4.14; Pengisytiharan pemboleh ubah dan penentuan pemboleh ubah Anda dikehendaki membuat satu alur cara yang mempunyai nilai seperti di bawah: 1. Pengunjung ke Malaysia 2 199 3L Berdasarkan nilai arg dberikan, sta buat pengisytiharan pembolsh ubah mengikut jens dala yang sesuai dan masukkan niai kepada pemboleh ubah ‘tersebut. ara rrenonrncan (Eu oie eat @ pe EEE) Penggunaan Penyataan Umpukan dan Penyataan Aritmetil Cipta Permainan Semasa menulis alur cara, terdapat beberapa jenis penyataan yang bole Aritmetik, digunakan, Antaranya lalah Penyataan Umpukan dan Penyataan Aritmetiy Sep fgeoal ab Penyataan Umpukan boleh terditi daripada salu atau lebih ungkapey yang lain, Penyataan umpukan merujuk "sama dengan” atau simiyo| "=" Penyatzan umpulan akan memberikan nilai kepada. pemboeh ubay Contohnya int x = y. y adalah nilai yang diumpukkan kepada Pemboleh ubah x. Contoh penyataan umpukan lalah: String x; double p; float w; X= "Hello"; P= 0.123; w = 561.1238; f Umpukan untuk satu Ungkapan Rajah 1.22(a) Umpukan untuk satu ungkapan int p; int q; int x; UM STMT Ler sun eal ssn eice Rajah .22(b) Umpukan untuk ungkapen yang lebih dat salu Penyataan aritmetik boleh terdiri daripada satu atau lebih operasi aritmetik. Penyataan ini merujuk operasi aritmetik iaitu operasi_penambahan, Penolakan, pendaraban dan pembahagian. Unit pemproses utama boleh membaca operasi aritmetik dari kiri ke kanan sahala. Sekiranya pengatur cara ingin menjalankan operasi darab terlebih dahulu, penggunaan simbol kurungan perlu diutamakan. Contoh: pa eae af 3) 30 = 5 (2 3) 7 3D) Tatatanda kurungan diletakkan pada 2*3 Rajeh 1.23 Conioh peryataan artmetik (8 Sains Komputer Tingkatan 4 Lihat jadual 1.8 yang menunjukkan penyataan aritmetik dan contoh atur cara. dadual 1.8 Penyataan antmelik dan contobatur cara Roe ececr a Pee ari dj dail a (aene ees Ie Contoh Output * ¥ Operasi public ctass operasiTarbah { Hesil Tamtah tambah public state void main(String args) { ialah: 30 inti = 10, int =20; isith System out printin"HasilTambah ielah:" + } } re — Operasitclak public class operasiTolak { HesilTolak public staic void mainiString] args} { jalan: 10 System.out printin("Hasil Tolak ialah:" +I), } } . X ——Operesidarab public class operasiDerab ( Hasil Darad public static vold mainyStringl] args) { jalah: 600 inti = 30; int System.cut.pintin(*Hesil Darab ialah: "+ i; ) } 1 + Operesi bahagi public cless operasiTdlak { Hasil Bahegi public static void mair(String(] args) { jalah: 19 inti = 30; ‘System out printin(‘Hasil Bahagtialah:* +i; } } (Q. BAB PENGATURCARAAN a @ li Umpukan nilai dan penyataan aritmetik Seliap kali peperiksaan dlieksanaken di sekolah, semua murid akan dapat mengetahul : (@) Jumiah markah keseluruhan (b) Purata markah secara keseluruhan (C) Peratus markah secara keseluruhan Blerdasarken sivas! datas, umpukian nal dan bina peryatnan vitmoc untuk merdapatkan pean hingga (c) mengikut mata pelajeran yang ditawarkan di sekolah anda. J Penulisan Atur Cara untuk Memasukkan Input daripada Papan Kekunci dan Memaparkan Output Sesetengah atur cara telah diumpukkan nilai atau input bagi operasi pengiraan atau Penyatean dalam atur cara tersebut, Ada pula atur cara yang membenarkan nilai atau input dimasukkan selepas atur care sudan siap dibina laitu semasa atur cara dilaksanakan dengan import java.util.scanner; menggunakan papan kekurcl. | scanner input'= new scannéx (systet dn)? Atur cara perlu ditambah dengan | system.cut.printin("Sila nasukkan nilai tapak : 4}; pengekodan seperti di sebelah. int tapak = input.nextInt |); ie Lihat dua perbezaan atur cara di bawah. Atur cara yang membenarkan input dimasukkan menggunakan papan kekunci “import java.util.scanner; “public class luasSegiTiga { Public static void main(string{} args) { Scanner input = new Scanner (System. in) ; System.out.printin("Sila masukkan nilai tapak "); int tapak = input.nextInt(); System.out.printin ("Sila masukkan nilai tinggi "); aint tinggi = input .nextmnt (); double luas = (1.0/2)* tapak * tinggi; Syetem.cut printIn("Luas segi tiga ialah : " + 1uas); sige Sila masukkan nilai tapak 6 Output Sila masukkan nilai tinggi : Tulisan yang berwama hjau ialah input | yang dimasukken dengan papanfunci | Luas segi tiga ialah : 12.0 Sains Komputer Tingkatan 4 ‘Atur cara yang telah ciumpukkan nilai atau input. Public class luasSegiTiga2 { public static void main(Stringl] araa) [ int tapak ~ 6; int tinggi = 4; double Ios — (1.0/2)4 tapak * tinggi; yetem.out printin("Luas seql tiga iatah : "4 Luas); — Luas segi tiga ialah Aur cara yang membenarkan input dimasukkan menggunakan papan kekuncl. Output Input tidak pertu dimasuktan kerana alur cara mengire jawapan berdasarkan nial yang telah cimasukkan dalam atur cara. import java. util.scanner; public class infoAnda { public static void main(string{] args) { Scanner input = new Scanner (system.in) ; System. out.printIn("siapakah nana anda? +"); String nama = input next (); System.out.print1n("Berapakah umur anda? int umus = input nexttnt (); 2"r System. out.printIn("Apakah hobi anda? String hobi - input.next (); nama = nama umur = umur hobi = hobi; Syetem.out.printin ("Mama +" + nama); System.out-printin("Umur : "+ umur) ; System.out.println("Hobi : " + hobi); Siapakah nama anda? Hazig Berapakah umur anda? Apakah hobi anda? : Bermain Nama ‘Umur Bobi Output “Tuisan yang berwarna hau ‘alah input yang dimasukkan dengan papan kekunci, Hazia 7 Bermain BAB { PENGATURCARAAN, ‘Alur cara yang telah diumpukkan nilai atau input. public class infoAnda? { public static void main(String! args) { string nana; int. mr; ring hobi; nama = "Haziq"; hobi = "Bermain'; etem.outprintin ("ama i" + nama); emout.print In ("Umar : "+ umur) ; system.out .printin("Hobi : "+ hobi); Nana : Haziq Umur : 7 Output e: Input tdak pert dimasukkan kerana aturcara memararkan output Robt + Bexmaitey | berdasarkan neal hpul yang leh dlmasukican dalam afut cara DO, = ‘Memasuckan input daripada papan kekunci dan memaparkan output Berikut merupakan cadangan masalah yang telah diberkan, Cadangan masalsh: 1. Mengira luas sebuah bil, 2 Mengira purata lima nombor. 3 Mencari harga jualan suatu barang apabila diberikan potongan baucar sebanyak RM3.00. 4 Mengira Iuas dinding termasuk tingkap dan pintu. 5 Mengira Iuas dinding tidak termasuk sebuah pintu dan dua buah tingkap. Pith salah satu penyelesaian masalzh pengiaan dalam matemetik, bina satu atur cara yang membenarlan input dimasukkan dengan menggunakan papan kekunci dan paparkan cutoutnya, (Nota: Gunakan nama pembole’ ubah anda sendin) 1 Namakan tiga contoh pemboleh ubah yang sering digunakan untuk membina Daftar Murid. 2 Pengatur cara ingin membangunkan sebuah atur cara mengenai penghitungan gaji. Mengapakal pengatur cara perlu mengambil kira jenis data dan kapasit ingatan komputer? Sains Komputer Tingkatan 4 penghitungar erent) Nama murid Jantina Markah Junlah markah, Purata markah ‘Mengapakah pemalar dan pemboleh ubah perlu disytharkan? _ 5 Beasarkan pengisytiharan yang berikut, bina salu alur cara yang boleh memeparkan outout b __penambahan dua nombor tanpa sebarang ralat, int pertana, pombor_kedua , Jawapan: //pengisytiharan pemboleh ubah 6 Berdasarkan rajah yang ditunjukkan di bawah, kenal pasti dan labelkan pemboleh ubah sejagat dan Pemboleh ubah setempat. public class A { static int nombor = 10; double data = 50; public static void main(String[] args) { int n = 90; int t = 190; ) 7 Berdasarkan proses yang berikut, bina satu atur cara penghitungan yang boleh memaparken output — luas tanpa sebarang ralat. luas = 0.5 * tinggil * tapakl; 8 Sebagai seorang pengatur cara, anda dikehendaki membangunkan sebuah atur cara penghitungan artmetik, iaity pembahagian cia nombor. Semasa membangunkan atur cara, nyatakan jenis data yang sesval digunakan untuk atur cara pembahagian dua nombor tersebut, BAB 1 PENGATURCARAAN. a asti kesilapan yang telah cilakul import java.util.Scanner public class purataBerat { public static void main(String] arqs) { Scanner input = new (System. in) System.out.printin("sila masukkan berat 1"); int berati = input next int () ; System.out.printin ("Sila masukkan berat 2: "); int berat2 = input.nextint(); System.out.printIn (Sila masukkan berat 3 : int berat3 - input next Int () ; char purata = (beratl + berat2 + berat3) * 3; System. out printIn("Purata berat ialah ; " + purata); 10 Anda dikehendaki membangunkan satu atur cara yang mempuryai datajenis String, int, double/h gan boolean. Atur cara tersebut mestilah mengenai diri anda separtinama, urur, nombor kegoma ‘dan kegemaran anda, Lihat cadangan yang berikut: (@) Siapakah nama anda? (b) Berapakah umur anda? (6) Apakah nombor kegemaran anda? {d) Adakah anda suka membaca atau tidak? Bina atur cara yang bebas ralat. Sains Komputer Tingkatan 4 Struktur Kawalan Arahan-arahan dalam susunan linear blasanya digunakan untuk mendapatkan input pengguna, memaparkan hasil atau output atau Mengisytiharkan can mengumpukkan nilal-nilai bagl pemboleh _ubah. Seperti yang telah dipelajar dalam subtopik algoritma, langkah-langkah Tew) yang terdapat dalam algoritma komputer bukan sahaja linear tetap! 4.4.1 Menerangkan, bercabang dan juga berulang. Dalam struktur yang bercabang, langkan- aliran straktur kawalan langkahnya membolehkan keputusan dibuat dengan serta-merta, Struktur berulang pula membenarkan langkah yang sama diulang berkali-kall. Dalam bahasa pengaturcaraan, terdapat persamaan unsur bag! {42 Menus aruecara struktur kawalan dan struktur algoritma, jaitu kawalan pilihan gan kawalan menggunakan straktur ulangan, Beberapa varias! wujud dalam struktur kawalan pilihan dan awalan pilihan dengan kawalan ulangan tetapi tidak bagi kawalan urutan. Bagi kawalan urutan, menggabungkan atur cara dilaksanakan mengikut urutan. Misalnya, seorang guru mengajar operator hubungsn-dan muridnya mengikut bab yang telah diaturkan untuknya. Bagi kawalan operator logik pilihan dan kawalan ulangan, setiap variasi mempunyai struktur tertentu 1.4.3 Menerangkan dengan kelebihan dan kekurangan masing-masing. Oleh itu, murid perlu aliran struktur kawalan menyesuaikan masalan dengan struktur kawalan yang sesual, alangan (i) Fer (i) While (un Beret Sialic 1.44 Menulis atur cara menggunakan struktur awalan ulangan yang melibatkan (i) Openacor increment (64) dan decrement (i) Class Math (method random) (iii) Boolean urutan Penulis teknikal bertanggungjawab untuk menulis penerangan begaimana atur cara Komputer berfungsi. Rajah 4.24 Jenis jeis struktur kawalan dalam pengaturcaraan QQ BAB 1 PENGATURCARAAN @) © Terdapat aplikas yang iarang dlketahu' yang menggunakan straktut Keawalan seperti eptikasi Kawalan dalam kereta, aplikass eubw peti ais, \etuhar gelombang mikro, pencetak dan penyaman vudara, Selection in programming Ihep://gp.g/91MKt ‘Hos to ws Boslean expresionsin Java? bup://goog/DNw8Z Struktur Kawalan Pilihan Berdasarkan input tertentu, atur cara komputer boleh mombuat | Keputusan Keputusan atau pilihan itu telah direkodkan dalam atur cara terse Kawalan pilihan ialah mekanisme yang membolehkan keputusan lay pemilinan dibuat secara automatik. Sebagai contoh, mesin pengeluaran wang automatik (ATM) mempunyai banyak fungsi seperti untuk melihat baki, mengeluar wang, memindahkan wang dan membayar bil. Berdasarkan pilihan yan, dimasukkan, perisian di dalam ATM akan membuat keputusan ‘@Dakah paparan yang akan ditunjukkan kepada pengguna dan bagaimana Untuk Memproses input yang dimasukkan. Penyataan syarat boolean, seperti “adakah pengguna memih untuk melihat aki?" diguniakan untuk mengy nilai input yang dimasukkan dan ini seterusnya akan menentukan set atay blok arahan yang akan dilaksanakan (Rajah 1.25). ki Pengguna memilih +/ Papa baki ‘melihat baki'? Masukkan jumleh yang ingin dikeluarkan Pengguna memilih ‘mengeluarkan wang! ? Rejah 1.25 Penyataan syaral boolean Penyataan tentang komputer membuat keputusan disebut sebagé penyataan bersyarat boolean. Syarat boolean tersebut membolehkal perbandingan pemboleh ubah, sifat objek atau nilai yang dilakukan metal operator hubungan atau operator logikal. Perbandingan ini memberika’ keputusan dalam bentuk dala jenis boolean, 9 Nilai Boolean Selain daripada jenis-jenis data seperti integer, doubleatau String, terdapat satu lagi jenis data lain yang lazim digunakan terutamanya dalam struktur kawelan, iaitu jenis data boolean. Data jenis boolean hanya mempunyal dua nilai yang mungkin, iaitu Ya/Benar (True) atau Tidak/Palsu (False), ie dan komputer GET __ ttn George rote (1815-1864), Sistem Kite sedia maum nila P\ (a) dalam matematik jalan 3.142. Buat penialan bina be papi unakapar- ungkapan yang bent @ Jawapan: &) Pi>0 (a) False Pix<10 () Tue (d) Pils (© Tue + Benar/palst @) Piss (@) Tue + Buka/tutup (©) False + Sifar/satu Sumber: wwwkerryrinet — ee, EE Penyataan bersyarat boolean ditulis menggunakan_struktur kawalan ilihan. Terdapat tiga bentuk struktur kawalan pilihan seperti yang beriktut: if ° if-else * irelse-it * switch-case Kawalan Pilihan If Struktur kawailan ini dipangail if (Rajah 1.26). Struktur kawalan if hanya ekan melaksanakan penyataan-penyataan tertentu seperti memproses data melalui ungkapan sekiranya syarat adalah benar. SEL if () { } Contoh: if (um > 20) ( System.out .printin ("Anda layak mengundi.") ; } aAdakah syarat benar? Laksana kenyataan ini jika benar Rajah 1.26 Carta alr dan sintaks if (BAB 1 PENGATURCARAAN a ® | Kawalan Pilihan If-Else Penyataan /f-else digunakan untuk membuat keputusan dalam Sesuat, atur cara, Hasil perbandingan itu menunjukkan hasil boolean, iaity y, (Benar) atau Tidak (Pals). Penyataan susulan bergantung kepada hag Boolean tersebut. if () { } else { 20) { system.out.print1n("Anda layak mengundi-")! ine } else [ * System.out.println("Maaf, anda masih belu® cukup umur,") ; Seelse statement in Java } hep://goo gl/ekygN9 } Kawalan Pilihan If-Else-If Komputer juga boleh diprogramkan untuk membuat keputusan yang lebih kompleks, iaitu dengan menggunakan struktur kawalan if-else-if. Oleh hal yang demikian, komputer boleh mencuba syarat boolean yang baharu sekiranya syarat terdahulu menghasilkan keputusan palsu. Sekiranya syarat boolean menghasilkan keputusan benar, penyataan yang dipaut kepada syarat boolean tersebut sahaja akan dilaksanakan. Syarat-syarat boolean yang lain tidak akan diuji. if (syarat boolean1_Benar) 2 penyataan0l Fz }else if (syarat boolean2_ A spaest ———— RBenar) { syarat 1 = Soe penyataano2 penyataan 1 |-—* ; benar? }else if (syarat boolean3_ Benar) { penyataano3 Tidak | pete { penyataanoa } ese va Laksana syarat 2 "| penyataan 2. |-—>| benar? Laksana > penyataan 3 Laksana penyatean 4 Rajah 4.28 Carta alr dan sintaks i-else-if Q Eeieseneen a © Sebuah apliasi menerima markah murid dan -menentukan gred yang sesual. Jacual yang tq enunjukkan perentuan gred berasaskan julat markah, Berkut lalah alur cara Untuk Mewakili pemjjny! gred berdasarkan jadual yang menggunakan struktur kawalan if-olse-if. a public class conton2s{ public static void main(Stringl] args) { double markah=73; String Gred; Af (markah >= 90) { Jelse if (markah >-80) { 90-100 AF Gea echang a Jelse if (markah > { Bees 8 Gred = "A" 75-79 At jelse if (markah > { x Gred = "3+"; 70-74 Be Jelse if (markah >=65) { Gred = "3"; 65-69 5 Jelse if (markah >=60) { 60-64 ct nee jelse ah >=50) { 50-59 c Gred = "Cc! Jelse if (markah >=45) { eb eed { . Jeloe if (markah +20) co Gred = "2"; Lg ese jelse if (markah HES Ls ce } System. out .print1n (*Markah="+markah+"dan Gred ialah"+Gred) ; -0) { Kawalan Pilihan Switch-Case Penggunaan if-else-if untuk membuat sebilangan keputusan adalah rumit kerana penyatean if-else-if perlu ciulang banyak kali dan pengulangan tersebut boleh menimbulkan kekeliruan kepada pengguna. Untuk mengatasi kekurangan penggunaan jf-else-if tersebut, struktur kawalan switch-case boleh digunakan, ‘Struktur ini lebih mudah difahami kerana nilai uian dalam “Select Case’ dipadankan dengan beberapa calon ‘Case’, - . Rajah 4.29 Beborapa Rajah 1.29 menunjukkan pelanggan berbaris untuk mendapatian untuk perkhidenaten yo% keperluan perkhidmatan tertentu, Keperluan dipadankan dengan kaunter betainan di pejabat FS yang menawarkan perkhidmatan tersebut. input dipadankan dengan calon-calon sedia ada, Sains Komputer Tingkatan 4 f2 Tidak nilai2 Tidak case nilai3 4 [ xumpulan penyataan 4 ‘Tamat mpulan sf _® Penyataan 1 Kumpulan |__penyatean 2 >| Kumpulan Penyataan 3 awiteh (ujtan) { cane: nilail { Kumpulan penyataan breaks } case: nitaia | Kumpulan penyataan break; ) case: nilai3 { Kumpulan penyataan break: ) default: { Kumpulan penyataan » Rajah 1.30 Carta alirdan sintaks switch-case Ujian untuk ‘Switch’ ialah ungkapan nombor, abjad atau rentetan. ‘Case’ mengandungi nilai masing-masing yang akan dipadankan dengan ujian. Jika ujian bersamaan dengan nilai selepas ‘Case’, maka kumpulan penyataan selepas ‘Case’ akan dilaksanakan. Ungkapan ‘Break’ digunakan sebagai arahan untuk keluar dari blok ‘Switch’. Jika ungkapan ‘Break’ tidak disertakan, kumputan penyataan selepas ‘Break’ akan turut dilaksanaken. ‘Default’ kadang-kadang dimasukkan dalam blok * Switch’ sebagai langkah tambahan. Sekiranya ujian tidak bersamaan dengan mana-mana nilal ‘Case’, kumpulan penyataan ‘Defaulf akan dilaksanakan. Langkah ini menjamin bahawa setidak-tidaknya ada penyataan yang telah dilaksanakan. Q_ BAB 1 PENGATURCARAAN (a) Sebuah apotikas’ akan memaparkan tarkh dalam format ‘ddl-nema bulan-yy'(contoh: 28-Aprll-16) Guna, bentuk switch-case untuk menulis atur cara yang akan memaparkan nama buan berdasarkan bulan ya dibenkan dalam bentuk Nembor. "0 Penyelesaian import java.util. Scanner; public class Contoh2é { public static void main (String [] args) { int hari = 23, tahun = 2016; Scanner input = new Scanner (System. in) ; System.out.println (*Masukkan nonbor antara 1 hingga 12"); int bulan = input.nextInt (); switch (bulan) { case 1: { System. out. print1n(hari+"-Januari-"+tahun) ; break; } case 2: { System. out.println (hari+"-Februari-"+tahun) ; break; } case 3: { System.out.print1n (hari+"-Mac-"+tahun-"+tahun) ; break; } case 4: | System.out. print1n (ha: } break; } case 5: | system.out.printla(hari+*-Mei-"+tahun) ; break; } case 6: ( System.out.print1n (hari+"-Jun-"+tahun) ; break; } case 7: [ System.out .printIn (hari+"-Julai-"+tahun) ; break; } case a: { System.out.print1n (hari+"-Ogos-"+tahun) ; break; } case 9: ( System.out. println (hari+"-September-”+tahun) ; break; } case 10: { System.out.print1n (hari+"-Oktober-"+tahun) ; break; } case 11: { System.out .println (hari+"-November-"+tahun) ; break; } case 12: { system.out.printIn (hari+*-Disember-"+tahun) ; break; } default: { System.out.print1n("Nombor yang dimasukkan bukan diantar@ 1 hingga 12"); i+*-April-"+tahun) ; yn Sains Komputer Tingkatan 4/2 Oro. peices _ Aktiviti @ ‘Kawaian Piihan Switen case Berkut ialsh atur cara untuk mewakili pemithan gred berdasarkan jadual yang dtunjukkan dl bawah, Alur cara yang berikut menggunakan struktur kawalan W. Anda ditugaskan untuk menukar atur cara di bawah kopada struktur kawalan switch case, public class contohw( public static void main(string{] args) { double markah=73; string Grea; if (markah == 90) [ re red Gred = "At"; 99-100 7a Jelee i£ (markah >=80) { Grea ~ "A" 80-80 A Jelse if (markah >=75) { Gred = "A"; 778 Ae Jetse if imarkah 7-70) { Gred = "BH"; eo Ss Jelse if (markah >-65) ( 9 crea = "BM; a : Jerse se (markan 260) { ‘60-84 ct Gred = "C+"; jelse if (markah >=50) { 50-59 c Gred = "CN; Jelse if {markah >=45) { 2 o Gred = "D"; Jeloe if (markah =-40) ( a E Gred = "E"; 039 cl Jelse if (markah 2-0) { Gred = "G"; } system. out .printIn("Warkah="+narkah+"dan Grea ialah" Grea) ; Peds tahun 2013, Syed Muhammad yang ketika itu masih seorang murid sekolah imetengah telah berjaya mencipta lima aplikasi untuk syarikat teleleomunika terkemula dunia iairu Apple. Antara aplikasinya ialah Surfing Fast, Who Created, Simple exCode dan Digital Hasimeu Malaya serta permainan Crazy Ball, Sumber: www, utusar.com.any ‘Switch statements in Java Iattp://goo.gl/B7W7h Operator Hubungan dan Operator Logikal dalam Struktur Kawalan Pilihan ‘Dua kategori operator yang sering digunakan dalam ungkapan syerat lak operator hubungan dan operator logikal. Operator hubungan dligunay ah Tohukah Cut Operator hubungan juga dikenal sebagai operator bbandingan. Hal ini adalah kerana operitor hubungan digunakan untuk menguji hobungan antaralebih untuk membandingkan dua nilai bagi menghasilkan keputusan bodle bbesar dan Iebih kocil bagi Operator fogikal pula digunakan untuk menghasilkan beberapa Ungkapan pembolch ubah dan nilai syant, boolean bagi menghasilkan syarat yang lebih Kompleks, Operator Hubungan Penyataan bersyarat Boolean menggunakan ungkapan yang bertujuan untuk membuat perbandingan. Input pengguna akan disimpan dalam pemboleh ubah. Pemboleh ubah tersebut akan dibandingkan ‘Menerus) nilai-nilai_ dalam syarat Boolean. Operator-operator Perbandingan membuatkan perbandingan seperti dalam contoh-contoh sebelumnya, Pemboieh ubah Operator bendingan Nilai syarat Rajah 1.31 Ungkapan yang mempunyai operator hubungan"=* Dalam Rajah 1.31, "markah” ialah suatu pemboleh ubah. Pemboleh ubah mengandungj nilai tertentu yang telah diumpukkan kepada pemboleh ubah tersebut sewaktu atau selepas pengisytiheran pemboleh ubah dibuat. Katakan pemboleh ubah markah telah diumpukkan dengan nilai 90. Maka, keputusan kenyataan syarat boolean Ee ee renee "markah adalah sama dengan 100° adalah tidak benar. Bagaimana sekiranya pemboleh ubah diumpuk dengan nila 100? Keputusan untuk kenyataan syarat Boolean "markah adalah sama dengan 100" adalah benar. Jadual 1.9 menunjukkan operator operator hudungan yang biasa digunakan dalam struktur kawalan pilihan. q@migm xatokan perbolehubzh nombor menerima put integer —5, Apakah keputusan ungkapen bandingan yang berikut? Cc CA Operators _ go0gV/HevGUJ Tidak atakan pemboleh ubsh nombor menerima input integor 24. Apakah kaputasan ungkapan nandingsh yang berikut? celiac Berdasarlan eontoh 27, apakah keputusan ‘ungkapan bandingan yang berikaut? Kepucusan Unakapas | (ena?) Katakan pemboleh ubah nombor menerima input integer 0. Apakah keputusan ungkapan bangingan yang berikut? ec Nonbor 8 Nombor Ya Nombor <-2 Nombor Tidak ea ‘Nombor > 0 Tidak Nombor < 0 Tidak Katakan pemboleh ubah nombar menerima input integer 0. Anakah keputusan ungkapan bandingan yang derikut? Pr tian Ketan Nombor == 10 Tidak Nombor != 0 ‘Tidak Nombor > -5. Ya ‘Nombor < 12 Ya | OQ. BAB 1 PENGATURCARAAN Untuk menguji syarat boolean, letakkan ungkapan tersebut dalam struktur kawalan pilinan YANG tla dipelajari. Lihat contoh yang berikut. h satu nombor untuk mengenal pasti integer posit. Public class Contoh31a{ public static void main(String(] args) | int nombor=15; if (nombor > 0) system.out.printin("Nombor ini adalah integer positig™); else System.out.printin("Nombor ini bukan integer positif"); } } oy Contoh output: . os a :\users\luknanrahin\workspace\JavaForn4Book\bin>java Contch31a inj adalah integer positif Berdasarkan contoh 31, ui satu nombor untuk public class Contoh31b{ mengenal pasti integer public static void main(String[] args) { negatif. int nombor=-7; if (nombor > 0) System.out.printin("Nombor ini adalah integer positif."); else if (nombor == 0) Syetem.out.printin ("Nombor ini adalah sifar."); else system.out.printin ("Nombor ini adalah integer negatif."); } } Contoh output: — =e :\Users\lukmanrahim\workspace\JavaForm4Book\bin>java Contoh3ib! | ini adalah integer negatif. || Operator Logikal Dalam suatu kenyataan if-else, dua atau lebih syarat boolean boleh diul serentak dengan menggabungkan syarat boolean melalui operator logkal. Operator-operator logikal yang lazim digunakan ialah AND, OR dan NCT. Rajah 1.32 Operator-operatorlgikal Sains Kemputer Tingkatan 4 Operator Logikal AND Operator logik AND digunakan apabila dua atau lebih syarat boolean perlu digabungkan dan kesemua syarat perlu benar. Sebagai contoh, markah peperiksaan haruslah berada dalam julatO [Opera [_ Maku hingga 100 dan boleh dituis sebagai gabungan markah >= 0 dan juga Fgney iogie | markah <=100. Operator yang sesuai dalam hal ini falah operator AND. |" AND Operator AND ditulis menggunakan simbol '&&', Oleh itu, syarat-syarat ab TogikOR | boolean tadi boleh ditulis sebagai satu ungkapan seperti yang berlkut: ae Tee Markah >=0 && Markah <= 100 Hoole AND. ab Togik @mee Boolean OR Tentuken markal input berada dalam julat yang sah, iaitu 0 hingga 100. fa logik public class Contoh32{ NoT public static void main(Stringl) args) { int markah=55; if (markah >=0 && markah <=100) System.out .println("Markah yang dimasukkan adalah sah") ; eles System.out .printin("markah yang dimasukkan adalah tidak sah."); } 1 Contoh output: amine — 8 -:\users\luknanrahim\workspace\JavaForm4sook\bin>java Contoh32 rkah yang dimasukkan adalah sah. Berdasarkan Contoh 32, jelasiah bahawa kesemua syarat boolean perlu dipenuhi. Jika terdapat salah satu syarat boolean yang tidak benar, maka keputusan adalah tidak benar. Linat Jadual 1.10. Jadual 4,10 Contoh penggunaan operator AND Eze oe ee False False goo.gl/eEPKUA The ¢ 2 Q semen iy © Operator Logikal OR Operator logik OR digunakan apabila dua atau lebih syarat boolean perth digabungkan dan hanya salah satu syarat boolean perlu benar. 0, ral, lagkal OR dituls menggunakan simbol'| |. Mar kita bandingkan opera” ini dengan operator logikal AND, Ir Cara yang mudah untuk mengingat logik AND dan logik OR. AND : Apabila anda inginkan semua menjadi berul Baju yang djemur pert clangkat apablla hari sudah malar atau akan jg, OR: Apabila anda hanya Tulis atur cara bagi situesi yang diberikan. Haglan sana ublic class Contoh33 ‘menjadi betul mubt { public static void main(String{] args) { boolean malam=true; boolean hujansfalse; if (malam || fujan) System.out.printin ("Angkat baju. "), Cuba car ini untuk ‘mengingati logik AND dan logik OR. ) } Contoh output: : users) lukmanrahim\workspace\ JavaForn4sonk\bin>java contoh33 ” ingkat baju. ) Jelaslah di sini bahawa cuma salah satu syarat boolean diperlukan dan tidak ‘semestinya kedua-dua syarat boolean perlu dipenuhi. Lihat Jadual 1.11 Jadual 4.14 Contoh penggunaan operator OR False False False False Thue rue ‘True False True Tne Te Tne Operator Logikal NOT Jedual 1.12 Jeduel Operator logikal NOT menukarkan nilei boolean kepada lawannya. tebenaran operator NOT Katakan pemboleh ubah x ialah jenis boolean, Nilai x adalah False. Oleh itu, NOT x adalah True. Bacaimanakah pula jika nilai asal x adalah True? in bermaksud NOT x adalah False, Lihat jadual kebenaran pada Jadual 1.12 yang merumuskan kegunaan operator NOT. TRUE FALSE “FASE TRUE Operator logikal NOT diletakkan sebelum syerat boolean untuk menukarkan status kepada lawannya. Operator NOT ditulis menggunakal simbol ‘!'. Sebagai contoh, markah >= 40 menunjukkan murid lulus Apabila NOT ditambah (Imarkah >=40), maksud penyatean tersebU! berubah dan akan menunjukkan murid gagal. Q © (es, Sains Komputer Tingkalan 4. v INPUT markah 3 INPUT narkah e ‘ ‘Nor u Benar ~~ canoe go eels Benar (markah Bale = pe 40) 7, ¥ h + OUTPUT OUTPUT ouTPUT SUTPED {_mmlus" "Gagal" "Gagal. "Lulus" Tamat Cramat > Semak adakah murid lulus? Semak adakah murid gagal? Rajah 1.33 Operator NOT memberkan maksud lawannya Markah lulus ialah 40 dan ke atas. Jika status lulus murid adalsh tidak benar, murid tersebut terpaksa mengulangi ujian. public class Contoh34{ public static void main(string[} args) { boolean lulus; int markah=63; if (markah>=40) lulus-true; else qulus=false; i£(1lulus) gystem.out.printin("Anda perlu mengulangi wjian”); else system.out-printin(*Anda lulus”); Logical operations and Truth Tibles g00.9/aVNLCz Logic Operators in Java googl/xVyS2Q_ } Contoh output: Wome =o % f:)users\tukmanranfe\workspace\avarormttook \pin7Java contoh3asaru || a tuts Orr 4 agical operators go0.gl/gBi4iM BAB 1 PENGATURCARAAN Penggabungan Operator Hubungan dan Operator Logikal dalam Struktur Kawalan Pilihan Operator hubungan dan operator logkal boleh digabungkan data m str Aetenpsialess kawalan pilhan, Datam contoh di atas, operator hubungan < dant antara Hukum DeMorgan dengan: telah digabungkan dengan operator logikal AND dalam ungkapan Sarg operator logik? boolean ———~ Markah >=0 && Markah <= 100 Satu lagi contoh gabungan melibatkan operator hubungan dan Opera logikal OR adalah seperti yang berikut: vika suhu badan adalah lebih tinggi daripada 37 °C ataupun 98.6 °F, ‘seseorang itu mungkin menghidep demam panas. Tuliskan atur cara beg| situasi yang digambarkan, public class Contoh35{ public static void main(String[] args) { double celcius-39, fahrenheii if (celcius>37 || fahrenheit>98.6) System. out.print1n("anda mungkin demam panas.*); } } Contoh output: ra a idlsershlskmgnrahin\workspace\savarormésoot\bin>java contoh35 § (Soe Se QQ 6 GQ p ‘Anda diberikan tugasan oleh guru anda untuk menukarkan unit meter (m) kepada kilometer (krn) clan kilogram (kg) kepada gram (g). Rumus bagi setiap pertukaran unit yang dinyatakan adalah seperti yang berikut: 1000, Kilometer x 1000 = 1000 Gram <—_______ Kilogram x 1000 Berdaserkan rumusan yang diberikan, tulis atur cara bag) hasil pertukaran bag! nilai yang berikut: (@) 500 g kepada kg (b) CS km kepada m (9) 1.7. kg kepada g (@) 400 m kepada km Struktur Kawalan Ulangan Sesetengah penyatzan diletakican dalam blok yang perlu diulang. Hal ini berlaku kerana ulangan dibuat untuk bilangan kali tertentu atau schingga syerat boolean tertentu tidak lagi benar. Lihat Rajah 1.34 Bz.2 Ela Repitition statements go0.gi/vC6WD Rajah 1.34 Jenis-eris stukturkawalan ulengan Dalam kehidupan harian, anda boleh memerhatikan tindakan alat-alat elektronik yang berulang. Contoh struktur kawalan ulangan lalah alat Penyaman udara. Penyaman udara akan beroperasi apabila suhu bilik naik dan berhenti apabila suhu bilik sejuk. Suhu bllik merupakan penentu, sama ada proses penyejukan perlu berulang ataupun tidak. QQ BAB PENGATURCARAAN (ay) Kawalan Ulangan For Kawalan for berulang untuk bilangan kall tertentu. Ini ditentukan og pemboleh ubah pembliang yang bermula dengan nombor indeks tetent seperti 0 atau 1, Nombor indeks akan ditamban secara automatic nal, akhir blok peryatzan. Penambehan biasanya bernli 1 telapi dope ditetapkan di bahagian penambahan, Penambahan ini akan dibuat seta, kali blok kenyataan telah diulang dan akan berlanjutan sehingga oid boolean berulang menjadi tidak benar. Conditionals and Loops gpogeSPeZY for(pemula ; penamat; penambah) { SET PEMBILANG dengan java contoh36 ame Cs Gurakan gelung for untuk menentukan hasil jumlah 249+4+5+....904100, Penyelesaian public class Contoh37{ public static void main(String!) args) { int jumlal ? for (int i-2;4<-100;i+=1){ ‘ jumlah = jumlah + i; System.out-printin("Jumlah: "+ jumlah) ; +: \users\]ukmanrahim\workspace\Javarormsock\binzjava contoh37 / justah: $049 Julskan atur cara untuk mempamerkan semua integer ganjl dari -30 sehingga 30. Penyelesaian public class Contch38{ ; public static void main(String 1) args) { for(int is0;i<=30; 4: ) de ((b #21 1 System.out-print (i + ","); ) Contoh output: peak - o x ’\users\ Tukmanrahia\workspace\JavaForm4book\bin>java Contoh38 SESS ENS STDS NSB 95 28, 27.29, —— (O.__BAB 4 PENGATURCARAAN Ae) 11a} Langlaah pelaksantan wvalan for 1 Pengumpuk aval kepada pembilany, 2. Ungkapan akan mula dinila 3 Jie nila tersebut ‘adalah ben, maka akan dilaksanakan 4 Pembilang,dikemas kin mengggunakan 5 Uling langkal dua hhingga empat 6 Tamat gelung (@® Gunskan gelung jor untuk menentukan fasiljumlah SOS Toned 60 (©) Taliskan atur cara uncuk pamerkan semu integer genap ati -10 sehingga 20. ic banyak ‘Aida telah menyimpen wangnya sel MOO di dalam bank, Setiep tahun, Alda menerima kadar faedah sobanyek 10% ke ‘tas baki dalam akaun. Berapakah bak! Jepas ima tahun Zaman dunia di bj wang simpanan Aida sel jar pad hai initelah sekiranya dia tidak pernah mengeluarkan ‘memudahkan semua wang simpanannya di dalam bank? Anda ‘urusan kehidupan mesti menggunekan kawalan ulangan for ika dahulu, untuk menentukan jawapan. semua urasan bank rmemerfukan sescorang individa uncok porgi ke Penyelesaian dank, kini semuanya hanya boleh dilakukan melalui public class Contoh39{ cunusan perbankan atas talian, Atas sumbangan pekar pemprograman, sistem perbankan atas ‘allan memudahikan orang ramai untuk membuat ‘urusan perbankan jika ‘tidak mempunyai masa untuk ke bank, public static void main(string[] args) { double baki = 500.0; +=1){ baki + (0.1 * baki); System.out.printla("Baki 5 tahun: " + baki); } } Contoh output: mand hane a NS" \uknanrahin\workspace\2avaformook\bin>java contoh39 Lakuken aktivitiyang berikut. 1 Pin seorang murid. Murid ciminta bord di Satu penjuru papan putih. Berikan sebatang pen "marker". 2 Guru akan berdiii di antara murid dan papan Sutin. Umumkan kepada kelas bahawa PS Yello Dunia! Helle Duanids guru ingin melihat murid mengulang wile 2a untuk menulis satu perkatzan yang sama Hello Degrioss sebanyak enam kali. Minta murid-murid. bi kelas membllang ulangan yang cibuat. 3. Di satu penjuru yang lain, letakkan sebuah kerusi, oR: Kemp Toghalan 4 4 Murid diminta berjalan ke papan putih, menuls "Hello dunia’, berjalan ke ara kerusl dan kemudan berpatah balik ke arah guru. 5 Mutid akan bertanya kepada guru jika dia dibenerkan berhentl, Guru akan bertanya kepada kelas berape ulangan yang sudah dilakukan murid tersebut. 6 Jka murid fan tidak membenarkan untuk bethentl, guru ekan mongorahkan murid tersebut mengulang setiap langkch sebelumnya semula, 7. Apabila kelas bersettju bahawa murid ini suc mencapel bilangan kall yang dkkehendak, benarkan murid balk ke tempat duduk dan permainan ditamatkan, Persoalaniya: {@) Berapakah bilangan minimum ulangan yang dapet dibuat? (0) Berapakat bilangan maksimum ulangan yang dapat dibuat’? (o) Apakah syarat yang membenarkan penguiangan? (@) Dalam keadaan apakah murid tidak dibenarken mengulang dan permanan citamatken? (@) Adakan bilangan ulangan perlu diketahui terlabih dahulu? Kawalan Ulangan While Kawalan ulangan while membuat jan terlebih dahulu ke atas input, Jika input memenuhi syarat boolean, blok arahan dalam gelung akan dilaksanakan. Jika syarat tidak dipenuhi, kawelan ulngan akan berhenti dan kawalan akan bergerak ke baris arahan selepas kawalan ulangan. Rajah 1.36 menunjukkan kawalan ulangan while. Carta alir while ( } Blok kenyataan berulang Rajah 1.96 Carta alr dan sintaks untuk kawalan ulangan wile BAB 4 PENGATURCARAAN, While lop in Java with examples goo.gVqCyMBO Seton EO LLangkah perlakcarnan awalan while, 1 dinilai 2 Jila bemilai benar, dilaksanakan. 3 Jika ‘emia pli, tamat Kawalan ulangan mengandungi kawalan pilihan tetapi cuba Perhatix; arah anak panah untuk keputusan “Benar". Adakah anak panah berpusi y Keembal kepaca anak panah yang memasukl rombus Kawalan olay’ Tujuan berbuat cemikian adalah supaya syarat boolean yang sama acan iui berkali-Kall, Setelah penyataan-penyataan dalam blok berulang dilaksanaka kenal past! sama ada atur cara perl mengomas kini nilai dalam syerat Hal ini kerana,jka langkal initidakdibuat, maka syarat boolean yeng giyj akan mempunyai nilai boolean "Benar” selama-lamanya, GIO Tentukan output bagi kod Java berikut: public class Contoh40{ public static void nain(string[] args) { int n=5; while (n>0) { System.out.print(n + ","); } } Contoh output: comodo - oa % | : \Users\luknanrahia\workspace\JavaForm4sook\bin>Java Contohd0 | (coro!) Gunakan kawalan ulangan while untuk mempamerkan semua nomber dalam turutan menurun daripaca integer postif nambor yang dimasukkan pengguna sehingga sifar, (@) Tul pseudokod untuk penyelesaian bagi masala di atas. (©) Lukiskan carta alir untuk penyelesaian masalah di atas (©) Tullis atur cara Java monggunakan carta alir yang telah dilukis sebage! rujukan. Penyelesaian: (@) Baca input non Selagi (non > 0) mila_selagi Papar nonenom-1; tamat_selagi o Berdasarkan Contoh 42, gunakan kawalan langan ewbile untuk smempamerkan semua nombor dalam turutan: menurun daripada integer negatif nombor yang dlimasukkan pengguna sehingga -10. (9 public class Modulet{ public static void main(String args{J) { Scanner scanner=new Scanner (system. in) ; int nom-scanner.nextint () ; while (nomso) { non -= 1; system.out.printin(nom + " } ) } Gaon Juiskan sebuah tur cara yang memaperkan arahan kepada penggune untuk memasukkan Kata laluan. Kata laluan pengguna mestiizh sama dengan rilai dalam rekod, iaitu nila! dalam pemiboleh ubah Rekodl aluanRahsia. Atur care akan memaparkan arahen kepada pongguna sekali lagi ka ujian kata laluan gagal. Penyelesaian public class Contoh42{ public static void main(stringl] args) { String strPassword = new Sstring(); Scanner scanner-new Scanner (System.in] ; final String RekodLaluanRansia="Pisang"; while (!etxPassword. equals (RekodLaluanRahsia) ) { gysten.out print ("Sila masukkan password:") ; strPassword=scanner.next () 7 system.out .printin (|; ] Contoh output: ren “\Users\ Tuknanrahim\workspace\JavaforméBook\binoJava Contoh42 Hamasukkan password:Pisang Fe BAB 1 PENGATURCARAAN me Lakukan akciviti yang berikut, 1 Pilih seorang murid. Murc ciminta ber l salu perry papan hitam, Berkan sebateng kapur pun 2 Guru akan beri di antara murid dan papan htam. Fikirkan syarat baharu dan umumkan Kepedg kelas. Sebagai contoh, umumkan bahawa guru ingin molihat ayat "Hello dunia!" 6 kall di atag Papen bitam, 3 Di satu penjuru yang lain, letakkan sebuah kerusi. 4 Murid akan meminta keberaran untuk menuls "Halo dural carnada guru, Guru boleh bertanyg kelas adakah ayat "Hello dunia!” belum mencukupi. 5 Jka kelas berkata ya, murid tadi dibenarken berjalan ke Papan hitam, menulis "Hello duniel", dan kemucian berjalan mengeliingi Kerus| dan kemudian berpatah belis ke perjuru asal. & Guru akan menyernak syarat sekali lagi, Jika penyemakan adalah benar, murid diminta menguiang) langkat-langkah sebelumnya. 7 Sekiranya tidak mematuhi syarat, murid diminta balik ke tempat duduk dan parmainan ditamatkan 8 Minta murid-murid memikirkan perkara berikut dan membuat kesimpulan: {@) Bilangan minimum ulangan yang boleh dibuet. Adakah mungkin tiada langsung? (0) Bilangan maksimum ulangan yang boleh dibuat () Apakah syarat yang membenarkan pengulangan? (@) Dalam keadaan apakah murid tidak dibenarkan mengulang dan permainen ditamatkan? (2) Adakah bilangan ulangan perlu dikolahui terlebih dahulu? aCealriely EU} Gelung Infiniti/Gelung Tanpa Henti ‘Adalat terdapat sebarang kemungkinan bahawa blok kenyataan dalam gslung akan berulang tanpa henti? Selagi syarat boolean yang diuji menghasilkan keputusan ya, maka gelung akan berulang lagi. Oleh hal yang, demikian, gelung tersebut dipanggil gelung infiniti. Gelung infiniti bukan perkara yang baik dan perlu dielokkean, Pastikan syarat doolean yang diuji seutiasa dikeras Kini dalam biok kenystaan yang diuling supaya ujian syarat boslean akan menghasilkan kepurusan tidak benat kelak Contoh gelung infiniti: while (benar) System. out .printin("Gelung enggan berhenti") ; Blok kenyataan berulang ke ‘Namon begity, kata kunci brea dan kawal plihan f¢len boleh digunakan untuk menghentikan gelung infiniti Sains Komputer Tingkatan dO Kawalan Ulangan Do-While Kawalan ulangan do-iviie menyerupai kawalan ulangan while. Keadaan yang membezakan kawalan ulangan do-whileialah kawelan ini membuat ijian selepas blok arahan dalam gelung dilaksanakan. Oleh itu, kawalan ulangan do-wwhile memberikan jaminan bahawa blo arahan akan dilaksanakan walaupun sekali Tahukah 1 cpenyataan> dilaksanakan 2 cungkapan> dinilai 3 Jika cungkapan> j ulang Perhatikan Rajah 1.37, Susunan blok arahan berulang terletak sebelum simbol ujian syarat boolean, Anak panah "Bonar" akan dlikuti sekiranya ujian syarat boolean menghasilkan keputusan benar. Anak langkah 1 hingga 2 panah "Benar” akan menghala kepada garis aliran sebelum blck arahan 4 ika cungkapan> beruiang. Sebaliknya, dalam kawalan ulangan while, anak panah "Benar" eealial paley, sama daripada simbol ujian syarat boolean akan menghala kepada biok arahan selung ulangan sebelum berbalik kepada simbol ujian syarat boolean. Jika “Palsu", Kawalan ulangan akan berhenti dan kawalan akan bergerak ke baris arahan yang baharu. Do Loop Waile Blok kenyataan berulang Rajah 1.37 Carta alir dan sintas urtuk kawalan Uangan do-while Apakah output untuk kawalan ulangan yang berikut? int no = 1; fof System.out.printin(ne + "x3 >" no = no + 1;) while (no <= 12); + no #3); BAB 1 PENGATURCARAAN Gt) @ Tahukah Anda Ringkasan untuk penyataan kawalan for, while dan de tbile. + Bentuk for for eawalan> ; § spengemastinian> ) ){ ; ; J * Bentuk do while ; Dot ; pengemaskinian>; ‘] while ( ); Penyelesaian public clase Contohi3{ public atatic void main(String!] arga) { int no = 1; aof system.out.printin(no + "x3 <5, no +3 no = no + 1; Jwhile(no <= 12); } Contoh output: \users\ Tukmanrahtn\workspace\JavaForndtock\bin> java. conteh43 3 ey MG) Talis gelung kawalan ulangen do-while yang akan merinta nombor integer daripada penaguna sebanyak 5 kali sebalum mempamerkan jumlah nombor yang telah dimasukkan, Penyelesaian public class Contoh44( public static void main(String{] args) { double no; double eum; int counter = 1; Scanner scanne! aol ew Scanner (System. in); no = scanner .nextDouble () ; sum += no; counter = counter + 1; Jwhile (counter <= 5); Systen.out.print1n("The total is * + sum); } Contoh output; : users ukmanran m\workspace\Javarormdsook\binojava Contohd4 total fs 31,0 ‘Sains Komputer Tingkatan 4 gobuch aplkas’ menerima dua nombor integer daripada pengguna Tahukah fen memaparkan perbezaan dua nombor tersebut. Setelah itu, aplicas! = OYE gen batanya kepada pengguna jka_ingin’mengulanginya. Pengguna Tab iarbatad memasukkan perkataan "Ya" jka ingin mengulangi, atau Inin-laiy ka tidak pepyaigan eoninne mei mengulanginya, Tulskan atur cara Java untuk aplikas| nh Frepupntonseal i an kavwalan yng penngoveneian imembotebkan wntake public clase Contohas{ ‘ms yang ters Repada public static void main(string args(])( gelung,seterusya tanpa String input; perl melsksanakan Scanner scanner=new Scanner (System.in); penyataan fain di dalam Ant noi igelung. Penyataan ini int n02; boleh digunalan dalarn do { gelung fo, cwbile dan do nol = scanner .nextInt(); while. no? = scanher-nextint (); Penyataan break pula System.out.printin(*Beza: ©" 4 Math, —— digunakan untuk keluar abs (no? = not)); daripada gelung tersebut. System.out.printin("Taip y= untuk —_Penyataan finely eerusken digunakan bagi input =scanner next () ; memastikan gelung, }while (input equals ("Ya")) ; dilaksanakan walaapun } pengecualian tidak ) jangle. Contoh output: \users\lukmanrahim\norkspace\JavaFormsook\bin>java conteh4S 22 fpr uncuk teruskan .. ur ngan Do-Wil ‘ulis 10 angka dari 0 hingga 9 ci aias papan hitam. 2 Pin seorang murid. Murid diminta berdir ai satu ponjuru papan hitam, Borikan sobatang kepur put. 3 Di setu penjuru yang lain, letakkan sebuah kerusi. Guru berada di scbolah orusi. Guru akan monulio satu operator perbandingan (lebih kecil, lebih besar atau sama dengan) diikuti satu angka di antara 3 hingga 8 di atas sekeping Kertas Ad. Sebagal contch, < 5, Kertas ini jalan syarat rehsia yang dirahsiakan daripada murid taci. 4. Murid diminta berjalan ke papan hitam, membuiatkan satu angka, dan Kemudian bejalen ke arah guru. 5 Sebelum dibenerkan berjalan mengeliingi kerusi, guru akan bertanya kepada kelas sama ada pilnan BAB 4 PENGATURCARAAN % Turi mematuh syarat rahsia, Sefuruh kelas boleh metihat syarat itu kecual murid tadl. Jika ya, gury ‘akan membenarkan mund berjalan mengeliingi kerusi dan kemudion berpatah balls ke penjuru asa) 6 Muri diminta mengulangi langkah- langkah sebolumnya dengan momith gatu nombor baharu, 7 Sokiranya pithan tidak mematuhi syarat, murid diminta balk ke tempat duduk dan pormainen ditamatkan. 8 Minta murid-murid memikirkan perkara berikut dan membuat kesimpulan: (a) Biangan minimum ulangan yang boleh dibuat. (0) Blangan maksimum ulangan yang boleh dibuat (c) Apakah syarat yang membenarkan pengulangan? {(q) Dalam keadaan apakah murid tidak dibenarkan mengulang dan permanan ditamatkan? (©) Adaksh blangan ulangan pertu ciketahui terlebih dahulu? Struktur Kawalan Ulangan yang Melibatkan Operator Increment dan Decremeni, Class Math dan Boolean Operator Increment [++] dan Decrement (--] Operator increment(1-+) dan operator decrement(—) lazimnya digunakan dalam kawalan ulangan sebagai pembilang. Operator increment (++) ialah penambahan nilai pemboleh udah bagi bilangan nombor tertentu, Sebaliknya, operator decrement (-—) mengurangkan nilal pemiboleh ubah bagi bilangan nombor tertentu. Tohukah, Cul) Semvanya membswa smaksud yang sami! sJadual 1.13 Ungkapan tokok ‘ontoh while | ckemas kind nilai dalam syarat> } Kataken i mengandungi 9, 4 += 1 akan menambah 1 kepada 9. Jadi, nilal baharu | alah 10. while ( } Katakan | mengandungl 5, aed 2 4 += 2 akan menambah 2 kepada 5. ia ate ae 2s i Sains Komputer Tingkatan 4 is as while ( ckemas kini nilai dalam syarat> Hos inline } Katakan i mengandung) 2. i += 3 akanmenambah 3 kepada 2. Jad, nilai baharu i ialah 5, dadual 1.14 Ungkapan susut a while (csyarat booleans) { skemas kini nilai dalam syarat> } Katakan i mengandungi 9, i -= 1 akan berkurang 1 daripada 9. Jaci, nai banaru i falan 8. while () { ckemas kini nilai dalam syarat> } Kaiakan i mengandungi 5. 4 —= 2 akan berkurang 2 daripada 5. ' Jadi,nilai baharu jialan 3, while ( ) Katakan i mengandungi 2. i -= 3 akan berkurang 3 caripada 2, Jadi,nilai baharu jialah -1. Math.random[) Mathrandom) ialan subatur cara Java untuk menjana nombor secara rambang, Math.random() menggunakan waktu sistem sebagai nilai benih untuk memulakan panjanaan nomborrambang. ‘Subatur cara inidigunakan setiap kali diperlukan untuk menjana suatu nombor rambang antara 0 dan 1. Sekiranya nombor rambang diperlukan adalah oi antara 1 hingga 10, gunakan ungkapan (nt)(Math.random"10) +1, Sekiranya nombor rambang Gperiukan adalah ci antara 1 hingga 100, maka ungkapan _(in!)(Math. fandom()"100) + 1 digunakan. Bageimana pula jika nombor rambang diperlukan dalam julat 1 hingga 6? BAB 1 PENGATURCARAAN Tohukah Li) ij Ly "Tokok dan susut berlaku bah digunakan lebihan ‘ungkapan. iets ‘Tokok dan sustt berlak sclepas nilai pemboleh ubah digunakan dalam Iebiban ungkapan. Eel ra EI Increment and decrement goo.gl/RZqgGH Penyelesaian public class Contons6{ public static void main(String () arge){ int iy Scanner scannersnew Scanner (System. in) ; boolean flag=true; dof for (i = 1jic=20;i4+){ System.out print ((int) ((Math.random() * 6) +1) 4» a ) System. out. printin() ; system. out..printin ( = system.out.printin("Taip ya untuk teruskan. Tidak untuk | hentin); if (scanner-next () .equals ("ya") ) { flagetrue; Jerse( j flagefalse; )while (flag); Bendera Boolean Bagaimana jika atur cara membenarkan pengguna menentukan sama ada ingin meneruskan satu lag) set 20 nombor rambang? Dalam hal ini, kod di atas boleh diletakkan dalam kawalan ulangan do-wiilé dan satu pembolen ubah Boolean digunakan untuk mengawal ulangan. Pemboleh ubah ini beroperasi sebagai flag, atau bendera penentu. Sebelum memasuki gelung seterusnya, pengguna ditanya sama ada ingin meneruskan atur cara itu lagi. Jika "Benar*, flag diet sebagai True. Jika sebaliknya, flag diset sebagai False. gers) emanrah{alworkspace\savarerndtook\bin> java Contohi4 ip ye untuk teruskan. Tidak untuk henti 2162141232661653242 ig, 78 ents erostans Faak oni boned Rajah 1.88 Output 20 nombor dengan opsyen untuk mengulang , Sains Komputer Tingiatana Juliskan kod Java yang menjana 20 nombor dad secara rambang dan pengguna dberkan pilihan untuk mengularg proses ilu Penyelesaian public class Contoh47{ public static void main(String {) args) { int i; int diceNo; int count1=0, count2=0, count 3-0, count: Scanner scanner=new Scanner (Syctem. in) ; boolean flag-true; aot count S=0, count 6=0; for (i = 1)d<-20;i+4){ diceNo= (int) (Math.random() * 6 + 1); System. out .print (diceNo+ " "); ewiteh (dicevo) { case countl++; break; case 2: count2e+; break; case 3: count3++; break; case 4: count4++; break; case 5: countS++; break; case 6: countér+; } } System.out.printia() ; System.out.printin("* Dice number 1 = "+ countl +" #"); System.out.printin("* Dice number 2 = " + count2 + " #"); System.out.printin("* Dice number 3 = " + count3 + " $"); System.out.printin("* Dice number 4 + count4 +" %"); System-out.printin("* Dice number 5 + counts +" %"); System,.out.printin("* Dice number 6 = " + counté +" $"); System. out.printin(); system. out-printin(*~ syetem.out.printin("Taip ya untuk teruskan. Tidak untuk enti"); if (scanner.next () .equals("ya")) { flag=true; Jetset flag=false; } }while (flag); BAB 1 PENGATURCARAAN Pembilang Selain pembilang iyang biasa diqunakan dalam kawalan ulangan for, pembilang lain boleh dliisytia untuk membuat pengiraan dalam penyelesaian masalah. Pembilang ini diisytiharkan oleh Deng 4 cara di luar kawalan ulangan sebagai pemboleh ubah jenis int dan diumpukkan nilai asal 0, tae badan blok kawalan ulangan, pembilang ini akan ditokok atau dikurangkan bergantung kepada je ; permasalahian menggunakan operator Increment atau Decrement. Syarat yang molibatkan perubahs, nilai pembilang diuji menggunakan struktur kawalan pilthan seperti switci-case atau if-else, Untuk memahami peranan pembilang dengan lebih lanjut ‘agi nat contoh yang berikut. Na Eksperimen menentukan kekerapan nombor dadu 1, 2,3, 4,5 dan 6 hasil 100 kali ambungan rambang aoak sukar dibuet ‘secara manual. Katakan hasil eksperimen adalah peratusan kekerapan setiap rombor dadu dalam 100 lamoungan. Penyelesaian 1 package dadurasbange 2 Sport java.util. Scanners 2 A public clase Dedaranbang | 5 public static void masm(stesagl) args) ( ‘ int 4 ° ‘nt keraled, kixs2-0jkira3-0, hirade0,kiraSed,klra6=0; ° Gdoubie perseni-1,pezsena-0, fersend=0, paroud-0,peraenset,persent-0/ 20 {nk jomlahkiraaseDs n Scanner scannerenev Scanser (systen. in)? 2 booless flageteae? 2 et a for (els ten10ce 144) 15 SscaNow (int) hazhrandoa() * 6 + Ue 0 witch (AScato) { 9 cease 2: iiraztty breacr a cast G iirattey breacr ’ , justahetraan = Hiral + Hira? + kira + kinad 4 kira + kira: 300; (double) kizaé/sumlanKizean * 1007 (onibte) kisaS/SomlanKizaan * 1001 = (doula) kir26/jumlankiean * 100) ionbor 1 dad = * + pergent + * stlopbor 3 dads = * + persea3 sor § dade Nonkor dads = + persons + + persons + ‘Systen.cu,peineln System. cut.printin( Contoh output: peer en eran) a lo:\Java Projects\DaduRambang\dist>java -jar DaduRambang.jar *Nombor 1 dadu = 16.0 % *Nombor 2 dadu = 13.0 % Nombor 3 dadu = 13.0 % Nombor 4 dadu = 15.0 % *Nombor 5 dadu = 20.0 % tNombor 6 dadu = 23.0 % untuk teruskan: lya ae ctor area i prc | BMI (Body Mass fide) le i ran yang tinggian seseorang. BMI boleh ciukur dengan di ‘Jisim Badan atau lebih dikenal sebat men wnjukken hubungan antara berat badan dan mengambil kia berat baden sescorang (dalam unit kiogram) ketinagian seseorang (dalem unit meter). = tinggi (mn) X tinggi (m) Setelah mendapat keputusan SMI, anda bolehlah melihat carta dalam jadual yang ditunjukkan di baweh bagi menentukan kategori anca. Ea Kurang daripaca 20.6 Kurus 20,7 - 26.4 ‘Normal 26.5-309 Gormuke 310-452 Obesitt Lebih daripada 45.3, Bahaya Tuliskan atur cara Java yang dapat, (a) menerima niai berat seseorang (dalam kg} dan nilal tinggi seseorang (dalam m), (b) mengira BM becdasarkan nilai berat dan tinggi yang diperolehi pada soalan (a). {o) memaperkan status seperti daam jadual di atas berdasarkan nila BMI yang diperoleh. Q._ BAB 1 PENGATURCARAAN ‘an2) @ for(n = 2;n<=20; n+=3) { system.out printin(n + * "); } (b) for(n = 180;ne=40 ;n-#15) { System.out.printin(n + " "); ‘meminta penggura memesuksan dua integer, laity noMula dan noTarrat, ‘ulangan for untuk mempamerkan semua Integer genap di antaranya dan t a e ae nombor berkutnya yang lebih kecil sehinggalay |. Faktorial § ialah § X 4 X 3X 2 x 1 = 120, Gunakan kawalan ulengan do-whie int ati faktoril bagi integer posit yang dmasukkan oleh pengguna. 4 _§ Kaj carta air yeng berikut. Initialize counter = 9 Palsu counter = counter + 9 Benar Paper counter dan tana > ruarg (@) Tuis atur cara menggunakan bahasa pengatur cara Java berasasken carta alir dl ates. Tunjukkan bahagan kawalan sahaja. (b) Apakah output yang anda jangka? 6 Tuis sebuah atur cara yang memaparkan arahan kepada pengguna untuk memasukkan kata laa Kata laluan pengguna mestilah sama dengan nilai dalam rekod, iaitu nilai dalam pemboieh upat RekodLaluanRahsia. Atur cara akan memaparkan arahan sekali lagi jika ujan kata laluan gag?! Pengguna hanya boleh mencuba sebanyak tiga kali sebelum aplikasi ditutup senidir. (a) Tulis pseudokod untuk penyelesaian masalah ini. (b) Lukis carta alir. (c) Tulis atur cara Java berasaskan algoritma yang anda reka sebelum ini, a ed Sains Komputer Tingkaten 4 7 Talis pen’ dual yang ditunjulkkan di baw: Kod ulian run "KERANT” “Capaian data sahala” *JURUTEKNK® *Capaian sstem sahaja’ *PENTADBIR" “Capaian sistem dan dala” /—*PENGURUS” “Capaian keseluruhan" Lain-lain “Capaian tidak diteima® ‘semula atur cara di baweh dengan menggunakan arahan while. fem) pita | Systemeout.printin Get 6 py Af (i>=9) System.out .printin ("tamat\n"); 9 Tuls satu atur cara yang dapat membaca data Kod buku dan Bilangan buku seperti yang ditunjukken dalam rajah yeng ditunjukkan di bawah. Paparkan juga kod yang mempunyal ollangan buku yang tertinggi dan terendah. Kod buki 100 2 101 5 11 2 113 18 145 25 10 Tulis semula penyataan if berikut menggunakan penyataan switch...case. (a) int kiraan = 29; if (kiraan ¥ 10 == 0) . System.out.printin ("Waeil kiraan - + Keizaen) ; else system.out.printIn("Hasil kiraan = " + null); BAB 1 PENGATURCARAAN int poin = 3, markahy (poin =» 1) markah += 5; Af (poin == 2) markah += 10; if (poin == 3) markah += 26; if (poin == 4) a Java yang dapat menerima nombor di antara 1 dan 100 secera rawak menggunakan ‘Nath. random ().Contoh output ditunjukken seperti di bawah: xawak di antara 1 dan 100 adalah: Rawak [2] : 23 Rawak [2] : 56 Rawak [3] : 27 Rawak [4] : 96 80 E Nonbor Rawak [5] 112 Tulis atur cara Java yang dapet menentukan sama ada seseorang itu layok untuk mengundi atau tidak: berdasarkan umur dan status pendattaran (telah membuat pendafteran atau tidak pernah memibuat pendaftaran) dan memaparken mese| seperti di bawah: ee |e Mendatiar Bawah 18 tahun “Anda terialu muda dan tidak layak mengundi’ Tidak Mendattar ‘Sekurang-kurangnya 18 tahun = Mendaftar “Anda layak mengundi ‘Sekurang-kurangnya 18 tahun Tidak Mendaftar “Anca perlu mendaftar dahulu sebelum mengundl 13. Pengisytinaran pemboleh ubah ciberikan seperti di bawah: boolean pass = true; @s. atur cara yang dapat menentuken sama ada transaksi anda boleh diteruskan atau tid menggunakan penyataan if...else...if Pe) arena Benar “Anda boleh teruskan transaksi berikutnya" “Anda perlu ulang semula kemasukan kate laluan" ‘Sains Komputer Tingkatan 4 SA PONT er ee Causa) 4.5.1 Membezal ralat dalam str ea (Ginaks; masa avian dan logit) 1.8.2 Mengesan, smengenal pasti, ‘menterjemah mesejralae| dan membaiki ralat 1.53 Mengenal pasti nila bagi pemboleh ubah pada bahagian tertentuatur ears 4.54 Menghasilkan atur carayang mudah dibaca dengan menggunakan gaya yang baik (komen, nama pemboleh ubah yang bermakia, inden) Amalan Terbaik Pengaturcaraan Amalan terbak secara u 4 mum lal todol telah bude aS lah teknik atau metodologi yang Sualu pengalaman atau kajian yang boleh dipercayai, untuk mendapatkan hasil yang diinginkan. Amalan terbaik dalam Sesuatu bidang merupakan satu komitmen untuk menggunakan semua Pengetahuan dan teknoogi yang ada untuk memastikan keberhasilan yang balk, _ Amalan terbaik pengaturearaan jalan apabila pengatur cara dapat mempraktikkan amalan-amalan yang biasa diikuti untuk menghasilkan alur cara yang balk. Rajah di bawah menunjukkan perbezaan yang boleh dilihat antara kod atur cara yang dibangunkan menggunakan amalan {erbaik pengaturcaraan dan kod atur cara yang dibangunkan dengan tidak Menerapkan amalan terbaik pengaturcaraan. Rajah yang manakah membuatkan anda lebin memahami apa yang ingin disampaikan oleh pengatur cara? /* Langkah 1: Baca nomborl dan nombor? // Langkah 2: Hitung hasil tolak nombor1 - nombor2 7] wangkah 3: Papar hasil*/ J Program Mengira Hasil Tolak Dua Nonbor public class Tolak Dua _Nombor { public static void main(String[] args) { //Pengisytiharan input Ant nombor1 = 20; int nombor2 = 13; //Pengisytiharan output double hasil; //Proses menolak nomborl - nombor2 hasil = nomborl - nombor2; //output yang akan dipaparkan Systen.out.printin(*Hasil tolak dalah " + hasil ); Rejah 1.39 Aturcara yang mengguneken amalanterbak pengaturcaraan BAB 1 PENGATURCARAAN Public clase Tolak_pua_Nonbor { Public static veld main(string(} args) { {nt nonbort = 20; Ant nombor2 = 13; double hasil; haeil = nombort — nombor2; System. out.printIn("Hasil tolak ialah " + hasil ), Penggunaan Java } Neibeans datam } pm n Permainan ‘eto Bi R {ur cara yang tide monggonakan amalan trbek pengalrcar hups://g00.auwbGeq ae AR AAC eaT a esa = “ ————— Berkut merupakan amalan-amalan terbaik pengaturcaraan yang perlu diikuti oleh seorang pengatur cara dalam menghasilkan suaty kod alur cara yang balk, atau boleh juga dikatakan faktor-faktor yang mempengaruhi kebolehbacaan kod atur cara. Inden yang + Penggunaen inden yang konsisten membuatken kod atur cara mudah dibaca dan dfahami renee] » ‘leh pengguna lain, Cara menus inéen yang Konsisten pertu dilakukan darl awal kod atur ie ccara hingge ke ekhir kod. + Pilih enis data yang bersesuaian supayasaiz pemboleh ubah tidak terlampea Kel teu )) _ Rsatdan nemuinara sumber conse resources, Senege coh, cuntan ens ata integer bagi nombor bulat dan bukan double, Ean cit + Stop biarlah kel untuk mengolakkan kekoliruan dan mudah diselenggara itu: (@) Tidak bermula dengan nombor, Contohnya, gunakan cara‘ dan bukan ‘cara, () Tiada rang kosong aniara parkatzan. Jka terdzpat lebin danpada satu perka‘aan, ‘gunakan undrscere (__) atau rapatkan perkstazntersebut menjadi satu perkataan. Cortohnya, cara 1 atau carePertema atau cara_t. (Tidak sama dengzn kets ketunc dalam Java, Cantomnya, penggunean integer atau double sebagai pemboleh ubah, (©) Penagunaanhurut kecl dengan huruf besar seperti kata laluan, pemboleh ubah bersifat sensi kesmhuru. Contohrya, caraPertara beibeza dengan CaraPertama. + Nama yang bermakna dan mudah difahani, Penggunaan perkataan singkatan yang tak jides maksudnya atau penggunaan huruf sepert x dan y tidak cigaakkan. + Tilak teh ed cathe rungkosona den pertleaan rzebthss seperti fan Value’. + Komen perlu ditulis dengan jelas dalam dua hingga tiga baris pendek untuk menerangkan 4 » fungsi tod dan memenuhi tuang lajur pengekodan, i ia Rajah 1.41 Amalan lerbak dalam pengaturearaen D> soins Komputer Tingkaten 4 Oe §250 Jenis Ralat dalam Atur Cara palat mungkin diterut apabila anda mej jalan: pray tama anda. Relat yang sering berlaky eae cara bagi projek yerbahagi kepada tiga jenis iaitu sintaks, masa larian mes aaa gerikut akan diterangkan dengan lebih terpering) jeni ogi: ‘aktor panyebabnya. is-jenis ralat dan Ralat Sintaks palat sintaks merujuk ralat yang berlaku yang berikut: akibat perkara 0 Kesalahan tatabahasa seperti salah ejaan dan tatatanda, Rajah 1.42 Jenis-jeris ralat oO Penggunaan objek atau aksara yang tidak dikenali dalam pangaturcaraan Giaen, public class HelloMalaysia { public static void main (String{] args) { System. out-println("fello Malaysial"); } Exception in thread "main" java.lang.srror: unresolved compilation problem: Syntax error, insert *)" to complete ClassBody at HelloMalaysia.main (HelloMalaysia.java:9) Contah alu cera yang mengandungi raat sintaks Untuk rajah di ates, apakah yang menyebabkan atur cara tersebut mempunyai ralat sintaks? Cuba anda pernatixan dengan teliti kod atur cara tersebut. Fahami mesej ralat yang cuba cisampaikan. Apabila anda perhatikan, satu tatatanca “ } “telah hilang. Tetatanda * } “ yang ada hanya untuk menutup salu talatanda* { * pada “public claes He1loalaysia’, Manskala pada kaedah utama “public gtatic void nain (String[] args)" tidak diekhiri dengan tatatanda “}". Rajah di bawah teleh dlengkapken dengan tatatanda “{ }". public class Hellovalaysia { public static void main (Stringl] args) { ‘sntin ("Hello Malaysia!") ; — [iain abt censianien |) tals tatatarda yang telah dibetulkan ey: ] Contoh attr cara mengandungiralat BAB 1 PENGATURCARAAN quien Ralah di bawah menunjukkan ralat sintaks. Semase pengisytiharan pe tibah atau pamaler dlakukan, nis deta juga perl disytinarkan bersanc” sama nama pemboleh ubah tersebut. Cuba anda perhatiken atur can A Bawah. Pomboloh ubah "Ting!" tidak dinyatakan bersema jens datany 2 Sepatutnya pemboleh ubah tinggi clisytiharkan sebagal ae “int Tinggl". public class Luassegitiga { public static void main (String[] args){ dengan menjawab kuiz int Tapak = 6; See! double Tuas; uas = (1.0 / 2) * Tapak * Tinggi; system.cut.printin ("Luas Segitiga ialah : " + buas); ey Exception in thread 'main" java.lang.Error: Unresolved compilation problems Tinggi cannot be rest Tinggi cannot be resolved to a variable olved to a variable at tuasSegitiga.main (LuasSegitiga. java:12! | 7 Artikel ini memaparkan nasihat dan tips kerjaya daripada pakar dalam bidang pengaturcaraan. hup://goo.gl/vrDCrk: public class LuasSegitiga { public static void main (Stringl) args){ int Tapak - 6; int Tinggi double Lua bues = (1.0 / 2) * Tapak * ringg!; gystem.out.printin ("Luas Segitiga ialan : + Luas); ag ge er eee eee ES Gay ssains Komputer Tingkatan 4 Ralat Masa Larian Falat masa larian ialah ralat yang ditemui ketika atur cara yang sedang berjalan ee a petetpe faltor. Ralat ini berlaku sekiranya engatur cara cuba untuk melaksanakan operas) aritmolil ee esneld Sang baru: motik yang mustahil. 0 Pengiraan data bukan berangka (non-numerical) oO Pembahagian dengan digit 0 @ Mencari punca kuasa dua bagi nombor negatif ommon pengiraan data bukan berangka (non-numerical) an Chong sedang menulis atur cara untuk mengfa luas sebuah segi tiga. semasa membual pengisytiharan pemboleh ubah, dia secara tidak sengaja telah mengumpukkan pemboleh ubah "Tinggi" dengan char x. Semasa atur_cara_dijalankan, pengkompil telah mengeluarkan ralat masa larian, ‘An Chong memeriksa atur caranya dan mendapati pemboleh ubah "Tinggi" tdah diumpukkan dengan "x" dan bukannya nombor. public class Luassegitiga { public static void main (stzing[] arge) { // Pengisytiharan pemboleh ubah input // dan output int Tapak = 6 int Tinggi = x double Tuas; // proses yang terlibat dalam penghitungan // as segitiga luas = (1.0 / 2) * Tapak * Tinggi; //Paparan output System.out.printin ("Luas Segitiga dalah : " + Luas) ; Contoh atur cara bukan bebas ralat masa lrian (Pengiraan data bukan berangke) Exception in thread "main" java.lang.Error: Unresolved compilation problem: % cannot be resolved to a variable at LuasSegitiga main (LuasSegitiga.java:12) CContoh mesej raat masa lrian (Pengirsan data bukan berangka) Robot direka oleh ASUS ‘untuk menjadi teman dligtal kepada warge tu. hittps//www.zenbovasus, com Sigel ai Run-time Errors ‘ttp-//ev0.gV6pI4i06 BAB { PENGATURCARAAN Rajah di bawah menunjuksan Kod atur cara bulken bebas relat untuk mengia purata tiga nombe, Beletkah anda kenal past pada bahagan mana yang mungkin akan berlakunya raat masa larian? Marj, semak bersama-sama, public class HelloWorld { public static void main(string(] args) { int a, by ¢, u b= 5: c= 10; d= (a+ b+ c)/0; System. out-printin(d) ) Contch alur cara bukan bebas ralat masa larian (Pemibahagian dengan digit 0) Selepas atur cara ini dijalenkan, mesej relat seperti rajah di bawah axon torpapar, Apakah yang berlaku? Cuba anda perhatikan pada formula yang digunakan. Pembahagian tiga nombor tersebut adalah dengan digit O, jaitu merupakan salah satu faktor kepada berlakunya ralat masa larian., Exception in thread “main* java.lang.ArithneticException: / by zexo at Purata Tiga Nombor.main(Purata Tiga Nombor.jeva:10) ‘Contoh mesejralat masa larian (Pembahagian dengan digt 0) Ralat masa larian juga berlaku sexiranya kesalahan dilakukan semasa mencari punca kuasa dua untuk nombor negatif, Seperti yang kita sedia maklum nombor negatif tidak mempunyal punca kuasa. Liat rajah di bawah. Output yang akan keluar adalah seperti yang Gtunjukkan, public class Punca_Kuasa_Dua { public static void main(String{] args) { int x = int Y -25; system. ouc.printin(\n" + Math. sqrt (x); systen. out printIn (Math. sqrt ly) |; ‘Contoh atur cara bukan bebas ralal masa laran (Mencari punca kuasa dua nombor negatif) Sains Komputer Tngkalan 4 ¢:\Users\fatisma\peskto Se 2UNO\T* 3.0 NaN . Ralat Logik Ralal in! berlaku apabila atur cara tidak beriungsi sepert! yang dlingini. Ralat logik tidak dapat dikesan atau Jarang dikesan oleh pengkompil. Pengalur cara sahaja yang boleh mengesan ralat logik melalui output yang cihasikan, Sekiranya output yang dihasilkan tidak Menepat! apa yang diinginkan, pengatur cara perlu memeriksa semua aspek ‘output projek tersebut seperti pengiraan, teks dan penjarakan (spacing). Ge a_ Ro Bis Logieal errorsin Java Miptigao OYMES Azian dan Mei Ling ingin menghasilkan atur cara yang boleh menghitung hasil tolak dua nombor. Selenas menuls kod atur cara, hasil data output yang diperoleh salah. Olah sebab pengkompi tidak dapat mengesan ‘ala tersebut, Azian perlu memeriksa atur cara yang telah ditulisnya. Namun besitu, Azian boleh menganggarkan tempat berlakunya keslapan dalam kod atur cara dengan berpancuken data output yang dipaparsan seperti rajah di bawah. //Program Mengira Hasil Tolak Dua Nonbor Public class Tolak_Dua Nonbor { public static void main(String] args) { int nombor1 int nombor2 double hasil; 1 asi = noabori + norkora) [RATS] system. out.printin(*Hasil tolak ialah " + hasil ); Formula matematik yang salah digunakan untuk menghitung hasil tolak dua nombor BB Conmand Premet = utoriali\sre>java Tolak_Dua_Nombor Hasil tolak ialah 33.0 C:\Users\fatisma\Desktop\WORK SPACE ECLIPSE JUNO\T* o x 5 CContoh output yang tidek teat renunjukkan raat ogikberaku BAB 1 PENGATURCARAAN A ETE a ERO RHEIN E Sicetay Lakukan penyelidikan ini secara berkumpulan dua hingga tiga orang. Bincang dengan rakan anda, ‘Atur cara dt baweh ielah sebuah program ringkas untuk mengra borat dan tinggi ideal bagt indivi, ‘Sekiranya incividu ity mempunyai berat Kurang alau sama dengan 66 dan tinggi urang atau sama dengan 145, maka paparan output lalah * Awak langsing” dan sebaliknya. Walau bagaimanapun alur cara di bawah bukan atur cara bebas ralal, Senaralkan janie relat yang mungkin Derfaku dalam kod atur cara di baweh dan nyatakan bagaimana ralat tersebut akan muncul apabila sesebuah atur cara dijalanken. Gunakan kemudahan enjin carian untuk mencari lebih maklumat, BBezakan jenisralat dan can nyatakan juga sebarang pe'samaannya,jka ada, Perserbanian hasl caran anda kepada rakan sekelas. (Cadangan — gunakan pata i-Think sekiranya sesua)) a import java-util.Scanner; public class UsingJikaTidakScanner ( public static void main(stringl] args) Scanner input = new Scanner (System.in); system.out.printin("Sila masukkan berat: "); int berat = input.nextInt (); system,out.printin("Sila masukkan tings: int tinggi = input-nextInt (); i€(berat <= 55 && tinggi >= 155){ Systen.out printin ("awake Langeing") ; } else { system. out.printla("Awak gempal"); } ; } Hi ConmnanaPromat = © ik C:\Users\fatisma\Desktop\WORK SPACE ECLIPSE JUNO\p~ royekutana\ srcrJave Mengira_Berat_Tinggi_Ideal , sila masukkan bera’ 45, sila masukkan tinggi: 146 Awak gempal Sains Komputer Tingkatan 4 93 Pengesanan, Pengenalpastian dan Penterjemahan Mesej Ralat serta Pembaikan Ralat we solution MeptigongllgQ24 getelan memahanii perbezaan yang diterangkan bag! ketiga-tiga ralat aturcara dalam pengaturearaan, anda akan boleh mengesan, mengenal pasti dan menterjemahkan meso) ralat serta membaiki ralat, Rajah 1.43(2) menunjukkan alur cara mengira luas bulatan bukan bebas ralat, Mari kita gesan ralat yang berlaku dan buat pembaikan! { public class tuasBulatan { | public static void main (stringt)args) ( final douple pi= 3,142; luasBulatan = pi + jejari; System.out.printin("Luas bulatan ialah " + luasbulatan); Rajah 4.43 (a) Aturcara menghitung luas bulatan bukan bebas ralat Exception in thread "main" java,lang. Error: Unresolved compilation problems: Syntax error, insert ";" to complete BlockStatenents luasbulatan cantot be resolved to a variable at IuasBulatan.main (IuasBulatan.java:5) Rajah 1.43 (b) Pengkompil mengesan slat dalam kod alt cara Rajah 1.43(2) Apabila atur cara pada Rajah 1.43(a) dijalankan, kotak dialog ralat pada Rajah 1.43(b) dipaparkan. Apakah yang barlaku? 1, Semak semula atur cara pada bahagian pengisytiharan. 2. Pastikan semua tatatanda ditalp dengan lengkap. Neawrserecn 3. Pastikan nama pemboleh ubah yang dilsytiharkan adalah, dengan nama pemboleh ubah yang akan dipanggil balik ae atur cara, Yang dimaksudkan adalah sama dari segi ejaan i penggunaan hurufkecil dan hurut besar. INGAT! Dalam pengaturcara.” Java, penggunaan huruf kecil dan huruf besar adalah kes sensitf) Kita dapat mengesan keselahan dalam atur cara seperti Conteh yang berikut: 1 Ralat Sintaks: int jejari = 5 @ouble lussBulatan; System.c + Avasbulatan ); atoprintin("Luas bulatan alah " Syster int jejari = 57 out.printin("Luas bulatan ialah « vasBulatan ) i * Setiap batis atur cara yang lexgkap akan diakhiri dengan simbol Pengisytiharan pemboleh uban | een memudahkan para penumpang. Selai tiket LRT juga boleh di bbeli secans atas tolian Pembelian aras talian telah diprogramkan untuk mengelakkan kesesakan di mesin tiket. JuasBulatan = pi * jejar! luasBulatan - pi * jejar: nt jejari |= 5 tidak dlekhiri dengan simbol* ;", * Las bulatan diisytihar sebagai doub1e luasBulatan; laltu ejzan Bulatan berhuruf besar, tetapi di dalam baris atur cara output, System.ouc.printin("nuas bulatan ialah "+ uasoulatan), Bulatan dieja menggunakan huruf kecil. 4. Setelah ralat dikenal pasti, ralat sintaks boleh dibaiki 5, Setelah mengesan dan membaiki relat sintaks, atur cara dapat dijalankan tetapi jawaoan pada paparan output tidak tepet. Lihat Rajan 1.43(). {Wa commana Prompt So § ¢:\Users\fatisma\pesktop\WoRK SPACE ECLIPSE JUNO\T) utoriali\src>java LuasBulatan Luas bulatan ialah 15.709999999999999 Rajah 1.43 (¢) Paperan deta output luasbulalan yang tidak tepst Jawapan tepat bagi luas bulatan dalem Rajah 1.43(@) talah 78.55 tetapi sistem memberikan jawapan 15.709 (Rajah 1.43(0)). Apakah yang beriaku? 4. Semak semua atur cara pada bahaglan penggunaan formula, 2. Daripada Rajah 1.43(a), kita dapat mengesan kesalahen dalam formula mengira luas bulatan. net Tuer * Jejari; Qa wt P aca peringkat awal, Ralat inl sek lun dapat dikesan apabila paparan f: ‘ Bey cae apa yang diingini, 4, Setelah ralat dikenal pasti, ratat togik, boleh dibaiki, ee public <1868 tuastulatan { public static void m, int jejari ‘ain (String {area) { double LuasBulatan; final double pi 314, PRIUS OL Adena § Jedi, ‘untuk mewujudkan jarak antara bars (line spacing). "a" juga menandakan untuk memasukkan baris system.out.printin ("Wuas bulatan ialah » luasBulatan) ; teks yang baharu, Rajah 1.44 Aut cara menghtung las buatan bebas ralat OAD, Advi; @ Kenal pasti dan baiki ralat Secara berpasangan, taip semula atur cara di bawah dalam persekitaren platform Java. Jalankan atur cara anda. Buat "Screenshot" atur car 2 yang telah anda ‘aio dan paparan ral yang mungkin anda peroleh. egryata ersebut. Bincang dengan rakan anda apakah jes relat yang mucin berlaku, Kenal past! lat Hare can balk ralat, Masuldkan kod atur cava yang mengandungl lat dan kod selepas dibald dalam jadual di baweh, public class kilometerkepadaMeter { Public static void main(stringll args) { int Kilometer = 20; int meter; System, cue.printin("\n" + kilometer + ' Kilometert Peace cen tersebut? Justifikasikan jawapan an BAB { PENGATURCARAAN He Mengenal Pasti Nilai bagi ; Pemboleh Ubah pada Bahagian Tertentu Atur Cara Pemboleh ubal digunakan untuk menyimpan data input dan data outpyy, rmemastikkan nila inpat sebagai ila jefai untuk sebuah silinder Dalam pengaturcaraan, pemboleh bah digunakan sebagai errudal, dengan ketinggian 12 em cara bagi komputer untuk menerlma, menghantar, memproses day bperapaksh nila pemmboteh | pyenyebabkan operas terhadap sesualu input. vubsh out baat ist pad silinder tersebut? J Sekiranya pengguna memasukkan nilai pemboleh ubah yang diingip, pemproses akan memproses nilai data Input itu dan mengeluarkan suatu nilai baharu iaitu output. Untuk mengira vas bulatan, murid bole, memasukkan sebarang nilai sebagai pemboleh ubah input ke dalam formula 1. Sekiranya murid memasukkan nilal input § sebagai nial jeja, pemproses akan melaksanakan pengiraan iaitu nj? atau 3.142 *5 * 5 dan output yang terhasil ialah 78.55. Oleh itu, nilai bagi pemboleh udah input ialah § dan nilai bagi pemboleh udah output ialah 78.56. Tie) a public clase LuacBulatan ( public static void main(String!) args) { int jejari = 5; double luasbulatan; final double pi= 3.142; luasBulatan = pi * jejari * jejari; Systen,out.print1n("Luas bulatan ialah * + luasBulatan); ‘Alur cara menghitung luas bulatan nen tem pambdleh val ar luas sport Java.text.Decimatrormat ; public clase Hargatiket { public static void main, int bilangas double harg double jum1, Decimal Form: system. out. “seorang penumpeng a format (harga_tiket) ) ; (String tl argay { ntiket <3; ja_tiket = 45.09; eh_harga; at ae = new pg cimalFornat ("#,00") ; Printin("\n" 4 "Marga tiket untuk " + RE —____ ‘tur cara menghtung juniah haga tel bas yang dite Penyelesaian tem ‘pemboleh ua bilangan tket Jumlah_harga harga_tket Amport java.te: Doeimal Forma Decimal Pornat dt = new Decimal fornat, (00%) ‘Anda dan rakan anda telah pergi ke Zoo Negara untuk mengisi mast pada hujung minggu. Hirga tiket bagi seorang Sahay ities, congan hargs sebanya 30% uneuemurd ckola, nyatakan pemboleb ubsh input dan output bagi Juintah harga bagi jarnlab hharga tiket anda dan rakan anda. Pemnainan Afion Hive telah direka dan Abanpentan oleh vore,syacikat pembangunan permainan video yang, pe beroperasi di Kuala Lumpur, Scjak dilancarkan pada tahun 2013, permainan video ini telah dimuat turun sebanyak tiga juta kali, orl 3 mie: utps//¢v0.gUeYRSYL. OQ. paBt reece GED) 5. public ela double double doubie double milo = guia = Kena! past lal pemboloh vbah dalam bahagianterents subatur cara Bincang dengan pasangon anda, Konal pastt nilal pemboloh ubah data bagi atur cara di baa Benikan justiikasi bagi jawepan anda, . text DecimalFormat; | public atatic void main(String []args) ( DecimalFormat df = new DecimalFormat ("4.00"); jumlah_belian = milo + susu_pekat + tepung; jengira_Jumlah_Belian { milo; susu_cair; gula; jumlah_belian: 19.90 * 3 * (100-5) / 100; susu_cair = 2.80 * 6 * (100 - 2) / 100; 3,00 * 5 * (100 - 3) / 100; bups://ephit ‘Laman sesawang ini ‘merupakan pengkompil dalam talian yang mudah digunakan. Anda petlu menaip kod atur cara dan anda akan dibantu untuk ‘menguji dan memastikan kod anda bebas ralat. Laman sesawang ini boleh digunakan untuk pelbagai bahasa pengaturcarsan. Penghasilan Atur Cara yang Mudah Dibaca dengan Menggunakan Gaya yang Baik (Komen, Nama Pemboleh Ubah yang Bermakna dan Inden) Untuk menghasilkan atur cara yang baik dan mudah cifahami, penga cara perlu menggunakan gaya yang baik seperti yang berikut: o Meletakkan komen pada setiap fungsi yang dibuat. @ Menggunakan nama pemboleh ubah yang bermakna. @ Menggunakan inden yang selesa untuk dibaca. ‘Apakah yang dimaksudkan dengan gaya yang baik? Mari kita terokal! Komen amen merujuk penanda yang dibual dibina. Setiap bah; atur cara Yang ‘88a Pengalurcaraan mempunyal kod ng knusus untuk komen, Dalam Pengaturearaan Java, kod tome perlu menggunakan sintaks yang telah ditelapkan. Sekiranya sintaks tersobut iaak imesukkan pada baris komen ef fidak dimasul Nn dalam atur cara t is Jaws dowumentation er mengolvarkan ralatsintaks/kompl a Tereebul ei ome bups/igoe.ghiiutSMo oleh pengatur cara untuk setiap Jaiatanda komen dalam Java perlu n dilakukan dengan betul yerdapat tiga gaya tatatanda komen yang bole} t h digunakan jaitu: ‘dual 1.15 Jonis komen dan huraiarnya inPengsstitaran pemboleh ubah —_Pengkompil mengabatkan semua teks bermula ‘dengan tatatanda // hinoga ke teks {erakhir datem bars yang sama, Pengkompll mengabaikan semua teks yang berada delam /* hingga ke /* welaupun dalam baris yang berainan, omen ini ilah komen dokumentasi, Pengkempil mergabaikan komen jens ini sama Seperti Komen yang menggunakan f* dan *7, {FPengisytibaran pemboleh ubah? 7 Pengisytinaran pemboleh ubaht/ Penggunaan tatatanca “//" , */* */" dan */'* */ sebagai sintaks komen. Penyataan yang berwarna hija imerujuk komen, /* Program yingkas untuk mengira Luas Segitiga Langkah 1: Baca Tapak Langkah 2: Baca Tinggi Langkah 3: Hitung Luas i nangkah 4: Papar Luas ye public class LuasSegitiga { public static void main (Stringl) args) { /*ePengiaytiharan perboleh vbsh input den outpue+/} Ro int Tapak int Tinggi double Luas; // proses yang terlibat dalam | J // Yuas segitiga uas = (1.0 / 2) * Tapak * Tinggi; j/Paparan output system.out-printin ("Luas Segitiga ialah : ' + tuas); ‘Atur cara dengan pengguraan komen BAB t PENGATURCARAAN Pemboleh Ubah yang Bermakna Semasa menulis atur cara, pengatur cara peru memikirkan Pemboleh ubah yang mempunyai ejaan yang ringkas dan bermakna alg atur cara yang sedang dilaksanakan, Ruluk contoh 58, Im Inden Inden merujuk cara penulisan atur cara yang memudahkan pembacean Pembacaan atur cara akan dimulakan dengan inden iaitu barisan joy berada di beberapa kedudukan aksara ke dalam, dari jidar kiri atay Kanan halaman. Rujuk rajah pada contol 58. Anda boleh layari laman sesawvang untuk neetapan inden bag kod atur cara anda hhetps://goo,gV/CNIMCS Sy Gien Untuk menghitung ites segi tiga, formula yarg clgunakan lalah “1/2 * p."q. Sekrrenya pengatur cara hanya Mengisytiharkan pembol leh ubah yang perlu digunakan sebagai p dan q sahaja, nama pemboleh upsh tersebut tidak bermakna, Telapi sekiranya pengatur cara menggunakan nama pemboleh ubah tapak dan fa lain senang untuk memaharrinya. tinggi, maka pengatur car /* Program merghitung luas segitiga*/ public class LuasSegitiga ( 4 —»[ public static void main (string[] args) ( /**Pongisytiharan pemboleh ubah input dan output+/ int Tapak = 6; ant Tinggi - 4; double Luss; // Proses yang texlibat dalam penghitungan {/ luas segitiga luas = (1.0 / 2) * Tapak + Tinggi; //Papaxan output System.out.printin ("Luas Segitiga ialah : + buae) ; Penggunaan nama pemboleh ubah yang bermakne dan penagunaan inden Be, Sains Kompuler Tngketon 4 kan. Rancang dan hasilkan atur oleh guru UNIUK membangunkan satu alur cara mut tersebut mestiah boleh menerima data input kepada pengguna. Aturcara tersebutmestilah seperti penggunaen komen, inden dan nama semak seperti yang dicadangkan di bawals, Pembolet ubah bemakna Cara bersama-sama rakan anda, Adan, Samy dan Tan telah dminta fah unluk mengira Isl padu sebuah silinder. Atur cara daripada pengguna dan dapet memaparkan data output bebas ralat can menggunakan amalan terbalk pengalurearaan Pemboleh ubah yang bermakna. Anda boleh gunakan senaral Nilai dats pemboleh ubah LEA c no) Pembclet vbah yang mempunyal dua perkataan bole diterima dalam penulisan atur cara lanpe menggunakan gars bavah (underscore "_") Penggunaan nama pemboleh ubah yang ringkas dan bermakna digalakkan dalam penulisan atur cara, Panjang aksara pembolch ubah adalah antare 1 hingga 256 aksara, "2 Apakah yang anda feham tentang pemboleh ubah dalam suatu atur cara komputer? Jelaskan, 3 Senaraikan gaya penulisan etur cara yang perlu dipraktikkan oleh seorang pengatur cara, Justifikasikan jawapan anda. 4 Apakah yang anda féham dengan pengguraan inden dalam pengaturearaan komputer? 5 Senaraikan tiga jenis ralat yang sering berlacu dalam pangaturcarean Java. Terangken secara ringkas dua daripada tiga jenis ralat tersebut. 6 Senarcikan faktor yang mempengaruhi kebolehbacaan kod atur cara. Justifkasikan jawapan anda. BAB 4 PENGATURCARAAN Amport java. text DecimalFormat + Public clase Hasil Hahagi Dua Nombor { Public static void wain(String!] arga) { Ant nomborl = 5; Ant nombor2 = 6; double hasil; DecimalFormat df - new DecimalFormat ("#.00") 7 hasil = (nombor1 + nombor2) / 2.0; System. out.printIn("Hasil bahagi ialah " + df. format (hasil)) ; public class HelloWorld { public static void main(String!) args) { String x, y, 2; x = Hello "; y = “World " = - "Malayeia®; Systen.out.printin(x + y + "kepada" + "\n" + 2); 9 Anda perlu tulis sebuah program yang dapat menghitung dan membuat penukaran unit bagi suhu — daripada Fahrenheit kepada Celsius. Formua penukaren adalah seperi dibaweh. Gelsius=(5.0 / 9) * Fahrenheit - 32) Program anda mestilah berunaya membaca dariah Fahrenheit jenis data double deripada pengaua. Kemudian, program ini boleh menukarkan nilai tersebut kepada Celsius dan memaparkan keoutusan betul kepada dua ttik perpuluhan. Berkan penekanen kepada peniguraan komen dan inden dalam atur cara anda. Sains omptoringatn dP STANDARD KANDUNGAN Gi) Fsytihar nila an nila awa 4,63 Membezakan function dan pada subatur 4.64 Menulis atur can bermodular yang mengandungi struktur ratasusunan| Struktur Data dan Modular Atur cara mengandungi kod komputer untuk memproses data kepada Maklumat, Data porlu disimpan dalam pemboloh ubah supaya boleh Giproses. Arahan kod komputer dan pemboleh ubah disimpan dalam fall kod sumber (source code), Atur cara yang ringkas mungkin mengandungi beberapa baris arahan dan pemboleh ubah sahaja, Untuk atur cara yang kompleks seperti sistem Pinjaman buku selolah dan sistem-sistem lain pengurusan maklumat, mungkin ratusan ribu baris arahan dan ratusan pemboleh uban diperlukan. Dapatkah anda bayangkan kesukaran untuk menulls kod komputer untuk sistem yang kompleks? _ Kod komputer seharusnya mudeh citulls, mudah dibaca dan mudah dikemas kini, Begaimana? Gunakan struktur yang lebih sistematik untuk pemboleh ubah dan arahan. Pemboleh ubah boleh dipecahian kepada "kumpulan-kumpulan kecil" yang dipanggil tatasusunan. Arahan-arahan komputer juga boleh dipecahkan kepada beberapa “kumpulan kecil" yang dipanggll fungsi. Apabila diperlukan sahaja, kumpulan yang berkait akan dipanaall. Sebagai analogi, bayangkan terdapat sebuah buku berjudu| "Semua Mata Pelajaran Tingkatan 4" dan hanya seorang guru yang akan Mengajarkan semua mata polgjaran tersebut. Dalam buku tersebut, tiada bab-bab berasingan mahupun subtopik. Semuanya ditulis dalam satu perenggan sahaja dari muka surat satu hingga muka surat akhir. Adakah ini satu kaedah yang baik dalam penggjaran dan pembelajaran? "E33 Rajah 1.45 ‘Pecah-dan-Urus" adalah lebih berkesan x (Q BAB 1 PENGATURCARAAN © 2 ‘Apakah kelemahan yang terdapat pada tataswsunan (array? hae eae ftma dengan struktur Algoritma alah kaedals melakukan proses tertentu rethadap data seperti menyusun (serring), mencari (searching), mencari nombor dan memproses rawak dan graf. Seruktur data merupakan satu kaedah tertentu untuk menyimpan sesara rersusun data-data dalam ingatan supaya senang dlicapai untuk diproses bagi menghasilkan maklumat mengikut kehendek pengguna. Data boleh disusun dalam bentuk tatasusunan (array) dan vektor (sxeter), scnarai pautan (linked ist), imbunan (stact) dan giliran (uew). a mbor Lihat Rajah 1.45. Apa kata sekiranya kandungan sebuah buky dibahagikan kepada bab-bab berasingan dan dijilidkan menjadi beberapg buah buku berlainan? Bukankah pongotahuan-pengetahuan dalam, buku tebal menjadi lebih mudah diurus dan dibaca? Adakah anda periy membawa semua buku tersebut sekiranya subjek tersebut tidak digjar pada hari-hari tertentu? Demikian halnya dengan guru-guru. yang mengajar pengetahuan, tersebut. Guru-guru yang ada pengkhususan dalam subjek-subje, tertentu adalah tebih arif dalam subjek tersebut sahaja. Sekiranya murig ingin bertanyakan permasalahan Matematik, murid boleh mencari gury matematik untuk mendapat penjelasan lanjut. Domikian halnya dengan atur cara komputer. Buku-buku dalam analogi yang ditunjukkan pada Rajah 1.45 adalah ibarat pemboleh ubah manakala guru-guru yang ada pengkhususan dalam subjek tersebut adalah ibarat arahan-arahan atur cara dalam fail kod sumber. Struktur Tatasusunan [array) Satu Dimensi Sistem pengurusan maklumat melibatkan pemprosesan suatu jumlah data yang banyak. Bagi menguruskan data agar lebin tersusun dan senang dicapai, maka diperkenalkan konsep struktur data. Sebaik manapun algoritma, jika data tidak tersusun, capaian dan pemprosesan data menjadi kurang efisien. Malah, penulisan kod komputer menjadi amat sukar. Salah satu struktur data yang penting ialah tatasusunan (array). Tatasusunan ialah pembolsh ubah yang membolehkan koleksi beberapa nilai data (elemen) dalam satu-satu masa dengan menyimoan setian elemen dalam ruang memori berindeks, Dalam subtopik ini, anda akan mengkaji pemboleh ubah mudah ataupun blasa semula sebagai sel memori den perbezaannya dongan tatasusunan. Anda akan melihat kelebihan-kelebihan tatasusunan sebagai senerai data berbanding dengan pemboleh ubah mudah. Pemboleh ubah ialah slot memori yang telah dikhaskan untuk menyimpan data, Kebiasaannya, pemboleh ubah mudah cuma merylmpan satu nilai data calam satu-satu masa, Lihat ruang memori untuk pemboleh ubah mudah di bawah. markah Rajah 1.46 Pemboien utan mudan menggunakan hanya satu kotak Gye _Seins Komputer Timgkatan 4 Dalam kod Java, nilai pemboleh ubah dilsytihan i yang berikut: ytihar seperti sintaks seperti JenisPata namaPembolenvbah; contoh 1: ane ieeKeny Fandamental Programming Structures in Java Mtpt/eon gE OGI8G Jika Java perlu menyimpan data bernilai 34, Uumpukkan sahaja nilal 34 ke dalam pemboleh ubah markah. Kod Java boleh ditulis seperti yang berikut. Contoh 2: markah = 34 matkah Komputer mempunyai fatasinaa yang sangat besar Hal ini adalah, Rajah 1.47 Lukisan blok memot! untuk pemboleh ubah muda dengan nilal 34 ‘kerana tatasusunan merupakan cara terbaik Kedua-dua langkah di atas boleh dibuat sekali gus dalam satu arahan. uuntulk memproses data i sangat besar terdapat Contoh 3: di dalam komputer, int markah = 34 Dalam analogi yang berikut, pemboleh ubah yang telah diisytiharkan dlidaratkan sebuah bilik xosong yang bolen diduduki oleh satu penghuni sahaja pada satu-saiu masa. Hal ini bermaksud, sekiranya jenis data pemboleh ubah ialah integer, maka nilai yang boleh disimpan ialah integer sahaja. Dalam analogi rumah kosong yang berikut, nama rumah tersebut ialah markah dan rumah ini hanya membenarkan tetamu jenis integer sahaja untuk datang menginap. Analogi pemboleh ubah mudah: Rajah 1.48 menunjukkan analogi bagi sebuah rumah yang Kosong, Rumah ini dinamakan “Bilik Bujang”. Rumah ini hanya mempunyai satu bilik untuk seorang penghuni sahaja. Penghuni tersebut mestilah khusus, misalnya untuk kakitangan sekolah yang berjawatan guru dan bulang. Sekarang, cuba anda bayangkan rumah tersebut jalan pemboleh ubah mudah yang bernama markah dan hanya membenarkan satu nilai disimpan serta nilai tersebut mestilah berjenis int sahaja. Bagaimana sekiranya terdapat banyak data jenis integer yang peru disimpan? Sebagai contoh, data-data jenis integer 34, 56, 78, 89, 56 dan 95 perlu disimpan dalam pemboleh ubah. Kita hanya perlu isytihar lebih banyak pemboleh ubah sahaja, bukan? Rajah 1.48 Permbolen ubah muda dibaratkan sebagai rumah dengen satu bik untuk tetarnu Hhusus “aeaonsecn

Anda mungkin juga menyukai