Bab 2 Struktur Pengaturcaraan dalam JAVA Jenis Data
Bab 2: Struktur Pengaturcaraan dalam JAVA
Jenis Data Java merupakan bahasa yang mementingkan jenis data Dalam C, saiz bagi data numerik (dalam bait) adalah bergantung kepada sistem pengoperasian. Saiz data bagi Java adalah piawai pada mana-mana Sistem pengoperasian Terdapat lapan jenis data primitif dalam Java: enam berjenis nombor: byte, short, int, long, float, double n Dua lagi berjenis: char, boolean n Terdapat 2 jenis data nyata iaitu float dan double
Nyata Nombor nyata dari jenis float mempunyai akhiran F, contoh: n 3. 14 F Tanpa akhiran F, ia dianggap sebagai berjenis double Jenis data double merupakan jenis data lalai (default) dalam Java **dalam C, jenis data defaultnya adalah berjenis float
Nyata Untuk data berjenis double, akhiran D boleh digunakan, contoh: n 3. 14 D Limpah atas (overflow) terjadi bila terdapat ralat julat Limpah bawah (underflow) terjadi bila terdapat ralat masa larian n cth: pembahagian dengan sifar
Aksara **Sama seperti C Menggunakan kata kunci char Tanda kutip ‘’ menandakan satu aksara Tanda kutip “” menandakan satu rentetan
Boolean Jenis data boolean hanya bernilai true dan false. Digunakan untuk menguji ungkapan mantik Dalam bahasa C tidak ada jenis data ini. Selalunya 0 dan 1 (atau bukan sifar) digunakan bagi mewakili palsu dan benar Dalam C++, jenis data bool digunakan
Boolean: contoh boolean lapar; lapar = true; while(lapar){ System. out. println(“Beri Makan. . ”); lapar = false; } n n lapar hanya bernilai true/false. Gelung while akan berhenti apabila nilai lapar bernilai false. (nilai false diberikan, iaitu selepas makanan diberi)
Pembolehubah dan Takrifan Peraturannya sama seperti C Berikan nama-nama yang bermakna Kata simpanan Java tidak boleh digunakan, seperti: n abstract, boolean, break, byte, case, catch, char, class, const, continue, default, double, else, extends, finally, float, for, goto, if, implements, import, instanceof, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, s transient, try, void, volatile, while
Pengisytiharan Pembolehubah **Seperti dalam C Contoh: n n n byte ruang. Storan; int bilangan; char gred; long perbelanjaan. KLIA; boolean tamat;
Pemalar Dalam C, #define digunakan bagi mentakrifkan pemalar bersama-sama nilainya. n Contoh: #define loop 1000 Dalam Java, kita boleh mentakrifkan pemalar menggunakan sintaks: n public static final nama_pembolehubah Contoh: n n public static final PI = 3. 142 public static final loop = 1000
Pertukaran Nilai Numerik Java membenarkan operasi aritmetik dilakukan di antara operan yang berbeza jenisnya. Penilaian hasil operasi adalah seperti berikut: Jika salah satu operan berjenis double, maka operan yang satu lagi ditukar kepada double n. Sebaliknya, jika salah satu operan berjenis float, maka operan yang satu lagi ditukar kepada float n. Sebaliknya, jika salah satu operan berjenis long, maka operan yang satu lagi ditukar kepada long n ** hukum yang sama berlaku dengan int, short dan byte
Acu (Casting) Ada kalanya kita ingin menganggap nombor bernilai double sebagai integer Contoh: n n double hasil. Bahagi = 20. 997; int hasil = (int) hasil. Bahagi; Nilai hasil adalah 20. Bermakna terdapat data yang akan hilang.
Pembundaran Dalam Java, kita boleh membundarkan suatu nombor nyata kepada integer terdekat, kita boleh menggunakan metod Math. round n double markah. Purata = 20. 997; n int markah. Bundar=(int) Math. round(markah. Purata); Nilai markah. Bundar ialah 21 selepas dibundarkan. Penggunaan acu (int) masih diperlukan kerana nilai yang dikembalikan oleh metod round berjenis long. Kita perlu tukarkan long kepada int, menggunakan acu
Java membenarkan penukaran hasil suatu pembolehubah tanpa menggunakan proses acu mengikut jujukan berikut: byte short int long float double n char int **(dibaca: byte boleh ditukar kepada short boleh ditukar kepada int. . dll) n
Komen **Seperti dalam C Kita boleh komen satu baris aturcara: n gunakan // Atau kita boleh komen satu blok aturcara dengan menggunakan n /*…. . */
Penjanaan Dokomen Secara Automatik Komen yang bermula dengan /** dan berakhir dengan */ akan menjana dokumentasi secara automatik. javadoc yang disediakan dalam java akan menggelintar fail sumber, dan apabila bertemu dengan /** ia akan menjana satu fail HTML bagi menghasilkan satu dokumentasi
Operator **Sama seperti dalam C Operator asas: n +, -, /, *, % Umpukan majmuk juga dibenarkan seperti dalam C. Contoh: n Bil += 5; setara dengan Bil = Bil + 5; Tokok dan susut (++ dan –-) n Contoh: int i= 1; int x = 5 - ++i; //nilai x menjadi 3 //nilai i menjadi 2
Hubungan **Sama seperti dalam C Operator asas: n ==, !=, <, >, <=, >= Bezakan antara umpukan dan hubungan n n Umpukan: Bil =0; Hubungan: if(Bil ==0) Java akan memberi mesej ralat sintaks jika sekiranya kita silap menulis hubungan atau umpukan seperti: n if(bil=0)
Mantik **Sama seperti dalam C Operator asas: n n n && || ! : : : DAN ATAU TAK
Tatasusunan Pengisytiharan n Jenis_data[] nama_pembolehubah = new jenis_data[saiz]; Contoh: int[] tts = new int[100]; ATAU int[] tts; tts = new int[100]; int tts[]= new int[100]; ATAU
Tatasusunan Memberi nilai kepada tatasusunan: int[] nilai = {2, 3, 4, 5}; char[] abjad= {a, b, c, d}; Kita juga boleh memberi nilai awal kepada tatasusunan yang tidak ditakrifkan namanya: new int[]{2, 3, 5, 7, 11}; menyediakan satu tatasusunan baru dengan nilai-nilai tersebut.
Tatasusunan Digunakan sekiranya kita ingin menghantar suatu tatasusunan sebagai parameter ke suatu metod cetak. Lima. Perdana(new int[] {2, 3, 5, 7, 11} ); ATAU int[] nom. Perdana = {2, 3, 5, 7, 11}; cetak. Lima. Perdana(nom. Perdana);
Tatasusunan Sebagai Objek Apabila ia dianggap sebagai objek, maka ia mempunyai atribut dan metod Atribut length n Menentukan saiz suatu tatasusunan: nama_tatasusunan. length int nom. Perdana={2, 3, 5, 7, 11}; for(int i=0; i<nom. Perdana. length; i++) System. out. println(nom. Perdana[i]);
Metod arraycopy() n n Menyalin kandungan tatasusunan kepada tatasusunan yang lain. Sintaksnya: System. arraycopy(sumber, indek. Sumber, sasaran, indek. Sasaran, bil); Sumber : nama tatasusunan yang hendak disalin indek. Sumber : permulaan kedudukan kandungan tatasusunan yang akan di salin dari sumber Sasaran : tatsusunan baru yang akan menyimpan kandungan tatasusunan sumber indek. Sasaran : permulaan kedudukan pada tatasusunan sasaran untuk menyimpan nilai yang disalin Bil : bilangan nilai yang disalin
Metod arraycopy() int[] nom. Ganjil ={1, 3, 5, 7, 9}; int[] nom. Positif={10, 20, 30, 40, 50, 60}; System. arraycopy(nom. Ganjil, 1, nom. Positif, 2, 3); for(int i=0; i<nom. Positif. length; i++){ Sysem. out. println(“nom. Positif[“ + i + “] selepas salinan ialah” +nom. Positif[i]); } OUTPUT nom. Positif[0] nom. Positif[1] nom. Positif[2] nom. Positif[3] nom. Positif[4] nom. Positif[5] selepas selepas salinan salinan ialah ialah 10 20 3 5 7 60
System. arraycopy(nom. Ganjil, 1, nom. Positif, 2, 3); Sebelum salin Selepas Salin 1 3 5 7 9 10 20 30 40 50 60 1 3 5 7 9 10 20 3 5 7 60
Rentetan Berbeza dengan C, Java mempunyai kelas String. Kita tidak perlu untuk isytihar pembolehubah berjenis char untuk menyimpan rentetan aksara. Pemalar berjenis String akan menyimpan aksara di antara tanda “ “, termasuk ruang kosong n n Contoh: String kosong=“”; //suatu rentetan kosong String nama. Saya = “Mohammad Muktasim”;
Operasi Terhadap Rentetan Menggabung Rentetan n Menggunakan operator ‘+’ String tajuk = “OO”; String buku = “. Java”; String tajuk. Buku = tajuk + buku; System. out. println(tajuk. Buku); OUTPUT OO. Java //tanpa ruang kosong
Operasi Terhadap Rentetan Menggabung Rentetan n Menggunakan operator ‘+’ String Nama = “ITSim” + 2005; System. out. println(“Nama Cadangan ialah ”+Nama); OUTPUT Nama Cadangan ialah ITSim 2005
Operasi Terhadap Rentetan Java mengira subrentetan bermula dari 0 hingga 4 Subrentetan 0: kedudukan ‘P’ n Mendapatkan sebahagian daripada rentetan yang 3: kedudukan ‘i’ lengkap Kita berhenti di kedudukan 4 n Metod substring() digunakan String senikata = “Puji dan syukur kepada Ilahi”; String s = senikata. substring(0, 4); System. out. println(“Subrentetan bernilai ”+s); OUTPUT Subrentetan bernilai Puji
Operasi Terhadap Rentetan Panjang rentetan Mendapatkan panjang suatu rentetan n Metod length() digunakan String kata. Aluan = “Salam Sejahtera”; int panjang = kata. Aluan. length(); //panjang bernilai 15 n Membanding rentetan n n Menguji sama ada dua rentetan mempunyai nilai yang sama Metod equals() digunakan “salam”. equals(kata. Aluan); //bernilai false “Salam sejahtera”. equal. Ignore. Case(kata. Aluan); //bernilai true
STURKTUR KAWALAN STRUKTUR PEMILIHAN n n IF-ELSE SWITCH-BREAK STRUKTUR PENGULANGAN n n n WHILE DO-WHILE FOR
STURKTUR PEMILIHAN IF-ELSE if (ungkapan) kenyataan n Contoh: if (markah. Pelajar >= 60) System. out. println(“LULUS”); n n Sintaksnya sama dengan C, kecuali dalam Java, ungkapan mesti bernilai boolean (true or false). Oleh itu kenyataan berikut tidak dibenarkan dalam Java: int bilangan =10; if(bilangan) System. out. print(“*”);
STRUKTUR PEMILIHAN SWITCH-BREAK **sintaksnya sama seperti C n Hanya membenarkan jenis integer dan aksara: byte, char, short, int atau long int pilihan =1; switch(pilihan){ case 1: … break; case 2: . . break; default: … break; }
STRUKTUR PENGULANGAN WHILE, DO-WHILE dan FOR **sintaksnya sama seperti C n Buatkan aturcara Java dengan menggunakan while dan do-while bagi kodpseudo di bawah: lapar = benar Selagi lapar benar paparkan “beri makanan” lapar = false Tamat selagi
Kelas Swing JOption. Pane Kelas ini menyediakan banyak metod yang boleh memaparkan kotak dialog pada skrin dengan mudah Ini termasuklah kotak input (input box), kotak mesej dialog(message dialog box) dan mesej pengesahan (confirmation) Sintaks umum: n JOption. Pane. metod(parameter); Perlu untuk import kelas : n import javax. swing. JOption. Pane;
Kelas Swing JOption. Pane Metod show. Input. Dialog() Tujuan Memaparkan dialog untuk mendapatkan input dari pengguna JOption. Pane. show. Input. Dialog(null, ”mesej anda”) show. Message. Dialog() Memaparkan maklumat kepada pengguna JOption. Pane. show. Message. Dialog(null, ”m esej anda”, tajuk kotak, jenis mesej) show. Confirm. Dialog() Memaparkan dialog untuk mendapatkan pengesahan dari pengguna JOption. Pane. show. Confirm. Dialog(null, ”mes ej anda”, tajuk kotak, jenis mesej)
JOption. Pane: Contoh The code will ask for your name using the Input Dialog Box. It will then display your name and greet you. import javax. swing. JOption. Pane; public class greeting{ public static void main(String[] args){ String name = JOption. Pane. show. Input. Dialog (null, "what is your name? ", "Hello. . ", JOption. Pane. QUESTION_MESSAGE); JOption. Pane. show. Message. Dialog(null, name + ". . . Have a nice day!", "Greeting. . ", JOption. Pane. INFORMATION_MESSAGE); } }
Tajuk kotak Output Mesej anda “Ross’ akan diumpuk Kepada pembolehubah name, berjenis string Tajuk kotak Mesej anda Jenis mesej Dari pembolehubah name
Contoh: Confirm Dialogs JOption. Pane. DEFAULT_OPTION JOption. Pane. YES_NO_CANCEL_OPTION JOption. Pane. YES_NO_OPTION JOption. Pane. OK_CANCEL_OPTION
Contoh: Message Dialogs JOption. Pane. PLAIN_MESSAGE JOption. Pane. QUESTION_MESSAGE JOption. Pane. ERROR_MESSAGE JOption. Pane. INFORMATION_MESSAGE JOption. Pane. WARNING_MESSAGE
Contoh lagi. . import javax. swing. JOption. Pane; Kod di bawah akan mengira indeks berat badan anda public class body. Mass. Swing{ public static void main(String[] args) { int weight, height; double mass. Index, weight. New, height. New; String input. Name=JOption. Pane. show. Input. Dialog(null, "Your Name please"); String kilo =JOption. Pane. show. Input. Dialog(null, "Weight in Kg? "); weight = Integer. parse. Int(kilo); String meter =JOption. Pane. show. Input. Dialog(null, "Height in cm? "); height = Integer. parse. Int(meter); height. New = (double) (height*height)/10000; mass. Index = (double) weight/height. New; JOption. Pane. show. Message. Dialog(null, input. Name+ ", Your bodymass is: " + Math. round(mass. Index)); System. exit(0); } }
String input. Name =JOption. Pane. show. Input. Dialog (null, "Your Name please"); String kilo =JOption. Pane. show. Input. Dialog (null, "Weight in Kg); kilo dan meter berjenis string dan mesti di tukar ke bentuk integer: String meter =JOption. Pane. show. Input. Dialog (null, "Height in cm); weight = Integer. parse. Int(kilo); height = Integer. parse. Int(meter); Pengiraan Indeks berat badan: height. New = (double)(height*height)/10000; mass. Index = (double) weight /height. New; JOption. Pane. show. Message. Dialog (null, input. Name + ", Your bodymass is: " + Math. round(mass. Index));
Metod parser Contoh: weight = Integer. parse. Int(kilo); Nilai yang berjenis String yang diumpuk dalam kilo akan ditukar menjadi integer dan disimpan dalam weight Jenis parser yang lain: n parse. Int(), parse. Float(), parse. Long(), parse. Double, parse. Short(), parse. Byte().
Kelas pembaca Kelas ini disediakan sebagai satu alternatif untuk membaca input daripada pengguna. Kelas ini dapat membaca input dari pengguna dari jenis integer, aksara, nombor nyata ataupun rentetan aksara Kelas ini boleh didapati dari: n http: //www. ftsm/ukm. my/jabatan/tk/sufian/Pe mbaca. class
Kelas Pembaca Muat turun fail kelas tersebut dan letakkannya pada direktori yang SAMA dengan program. java anda Edit fail autoexec. bat anda supaya mengandungi arahan berikut: SET CLASSPATH = c: jdk 1. 3bin -Salin Pembaca. class anda ke dalam direktori tersebut -**jdk 1. 3 (bergantung kepada versi jdk yang Gunakan dalam komputer anda)
Contoh import java. io. *; class membaca. Input{ public static void main(String[] args)throws IOException{ integer; Isytihar pembolehubah Pembaca tika dari kelas Pembaca iaitu baca = new Pembaca(); Mencipta ahli kelas Pembaca System. out. println("Masukkan satu Integer: "); integer= baca. Int(); Membaca integer dengan metod baca. Int() System. out. println("Integer yang dimasukkan: " + integer); } } Paparkan integer
integer= baca. Int(); Pembolehubah integer akan menerima nilai integer yang dikembalikan oleh metod baca. Int() Sintaks panggilan metod: Nama_pembolehubah_tika. nama_metod Kod berikut digunakan untuk memapar output System. out. println("Integer yang dimasukkan: " + integer); Metod-metod lain yang ada dalam kelas pembaca: baca. Float(), baca. Double(), baca. Long(), baca. Short(), baca. Char() dan baca. String() n
- Slides: 48