tugas uts web ll

Upload: songjoongki

Post on 01-Mar-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Tugas Uts Web Ll

    1/36

    UGAS U S

    Pemrograman web II

    OLEH :

    NAMA : Susilawati

    NIM : 1510530265

    PROGRAM STUDI TEKNIK INORMATIKA

    SEKOLAH TINGGI MANA!EMEN INORMATIKA DAN KOMPUTER

    "STMIK# $UMIGORA

    MATARAM

    2016

  • 7/26/2019 Tugas Uts Web Ll

    2/36

    1% K&'sta'ta "(&'sta't#Dalam pemrograman komputer,'Konstanta'adalah identifier yang terkait nilai

    tidak bisa biasanya diubah oleh program selama pelaksanaannya (meskipun

    dalam beberapa kasus ini dapat dielakkan, misalnya menggunakan self-modifying code). Banyak bahasa pemrograman membuat perbedaan sintaksis

    eksplisit antara simbol konstan dan variable.Meskipun nilai constant yang ditentukan hanya sekali, sebuah constant dapat

    direferensikan berkali-kali dalam sebuah program. Menggunakan konstan, bukan

    menentukan nilai beberapa kali dalam program tidak bisa hanya

    menyederhanakan pemeliharaan kode, tetapi juga dapat menyediakan nama

    yang bermakna untuk itu dan menggabungkan ikatan constant seperti ke lokasi

    kode standar (misalnya, di aal).

    2% Aut&l&a)i'*adalah sebuah cara untuk memanggil sebuah class pada file lain tanpa

    menggunakan fungsi include. !eperti telah dijelaskan sebelumnyabaha kita

    sebaiknya membuat class pada file tersendiri, yang selanjutnya ini kita sebut

    dengan modul.

    Dengan membuat class pada file terpisah, kita tidak harus mengulang menulis

    sebuah class yang sama, namun cukup menyertakannya saja. "ah, autoloading

    class ini membuat cara menyertakan class menjadi lebih ringkas tanpa harus

    menuliskan perintah include.#lasan lain adalah saat ini kebanyakan developer menulis dan menyimpan

    class sesuai dengan definisinya masing-masing. Masalah yang kemudian terjadi

    adalah banyaknya include yang harus ditulis diaal sebuah file, jika hanya satu

    atau dua file tidak apa, lha bagaimana jika file yang diinclude berjumlah puluhan,

    hal ini tentu menjadi akan sangat tidak efisien.

    Membuat #utoloading $lass

    %ita bisa membuat autoloadng class dengan function++aut&l&a)"#. &anda ''

    adalah underscore (') yang ditulis dua kali seperti pada function ''construct().

    ungsi ini otomatis akan memanggil class saat kita akan menggunakannya,

    meskipun belum didefinisikan sebelumnya.

    function ''autoload(class'name) *

    https://id.wikipedia.org/wiki/Pemrograman_komputerhttps://id.wikipedia.org/wiki/Pemrograman_komputerhttps://id.wikipedia.org/w/index.php?title=Self-modifying_code&action=edit&redlink=1https://id.wikipedia.org/w/index.php?title=Self-modifying_code&action=edit&redlink=1http://nulis-ilmu.blogspot.com/2014/11/tutorial-php-oop-part-9-menaruh-class-dalam-modul.htmlhttps://id.wikipedia.org/w/index.php?title=Self-modifying_code&action=edit&redlink=1https://id.wikipedia.org/w/index.php?title=Self-modifying_code&action=edit&redlink=1http://nulis-ilmu.blogspot.com/2014/11/tutorial-php-oop-part-9-menaruh-class-dalam-modul.htmlhttps://id.wikipedia.org/wiki/Pemrograman_komputer
  • 7/26/2019 Tugas Uts Web Ll

    3/36

    include class'name . +.php+

    #da beberapa aturan yang memudahkan kita dalam menggunakan autoloading

    class, yaitu

    /. %ita buat satu class satu file modul.

    0. "ama file modul harus sama dengan nama class, termasuk memperhatikan

    huruf besar dan kecilnya.

    1. ile modul berada pada folder yang sama dengan file php. 2ika berada padafolder lain harus sertakan path yang lengkap.

    3. fungsi ''autoloading harus ada pada file php.

    Contoh Membuat Autoloading Class :

    /. Buat class 4umus/ lalu simpan dengan nama 4umus0.php

    56php

    class 4umus/ *

    var panjang

    var lebar

    function luas() *

    return this-7panjang 8 this-7lebar

    function ''construct(9,y) *

    this-7panjang : 9

    this-7lebar : y

  • 7/26/2019 Tugas Uts Web Ll

    4/36

    67

    0. Buat class 4umus0 lalu simpan dengan nama 4umus0.php

    56php

    class 4umus0 *

    var diameter

    function luas() *

    r : this-7diameter ;0

    return 1./3 8 r 8 r

    function ''construct(9) *

    this-7diameter : 9

    67

    1. Buat file php yang menggunakan dua class tadi

    56php

    function ''autoload(class'name) *

  • 7/26/2019 Tugas Uts Web Ll

    5/36

    include class'name . +.php+

    rumus/ : ne 4umus/(?uas 4umus/ : >.rumus/-7luas().>5br;7>

    echo >?uas 4umus0 : >.rumus0-7luas()

    67

    3. @astikan ketiga file berada pada folder yang sama.

  • 7/26/2019 Tugas Uts Web Ll

    6/36

    ;;menggunakan variabel dalam mereferen class classname : +My$lass+

    echo classname%"!" ;;#s of @C@ echo selfmy'static . >

    > ;;memanggil method pada class tanpa instantisasi object

    ;;dengan mereferen dari variabel classname : +#nak+

    echo classnamedouble$olon() ;;#s of @C@ class #nak e9tends My$lass *

    ;; Membuat function yang menimpa function pada induk

    public function myunc() *

    ;; tapi masih bisa mengakses method dari class induk parentmyunc()echo >#nakmyunc()

    > class : ne #nak() class-7myunc() 67 @ada contoh

    terdapat class induk My$lass yang mempunyai method myunc dengan perintah

    menampilkan >My$lassmyunc()> untuk menandai baha tampilan ni dihasilkan

    oleh method myunc() pada class induk. %emudian kita membuat class turunan

    bernama #nak dan membuat method bernama myunc() juga, sama dengan method

    pada class induk. %emudian pada method tersebut kita membuat dua perintah, yaitu* parentmyunc() untuk mengakses method myunc() pada class induk dan

    * echo >#nakmyunc()

    > untuk menampilkan tulisan >#nakmyunc()>.

  • 7/26/2019 Tugas Uts Web Ll

    7/36

    % Stati( P.&,-.t )a' Stati( M-t/&)

    2ika di aal tutorial @emrograman objek @C@ ini saya menjelaskan baha

    seluruhpropertydanmethodhanya bisa diakses dari objek, maka staticpropertydan static methodadalah pengecualiannya.

    Stati( ,.&,-.tdan stati( -t/&)adalahproperty(variabel) dan method(function)

    yang melekat kepada class, bukan kepada objek. %onsep staticpropertymemang

    Fagak keluarG dari konsep objek sebagai tempat melakukan proses, karena

    sebenarnya class hanya merupakan Fblueprintsaja.

    Entuk membuat static property danstatic method, kita menambahkan keyord

    Fstaticsetelah penulisan akses levelproperty atau method, seperti contoh berikut

    ;; static property

    public static harga'beli

    ;; static method

    public static function beli'laptop() *

    ;;...isi method

    Dalam contoh diatas, saya menggunakan hak aksespublic, tetapi kita juga bisa

    menggunakan hak akses lain sepertiprivatedanprotected untuk static

    property danstatic method.

    %arena staticpropertydan static methodadalah milik (lass, maka kita tidak perlu

    membuat objek untuk mengaksesnya, tapi langsung menyebutkan nama class dan

    menggunakan operator F::G, berikut adalah contoh pengaksesan static

    propertydan static methoddari class laptop

    echo laptopharga'beli

  • 7/26/2019 Tugas Uts Web Ll

    8/36

    echo laptopbeli'laptop()

    Tut&.ial a.a P-'**u'aa' Stati( P.&,-.t )a' Stati( M-t/&)

    #gar lebih memahami cara penggunaan static propertydan static method, langsung

    saja kita masuk ke dalam kode program

    56php

    ;; buat class laptop

    class laptop *

    public merk

    public pemilik

    ;; static property

    public static harga'beli

    ;;static method

    public static function beli'laptop() *

    return >Beli ?aptop>

    ;; set static property

  • 7/26/2019 Tugas Uts Web Ll

    9/36

    laptopharga'beli:3AAAAAA

    ;; get static property

    echo >harga beli 4p>.laptopharga'beli

    echo >5br ;7>

    ;; panggil static method

    echo laptopbeli'laptop()

    67

    Dalam kode diatas, saya membuat class laptopdengan 0propertyFbiasaG, / static

    propertydan /static method. @erhatikan cara mengkases keduanya tanpa membuat

    objek.

    a.a M-'*a4s-s Stati( P.&,-.t )a' Stati( M-t/&) Da.i lass Itu S-')i.i

    2ika kita menggunakan variabel $thisuntuk

    mengaksespropertydan methodFnormalG dari dalam class, maka untuk

    mengakses static propertydan static method, kita menggunakan keyord Hself::I.

    Berikut contoh penggunaannya

    56php

    ;; buat class laptop

    class laptop *

    public merk

  • 7/26/2019 Tugas Uts Web Ll

    10/36

    public pemilik

    ;; static property

    public static harga'beli

    ;;static method

    public static function beli'laptop() *

    return >Beli laptop seharga 4p>.selfharga'beli

    ;; set static property

    laptopharga'beli:3AAAAAA

    ;; panggil static method

    echo laptopbeli'laptop()

    67

    @ada kode program @C@ diatas, saya menggunakan perintah self::$harga_beli,

    untuk memanggilstatic propertydari dalam class laptopitu sendiri.

  • 7/26/2019 Tugas Uts Web Ll

    11/36

    a.a M-'*a4s-s Stati( P.&,-.t )a' Stati( M-t/&) Pa.-'t lass

    Entuk class dengan penurunan (inheritance), kita bisa

    menggunakan keyword,a.-'t::'aa+,.&,-.t dan,a.-'t::'aa+-t/&)untukmengakses static propertydan static methoddariparent class.

    Misalnya class laptopadalah turunan dari class komputer, kita bisa menggunakan

    perintahparent::beli_komputer() untuk mengakses static methodpada class

    komputer dari dalam class laptop.

    Berikut adalah contoh pengaksesan static method milikparent class

    56php

    ;; buat class komputer

    class komputer *

    ;; protected static method

    protected static function beli'komputer()*

    return >Beli %omputer Baru>

    ;; turunkan class komputer ke class laptop

    class laptop e9tends komputer*

    ;; private static method

    private static function beli'laptop()*

  • 7/26/2019 Tugas Uts Web Ll

    12/36

    return >Beli ?aptop Baru>

    ;; public static method

    public static function beli'semua()*

    echo parentbeli'komputer()

    echo >5br ;7>

    echo selfbeli'laptop()

    ;; panggil static method

    laptopbeli'semua()

    ;; coba panggil private static method

    ;; laptopbeli'laptop()

    ;; atal error $all to private method laptopbeli'laptop()

    67

    @ada kode diatas, saya membuat class komputerdengan sebuah static

    methodbeli_komputer(). Method ini memiliki hak aksesprotected, sehingga

    hanya bisa diakses dari dalam classitu sendiri atau dari dalam classturunan.

  • 7/26/2019 Tugas Uts Web Ll

    13/36

    Class komputerkemudian FditurunkanG kepada class laptop. Di dalam class

    laptop, saya membuat dua buah static method. !tatic method belilaptop!"di set

    dengan hak aksesprivate, sehingga tidak bisa diakses dari luar class laptop.

    Dalam method belisemua!", saya

    memanggil methodbelikomputer!" milik class komputer menggunakan

    perintahparent::beli_komputer(). Jni adalah cara pemanggilan static

    methodmilikparent class. %emudian masih di dalam method belisemua!", saya

    memanggil method belilaptop!"dengan perintah self::beli_laptop(), karena

    method ini ada di dalam class leptop itu sendiri.

    Entuk menguji apakah method beli_semua()sukses dijalankan, saya

    kemudian memanggilnya dengan perintah laptop::beli_semua().

    @erhatikan juga pada bagian komentar di akhir kode diatas. 2ika kita mencoba

    memanggil method laptopbeli'laptop(), @C@ akan mengeluarkan errorkarena

    method belilaptop!"memiliki hak aksesprivate, sehingga tidak bisa diakses dari

    luar class.

    Dalam membuatprogram berbasis objek, penggunaan static property(dan

    juga static method) sebaiknya dibatasi, karena static methodcenderung susah

    dideteksi jika terjadi kesalahan. "amun konseppropertydan methodyang

    melekat kepada classini banyak juga digunakan untuk membuat design pattern.

    Bahkan di dalam frameork @C@ seperti laravel, static methodmerupakan

    mekanisme utama untuk menjalankan sebagian besar kode program.

    %elas abstrak digunakan untuk membuat sebuah kelas yang memiliki method

    yang belum jelas implementasinya. Berikut ini aturan nya

    K 2ika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas

    abstrak.

    K !ebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.

  • 7/26/2019 Tugas Uts Web Ll

    14/36

    K 2ika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua

    method abstrak dari kelas abstrak haruslah ditulis ulang ; dibuat ulang di kelas

    konkretnya dan diberi detail dari methodnya.

    K 2ika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak,

    maka tidak perlu menulis ulang method yang abstrak.

    5% Ast.a(t lass#bstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek

    (tidak boleh ada instansiasi) serta method-method yang abstract harus

    disempurna-kanoleh kelas turunannya melalui override. %elas seperti ini biasanya

    merupakan rootsuatu struktur kelas.%onsekuensi penggunaan sifat abstract

    /.&idak dapat dibuat constructor yang abstract.0.&idak dapat dibuat method yang

    static dan abstract (kedua sifat salingkontradiktif).1.&idak diijinkan membuat

    method yang private dan abstract (kedua sifat ini jugasaling %ontradiktif)

    ungsi abstract adalah fungsi tanpa implementasi, di mana dikarenakan sifatnya

    terlalu general sehingga tidak bisa diimplementasikan

    Berikut $ontoh yang !aya berikan %edalam 1 Bahasa &'t&/ P.&*.a t-.l-i/ )a/ulu

    5;div7

    5div7using !ystem

    using !ystem.$ollections.Leneric

    using !ystem.?in

    using !ystem.&e9t

    namespace @0'Nidy'#bstract$lass

  • 7/26/2019 Tugas Uts Web Ll

    15/36

    *

    class @rogram

    *

    public static void Main(stringOP args)

    *

    implementasi ek : ne implementasi()

    string nama : >"i Made @utri Nidiastuti>

    string ttl : >Banyuangi, 00 #pril /QQ1>

    string aktivitas : >Berolahraga>

    ek.tes()

    ek.met(nama,ttl,aktivitas)

    $onsole.Nrite(>@ress any key to continue . . . >)

    $onsole.4ead%ey(true)

  • 7/26/2019 Tugas Uts Web Ll

    16/36

    abstract class pertama

    *

    public abstract void met(string nama, string ttl, string aktivitas)

    public void tes()

    *

    $onsole.Nrite?ine(>Biodata "i Made @utri Nidiastuti !&J%M @L4J

    B#"EN#"LJ>)

    class implementasi pertama

    *

    public override void met(string nama, string ttl, string aktivitas)

    *

    $onsole.Nrite?ine(>"ama *A>,nama)

    $onsole.Nrite?ine(>&empat, &anggal ?ahir *A>,ttl)

  • 7/26/2019 Tugas Uts Web Ll

    17/36

    $onsole.Nrite?ine(>#ktivitas &erkini *A>,aktivitas)

    Casilnya !ebagai Berikut

    7a'* S-la'8ut'a A)la/ &'t&/ P.&*.a a'* t-la/ )i I,l--'tasi4a'

    K-)ala $a/sa 99

    5;div7

    5div7Rinclude 5cstdlib7

    Rinclude 5iostream7

  • 7/26/2019 Tugas Uts Web Ll

    18/36

    using namespace std

    class pertama

    *

    public virtual void met(string nama, string ttl, string aktivitas) : A

    public void tes()

    *

    cout 55 >Biodata "i Made @utri Nidiastuti !&J%M @L4J B#"EN#"LJ> 55 endl

    class implementasi public pertama

    *

    public void met(string nama, string ttl, string aktivitas)

    *

    cout 55 >"ama >55nama 55 endl

    cout 55 >&empat, &anggal ?ahir >55 ttl 55 endl

  • 7/26/2019 Tugas Uts Web Ll

    19/36

    cout 55 >#ktivitas &erkini >55 aktivitas 55 endl

    int main(int argc, char 8argvOP)

    *

    implementasi ek

    string nama : >"i Made @utri Nidiastuti>

    string ttl : >Banyuangi, 00 #pril /QQ1>

    string aktivitas : >Berolahraga>

    ek.tes()

    ek.met(nama,ttl,aktivitas)

    cout 55 >@ress any key to continue . . . > 55 endl

    system(>@#E!S>)

    return STJ&'!E$$S!!

  • 7/26/2019 Tugas Uts Web Ll

    20/36

    Hasil'a A)ala/ :

    S-.ta a'* T-.a4/i. a)la/ D-'*a' M-'**u'a4a' P.&*.a a/asa !aa :

    5;div7

    5div7package oop0'idy/'abstractclass

    import java.util.8

    public class Main

    *

    private static !canner input : ne !canner(!ystem.in)

    static implementasi imp : ne implementasi()

  • 7/26/2019 Tugas Uts Web Ll

    21/36

    public static void main(!tringOP args)

    *

    implementasi ek : ne implementasi()

    !tring nama : >"i Made @utri Nidiastuti>

    !tring ttl : >Banyuangi, 00 #pril /QQ1>

    !tring aktivitas : >Berolahraga>

    ek.tes()

    ek.met(nama,ttl,aktivitas)

    !ystem.out.println(>@ress any key to continue . . . >)

    !ystem.out.println()

    abstract class pertama

    *

  • 7/26/2019 Tugas Uts Web Ll

    22/36

    public abstract void met(!tring nama, !tring ttl, !tring aktivitas)

    public void tes()

    *

    !ystem.out.println(>Biodata "i Made @utri Nidiastuti !&J%M @L4J

    B#"EN#"LJ>)

    class implementasi e9tends pertama

    *

    public void met(!tring nama, !tring ttl, !tring aktivitas)

    *

    !ystem.out.println(>"ama >Unama)

    !ystem.out.println(>&empat, &anggal ?ahir >Uttl)

    !ystem.out.println(>#ktivitas &erkini > Uaktivitas)

  • 7/26/2019 Tugas Uts Web Ll

    23/36

    5;div7

    5div7

  • 7/26/2019 Tugas Uts Web Ll

    24/36

  • 7/26/2019 Tugas Uts Web Ll

    25/36

    6% O8-(t I't-.;a(-

    !ecara sederhana< O8-(t I't-.;a(-adalah sebuah Fkontrakatau

    perjanjian implementasi method.

    Bagi classyang menggunakan objectinterface, classtersebut harus

    mengimplementasikan ulang seluruh methodyang ada di dalam interface. Dalam

    pemrograman objek, penyebutan object interfacesering disingkan dengan

    F#nterfacesaja.

    2ika anda telah mempelajari abstract class, maka interfacebisa dikatakan

    sebagai bentuk lain dariabstract class. Nalaupun secara konsep teoritis dan

    tujuan penggunaannya berbeda. !ama seperti abstract class, interfacejuga hanya

    berisi signaturedari method, yakni hanya namamethoddanparameternya saja

    (jika ada). Jsi dari method akan dibuat ulang di dalam classyang

    menggunakan interface.

    2ika kita menganggap abstract classsebagai Fkerangkaatau Fblue printdari

    class-class lain, makainterfaceadalah implementasi method yang harus

    Ftersediadalam sebuah objek. #nterfacetidak bisa disebut sebagai

    Fkerangkaclass. Menyambung analogi kita tentang classkomputer, interfacebisa

    dicontohkan dengan Fmouse, atau Fkeyboard. Di dalam interface mouse, kita bisa

    membuat method seperti klikkiri!"$ klikkanan!"$ dandoubleklik!". 2ika class

    laptop Fmenggunakaninterface mouse, maka class tersebut harus membuat ulang

    method klikkiri!"$ klikkanan!"$ dandoubleklik!".

    a.a M-uat I't-.;a(- )ala PHP

    Entuk membuat Interfacedi dalam @C@, kita menulisnya mirip seperti

    membuat class, tetapi menggunakan keywordi't-.;a(-, seperti contoh berikut

    /

    0

    1

    3

    56php

    interface mouse

    *

    ;;...isi dari interface mouse

  • 7/26/2019 Tugas Uts Web Ll

    26/36

    %lik %anan...>

    public function klik'kiri()*

    return >%lik %iri...>

  • 7/26/2019 Tugas Uts Web Ll

    28/36

    /%lik %anan...>

    laptop'baru : ne laptop()

    ;; atal error $lass laptop contains / abstract method

    ;; and must therefore be declared abstract

    ;; or implement the remaining methods (mouseklik'kiri)

  • 7/26/2019 Tugas Uts Web Ll

    29/36

    /W 67

    M-t/&) I't-.;a(- Ha.us )i s-t S-a*ai Puli(

    !esuai dengan tujuannya untuk membuat interface&antar mukabagi class, method di

    dalam perancangan interfaceharus memiliki hak aksespublic, atau tidak ditulis

    sama sekali (dimana @C@ akan menganggapnya sebagaipublic). 2ika kita

    mengubah hak akses method di dalam interfacemenjadiprivateatauprotected,

    @C@ akan mengeluarkan error

    /

    0

    1

    3

    %lik %iri...>

    laptop'baru : ne laptop()

  • 7/26/2019 Tugas Uts Web Ll

    30/36

    /W

    /=

    /Q

    ;; atal error #ccess type for interface

    ;; method mouseklik'kiri() must be omitted

    67

    Di dalam classyang menggunakan interface, methodyang berasal

    dari interface juga harus memiliki hak akses public. %ita tidak bisa mengubahnya

    menjadiprotectedatauprivate.

    /

    0

    1

    3

    %lik %iri...>

    laptop'baru : ne laptop()

    ;; atal error #ccess level to laptopklik'kiri()

  • 7/26/2019 Tugas Uts Web Ll

    31/36

    /Q

    0A

    ;; must be public (as in class mouse)

    67

    Dalam contoh diatas, saya mengubah hak

    akses methodklikkiri!"menjadiprotecteddi dalam class laptop. Cal ini akan

    menghasilkan error.

    I't-.;a(- isa )i Tu.u'4a' "I'/-.it#

    Di dalam @C@, interfacebisa diturunkan kedalam interfacelain. @rosesnya mirip

    dengan penurunan class, yakni dengan menggunakan kata kunci extends

    /

    0

    1

    3

    %lik %anan...>

  • 7/26/2019 Tugas Uts Web Ll

    32/36

    /Ebah settingan D@J mouse>

    laptop'baru : ne laptop()

    echo laptop'baru-7ubah'dpi()

    ;; Ebah settingan D@J mouse

    67

    I't-.;a(- $isa M-ili4i K&'sta'ta

    Dalam @C@, Jnterface bisa memiliki konstanta . Berikut adalah contoh penggunaan

    konstanta di dalam interface

    /

    0

    1

    3

    !alah satu yang membedakan interfacedengan abstract classadalah kita tidak bisa

    membuat method biasa di dalam #nterface. $ontoh berikut akan menghasilkan error

    /

    0

    1

    3

    %lik %iri...>

    class laptop implements mouse*

    public function klik'kanan()*

    return >%lik %anan...>

  • 7/26/2019 Tugas Uts Web Ll

    34/36

    /1

    /3

    /%lik %iri...>

    public function tekan'enter()*

    return >&ekan &ombol Snter...>

    laptop'baru : ne laptop()

    echo laptop'baru-7tekan'enter()

    ;; &ekan &ombol Snter...

    67

    Dalam contoh diatas saya membuat dua buah interface, yakni mousedan keyboard.

    %eduainterfaceini kemudian digunakan oleh class laptop.

  • 7/26/2019 Tugas Uts Web Ll

    36/36

    u'*si I't-.;a(- )ala P-.&*.aa' O8-4

    2ika anda telah mempelajari abstract classdalam tutorial kita sebelumnya, sedikit

    banyak kita bisa memahami fungsi interfacejika dibandingkan denganfungsi abstract class. %edua konsep ini sering membuat bingung karena mirip

    dalam implementasinya.

    Interfacelebih berperan untuk menyeragamkan method. Ja tidak masuk kedalam

    struktur class seperti abstract class. 2ika kita menggunakan abstract

    classkomputersebagai Fkonsep classuntuk kemudian diturunkan kepada class lain

    seperti class laptop$ class pc$ danclass netbook, maka interface hanya Fpenyedia

    methodG. #nterfacetidak termasuk kedalam pearisan class.

    http://www.duniailkom.com/tutorial-belajar-oop-php-pengertian-abstract-class-dan-abstract-method-php/http://www.duniailkom.com/tutorial-belajar-oop-php-pengertian-abstract-class-dan-abstract-method-php/