kode program minggu 8-14

21
Kode Program Inheritance 1 // Deklarasi kelas anak class Balok extends SegiEmpat { // Deklarasi atribut protected double tinggi; // Definisi method // Konstruktor public Balok() { super(); tinggi = 0; } // Mutator public void setTinggi(double t) { tinggi = t; } // Method lain public double Volume() { return (panjang*lebar*tinggi); } } // Program utama class Driver { public static void main(String args[]) { // Penciptaan objek SegiEmpat kotak = new SegiEmpat(); Balok kayu = new Balok(); // Manipulasi objek kotak kotak.setPanjang(21); kotak.setLebar(4); System.out.println("Luas = "+kotak.Luas()); // Manipulasi objek kayu kayu.setPanjang(17); kayu.setLebar(8); kayu.setTinggi(45);

Upload: tjokorda-agung-budi-w

Post on 27-Nov-2014

232 views

Category:

Documents


0 download

DESCRIPTION

Sample Code Pemrograman Berorientasi Objek IT Telkom

TRANSCRIPT

Page 1: Kode Program Minggu 8-14

Kode Program Inheritance 1

// Deklarasi kelas anak class Balok extends SegiEmpat { // Deklarasi atribut protected double tinggi; // Definisi method // Konstruktor public Balok() { super(); tinggi = 0; } // Mutator public void setTinggi(double t) { tinggi = t; } // Method lain public double Volume() { return (panjang*lebar*tinggi); } } // Program utama class Driver { public static void main(String args[]) { // Penciptaan objek SegiEmpat kotak = new SegiEmpat(); Balok kayu = new Balok(); // Manipulasi objek kotak kotak.setPanjang(21); kotak.setLebar(4); System.out.println("Luas = "+kotak.Luas()); // Manipulasi objek kayu kayu.setPanjang(17); kayu.setLebar(8); kayu.setTinggi(45);

Page 2: Kode Program Minggu 8-14

System.out.println("\nVolume = "+kayu.Volume()); } }

Kode Program Inheritance 2

// Deklarasi kelas induk class Pegawai { // Deklarasi atribut protected String nama; protected double gaji; // Definisi layanan // Konstruktor public Pegawai(String n, double g) { nama = n; gaji = g; } // Selector public String getNama() { return nama; } public double getGaji() { return gaji; } } // Deklarasi kelas anak class Manajer extends Pegawai { // Deklarasi atribut protected double tunjangan; protected double bonus; // Definisi method

Page 3: Kode Program Minggu 8-14

// Konstruktor public Manajer(String n, double g) { super(n, g); } // Mutator public void setTunjangan(double t) { tunjangan = t; } public void setBonus(double b) { bonus = b; } // Selector public double getGaji() { double pokok = super.getGaji(); return (pokok+tunjangan+bonus); } } // Deklarasi kelas anak class Staf extends Pegawai { // Deklarasi atribut protected double lembur; // Definisi method // Konstruktor public Staf(String n, double g) { super(n, g); } // Mutator public void setLembur(double l) { lembur = l; } // Selector public double getGaji() { double pokok = super.getGaji(); return (pokok+lembur); } }

Kode Program Kelas Abstrak

Page 4: Kode Program Minggu 8-14

public abstract class Person { // Deklarasi atribut private String name; // Konstruktor public Person(String n) { name = n; } // Accessor public abstract String getDescription(); public String getName() { return (name); } } public class Student extends Person { // Deklarasi atribut private String major; // Konstruktor public Student(String n, String m) { super(n); major = m; } // Accessor public String getDescription() { return ("a student majoring in "+major); } } public class Employee extends Person { // Deklarasi atribut private double salary; // Konstruktor public Employee(String n, double s) { super(n); salary = s; }

Page 5: Kode Program Minggu 8-14

// Accessor public double getSalary() { return (salary); } public String getDescription() { return ("an employee with a salary of "+salary); } } // Program utama public class CobaKelasAbstrak { public static void main(String args[]) { // Penciptaan objek //Person p = new Person("Abdul"); Employee e = new Employee("Kumkum", 1000000); Student s = new Student("Markum", "Informatika"); // Manipulasi objek //System.out.println(p.getName()); System.out.println(e.getName()+", "+e.getDescription()); System.out.println(s.getName()+", "+s.getDescription()); } }

Kode Program Interface

// StartStop.java public interface StartStop { void start(); void stop(); } public class Car implements StartStop { private String name; Car (String name) { this.name = name; }

Page 6: Kode Program Minggu 8-14

public void start() { System.out.println ("Insert key into ignition and turn."); } public void stop() { System.out.println ("Turn key and remove from ignition."); } public String getName() { return name; } } public class WashingMachine implements StartStop { private String name; WashingMachine (String name) { this.name = name; } public void start() { System.out.println ("Push button and turn right."); } public void stop() { System.out.println ("Turn left and push button."); } public String getName() { return name; } }

Page 7: Kode Program Minggu 8-14

Full Code Sample1

// Deklarasi kelas suplier class Gaji { // Deklarasi atribut private double gajipokok; private double uanglembur; // Definisi method // Mutator untuk menghitung gaji pokok public void setGajiPokok(char golongan) { switch (golongan) { case 'A': { gajipokok = 3000000; break; } case 'B': { gajipokok = 2000000; break; } case 'C': { gajipokok = 1000000;

Page 8: Kode Program Minggu 8-14

break; } } } // Mutator untuk menghitung uang lembur public void setUangLembur(int jamkerja) { if (jamkerja > 8) uanglembur = 30000*(jamkerja-8); else uanglembur = 0; } // Selector public double getGajiBersih() { return (gajipokok+uanglembur); } } // Deklarasi kelas induk class Perusahaan { // Deklarasi atribut private String namaPerusahaan; private String alamat; // Definisi method // Mutator public void setNamaPerusahaan(String nama) { namaPerusahaan = nama; } public void setAlamat(String almt) { alamat = almt; } // Selector public String getNamaPerusahaan() { return namaPerusahaan; } public String getAlamat(){ return alamat; } } // Deklarasi kelas anak dari perusahaan abstract class Pegawai extends Perusahaan { // Deklarasi atribut private String nama; private char golongan; private int jamkerja; private Gaji salary; // Definisi method // Konstruktor public Pegawai() { // Ciptakan objek gaji salary = new Gaji();

Page 9: Kode Program Minggu 8-14

} // Mutator public void setNama(String nm) { nama = nm; } public void setGolongan(char gol) { golongan = gol; salary.setGajiPokok(gol); } public void setJamKerja(int jam) { jamkerja = jam; salary.setUangLembur(jam); } // Selector public String getNama() { return nama; } public char getGolongan() { return golongan; } public double getSalary() { return salary.getGajiBersih(); } public void getDetail(){ System.out.println("Nama Perusahaan : "+super.getNamaPerusahaan()); System.out.println("Alamat Perusahaan : "+super.getAlamat()); } } // Deklarasi kelas anak dari Pegawai class Manager extends Pegawai { // Deklarasi atribut private String departemen; private Staf[] staf = new Staf[10]; private int jmlStaf = 0; // Definisi method // Mutator public void setDepartemen(String nama){ departemen = nama; } // Selector public String getDepartemen(){ return departemen;

Page 10: Kode Program Minggu 8-14

} public void addStaf(Staf st) { staf[jmlStaf] = st; jmlStaf++; } public void getDetail() { super.getDetail(); System.out.println("\nNama Departemen : "+getDepartemen()); System.out.println("Nama Manager : "+getNama()); System.out.println("Golongan : "+getGolongan()); System.out.println("Gaji Bersih : Rp. "+getSalary()); System.out.println("Jumlah Staf : "+jmlStaf); System.out.println("\nNo Nama Staf Gol Gaji Bersih"); for (int i=0; i<jmlStaf; i++) { System.out.print(" "+(i+1)); staf[i].getDetail(); } System.out.println(""); } } // Deklarasi kelas anak dari Pegawai class Staf extends Pegawai { // Definisi method public void getDetail() { System.out.println(" "+getNama()+" "+getGolongan()+" "+getSalary()); } } // Program Utama class DriverManager { public static void main(String[] args) { // Ciptakan objek dari kelas manager Manager m1 = new Manager(); m1.setNamaPerusahaan("PT. Mitra OOP, Tbk."); m1.setAlamat("Jln. Nanjak, Bandung"); m1.setDepartemen("Human Resource Development (HRD)"); m1.setNama("Ayu Sedikitlayu "); m1.setGolongan('A'); m1.setJamKerja(9); Manager m2 = new Manager(); m2.setNamaPerusahaan("PT. Mitra OOP, Tbk."); m2.setAlamat("Jln. Nanjak, Bandung"); m2.setDepartemen("Production"); m2.setNama("Abdul Amburadul "); m2.setGolongan('A'); m2.setJamKerja(7); // Ciptakan objek dari kelas staf Staf s1 = new Staf();

Page 11: Kode Program Minggu 8-14

s1.setNama("Nita Genita "); s1.setGolongan('B'); s1.setJamKerja(10); Staf s2 = new Staf(); s2.setNama("Sri Kuntilanawati"); s2.setGolongan('B'); s2.setJamKerja(8); Staf s3 = new Staf(); s3.setNama("Inna Meirana "); s3.setGolongan('C'); s3.setJamKerja(11); Staf s4 = new Staf(); s4.setNama("Markum Almarhum "); s4.setGolongan('C'); s4.setJamKerja(14); Staf s5 = new Staf(); s5.setNama("Kumkum Kuyabatok "); s5.setGolongan('C'); s5.setJamKerja(12); // Tambahkan staf ke manager m1.addStaf(s1); m1.addStaf(s2); m1.addStaf(s3); m2.addStaf(s4); m2.addStaf(s5); // Tampilkan detail manager beserta stafnya m1.getDetail(); System.out.println("\n"); m2.getDetail(); } }

Page 12: Kode Program Minggu 8-14

Full Code Sample2

package code; public interface Interface1 { public void displayInfo(); } package code; public abstract class Person { private String Nama; private String Alamat; private String Tgl_Lahir; public Person(String Nama, String Alamat, String Tgl_Lahir){ this.Nama=Nama; this.Alamat=Alamat; this.Tgl_Lahir=Tgl_Lahir; } public String getNama(){

Page 13: Kode Program Minggu 8-14

return this.Nama; } public String getAlamat(){ return this.Alamat; } public String getTgl_Lahir(){ return this.Tgl_Lahir; } public abstract void Deskripsi(); } package code; public class Dosen extends Person { private String KodeDosen; private String NIP; public Dosen(String Nama, String Alamat, String Tgl_Lahir) { super(Nama, Alamat, Tgl_Lahir); } @Override public void Deskripsi() { System.out.println("NAMA: "+getNama()); System.out.println("KODE DOSEN: "+getKodeDosen()); System.out.println("ALAMAT: "+getAlamat()); System.out.println("NIP: "+getNIP()); } public String getKodeDosen() { return KodeDosen; } public void setKodeDosen(String kodeDosen) { KodeDosen = kodeDosen; } public String getNIP() { return NIP; } public void setNIP(String nip) { NIP = nip; } } package code; import java.util.ArrayList; public class Kuliah implements Interface1{ private String NamaMK; private String KodeMK; private int SKS;

Page 14: Kode Program Minggu 8-14

private ArrayList<Person> ArrayPerson=new ArrayList<Person>(); public void addPerson(Person p){ ArrayPerson.add(p); } public Kuliah(String NamaMK, String KodeMK, int SKS){ this.NamaMK=NamaMK; this.KodeMK=KodeMK; this.SKS=SKS; } public String getNamaMK() { return NamaMK; } public String getKodeMK() { return KodeMK; } public int getSKS() { return SKS; } public void displayDosen(){ for (Person p:ArrayPerson){ if (p instanceof Dosen) p.Deskripsi(); } } public void displayPeserta(){ for (Person p:ArrayPerson){ if (p instanceof Mahasiswa) p.Deskripsi(); } } public void displayInfo(){ System.out.println("NAMA MK: "+getNamaMK()); System.out.println("KODE MK: "+getKodeMK()); System.out.println("SKS : "+getSKS()); } } package code; public class Nilai implements Interface1{ private double UTS; private double UAS; private double Quis; private Kuliah K; public void addKuliah(Kuliah k){ this.K=k; }

Page 15: Kode Program Minggu 8-14

public Nilai (double UTS, double UAS, double Quis){ this.UTS=UTS; this.UAS=UAS; this.Quis=Quis; } public String getNilaiAsIndeks(){ double tempD=this.Quis*0.2+this.UAS*0.45+ this.UTS*0.35; if (tempD>=80) return "A"; else if(tempD>=70) return "B"; else if (tempD>=60) return "C"; else if (tempD>=50) return "D"; else return "E"; } @Override public void displayInfo() { // TODO Auto-generated method stub K.displayInfo(); System.out.println("Nilai Akhir: "+getNilaiAsIndeks()); } } package code; import java.util.ArrayList; public class Mahasiswa extends Person { private String Nim; private ArrayList<Nilai> ArrayNilai=new ArrayList<Nilai>(); public void addNilai(Nilai n){ ArrayNilai.add(n); } public Mahasiswa(String Nama, String Alamat, String Tgl_Lahir) { super(Nama, Alamat, Tgl_Lahir); } public void setNim(String Nim){ this.Nim=Nim; } public String getNim(){ return this.Nim; } public void Deskripsi() {

Page 16: Kode Program Minggu 8-14

System.out.println("NIM: "+getNim()); System.out.println("NAMA: "+getNama()); System.out.println("ALAMAT: "+getAlamat()); System.out.println("TGL LAHIR: "+getTgl_Lahir()); } public void viewAllNilai(){ for(Nilai n:ArrayNilai){ n.displayInfo(); } } } package code; public class Driver { public static void main(String[] args) { //Membuat Object Mahasiswa, Dosen, Kuliah Mahasiswa m1,m2,m3; m1=new Mahasiswa("Budi","STT","9/6/2009"); m1.setNim("113070076"); m2=new Mahasiswa("Agung","STT","9/6/2009"); m2.setNim("113070086"); Dosen d1,d2; d1=new Dosen("Brad Pitt","Dako","9/6/2009"); d1.setNIP("06780001"); d1.setKodeDosen("BPT"); Kuliah k1; k1=new Kuliah("PBO","CS2333",3); //Membuat hubungan antara Dosen, Mahasiswa dan Kuliah k1.addPerson(m1); k1.addPerson(m2); k1.addPerson(d1); //Membuat Object nilai Nilai n1,n2; n1=new Nilai(80,90,70); n2=new Nilai(80,90,80); // Menghubungkan Nilai dengan Kuliah dan Mahasiswa n1.addKuliah(k1); n2.addKuliah(k1); m1.addNilai(n1); m2.addNilai(n2); //Mengecek fungsionalitas aplikasi //1. Melihat indek Mahasiswa m1 System.out.println("1. Melihat indek Mahasiswa m1"); m1.viewAllNilai(); //2. Melihat peserta Kuliah dan Dosen System.out.println("2. Melihat peserta Kuliah dan Dosen"); k1.displayPeserta(); k1.displayDosen(); } }

Page 17: Kode Program Minggu 8-14

KONEKSI KE BASIS DATA MS-ACCESS

1. Access the Windows Data Source Administrator dialog box. From the Windows Start menu, select Settings -> Control Panel -> Administrative Tools -> Data Sources (ODBC). The ODBC Data Source Administrator dialog box appears, listing any existing data sources.

2. Select the User DSN tab. A list of existing user data sources appears.

3. Click Add in the ODBC Data Source Administrator dialog box. A list of installed ODBC drivers appears in the Create New Data Source dialog box.

4. Select the ODBC driver that the data source you are creating will use and click Finish. For the examples, select Microsoft Access Driver (*.mdb). The ODBC Setup dialog box appears for the driver you selected. Note that the dialog box for your driver might be different from the following.

Page 18: Kode Program Minggu 8-14

5. Provide a Data Source Name and Description. For the example data source, type dbtoolboxdemo as the Data Source Name. For the Description, enter tutorial database. For some databases, the ODBC Setup dialog box requires you to provide additional information.

6. Select the database that this data source will use. Note that for some drivers, you skip this step. In the ODBC Setup dialog box, click Select. The Select Database dialog box appears.

7. Find and select the database you want to use. For the dbtoolboxdemo data source, select tutorial.mdb as shown in the preceding illustration.

If your database resides on another system to which your PC is connected, you must first click Network in the Select Database dialog box. The Map Network Drive dialog

Page 19: Kode Program Minggu 8-14

box appears. Find and select the directory containing the database you want to use, and then click Finish.

8. Click OK to close the Select Database dialog box.

9. In the ODBC Setup dialog box, click OK.

10. Click OK to close the ODBC Data Source Administrator dialog box, which now contains the dbtoolboxdemo data sources.

KONEKSI KE BASIS DATA MYSQL

1. Download the installer binary to a temporary location and double click on it to install. MySQL Connector-J gets installed by default. Since the stack is fully pre-configured no configuration issues come up when using MySQL Connector-J.

2. Put mysql-connector-java-3.1.8-bin.jar in your classpath, either by adding the FULL path to it to your CLASSPATH environment variable, or putting it in $JAVA_HOME/jre/lib/ext.

If you are using a servlet engine or application server, you will have to read your vendor's documentation for more information on how to configure third-party class libraries, as most application servers ignore the CLASSPATH environment variable.

If you are developing servlets and/or JSPs, and your application server is J2EE-compliant, you should put the driver's .jar file in the WEB-INF/lib subdirectory of your webapp, as this is the standard location for third party class libraries in J2EE web applications.

You can also use the MysqlDataSource, MysqlConnectionPoolDataSource or MysqlXADataSource classes in the com.mysql.jdbc.jdbc2.optional package, if your J2EE application server supports/requires them. MysqlDataSource supports the following parameters (through standard "set" mutators):

Page 20: Kode Program Minggu 8-14

user password serverName (see the next section about fail-over hosts) databaseName port

If you are going to use the driver with the JDBC DriverManager, you would use "com.mysql.jdbc.Driver" as the class that implements java.sql.Driver.

3. You might use this name in a Class.forName() call to load the driver:

Class.forName("com.mysql.jdbc.Driver").newInstance();

4. To connect to the database, you need to use a JDBC url with the following format ([xxx] denotes optional url components):

jdbc:mysql://[hostname][,failoverhost...][:port]/[dbname]

[?param1=value1][&param2=value2].....

The driver now has fail-over support. This allows the driver to fail-over to any number of "slave" hosts and still perform read-only queries. Fail-over only happens when the connection is in a autoCommit(true) state, because fail-over can not happen reliably when a transaction is in progress. Most good application servers and connection pools set autoCommit to 'true' at the end of every transaction/connection use.

The fail-over functionality has the following behavior:

If the URL parameter "autoReconnect" is false: Failover only happens at connection initialization, and failback occurs when the driver determines that the first host has become available again.

If the URL parameter "autoReconnect" is true: Failover happens when the driver determines that the connection has failed (before _every_ query), and falls back to the first host when it determines that the host has become available again (after queriesBeforeRetryMaster queries have been issued).

In either case, whenever you are connected to a "failed-over" server, the connection will be set to read-only status, so queries that would modify data will have exceptions thrown (the query will _never_ be seen by the MySQL server).

Page 21: Kode Program Minggu 8-14

A simple connection example looks like:

Class.forName("com.mysql.jdbc.Driver").newInstance();

java.sql.Connection conn;

conn = DriverManager.getConnection(

"jdbc:mysql://localhost/test?user=blah&password=blah");