- Sebutkan kelebihan-kelebihan yang dimiliki oleh Java yang Anda ketahui!
- Apa yang Anda ketahui tentang karakteristik Java?
- Berorientasi Objek, Java telah menerapkan konsep pemrograman berorientasi objek yang modern dalam implementasinya.
- Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki runtime checking.
- Portable, program Java dapat dieksekusi di platform mana pun selama tersedia Java Virtual Machine untuk platform tersebut.
- Multithreading, Java mendukung penggunaan multithreading yang telah terintegrasi secara langsung dalam bahasa Java.
- Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan pada saat eksekusi program dan bukan pada saat kompilasi.
- Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.
- Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.
- Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan keamanannya terutama untuk aplikasi internet.
- Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.
- Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-beda dengan melakukan interpretasi pada bytecode.
- Berkinerja Tinggi, bytecode Java telah sangat teroptimasi, sehingga eksekusi program dapat dilakukan secara cepat sekalipun dilakukan dengan cara interpretasi terhadap bytecode.
- Jelaskan perbedaan antara state dan behavior. Berikan contohnya!
- Jelaskan apa yang dimaksud dengan class dan objek ! Apa bedanya dan berikan contohnya!
- Apa perbedaan antara tipe data primitif dan tipe data referensi?
- Untuk melatih pengetahuan Anda akan tipe data, buatlah program untuk menghitung luas :
- Segitiga
- Lingkaran
- Bujursangkar
- Empat persegi panjang
| public class HitungLuas { public static void main(String[] args) { // data segitiga int panjangSegitiga = 5; int tinggiSegitiga = 9; // data lingkaran int jari2Lingkaran = 15; // data bujursangkar int panjangSisi = 13; // data persegi panjang int panjangPersegi = 35; int lebarPersegi = 45; double luas; // luas segitiga luas = ((double) (panjangSegitiga*tinggiSegitiga)/2); System.out.println("Luas Segitiga : " + luas); // luas lingkaran luas = 3.14*jari2Lingkaran*jari2Lingkaran; System.out.println("Luas Lingkaran : " + luas); // luas bujursangkar luas = panjangSisi*panjangSisi; System.out.println("Luas Bujursangkar : " + luas); // luas persegi panjang luas = panjangPersegi*lebarPersegi; System.out.println("Luas Persegi Panjang : " + luas); } } |


| public class Bintang { public static void main(String[] args) { int ukuran = 7; for (int i = 0; i<ukuran; i++) { int j; int spasiCounter = ukuran - i - 1; for (j = 0; j < spasiCounter; j++) { System.out.print(" "); } for (j = 0; j <= (i*2); j++) { if (j % 2 == 1) System.out.print(" "); else System.out.print("*"); } System.out.println(); } } } |
| public class User { public static void main(String[] args) { Televisi tv = new Televisi("TV tempoe doeloe, 14 inches", 10); String[] semuaChannel = {"RCTI", "SCTV","INDOSIAR","LA TV", "METRO TV","TRANS TV","TPI","TV 7", "TVRI","TV G","AN TV"}; String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR", "LA TV", "MTRO TV","TRANS TV","TPI","TV 7"}; System.out.println("Televisi yang baru gua beli : " + tv.getDeskripsi()); tv.getChannels(); tv.setChannels(semuaChannel); tv.setChannels(channelFavorit); tv.setChannelAktif(3); tv.setVolume(10); tv.setChannelAktif(1); } } |

| class Televisi { private String deskripsi; private int jumlahChannel; private String[] channels = null; private int channelAktif; private int volume; public Televisi(String deskripsi, int jumlahChannel) { this.deskripsi = deskripsi; this.jumlahChannel = jumlahChannel; } public String getDeskripsi() { return deskripsi; } public int getJumlahChannel() { return jumlahChannel; } public String[] getChannels() { if (channels == null) { System.out.println("Belum ada channel yang diset!"); } return channels; } public void setChannels(String[] channels) { if (channels.length > jumlahChannel) { System.out.println("Maaf Tv ini hanya dapat menyimpan " + jumlahChannel + " channel"); } else { this.channels = channels; System.out.println("Informasi channel berhasil di update!"); } } public int getChannelAktif() { return channelAktif; } public void setChannelAktif(int channelAktif) { if (channelAktif > channels.length) { System.out.println("Channel yang Anda inginkan belum diset!"); return; } this.channelAktif = channelAktif; System.out.println("Pindah channel ke : " + channels[channelAktif]); } public int getVolume() { return volume; } public void setVolume(int volume) { this.volume = volume; System.out.println("intensitas volume sekarang : " + volume); } } |
| public class User { public static void main(String[] args) { TelevisiModern tv = new TelevisiModern("TV Modern, 29 inches", 100); String[] semuaChannel = {"RCTI", "SCTV", "INDOSIAR", "LA TV", "METRO TV", "TRANS TV", "TPI", "TV 7", "TVRI", "TV G", "AN TV"}; String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR", "LA TV", "MTRO TV", "TRANS TV", "TPI", "TV 7"}; System.out.println("Televisi yang baru gua beli : " + tv.getDeskripsi()); tv.getChannels(); tv.setChannels(semuaChannel); tv.setChannelAktif(3); tv.setVolume(10); tv.setChannelAktif(10); tv.setChannelAktif(1); tv.setModusTampilan(TelevisiModern.TELETEX); tv.setHalamanTeletext(250); tv.setModusTampilan(TelevisiModern.TV); tv.playCD(); tv.setDiscTray("The Matrix"); tv.playCD(); } } |

| public class TelevisiModern extends Televisi { public static final int TV = 0; public static final int TELETEXT = 1; int modusTampilan = TV; int halamanTeletext = 100; String discTray = null; public TelevisiModern(String deskripsi, int jumlahChannel) { super(deskripsi, jumlahChannel); } public void setHalamanTeletext(int halamanTeletext) { this.halamanTeletext = halamanTeletext; System.out.println("Berpindah ke halaman teletext " + halamanTeletext); } public void setModusTampilan(int modusTampilan) { switch (modusTampilan) { case TV: System.out.println("Modus tampilan : Televisi"); break; case TELETEXT: System.out.println("Modus tampilan : Teletext"); break; } } public String getDiscTray() { return discTray; } public void setDiscTray(String discTray) { this.discTray = discTray; } public void playCD() { if (discTray == null) { System.out.println("Tidak ada CD di dalam disc tray!"); return; } System.out.println("Memutar file " + discTray); } } |
| public class User { public static void main(String[] args) { TelevisiModern tv1 = new TelevisiModern("TV Sony 29 inches", 200); TelevisiModern tv2 = new TelevisiModern("TV Hitachi 21 inches", 100); String[] semuaChannel = {"RCTI", "SCTV", "INDOSIAR", "LA TV", "METRO TV", "TRANS TV", "TPI", "TV 7", "TVRI", "TV G", "AN TV"}; String[] channelFavorit = {"RCTI", "SCTV", "INDOSIAR", "LA TV", "METRO TV", "TRANS TV", "TPI", "TV 7"}; tv1.setDiscTray("The Matrix"); tv2.setDiscTray("Spiderman"); // remote control diarahkan ke tv1 RemoteControl rc = new RemoteControl(tv1); rc.setChannels(semuaChannel); rc.setChannelAktif(3); rc.setVolume(10); rc.setChannelAktif(10); rc.setModusTampilan(TelevisiModern.TELETEXT); rc.setHalamanTeletext(250); rc.setModusTampilan(TelevisiModern.TV); rc.playCD(); System.out.println(); //remote control diarahkan ke tv2 rc.setTv(tv2); rc.setChannels(channelFavorit); rc.setVolume(20); rc.setChannelAktif(1); rc.playCD(); } } |
| public interface Control { public String getDeskripsi(); public String[] getChannel(); public int getJumlahChannel(); public void setChannels(String[] channels); public int getChannelAktif(); public void setChannelAktif(int channelAktif); public int getVolume(); public void setVolume(int volume); } public class RemoteControl implements Control { Control tv = null; public RemoteControl(Control tv) { this.tv = tv; System.out.println("Remote diarahkan ke tv : " + tv.getDeskripsi()); } public void setTv(Control tv) { this.tv = tv; System.out.println("Remote diarahkan ke tv : " + tv.getDeskripsi()); } public String getDeskripsi() { return tv.getDeskripsi(); } public int getJumlahChannel() { return tv.getJumlahChannel(); } public String[] getChannels() { return tv.getChannels(); } public void setShannels(String[] channels) { tv.setChannels(channels); } public int getChannelAktif() { return tv.getChannelAktif(); } public void setChannelAktif(int channelAktif) { tv.setChannelAktif(channelAktif); } public int getVolume() { return tv.getVolume(); } public void setVolume(int volume) { tv.setVolume(volume); } public void setHalamanTeletext(int halamanTeletext) { tv.setHalamanTeletext(halamanTeletext); } public void setModusTampilan(int modusTampilan) { tv.setModusTampilan(modusTampilan); } public void playCD() { tv.playCD(); } } |
| public class User { public static void main(String[] args) { String inputData = "0256975648;Niko Syah;3.1#0568974567; Titi Nur;3.8#0236972345;" + "StevanusFirman;2.6#0457878975; DickySuteja;2.0#0695475486;Andi Sujata;3.4"; Database database = new Database(inputData); System.out.println("Data Asli"); System.out.println("============="); database.tampilkanData(); System.out.println(); System.out.println("Diurutkan Berdasarkan NIM"); System.out.println("=============================="); database.urutkanBerdasarkanNim(); database.tampilkanData(); System.out.println(); System.out.println("Diurutkan Berdasarkan Nama"); System.out.println("=============================="); database.urutkanBerdasarkanNama(); database.tampilkanData(); System.out.println(); System.out.println("Diurutkan Berdasarkan IPK"); System.out.println("=============================="); database.tampilkanData(); } } |

| public class Mahasiswa { private String nim; private String nama; private double ipk; public Mahasiswa(String nim, String nama, double ipk) { this.nim = nim; this.nama = nama; this.ipk = ipk; } public String getNim() { return nim; } public void setNim(String nim) { this.nim = nim; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public double getIpk() { return ipk; } public void setIpk(double ipk) { this.ipk = ipk; } } |
| import java.util.ArrayList; import java.util.StringTokenizer; public class Database { private ArrayList data = new ArrayList(); public Database(String inputData) { Mahasiswa datum; StringTokenizer tokens = new StringTokenizer(inputData, ";#"); while (tokens.hasMoreTokens()) { String nim = tokens.nextToken(); String nama = tokens.nextToken(); double ipk = Double.parseDouble(tokens.nextToken()); datum = new Mahasiswa(nim, nama, ipk); data.add(datum); } } public void tampilkanData() { for (int i = 0; i < data.size(); i++) { Mahasiswa datum = (Mahasiswa)data.get(i); System.out.print(datum.getNim() + "\t"); System.out.print(datum.getNama() + "\t\t"); System.out.println(datum.getIpk()); } } public void urutkanBerdasarkanNim() { ArrayList dataBaru = new ArrayList(data.size()); String str1, str2; int length; Mahasiswa datum, datumBaru; for(int i=0;i<data.size();i++){ datumBaru = (Mahasiswa)data.get(i); if(i==0){ dataBaru.add(datumBaru); continue; } str1 = datumBaru.getNim(); length = dataBaru.size(); for(int j=0;j<length;j++){ datum = (Mahasiswa)dataBaru.get(j); str2 = datum.getNim(); if(str1.compareTo(str2)<0){ dataBaru.add(j,datumBaru); break; } else if (j==length-1) dataBaru.add(datumBaru); } } data = dataBaru; dataBaru = null; } public void urutkanBerdasarkanNama() { ArrayList dataBaru = new ArrayList(data.size()); String str1,str2; int length; Mahasiswa datum,datumBaru; for (int i=0;i<data.size();i++) { datumBaru = (Mahasiswa)data.get(i); if(i==0) { dataBaru.add(datumBaru); continue; } str1 = datumBaru.getNama(); length = dataBaru.size(); for(int j=0;j<length;j++) { datum = (Mahasiswa)dataBaru.get(j); str2 = datum.getNama(); if(str1.compareTo(str2)<0) { dataBaru.add(j,datumBaru); break; } else if(j==length-1) dataBaru.add(datumBaru); } } data = dataBaru; dataBaru = null; } public void urutkanBerdasarkanIpk() { ArrayList dataBaru = new ArrayList(data.size()); double num1, num2; int length; Mahasiswa datum, datumBaru; for (int i = 0; i < data.size(); i++) { datumBaru = (Mahasiswa)data.get(1); if (i == 0) { dataBaru.add(datumBaru); continue; } num1 = datumBaru.getIpk(); length = dataBaru.size(); for (int j = 0; j < length; j++) { datum = (Mahasiswa)dataBaru.get(j); num2 = datum.getIpk(); if (num1 < num2) { dataBaru.add(j, datumBaru); break; } else if (j == length - 1) dataBaru.add(datumBaru); } } data = dataBaru; dataBaru = null; } } |
| public class Kopi { public static void main(String[] args) { if (args.length < 2) { System.out.println("Cara pemakaian : " ); System.out.println("java Kopi namaFileSumber namaFileTujuan"); return; } String sumber = args[0]; String tujuan = args[1]; String data; FileWriter fout = null; FileReader fin = null; try { try { fin = new FileReader(sumber); } catch (FileNotFoundException e) { System.out.println("File : " + sumber + "tidak ada atau tidak dapat dibuka."); return; } try { fout = new FileWriter(tujuan); } catch (FileNotFoundException e) { System.out.println("File : " + sumber + "tidak ada atau tidak dapat dibuka."); return; } BufferedReader br = new BufferedReader(fin); data = br.readLine(); while (data != null) { // \r\n digunakan untuk pindah baris fout.write(data + "\r\n"); data = br.readLine(); } } catch (IOException e) { System.out.println("Eksepsi tidak diketahui : " + e); } finally { //tutup file if (fout != null) { try { fout.close(); } catch (IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } if (fin != null) { try { fin.close(); } catch (IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } } } } |

