Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma & Pemrograman 1

Presentasi serupa


Presentasi berjudul: "Algoritma & Pemrograman 1"— Transcript presentasi:

1 Algoritma & Pemrograman 1
Membuat class sendiri

2 Mendefinisikan class c/ public class mhs { //coding lanjut } Public class dapat diakses oleh class” lain di luar package Class keyword untuk membuat class StudentRecord identifier untuk mendeskripsikan class Sintaks : <modifier> class <name> { <attributeDeclaration>* <constructorDeclaration>* <methodDeclaration>* } <modifier>  sebuah modifier bertipe access yang dapat dikombinasikan dengan modifier bertipe lainnya.

3 Deklarasi atribut <modifier> <type> <name> [= <default_value>]; Dengan isi atribut sbb: name String address - String age - Int math grade - double english grade - double science grade - double average grade - double

4 Deklarasi AtributInstance variable
public class RecordMhs { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; //next coding } privatevariabel hanya dapat diakses dalam class & Object lain tidak dapat mengakses variabel ini secara langsung

5 Deklarasi Atribut Clas/static variable
public class RecordMhs { //variabel instance yang telah kita deklarasikan private static int MhsCount; //kita tambahkan kode di sini } keyword static  menandai suatu static variable

6 Deklarasi method <modifier> <returnType> <name>(<parameter>*) { <statement>* } <modifier>modifier yang digunakan dapat berbeda-beda <returnType>  dapat berupa tipe data (termasuk void) <name>  dapat berupa identifier yang valid <parameter> ::=  <parameter_type> <parameter_name>[,]

7 1.Method accessor Fungsi.u/ membaca value variabel dari class (instance/static) Sintaks: get<NameOfInstanceVariable> dapat me-return value

8 c/ public class StudentRecord { public class StudentRecord {
private String name; : public String getName(){ return name; } Publicmethod dapat dipanggil oleh object” di luar class Stringreturn type dari method harus me-return value dengan tipe String getNamenama method ()method tidak memiliki parameter public class StudentRecord { private String name; : public double getAverage(){ double result = 0; result=(mathGrade+englishGrade+scienceGrade)/3; return result; }

9 2.Method mutator public class StudentRecord { private String name;
: public void setName( String temp ){ name = temp; } Fungsi untuk menulis/mengubah value dari class(instance/static) variable Sintak set<NameOfInstanceVariable> Publicmethod dapat dipanggil oleh object” di luar class Voidmethod tidak me-return value setNamenama method (String temp)parameter yang digunakan di dalam method

10 3.Multiple return statement
digunakan dalam sebuah method selama tidak berada pada block yang sama. konstanta dapat digunakan untuk me-return value sebuah variabel public String getNumberInWords( int num ){ String defaultNum = "zero"; if( num == 1 ){ return "one"; //return a constant } else if( num == 2){ return "two"; //return a constant //return a variable return defaultNum;

11 4.Method static public class RecordMhs { private static int MhsCount; public static int getMhsCount(){ return MhsCount; } Publicdapat dipanggil oleh object-object di luar class StaticSintaks :[ClassName].[methodName] Contoh: RecordMhs.getMhsCount() Intreturn type dari method. Method harus me-return value dengan tipe int getMhsCountnama method ()method tidak mempunyai parameter

12 Contoh AplikasiRecordMhs

13 Reference ‘this’ this.<namaInstanceVariable>
Fungsiuntuk mengakses instance variabel yang di biaskan oleh parameter dan Bukan pada static/class variable Sintaks: this.<namaInstanceVariable> public void setAge( int age ){ age = age; //F } public void setAge( int age ){ this.age = age; //T }

14 Method overloading Dapat digunakan ketika operator yang sama memiliki implementasi yang berbeda Properti”: Nama method sama Parameter/argument berbeda (jumlah dan Type) Return type dapat berbeda atau sama

15 Next Aplikasi RecordMhsOverloading

16 Constructor method dimana seluruh inisialisasi object ditempatkan
Properti”: Punya nama yang sama dengan class Mirip dengan method pada umumnya, namun hanya informasi” berikut yang dapat ditempatkan pada header sebuah constructor scope atau identifikasi pengaksesan (misal: public), nama dari konstuktor dan parameter Tidak memiliki return value Tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan operator new pada pembentukan sebuah class Sintaks: <modifier> <className> (<parameter>*) { <statement>* }

17 1.Default constructor Setiap Class memiliki default constructor
Mrkconstructor yang tidak memiliki parameter apapun Jika sebuah class tidak memiliki constructor apapun, maka sebuah default constructor akan terbuat secara implisit public StudentRecord() { //area penulisan kode }

18 2. Constructor overloading
constructor juga dapat dibentuk menjadi overloaded (1) public StudentRecord(){ //Next Coding } (2) public StudentRecord(String temp){ this.name = temp; } (3) public StudentRecord(String name, String address){ this.name = name; this.address = address; } (4) public StudentRecord(double mGrade, double eGrade, double sGrade){ mathGrade = mGrade; englishGrade = eGrade; scienceGrade = sGrade; }

19 Pemanggil constructor ‘this()’
. Dalam hal ini, dapat digunakan pemanggil this() .

20 Pemanggil constructor ‘this()’
Sebuah constructor dapat dipanggil oleh constructor yang lain d/ pemanggil this() Kriteria: Pemanggil constructor this(), harus ada pada statement pertama dalam constructor this() hanya digunakan dalam definisi constructor this() dapat diikuti oleh statement yang relevan

21 c/ 1. Public RecordMhs(){ this(“some string”); } 2.
public RecordMhs(String temp){ this.name = temp; 3. Public static void main(String args[]){ RecordMhs RecordMhs = new StudentRecord()

22 Next AplikasiRecordMhsConstructor

23 Package Pengelompokan class dan interface dalam satu unit
Menyediakan mekanisme pengaturan kelompok class dan interface untuk menghindari konflik penamaan Untuk dapat menggunakan class-class di luar package yang sedang kita kerjakan perlu meng-import package dari class” tersebut Program Java secara otomatis akan meng-import package java.lang.*, sehingga class String dan Integer dapat langsung digunakan dalam program

24 Import Package Sintaks: c/ import <nameOfPackage>;
import java.awt.Color; import java.awt.*;

25 Membuat Package Sintaks package <namaPackage>;
Package juga dapat dibuat nested(bersarang) Dengan pengertianinterpreter Java mengharapkan struktur direktori yang berisi class” yang dapat dieksekusi ke hierarki package yang cocok c/ package MhsClasses; public class RecordMhs { private String name; private String address; private int age; :

26 Access modifier Ada 4 tipe:
Default Public Private protected Default merupakan default access modifier, yang tidak menggunakan keyword public, private, dan protected merupakan access modifier tipe akses, yang secara eksplisit harus ditulis.

27 1.Hak akses Default Hanya class-class dalam package yang sama yang memiliki akses ke class variable dan method Tidak ada keyword bagi modifier default c/ public class RecordMhs { //akses default ke instance variable int name; //akses default ke method String getName(){ return name; }

28 2. Hak akses public Anggota class dapat diakses dari dalam or dari luar class Object apapun yang berinteraksi dengan class, memiliki akses ke anggota class yang ber-modifier public Keyword : public c/ public class RecordMhs{ //akses default ke instance variable public int name; //akses default ke method public String getName(){ return name; }

29 3.Hak akses protected Anggota class hanya dapat diakses oleh method dalam class dan subclass dari class Keyword : protected c/ public class RecordMhs{ //akses default ke instance variable protected int name; //akses default ke method protected String getName(){ return name; }

30 4.Hak akses private Anggota class hanya dapat diakses oleh class yang mereka definisikan di dalamnya Keyword : private c/ public class RecordMhs{ //akses default ke instance variable private int name; //akses default ke method private String getName(){ return name; }

31 Tugas 1: Studi Kasus: Buat class yang memuat data-data pada buku alamat, dengan atribut: Nama Alamat No Telepon implementasikan dari method sbb: 1. Dengan accessor dan mutator method terhadap seluruh atribut 2. Dengan Constructor

32 Tugas 2: Studi Kasus: Buat sebuah class buku alamat yang dapat menampung 100 data, Gunakan class yang telah dibuat pada Tugas 1. Soalnya: implementasikan method berikut pada buku alamat : 1. Memasukkan data 2. Menampilkan seluruh data 3. Update data


Download ppt "Algoritma & Pemrograman 1"

Presentasi serupa


Iklan oleh Google