Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

DASAR PEMROGRAMAN. Pada akhir pembahasan, peserta diharapkan dapat:  Mengidentifikasi dasar-dasar program Java  Membedakan beberapa hal yang penting.

Presentasi serupa


Presentasi berjudul: "DASAR PEMROGRAMAN. Pada akhir pembahasan, peserta diharapkan dapat:  Mengidentifikasi dasar-dasar program Java  Membedakan beberapa hal yang penting."— Transcript presentasi:

1 DASAR PEMROGRAMAN

2 Pada akhir pembahasan, peserta diharapkan dapat:  Mengidentifikasi dasar-dasar program Java  Membedakan beberapa hal yang penting pada Java seperti, Java literal, tipe data primitif, tipe variabel, identifier dan operator.  Membuat program Java sederhana dengan menggunakan konsep-konsep yang ada pada bab ini.

3 public class Hello { /** * Program Java My first */ public static void main( String[] args ){ //menampilkan String Hello world pada layar System.out.println(“Hello world”); }

4 public class Hello { /** * Program Java My first */ Hello - deklarasi nama class Pada Java, semua code harus berada di dalam deklarasi sebuah class. Class menggunakan akses public, sehingga class Hello dapat diakses oleh class lain yang berada di luar package (package adalah sekumpulan dari class).

5 public class Hello { /** * Program Java My first */ Baris berikutnya merupakan tanda kurung kurawal { yang merupakan awal dari sebuah blok. Pada code di atas, tanda kurung kurawal ditempatkan pada baris baru setelah deklarasi kelas, akan tetapi kita dapat juga menempatkannya pada awal baris. Sehingga code di atas juga dapat ditulis seperti: public class Hello{ /** * Program Java My first */

6 public class Hello { /** * Program Java My first */ Tiga baris selanjutnya merupakan comment pada Java. Comment  Merupakan catatan yang ditulis sebagai dokumentasi pada suatu bagian code.  Comment bukanlah bagian dari program, akan tetapi digunakan untuk tujuan dokumentasi.  Menambahkan comment pada source code merupakan cara yang baik untuk berlatih pemrograman.

7 public class Hello { /** * program Java My First */ public static void main( String[] args ){ method main() - nama dari sebuah method pada class Hello method main() merupakan starting point pada program Java. Semua program Java kecuali Applet dijalankan pada method main().

8 public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar Baris selanjutnya merupakan comment pada Java.

9 public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar System.out.println(“Hello world”); Command System.out.println() digunakan untuk menampilkan ke layar, teks yang ada antara tanda petik ganda.

10 public class Hello { /** * program Java My First */ public static void main( String[] args ){ //menampilkan string “Hello world” pada layar System.out.println(“Hello world”); } Pada dua baris berikutnya, terdapat dua tanda kurung kurawal yang digunakan untuk menutup method main() dan deklarasi class.

11 1. Setiap program Java harus disimpan sebagai file yang diakhiri dengan ekstensi.java 2. Nama file harus sama dengan nama dari class public. Sebagai contoh, apabila nama dari class public pada program adalah Hello, maka nama filenya adalah Hello.java 3. Comment sebaiknya ditulis untuk menjelaskan perilaku dari sebuah class, atau perilaku dari sebuah method.

12 Comment  Merupakan catatan yang ditulis pada sebuah code untuk tujuan dokumentasi.  Catatan tersebut bukanlah bagian dari program dan tidak mempengaruhi jalannya program. 3 Tipe comment pada Java  C++ Style Comment  C Style Comment  Special Javadoc Comment

13 C++ Style Comment  C++ Style comment diawali dengan tanda //  Semua teks sesudah // merupakan sebuah comment  Contoh: // Ini adalah C++ style atau single line comments

14 C-Style Comment  C-style comment disebut juga multiline comment, diawali dengan tanda /* dan diakhiri dengan tanda */  Semua teks yang berada di antara dua tanda tersebut adalah comment  Tidak seperti C++ style comment, C-Style comment dapat menampung banyak baris sekaligus.  Contoh: /* Ini adalah contoh dari C style atau multiline comments */

15 Special Javadoc Comment  Special Javadoc comment digunakan untuk membuat sebuah dokumentasi HTML untuk program Java Anda.  Anda dapat membuat javadoc comment dengan mengawali baris dengan /** dan mengakhirinya dengan */  Seperti C-style comments, comment ini dapat memuat banyak baris.  Comment ini dapat memuat tags untuk menambah informasi pada comment Anda.  Contoh: /** This is an example of special java doc comments used for \n generating an html documentation. It uses tags Florence 1.2 */

16 Statement  Satu atau beberapa baris code yang diakhiri dengan sebuah tanda titik koma.  Contoh: System.out.println( “ Hello world ” );

17 Block  merupakan satu atau beberapa statement yang berada diantara tanda kurung kurawal buka dan tanda kurung kurawal tutup, yang mengelompokkan beberapa statement ke dalam sebuah unit.  Nested pada Block statement tidak terbatas.  Spasi kosong diperbolehkan pada block statement.  Contoh: public static void main( String[]args ){ System.out.println("Hello"); System.out.println("world ” ); }

18 1.Untuk membuat block, tempatkan kurung kurawal buka, satu baris setelah deklarasi block. Contohnya: public static void main(String[] args){ atau tambahkan pada baris berikutnya, seperti, public static void main( String[] args ) {

19 2. Statement sebaiknya dimasukkan pada baris selanjutnya, setelah awal dari block. Contohnya: public static void main( String[] args ){ System.out.println("Hello"); System.out.println("world"); }

20 Identifier  merupakan tanda (token) yang mewakili nama dari variabel, method, class, dll.  Contoh dari identifier adalah: Hello, main, System, out.  Java identifier bersifat case-sensitive.  Sebagai contoh, identifier Hello tidak sama dengan hello.

21  Identifier harus diawali dengan  huruf  tanda garis bawah “_”  tanda dolar “$”  Huruf dapat menggunakan huruf kecil atau huruf kapital.  Karakter selanjutnya dapat menggunakan angka dari 0 sampai 9.  Identifier tidak dapat menggunakan keyword Java, seperti class, public, void, dll.

22 1. Untuk penamaan class, gunakan huruf kapital pada huruf awal dari nama class, contohnya, ThisIsAnExampleOfClassName 2. Untuk penamaan method dan variabel, gunakan huruf kecil di awal nama, contohnya, thisIsAnExampleOfMethodName

23 3. Pada saat memberikan nama identifier lebih dari satu kata, gunakan huruf kapital untuk menunjukkan huruf awal dari kata selanjutnya kecuali kata awal. Contohnya, charArray, fileNumber, ClassName 4. Hindari penggunaan garis bawah pada awal identifier seperti, _read atau _write

24  Keyword merupakan identifier khusus yang sudah disediakan oleh Java untuk tujuan tertentu.  Keyword tidak dapat digunakan sebagai nama dari variabel, class, method... dll.  daftar dari Java keyword, terdapat pada slide berikut ini

25

26  Literal merupakan tanda(token) yang tidak berubah(konstan)  Beberapa tipe literal dari Java adalah:  Integer Literal  Floating-Point Literal  Boolean Literal  Character Literal  String Literal

27 Integer literal memiliki beberapa bentuk :  decimal (base 10)  hexadecimal (base 16)  octal (base 8)

28 Penandaan khusus pada saat menggunakan integer literal pada program:  Decimal  Tidak ada penandaan khusus  contoh: 12  Hexadecimal  Diawali dengan 0x atau 0X  contoh: 0xC  Octal  Diawali dengan 0  contoh: 014

29  Mewakili bilangan desimal dengan pecahan  Contoh:  Dapat ditulis dengan notasi standard atau scientific  Contoh: (standard) e2 (scientific)

30 Boolean literal hanya memiliki dua nilai,  true  false

31  Character literal mewakili satu Unicode character.  Unicode character  merupakan 16-bit character set yang menggantikan 8-bit ASCII character set.  Unicode membolehkan pengisian simbol dan special character dari bahasa lain.

32  Untuk menggunakan sebuah character literal, tandai character dengan memberikan tanda petik satu.  Contoh  Huruf a, diwakili dengan 'a'.  Special character seperti newline character menggunakan tanda backslash diikuti dengan character code. Contoh,  '\n' untuk newline character  '\r' untuk carriage return  '\b' untuk backspace

33  String literal mewakili banyak character dan ditandai dengan tanda petik ganda.  Contoh dari string literal adalah, “Hello World”.

34 Bahasa pemrograman Java memiliki delapan tipe data primitif.  boolean (logical)  char (tekstual)  byte  short  int  long (integral)  double  float (floating point).

35  Tipe data boolean mewakili dua pernyataan: true dan false  Contoh, boolean result = true;  Contoh diatas, mendeklarasikan sebuah variabel bernama result sebagai tipe data boolean dan memberikan nilai true.

36  Sebuah tipe data character (char), mewakili satu Unicode character.  Ditutup dengan tanda petik satu (' ').  Contoh, ‘ a ’ //huruf a ‘ \t ’ //character tab  Untuk mewakili special character seperti ' (tanda petik satu) atau “ (tanda petik ganda), gunakan tanda backslash \. Contoh, '\'' //untuk tanda petik satu '\"' //untuk tanda petik ganda

37  String mewakili tipe data yang mengandung banyak character.  String bukan merupakan tipe data primitif, akan tetapi sebuah class.  Ditutup dengan tanda petik ganda (“”).  Contoh, String message= “ Hello world! ” ;

38 Tipe data integral pada Java memiliki tiga bentuk :  desimal  oktal  heksadesimal Contoh, 2 //nilai desimal //Awalan 0 menandakan nilai oktal 0xBACC //Awalan 0x menandakan nilai heksadesimal Tipe integral menggunakan int sebagai tipe data default. Nilai long dapat didefinisikan dengan menambahkan huruf l atau L. Contoh: 10L

39 Tipe data integral memiliki rentang nilai:

40 Panduan pemrograman: Untuk mendefinisikan nilai long, disarankan untuk tidak menggunakan huruf L kecil karena akan sulit untuk membedakan dengan angka 1.

41 double merupakan tipe data default pada tipe floating point. Floating-point literal memberikan nilai desimal atau salah satu dari nilai berikut ini, E atau e //(nilai exponen) F atau f //(float) D atau d //(double) Contoh, 3.14 //Sebuah floating-point (double) 6.02E23 //Nilai floating-point yang besar 2.718F //Sebuah nilai float 123.4E+306D//Sebuah nilai double dengan redundan D

42 Tipe data floating-point memiliki rentang nilai:

43  Variabel merupakan item dari data yang digunakan untuk menyimpan sebuah nilai dari objek.  Variabel memiliki:  Tipe data Tipe data merupakan tipe dari value yang dapat disimpan variabel.  Nama Nama variabel harus mengikuti aturan seperti identifier.

44 Variabel dapat dideklarasikan dengan menggunakan sintaks: [=inisialisasi value];  Catatan: Nilai yang berada antara tanda <> adalah value yang harus ada, sedangkan value yang berada antara tanda [] bersifat optional (boleh diisi atau tidak).

45 public class VariableSamples { public static void main( String[] args ){ //deklarasikan sebuah tipe data dengan nama variabel // result dan tipe data boolean boolean result; //deklarasikan sebuah tipe data dengan nama variabel // option dan tipe data char char option; option = 'C'; //memberi nilai 'C' pada variabel option //deklarasikan sebuah tipe data dengan nama variabel //grade, tipe data double dan nilai inisialisasi 0.0 double grade = 0.0; }

46 1. Deklarasikan variabel terlebih dahulu, baru kemudian lakukan inisialisasi variabel. 2. Gunakan nama yang deskriptif untuk penamaan variabel. Contoh, jika terdapat variabel yang mengandung nilai grade siswa, maka beri nama variabel tersebut dengan grade, bukan dengan huruf random.

47 3. Deklarasikan satu variabel pada satu baris code. Contohnya pada deklarasi variabel-variabel berikut ini, double exam=0; double quiz=10; double grade = 0; deklarasi di atas lebih baik daripada deklarasi berikut ini, double exam=0, quiz=10, grade=0;

48 Untuk mencetak value dari sebuah variabel, dapat menggunakan command berikut ini: System.out.println() System.out.print()

49 public class OutputVariable { public static void main( String[] args ){ int value = 10; char x; x = ‘A’; System.out.println( value ); System.out.println( “The value of x=“ + x ); } Program diatas akan memberikan output yaitu: 10 The value of x=A

50 System.out.println() Memberikan satu baris baru pada akhir data output System.out.print() Tidak memberikan baris baru pada akhir data output

51 Program 1: System.out.print(“Hello”); System.out.print(“World”); Output: HelloWorld Program 2: System.out.println(“Hello”); System.out.println(“World”); Output: Hello World

52  Terdapat dua tipe variabel di Java:  Primitive Variable  Reference Variable  Primitive Variable  Adalah variabel dengan tipe data primitif  Menyimpan data di memori dimana lokasi variabel tersebut berada

53  Reference Variable  Variabel yang disimpan pada alamat di lokasi memori  Menunjuk pada lokasi memory yang lain dimana data tersebut berada  Ketika suatu variabel pada sebuah class dideklarasikan, sebenarnya yang dideklarasikan adalah reference variabel pada object di class tersebut.

54 Misalkan ada dua variabel dengan tipe data int dan String. int num = 10; String name = "Hello"

55 Gambar di bawah ini adalah lokasi memory yang ada pada komputer, dimana terdapat alamat pada cell memory berupa nama variabel dan data yang dimiliki.

56  Beberapa tipe operator:  arithmetic operator  relational operator  logical operator  conditional operator  Operator-operator diatas memiliki ciri tertentu sehingga compiler bisa mengetahui operator mana yang akan dievaluasi terlebih dahulu pada saat beberapa operator digunakan pada satu statement

57

58 public class ArithmeticDemo { public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; double x = ; double y = 7.22; System.out.println("Nilai Variabel..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); System.out.println("Penjumlahan..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y));

59 //pengurangan angka System.out.println("Pengurangan..."); System.out.println(" i - j = " + (i – j)); System.out.println(" x - y = " + (x – y)); //pengalian angka System.out.println("Pengalian..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //pembagian angka System.out.println("Pembagian..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y));

60 //Penghitungan modulus (sisa pembagian) System.out.println("Penghitungan modulus..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //Penghitungan kombinasi variabel System.out.println("kombinasi variabel..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); }

61 Nilai variabel... i = 37 j = 42 x = y = 7.22 Penjumlahan... i + j = 79 x + y = Pengurangan... i - j = -5 x - y = Pengalian... i * j = 1554 x * y = Pembagian... i / j = 0 x / y = Computing Nilai Modulus... i % j = 37 x % y = Kombinasi variabel... j + y = i * x =

62 Catatan Ketika nilai integer dan angka floating-point digunakan sebagai operand pada operasi aritmatika, hasilnya akan menjadi floating point. Nilai secara implisit integer diubah menjadi nilai floating-point sebelum operasi berlangsung.

63  unary increment operator (++)  unary decrement operator (--)  Increment dan decrement operator akan menambah dan mengurangi nilai dengan 1.  Contoh, ekspresi berikut ini, count=count + 1; //increment the value of count by 1 adalah sama dengan, count++;

64

65  Operator increment dan decrement dapat diletakkan sebelum atau sesudah operand.  Ketika digunakan sebelum operand, hal ini akan membuat variabel ditambah atau dikurangi dengan nilai 1, dan selanjutnya nilai yang baru akan digunakan pada ekspresi selanjutnya.  Contoh, int i = 10; int j = 3; int k = 0; k = ++j + i; //akan menghasilkan k = 4+10 = 14

66  Ketika operator increment dan decrement diletakkan setelah operand, nilai lama dari variabel akan digunakan pada ekspresi selanjutnya.  Contoh, int i = 10; int j = 3; int k = 0; k = j++ + i; //akan menghasilkan k = 3+10 = 13

67 Gunakanlah ekspresi yang mengandung operator increment dan decrement yang simpel dan mudah dimengerti.

68  Operator relational digunakan untuk membandingkan beberapa nilai dan menentukan hubungan antara nilai-nilai tersebut.  Output dari perbandingan tersebut adalah nilai boolean antara true atau false.

69 public class RelationalDemo{ public static void main(String[] args){ //beberapa angka int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel..."); System.out.println(" i = " +i); System.out.println(" j = " +j); System.out.println(" k = " +k); //lebih besar dari System.out.println("Lebih besar..."); System.out.println(" i > j = "+(i>j));//false System.out.println(" j > i = "+(j>i));//true System.out.println(" k > j = "+(k>j));//false

70 //lebih besar atau sama dengan System.out.println("lebih besar atau sama dengan..."); System.out.println(" i >= j = "+(i>=j));//false System.out.println(" j >= i = "+(j>=i));//true System.out.println(" k >= j = "+(k>=j));//true //lebih kecil System.out.println("lebih kecil..."); System.out.println(" i < j = "+(i

71 //sama dengan System.out.println("sama dengan..."); System.out.println(" i == j = " + (i==j));//false System.out.println(" k == j = " + (k==j));//true //tidak sama dengan System.out.println("tidak sama dengan..."); System.out.println(" i != j = " + (i!=j));//true System.out.println(" k != j = " + (k!=j));//false }

72 Nilai variabel... i = 37 j = 42 k = 42 Lebih besar... i > j = false j > i = true k > j = false Lebih besar atau sama dengan... i >= j = false j >= i = true k >= j = true Lebih kecil... i < j = true j < i = false k < j = false Lebih kecil atau sama dengan... i <= j = true j <= i = false k <= j = true Sama dengan... i == j = false k == j = true Tidak sama dengan... i != j = true k != j = false

73  Logical operator memiliki satu atau dua boolean operand yang akan me- return value tipe boolean.  Ada enam logical operator yaitu:  && (logical AND)  & (boolean logical AND)  || (logical OR)  | (boolean logical inclusive OR)  ^ (boolean logical exclusive OR)  ! (logical NOT)

74 Operasi dasar dari operasi logical adalah, x1 op x2 x1, x2 – dapat sebagai ekspresi boolean, variabel, atau konstanta op – bisa sebagai operator &&, &, ||, | atau ^. berikut ini adalah tabel kebenaran, hasil-hasil dari operasi dari kombinasi nilai dari x1 dan x2.

75 Berikut ini adalah tabel kebenaran untuk && dan &

76  Perbedaan mendasar antara operator && dan &:  && dapat digunakan pada short-circuit evaluation (atau partial evaluation), sedangkan & tidak dapat.  Terdapat sebuah ekspresi: exp1 && exp2  && akan mengecek ekspresi dari exp1, dan selanjutnya akan memberikan nilai false jika exp1 adalah false.  Jika exp1 adalah false, operator tidak mengecek nilai exp2 karena hasilnya akan tetap false tanpa mengetahui nilai exp2.  Sebaliknya, operator & selalu mengecek semua ekspresi antara exp1 dan exp2 sebelum memberikan jawaban.

77 public class TestAND { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh && test = (i > 10) && (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); //contoh & test = (i > 10) & (j++ > 9); System.out.println(i); System.out.println(j); System.out.println(test); }

78  Output program, 0 10 false 0 11 false  Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator && tidak dicek, setelah diketahui bahwa ekspresi (i>10) bernilai false.

79 Berikut ini adalah tabel kebenaran dari || dan |,

80 Perbedaan dasar antara operator || dan |.  || mendukung short-circuit evaluations (atau partial evaluations), sedangkan | tidak. Terdapat sebuah ekspresi: exp1 || exp2  || akan mengecek ekspresi exp1, dan langsung memberikan nilai true jika nilai dari exp1 adalah true.  Jika exp1 true, operator tidak mengecek nilai dari exp2 karena apapun nilai dari exp2 akan tetap menghasilkan nilai true.  Sedangkan operator | akan melakukan pengecekan pada exp1 dan exp2 sebelum memberikan nilai.

81 public class TestOR { public static void main( String[] args ){ int i = 0; int j = 10; boolean test= false; //contoh || test = (i 9); System.out.println(i); System.out.println(j); System.out.println(test); //contoh | test = (i 9); System.out.println(i); System.out.println(j); System.out.println(test); }

82  Output program adalah, 0 10 true 0 11 true  Perlu diperhatikan, bahwa j++ pada baris yang mengandung operator || tidak dicek, setelah diketahui nilai dari ekspresi (i<10) adalah true.

83 Berikut ini adalah tabel kebenaran ^ Hasil dari operasi operasi eksklusif OR adalah TRUE, jika dan hanya jika satu operand yang bernilai true dan operand lain bernilai false. Perlu diperhatikan, bahwa semua operand akan dicek untuk menentukan hasil dari operasi eksklusif OR.

84 public class TestXOR { public static void main( String[] args ){ boolean val1 = true; boolean val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = true; System.out.println(val1 ^ val2); val1 = false; val2 = false; System.out.println(val1 ^ val2); val1 = true; val2 = false; System.out.println(val1 ^ val2); }

85 Output dari program, false true

86 Logical NOT hanya memerlukan satu argumen, argumen tersebut dapat berupa ekspresi, variabel atau konstanta. Berikut ini adalah tabel kebenaran !,

87 public class TestNOT { public static void main( String[] args ){ boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2); } Output dari program adalah, false true

88 Conditional operator ?:  Merupakan ternary operator. Hal ini berarti bahwa diperlukan tiga argumen bersamaan dari sebuah ekspresi conditional.  Struktur dari ekspresi yang menggunakan conditional operator adalah exp1?exp2:exp3 exp1 – adalah ekspresi boolean yang memberikan hasil / nilai true atau false  Hasil: Jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan. Jika false, maka nilai dari exp3 yang diberikan.

89 public class ConditionalOperator { public static void main( String[] args ){ String status = ""; int grade = 80; //Status dari siswa status = (grade >= 60)?"Passed":"Fail"; //Cetak status System.out.println( status ); } Output program: Passed

90

91

92 berikut ini terdapat ekspresi yang kompleks, 6%2*5+4/ ekspresi di atas dapat ditulis ulang ddengan memberikan tanda kurung berdasarkan prioritas operator, ((6%2)*5)+(4/2)+88-10;

93 Untuk menghindari kebingungan pada proses matematika, selalu gunakan ekspresi sederhana dengan menggunakan tanda kurung.

94  Java Comment (C++-Style Comment, C-Style Comment, Special Javadoc Comment)  Java statement, block, identifier, keyword  Java Literal (integer, floating point, boolean, character, String)  Tipe data primitif( boolean, char, byte, short, int, long, float, double)

95  Variabel (deklarasi, inisialisasi, output)  System.out.println() vs. System.out.print()  Reference Variable vs. Primitive Variable  Operator (Arithmetic operator, Increment dan Decrement operator, Relational operator, Logical operator, Conditional Operator (?:), Operator Precedence)


Download ppt "DASAR PEMROGRAMAN. Pada akhir pembahasan, peserta diharapkan dapat:  Mengidentifikasi dasar-dasar program Java  Membedakan beberapa hal yang penting."

Presentasi serupa


Iklan oleh Google