Kegiatan Belajar 3 : PBO | Memahami Dasar dan Aturan PBO (Part 1)

A. Mengenal Token pada Java
    Token adalah elemen terkecil pada program yang mempunyai arti bagi kompilator. Kompilator sendiri memiliki tugas membaca karakter-karakter pada kode sumber dan menerapkan aturan-aturan secara progresif menjadi potongan lebih besar seperti identifier, ekspresi, kalimat, dan kelas. Ketika javac melakukan kompilasi program, kompilator lebih dulu menentukan struktur program. Kompilator membaca karakter-karakter di kode sumber dan menerapkan aturan-aturan secara progresif terhadap potongan yang lebih besar seperti identifier, ekspresi, kalimat, dan kelas. Pada Java, token terdiri atas lima kategori, antara lain.

1.           Identifier

Identifier merupakan token yang mempresentasikan sebuah nama. Nama ini sendiri terdiri dari variabel, konstanta, metode, kelas, paket dan interface. Identifier akan memberikan tanda unik pada kompilator. Dalam membuat identifier terdapat beberapa aturan seperti saat pembuatan variabel.


2.           Keyword

Keyword atau kata kunci acfalah identifier yang digunakan Java untuk suatu tujuan khusus. Kata kunci pada bahasa pemrograman Java antara lain.

3.         Literal

Literal adalah nilai variabel atau atribut atau nilai konstanta atau nilai objek data. Ada 3 besaran literal dalam Java yaitu angka, karakter, dan string.

4.         Operator

Operator merupakan simbol yang digunakan untuk mengoperasikan operand menjadi sebuah ekspresi. Dalam operatorterdapat dua elemen yaitu operator sendiri yang berbentuk simbol dan operand yaitu data yang dioperasikan atau diolah oleh operator.

5.         Separator

Separator merupakari sebuah tanda atau karakter yang memiliki tugas menginformasikan pada kompilator Java mengenai adanya pengelompokan kode program. Berikut beberapa separator yang digunakan pada Java.


B. Tipe Data Dasar pada Java

Dalam bahasa pemrograman tidak dapat dilepaskan dari variabel, konstanta maupun tipe data. Ketiga komponen tersebut merupakan komponen yang akan memengaruhi hasil output nantinya. Dalam bahasa pemrograman C++ sebelumnya kamu telah mempelajari ketiga komponen ini. Tetapi bagaimana pada bahasa pemrograman Java? Adakah perbbdaan antara keduanya?

1. Variabel dan Konstanta pada Java

Perbedaan yang paling dasar dari variabel dan konstanta adalah nilai pada variabel dapat diubah sedangkan pada konstanta tidak. Untuk dapat lebih memahami keduanya, simaklah uraian materi berikutl

a.           Deklarasi Variabel pada Java

Variabel merupakan objek data yang dapat diubah-ubah atau dimanipulasi harga dan nilainya. Sebelum membuat variabel kamu harus mengidentifikasi terlebih dahulu, hal-hal apa saja yang dibutuhkan. Penulisanvariabel dalam bahasa pemrograman menggunakan beberapa aturan, di antaranya sebagai berikut.

1)          Nama variabel tidak boleh menggunakan spasi.

int nilaiSiswa=50;

2)        Diawali dengan huruf a.tau garis bawah dan selanjutnya diikuti oleh huruf atau garis bawah atau angka.

int _hasil=150;

3)        Tidak boleh diawall dengan angka. Blla namn vnrlabel Ingln monHgunakan angka pada awalnya, maka sebelum angka disertakan garis bnwnh ( _ ) terleblh dnhulu.

int nilai_siswa=50;

4)        Tidak boleh mengandung operator aritmatika (-, /, *, +) dan operator relaslonal (>, <,=, !).

5)        Nama variabel juga tidak boleh mengandung tanda baca dan karaktcr-karaktcr khusus, seperti contoh #, @, ?, $ dan lain-lain.

6)        Penggunaan huruf besardan huruf kecii berpengaruh pada pemberlan nama varlabel (case sensltlve). Perhatikan contoh berikut.

int panjang=7;
int Panjang=70;

Apabila variabel yang dipanggil adalah panjang akan menampllkan atau memproses bilangan 7. Sedangkan apabila yang dipanggil adalah Panjang akan menampllkan atau memproses bilangan 70.


7)        Tidak boleh menggunakan kata kunci (keyword) pada bahasa pemrograman Java.

b.         Deklarasi Konstanta pada Java

Konstanta adalah jenis identifier atau pengenal yang bersifat konstan atau tetap, artinya nilai konstanta adalah tidak dapat diubah. Konstanta berguna untuk menentukan nilal yang merupakan tetapan, misalnya nilai phi (n), satua'n dari kecepatan cahaya dan sebagalnya. Konstanta sendiri memiliki aturan penulisan sama seperti dengan variabel. Kontanta pada Java menggunakan kata kunci final. Berikut adalah contoh pendeklarasian konstanta pada Java.


final double PHI = 3.14;
final double CM = 2.54;



2. Tipe Data pada Java

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya ditentukan dengan pasti tipe datanya.

a. Jenis Tipe Data pada Java

Pada bahasa pemrograman Javá sendiri terdapat beberapa jenis tipe data yang dapat digunakan, antara lain.

1) Tipe data sederhana

Tipe data sederhana merupakan tipe data inti pada Java. Tipe data ini juga sering disebut dengan tipe data primitif. Tipe data ini tidak diturunkan dari tipe data lainnya. Berikut beberapa tipe data sederhana.

a)       Tipe data integer

Tipe data integer adalah tipe data.yang terdiri dari angka bulat (tidak mengandung nilai pecahan atau nilai desimal). Tipe data yang masuk menjadi bagian ini adalah byte, short, int, dan long. Semua tipe data ini bersifat signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak seperti tipe data lainnya, Java tidak mendukung tipe data unsignedyang hanya bisa mempresentasikan nilai positif. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan di bawah ini.



b)       Tipe data floating point

Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka desimal di belakang koma/seperti 3.1416, 5.25, dan sebagainya. Bilangan semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan menjadi dua jenls yaitu float dan double. Perhatikanlah tabel berikut ini.


c)       Tipe data karakter

Tipe data karakter merupakan tipe untuk menyatakan sebuah karakter. Java menggunakan karakter Unicode untuk merepresentasikan semua karakteryang ada. Unicode ialah sekumpulan karakteryang terdapat pada semua bahasa, seperti bahasa Latin, Arab, Yunani, dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di berbagai macam platform, maka Java menggunakan karakter Unicode yang membutuhkan ukuran 16-bit. Untuk karakter-karakter yang tidak dapat diketikkan secara langsung melalui keyboard, Java menyediakan beberapa escape sequence (pasangan karakter yang dianggap sebagai karakter tunggal). Escape sequence tidak dianggap sebagai String, melainkan tetap sebagai tipe karakter khusus. Di bawah ini akan dijelaskan beberapa contoh tentang escape sequence.



d) Tipe data boolcan

Jenis tipe dnta ini merupakan tipe data yang bernilai benar'yang ditandai dengan angka 1 dan salah yang ditandai dengan angka 0 yang disebut dengan tipe data boolean yang memíliki syntax boolean yaitu truc atau/o/se. Contoh tipe data boolean yang digunakan untuk penamaan variabel misalnya status kelulusan (lulus dan tidak lulus), status pernikahan (menikah dan belum menikah), atau apapun yang memiliki dua nilai yang bernilai benar dan salah.

2) Tipc data komposit

Tipe data komposit merupakan tipe data yang disusun dari tipe sederhana maupun tipe data komposit lainnya yang telah ada. Berikut adalah beberapa tipe data komposit.

a)         Class

C/oss dapat didefinisikan sebagai cetak biru (blueprint) atau prototipe/kerangka yang mendefinisikan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara method dan data yang mengacu pada suatu objek.

b)        Array

Array merupakan tipe data yang memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif.

c)         Interface       

Intcrface adalah sekumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari methodtersebut berada pada c/ossyang mengimplementasikan interface tersebut. Tipe data yang boleh pada interface hanya tipe data konstan.


b. Konversi dan Casting Tipe Data pada Java

        Definisi dari konversi sendiri adalah mengubah dari satu bentuk ke bentuk yang lain. Pada bahasa pemrograman Java, konversi diterápkan untuk mengubah tipe data. Kapan konversi ini dibutuhkan? Perhatikan ilustrasi berikut ini!

        Berdasarkan Gambar 2.4, dapat terlihat terdapat dua variabel (x dan y) yang memiliki tipe data berbeda yaitu char dan int. Sedangkan terdapat nilai 100 yang memiliki tipe data int. NiUai ini tentunya dapat ditampung oleh variabel y tetapi untuk dapat ditampung pada variabel x nilai tersebut harus di konversi terlebih dahulu. Untuk dapat lebih memahami mengenai konversi dan casting, perhatikan uraian materi berikut!

1) Konversi menggunakan fungsi integer.parseInt() dan fungsi valueOf()

        Konversi adalah pemberian nilai kepada variabel yang berbeda tipe datanya. Terdapat dua fungsi pada konversi. Pada fungsi ini digunakan untuk mengalkulasi operand bertipe string lalu menyimpannya sebagai integer. Padahal Integer sendiri tidak mengizinkan kalkulasi dengan tipe data string maka untuk mengantisipasinya kita dapat mengonversinya. Bagaimana cara menggunakan fungsi ini? Perhatikanlah contoh berikut ini!


        Berdasarkan contoh di atas dapat terlihat fungsi yang digunakan adalah untuk mengubah tipe data string (nilaiAwal) menjadi integer (nilaiAkhir). Apabila tipe data tidak dikonversi, maka pada saat proses penjumlahan dengan bilangan 250 tidak akan menghasilkan nilai yang tepat. Hasil dari kode program di atas dapat dilihat pada Gambar 2.5.

        Berdasarkan Gambar 2.5 dapat terlihat, nllai awal sebelum dikonversl ndalah "50Ö250" sehlngga hasilnya tidak tepat (Karena nilai 500+250 seharusnya bernllal 750). Totapl setelnh dlkonversi, maka hasilnya tepat yaltu "750", fungsi Ini cara penggunaannya sama dengan fungsl integer.parseint(). llntuk lebih jelasnya, perhatikanlah contoh kode program berikut!



2) Costing

Casting adalah saat melakukan konversi antartipe yang tipenya tidak kompatibel, tidak dapat mengonversi secara otomatis maka dibutuhkan casting. Di dalam Java, casting dibedakan menjadi dua tipe widening casting (konversi otomatis) dan narrowing casting (konversi tipe data yang tidak kompatibel). Perhatikan contoh berikut!

Kode program di atas merupakan narrowing costing dimana konversi dilakukan dari double ke integer. Hasil yang dimiliki seperti Gambar 2.6.

Berdasarkan Gambar 2.6 dapat terlihat bahwa tipe data integer merupakan tipe bilangan bulat. Sehingga setelah dikonversi hasilnya menjadi bulat yaitu 25.














Post a Comment

13 Comments