Thursday, December 22, 2011

Tutorial 36 - public, private, this

Kalau perasan kat Latihan 1, kita ada guna keyword private untuk instance variable.

private ni keyword yang kita boleh guna untuk kawal penggunaan variable tu.

Contoh kalau kita nak tukar variable hour dalam ni:

set private variable from other class


dari class yang lain, contoh macam ni:

the other class


Kalau pakai Eclipse, nak compile pun tak boleh, dah bagitau awal-awal dah "The field is not visible".


Kalau la kita nak jugak tukar variable hour tu, kita boleh tukar dari private jadi public, macam ni:

change private to public


Maksudnya kat sini, bila private hanya method yang ada dalam class tu sahaja yang boleh guna, kalau dari class lain tak boleh.


Jadi, kenapa nak guna private?

Senang citer ambik contoh dari Latihan 1 je la, bila kita boleh tukar-tukar variable hour macam tu je, macam mana nak tau nombor untuk hour tu valid ke tak kan?

Bila kita buat jadi private, cuma method setHour() je yang boleh set nombor untuk variable hour, dan kat method setHour() la boleh kita cek dia valid ke tak.


Ok, itu serba sedikit pasal public dengan private.

Sekarang kita tengok keyword this pulak.

Contoh kalau kita nak buat macam ni:

this keyword in java


Nama instance variable dengan nama parameter tu sama.

Salah memang tak salah, tapi dia buat benda yang bukan kita nak la.

Bila kita tulis

hour = hour;


maksudnya kita masukkan hour ke dalam hour tu balik, bukannya hour yang kat luar tu.

Jadi, dia tak buat apa-apa la.

Kalau pakai Eclipse, kita boleh nampak dia highlight yang mana.


Kalau kita nak masukkan nombor dari parameter tu ke variable hour yang kat luar tu, kita guna keyword this, macam ni:

this.hour = hour;


Jadi, this.hour ni lah yang merujuk hour kat luar tu, maksudnya this class punya hour, bukan hour yang dalam method.

Kalau pakai Eclipse boleh nampak dia highlight yang mana.


Jadi, itu saja rasanya untuk tutorial ni, kalau konfius boleh tinggal komen atau contact kat email/facebook(twitter jarang bukak).

Friday, December 16, 2011

Latihan 1 - Buat Class Time (part 3)

Sekarang kita boleh cuba try test class yang kita baru buat ni:

test class time


Kat sini kita test guna class yang lain.

Kita buat objek tido, set-kan masa dia. Kemudian display guna println(). Hasilnya menepati kehendak kita:

Tido...
00:30:15
12:30:15 AM


Test untuk error:

tido.setTime(15, 1000, 500);


Hasilnya:

Tido...
15:00:00
3:00:00 PM


Nak set satu-satu pun boleh:

tido.setHour(18);
tido.setMinute(15);


Hasil:

Tido...
18:15:00
6:15:00 PM



Jadi, itu saja untuk latihan yang berasaskan object-oriented programming ni. Sekian.

Latihan 1 - Buat Class Time (part 2)

Ini salah satu cadangan jawapan untuk latihan ni:

java class time


Ok, walaupun nampak panjang tapi sebenarnya simple je.

Sekarang kita boleh nampak instance variable kita,

private int hour;
private int minute;
private int second;


Kemudian kita buat satu method untuk set setiap instance variable tu:

public void setTime(int h, int m, int s) {
     setHour(h);
     setMinute(m);
     setSecond(s);
}


Oh, nampaknya kat sini dia guna method lain pulak untuk set setiap instance variable. Setiap instance variable tu ada cara yang tersendiri untuk di-set-kan.

Jadi, bila kita guna method setTime(), dia akan cari setHour() untuk parameter h, setMinute() untuk parameter m, dan setSecond() untuk parameter s.

Kita tengok pulak method setHour():

public void setHour(int h) {
     if (h >= 0 && h <= 23)
          hour = h;
     else
          hour = 0;
}


Kat sini bila h dalam lingkungan 0 sampai 23, kita akan set instance variable hour jadi h, kalau tak kita set jadi 0.

Untuk method setMinute() dengan setSecond() lebih kurang sama, cuma lingkungan dia je yang berbeza:

public void setMinute(int m) {
     if (m >= 0 && m <= 59)
          minute = m;
     else
          minute = 0;
}


public void setSecond(int s) {
     if (s >= 0 && s <= 59)
          second = s;
     else
          second = 0;
}


Sekarang kita tengok method untuk lihat masa yang kita set, iaitu toMilitary() dengan toString().

Military time ni bermaksud masa dalam format sistem 24 jam, ini untuk info saja.

toString tu takde kaitan dengan istilah untuk sistem 12 jam, dia ada keistimewaannya yang tersendiri. Nanti kita akan tengok dalam tutorial yang akan datang.

Buat masa ni kita cuma kena tau method toString() ni untuk format dalam sistem 12 jam.

Kita tengok method toMilitary() dulu:

public String toMilitary() {
     return String.format("%02d:%02d:%02d", hour, minute, second);
}


Method ni nanti akan return data jenis string, maksudnya dia akan menghasilkan string yang kita tetapkan.

Kat sini kita akan return hour, minute, dan second dalam bentuk string, jadi macam 12:30:45 misalnya.

String.format() ni benda baru. Dia sama macam System.out.printf() tapi dia bukan terus display, dia cuma format-kan saja, belum diguna lagi.



Sekarang kita tengok pulak method toString(), untuk format sistem 12 jam, kat sini kita kena buat benda pelik sikit:

public String toString() {
     int h;
     String meridiem;

     if (hour == 0 || hour == 12)
          h = 12;
     else
          h = hour % 12;

     if (hour < 12)
          meridiem = "AM";
     else
          meridiem = "PM";

     return String.format("%d:%02d:%02d %s", h, minute, second, meridiem);
}


Kat dalam ni, kita akan declare variable h dan meridiem.

h untuk tukar nombor jadi sistem 12 jam, meridiem untuk tentukan masa tu AM atau PM.

if (hour == 0 || hour == 12)
     h = 12;
else
     h = hour % 12;


Kat sini kalau nilai hour 0 atau 12, kita letak 12, kalau tak kita letak baki bila hour bahagi 12.

Kita kena buat macam ni sebab mana wujud pukul 0.30 petang dalam sistem 12 jam kan?

Yang modulus tu pulak contoh kalau kita nak tukar jam 15.00(sistem 24 jam) jadi 3.00(sistem 12 jam). 15 bahagi 12 baki 3 kan?

if (hour < 12)
     meridiem = "AM";
else
     meridiem = "PM";


Kat sini kalau hour kurang daripada 12 maksudnya pagi lah kan? Jadi, kita letak AM, kalau tak kita letak PM.

Dan last sekali, kita return dalam bentuk string sama macam method toMilitary().


Oh, kalau nak lagi lawa boleh buat constructor untuk class ni.


Nak tengok class ni boleh jalan ke tak boleh tengok kat sini >>> Test Class Time

Latihan 1 - Buat Class Time (part 1)

Kali ni kita akan buat sikit latihan object-oriented programming(OOP) menggunakan class dan method.

Untuk latihan ni, kita akan buat class Time yang boleh menunjukkan masa dalam jam, minit, dan saat.

Sebelum kita start coding, kita kena tau dulu apa ciri-ciri class ni.

Class kita ni nanti akan ada instance variable untuk jam, minit, dan saat.

Method yang ada ialah method-method untuk set setiap instance variable tu, dengan method untuk tunjuk masa dalam format yang tertentu, contoh macam 9:00:45 AM.

Satu method untuk tunjuk dalam sistem 24 jam, satu lagi untuk sistem 12 jam.

Kita semua tau kat bumi ni jam ada dalam lingkungan 24, minit ada 60, dan saat ada 60 untuk menunjukkan masa.

Jadi, kita kena pastikan semua instance variable ni tak terkeluar daripada lingkungan tu.




Disebabkan ini latihan, boleh cuba-cuba sendiri dulu sebelum tengok cadangan jawapan.

Dah siap boleh tengok kat sini >>> Cadangan Jawapan

Thursday, December 8, 2011

Tutorial 35 - Banyak-banyak Parameter

Kali ni kita akan tengok macam mana nak buat method yang boleh ambik tak kira berapa banyak argument yang kita bagi.

Oh, sebelum tu nak cakap sikit pasal istilah argument dengan parameter ni.

Dua istilah ni macam nak sama tapi tak serupa.

Parameter ialah apa yang diperlukan oleh method.

Argument pulak ialah benda yang kita masukkan sebagai parameter.

Harap paham ye...


Sekarang balik ke topik asal, jadi kita terus tengok ke source code untuk tutorial ni:

vararg java parameter


Program kita ni nanti akan cari purata untuk nombor-nombor yang kita bagi.

Untuk proses-proses cari purata tu kita buat method luar untuk handle.

Method ni pulak taktau berapa banyak nombor kita nak bagi, 5 ke 10 ke 1000 ke.

Jadi, bila kita nak buat method yang boleh ambik berapa banyak argument, kita kena letak 3 dot selepas jenis parameter tu, contoh:

int...nombor


Untuk ambik bilangan nombor yang kita bagi, kita guna .length, contoh:

nombor.length


macam kat line 14 tu.

Proses-proses nak kira purata tu harap paham la ye... kita dah belajar kat tutorial yang lepas.

Kat main() method tu, kita bagi tak kisah berapa banyak pun nombor, dan output nanti akan dapatlah purata dia:

5.5



Jadi, itu saja untuk tutorial pendek ni.

Wednesday, December 7, 2011

Tutorial 34 - Buat Table Untuk Array 2D

Kali ni kita sambung sikit dari apa yang kita belajar sebelum ni, mengenai array dalam 2D.

Jadi, kita dah tau macam mana nak declare array dalam 2D.

Sekarang kita akan buat program untuk display array 2D dalam bentuk table.

Mula-mula kita declare dulu array:

declare 2d array


Disebabkan kita akan buat 2 table untuk array yang berbeza, maka kita akan guna konsep object-oriented.

Object-oriented ni yang guna class dengan method tu la, ayat je gempak.

Jadi, kita akan buat method display() kat luar main() untuk display array 2D dalam bentuk table.

display method for 2d array


Perhatikan yang kita letak 2 kurungan stapler dalam parameter, maksudnya method ni perlukan array 2D untuk digunakan.

Untuk buat dalam bentuk table, kita kena buat nested loop(maksudnya loop dalam loop).

Loop yang kat luar untuk loop-kan row, loop yang dalam untuk loop-kan column.

Kat sini kita guna for loop.

Sekarang kita tengok loop yang luar:

for (int row = 0; row < array.length; row++)


Jadi loop ni akan loop untuk row.

Untuk array 2D, bila kita tulis array.length maksudnya kita ambik panjang row array tu.

Sekarang tengok loop yang kat dalam pulak:

for (int column = 0; column < array[row].length; column++)


Loop ni akan loop untuk column.

Bila kita tulis array[row].length maksudnya kita ambik panjang untuk setiap row atau dalam bahasa lainnya, column.

Kemudian, kat dalam loop yang dalam, kita akan tulis

System.out.print(array[row][column] + "\t");


untuk paparkan nombor dalam setiap row tu dari kiri ke kanan.

\t tu maksudnya tab, untuk bagi ruang sikit.

Lepas kita dah paparkan nombor-nombor dalam row, kita akan buat line baru

System.out.println();


untuk paparkan nombor-nombor dalam row-row yang seterusnya.

Jadi, rupa program kita yang dah siap sepatutnya jadi macam ni:

full program display 2d array in table


dan hasilnya:

output 2d array table


Itu saja gamaknya untuk tutorial ni. Sekian.

Tuesday, December 6, 2011

Tutorial 33 - Array 2D

Tutorial kali ni kita akan tengok pulak macam mana nak menghasilkan array dalam 2D.

2D ni singkatan untuk dua dimensi, maksudnya dia ada paksi x dengan paksi y.

Contoh kalau kita nak buat table ke, koordinat ke...

Ok, kita terus tengok cara nak declare array dalam 2D, nanti explain panjang-panjang pening pulak.

declare 2d array java


Untuk declare array 2D, kita kena letak 2 pasang kurungan stapler, [][]. Sebelum ni kita guna sepasang, untuk 2D kita letak 2 pasang.

Kat sini kita guna cara nak declare array guna kurungan langsir untuk masukkan nombor terus ke dalam array.

Jadi, apa yang berlaku kat sini, setiap row(baris) akan dipisahkan dengan koma, dan setiap row tu sendiri ada column(lajur) yang ditutup dengan kurungan langsir yang lain.

Kiranya dia dah jadi macam filem Inception, dalam kurungan ada kurungan.


Kalau kita tulis sebaris macam contoh kat atas tu memang tak nampak, jadi kita tukar sikit kedudukannya jadi macam ni:

clearer 2d array java


Tak salah, Java memang tak kisah kalau kita letak code kita berterabur pun, janji kedudukan dia berada kat tempat sepatutnya.

Jadi, barulah kita nampak dengan jelas kat mana kedudukan setiap nombor tu dalam array bila kita tukar tempat dia.

Sekarang kita tengok macam mana nak guna salah satu nombor dalam array tu.

Katakanlah kita nak ambik nombor 90, kita tau nombor 90 ada kat row 1, column 3. Ingat, komputer start kira mula dari 0.

Jadi, apa yang kita kena letak sebagai indeks ialah:

contoh[row][column]


dan untuk nombor 90

contoh[1][3]


Tak percaya cuba print,

guna data dalam array


dan hasilnya macam yang kita jangkakan:

90


Jadi itu saja untuk tutorial ni. Sekian.

Monday, December 5, 2011

Tutorial 32 - Array Sebagai Parameter

Untuk tutorial kali ni kita akan belajar macam mana nak guna array sebagai parameter untuk method.

Ini source code-nya:

source code array sebagai parameter


Sekarang kita fokus kat sini:

int[] nombor = {1, 2, 3, 4, 5};
topup(nombor);


Ok, mula-mula kita akan buat satu array dengan nama nombor.

Kemudian kita akan panggil method topup() dan hantar array nombor dalam kurungan dia.

Bila sampai sini, program akan cari mana dia method topup() ni.

Oh, sini pun dia:

public static void topup(int[] x) {
     for (int i = 0; i < x.length; i++)
          x[i] += 5;
}


Perhatikan kan sini kita letak array sebagai parameter(ada kurungan stapler).

Jadi, apa yang method ni akan buat adalah dia akan tambah 5 untuk setiap nombor dalam array yang kita hantar guna increment.

Dah setel method topup(), dia akan pergi ke method main() balik dan akan sambung buat bahagian ni:

for (int array : nombor)
     System.out.println(array);


Kat sini kita print macam biasa untuk tengok nombor yang dah di-topup-kan, dan hasilnya:

6
7
8
9
10


Jadi, apa yang nak difokuskan dalam tutorial ni adalah apa yang nak ditulis untuk hantar array dengan apa yang nak ditulis untuk parameter method tu.

Waktu kita nak hantar, kita hanya tulis nama array tu sahaja, tak payah letak kurungan stapler.

Untuk parameter pulak barulah kita letak kurungan stapler.


Jadi, itu saja untuk tutorial kali ni. Praktis sikit benda ni. Kalau tak paham boleh tanya.

Sunday, December 4, 2011

Tutorial 31 - enhanced for Loop

Sekarang kita akan belajar for loop versi upgrade punya, iaitu enhanced for loop.

Ini source code untuk tutorial ni:

enhanced for loop


Mula-mula kita akan buat array dengan nama monyet.

Ini bahagian paling penting untuk tutorial ni:

for (int x : monyet)


enhanced for loop lebih kurang sama macam for loop yang biasa, yang lainnya cuma apa yang kita letak dalam kurungan tu.

for loop yang biasa perlukan 3 statement dalam kurungan kan?

Untuk enhanced for loop dia lain sikit.

Mula-mula kita tulis jenis array yang kita nak loop-kan, untuk program kita ni kita letak int.

Kemudian kita buat variable untuk rujukan, nak letak nama apa pun boleh. Untuk demo, kita letak x.

Lepas titik bertindih tu kita letak benda apa yang kita nak rujuk. Dalam kes ni, kita nak loop untuk semua elemen dalam array monyet, jadi kita letak monyet.

Jadi, apa yang berlaku nanti ialah kita akan loop untuk semua elemen dalam array monyet, tak kiralah berapa banyak yang ada.

Dan apabila kita run, kita akan dapat:

34
54
12
46
90


sebab untuk program ni kita hanya print saja setiap elemen tu berdasarkan rujukan yang bernama x.


Kalau nak, boleh jugak buat macam ni:

enhanced for loop sum of array


Dan bila kita run, hasilnya:

236


iaitu jumlah untuk semua nombor tu.

Jadi, itu saja untuk tutorial kali ni. Praktis sikit guna for loop yang baru ni.

Tutorial 30 - Kira Frequency

Untuk tutorial kali ni kita akan buat satu program yang akan kira berapa kali dadu dapat nombor antara 1 sampai 6.

Program kita nanti akan baling dadu sebanyak 1000 kali, kemudian dia akan kira nombor 1 dapat berapa kali, nombor 2 dapat berapa, bla bla bla... sampai nombor 6.

Ini source code untuk program yang dah siap:

count frequency in array


Mula-mula kita tengok code yang ni:

Random dadu = new Random();
int[] freq = new int[7];


Program ni akan main dengan dadu, jadi kita akan guna class Random.

Lepas tu, kita buat array nama freq untuk simpan frekuensi untuk setiap nombor antara 1 sampai 6.

Ok, sekarang kenapa kita buat panjang array kita 7?

Ini sebab ingat tak yang komputer ni suka mula kira dengan 0. Kita nak guna dadu, mana ada dadu pakai nombor 0 kan...

Bila kita buat array panjangnya 7 bermaksud kita ada array dengan indeks 0 sampai 6, dan kita hanya akan guna indeks 1 sampai 6 sebab ya la kan... dadu.

Sekarang kita tengok bahagian yang paling penting:

for (int i = 0; i < 1000; i++) {
     ++freq[1 + dadu.nextInt(6)];
}


Kat sini kita guna for loop untuk program baling dadu sebanyak 1000 kali.

dadu.nextInt(6) akan menghasilkan nombor rawak dalam lingkungan 0 sampai 5, jadi kita tambah satu, 1 + dadu.nextInt(6) untuk dapat nombor 1 sampai 6 sebab ya la... dadu.

Nombor rawak ni kita akan letak sebagai indeks untuk array freq yang akan kita increment-kan.

Jadi, nanti bila run, bila dapat nombor 3, freq[3] akan tambah satu... bila dapat nombor 6, freq[6] akan tambah satu... dan seterusnya sampai 1000 kali.

Kat sini mungkin keliru sikit, takpe nanti bila run program tu baru kita boleh nampak.

Sekarang kita tengok yang ni:

System.out.println("Nombor\tFrekuensi");

for (int i = 1; i < freq.length; i++) {
     System.out.println(i + "\t" + freq[i]);
}


Code yang ni untuk kita buat table macam yang kita buat kat tutorial yang lepas.

Kepala table kita bubuh Nombor untuk nombor dadu, dan Frekuensi untuk berapa kali nombor tu kena.

Kita guna for loop macam sebelum ni untuk menghasilkan table.

Loop ni akan bermula dari 1 sebab ya la kan... dadu.


Jadi, bila kita run kemungkinan akan dapat:

NomborFrekuensi
1168
2161
3162
4169
5165
6175


Kat sini barulah jelas kita nampak dadu tu kena nombor 1 sebanyak 168 kali, nombor 2 kena 161 kali, dan seterusnya.

Jadi, itu saja untuk tutorial ni. Sekian.

Tutorial 29 - Jumlahkan Nombor Dalam Array

Tutorial kali ni kita akan buat program yang akan jumlahkan semua nombor yang ada dalam array.

Tanpa buang masa, ini source code untuk demo ni:

sum of elements in array


Mula-mula kita buat satu array dan satu variable untuk simpan jumlah semua nombor tu.

Variable jumlah tu kita setkan dengan 0 sebab kita tak mula kira lagi.

Jadi, kita akan guna for loop untuk loop semua nombor dalam array tu kemudian guna teknik increment, kita akan tambahkan ke dalam jumlah.

Last sekali, macam biasa kita akan print jumlah selepas habih loop sebab kita nak tau betul ke tak dia jumlahkan nombor-nombor tu.

Dan bila kita run, kita akan dapat:

294


iaitu jumlah kepada semua nombor dalam array markah.

Itu saja untuk tutorial ni.

Tutorial 28 - Table Array

Sekarang kita akan buat satu program yang akan buat table daripada array.

Dengan table ni senang sikit kita nak tengok data apa yang ada dekat kedudukan mana.

Jadi, source code untuk tutorial ni:

table array


Mula-mula mesti la kita kena buat satu array.

Kemudian kita akan print kepala table tu kat line 8. "\t" tu maksudnya 'tab'. Nanti dia akan buat sengkang jauh sikit.

Untuk menghasilkan table untuk array, kita akan guna for loop untuk loop semua benda dalam array tu.

Disebabkan komputer suka kira mula 0, jadi kita akan mula variable i tu dari 0.

Bila kita buat array, Java dah siap kira dah berapa bilangan atau panjangnya array kita tu.

Panjang array yang kita buat tu dia simpan dalam array.length(ganti 'array' dengan nama array yang kita buat).

Contoh macam kat line 10 tu. Jadi, tak perlulah kita susah-susah nak kira panjang array yang kita buat, Java dah siap kirakan.

Nanti loop kita akan loop untuk semua benda dalam array tu sebab kita tulis i < nescafe.length.

Sekarang kita run, dan dapatlah:

TempatNilai
0123
154
29017
33435
423
5876


Dengan table ni barulah kita boleh nampak dengan jelas nombor yang ada dekat setiap kedudukan dalam array tu.

Itu saja tutorial kali ni.

Tutorial 27 - Array

Tutorial kali ni kita masuk pulak ke bab Array!

Secara ringkasnya, array ni macam variable yang boleh simpan banyak-banyak data.

Semua data tu pulak mestilah dalam jenis yang sama. Kalau integer, semua data tu kenalah integer. Kalau string, semua kena string.

Jadi, macam biasa kita akan belajar melalui demo. Ini code-nya:

declare array long way


Cara untuk declare array ni macam kat line 6. Yang blog tu nama array, kita boleh letak apa-apa nama pun boleh macam kita buat kat variable biasa.

Sesetengah programmer suka tulis macam ni:

int blog[] = new int[5];


Dua-dua sama je, janji yang kurungan stapler tu kena ada.

Nombor 5 tu menunjukkan berapa banyak data yang boleh kita masukkan ke dalam array tu.

Kat line 6 ni kita hanya suruh program sediakan array blog dengan saiz 5, mula dari line 8 sampai line 12 barulah kita masukkan data iaitu nombor ke dalam array.

Ambik perhatian kat nombor dalam kurungan stapler tu, dia mula dengan 0, bukan 1 sebab komputer ni memang pelik.

Jadi, cara nak guna balik array tu, kita tulis nama dia kemudian dalam stapler, kita tulis kedudukan yang kita nak.

Contoh kat line 14 tu kita akan print array di kedudukan 3.

Nanti bila kita run, kita akan dapat:

321



Nampak leceh kan kena masukkan nombor satu-satu?

Sekarang kita akan tengok cara lain untuk declare array.

Ini source code cara lain nak declare array:

declare array short way


Sebelum ni kita kena bagitau berapa saiz dia... lepas tu masukkan satu-satu...bla bla bla...

Kat sini kita tulis jenis dan nama array(pastikan ada kurungan stapler) kemudian kita tulis kurungan langsir tu, yang ni --> {}.

Dalam kurungan langsir, kita tulis data-data yang kita nak masukkan sebanyak berapa banyak yang kita nak. Kita asingkan data-data tu dengan koma.

Apabila kita run, kita akan dapat sama macam yang sebelum ni:

321


Ingat yang komputer ni mula kira dari 0, bukannya 1.

Jadi, itu saja sebagai pengenalan kepada array. Praktis-praktis sikit. Kalau tak paham atau keliru boleh tanya.

Tutorial 26 - Nombor Rawak(Random)

Rawak dalam bahasa orang putih disebut random. Jadi, kita akan guna class Random untuk buat program yang menghasilkan nombor rawak.

Sebelum class Random boleh diguna, kita mesti import dulu.

Ini source code kita:

random number generator


Untuk demo nombor rawak ni kita akan buat satu program yang akan baling buah dadu.

Lepas dah import, kita buat objek untuk class Random ni dengan nama dadu.

Program kita nanti akan baling dadu sebanyak 10 kali, itu sebab kita guna for loop.

Kat line 12, program akan menghasilkan nombor rawak dalam bentuk integer. Caranya kita guna objek dadu untuk panggil method nextInt().

Dalam kurungan kita letak nombor rawak tu dalam lingkungan berapa. Program kita ni akan baling dadu, jadi kita letak 6 sebab dadu kan ada 6 nombor.

Dan kita run program ni dengan hasil yang tak semestinya macam ni:

4
0
2
4
2
0
5
5
4
3


Oh, nanti dulu. Macam ada yang tak kena dengan program ni.

Kalau tengok betul-betul, nombor yang keluar adalah dari 0 sampai 5. Sejak bila dadu ada nombor 0 ni kan?

Jadi, kita kena tukar sikit code kita. Kita akan tukar line 12 jadi

nombor = 1 + dadu.nextInt(6);


dan bila kita run, boleh jadi kita akan dapat:

4
2
2
6
1
5
2
6
5
4


Jadi, apa yang nak diketengahkan kat sini adalah bila kita letak dadu.nextInt(6), program akan ambik nombor dari 0 sampai 5 secara rawak, bukannya dari 1 sampai 6.

Ntah la kenapa komputer suka kira dari kosong.

Itu saja untuk tutorial ni. =)

Saturday, December 3, 2011

Tutorial 25 - Method Dalam Class Math

Tutorial sebelum ni kita ada guna method kuasa dari class Math kan?

Jadi, tutorial kali ni kita tengok sikit method-method lain yang ada dalam class Math.

Math.abs()

Method ni akan bagi absolute value nombor yang kita letak dalam kurungan. Absolute value ni nombor positif. Contoh kalau kita letak Math.abs(-5.5), dia akan bagi 5.5.

Math.round()

Method ni akan bundarkan nombor yang kita bagi. Contoh, Math.round(4.5) akan bagi 5, kalau Math.round(4.4) akan bagi 4.

Math.ceil()

ceil tu singkatan untuk ceiling, atau dalam BM - siling. Method ni hampir sama macam bundar tapi dia akan sentiasa bundar ke atas. Contoh Math.ceil(5.1) akan bagi 6. Method ni contoh la kalau kita nak buat program nak beli barang ke kan, dan program tu takde duit syiling pulak.

Math.floor()

Kalau ada siling mesti ada lantainya. Math.floor() pulak akan bundarkan ke bawah. Contoh Math.floor(4.9) akan bagi 4.

Math.max()

Method ni kita boleh bubuh berapa banyak nombor yang kita nak. Nombor-nombor tu kena asing guna koma(,). Method ni nanti akan bagi nombor yang paling tinggi nilainya. Contoh kalau Math.max(3.4, 5.6, 1.2) akan bagi 5.6.

Math.min()

Method ni sama macam Math.max() tapi dia akan bagi nombor yang paling rendah nilainya.

Math.pow()

Method ni yang kita guna kat tutorial sebelum ni. Dia perlukan 2 nombor. Nombor pertama nombor yang kita nak kuasakan, nombor kedua kita nak kuasa berapa. Contoh Math.pow(5, 3) akan bagi 125 maksud lainnya 5 X 5 X 5.

Math.sqrt()

Method ni adalah lawan kepada Math.pow(). Dia akan bagi square root atau dalam BM - punca kuasa. Contoh Math.sqrt(9) akan bagi 3.


Ini table untuk semua method yang kita baru belajar ni:

MethodKegunaan
Math.abs()Bagi nombor positif
Math.round()Bundarkan
Math.ceil()Bundar ke atas
Math.floor()Bundar ke bawah
Math.max()Bagi nombor paling besar
Math.min()Bagi nombor paling kecik
Math.pow()Kuasa dua
Math.sqrt()Punca kuasa dua


Jadi, itu saja pengenalan kepada class Math. Class ni memang tak payah import, kita boleh terus guna. Sebenarnya banyak lagi method-method yang ada dalam class ni, yang kita baru belajar ni kira basic lagi. Kalau nak tau yang lain-lain boleh tengok kat website Java tu sendiri.

Itu saja, sekian.

Tutorial 24 - do while Loop

Ini ada satu lagi jenis loop yang kita akan belajar, iaitu do while loop.

Sekarang kita ingat balik macam mana while loop berfungsi.

Untuk while loop, mula-mula dia akan cek dulu variable yang kita nak test tu kemudian baru buat body dia kan?

Untuk do while loop pulak dia terbalik sikit. Dia akan jalankan body dulu kemudian baru cek variable yang nak di-test tu.

Ini source code untuk demo do while loop:

java do while loop


Mula-mula tulis do, kemudian tulis body dia. Lepas tu, tulis while beserta syarat untuk loop berulang dalam kurungan.

Penting: Pastikan selepas dah tulis while ada tanda semicolon, ;

Kalau tak nanti ada error.

Jadi, bila kita run, hasilnya:

0
1
2
3
4
5
6
7
8
9
10


Nampak macam sama je dengan while loop kan?

Ok, sekarang kita tukar sikit code, kita tukar tukangKira mula dengan 20:

int tukangKira = 20;


Hasilnya:

20


Apa yang terjadi? Bukan ke loop ni sepatutnya tukangKira <= 10?

Ok, untuk do while loop, macam yang kita tau tadi dia akan jalankan body dulu kemudian baru cek syarat untuk loop.

Jadi, maksudnya kat sini do while loop MESTI akan loop paling kurang sekali.

Itulah bezanya do while loop dengan while loop.

Ingat tu je, kalau nak run program tu paling kurang sekali guna do while loop, kalau nak cek dulu guna while loop.

Itu saja untuk tutorial ni.

Tutorial 23 - List Kuasa Dua

Tutorial kali ni kita akan guna for loop untuk buat program yang akan buat list untuk operasi kuasa.

Source code dia macam ni:

java for loop math power


Jadi, program kita nanti akan loop sebanyak 10 kali.

Kat dalam loop ni, kita akan print kuasa kepada variable i tu. Contoh, 3 kuasa 2 sama dengan 9.

Yang " ^ 2 = " tu hanya string saja, nak tunjuk yang program tu tengah kira kuasa dua.

Untuk buat operasi kuasa tu kita akan guna method dari class Math, iaitu Math.pow().

Class Math ni memang Java dah siap sediakan, tak payah nak import-import macam Scanner tu.

Method Math.pow() ni ada 2 parameter. Yang pertama, nombor yang nak dikuasakan, yang kedua untuk kita nak kuasa berapa. Contoh kalau Math.pow(3, 2) akan bagi 9.

Sekarang kita akan run, dan hasilnya:

1 ^ 2 = 1.0
2 ^ 2 = 4.0
3 ^ 2 = 9.0
4 ^ 2 = 16.0
5 ^ 2 = 25.0
6 ^ 2 = 36.0
7 ^ 2 = 49.0
8 ^ 2 = 64.0
9 ^ 2 = 81.0
10 ^ 2 = 100.0


Ok, perasan tak kat sini yang jawapan tu ada .0?

Ini bermaksud Math.pow() tu akan bagi nilai dalam double. Kalau taknak .0 tu kita boleh tukar ke integer. Yang tu kita akan belajar dalam tutorial akan datang.

Jadi, itulah antara banyak-banyak program yang boleh dibuat guna for loop. Sebenarnya banyak lagi program yang smart-smart yang boleh dibuat guna for loop ni, tapi apakan daya diri ini tiada idea atau mungkin tidak kreatif. =P

Itu saja tutorial kali ni. Sekian.

Tutorial 22 - for Loop

Tutorial sebelum ni kita ada belajar pasal while loop.

Kali ni kita akan belajar pasal for loop pulak, sama tapi tak serupa.

Source code untuk tutorial ni:

java for loop


Jadi, seperti yang kita nampak nak guna for loop semestinya dengan tulis for kemudian dalam kurungan kita tentukan berapa kali dia akan berulang.

Dalam kurungan kita perlukan 3 benda:
  1. Variable nak mula dari mana, contoh int i = 1
  2. Bila nak berhenti, contoh i <= 10
  3. Berapa banyak nak tambah(increment), contoh i++
Untuk demo ni, kita mula dari 1 sebab nanti kita nak print variable i tu. Saja nak bagi nampak.

Dan apabila kita run, kita akan dapat:

1
2
3
4
5
6
7
8
9
10


Kita boleh jugak buat increment lebih dari satu, contoh macam ni:

for (int i = 1; i <= 10; i += 3)


dan hasilnya

1
4
7
10


Jadi, itu saja untuk tutorial ini.

Friday, December 2, 2011

Tutorial 21 - Program Cari Purata

Tutorial kali ni kita akan guna balik apa yang kita dah belajar sebelum ni untuk buat satu program untuk cari purata.

Ini source code untuk program kita:

cari purata dalam java


Sebelum kita run program, kita akan tengok dulu apa program ni akan buat.

Secara ringkasnya, program kita nanti ambik input nombor dari user, kemudian bagitau kita berapa purata untuk nombor-nombor tersebut.

Disebabkan program kita kena ambik input dari user, maka kita akan guna Scanner.

Jadi, macam biasa kat line 1 tu kita import Scanner, kemudian kita buat objek Scanner dengan nama scan(line 7).

Program kita ni ada 4 variable untuk proses mengira nanti. jumlah untuk simpan jumlah semua nombor yang user masukkan, markah untuk simpan input dari user untuk sementara waktu, purata semestinya untuk purata, dan i untuk kawal kita punya loop.

Untuk ambik input dari user, kita akan guna while loop. Kat sini kita set syarat untuk loop tu berulang adalah sewaktu i < 10. Jadi, maksudnya kat sini loop ni akan berulang sebanyak 10 kali.

Kat dalam while loop kita suruh program ambik input dari user dan masukkan ke dalam markah.

Untuk jumlah, kita akan guna increment yang kita dah belajar sebelum ni.

Lepas loop dah habis, program akan kira purata seterusnya paparkan purata.

Sekarang kita akan run program ni dan hasilnya seperti yang dijangkakan(warna hijau tu user yang taip):

output cari purata dalam java


Jadi, kenapa variable kita tu dalam bentuk double, kenapa bukan integer?

Ini sebab... ingat tak yang nombor integer tak boleh dalam bentuk pecahan/perpuluhan... kalau kita run sekali lagi program ni guna variable dalam integer, nanti kita akan dapat

5


sepatutnya

5.5


Itu saja tutorial kali ni, lepas ni kita akan belajar benda baru lagi. Sekian.

Minecraft

Minecraft sekarang dah jadi kegilaan gamers terutamanya kat negara orang putih. Kat Malaysia rasanya ramai jugak yang main kot, taktau la.

Tak ramai yang main Minecraft mungkin sebab kena bayar. Harga dia dalam RM 60++.

minecraft


Apa itu Minecraft?

Minecraft ni merupakan sebuah game binaan. Pemain boleh bina apa saja menggunakan blok-blok yang ada.

Sesiapa yang minat seni boleh la cuba-cuba game ni. Bukan apa, saya sebenarnya baru tengok-tengok kat Youtube pasal Minecraft ni dan terkejut tengok binaan diorang.

minecraft building


Yang ni bangunan KLCC binaan pemain-pemain dari Malaysia. Berbakat juga depa ni.

minecraft klcc twin tower malaysia


Ini ada sikit video kat Youtube pasal Minecraft. Rasa tak percaya kot binaan tu hanya menggunakan blok-blok petak tu je.







Jadi, apa kaitannya game Minecraft dengan blog ni?

Ok, kalau dapat teka bagus... yup, game Minecraft merupakan salah satu game yang dibangunkan menggunakan JAVA.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India