Anda di halaman 1dari 25

MINGGU 1 Selamat Datang Assalamualaikum dan Selamat Pagi Maklumat Pensyarah

Nama: Mohamad Amir bin Abu Seman Bilik: 3092 (STM) No. Telefon: 04-9284692

E-mail: mohdamir@uum.edu.my Jadual Perundingan PENGATURCARAAN AWALAN (JAVA) TA 1013 1.0 PENGENALAN KEPADA KOMPUTER DAN BAHASA PENGATURCARAAN Objektif: Apakah yang dimaksudkan dengan komputer. Komponen asas sistem komputer. Sejarah generasi bahasa pengaturcaraan. Kepentingan mempelajari pengaturcaraan. PENGENALAN KEPADA KOMPUTER Apa Itu Komputer? Komputer adalah alat/mesin yang dapat:

Menerima data (input) Memproses data (menghasilkan maklumat) Menyimpan data Memaparkan maklumat (output)

Jenis-jenis utama komputer Komputer boleh dibahagikan kpd beberapa kategori : Komputer peribadi Komputer mini Kerangka Utama Super komputer Organisasi Komputer 3 komponen utama komputer : Perkakasan Perisian Manusia Perkakasan Komputer 5 komponen utama : Ingatan utama Unit pemprosesan pusat (CPU) Peranti input Peranti output Peranti storan sekunder Ingatan utama / storan utama / memori Menyimpan maklumat tertentu bagi membolehkan komputer beroperasi

Unit ukuran: Bait = 8 bit Kilobait (KB)= 1024 bait Megabait (MB) = 1024 * 1024 bait Gigabait (GB) = 1 KB * 1 MB Data-data disimpan pada lokasi storan yang dikenali sebagai sel. Setiap sel adalah unik. Unit terkecil sel ingatan dipanggil bit.

Ingatan utama / storan utama / memori Ingatan utama terdiri dari 2 komponen utama : 1. INGATAN CAPAIN RAWAK atau Random Access Memory (RAM) RAM adalah bahagian yang paling utama dalam memori. RAM membenarkan operasi baca dan tulis dilakukan ke atasnya. Digunakan untuk menyimpan aturcara dan data yang boleh diubah pada bila-bila masa. RAM adalah bersifat meruap (volatile). Ingatan utama / storan utama / memori 2. INGATAN BACA SAHAJA atau Read Only Memory (ROM) Ingatan yang membenarkan operasi membaca sahaja. Tidak meruap (non volatile). Digunakan untuk menyimpan aturcara yang dibangunkan oleh pembekal komputer (aturcara ini hanya boleh digunakan tetapi tidak boleh diubah). CPU Perkakasan yang paling penting Berfungsi untuk melaksanakan aturcara Menerima arahan/data daripada ingatan utama untuk diproses dan hasilnya akan disimpan di ingatan utama. CPU terbahagi kepada 2 unit: Unit Kawalan (Control Unit) Bertindak sebagai otak kepada komputer yang mengawal semua aktiviti komputer. Unit Aritmetik-Logik (ALU) ALU pula digunakan untuk melaksanakan operasi asas pengiraan dan perbandingan. Peranti Input Digunakan untuk berkomunikasi dengan aturcara, data dan arahan komputer. Menerima maklumat dan menukar ke bentuk digital supaya dapat difahami oleh komputer. Terdapat berbagai jenis peranti input antaranya papan kekunci, tetikus, skrin sesentuh (touchscreen), pengimbas. Peranti Output memaparkan maklumat yang telah diproses kepada pengguna. Contoh - pencetak (printer) dan skrin (monitor). Output dalam 3 bentuk: salinan keras, salinan lembut dan boleh dibaca mesin. Salinan keras - output yang tercetak pada kertas atau filem. Salinan lembut - output yang dipaparkan pada skrin. Output yang boleh dibaca oleh mesin - output yang dihantar kepada peranti ingatan sekunder seperti cakera magnet. Peranti Storan Sekunder Peranti yang digunakan untuk menyimpan data secara kekal (nonvolatile). Membolehkan pengguna mencapai semula data yang disimpan. Terdapat berbagai jenis seperti cakera liut, cakera keras, cakera padat, pita magnet, cakera magnet. Perisian Komputer Terbahagi kepada 2 iaitu: i. Perisian Aplikasi

Dibangunkan bertujuan untuk menyelesaikan masalah tertentu. Contoh: Sistem Pemarkahan Pelajar, Sistem Gaji dan Sistem Inventori. ii. Perisian Sistem Dibangunkan/disediakan oleh pengeluar atau pembekal bagi membolehkan komputer beroperasi. Kompleks dan sukar dibangunkan Contoh : Sistem Pengoperasian, Pengedit Teks, Penterjemah Bahasa (language translator) dan Pengkompil (compiler). Generasi I : Bahasa Mesin Tidak perlu diterjemah. Lebih bersifat machine-dependent dan not portable. Aturcara ditulis dalam bentuk susunan digit 0 dan 1. Aturcaranya sukar dibangunkan dan dibaiki kesilapan.

Generasi II : Bahasa Himpunan Aturcaranya lebih mudah dibina dan difahami berbanding dengan bahasa mesin. Memerlukan penghimpun (assembler) untuk terjemah ke kod mesin. Setiap jenis komputer mempunyai bahasa himpunan sendiri. Menggunakan kod mnemonik (symbolic programming language). Contoh Kod Mnemonik line# Inst Operand MachineCode 00 IN 500 // Input an integer into accumulator. 01 STA 50 250 // Store accumulator to memory location 50. 02 IN 500 // Input a second integer into accumulator. 03 ADD 50 350 // Add the value in 50 to accumulator. 04 OUT 600 // Output the sum from the accumulator. 05 HLT 700 // End of Program. Generasi III : Bahasa Peringkat Tinggi Mudah dipelajari dan difahami. Mirip bahasa Inggeris. Aturcara yang dibangun perlu dikompil dan diterjemahkan ke bahasa mesin supaya dapat dilaksanakan dan difahami oleh komputer. Contoh bahasa pengaturcaraan peringkat tinggi ialah bahasa C, Pascal, COBOL & Fortran. Generasi IV : Bahasa Berorientasikan Objek Bahasa generasi keempat lebih berorientasikan objek. Pengaturcara akan lebih cenderong untuk memikirkan apakah objek yang terlibat dalam masalah tersebut serta hubungan antara objek-objek. Contoh bahasa pengaturcaraan ialah C++ dan Java. Kenapa Bahasa Berorientasikan Objek ? Reusability Cepatkan pembangunan projek Meningkatkan kualiti Mudah dibetulkan fleksibel Mudah diselenggara Kurangkan risiko bagi projek yang kompleks Bersifat tabiie (naturalness) BAHASA PENGATURCARAAN JAVA James Cosling dan Patrick Naughton (1991) menghasilkan bahasa pengaturcaraan Green. Digunakan di dalam peralatan pengguna yang dikeluarkan oleh banyak syarikat yang berlainan (architectureneutral). HotJava telah diperkenalkan pada tahun 1995. HotJava membolehkan aturcara yang dikenali sebagai Applets dimuat turun (download) di semua sistem komputer.

BAHASA PENGATURCARAAN JAVA Bahasa pengaturcaraan Java telah menjadi semakin popular disebabkan ia boleh digunakan pada semua jenis komputer. ciri-ciri Bahasa pengaturcaraan Java ialah:selamat, boleh dipercayai dan mudah alih (portable).

MINGGU 2 Pengenalan Kepada Objektif

Menerangkan konsep objek, kelas dan juga kelakuan (method). Pengaturcaraan Berorientasikan Objek Objek: modul aturcara yang mengandungi sifat (data atau attributes) dan kelakuan (method atau behaviour). OOP cuba memodelkan objek dari dunia nyata dengan aturcara komputer. Sebuah aturcara yang menggunakan konsep OOP terbentuk daripada beberapa komponen (objek) lain. Setiap satu objek dalam aturcara mempunyai peranan masing-masing & boleh berinteraksi dengan objek lain dengan cara tersendiri. Aturcara Java mengandungi objek-objek yang saling berinteraksi antara satu sama lain melalui penghantaran dan penerimaan mesej. Pengaturcara mestilah memikirkan objek yang perlu dicipta dan hubungan antara objek yang terlibat apabila cuba menyelesaikan masalah atau membangunkan aturcara menggunakan konsep OOP. Pengenalan Kepada Objek dan Kelas


Objek

2 konsep utama dalam OOP : Objek Kelas

Objek terdapat di mana-mana. Manusia, binatang, kereta, pokok dan bangunan, semuanya adalah objek. Objek

Setiap objek mempunyai 2 perkara sama iaitu:

sifat (attribute) - digunakan untuk menyimpan maklumat bagi sesuatu objek misalnya saiz, bentuk, warna. kelakuan (behaviour) - menentukan apakah proses dan kelakuan sesuatu objek seperti berjalan, tidur. Objek Contohnya: Objek : Basikal Sifat jenama, warna, roda, bilangan gear

Kelakuan kelajuan, memecut, berhenti Objek Objek : Kucing

Sifat baka, warna, ekor panjang/pendek Kelakuan mengiau, makan, tidur

Objek : akaun bank Sifat baki dalam akaun, jenis akaun Kelakuan deposit, keluar wang, semak baki Kesimpulan

OOP memodelkan objek dunia nyata (real world object) kepada objek perisian (software object) Kelas

Setiap objek perlu ada kelas. Kelas ialah satu definisi yang membolehkan komputer mencipta suatu objek.

Setiap objek dalam kelas yang sama mempunyai ciri yang sama dan berkongsi sifat yang sama. Kelas Apabila menulis aturcara menggunakan konsep OOP, pengisytiharan dibuat ke atas kelas dan bukannya objek. Misalnya Proton dan Honda adalah dua contoh objek daripada kelas Kereta. Kelas Kereta mempunyai ciri dan sifat bagi sesebuah kereta yang merupakan model abstrak bagi kereta. Kelas Walaupun objek kereta dalam contoh di atas berbeza dari segi spesifikasinya, tetapi ciri dan struktur dalaman semua objek kereta tersebut adalah sama. Objek juga dikenali sebagai instance. Apabila melihat kepada perbezaan bagi jenis kereta yang berlainan seperti saiz, kelajuan dan model bagi sesuatu jenama kenderaan, maka perlu merujuk kepada instance kereta tersebut. Kelas

Kelas menggambarkan secara umum objek kereta dan instance pula menggambarkan lebih khusus dan terperinci mengenai sesuatu objek kereta. Setiap kelas ada: pembolehubah (instance variable atau attribute)

operasi (method). Kelas Pembolehubah digunakan untuk menyimpan maklumat yang mewakili sifat bagi objek. Objek-objek dari kelas yang sama boleh berkongsi sifat dan kelakuan. Operasi pula digunakan untuk mewakili proses atau kelakuan bagi objek. Ia juga boleh mengubah nilai suatu pembolehubah objek (jika diberi kebenaran).

Terdapat 5 soalan asas yang perlu dijawab ketika membina suatu objek: Apakah tugas yang akan dilaksanakan oleh suatu objek? Apakah maklumat yang diperlukan untuk melaksanakan setiap tugas?

Apakah fungsi atau kelakuan yang akan digunakan untuk memproses maklumat? Apakah maklumat yang boleh dicapai oleh semua objek? Apakah maklumat yang perlu disembunyikan dari objek lain? Mencipta kelas Definisi asas kelas: class Kereta { } Kemudian ciptakan instance variable (pembolehubah)

String jenama; String warna; Mencipta kelas Kemudian ciptakan method (operasi) void cetak() { System.out.println(Kereta ini berjenama + jenama + dan berwarna + warna); } Mencipta kelas Instance variable dan method dimasukkan ke dalam kelas Kereta. class Kereta { String jenama; String warna; void cetakKereta() { System.out.println(Kereta ini berjenama + jenama + dan berwarna + warna); } } Mencipta dan menggunakan Objek

Dalam Java, instance/objek dicipta menggunakan perkataan new.

Sintaks asas: <nama kelas> <nama objek> = new <nama kelas> (senarai parameter); Contoh: Kereta keretasaya = new Kereta (); Mencipta dan menggunakan Objek Apabila objek telah dicipta, method untuk objek ini bolehlah digunakan. Sintaks untuk menggunakan method dalam Java: <nama objek>.<nama method> (parameter); Contoh: Mencetak jenama dan warna kereta. keretasaya.cetakKereta(); Mencipta dan menggunakan Objek Untuk melihat hasil kelas, Java akan mencari method main, maka method main perlu diwujudkan. public static void main (String args[]) { Kereta keretasaya = new Kereta(); keretasaya.jenama = Proton; keretasaya.warna = merah; keretasaya.cetakKereta(); } Ciri-ciri Utama OOP

Terdapat 4 ciri utama OOP iaitu : Abstraction Encapsulation Inheritance Polymorphism

Peniskalaan (Abstraction)

peniskalaan ialah proses membuang semua perincian yang tidak penting, hanya mengekalkan sifat-sifat yang perlu bagi menerangkan sesuatu objek. Objek dalam aturcara merupakan suatu abstraction kepada objek sebenar dunia nyata Peringkasan (Encapsulation) Peringkasan ialah menghimpunkan jenis, data dan fungsi yang membentuk kelas dan mengawal capaian data dengan penyembunyian maklumat. Ia digunakan untuk menyembunyikan perincian dari dicapai oleh objek lain. Peringkasan dibuat dengan kelas. Kebaikannya ialah modularity iaitu kod sumber untuk suatu objek boleh ditulis tanpa bergantung kepada sumber lain.

Polymorphism

Polymorphism ialah ciri yang menggunakan satu nama bagi merujuk method berlainan. Boleh berlaku overloading atau overriding. Overloading ialah menggunakan nama yang sama bagi dua method yang berlainan dalam kelas yang sama.

Overriding ialah menggunakan nama yang sama bagi dua method berlainan dalam kelas yang diwarisi. Pewarisan (Inheritance) Inheritance atau pewarisan ialah ciri untuk mencipta kelas yang baru dengan mewarisi sifat dan kelakuan dari kelas sedia ada. Setiap subkelas mewarisi sifat (dalam bentuk pengistiharan pembolehubah) dan kelakuan dari superkelasnya. Setiap subkelas boleh menambah pembolehubah dan kelakuannya sendiri. Pewarisan (Inheritance) Ia juga boleh override method yang asal dengan mengimplementasinya dengan cara yang berbeza, yakni suatu kelas boleh mempunyi beberapa method yang sama tapi berbeza perlaksanaannya. Hubungan di antara superkelas dan subkelas

Setiap subkelas boleh mewarisi ciri, sifat dan kelakuan yang ada pada superkelas. Subkelas juga boleh menambah pembolehubah dan kelakuannya sendiri. Apabila mencipta kelas yang baru, pengaturcara hanya perlu memikirkan ciri, sifat dan kelakuan yang diperlukan sahaja selain daripada yang telah wujud pada kelas yang sedia ada. Contoh Penggunaan Pewarisan

Mesin faks dan telefon berkongsi sifat dan kelakuan yang hampir sama. Mesin faks mempunyai dua sifat yang sama dengan telefon iaitu: Berhubung dengan talian telefon lain. Menghantar/menerima maklumat dalam bentuk suara. Contoh pewarisan antara telefon dan mesin faks

MINGGU 3 Objektif Penerangan tentang Teknologi Java iaitu: Aplikasi Java (Java Application) Java Applet Java API packages Pengenalan Terdapat dua elemen penting tentang teknologi Java : Bahasa Pengaturcaraan Java Pelantar Java Bahasa Pengaturcaraan Java

Java ialah bahasa pengaturcaraan yang dicipta oleh Sun Microsystems. Mempunyai 11 ciri-ciri berikut :

Simple Object-oriented Network-savvy Interpreted Robust Bahasa Pengaturcaraan Java


Secure Architecture neutral Portable High-performance Multithreaded Dynamic language. Dua ciri paling utama yang menjadikan Java begitu dikenali - architecture neutral dan portable. Mudah & Berorientasikan Objek Merupakan bahasa pengaturcaraan berorientasikan objek. Konsep objek sangat diperlukan untuk membangunkan sistem yang kompleks yang berasaskan rangkaian seperti sistem teragih dan sistem berasaskan pelanggan-pelayan (client-server)

Kuat (Robust) & Selamat (Secure) Bahasa pengaturcaraan Java direkabentuk dengan mempunyai kemudahan iaitu mengumpulkan sampah secara automatik (automatic garbage collection).

Setiap aturcara Java mesti melalui dua fasa iaitu pengkompilan dan perlaksanaan.

Sebelum aturcara Java boleh dilaksanakan, pengkompil akan memastikan ia bebas dari sebarang kesilapan.

Kuat (Robust) & Selamat (Secure) Teknologi Java direka untuk beroperasi dalam persekitaran teragih - ciri keselematan sangat penting.

Aplikasi yang dibangunkan dalam Java adalah selamat dari diganggu oleh kod-kod asing atau lebih dikenali sebagai virus.

Architecture Neutral Aturcara Java menyokong perlaksanaan dalam persekitaran rangkaian yang berbeza (heterogeneous network environments). Komputer di dalam rangkaian selalunya menggunakan pelbagai pelantar. Bagi membolehkan Java diimplentasikan pada pelbagai jenis pelantar perkakasan, setiap aturcara Java yang telah dikompil akan dijanakan kodbait (bytecode). Berbeza dengan bahasa pengaturcaraan yang lain, pengkompil akan meghasilkan kod-kod binari. Kodbait adalah satu architecture neutral yang mudahkan suatu aplikasi dilaksanakan pada pelbagai pelantar perkakasan dan perisian. Apabila tiba masa hendak dilaksanakan barulah Java VM pada sesuatu pelantar akan menterjemahkan kodbait kepada kod mesin tersebut.

Mudah alih (Portable)

Suatu aturcara Java yang ditulis di atas satu mesin tidak perlu dikompilkan semula untuk dilaksanakan di atas mesin lain.

Mudah alih berkaitan dengan penulisan kod sumber manakala architecture neutral berkaitan dengan perlaksanaan aturcara yang terhasil dari pengkompilan kod sumber.

Interpreted, Threaded & Dynamic Pentafsir Java boleh melaksanakan kod-kodbait secara terus pada manamana mesin. Aturcara Java terbahagi kepada 2 iaitu: - Aplikasi Java - Java Applet. Aplikasi Java adalah aturcara yang sifat berdiri sendiri (standalone) seperti perisian permainan dan pemproses perkataan. Manakala Java Applet ialah satu aturcara yang boleh dilaksanakan oleh pelayar Web. Aplikasi Java tidak memerlukan satu pelayar untuk membolehkan ia dilaksanakan.

Pelantar Java Pelantar adalah satu persekitaran perkakasan atau perisian yang membolehkan aturcara dilaksanakan. Pelantar juga boleh ditakrifkan sebagai gabungan sistem pengoperasian dan perkakasan.

Pelantar yang paling popular ialah Windows 2000, Linux, Solaris, and MacOS. Pelantar Java berbeza dengan pelantar yang lain.

Pelantar java hanyalah satu perisian yang membolehkan suatu aplikasi boleh dilaksanakan pada pelantar perkakasan yang berbeza. Pelantar Java Pelantar Java mempunyai 2 komponen : Java Virtual Machine (Java VM) Java Application Programming Interface (Java API) Pelantar Java boleh digambarkan dengan rajah berikut (sumber : laman Web http://java.sun.com). Java Virtual Machine (Java VM) Java VM adalah perisian atau perkakasan yang melaksanakan arahan dalam aturcara Java yang telah dikompil. Java Application Programming Interface (Java API)

Java API ialah koleksi komponen perisian (dikumpulkan dalam pustaka) yang membolehkan penggunaan semula komponen dalam aturcara. Sejarah Java Java dimulakan dari projek Sun pada tahun 1991. Tujuan utama projek tersebut ialah untuk membentuk perisian yang bersifat mudah alih dan teragih. Bahasa C++ mulanya digunakan tetapi setelah banyak kesukaran dihadapi, mereka membuat keputusan mencipta dan menggunakan bahasa baru. Bahasa Java dicipta berasaskan bahasa C++. Bahasa Java bersama browser HotJava diumumkan pada tahun 1995. Java dilancarkan tepat pada masanya. Ketika itu Internet sedang bercambah penggunaannya.

Kebolehan aturcara Java (applet) untuk diletakkan pada laman Web telah membantu popularitinya. Semua pengguna Web di dunia boleh melihat aturcara Java.

Perlaksanaan Aturcara Java Setiap aturcara Java perlu dikompil dan ditafsirkan sebelum dilaksanakan. Pengkompil Java dikenali sebagai Javac. Pengkompil akan menukarkan aturcara tadi kepada kod-kod bait.

Seterusnya pentafsir akan mentafsir dan melaksanakan setiap arahan kodkod bait tersebut.

Proses pengkompilan hanya akan berlaku sekali sahaja tetapi pentafsiran perlu dilakukan setiap kali aturcara hendak dilarikan. Perlaksanaan Aturcara Java Proses pengkompilan dan pentafsiran dapat digambarkan seperti rajah di bawah:

Satu program Java, myProgram.java telah dicipta dengan menggunakan Pengedit Teks. Pengkompil akan menukarkan program ini kepada myProgram.class yang terdiri daripada kod-kod bait. Pentafsir Java diperlukan bagi membolehkan aturcara myProgram dilaksanakan. Kod-kod bait Java boleh dianggap sebagai arahan kod mesin bagi Java Virtual Machine (Java VM).

Perlaksanaan Aturcara Java Setiap pentafsir Java, sama ada pada peralatan pembangunan (tempat aturcara dibangunkan) atau pelayar Web, merupakan satu implementasi bagi Java VM. Selagi komputer mempunyai Java VM, maka ia boleh melaksanakan sebarang aturcara Java. Kod-kod bait Java membolehkan aturcara dibangunkan sekali tetapi dilaksanakan di mana-mana. Proses Membangunkan Aturcara Java

Pastikan komputer tersebut mempunyai perisian pengkompil Java Development Kit

(JDK). Bagi membolehkan perisian JDK dapat digunakan dari direktori lain, laluan (path) perlu disetkan pada lokasi aturcara tersebut berada. set path = c:\jdk1.3\bin; Cipta satu aturcara Java dengan menggunakan Pengedit Teks. Contoh aturcara yang mudah :

Proses Membangunkan Aturcara Java /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

10

Description : First Java Programming Nama fail : Hello.java Programmer : Anisah binti Baharum No. Matrik : 42642 Tarikh : 12 Jun 2001 Kursus : TA1013 (B) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ public class Hello { public static void main(String [ ] args) { System.out.println(Selamat Belajar Java); } }

Proses Membangunkan Aturcara Java Menganalisa Aturcara Java 1. 2. 3. 4. 5. 6. 7.


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Description : First Java Programming Nama fail : Hello.java Programmer : Anisah binti Baharum No. Matrik : 42642 Tarikh : 12 Jun 2001 Kursus : TA1013 (B) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ public class Hello { public static void main(String [ ] args) { System.out.println(Selamat Belajar Java); } }

Menganalisa Aturcara Java Menganalisa Aturcara Java Menganalisa Aturcara Java Kebaikan Java Kebaikan Java yang utama ialah architecture neutral dan portable. Selain daripada itu, kebolehan aturcara Java untuk diaplikasikan pada laman Web telah meningkatkan popularitinya. Kelemahan Java Kelemahan utama Java jika dibandingkan dengan C dan C++ ialah perlaksanaan-nya yang agak lambat.

Kenapa ?? walaupun aturcara Java dikompil, tetapi pengkompilan ini tidak lengkap sehingga menghasilkan kod mesin.

11

Kod bait masih perlu diterjemah sebelum boleh dilaksanakan.

MINGGU 4 KAEDAH PENYELESAIAN MASALAH Minggu 3 Objektif:

Menerangkan enam fasa yang terdapat di dalam Kitar Hayat Pembangunan Aturcara.

Menerangkan secara ringkas kaedah menyelesai masalah menggunakan pendekatan pengaturcaraan berorentasikan objek. Membina algoritma dan penghalusan algoritma.

Membincangkan kaedah membina carta alir sebagai alat untuk menyelesaikan masalah. Kenapa Mempelajari Pengaturcaraan? Kaedah Penyelesaian Masalah Pembangunan suatu aturcara melibatkan aktiviti penyelesaian masalah. Pengaturcara yang baik perlu mengetahui dan menggunakan kaedah penyelesaian masalah yang sesuai serta meningkatkan kemampuan menyelesaikan masalah. Kitar Hayat Pembangunan Aturcara (KHPA) (1/4) Kaedah penyelesaian masalah yang akan diterangkan ialah Kitar Hayat Pembangunan Aturcara (KHPA) atau Program Development Life Cycle. KHPA ialah rangka kerja bagi setiap langkah yang diperlukan untuk membangunkan aturcara komputer. Rangka kerja ini adalah sebagai panduan kepada pengaturcara disepanjang pembangunan aturcara. Kitar Hayat Pembangunan Aturcara (KHPA) (2/4) Terdapat enam fasa dalam KHPA iaitu : 1.Memahami masalah 2.Menganalisa masalah 3.Merekabentuk penyelesaian 4.Implementasi 5.Pengujian 6.Penyelenggaraan Kitar Hayat Pembangunan Aturcara (KHPA) (3/4) Kitar Hayat Pembangunan Aturcara (KHPA) (4/4) Pembangunan aturcara ialah suatu proses yang berterusan. Jika diperhatikan pada gambarajah, fasa penyelenggaraan akan menunjuk semula ke fasa memahami masalah. Keadaan ini berlaku apabila ralat dalam aturcara ditemui. Maka aturcara perlu diubah dan pengaturcara perlu memahami semula masalah yang ingin diselesaikan. Kebiasaannya perkara ini berlaku kerana pengaturcara gagal menghasilkan aturcara yang baik atau tidak cuba untuk memahami masalah dengan lebih jelas ketika di awal KHPA. Memahami Masalah (1/3) - Dalam fasa ini pengaturcara mestilah betul-betul memahami kehendak masalah. - Untuk memahami dan menjelaskan lagi masalah yang hendak diselesaikan, soalansoalan yang berkemungkinan perlu ditanya.

12

Memahami Masalah (2/3) - Antara soalan yang boleh dikemukakan ialah: (i) apa yang diperlukan untuk menyelesaikannya? (ii) apakah hasil akhir? (iii) bagaimana bentuk hasil akhir? (iv) apakah kekangan yang wujud? (v) apakah keadaan tertentu yang perlu dipertimbangkan? Memahami Masalah (3/3) Menganalisa Masalah (1/2) Dalam fasa menganalisa masalah, tiga perkara utama perlu dikenalpasti iaitu: (i) Input bagi aturcara. (ii) Pemprosesan iaitu langkah untuk menukarkan input kepada output (termasuk syarat atau kekangan yang perlu dipertimbangkan dan formula-formula yang terlibat) (iii) Output yang perlu dikeluarkan. Menganalisa Masalah (2/2) Merekabentuk Penyelesaian (1/5) Di dalam fasa ini pengaturcara perlu merancang bagaimana untuk mengimplimentasikan aturcara. Iaitu pengaturcara merangka struktur bagi mengatasi masalah yang dihadapi. Bagi pengaturcaraan berorentasikan objek, pengaturcara perlu membayangkan komponen-komponen aturcara sebagai objek yang menyerupai objek dalam kehidupan yang sebenar. Merekabentuk Penyelesaian (2/5) Kemudian objek boleh dimanupulasikan untuk mencapai sesuatu tujuan atau hasil. Jadi, pengaturcara mesti menentukan

kelas yang diperlukan, apakah data yang akan digunakan dan bagaimana objek tersebut berkelakuan.

Merekabentuk Penyelesaian (4/5) Merekabentuk Penyelesaian (5/5) Bagi setiap objek perlu ada kelas (class). Setiap kelas dikenalpasti sifat atau data-data dan tugas/kelakuannya (method) yang diperlukan. Tugas dalam suatu kelas pula perlu dipecahkan kepada sub-subtugas. Dan setiap subtugas ini akan menghasilkan satu kelakuan (method). Dalam rekabentuk kelakuan akan melibatkan pembinaan algoritma. Algoritma (1/4) Algoritma ialah satu jujukan arahan yang yang terhingga dan disusun mengikut susunan logik tertentu di mana ia diperlukan menghasilkan penyelesaian bagi masalah. Algoritma (2/4) Setiap algoritma mesti mempunyai ciri-ciri keperluan berikut: i. Mempunyai input. ii. Menghasilkan sekurang-kurangnya satu output.

13

iii. Jelas atau tidak meragukan. Maksud jelas di sini ialah setiap arahan hanya akan melaksanakan satu tugas sahaja. Ini bertujuan bagi memudahkan pengaturcara menterjemahkan setiap langkah dalam algoritma kepada bahasa pengaturcaraan. Algoritma (3/4) iv. Bersifat umum iaitu algoritma ini mesti berkebolehan menerima satu set input yang dimasukkan. v. Ketepatan iaitu menyelesaikan masalah sebagaimana dikehendaki. vi. Mesti ada penamatnya. vii. Kecekapan iaitu setiap algoritma mestilah cekap dari segi ruang memori dan juga penggunaan masa. Algoritma (4/4) Contoh penyelesaian masalah di atas, algoritma bagi masalah tersebut ialah: i. Membaca data. ii. Melaksanakan pengiraan. iii. Memaparkan hasil. Ketiga-tiga langkah ini boleh dikembangkan lagi dan proses ini dikenali sebagai Penjernihan Algoritma (Algorithm refinement). Penjernihan Algoritma Masalah utama Mengira purata markah projek bagi kursus TA1013.

Sub-sub masalah Penjernihan Pertama Istiharkan pembolehubah. Baca data : markah projek setiap pelajar Pengiraan : kira jumlah markah semua pelajar, tentukan jumlah bilangan pelajar, kira purata markah. Cetak : purata markah projek yang telah dihasilkan. Penjernihan Algoritma Penjernihan Kedua Istiharkan pembolehubah jumlah pelajar kepada 0, jumlah markah kepada 0. Selagi belum tamat Baca markah projek pelajar Kira jumlah pelajar = jumlah pelajar + 1 Kira jumlah markah = jumlah markah + markah Setelah tamat baca data Buat pengujian, jika jumlah pelajar tidak sama dengan 0 Kira purata markah = jumlah markah / jumlah pelajar Jika tidak, cetak ralat. Cetak purata markah. Mempersembahkan Algoritma Terdapat 2 cara mempersembahkan algoritma yang biasa digunakan:

Kod pseudo Carta alir

14

Kod pseudo (1/2) Contoh kod pseudo: Begin Input the numbers Add the numbers Calculate the average Print the average end Kod pseudo (2/2) Ia bersifat semiformal iaitu boleh menggunakan sebarang bahasa yang boleh difahami oleh pengaturcara dengan mudah, bahasa yang sering kali digunakan ialah bahasa Inggeris. Kod pseudo menggunakan perkataan yang mudah dan senang difahami. Setiap kod pseudo mesti dimulai dengan perkataan mula (begin) dan diakhiri dengan tamat (end). Carta alir (1/4) Carta alir adalah kaedah memperesembahkan algoritma dengan menggunakan grafik atau jujukan simbol-simbol tertentu. Carta alir (2/4) Carta alir (3/4) Carta alir (4/4) Implementasi Dalam fasa ini pengaturcara perlu mengkaji dan memilih bahasa pengaturcaraan yang sesuai digunakan dalam menyelesaikan masalah tersebut. Setelah satu bahasa dipilih, proses yang berikutnya ialah menukarkan algoritma ke kod-kod bahasa pengaturcaraan. Setelah siap proses pembinaan kod ini, aturcara tersebut perlu dilaksanakan. Pengujian Proses pengujian melibatkan penggunaan data sahih dan data palsu. Ini bertujuan untuk memastikan aturcara yang telah dibangunkan tidak mempunyai sebarang kesalahan. Dokumentasi Setelah aturcara siap diuji, dokumentasi bagi aturcara tersebut perlu dibangunkan. Ini bertujuan untuk memudahkan pengaturcara itu sendiri atau orang lain menggunakan atau mengubah suai aturcara tersebut.

MINGGU 5 Pengaturcaraan Awalan (Java) DATA NUMERIK TA 1013 DATA NUMERIK Objektif: Memperkenalkan pengecam, pembolehubah, pemalar dan ungkapan data numerik. Memanipulasikan data numerik dalam aturcara. Mengimplementasikan suatu program contoh menggunakan teknik pembangunan peningkatan (incremental development). PENGECAM (IDENTIFIERs)

15

Bahasa pengaturcaraan menggunakan simbol pengecam utk menamakan entiti2 paturcaraan spt kelas, objek, operasi, nilai data dan lain-lain. Definasi Pengecam merupakan suatu turutan aksara yang terdiri daripada huruf, digit, underscore (_) dan simbol dollar ($). Terdapat peraturan tertentu untuk mencipta pengecam : 1. Pengecam boleh terdiri daripada kombinasi huruf besar(A Z), huruf kecil (a digit z), (09), underscore (_), simbol dollar ($). 2. Aksara pertama mestilah aksara atau underscore (_) atau simbol ($). 3. Huruf besar dan huruf kecil adalah berbeza. Contoh : MULA dengan mula adalah dua pengecam yang berbeza. case sensitive 4. Tidak dibenarkan true, false, null, ruang kosong, operator (+,-,/,*) 6. Perkataan simpanan (reserved word) tidak dibenarkan di dalam pengecam. Perkataan simpanan digunakan untuk tujuan tertentu sahaja. Contoh perkataan simpanan di dalam JAVA ialah class, new, import. refer modul. Contoh pengecam yang sah dan tidak sah: PEMBOLEHUBAH (Variable) Pembolehubah ditempatkan di dalam memori. Dalam memori, data akan disimpan dan akan berubah semasa perlaksanaan aturcara. Sebelum pembolehubah digunakan - perlu diisytiharkan dan diberikan nilai. Dengan itu pembolehubah memerlukan: Lokasi memori untuk menyimpan data. Jenis data yang akan disimpan. Nama yang akan merujuk kepada lokasi memori tersebut. Contoh : Sintaksis yang digunakan untuk isytiharkan pembolehubah: <jenis data> <pembolehubah > jenis data - merupakan jenis (data type) yang dipegang oleh pembolehubah. Cth jenis data integer, float, double, string < pembolehubah> - nama pembolehubah Berikut merupakan jenis data yang boleh dipegang oleh pembolehubah: Jenis data yang asas int, float, string, double Nama kelas Tatasusunan Contoh // String adalah jenis data bukan Numerik String namaSaya; // int merupakan salah satu jenis data asas int bilJamKredit; // boolean juga merupakan salah satu jenis // data asas nilai sama ada TRUE(1)atau FALSE(0). boolean lulusBersyarat;

Pembolehubah boleh ditulis di mana-mana sahaja di dalam pengisytiharan operasi. Walau bagaimanapun, biasanya diisytiharkan dipermulaan pengisytiharan operasi seperti di dalam contoh berikut. Contoh

16

public static void main (String args[]) { int bilJamKredit; String namaSaya; : : } Beberapa pembolehubah yang sama jenis datanya boleh diisytiharkan hanya di dalam satu baris sahaja, tetapi setiap pembolehubah berkenaan mestilah dipisahkan dengan tanda koma (,)

Contoh int a,b,c; float nombor1, nombor2, total; . Pembolehubah juga boleh diberi nilai awal semasa disyitiharkan: Contoh int num1= 2, num2 = 5, jumlah = 0; String namaSaya = Alia; Pembolehubah boleh diisytiharkan, diberi nilai awal dan cipta objek secara serentak seperti yang ditunjukkan oleh contoh berikut.

Contoh Titik koordinat = new Titik( );

Sama juga jika diisytiharkan seperti berikut: Titik koordinat; Koordinat = new Titik( ); Perhatian : Pembolehubah setempat (local variable) mesti diberi nilai awal sebelum digunakan. Jika tidak ralat akan dikeluarkan ketika aturcara dikompil. Pernyataan Umpukan Sintak untuk umpukan: <pembolehubah> = <ungkapan> Untuk memberi nilai kepada suatu pembolehubah, symbol = digunakan: num1 = 10; Pernyataan ini bermaksud, nilai 10 diumpukkan kepada pembolehubah num1. Pernyataan Umpukan Nilai daripada suatu penyelesaian matematik diumpukkan seperti berikut: a = b + c; b + c = a; Contoh // BETUL // SALAH

17

Jumlah = num1 + num2; Jawapan = x * x 2 * x +1; Purata = jumlahMarkah/bilPelajar; Peringatan: sebelum pembolehubah boleh digunakan, ia mestilah diisytiharkan terlebih dahulu. Pernyataan Umpukan Apa yang berlaku apabila suatu pembolehubah diisytiharkan? Pengisytiharan Data Numerik Baris 1 Baris 2 Baris 3 int num1, num2; num1 = 10; num2 = 20;

Pengisytiharan Data Numerik dan Pengisytiharan Objek Nama objek sebenarnya adalah juga pembolehubah. Perbezaan antara pembolehubah untuk nombor biasa dan nama objek ialah kandungan dalam lokasi memori. Bagi nombor, kandungan memori mengandungi nilai nombor itu sendiri. Bagi objek, kandungan memori mengandungi alamat dimana objek itu disimpan.

Latihan Tentukan sama ada pengisytiharan salah sila betulkan. int a;b; int x,y,int z; int a,b,c float a; int b; Pelanggan pelanggan, a, int x; Pelanggan pelanggan, a;

berikut adalah benar atau salah,

jika

Latihan Terdapat ralat dikeluarkan ketika melaksanakan pengisytiharan berikut, jelaskan kenapa. int x, y; int x; float y;

Latihan Tentukan pernyataan berikut sama ada benar atau salah. a = 10;

18

20 = b; a + b = c; a = b + 10; Latihan Lakarkan gambarajah status memori sekiranya pernyataan berikut dilaksanakan: Pensyarah pensyarahTetap, pensyarahSementara;

pensyarahTetap = new Pensyarah(); pensyarahSementara = new Pensyarah(); pensyarahSementara = pensyarahTetap; 2.0 JENIS-JENIS DATA NUMERIK Jenis data numerik juga dikenali sebagai jenis data primitif. Kerana ianya dicipta di dalam sistem dan bukan merupakan objek. Ia juga adalah tidak bersandar kepada mesin, iaitu saiz dan sifatnya kekal sepanjang aturcara dilaksanakan. Terdapat 8 jenis data numerik di dalam Java: Empat jenis integer byte (8 bit), short (16 bit), int (32 bit), long (64 bit) Dua jenis titik terapung float (32 bit), double (64 bit) Aksara char (a-z, A-Z, ruang kosong, tab, enter, koma dll.) Boolean True atau False. Julat bagi jenis data numerik dalam Java : UNGKAPAN ARITHMETIK Operasi yang terlibat adalah: a. Penambahan (+) b. Tolak (-) c. Darab (*) d. Bahagi (/) e. Modulos (%)

Contoh : 10 + 5 4 * 6 / 2 Penyelesaian adalah mengikut turutan keutamaan operator arithmetik Langkah1: Langkah 2: Langkah 3: Langkah 4: Langkah 5: 10 10 10 15 +54*6/2 + 5 24 / 2 + 5 12 -12 3

Contoh : 3+6/3+-2*4

19

Penyelesaian adalah mengikut turutan keutamaan operator arithmetik Langkah Langkah Langkah Langkah Langkah Langkah 1: 2: 3: 4: 5: 6: 3 3 3 3 5 +6/3+-2*4 +6/3+-2*4 + 6 / 3+ - 2 * 4 +2+-8 + -8 -3

Contoh : 2 * ( 5 + - ( 8 / 4 ) / 2 ) * ( 7 5 % 3 ) Latihan Senaraikan langkah penyelesaian bagi latihan berikut : 3+5/7 3/3+3%2 3+2/5+-2*4 2 * ( 1 + ( 3 / 4) / 2 ) * ( 2 6 % 3 )

Penukaran Jenis Data (Type Casting) Penukaran jenis data diperlukan apabila jenis pembolehubah dan pemalar di dalam ungkapan arithmatik adalah berbeza. Sintak penukaran jenis data adalah: (<jenis data>) <ungkapan> Contoh int a,c; float b; b = (float) a / c;

Penukaran Jenis Data (Type Casting) Daripada contoh di atas, didapati nilai a / c telah ditukar kepada jenis data float. Contoh: float x ; x = (float) 3 / 2;

Operator Unari dan Binari Operator Unari Operator unari beroperasi ke atas satu operan.

20

Operator unari terdiri daripada unari penambahan + dan unari penolakan -, operator penambahan ++ dan operator pengurangan --. Unari penambahan tiada kesan ke atas hasil. Tetapi unari penolakan akan memberi kesan ke atas operannya. Operator Unari dan Binari Contoh: int x = 10, a, b; a = +x; b = -x; Daripada contoh, didapati a akan mendapat nilai 10 manakala b akan mendapat nilai 10. Operator penambahan ++ akan menambah 1 dan operator pengurangan -- akan mengurangkan 1 nilai operannya. Contoh: int x=10, a, b; a = ++x; //tambah nilai operan x b = --x; //kurang nilai operan x System.out.println("a:" + a + " b:" + b); Daripada contoh, di dapati output bagi aturcara ini adalah:

Ya atau Tidak? Operator Unari dan Binari Operasi Binari Operasi Binari beroperasi ke atas dua operan. Operator Binari adalah operator asas arithmatik ( * , / , +, -, %) Contoh: int a = 10, b = 5, c = 3, d = 2; d += c; // d = d + c; c -= d; // c = c d; b *= c; // b = b * c; a /= b; // a = a / b; System.out.println("d:" + d + " c:" + c + " b:" + b + " a:" + a); Daripada contoh, di dapati output bagi aturcara ini adalah: Comparison Operators

21

Jenis Data Boolean Jenis data Boolean hanya mempunyai dua kemungkinan iaitu true atau false. Jenis data Boolean boleh digunakan untuk menentukan syarat suatu pernyataan. Contoh : int markah = 50; boolean lulus=true; lulus = markah > 40; System.out.print (lulus); Jawapan: Operasi Boolean Terdapat empat operasi asas bagi boolean: AND (&&) OR (||) EXCLUSIVE-OR (^) NOT(!) Jadual Kebenaran(Truth operator) bagi operator boolean : Turutan Keutamaan bagi operator boolean: Contoh 1: Contoh 2: Contoh 3: PEMALAR

Pembolehubah menyimpan data yang boleh berubah. Jika data yang hendak disimpan tidak perlu berubah dan mesti kekal dengan nilai sebenar maka pemalar akan digunakan. Terdapat dua jenis pemalar: Pemalar Simbolik Pemalar Literal PEMALAR Pemalar Simbolik ini akan diisytiharkan dan dinilaiawalkan sebelum ia digunakan di dalam aturcara. Manakala Pemalar Literal merujuk kepada nilai sebenar di dalam aturcara. Sintaks : final <jenis data><nama pemalar= <nilai pemalar>; Contoh : final double PI = 3.1415; final int BULAN_PER_TAHUN = 12; /* final merupakan perkataan simpanan (reserved word) untuk mengisytiharkan pemalar. */

22

PEMALAR

PI dan BULAN_PER_TAHUN merupakan pemalar simbolik dan nilai 3.1415 dan 12 merupakan Pemalar Literal.

MINGGU 6 OPERASI INPUT DAN OUTPUT TA 1013 OPERASI INPUT DAN OUTPUT Objektif:

Memahami operasi input dan output Mengaplikasikan operasi input dan output

INPUT & OUTPUT Output boleh dipaparkan dengan menggunakan subrutin

23

System.out.print System.out.println untuk membaca input data dari pengguna, System.in Pastikan untuk membaca input data dari pengguna, Import fail java.io.* import java.io.*; Isytihar main spt berikut : public static void main(String argv[]) throws IOException Cipta objek dari kelas InputStreamReader dan Umpukkan pd objek reader InputStreamReader reader = new InputStreamReader(System.in); Cipta objek dari kelas BufferedReader dan Umpukkan pd objek input BufferedReader input = new BufferedReader(reader);

INPUT

Contoh : /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nama fail : TestIO.java Deskripsi : Menunjukkan penggunaan input dan output dalam JAVA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ import java.io.*; public class TestIO { public static void main(String argv[]) throws IOException { InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); // pengisytiharan pembolehubah String inputString; int A, B, tambah, bahagi, tolak, darab; int temp1, temp2; float bahagi1; double bahagi2;

// kemasukan input A dan B System.out.print("Masukkan Nilai Integer A = "); inputString = input.readLine(); A = Integer.parseInt(inputString); System.out.print("Masukkan Nilai Integer B = "); inputString = input.readLine(); B = Integer.parseInt(inputString); // bahagi bahagi = A/B; System.out.println("Nilai A/B = " +bahagi);

24

// bahagi menggunakan FLOAT // apakah perbezaan di antara output bahagi dan bahagi1? bahagi1 = (float)A/B; // type casting System.out.println("Nilai A/B (float)= " +bahagi1);

// tambah tambah = A+B; System.out.println("Nilai A+B = " +tambah); // darab darab = A*B; System.out.println("Nilai A*B = " +darab); // tolak tolak = A-B; System.out.println("Nilai A-B = " +tolak); } // main() }//TestIO Proses Pembacaan Data OUTPUT Masukkan Nilai Integer A = Masukkan Nilai Integer B = Nilai A/B = Nilai A/B (float)= Nilai A+B = Nilai A*B = Nilai A-B = OUTPUT Masukkan Nilai Integer A = Pengendalian Ralat (Exception Handling)

Bagi mengesan ralat (exception) luar jangkaan Pegangan ralat (exception handling) menggunakan penyataan:

Try Blok aturcara untuk mengesan ralat Throw - menghasilkan objek untuk ralat Catch Aturcara yang akan dilakukan apabila ralat dijumpai. Pengendalian Ralat (samb..) Pengendalian ralat

25