Friday, 26 March 2010

Week 7

Minggu ini adalah minggu UTS. Soal-soalnya cukup sulit bagi saya, apalagi tidak boleh menggunakan komputer. Soal TTS banyak ada beberapa yang saya lupa. Kalo soal koding yang bisa saya kerjakan hanya no 1 dan no 3, yang no 2 ga ngerti soalnya belum diajarin. hehe..

Friday, 19 March 2010

Week 6

Pada minggu ini cukup banyak materi yang diberikan Pak Alfon. Dan seperti biasa kelas Pak Alfon banyak di isi dengan koding. Berikut adalah materi yang dibawakan.


This

this digunakan agara tidak membuat terlalu banyak variable.

tanpa 'this' :

public void setLength(double l){
length = l;
}


diatas kita harus menuliskan sebuah variable baru yaitu l.

dengan 'this' :

public void setLength(double length){
this.length = length;
}

diatas kita dapat menggunakan length lagi tanpa harus membuat variable baru.


Static Initializers

Kelebihanya adalah dapat menghemat memori, karena object yang biasa kita buat memakan memori, dengan static kita tidak perlu membuat object baru yang berate lebih hemat dalam penggunaan memori.


Overloaded method

Ini berarti kita membuat method yang sama dengan argumen berbeda. Biasanya digunakan untuk memudahkan dalam inputan


public void setLength(double length){
this.length = length;
}
public void setLength(String length){
this.length = Double.parseDouble(length);
}


x++ dan ++x

Perbedaan z=x++ dengan z=++x adalah z=x++ berarti nilai x dimasukan dulu ke z baru x di ++. Sedangkan z=++x nilai yang diterima z adalah hasil dari x++.


Multiple constructors

Ini berarti kita memasukan 2 atau lebih constructor ke dalam sebuah class.

public Main(){
this(0., 0.);
}
public Main(double length){
this(length, length);
}
public Main(double length, double width){
setLength(length);
setWidth(width);
}



Pada minggu ini saya juga sempat belajar sendiri dari buku yang sama minggu lalu yaitu Schaum’s outlines yang saya pinjam dari perpustakaan UC. Minggu ini saya mempelajari tentang string dari buku ini dan akan saya tampilkan beberapa yang saya pelajari.



class TestStringClass {

public static void main(String[] args) {


String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

System.out.println("This is string: " + alphabet);

System.out.println("This is the lenght: " + alphabet.length());

System.out.println("The charactert at index 4 is: " +alphabet.charAt(4));

System.out.println("The index of the character Z is: " + alphabet.indexOf('Z'));

System.out.println("Its lowercase version is: " + alphabet.toLowerCase());

System.out.println("This string is still: " + alphabet);

}

}


Pada baris koding diatas ada beberapa perintah unik string.


* Yang pertama adalah alphabet.length yang mengambil berapa panjang dari string yang telah dideklarasikan.


* Alphabet.charAt(4) mengambil string pada index ke 4.


* Alphabet.indexOf(‘Z’) mengambil index dari alphabet Z. alphabet.toLowerCase() berarti membuat String menjadi lower case.



class Replacing{

public static void main(String[] args){


String inventor = "Charles Babbage";

System.out.println(inventor);

System.out.println(inventor.replace('B', 'C'));

System.out.println(inventor.replace('a', 'c'));

System.out.println(inventor);

}

}


Perintah lain seperti replace berarti mengganti huruf dalam string dengan huruf baru yang kita inginkan. Contohnya:


System.out.println(inventor.replace('B', 'C'));


Baris ini berarti mengganti ‘B’ menjadi ‘C’.

Week 6

Pada minggu ini cukup banyak materi yang diberikan Pak Alfon. Dan seperti biasa kelas Pak Alfon banyak di isi dengan koding. Berikut adalah materi yang dibawakan.

This

this digunakan agara tidak membuat terlalu banyak variable.

tanpa 'this' :

public void setLength(double l){
length = l;
}


diatas kita harus menuliskan sebuah variable baru yaitu l.

dengan 'this' :

public void setLength(double length){
this.length = length;
}

diatas kita dapat menggunakan length lagi tanpa harus membuat variable baru.

Static Initializers

Kelebihanya adalah dapat menghemat memori, karena object yang biasa kita buat memakan memori, dengan static kita tidak perlu membuat object baru yang berate lebih hemat dalam penggunaan memori.

Overloaded method

Ini berarti kita membuat method yang sama dengan argumen berbeda. Biasanya digunakan untuk memudahkan dalam inputan


public void setLength(double length){
this.length = length;
}
public void setLength(String length){
this.length = Double.parseDouble(length);
}

x++ dan ++x

Perbedaan z=x++ dengan z=++x adalah z=x++ berarti nilai x dimasukan dulu ke z baru x di ++. Sedangkan z=++x nilai yang diterima z adalah hasil dari x++.

Multiple constructors

Ini berarti kita memasukan 2 atau lebih constructor ke dalam sebuah class.



public Main(){
this(0., 0.);
}
public Main(double length){
this(length, length);
}
public Main(double length, double width){
setLength(length);
setWidth(width);
}

Pada minggu ini saya juga sempat belajar sendiri dari buku yang sama minggu lalu yaitu Schaum’s outlines yang saya pinjam dari perpustakaan UC. Minggu ini saya mempelajari tentang string dari buku ini dan akan saya tampilkan beberapa yang saya pelajari.

class TestStringClass {

public static void main(String[] args) {

String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

System.out.println("This is string: " + alphabet);

System.out.println("This is the lenght: " + alphabet.length());

System.out.println("The charactert at index 4 is: " +alphabet.charAt(4));

System.out.println("The index of the character Z is: " + alphabet.indexOf('Z'));

System.out.println("Its lowercase version is: " + alphabet.toLowerCase());

System.out.println("This string is still: " + alphabet);

}

}

Pada baris koding diatas ada beberapa perintah unik string. Yang pertama adalah alphabet.length yang mengambil berapa panjang dari string yang telah dideklarasikan. Alphabet.charAt(4) mengambil string pada index ke 4. Alphabet.indexOf(‘Z’) mengambil index dari alphabet Z. alphabet.toLowerCase() berarti membuat String menjadi lower case.

class Replacing{

public static void main(String[] args){

String inventor = "Charles Babbage";

System.out.println(inventor);

System.out.println(inventor.replace('B', 'C'));

System.out.println(inventor.replace('a', 'c'));

System.out.println(inventor);

}

}

Perintah lain seperti replace berarti mengganti huruf dalam string dengan huruf baru yang kita inginkan. Contohnya:

System.out.println(inventor.replace('B', 'C'));

Baris ini berarti mengganti ‘B’ menjadi ‘C’.

Friday, 12 March 2010

Week 5

Week 5


Pada minggu ini materi yang diberikan menurut saya sangat mirip dengan pelajaran alpro semester 1 karena ada tentang statement if, while, dan for dan masih banyak lagi. Penggunaanya pun sangat mirip bahkan sama persis. Pada minggu ini saya juga sempat belajar dari buku terbitan Schaum’s berjudul “Programming with java” yang menurut saya syntax yang diajarkan berbeda dengan yang diajarkan di kelas, meskipun ketika di compile dan di run hasil yang keluar sama. Saya juga sempat menanyakan kepada ko Franky tentang hal ini, dank o Franky mengatakan tidak tau. Nah, dari sini saya menyimpulkan bahwa syntax java sangat luas dan banyak.


Nah inilah yang saya peajari minggu ini.


Boolean Operators


3 jenis boolean Operators:

&& = and = bernilai benar jika ke dua syarat harus terpenuhi

|| = or = salah satu syarat terpenuhi maka akan bernilai benar

! = not cnt: “ != “ berarti : tidak sama dengan



Short Circuit Evalutaion


Berarti bahwa jika sebuah syarat sudah terpenuhi maka syarat yang lain tidak perlu di perhatikan lagi

ex: x > y || x > z x = 37 y = 24 z = 19

jika x > y sudah terpenuhi maka x > z tidak dibaca lagi.



Comparing Objects


Untuk data bertipe int, double, float, dll comparing menggunakan ” == “

Untuk object (string) str1.equals(str2)



If statement


if(x>10){

Print= besar;

}

else{

print=kecil;

}

Gini kira2 logika pemakainnya. Kalo nilai x lebih besar dari 10 maka akan di print besar. Jika nilai x lebih kecil dari 10 maka perintah else yang akan dijalankan yaitu memprint kecil.



Switch Statement


Switch statement memungkinkan untuk manjalankan lebih dari 1 pilihan.

Case1{

Print=1;

}

Case2{

Print=2;

}

Case 3{

Print=3;

break;

}

Case4{

Print=4;

}


Jika memenuhi kondisi pertama maka case1, 2,dan 3 akan dijalankan. Jika memenuhi kodisi ke2 maka case 2 dan 3 akan dijalankan. Jika memenuhi kondisi ke 3 maka hanya kondisi ke 3 yang dijalankan. Hal yang sama juga terjadi jika kondisi ke 4 terpenuhi, hanya case 4 yang dijalankan. Mengapa berhenti di case 3? Karena ada perintah break. Jika tidak ada perintah break maka akan jalan terus sampai case 4.



Loop Statement


While


while(x>5){

print=OOP;

x++;

}

Algoritma diatas akan memprint “OOP” sebanyak x kali sampai nilai x lebih besar dari 5.


Do while

= saudara kembar while bedanya do while menjalankan perintah sekali baru menambah nilai x


For


for(x=0;x<5;x++){

print=OOP;

}

Algoritma diatas akan memprint “OOP” sebanyak 5 kali. Nilai x di declare 0 didalam syntax for, berbeda dengan while yang dideclare diluar. Pertama mencek nilai x, jika x lebih kecil dari 5 maka menjalankan perintah dalam kurung kurawal kemudian baru kemudian x di “++”.


Nah disini saya mau member sedikit yang saya pelajari dari buku terbitan Schaum’s

Jika di kelas diajarkan untuk mendapat inputan dari user kita menggunakan import java.util.scanner; untuk mengambil dari library java, di buku schaum menggunakan import java.io.*;


Dikelas menggunakan


Scanner myScanner = new Scanner(System.in);

int age = myScanner.nextInt();


untuk menerima inputan dan kemudian memasukan nilai ke variable. Dari buku saya mempelajari dengan perintah


BufferedReader in;

in = new BufferedReader (new InputStreamReader(System.in));

System.out.println("Height: ");

String height = in.readLine();

int h = Integer.parseInt(height);


sebenarnya saya sedikit kurang paham cara kerjanya karena menggunakan bahasa inggris, tapi kira2

“in” digunakan untuk menyimpan sementara nilai inputan user kemudian baru dipindahkan ke string height menggunakan String height = in.readLine(); .karena nilai yang diberikan berupa int maka harus dipindah ke variable bertipe int dengan perintah int h = Integer.parseInt(height); sedangkan BufferedReader, InputStreamReader, readLine, dan parseInt() adalah syntax standarnya.


Keduanya sama2 berfungsi untuk menerima inputan dari user. Dibawah adalah soal yang diberikan dikelas pada week 5 tentang berat ideal yang saya koding menggunakan syntax yang saya dapat dari buku.


import java.io.*;


class Ideal {


public static void main(String[] args) throws IOException{


BufferedReader in;

in = new BufferedReader (new InputStreamReader(System.in));


System.out.println("Height: ");


String height = in.readLine();

int h = Integer.parseInt(height);

System.out.println("Age: ");

String age = in.readLine();

int a = Integer.parseInt(age);


if(h >= 140 && h <= 230 && a >= 0 && a <=100){

double rec = ( h - 100 + a / 10) * 0.9;


System.out.println("rec weight: " + rec);

}


else{

System.out.println("System error");

}


}

}


Hasilnya sama persis seperti menggunakan scanner maupun Joption.


Ternyata java sangat luas syntaxnya. Tidak seperti bahasa c yang pasti menggunakan printf untuk memprint dan scanf untuk menerima inputan.