DIMOHON KEHADIRAN SISWA-SISWI KELAS XII KE SEKOLAH PADA: HARI : SABTU TANGGAL : 29 JUNI 2012 PUKUL : 07.00 WIB ACARA : CAP 3 JARI IJAZAH DEMIKIAN PEMBERITAHUAN SUPAYA DISEBARLUASKAN KE TEMAN-TEMAN YANG LAINNYA
Senin, 24 Juni 2013
PENGUMUMAN KELAS XII SMAK DIPONEGORO BLITAR TAHUN PELAJARAN 2012/2013
DIMOHON KEHADIRAN SISWA-SISWI KELAS XII KE SEKOLAH PADA: HARI : SABTU TANGGAL : 29 JUNI 2012 PUKUL : 07.00 WIB ACARA : CAP 3 JARI IJAZAH DEMIKIAN PEMBERITAHUAN SUPAYA DISEBARLUASKAN KE TEMAN-TEMAN YANG LAINNYA
Jumat, 07 Juni 2013
PEMBERITAHUAN TERAKHIR UNTUK SISWA REMIDI TIK KELAS X-A S.D X-C
| No | Kelas | No Absen | Nama | UH-1 | UH-2 | Ulangan Semester |
| 1 | X-A | 1 | Ade Faisal | V | V | V |
| 2 | X-A | 4 | Birgita Dara Maulidya H | V | ||
| 3 | X-A | 11 | Dita Ayu Anggraini | V | ||
| 4 | X-A | 12 | Elmyana Sukma Ningrum | V | V | |
| 5 | X-A | 20 | Maria Ajeng Huyun | V | ||
| 6 | X-A | 22 | Mei Lusiani | V | V | |
| 7 | X-A | 26 | Rex Richard Sanjaya | V | ||
| 8 | X-A | 27 | Ruth Febriani Hasugian | V | ||
| 9 | X-A | 31 | Wahyu Novitha Sari | V | ||
| 10 | X-B | 7 | Bella Agustine Yullyana P. | V | ||
| 11 | X-B | 8 | Beni Krisna Bayu | V | ||
| 12 | X-B | 9 | Catarina Anggi Darmastuti | V | ||
| 13 | X-B | 10 | Diana | V | ||
| 14 | X-B | 13 | Ela Yustiyan | V | ||
| 15 | X-B | 16 | Jessica Intania | V | ||
| 16 | X-B | 17 | Lisinia Arumjaya Shinta | V | ||
| 17 | X-B | 18 | Mega Dwi Astari Poetri | V | ||
| 18 | X-B | 19 | Meidita | V | V | |
| 19 | X-B | 21 | Novi Dwi Rengganis | V | V | |
| 20 | X-B | 25 | Sinta Baharanti | V | V | |
| 21 | X-B | 26 | Sonia Paramita Nasution | V | V | |
| 22 | X-B | 28 | Tri Wulandari | V | V | V |
| 23 | X-B | 29 | Wenseslaus Salivian K. S | V | V | |
| 24 | X-B | 32 | Olgha Yudha Andiany | V | ||
| 25 | X-B | 33 | Berryto Prio Utomo | V | ||
| 26 | X-C | 17 | New Arita Sari | V | ||
| 27 | X-C | 20 | Putri A Notanobun | V | ||
| 28 | X-C | 31 | Galih Rahayu Lestari | V | V | |
- Untuk mengerjakan soal Remidi klik pada tanda V
- Soal Remidi UH-1 dan UH-2 saya perpanjang sampai tanggal 7 Juni 2013 Pukul 23.00 WIB.
- Soal Remidi Ulangan Semester bisa anda Download sampai tanggal 7 Juni 2013 dan saya perpanjang pengumpulannya paling lambat tanggal 8 Juni 2013 Pukul 11.00 di lab Komputer
- Jika sampai batas waktu yang telah kami tentukan tidak mengumpulkan dan atau mengerjakan Ulangan Remidi maka nilai TIK dibawah KKM.
Rabu, 05 Juni 2013
PEMBERITAHUAN KELAS XII SMAK DIPONEGORO BLITAR 2012/2013
Sehubungan dengan keterlambatan blangko Ijazah dan SKHU diterima sekolah yang rencana Cap 3 Jari tanggal 7 Juni 2013 ditunda sampai ada pemberitahuan berikutnya. Terimakasih atas perhatiannya dan mohon untuk disebarluaskan ke teman2 kelas XII lainnya...
Selasa, 04 Juni 2013
Kejanggalan pada Kurikulum 2013
Peneliti ICW, Siti Juliantari Rachman, mengatakan bahwa pihaknya telah melakukan investigasi terkait proses perubahan kurikulum pendidikan ini. Dari investigasi terhadap berbagai narasumber ini, ditemukan delapan kejanggalan pada kurikulum 2013 yang menimbulkan berbagai pertanyaan.
"Perubahan kurikulum ini aneh. Selain tergesa-gesa, ada juga kejanggalan dari penyusunannya, guru, buku bahkan anggaran," kata Tari saat jumpa pers Kejanggalan Kurikulum 2013 di Kantor ICW, Kalibata, Jakarta, Jumat (15/2/2013).
Kejanggalan pertama adalah pemerintah menggunakan logika terbalik dalam perubahan kurikulum pendidikan. Pemerintah justru mengubah kurikulum terlebih dahulu baru diikuti dengan revisi Peraturan Menteri dan Peraturan Pemerintah.
"Harusnya kan pemerintah merevisi PP tentang standar nasional pendidikan dulu baru menyusun kurikulum baru. Ini sekarang standar nasional pendidikan justru mengikuti kurikulum 2013," jelas Tari.
Kejanggalan kedua adalah pemerintah tidak konsisten dengan Rencana Pembangunan Jangka Menengah Nasional (RPJMN). Proses perubahan kurikulum ini justru terlihat tidak terencana dan tidak terstruktur. Akibat perubahan kurikulum di luar RPJMN adalah anggaran yang ikut tidak pasti.
Masalah anggaran ini menjadi kejanggalan ketiga dalam kurikulum 2013 ini. Sudah pernah disebut bahwa anggaran perubahan kurikulum ini tidak pernah sama. Pada paparan pertama kepada Dewan Perwakilan Rakyat (DPR), pemerintah menyebutkan anggaran kurikulum sebesar Rp 684 miliar. Namun kemudian berubah menjadi Rp 1,4 triliun dan naik kembali menjadi Rp 2,49 triliun.
Kemudian kejanggalan keempat adalah tidak ada evaluasi komprehensif terhadap KTSP yang dapat menjadi landasan adanya perubahan kurikulum ini. Selanjutnya kejanggalan kelima adalah panduan kurikulum yang malah membelenggu kreativitas dan inovasi guru serta penyeragaman konteks lokal.
"Semuanya disediakan pusat. Guru jadi terbatas dalam mengembangkan kreativitas dan konteks lokal kan berbeda tidak bisa diseragamkan," jelas Tari.
Kejanggalan keenam adalan target training master teacher yang terlalu ambisius. Hal ini mengacu pada durasi pelatihan dan jumlah guru yang akan dilatih cukup besar. Kejanggalan ketujuh adalah bahan perubahan kurikulum yang disampaikan pemerintah berbeda-beda.
"Tidak ada dokumen pasti. Pemerintah hanya memperlihatkan powerpoint saja yang terus bisa ditambah jika ada kekurangan. Jadinya dokumen berubah terus tidak pasti," ujar Tari.
Kejanggalan terakhir adalah persiapan buku yang jauh dari selesai. Buku yang disiapkan untuk siswa dan guru baru selesai 50 persen. Bahkan untuk jenjang Sekolah Menengah Pertama (SMP) dan Sekolah Menengah Atas (SMA) buku yang siap baru buku Sejarah dan Matematika saja.
Editor : Caroline Damanik
sumber : KOMPAS.com
Selasa, 28 Mei 2013
DAFTAR KOLEKTIF HASIL UJIAN NASIONAL SMAK DIPONEGORO BLITAR 2012/2013
DAFTAR KOLEKTIF HASIL UJIAN NASIONAL
SMAK DIPONEGORO BLITAR
TAHUN PELAJARAN 2012/2013
Rabu, 22 Mei 2013
Soal Ulangan Perbaikan Harian 1 Semester 2 Kelas X-A s.d. X-C
Soal Ulangan Perbaikan Harian 1 Semester 2 Kelas X-A s.d. X-C
Untuk mengerjakan Ulangan Perbaikan Harian 1 Semester 2 Kelas X-A s.d X-C silahkan klik disini
Jumat, 03 Mei 2013
Mengenal istilah 32-bit dan 64-bit pada komputer
Kita sering mendengar istilah 32-bit atau 64-bit pada komputer, itu
maksudnya apa? Tulisan berikut ini mencoba menjelaskan tenant pegertian
32-bit dan 64-bit pada komputer. 32-bit dan 64-bit mengacu pada
arsitektur processor. Processor 32-bit artinya register2 nya (unit
penyimpanan data terkecil di dalamnya) berukuran 32 bit. Processor
64-bit artinya register2 nya berukuran 64 bit.
( Register2 inilah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register “eax” akan me-load nilai dari “a” (di memory), kemudian pada register “eax” ditambahkan nilai dari “b”, lalu “eax” ditulis ke memory pada posisi variabel “c” )
Pengaruh ukuran register terhadap kecepatan:
Setiap proses baca/tulis dari memory (disebut dengan load/store) membaca/menulis informasi sebesar ukuran register; maka register 64-bit potensial membaca/menulis memory 2x kecepatan register 32-bit.
Tapi ini teoretis saja, karena kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain load/store, seperti pemrosesan matematis, vector-processing, dll.
Pengaruh ukuran register terhadap presisi:
Secara simplistik: Makin panjang register, makin banyak angka di-belakang-koma yang bisa dihitung secara akurat.
Sebagai gambaran: Misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi).
Pengaruh ukuran register terhadap ukuran memori:
Salah satu dari sekian banyak register adalah “addressing register”. Addressing register (atau registers, kalau lebih dari satu) adalah register yang memiliki fungsi ‘menunjuk’ ke alamat tertentu dalam memory. Jangkauan (range) penunjukan ini disebut dengan istilah memory space.
Pada arsitektur 32-bit, addressing registers mampu ‘menunjuk’ posisi memory dari 0 s/d 4′294′967′295 (4 GiB – 1). Inilah yang mengakibatkan muncul “batasan 4 GiB” pada sistem berbasis arsitektur 32-bit.
Pada arsitektur 64-bit, addressing registers mampu ‘menunjuk’ posisi memory dari 0 s/d 18′446′744′073′709′551′615 (16 EiB – 1). Seperti kita lihat, tidak ada lagi ‘batasan 4 GiB’ pada sistem berbasis arsitektur 64-bit.
Pengaruh ukuran register terhadap dataset:
“Dataset” adalah istilah untuk ’seperangkat data yang di-load ke dalam memory untuk diproses dan (optionally) ditulis kembali ke hard disk’.
Sistem 32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB – 1). Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja.
Artinya, sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam konteks perusahaan besar), harus diproses 10~20x.
Sistem 64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja.
Agar kita dapat memperoleh keunggulan sistem 64-bit, maka baik software dan hardware harus mendukung.
Software 32-bit jalan di hardware 64-bit tidak bisa memanfaatkan kelebihan arsitektur 64-bit. (Software hanya akan menggunakan 32-bit saja dari 64-bit yang tersedia; 32-bit sisanya tidak dikenali) ==> disebut mode 32-bit.
Sebaliknya, software 64-bit tidak bisa jalan di hardware 32-bit karena kebutuhannya akan lebar register 64-bit tidak bisa dipenuhi.
Windows XP 32-bit dan Windows Vista 32-bit adalah 2 sistem operasi yang masih beroperasi di mode 32-bit.
Windows XP 64-bit dan Windows Vista 64-bit adalah 2 sistem operasi yang mampu beroperasi di mode 64-bit.
AMD64 adalah terobosan (breakthrough) AMD dalam dunia processor x86.
Dahulu hingga prosesor Pentium 3, Intel bersikukuh menggunakan hanya arsitektur 32-bit pada processor x86. Intel menghabiskan uang jutaan dollar untuk mengembangkan arsitektur 64-bit yang samasekali baru (artinya: tidak kompatibel dengan dunia x86) dalam bentuk Intel ITANIUM.
AMD kemudian mengembangkan instruction set (dan arsitektur) dari processor x86 yang dibuatnya (AthlonXP) sehingga lahirlah Athlon64: Processor x86 yang memiliki arsitektur 64-bit.
Instruction set yang diperluas ini disebut AMD64 oleh AMD. Intel terpaksa melakukan cross-license, dan menggunakan instruction set tersebut juga (tapi dengan nama EMT64, bukan AMD64. Biasalah, masalah corporate pride…)
Saya tidak yakin dengan Mac OS X.
Tetapi Linux memiliki versi 32-bit dan versi 64-bit.
Contoh, Ubuntu yang ada di ftp://dl2.foss-id.web.id/iso/ubuntu/releases/hardy/
Ada versi AMD64 (64-bit) dan ada versi i386 (32-bit)
Kelebihan dan kekurangan?
Kita sudah melihat kelebihan dari arsitektur 64-bit. Sekarang kekurangannya:
Banyak Software 32-bit yang tidak bisa jalan di arsitektur 64-bit, khususnya driver.
Mengapa bisa begitu?
Komputer adalah benda yang sangat kompleks. Untuk bisa berguna bagi manusia, komputer perlu melakukan apa yang disebut “Input/Output” (I/O). Contoh I/O adalah kirim/terima data via LAN, kirim gambar ke Monitor via VGA Card, dll.
Nah, semua tindakan I/O membutuhkan buffer. Sebagai contoh, kita kenal “memory VGA” pada VGA Card; itu sebetulnya adalah buffer untuk membantu VGA Card menampilkan gambar di monitor.
Masalahnya, agar I/O bisa berlangsung dengan mulus dan cepat, ‘buffer’ ini perlu mendapatkan alamat. Dan alamat ini di ambil dari memory space. Hal ini terjadi meskipun komponen pelaksana I/O ini memiliki buffernya sendiri (contoh: VGA Card terbaru dari nVidia / ATI biasanya punya minimal 256 MiB RAM pada card nya). Tetap saja memori pada card tersebut akan dipetakan ke memory space.
Agar tidak bentrok dengan Sistem Operasi, yang biasanya di-load ke dalam memory ‘rendah’ (Bottom Memory = memory dengan alamat kecil), maka biasanya pemetaan buffer ini dilakukan di memory ‘tinggi’ (Top Memory = memory dengan alamat besar, atau dihitung mundur dari alamat memori terbesar (2^32)-1)
Catatan: Ini juga alasan yang menyebabkan RAM komputer kalau terpasang 4 GiB hanya akan bisa dipakai Max 3,25 GiB (atau kalau untung 3,5 GiB), ada yang ‘hilang’ karena ‘tertutupi’ oleh buffer dari komponen I/O.
Nah, pada arsitektur 64-bit, hal yang sama pun dilakukan: Buffer untuk I/O dipetakan ke Top Memory. Masalahnya, Top Memory pada arsitektur 64-bit jelas terletak pada posisi yang berbeda dengan Top Memory pada arsitektur 32-bit.
Driver adalah korban yang paling jelas; mereka berusaha mengakses Top Memory 32-bit, padahal lokasi buffer tidak di situ. Akibatnya: Crash.
Software2 lain yang juga coba-coba mengakses Top Memory secara langsung akan mengalami crash juga.
Lucunya, banyak game 32-bit yang malah jalan dengan tanpa masalah di sistem 64-bit; hal ini karena mereka tidak berusaha mengakses Top Memory secara langsung, melainkan meminta bantuan Microsoft DirectX Layer untuk mengakses fitur dari sebuah VGA Card.
Sumber
( Register2 inilah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register “eax” akan me-load nilai dari “a” (di memory), kemudian pada register “eax” ditambahkan nilai dari “b”, lalu “eax” ditulis ke memory pada posisi variabel “c” )
Pengaruh ukuran register terhadap kecepatan:
Setiap proses baca/tulis dari memory (disebut dengan load/store) membaca/menulis informasi sebesar ukuran register; maka register 64-bit potensial membaca/menulis memory 2x kecepatan register 32-bit.
Tapi ini teoretis saja, karena kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain load/store, seperti pemrosesan matematis, vector-processing, dll.
Pengaruh ukuran register terhadap presisi:
Secara simplistik: Makin panjang register, makin banyak angka di-belakang-koma yang bisa dihitung secara akurat.
Sebagai gambaran: Misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi).
Pengaruh ukuran register terhadap ukuran memori:
Salah satu dari sekian banyak register adalah “addressing register”. Addressing register (atau registers, kalau lebih dari satu) adalah register yang memiliki fungsi ‘menunjuk’ ke alamat tertentu dalam memory. Jangkauan (range) penunjukan ini disebut dengan istilah memory space.
Pada arsitektur 32-bit, addressing registers mampu ‘menunjuk’ posisi memory dari 0 s/d 4′294′967′295 (4 GiB – 1). Inilah yang mengakibatkan muncul “batasan 4 GiB” pada sistem berbasis arsitektur 32-bit.
Pada arsitektur 64-bit, addressing registers mampu ‘menunjuk’ posisi memory dari 0 s/d 18′446′744′073′709′551′615 (16 EiB – 1). Seperti kita lihat, tidak ada lagi ‘batasan 4 GiB’ pada sistem berbasis arsitektur 64-bit.
Pengaruh ukuran register terhadap dataset:
“Dataset” adalah istilah untuk ’seperangkat data yang di-load ke dalam memory untuk diproses dan (optionally) ditulis kembali ke hard disk’.
Sistem 32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB – 1). Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja.
Artinya, sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam konteks perusahaan besar), harus diproses 10~20x.
Sistem 64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja.
Agar kita dapat memperoleh keunggulan sistem 64-bit, maka baik software dan hardware harus mendukung.
Software 32-bit jalan di hardware 64-bit tidak bisa memanfaatkan kelebihan arsitektur 64-bit. (Software hanya akan menggunakan 32-bit saja dari 64-bit yang tersedia; 32-bit sisanya tidak dikenali) ==> disebut mode 32-bit.
Sebaliknya, software 64-bit tidak bisa jalan di hardware 32-bit karena kebutuhannya akan lebar register 64-bit tidak bisa dipenuhi.
Windows XP 32-bit dan Windows Vista 32-bit adalah 2 sistem operasi yang masih beroperasi di mode 32-bit.
Windows XP 64-bit dan Windows Vista 64-bit adalah 2 sistem operasi yang mampu beroperasi di mode 64-bit.
AMD64 adalah terobosan (breakthrough) AMD dalam dunia processor x86.
Dahulu hingga prosesor Pentium 3, Intel bersikukuh menggunakan hanya arsitektur 32-bit pada processor x86. Intel menghabiskan uang jutaan dollar untuk mengembangkan arsitektur 64-bit yang samasekali baru (artinya: tidak kompatibel dengan dunia x86) dalam bentuk Intel ITANIUM.
AMD kemudian mengembangkan instruction set (dan arsitektur) dari processor x86 yang dibuatnya (AthlonXP) sehingga lahirlah Athlon64: Processor x86 yang memiliki arsitektur 64-bit.
Instruction set yang diperluas ini disebut AMD64 oleh AMD. Intel terpaksa melakukan cross-license, dan menggunakan instruction set tersebut juga (tapi dengan nama EMT64, bukan AMD64. Biasalah, masalah corporate pride…)
Saya tidak yakin dengan Mac OS X.
Tetapi Linux memiliki versi 32-bit dan versi 64-bit.
Contoh, Ubuntu yang ada di ftp://dl2.foss-id.web.id/iso/ubuntu/releases/hardy/
Ada versi AMD64 (64-bit) dan ada versi i386 (32-bit)
Kelebihan dan kekurangan?
Kita sudah melihat kelebihan dari arsitektur 64-bit. Sekarang kekurangannya:
Banyak Software 32-bit yang tidak bisa jalan di arsitektur 64-bit, khususnya driver.
Mengapa bisa begitu?
Komputer adalah benda yang sangat kompleks. Untuk bisa berguna bagi manusia, komputer perlu melakukan apa yang disebut “Input/Output” (I/O). Contoh I/O adalah kirim/terima data via LAN, kirim gambar ke Monitor via VGA Card, dll.
Nah, semua tindakan I/O membutuhkan buffer. Sebagai contoh, kita kenal “memory VGA” pada VGA Card; itu sebetulnya adalah buffer untuk membantu VGA Card menampilkan gambar di monitor.
Masalahnya, agar I/O bisa berlangsung dengan mulus dan cepat, ‘buffer’ ini perlu mendapatkan alamat. Dan alamat ini di ambil dari memory space. Hal ini terjadi meskipun komponen pelaksana I/O ini memiliki buffernya sendiri (contoh: VGA Card terbaru dari nVidia / ATI biasanya punya minimal 256 MiB RAM pada card nya). Tetap saja memori pada card tersebut akan dipetakan ke memory space.
Agar tidak bentrok dengan Sistem Operasi, yang biasanya di-load ke dalam memory ‘rendah’ (Bottom Memory = memory dengan alamat kecil), maka biasanya pemetaan buffer ini dilakukan di memory ‘tinggi’ (Top Memory = memory dengan alamat besar, atau dihitung mundur dari alamat memori terbesar (2^32)-1)
Catatan: Ini juga alasan yang menyebabkan RAM komputer kalau terpasang 4 GiB hanya akan bisa dipakai Max 3,25 GiB (atau kalau untung 3,5 GiB), ada yang ‘hilang’ karena ‘tertutupi’ oleh buffer dari komponen I/O.
Nah, pada arsitektur 64-bit, hal yang sama pun dilakukan: Buffer untuk I/O dipetakan ke Top Memory. Masalahnya, Top Memory pada arsitektur 64-bit jelas terletak pada posisi yang berbeda dengan Top Memory pada arsitektur 32-bit.
Driver adalah korban yang paling jelas; mereka berusaha mengakses Top Memory 32-bit, padahal lokasi buffer tidak di situ. Akibatnya: Crash.
Software2 lain yang juga coba-coba mengakses Top Memory secara langsung akan mengalami crash juga.
Lucunya, banyak game 32-bit yang malah jalan dengan tanpa masalah di sistem 64-bit; hal ini karena mereka tidak berusaha mengakses Top Memory secara langsung, melainkan meminta bantuan Microsoft DirectX Layer untuk mengakses fitur dari sebuah VGA Card.
Sumber
Selasa, 30 April 2013
Sabtu, 09 Februari 2013
Mengenal Java
Mengenal Java
Java adalah sebuah platform teknologi pemrograman yang
dikembangkan oleh Sun Microsystem. Pertama kali di-release tahun
1991 dengan nama kode Oak. Kemudian tahun 1995 nama kode Oak diganti menjadi Java. Yang memotivasi Java dibuat
adalah untuk membuat sebuah bahasa pemrograman yang portable dan independent
terhadap platform (platform independent).
Java dapat membuat perangkat lunak yang dapat ditanamkan (embedded) pada berbagai mesin dan peralatan konsumer, seperti
handphone, microwave, remote control, dan lain-lain. Hal ini kemudian
Java memiliki konsep yang disebut write
once run anywhere.
Untuk membangun perangkat lunak menggunakan Java maka
dibutuhkan Java Development Kit (JDK). JDK release pertama tahun 1996 yaitu JDK
1.1 yang diadopsi oleh Netscape. JDK terbaru sekarang (September-tahun 2004,
ketika modul ini ditulis) adalah JDK 1.4.2_3. Semua program dan dokumentasi dari JDK ini
bisa di-dwonload secara gratis disitus www.sun.java.com.
Karakteristik Java
Sintaks
Java merupakan pengembangan dari bahasa C/C++. Berikut adalah beberapa hal
tentang pemrograman Java:
- Bersifat protable dan platform independent. Program Java yang telah ditulis akan dapat dieksekusi di mesin apapun dan sistem operasi apapun tanpa harus mengubah sedikitpun dari program tersebut.
- memiliki garbage collection yang dapat mendealokasikan memori secara otomatis.
- menghilangkan sifat pewarisan berganda yang terdapat pafa C++.
- Mengurangi pointer aritmetika. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinakn program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkinan kesalahan seperti ini penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
- memiliki array sejati.
- mengurangi kerancuan antara pemberian nilai pada statement conditional.
Selain itu Java memiliki karakteristik:
- Berorientasi Objek
- Robust
- Portable
- Multithreading
- Dinamis
- Sederhana
- Tredistribusi
- Aman
- Netral secar arsitektur
- Interpreter
- Berkinerja tinggi
- free / bebas licence
Pengenalan Objek: Paradigma Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (PBO)
Pemrograman
Berorientasi Objek dimulai pertama kali dengan bahasa Simula yang dikembangkan
di Scandinavia di pertengahan tahun 60-an. Simula utamanya digunakan untuk
pemrograman simulasi, dimana adalah alamiah untuk memodelkan suatu entitas
eksternal / diluar sistem perangkat lunak dan untuk memilih istilah-istilah
untuk entitas-entitas tersebut dan tingkah lakunya. Simula memiliki sintak yang
mirip dengan Pascal, tetapi programmer berfikir sedikit lebih berbeda ketika
merancang suatu program yang akan dibuat dengan Simula. Sebuah ide dasar yang
diperkenalkan dalam Simula adalah inheritance
(pewarisan). Dalam Simula juga sudah dikenal objek (entitas) yang ada dalam
sistem yang dimodelkan. Ada beberapa objek yang dikumpulkan kemudian disebut
”Class”, dan tugas utama dari seorang perancang program dengan Simula adalah
menentukan behaviour dari class tersebut.
Setelah
Simula, bahasa berikutnya yang diketahui mendukung untuk mengadopsi pemrograman
berorientasi objek adalah Smalltalk yang dikembangkan tahun 70-an di Xerox
PARC. Simula dan Smalltalk dirancang secara elegan, dan menawarkan sejumlah
konep yang powerful yang memudahkan untuk dipelajari.
Abstraksi
Abstraksi
adalah suatu cara melihat suatu objek dalam bentuk yang sederhana. Sebagai
contoh jika kita melihat sepeda motor. Kita tidak perlu melihat susunan
komponen mesin dan dukungan elektriknya yang cukup kompleks dan rumit, namun
kita bisa melihat sepeda motor itu sebagai sebuah entitas / satuan tunggal
(single entity) yang merupakan sebuah objek yang mempunyai sifat dan
karakteristik tersendiri. Dengan pemikiran yang sederhana ini maka ketika kita
mengendarai sepeda motor tersebut kita tidak perlu tahu betapa rumit komponen
dan rangkaian yang menyusun sepeda motor. Karena untuk mengendarai sepeda motor
yang perlu diketahui adalah bagaimana sepeda motor itu bisa dikendalikan.
Sehingga
dengan konsep abstraksi ini kita bisa melihat suatu sistem yang kompleks yang
terdiri dari subsistem-subsistem yang rumit dan banyak bisa dipandang menjadi
sebuah paket sistem yang sederhana.
Pemahaman
objek disekitar kita inilah yang akan mendasari pemahaman tentang pemrograman
berorientasi objek. Yang paling penting adalah bagaimana mentransformasikan apa
yang anda ketahui tentang suatu objek menjadi suatu program.
Elemen sebuah Objek: state dan behaviour
Setiap objek selalu memiliki state dan behaviour yang
dapat mengubah state tersebut.
Sebagai contoh manusia memiliki state: umur, tinggi, berat dan sebagainya.
Demikian pula manusia memiliki behaviour: menua, meninggi, makan (menambah
berat badan) dan sebagainya. Behaviour juga dapat tidak mengubah sama sekali
state dari objek tersebut, baik secara langsung maupun tidak langsung. Secara
sederhana state bisa dianggap sebagai suatu kata benda karena sifatnya yang
pasif, benda tersebut tidak melakukan operasi tetapi justru menjadi target atau
bahan operasi. Demikian pul behaviour bisa dianggap sebagai kata kerja, karena
ia berfungsi untuk menujukkan operasi apa yang dilakukan.
Konsep Pemrograman Berorientasi Objek
Ciri khas pemrograman berorintasi objek adalah: Enkapsulasi,
Pewarisan dan Polymorphism.
Enkapsulasi
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau
memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari
luar sistem sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur
sedemikian rupa melalui seperangkat interface. Contoh kasus sepeda motor tadi,
pada sistem pemindahan gigi transmisi, maka pengendara tidak perlu tahu detail
dari bagaimana proses pemindahan gigi itu dilakukan oleh mesin, cukup tahu bagaimana
menekan gigi transmisi itu. Pedal gigi transmisi yang diinjak pengendara itu
merupakan interface (antar muka) pengendara dengan sistem transmisi sepeda
motor.
Dalam bahasa Java segala sesuatu adalah objek (everything is object). Setiap baris program
yang ditulis programmer adalah merupakan bagian dari sebuah objek. Programmer
juga dapat membangun sebuah objek yang disusun oleh objek-objek kecil, dimana
masing-masing objek yang menyusunnya memiliki fungsi sendiri-sendiri.
Pewarisan (Inheritance)
Sebagai manusia kita sebenarnya terbiasa untuk melihat objek
yang berada disekitar kita tersusun secara hierarki berdasarkan class-nya
masing-masing. Dari sini kemudian timbul suatu konsep tentang pewarisan yang
merupakan suatu proses dimana suatu class diturunkan dari class lainnya
sehingga ia mendapatkkan cirri atau sifat dari class tersebut.
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah,
class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang
dimiliki oleh binatang, demikian halnya juga Anjing, kucing dan Monyet memiliki
seluruh sifat yang diturunkan dari class mamalia. Dengan konsep ini,
karakteristik yang dimiliki oleh class binatang cukup didefinisikan
didefinisikan dalam class binatang saja. Class mamalia tidak perlu
mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena
sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang
secara otomatis. Demikian juga dengan class anjing, kucing dan monyet, hanya
perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya
masing-masing. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka
hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari
class darimana ia diturunkan.
Polymorphism
Polymorphism berasal dari bahasa Yunani yang berarti banyak
bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang
sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin
secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum
sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran
terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface
kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem. Jika
seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu,
maka orang itu akan dapat mengemudikan hamper semua jenis mobil yang ada,
karena semua mobil tersebut menggunakan interface yang sama. Harus diperhatikan
disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Missal
pedal gas, jika ditekan maka kecepatan mobil akan meningkat, tapi bagaiman
proses peningkatan kecepatan ini dapat berbeda-beda untuk setiap jenis mobil.
Instalasi Java
Pada
bagian ini akan dibahas langkah-langkha untuk instalasi dan konfigurasi Java
Development Kit (JDK):
- Mulai dari windows explorer double click pada icon j2sdk-1.4.2.win didirektori yang berisi program-program pendukung Java.
- berikutnya adalah tahapan-tahapan yang harus diperhatikan sesuai dengan kotak dialog yang muncul.
- pada pilihan komponen-komponen, pilihlah sesuai dengan kebutuhan yang diinginkan untuk diinstalasi.
- pilihlah juga direktori yang diinginkan untuk tempat instalasi JDK, misal di C:\Java.
- setelah itu proses instalasi akan berlangsung, tunggulah hingga selesai.
- jika instalasi telah lengkap / selesai maka akan muncul kotak dialog yang menunjukkan bahwa instalasi komplit.
- langkah berikutnya, biasanya instalasi JDK akan menghasilkan library yang dibutuhkan masih dalam bentuk file yang terkompres, yaitu src.zip, maka yang harus dilakukan adalah men-decompress file itu dengan winzip atau extractor yang lainnya.
- hal yang perlu disetting selanjutnya adalah classpath, java home dan path. Untuk setting ketiganya adalah sebagai berikut:
- untuk system operasi windows 98 maka setting dilakukan di autoexec.bat dengan menuliskan sintaks sebagai berikut : misal java diinstalasi di c:\java
PATH = C:\java\bin
CLASSPATH =
c:\java\lib\tools.jar;c:\java\ext\lib\rt.jar
JAVA_HOME = c:\java
Untuk system operasi windows 2000
atau windows XP, maka bisa di-setting melalui Environment Variable.
Sintaks Bahasa dan Tipe Data
Contoh
program yang sederhana
Setelah
mendapatkan gambaran yang cukup mengenai dasar-dasar PBO, kini saatnya memasuki
dunia Java yang sebenarnya. Berikut adalah sebuah contoh program yang
sederhana:
/*
contoh program Java sederhana
------------------------------------------
*/
class sederhana {
//awal program selau dimulai dari main()
public static void
main(String[] args) {
System.out.println(“Hello
…. Ini Program Pertamaku”);
}
}
Hal yang
perlu dicatat:
Java
bersifat case sensitive. Huruf besar dan kecil adalah berbeda dalam Java,
karena itu pastikan anda mengetik kode diatas sama persis, tanpa mengubah besar
kecil hurufnya. Selain itu dalam Java white space seperti karakter spasi, tab,
pindah baris dan karakter lainnya yang berfungsi untuk memformat tampilan,
tidak memiliki arti apapun selain untuk memudahkan programmer membaca kode yang
ditulis. Karena itu karakter white space dapat digunakan sesukanya untuk
memudahkn programmer membacanya.
Ketik
program diatas dengan menggunakan text editor (misalnya notepad, atau di linux
dengan gedit) dan simpan dengan nama sederhana.java. nama file ini harus sama
dengan nama class. Kemudian lakukan kompilasi dengan mengetikkan perintah di
c-prompt:
C:\javawork> javac sederhana.java
Jika
berhasil, hasil kompilasi ini akan membangkitkan sebuah bytecode dengan nama
file sederhana.class. untuk mengeksekusi file ini maka bisa menggunakan
perintah:
C:\javawork> java sederhana
Hasil
dari eksekusi tersebut maka akan menghasilkan tampilan :
Hello .... Ini Program Pertamaku
Penjelasan Program
Program
diatas merupakan program paling sederhana, namun memiliki beberapa bagian
penting.
/*
contoh program Java
sederhana
------------------------------------------
*/
bagian
ini merupakan bagian yang dikenal sebagai komentar. Komentar dalam Java seperti
halnya dalam pemrograman yang lainnyabukan merupakan bagain dari program.
Karenanya komentar ini tidak akan dikompilasi oleh compiler Java dan tidak akan
mempengaruhi alur program. Komentar ini lebih diperuntukkan untuk memperjelas
source code yang ditulis sehingga kode program dapat lebih mudah untuk diteliti
ualng atau dibaca. Komentar harus selalu ditulis diantara tanda /* dan
*/.
class sederhana
baris ini
mendeklarasikan sebuah class dengan nama sederhana. Jika diperhatikan keseluruhan
deklarasi class ini diawali dengan { dan diakhir dengan }. Hal ini berarti
bahwa semu yang berada didalam tanda tersebut merupakan bagain dari class ini.
Penjelasan tentang class dibahas secara tersendiri dibagian class setelah pembahasan
ini.
//awal program selau dimulai dari main()
baris
kode ini juga merupakan komentar. Perbedaan dengan /* */ adalah bahwa ia hanya
berlaku untuk satu baris ini saja dan semua kata-kata setelah tanda // adalah
komentar.
public static void main(String[] args) {
baris ini
mendeklarasikan suatu method dengan nama main. Nama main disini merupakan suatu
keharusan dalam Java karena Java akan mencari method yang bernama main ini
sebagai awal eksekusi program. Keyword public merupakan access specifier yang menentukan visibility level dari method ini. Public
berarti method ini dapat diakses darimanapun dari luar class. Method main()
akan dipanggil dari luar oleh runtime Java pada saat program akan dieksekusi
sehingga access specifier-nya harus
menggunakan public. Keyword static memungkinkan method main() diapnggil tanpa
harus terlebih dahulu membuat instance dari class sederhana. Ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam memori.
Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun
setelah diapnggil/dieksekusi.
System.out.println(“Hello …. Ini
Program Pertamaku”);
Baris ini
memiliki beberapa bagian penting:
Ø Ø
System adalah nama
dari salah satu class standar yang dimiliki oleh Java
Ø Ø
Out merupakan anggota
dari class system dan juga merupakan objek tersendiri. Out mewakili standard
output stream yang dalam hal ini digunakan layar komputer. Seperti halnya
method main() diatas, objek out juga dideklarasikan dengan menggunakan keyword
static didalam classnya sehingga ia dapat langsung dipanggil tanpa perlu
terlebih dahulu membuat instance dari class system.
Ø Ø
Prinltn merupakan method yang terdapat dalam objek out. Berfungsi untuk
mencetak keluaran ke standard output. Mthod ini juga mencetak karakter pindah
baris. Untuk mencetak tanpa pindah baris bisa menggunakan print().
Ø Ø
“Hello …. Ini Program Pertamaku” merupakan parameter darimethod println
yang diterima oleh internal method ini dan dicetak ke standard output yang dalam
hal ini adalah layer computer anda. Oleh karena itu sewaktu menjalankan program
ini dilayar computer akan tercetak : Hello …. Ini Program Pertamaku.
Ø Ø
Tanda ; diperlukan untuk menandai akhir dari suatu statement /
pernyataan / perintah.
Identifier
Identifier merupakan nama yang digunakan untuk menamai
class, interface, variable dan method. Programmer dapat menentukan sendiri
identifier yang akan digunakan. Hanya yang perlu diperhatikan adalah:
-
-
tidak ada batasan panjang, jadi identifier dapat dibuat dengan panjang
karakter yang tidak terbatas.
-
-
Identifier harus diawali dengan huruf, underscore / garis bawah ( _ )
atau lambang dollar ($). Untuk selebihnya dapat digunakan karakter apapun,
kecuali karakter yang digunakan sebagai operator oleh Java (*, +, -, /).
-
-
Bukan merupakan keyword yang telah dikenal oleh Java.
Pada contoh sebelumnya sederhana merupakan identifier yang
digunakan untuk menamai class yang dibuat.
Reserved Word /
keywords
Ini merupakan kata-kata yang telah dikenal oleh Java dengan
memiliki arti khusus dalam program. Berikut ini adalah daftar kata-kata
tersebut.
Table 1 Daftar Kata (Keyword) yang dikenal dalam
Java
abstract
|
boolean
|
break
|
byte
|
case
|
catch
|
char
|
Class
|
const
|
continue
|
default
|
do
|
Double
|
else
|
extends
|
false
|
final
|
finally
|
float
|
For
|
goto
|
if
|
Implements
|
import
|
instanceof
|
int
|
interface
|
long
|
native
|
new
|
null
|
package
|
Private
|
protected
|
public
|
return
|
short
|
Static
|
strictfp
|
super
|
switch
|
synchronized
|
this
|
throw
|
throws
|
transient
|
true
|
Try
|
void
|
volatile
|
while
|
Variabel
Variable merupakan lokasi penyimpanan dalam memori. Setiap
variable memiliki kemampuan menyimpan suatu informasi sesuai dengan tipe data
yang dideklarasikan untuk variable tersebut. Sintaks pendeklarasian varaibel
secara umum adalah sebagai berikut:
Tipe_data
nama_variable;
Tipe_data meliputi semua tipe data yang dikenal dalam Java,
sedangkan nama_variabel adalah identifier yang akan digunakan untuk menunjuk ke
variable tersebut didalam program.
Contoh :
int hitung;
kode
diatas mendeklarasikan suatu varaibel bernama hitung dengan tipe data integer.
Scope dari Variabel
Dalam
Java, secara garis besar scope dari variabel dapat dibedakan menjadi dua
bagian, yaitu variabel yang dideklarasikan didalam blok class (dikenal juga
sebagai property) dan variabel yang dideklarasikan didalam blok kode.
Variabel
yang dideklarasikan dalam blok class akan dikenal dibagian manapun dama blok
kelas tersebut. Variabel ini juga bahkan dapat diakses dari luar class dengan
menggunakan referensi objek atau instance dari class tersebut, namun hal ini
akan dipengaruhi oleh penggunaan access
specifier. Access specifier akan dibahas berikutnya.
Pada
dasarnya variabel dapat dideklarasikan didalam blok kode manapun. Yang dimaksud
dengan blok kode disini adalah bagian dari kode yang dimulai dengan karakter {
dan ditutup dengan karakter }. Blok ini menentukan scope dari suatu variabel,
yaitu apakah suatu variabel akan dikenal dibagian lain dari program atau tidak.
Kita juga bisa membuat nested blok, yaitu blok yang berada didalam blok
lainnya. Aturan sederhana yang perlu diingat hanyalah pendeklarasian suatu
variabel dalam suatu blok kode akan dikenal oleh nesteted blok yang ada didalam
blok kode tersebut, namun tidak berlaku sebaliknya.
Class
Dalam
dunia nyata, kita sering memiliki beberapa objek yang berjenis sama, contohnya,
sepeda motor yang kita miliki hanya satu dari banyak sepeda motor di dunia. Menggunakan
istilah orientasi objek, kita bisa mengatakan bahwa sepeda motor itu adalah
sebuah instance dari sebuah class dari objek-objek yang diketahui sebagai
sepeda motor. Sepeda motor-sepeda motor umumnya memiliki beberapa status (state) (seperti: gear, 2roda, rantai,
jok) dan tingkah laku (behaviour)
(merubah gear, dan rem). Namun setiap sepeda motor adalah independen / bebas dan bisa berbeda
dari sepeda motor lainnya.
Ketika
membuat sepeda motor, pabrik / industri pembuatnya mengambil keuntungan dari
kenyataan bahwa sepeda motor memiliki karakteristik yang sama, sehingga untuk
membuat sepeda bisa mulai dari satu cetak biru / blue print. Sangat tidak efisien jika membuat sepeda dengan blue
print yang berbeda-beda untuk setiap sepeda.
Dalam
perangkat lunak berorientasi objek dimungkinkan untuk memiliki banyak objek
yang sama yang menggabungkan karakteristik-karakteristik seperti: sudut,
employee records, video clips, dan seterusnya. Seperti pabrik sepeda motor kita
dapat mengambil keuntungan dari kenyataan bahwa objek-objek dari jenis yang
sama adalah serupa dan kita dapat membuatnya dari blue print yang sama. Blue
print perangkat lunak itulah yang disebut Class.
Definisi: sebuah Class adalah sebuah blue print , atau prototipe, yang
mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek
dari njenis tertentu.

Class untuk sepeda motor tadi akan
mendefinisikan variabel-variabel instan yang diperlukan untuk memuat
karakteristik-karakteristik dari objek yang bersangkutan. Class akan
dideklarasikan dan menyediakan implementasi-implementasi untuk metode-metode instan
yang akaan memungkinkan untuk pengendara sepeda motor tersebut mengubah gear,
rem, dan mengubah pedal gas, sebagaimana
ditunjukkan pada gambar berikut.

setelah kita membuat kelas sepeda
motor, kita dapat membuat sejumlah objek sepeda motor dari Class tersebut.
Ketika kita membuat sebuah Class instan, maka system akan mengalokasikan
sejumlah memori yang cukup untuk objek-objek dan semua variable instan. Tiap
istan mendapat copy-nya sendiri dari semua instan variable yang didefinisikan
dalam Class.

tambahan untuk variable instant, class-class dapat
mendefinisikan class variable. Sebuah class varaibel memuat informasi yang
digabung dengan semua instan dari class. Contohnya, anggaplah sepeda motor
memiliki sejumlah gear. Dalam kasus ini, mendefinisikan sebuah variabel instan
untuk memegang angka gear adalah sesuatu
yang tidak efisien; tiap instan akan memiliki copy dari variabelnya, tetapi
nilainya akan sama untuk semua instan. Dalam situasi tersebut, kita dapat
mendefinisikan sebuah class variable yang memuat angka-angka gear. Semua instan
menggabungkan semua variable ini. Jika satu objek mengubah variabelnya, maka
ini akan mengubah semua objek tipe tersebut. Sebuah class juga mendeklarasikan
metode class-nya. Kita dapat mengambil sebuah metode class secara langsung dari
class, dimanapun kita dapat mengambil metode class pada suatu instan tertentu.

Object vs Class
Kita mungkin memperhatikan bahwa gambaran-gambaran dari
objek-objek dan class-class kelihatan hampir sama. Dan lebih mendalam, perbedaan
antara class dan objek sering membingungkan. Dalam kenyataannya, hal ini telah
nyata bahwa class bukanlah sendirinya objek yang mereka gambarkan. Sebuah blue print dari sebuah
sepeda motor adalah bukan sepeda motor. Namun, hal ini sedikit sulit untuk membedakan
class-class dan objek dalam system perangkat lunak. Ini memang terpisah karena
objek-objek dalam perangkat lunak adalah model elektronik dari model yang ada
dalam dunia nyata atau konsep abstraknya. Tetapi hal ini juga karena
istilah “objek” kadang-kadang digunakan untuk menunjuk baik class maupun
instan-nya.
Tipe Data
Setiap
variabel harus memiliki tipe data. Sebuah variabel tipe datanya menentukan
nilai dari variabel yang dapat memuat dan operasi-operasi yang dapat
dilakukannya. Contohnya sebuah tipe data
integer (int)
dapat memuat hanya nilai-nilai integer (baik positif maupun negative). Kita
dapat melakukan operasi aritmetik seperti penjumlahan atau perkalian dan
lainnya pada variable integer.
Bahasa
pemrograman java memiliki 2 katagori tipe data: primitive dan reference. Sebuah
variabel tipe primitive memuat sebuah nilai tunggal dengan format dan ukuran
yang sesuai tipenya: sebuah angka, sebuah karakter, atau sebuah nilai boolean,
contohnya sebuah nilai integer 32 bit data dalam sebuah format diketahui
sebagai komplemen 2, sebuah nilai char 16 bit data yang di format sebagai
sebuah karakter Unicode, dan seterusnya.
tabel berikut disusun berdasar kata
kunci, semua tipe data primitive yang didukung oleh Java, ukuran dan formatnya,
dan sebuah penjelasan ringkas untuk masing-masing tipe data.
Tipe
Data Primitive
Kata
Kunci
|
Keterangan
|
Size/Format
|
(integers)
|
||
byte
|
Byte-length
integer
|
8-bit
two's complement
|
short
|
Short
integer
|
16-bit
two's complement
|
int
|
Integer
|
32-bit
two's complement
|
long
|
Long
integer
|
64-bit
two's complement
|
(real numbers)
|
||
float
|
Single-precision
floating point
|
32-bit
IEEE 754
|
double
|
Double-precision
floating point
|
64-bit
IEEE 754
|
(other types)
|
||
char
|
A
single character
|
16-bit
Unicode character
|
boolean
|
A
boolean value (true or false)
|
true
or false
|
Purity Tip: dalam
bahasa yanglain, format dan ukurannya tergantung pada platform dimana program
tersebut dijalankan. Hal
yang lain, bahasa pemrograman Java menspesifikasi ukuran dan format dari tipe
data primitifnya. Dari sini kita tidak perlu khawatir tentang ketergantungan
sistem.
Berikut adalah beberapa conoth tipe data:
Contoh
|
Tipe Data
|
178
|
Int
|
8864L
|
long
|
37.266
|
double
|
37.266D
|
double
|
87.363F
|
float
|
26.77e3
|
double
|
'
c '
|
char
|
True
|
boolean
|
False
|
boolean
|
Secara umum, sederet digit dengan
tanpa titik decimal (dalam notasi Internasional) atau koma decimal (notasi Indonesia)
ditipekan sebagai sebuah integer. Kita juga dapat menspesifikasi sebuah integer
Long dengan menempatkan 'L' atau 'l' setelah angkanya. 'L'
ditunjukkan agar tidak membingungkan dengan didgit '1'.
Sebuah deretan digit dengan ada sebuah titik desimalnya adalah bertipe double.
Kita juga dapat menspesifikasi sebuah float dengan menempatkan 'f' atau 'F' setelah
angka. Sebuah karakter harfiah adalah sebuah karakter Unicode tunggal diantara
tanda petik. Dua karakter Boolean adalah true dan false (benar dan salah)
Arrays, class, dan interface adalah
tipe-tipe referensi. Nilai dari variable tipe referensi, berbeda dengan tipe
primitive, adalah sebuah referensi untuk (sebuah alamat dari) nilai atau
kumpulan nilai dari nilai-nilai yang ditunjukkan oleh variable.
Sebuah referensi (reference)
disebut sebagai sebuah pointer, atau alamat memory dalam bahasa lain. Bahasa
pemrogrman Java tidak mendukung penggunaan alamat secara eksplisit seperti
bahasa pemrograman lain lakukan.. You use the variable's name instead.

Operator
Operator merupakan simbol yang biasa digunakan dalam menulis
suatu penyataan (statement) dalam
bahasa pemrograman apapun. Operator
akan melakukan suatu operasi terhadap operand sesuai dengan fungsinya. Contoh
operasi antara lain penjumlahan, pengurangan, pembagian dan sebagainya.
3 + 8 * 4
3
8 4 adalah operand
+ *
adalah Operator
Operator Penugasan
Operator
ini adalah operator yang paling sederhana dan hanya dilambangkan dengan
karakter ’=’. Operator ini digunakan untuk menugaskan suatu nilai ke suatu
variabel. Contoh :
int hitung = 4;
yang unik dari
operator ini dalam Java adalah kita dapat menggunakan operator ini secara
berantai dalam suatu ekspresi, contoh:
int a, b, c;
a = b = c = 99;
Operator Matematika
Operator
ini digunakan dalam ekspresi matematika. Berikut ini daftar operator matematika
yang dikenal dalam Java:
Operator
|
Keterangan
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
/
|
Pembagian
|
%
|
Modulus (sisa bagi)
|
Operator Penaikan dan Penurunan
Operator
ini digunakan untuk menaikkan atau menurunkan suatu nilai integer (bilangan
bulat) sebanyak satu satuan, dan hanya digunakan pada variabel.
Operator
|
Keterangan
|
++
|
Penambahan
dengan nilai satu
|
--
|
Pengurangan
dengan nilai satu
|
Sebagai
contoh :
x = x + 1;
y = y -1;
dapat ditulis
menjadi:
x++ ;
y-- ;
atau
++x ;
--y ;
Operator Bitwise (manipulasi bit)
Operator ini
digunakan untuk operasi secara langsung terhadap bit yang menyusun suatu
bilangan. Daftar operator bitwise dalam Java adalah sebagai berikut :
Operator
|
Arti
|
-
|
Bitwise negasi
(NOT)
|
&
|
Bitwise AND
|
|
|
Bitwise OR
|
^
|
Bitwise XOR
|
>>
|
Geser kanan
|
>>>
|
Geser kanan
tanpa mempertahankan sign (dengan nilai 0 sebagai pengisi bit paling kiri)
|
<<
|
Geser kiri
|
Karena operasi
bitwise memanipulasi hingga ke bagian yang paling kecil dari suatu bilangan,
yaitu bit maka diperlukan penjelasan lebih lanjut tentang bagaimana Java
menyimpan reprsentasi suatu bilangan dalam bit, terutama sekali untuk
representasi bilangan negatif.
Java menyimpan
representasi dari suatu bilangan sebagai bilangan basis dua (binary) yang
tersusun atas bit. Contoh bilangan binary : 000100111. angka 0 dan
1 yang membentuk bilangan binary inilah yang disebut bit.
Kontrol Alur Eksekusi Program
Sebagai bahasa pemrograman, Java memiliki cara untuk
mengontrol alur eksekusi program bergantung pada kondisi yang telah
dietentukan. Secara garis besar, kontrol alur eksekusi ini dapat dikelompokkan
ke dalam tiga bagian besar, yaitu seleksi, iterasi / perulangan, dan jump.
Seleksi
Terdapt dua kunci (keyword) yang dapat digunakan untuk
melakukan seleksi dalam Java, yaitu if dan switch. Keduanya menentukan alur
eksekusi program maman yang akan dijalankan pada suatu percabangan.
If
Secara umum penggunaan if mengikuti ketentuan sebagai
berikut:
If (kondisi)
Pernyataan1;
Else
Pernyataan2;
Kondisi harus berupa ekspresi yang menghasilkan nilai
Boolean (true atau false), sedangkan pernyataan1 dan pernyataan2 merupakan kode
atau blok kode yang akan dieksekusi sesuai dengan nilai yang dihasilkan oleh
kondisi. Jika kondisi bernilai true maka pernyataan1 yang akan dieksekusi dan
sebaliknya jika nilai kondisi adalah false maka pernyataan2 lah yang akan
dieksekusi.
Dalam penerapannya penggunaan else bersifat opsional, boleh
menggunakannya atau tidak sesuai dengan kebutuhan, seperti berikut:
If (kondisi)
Pernyataan;
Dengan demikian pernyataan hanya akan dieksekusi jika
kondisi bernilai true.
If – else bertingkat (nested)
Pada prinsipnya penggunaan if – else adalah sama, namun
untuk yang bertingkat dapat mengkombinasikan penggunaannya menjadi bertingkat
seperti berikut:
If (kondisi1)
Pernyataan1;
Else if (kondisi2)
Pernyataan2;
Else if (kondisi3)
Pernyataan3;
:
:
else if (kondisiN)
pernyataanN;
else
pernyataanLain;
switch
penggunaan switch sebenarnya hamper sama dengan if
bertingkat, dimana kita bisa menggunakan switch untuk percabangan yang
berjumlah lebih darisatu. Karena itu switch bisa dijadikan alternative lain
dibandingkan menggunakan if bertingkat. Secara umum bentuk penggunaannya
sebagai berikut:
switch (ekspresi) {
case nilai1: pernyataan1;
break;
case nilai2: pernyataan2;
break;
case nilai3: pernyataan3;
break;
:
:
case nilaiN: pernyataanN;
break;
default
: pernyataanDefault;
}
Langganan:
Postingan (Atom)


