• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
42
0
0

Teks penuh

(1)

1

Pada bab ini diuraikan rangkuman informasi yang dihimpun dari berbagai pustaka yang relevan dengan masalah yang menjadi objek kajian. Materi yang dicakup dalam landasan teori meliputi pengertian design pattern yang digunakan dalam merancang bangun perangkat lunak, model iterative, Unified Modeling Languange (UML) yang digunakan sebagai bahasa pemodelan perangkat lunak.

2.1 Design pattern

Menurut Christoper Alexander, “Setiap pola menguraikan suatu masalah yang terjadi berulang-ulang pada lingkungan kita, dan kemudian menggambarkan solusi dari masalah tersebut, sehingga solusi yang dihasilkan dapat digunakan sesering mungkin”[ERR95].

Secara umum, pattern mempunyai empat unsur penting :

1. The pattern name adalah nama yang akan kita gunakan untuk menggambarkan masalah desain, solusi, dan konsekuensi.

2. The problem digambarkan ketika menggunakan pattern. Pattern menggambarkan masalah desain tersebut secara spesifik, seperti bagaimana menggambarkan algoritma sebagai objek.

3. The solution menggambarkan unsur-unsur penyusun desain, hubungan antar usur, tanggung jawab, dan kolaborasi.

4. The consequences adalah hasil dari penerapan pattern consequences sering tidak dinyatakan ketika memutuskan untuk menggambarkan desain.

Design pattern menggambarkan komunikasi antara objek dan class yang dibuat untuk memecahkan masalah desain secara umum dalam keadaan tertentu.

(2)

Suatu design pattern mengidentifikasikan aspek utama suatu struktur desain agar design pattern tersebut berguna untuk membuat desain berorientasi objek yang mampu digunakan secara berulang. Design pattern fokus pada desain, khususnya yang berorientasi objek. Design pattern dapat diklasifikasikan berdasarkan purpose yang mencerminkan apa yang dapat dilakukan oleh pattern tersebut yang diuraikan pada tabel 2.1[ERR95].

Tabel Error! Reference source not found..1 Design pattern berdasarkan purpose

Purpose Design pattern Aspect(s) That Can Vary

Creational Abstract Factory Kumpulan dari objek produk

Builder Bagaimana menggabungkan objek

Factory Method Subclass dari object diinstansiasi Prototype Class objek yang diinstansiasi

Singleton Instansiasi dari class

Structural Adapter Interface ke sebuah objek

Bridge Implementasi dari sebuah objek

Composite Struktur dan komposisi sebuah objek Decorator Tanggung jawab sebuah objek tanpa

subclass

Façade Interface ke sebuah sub sistem

Flyweight (195) Penyimpanan objek

Proxy Bagaimana sebuah objek diakses

pada lokasinya

Behavioral Chain of Responsibility objek dapat memenuhi request

Command Kapan dan bagaimana sebuah request

dipenuhi

Interpreter Penafsiran dan tatabahasa suatu bahasa

Iterator Bagaimana sekumpulan unsur-unsur

diakses, dan dilintasi

Mediator Bagaimana dan objek yang mana

yang berhubungan satu dengan yang lain

(3)

Purpose Design pattern Aspect(s) That Can Vary diluar objek dan kapan

Observer Sekumpulan objek yang bergantung

pada object lain, dan bagaimana objek - objek tersebut saling meng-update

State Keadaan sebuah objek

Strategy Sebuah algoritma

Template Method Langkah-langkah algoritma

Visitor Operasi yang dapat digunakan objek tanpa mengganti class yang ada

(4)

2.1.1 Creational Pattern

Creational pattern memisahkan proses instansiasi dan membuat sistem sendiri akan bagaimana obyek diciptakan, disusun dan digambarkan. Kelas creational pattern menggunakan inherintance untuk mengubah kelas yang diinstansiasi, sedangkan obyek creational pattern akan memberikan intansiasi untuk obyek yang lain. Suatu waktu creational pattern saingan. Misalnya, terdapat kasus ketika salah satu penggunaan dari prototype atau abstract factory dapat saling menguntungkan.

Pada kesempatan lain mereka saling melengkapi. Builder dapat menggunakan salah satu dari pattern untuk mengimplemen komponen yang akan dibangun. Prototype dapat menggunakan singleton dalam implementasinya [ERR95].

2.1.1.1 Abstract Factory Pattern

Factory method menyediakan sebuah interface untuk menciptakan kumpulan obyek yang berelasi dan bergantung tanpa menentukan kelas konkrit [ERR95].

Abstract Factory pattern digunakan ketika[ERR95] :

1. Sebuah sistem seharusnya berdiri sendiri dapat dipandang dari hasil yang diciptakannya, diubah dan digambarkan.

2. Sistem seharusnya dikonfigurasi dengan salah satu kumpulan produknya. 3. Ingin menyediakan library kelas dari product.

(5)

Struktur factory method pattern terdapat pada gambar 2.1. +CreateProductA() +CreateProductB() AbstractFactory +CreateProductA() +CreateProductB() ConcreteFactory1 +CreateProductA() +CreateProductB() ConcreteFactory2 Client AbstractProductA ProductA2 ProductA1 AbstractProductB ProductB2 ProductB1

Gambar Error! Reference source not found..0.1Struktur Simple factory pattern

Keterangan struktur simple factory pattern:

a.

AbstractFactory : mendeklarasikan interface untuk operasi yang menciptakan obyek terpisah.

b.

ConcreteFactory : mengimplemen operasi untuk menciptakan obyek konkrit.

c.

AbstractProduct : mendefinisikan obyek yang akan diciptakan dengan menyesuaikan factory konkrit.

d.

Client : hanya menggunakan interface yang dideklarasikan oleh kelas AbstractFactory dan AbstractProduct.

(6)

2.1.1.2 Builder Pattern

Builder pattern merupakan pattern yang bertujuan untuk menyusun obyek yang kompleks karena gambarannya sehingga proses penyusunan yang sama dapat menciptakan gambaran yang berbeda [ERR95].

Builder pattern digunakan ketika[ERR95] :

a.

Algoritma untuk menciptakan obyek kompleks harus berdiri sendiri diantara bagian yang menghasilkan obyek dan bagaimana mereka digunakan.

b.

Proses konstruksi harus mengijinkan gambaran yang berbeda untuk obyek yang dikonstruksikan.

Struktur builder pattern terdapat pada gambar 2.2.

Gambar Error! Reference source not found..0.2 Struktur builder pattern

Keterangan builder pattern :

a.

Builder : menentukan interface abstract untuk menciptakan obyek Product.

b.

ConcreteBuilder : membuat dan menggunakan bagian dari product implementasi interface Builder, mendefinisikan dan membuat track untuk menggambarkannya, dan menyediakan interface untuk memperoleh product.

c.

Director : menyusun obyek menggunakan interface Builder.

d.

Product : menggambarkan obyek kompleks pada susunan. ConcreteBuilder membangun gambaran product internal, mendefinisikan proses melalui kumpulannya dan memasukkan kelas-kelas yang mendefinisikan unsur utama part, termaksud interface untuk mengumpulkan product ke hasil akhir.

2.1.1.3 Factory Method

Factory method mendefinisikan sebuah interface untuk menciptakan sebuah obyek, tetapi mengijinkan sub kelas menentukan kelas mana yang diinstansiasi. Factory method mengijinkan kelas membatalkan instansiasi ke sub kelas[ERR95].

(7)

Factory method pattern digunakan ketika[ERR95]:

a.

Sebuah kelas tidak dapat mengetahui obyek kelas yang harus diciptakan.

b.

Sebuah kelas menginginkan sub kelasnya untuk menentukan obyek yang diciptakan.

c.

Kelas-kelas delegasi bertanggung jawab terhadap salah satu dari beberapa helper sub kelas, dan untuk membatasi pengetahuan helper sub kelas mana sebagai delegasi.

Struktur factory method pattern dapat dilihat pada gambar 2.3.

Product +FactoryMethod() +AnOperation() Creator ConcreteProduct +FactoryMethod() ConcreteCreator ... product = FactoryMethod() ....

return new ConcreteProduct

Gambar Error! Reference source not found..0.3 Struktur factory method pattern

Keterangan struktur factory method pattern :

a.

Product : mendefinisikan interface dari penciptaan obyek factory method .

b.

ConcreteProduct : implementasi dari interface Product.

c.

Creator : mendeklarasikan factory method , yang mengembalikan sebuah obyek dari tipe Product, Creator juga mendefinisikan implementasi default dari factory method yang mengemba obyek default ConcreteProduct dan akan memanggil factory method untuk menciptakan obyek Product.

d.

Kelas Concrete : meng-override factory method untuk mengembalikan instansiasi dari ConcreteProduct.

2.1.1.4 Prototype Pattern

Prototype pattern bertujuan untuk menentukan jenis-jenis obyek untuk menciptakan bentuk dasar dari instansiasi, dan menciptakan obyek baru dengan menyalin prototype ini[ERR95].

Prototype pattern digunakan ketika[ERR95] :

a.

Sebuah sistem seharusnya berdiri sendiri untuk bagaimana productnya diciptakan, disusun dan digambarkan.

(8)

c.

Untuk menghindari pembuatan hirarki kelas dari factory yang paralel dari hirarki kelas product.

d.

Instansiasi dari kelas dapat memiliki salah satu dari kombinasi state yang berbeda.

Struktur prototype pattern dapat dilihat pada gambar 2.4.

+Clone() Prototype +Clone() ConcretePrototype1 ... product = FactoryMethod() ....

return copy of self +Operation()

Client prototype

+Clone()

ConcretePrototype2

return copy of self P = prototype->Clone()

Gambar Error! Reference source not found..0.4Struktur prototype pattern

Keterangan struktur prototype pattern :

a.

Prototype : mendeklarasikan interface untuk cloning itu sendiri.

b.

ConcretePrototype : mengimplementasi sebuah Operation untuk meng-cloning dirinya sendiri.

c.

Client : menciptakan sebuah obyek baru dengan meminta prototype untuk meng-cloning dirinya sendiri.

2.1.1.5 Singleton Pattern

Singleton pattern merupakan pattern yang menjamin kelas hanya memiliki satu indtansiasi, dan menyediakan sifat yang umum untuk mengaksesnya. Singleton pattern digunakan ketika[ERR95] :

a.

Harus ada satu instansiasi dari sebuah kelas, dan mampu mengakses klien dari tujuan akses yang diketahui dengan baik.

b.

Penggunaan instansiasi harus mampu diperbanyak melalui sub kelas, dan klien mampu menggunakan instansiasi secara luas tanpa mengubah kode.

(9)

Struktur singleton pattern dapat dilihat pada gambar 2.5. +staticInstance() +SingletonOperation() +GetSingletonData() Singleton return uniqueInstance

Gambar Error! Reference source not found..0.5 Struktur singleton pattern

Keterangan struktur singleton pattern :

a.

Mendefinisikan sebuah operasi Instance yang mengijinkan klien untuk mengakses instance unique. Instance adalah sebuah operasi kelas.

b.

Harus bertanggung jawab untuk menciptakan instance unique sendiri. 2.1.2 Structural Pattern

Structural pattern diperhatikan dengan bagaimana kelas dan obyek disusun untuk membentuk struktur yang lebih besar. Kelas structural pattern menggunakan inheritance untuk menyusun interface atau implementasi. Sebagai contoh sederhana, mempertimbangkan bagaimana menggabungkan dua atau lebih kelas inheritance menjadi satu. Hasilnya adalah sebuah kelas yang menggabungkan properti dari kelas induknya. Pattern ini secara khusus berguna karena membuat library kelas secara independent bekerjasama[ERR95].

2.1.2.1 Adapter Pattern

Adapter pattern merupakan pattern yang mengubah interface dari sebuah kelas menjadi interface klien lain. Adapater mengijinkan kelas-kelas bekerjasama karena interface yang tidak sesuai[ERR95].

Adapter pattern digunakan ketika[ERR95] :

a.

Menginginkan menggunakan kelas yang tersedia, dan interface nya tidak sesuai dengan salah satu yang dibutuhkan.

b.

Akan menciptakan kelas berulang yang bekerjasama dengan kelas-kelas yang tidak berelasi, sehingga kelas-kelas yang tidak perlu memiliki kesesuaian interface.

c.

Membutuhkan penggunaan beberapa sub-sub kelas yang ada, tetapi tidak berguna untuk menyesuaikan interface nya dengan setiap sub kelas. Sebuah obyek adapter dapat menyesuaikan interface ke kelas induknya.

(10)

Struktur adapter pattern dapat dilihat pada gambar 2.6.

Gambar Error! Reference source not found..0.6 Struktur adapter pattern

Keterangan struktur adapter pattern:

a.

Target : mendefinisikan domain interface tertentu sehingga menggunakan Client.

b.

Client : bekerjasama dengan obyek menyesuaikan diri menjadi interface Target.

c.

Adaptee : mendefinisikan interface yang ada sehingga membutuhkan adaptasi.

d.

Adapter : menyesuaikan interface dari Adaptee ke interface Target. 2.1.2.2 Bridge Pattern

Bridge pattern merupakan pattern yang memisahkan abstraksi obyek dari implementasinya sehingga dapat mengubah obyek dengan bebas[ERR95].

Bridge pattern digunakan ketika[ERR95] :

a.

Ingin menghindari pengikatan permanen diantara abtraksi dan implementasi.

b.

Keduanya, abstraksi dan implementasi mereka harus dapat kembangkan melalui sub kelas. Dalam hal ini, bridge pattern mengijinkan untuk menggabungkan abstraksi dan implementasi yang berbeda dan memperbanyak mereka secara bebas.

c.

Mengganti implementasi dari abstraksi seharusnya tidak berpengaruh pada klien sehingga kodenya tidak harus di kompile ulang.

d.

Ingin menyembunyikan implementasi dari abstraksi secara lengkap dari klien.

e.

Ingin memperbanyak kelas.

f.

Ingin membagi implementasi diantara banyak obyek, dan fakta ini seharusnya disembunyikan dari klien.

(11)

Struktur bridge pattern dapat dilihat pada gambar 2.7.

Gambar Error! Reference source not found..0.7Struktur bridge pattern

Keterangan struktur bridge pattern:

a. Abstraction : mendefinisikan interface abstrak dan mempertahankan refrensi untuk obyek dengan tipe Implementor.

b. RefinedAbstraction : memberikan interface didefinisikan oleh Abstraction c. Kelas Implementor : mendefinisikan interface untuk kelas implementasi.

d. ConcreteImplementor : mengimplemen interface Implementor dan mendefinisikan implementasi konkritnya.

2.1.2.3 Composite Pattern

Composite pattern merupakan pattern yang menyusun obyek menjadi tiga struktur untuk menggambarkan hirarki seluruh bagian. Composite mengijinkan klien menggunakan obyek individu dan susunan dari obyek yang seragam[ERR95].

Composite pattern digunakan ketika[ERR95] :

1. Ingin menggambarkan hirarki dari seluruh bagian obyek.

2. Agar klien mampu untuk mengabaikan perbedaan antara obyek komposisi dan individu.

(12)

Struktur composite pattern dapat dilihat pada gambar 2.8.

Gambar Error! Reference source not found..0.8 Struktur Composite pattern

Keterangan struktur composite pattern:

a.

Composite : mendeklarasikan interface untuk obyek di dalam komposisi, mengimplementasi tingkah laku dasar interface utama untuk seluruh kelas, karena sesuai, mendeklarasikan interface untuk pengaksesan dan pengaturan komponen anaknya dan mendefinisikan sebuah interface untuk pengaksesan komponen induk dalam struktur yang berulang, dan mengimplementasikannya jika sesuai.

b.

Leaf : menggambarkan obyek leaf dalam komposisi, leaf tidak memiliki turunan dan mendefinisikan tingkah laku untuk obyek primitif pada composition.

c.

Composite : mendefinisikan tingkah laku untuk komponen yang memiliki turunan, menyimpan komponen turunan, dan mengimplemen operation turunan yang berelasi pada interface Component.

d.

Client : memanipulasi obyek pada composition melalui interface Component. 2.1.2.4 Decorator Pattern

Decorator pattern merupakan pattern yang memberikan penambahan tanggung jawab pada sebuah obyek secara dinamis. Decorator menyediakan alternatif yang sesuai untuk sub kelas selama pengextendnan fungsi[ERR95].

(13)

Penggunaan decorator pattern adalah pada kondisi sebagai berikut[ERR95] :

a.

Untuk menambahkan tanggung jawab pada obyek individu secara dinamis dan jelas, sehingga tidak mempengaruhi obyek yang lain.

b.

Selama tanggung jawab dapat diambil.

c.

Ketika ektensi melalui sub kelas tidak bermanfaat. Struktur decorator pattern dapat dilihat pada gambar 2.9.

Gambar Error! Reference source not found..0.9Struktur Decorator pattern

Keterangan struktur decorator pattern:

a.

Component : mendefinisikan interface untuk obyek yang dapat memiliki tanggung jawab menambahkan secara dinamis.

b.

ConcreteComponent : mendefinisikan obyek untuk menambahkan tanggung jawab yang dapat di berikan.

c.

Decorator : mempertahankan refrensi sebuah obyek Component dan mendesfinisikan interface yang sesuai dengan interface Component.

(14)

2.1.2.5 Facade Pattern

Facade pattern menyediakan kumpulan interface dalam sebuah sub sistem. Facade mendefinisikan interface tinggkat tinggi sehingga mambuat sub sistem lebih mudah untuk digunakan[ERR95].

Facade pattern digunakan ketika[ERR95] :

a.

Ingin menyediakan interface sederhana untuk sub sistem yang kompleks.

b.

Terdapat banyak ketergantungan diantara klien dan kelas implementasi dari sebuag abstraksi.

c.

Ingin melapisi sub sistem. Menggunakan facade untuk mendefinisikan masukan point untuk setiap level sub sistem.

Struktur facade pattern dapat dilihat pada gambar 2.10.

Gambar Error! Reference source not found..0.10Struktur Facade pattern

Keterangan struktur facade pattern:

a.

Facade : mengetahui kelas-kelas sub sistem mana yang bertanggung jawab untuk sebuah permintaan dan mendelegasikan permintaan klien untuk menyesuaikan obyek sub sistem.

b.

Subsystem : mengimplemen fungsi sub sistem, menangani tugas yang diberikan oleh obyek Facade, dan tidak memiliki pengetahuan Facade sehingga tetap menyimpan yang bukan referensi untuk facade.

(15)

2.1.2.6 Flyweight Pattern

Flyweight pattern menggunakan sharing untuk beberapa obyek yang disatukan dengan baik secara efisien[ERR95].

Flyweight pattern akan efektif jika digunakan pada kondisi sebagai berikut[ERR95] :

a.

Sebuah aplikasi menggunakan obyek yang banyak.

b.

Menghabiskan biaya yang tinggi karena karena jumlah obyek.

c.

Sebagian besar state dapat dibuat akibat dari state lain.

d.

Banyak grup obyek yang seharusnya dipindahkan oleh obyek yang dibagi satu kali state di pindahkan.

e.

Aplikasi tidak tergantung pada identitas obyek. Struktur flyweight pattern dapat dilihat pada gambar 2.11.

Gambar Error! Reference source not found..0.11Struktur Flyweight Pattern

Keterangan struktur flyweight pattern:

a.

Flyweight : mendeklarasikan sebuah interface melalui flyweight yang dapat menerima dan berperan pada state yang di sebabkan oleh keadaan lain.

b.

ConcreteFlyweight : mengimplemen interface sub kelas Flyweight untuk dibagi.

c.

UnsharedConcreteFlyweight : tidak seluruh sib kelas Flyweight harus dibagi. Interface Flyweight mampu berbagi.

d.

FlyweightFatory : menciptakan dan mengatur obyek flyweight dan menjamin bahwa flyweight dibagi dengan baik. Ketika klien meminta flyweight, maka obyek FlyweightFactory menyediakan instansiasi atau menciptakan satu instansiasi jika tidak ada.

e.

Client : mempertahankan sebuah refrensi untuk flyweight dan memperhitungkan atau menyimpan state dari flyweight.

(16)

2.1.2.7 Proxy Pattern

Proxy pattern menyediakan pengganti obyek lain untuk mengontrol pengaksesan. Proxy dapat digunakan kapan pun ketika membutuhkan kecanggihan refrensi ke sebuah obyek daripada pointer sederhana[ERR95].

Berikut diuraikan beberapa kondisi utama dalam menggunakan proxy pattern[ERR95] :

a.

Sebuah proxy remote menyediakan perwakilan lokal untuk obyek pada bagian alamat yang berbeda.

b.

Proxy virtual menciptakan obyek pada permintaan.

c.

Proxy protection mengontrol pengaksesan pada obyek.

d.

Smart reference adalah pergantian untuk pointer yang menunjukkan penambahan peran ketika obyek diakses.

Struktur proxy pattern dapat dilihat pada gambar 2.12.

Gambar Error! Reference source not found..0.12 Struktur Proxy Pattern

Keterangan struktur proxy pattern:

a.

Proxy : memelihara refrensi yang mengijinkan pengaksesan proxy pada subyek nyata, menyediakan interface untuk Subject sehingga proxy dapat disubstitusi, mengontrol pengaksesan dan bertanggung jawab untuk pembuatan dan penghapusan interface .

b.

Subject : mendefinisikan interface utama untuk RealSubject dan Proxy sehingga Proxy dapat digunakan dimana pun RealSubject diharapkan.

(17)

2.1.3 Behavioral Pattern

Behavioral pattern dihubungkan dengan algoritma dan penetapan tanggung jawab diantara obyek. Behavioral pattern tidak hanya menentukan pattern untuk obyek atau kelas tetapi pattern untuk komunikasi diantara obyek dan kelas[ERR95].

2.1.3.1 Chain of Responsibilty Pattern

Chain of Responsibilty Pattern merupakan pattern yang menghindari penggabungan pengirim permintaan ke penerimanya dengan memberikan lebih dari satu obyek yang mencoba untuk menangani permintaan[ERR95].

Chain of responsibility digunakan ketika[ERR95] :

a.

Lebih dari satu obyek harus menangani permintaan.

b.

Menginginkan hasil permintaan untuk beberapa obyek tanpa menentukan penerima secara eksplisit.

c.

Terdapat sekumpulan obyek sehingga dapat menangani permintaan yang ditentukan secara dinamis.

Struktur Chain of responsibility dapat dilihat pada gambar 2.13.

Gambar Error! Reference source not found..0.13Struktur Chain of Responsibility Pattern

Keterangan struktur chain of responsibility pattern:

a.

Handler : mendefinisikan interface untuk menangani permintaan dan implementasi dari hubungan successor.

b.

ConcreteHandler : menangani permintaan untuk tanggung jawabnya, dapat mengakses successor dan jika ConcreteHandler dapat menangani permintaan, maka sebaliknya ConcreteHandler meneruskan permintaan ke successor.

(18)

2.1.3.2 Command Pattern

Command pattern merupakan pattern yang membungkus permintaan sebagai obyek, dengan demikian mengijinkan parameter klien dengan permintaan yang berbeda, mengantri atau mencatat permintaan, dan mendukung kemampuan membuka operasi[ERR95].

Command pattern digunakan ketika[ERR95] :

a.

Obyek parameter melalui peran yang ditampilkan sebagai obyek MenuItem.

b.

Menentukan, antrian dan pengeksekusian permintaan pada waktu yang berbeda.

c.

Mendukung undo.

d.

Mendukung pencatatan perubahan sehingga dapat digunakan dalam kasus sistem yng rusak

e.

Struktur sistem disekitar operasi level tinggi dibangun pada operasi primitif. Struktur command pattern dapat dilihat pada gambar 2.14.

Gambar Error! Reference source not found..0.14 Struktur Command Pattern

Keterangan struktur command pattern:

a.

Command : mendeklarasikan interface untuk menjalankan operasi.

a.

ConcreteCommand : mendefinisikan keterkaitan diantara obyek Receiver dan action, dan mengimplemen Execute melalui pemanggilan operasi pada Receiver.

b.

Client : menciptakan obyek ConcreteCommand dan mengatur receiver.

(19)

2.1.3.3 Interpreter Pattern

Interpreter pattern memberikan sebuah bahasa, mendefinisikan gambaran untuk tatabahasanya dengan sebuah interprete sehingga menggunakan gambaran untuk menerjemahkan kalimat dalam bahasa[ERR95].

Interpreter pattern digunakan ketika[ERR95] :

a.

Tata bahasa sederhana.

b.

Efisiensi tidak kritis.

Struktur Interpreter pattern dapat dilihat pada gambar 2.15.

Gambar Error! Reference source not found..0.15 Struktur Interpreter Pattern

Keterangan struktur interpreter pattern:

a.

AbstractExpression : mendeklarasikan sebuah operasi Interpreter abstrak sehingga menjadi seluruh node dalam sintaks pohon abtrak.

b.

TerminalExpression : mengimplemen sebuah operasi Interpreter yang berhubungan dengan simbol terminal dalam tata bahasa dan instansiasi dibutuhkan untuk setiap simbol terminal dalam kalimat.

c.

NonterminalExpression : salah satu contoh kelas yang dibutuhkan untuk setiap aturan R ::=R1 R2 .. Rn pada tata bahasa dan mempertahantakan instansiasi variabel dari tipe AbstractExpression untuk setiap simbol R sampai Rn.

d.

Context : terdiri dari informasi umum untuk interpreter.

e.

Client : membuat sebuah sintak pohon abstrak yang menggambrakan kalimat khusus dalam bahasa yang mendefinisikan tata bahasa dan memanggil operasi Interpret.

(20)

2.1.3.4 Iterator Pattern

Iterator pattern menyediakan cara untuk mengakses elemen dari kumpulan obyek secara sekuen tanpa menampilkan gambaran yang ada di dalamnya[ERR95]. Iterator pattern digunakan untuk[ERR95] :

a.

Mengakses sekumpulan isi obyek tanpa menampilkan gambaran internalnya.

b.

Mendukung banyak traversal dari sekumpulan obyek.

c.

Menyediakan interface seragam untuk melintasi sekumpulan struktur yang berbeda.

Struktur Iterator pattern dapat dilihat pada gambar 2.16.

Gambar Error! Reference source not found..0.16 Struktur Iterator Pattern

Keterangan struktur iterator pattern:

a.

Iterator : mendefinisikan sebuah interface untuk pengaksesan dan pelintasan elemen.

b.

ConcreteIterator : mengimplemen interface Iterator dan mempertahankan posisi dalam aggregate traversal .

c.

Aggregate : mendefinisikan sebuah interface untuk menciptakan obyek Iterator.

d.

ConcreteAggregate : mengimplemen Iterator menciptakan interface untuk mengembalikan instansiasi dari ConcreteIterator.

(21)

2.1.3.5 Mediator Pattern

Mediator pattern mendefinisikan sebuah obyek yang membungkus sekumpulan interaksi obyek. Mediator mempertimbangkan kehilangan penggabungan melalui penyimpanan obyek dan mengijinkan mengubah interaksi secara independent[ERR95]. Mediator pattern digunakan ketika[ERR95] :

a.

Sekumpulan obyek berkomunikasi tetapi dengan cara yang rumit.

b.

Menggunakan obyek berulang adalah sulit karena mengarahkan ke komunikasi dengan banyak obyek.

c.

Tingkah laku yang didistribusikan diantara beberapa kelas seharusnya mampu di customize tanpa banyak sub kelas.

Struktur mediator pattern dapat dilihat pada gambar 2.17.

Gambar Error! Reference source not found..0.17Struktur Mediator Pattern

Keterangan struktur mediator pattern:

a.

Meidator : mendefinisikan sebuah interface untuk berkomunikasi dengan obyek Colleague.

b.

ConcreteMediator : mengimplemen tingkah laku melalui koordinasi obyek Colleague.

c.

Kelas Colleague : setiap kelas Colleague mengetahui obyek Mediatornya. 2.1.3.6 Memento Pattern

Memento pattern merupakan pattern tanpa menggangu pembungkusan, mengambil dan mengadakan state obyek internal sehingga obyek dapat disimpan ke state selanjutnya[ERR95].

Memento pattern digunakan ketika[ERR95] :

a.

Gambaran sebuah state obyek harus disimpan sehingga dapat dihapus pada state berikutnya.

b.

Menunjukkan interface untuk menghasilkan state yang akan menunjukkan detail implementasi dan menghentikan pembungkusan obyek.

(22)

Struktur memento pattern dapat dilihat pada gambar 2.18.

Gambar Error! Reference source not found..0.18 Struktur Memento Pattern

Keterangan struktur memento pattern:

a.

Memento : menyimpan state internal untuk obyek Originator, melindungi pengaksesan melalui obyek lain yang originator.

b.

Originator : menciptakan sebuah memento yang terdiri dari gambaran state internal dan menggunakan memento untuk menghapus state internal.

c.

Caretaker : bertanggung jawab untuk penyimpanan memento dan tidak pernah mengoperasikan atau menguji isi dari memento.

2.1.3.7 Observer Pattern

Observer pattern mengasumsikan bahwa obyek yang berisi data, terpisah dari obyek yang menampilkan data[ERR95]. Observer menetapkan hubungan kardinaliti one-to-many ketergantungan antar obyek, sehingga ketika suatu obyek melakukan perubahan status maka semua yang bergantung pada obyek akan diberitahukan dan dibaharui secara otomatis[ERR95].

Observer pattern digunakan ketika[ERR95] :

1. Abstraction mempunyai dua aspek, aspek yang satu bergantung pada yang lain. Encapsulation aspek pada pemisahan obyek mengijinkan terjadinya pertukaran dan penggunaan kembali secara bebas.

2. Perubahan terhadap suatu obyek membutuhkan perubahan obyek yang lain, dan tidak mengetahui berapa banyak obyek yang dibutuhkan untuk diubah.

3. Suatu obyek seharusnya mampu untuk memberitahukan obyek lain tanpa membuat asumsi mengenai obyek tersebut dan tidak saling terikat.

(23)

Struktur observer pattern dapat dilihat pada Gambar 2.19 .

Gambar Error! Reference source not found..0.19Struktur observer pattern

Keterangan struktur observer pattern:

a.

Subject : mengetahui Observernya. Beberapa obyek observer memungkinkan menjalankan sebuah subyek dan menyediakan interface untuk memasang dan melepaskan obyek Observer.

b.

Observer : mendefinisikan perubahan interface untuk obyek sehingga dapat diketahui perubahan pada subyek.

c.

ConcreteSubject : menyimpan state yang penting untuk obyek ConcreteObserver dan mengirimkan pemberitahuan ke observer ketika statenya berubah.

d.

ConcreteObserver : memelihara refrensi ke obyek ConcreteSubject, menyimpan state sehingga dapat tetap konsisten dengan subyek dan mengimplemen perubahan interface Observer untuk menunjukkan state yang konsisten dengan subyek.

2.1.3.8 State Pattern

State pattern mengijinkan sebuah obyek untuk mengubah tingkah lakunya ketika state internalnya berubah. Obyek akan menampilkan perubahan kelasnya[ERR95]. State pattern digunakan pada saat salah satu kasus berikut ini[ERR95]:

a.

Sebuah tingkah laku obyek bergantung pada statenya, dan harus mengubah tingkah lakunya pada saat run-time berdasarkan pada statenya.

b.

Memiliki operasi yang banyak, menyatakan banyak kondisi yang bergantung pada state obyek.

(24)

Struktur state pattern dapat dilihat pada gambar 2.20.

Gambar Error! Reference source not found..0.20 Struktur state pattern

Keterangan struktur state pattern :

a.

Context : mendefinisikan interface ke client, memelihara sebuah instansiasi dari sub kelas ConcreteState sehingga mendefinisikan state saat ini.

b.

State : mendefinisikan sebuah interface untuk pembungkusan tingkah laku yang berhubungan dengan state khusus dari Context.

c.

Sub kelas ConcreteState : setiap sub kelas mengimplemen sebuah tingkah laku yang berhubungan dengan state pada Context.

2.1.3.9 Strategy Pattern

Strategy pattern mendefinisikan kumpulan algoritma, pembungkusan dan membuat kemampuan untuk saling bertukar. Strategy mengijinkan algoritma berubah secara bebas dari client yang menggunakannya[ERR95].

Strategy digunakan ketika[ERR95] :

a.

Banyak relasi kelas berbeda hanya pada tingkah lakunya. Strategy menyediakan cara untuk mengkonfigurasi kelas dengan salah satu atau banyak tingkah laku.

b.

Membutuhkan perbedaan bermacam-macam algoritma. Sebagai contoh, mendefinisikan algoritma yang menggambarkan perbedaan ruang/waktu.

c.

Sebuah algoritma menggunakan data sehingga client tidak akan mengetahuinya.

d.

Sebuah kelas mendefinisikan banyak tingkah laku, dan hal ini menampilkan banyak kondisi dalam operasinya.

(25)

Struktur strategy pattern dapat dilihat pada gambar 2.21.

Gambar Error! Reference source not found..0.21Struktur strategy pattern

Keterangan struktur startegy pattern :

a.

Strategy : mendeklarasikan sebuah interface utama untuk mendukung seluruh algoritma.

b.

ConcreteStrategy : mengimplemen algoritma menggunkan interface Strategy.

c.

Context : dikonfigurasi dengan obyek ConcreteStrategy, mempertahankan refrensi ke obyek Strategy dan mendefinisikan sebuah interface yang mengijinkan Strategy mengakses datanya.

2.1.3.10 Template Method Pattern

Template method pattern mendefinisikan kerangka dari algoritma pada operasi, menunda beberapa tahapan untuk sub kelas. Method template mengijinkan sub kelas mendefinisikan ulang beberapa tahapan pada sebuah algoritma tanpa mengubah struktur algoritma[ERR95].

Template method pattern akan digunakan ketika[ERR95] :

a.

Untuk mengimplemen bagian invarian dari sebuah algoritma dan mewariskannya ke sub kelas untuk mengimplemen tingkah laku yang dapat berubah.

b.

Ketika tingkah laku umum diantara sub-sub kelas seharusnya difaktorkan dan dialokasikan pada kelas utama untuk menghindari kode yang duplikat.

(26)

Struktur template method pattern dapat dilihat pada gambar 2.22.

Gambar Error! Reference source not found..0.22 Struktur method pattern

Keterangan struktur template method pattern:

a.

AbstractClass : mendefinisikan abstrak PrimitiveOperation sehingga sub kelas konkrit mendefinisikan tahap implementasi pada algoritma lgoritma.

b.

ConcreteClass : mengimplemen PrimitiveOperation untuk membawa tahapan sub kelas tertentu pada algoritma.

2.1.3.11 Visitor Pattern

Visitor pattern menggambarkan sebuah operasi untuk menampilkan elemen struktur obyek. Visitor mengijinkan mendefinisikan operasi baru tanpa mengubah kelas-kelas dari elemen yang dioperasikannya[ERR95].

Visitor pattern digunakan ketika[ERR95] :

a.

Struktur obyek terdiri dari banyak kelas-kelas obyek dengan interface yang berbeda, dan menunjukkan operasi pada obyek yang bergantung pada kelas-kelas konkrit.

b.

Banyak operasi yang berbeda dan tidak berelasi harus ditampilkan pada obyek dalam struktur obyek.

c.

Kelas-kelas mendefinisikan struktur obyek yang tidak selalu berubah, tetapi mendefinisikan operasi yang baru diatas struktur.

(27)

Struktur visitor pattern dapat dilihat pada gambar 2.23.

Gambar Error! Reference source not found..0.23 Struktur visitor pattern

Keterangan visitor pattern:

a.

Visitor : mendeklarasikan operasi visitor untuk setiap kelas ConcreteElement pada struktur obyek.

b.

ConcreteVisitor : mengimplemen setiap operasi yang dideklarasikan oleh Visitor.

c.

Element : mendefinisikan operasi Accept yang mengambil visitor sebagai argumen.

d.

ConcreteElement : mengimplemen operasi Accept yang mengambil visitor sebagai argumen.

e.

ObjectStructure : dapat menguraikan elemennya, menyediakan interface level tinggi untuk mengijinkan visitor mengunjungi elemennya dan memungkinkan menjadi composite.

(28)

2.2 Model Iterative

Model iterative merupakan model yang mengandung perulangan. Hasil proses berupa produk makin lama semakin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Karakteristik model iterative diuraikan sebagai berikut :

a. Model ini merupakan kombinasi dengan waterfall. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.

b. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.

c. Mampu mengakomodasi perubahan secara fleksibel.

d. Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 kode baris).

(29)

2.3 Unified Modeling Language (UML)

Unified modelling language adalah gambar yang digunakan sebagai “alat komunikasi” untuk menggambarkan suatu ide yang abstrak untuk dapat diimplementasikan. Selain sebagai alat komunikasi, UML juga dapat berfungsi sebagai dokumentasi dari suatu desain [ILK11].

UML menyediakan beberapa notasi/diagram yang dapat digunakan untuk menggambarkan rancangan agar dapat dimengerti oleh semua pihak. Kategori UML terdiri dari structural, behaviour, dan interaction[CMJ03].

Tabel Error! Reference source not found..2 Kategori UML

Kategori Tipe Diagram Tujuan

Struktur /Strutural Class diagram Digunakan untuk menampilkan entiti, elemen analisis dan perancangan, implementasi kelas dan hubungan antar kelas.

Object diagram Digunakan untuk mengidentifikasi keadaan dari suatu peristiwa seperti pengujian atau operasi

pemanggilan. Composite structure

diagram

Digunakan untuk menampilkan bagaimana sesuatu dibuat. Deployment

diagram

Digunakan untuk menampilkan arsitektur sistem dan elemen perangkat lunak.

Component diagram Digunakan untuk menampilkan organisasi dan hubungan antara sistem.

Package diagram Digunakan untuk mengelola elemen model dan ketergantungan antara model.

Sifat/Behavioral Activity diagram Digunakan untuk menampilkan alur data.

State machine diagram

Digunakan untuk menampilkan siklus hidup objek tertentu Interaksi/Interaction Overview diagram Digunakan untuk menampilkan

(30)

Kategori Tipe Diagram Tujuan

berbeda untuk kolaborasi yang sama.

Sequence diagram Digunakan untuk fokus pada pertukaran pesan antara objek grup dan urutan pesan.

Communication diagram

Digunakan untuk fokus pada pertukaran pesan antara objek grup dan hubungan antara objek. Timing diagram Digunakan untuk menampilkan

perubahan dan hubungan real-time kerja sistem.

Berikut ini diuraikan secara detil beberapa diagram yang digunakan dalam melakukan rancang bangun perangkat lunak Sistem Informasi Project Tracker.

(31)

2.3.1 Use case diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Pada use case diagram, yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case menggambarkan sebuah interaksi antara aktor dengan sistem.Aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan tertentu [BGJ98].

Simbol-simbol yang sering dipakai pada use case diagram :

Table 2.3 Simbol Use case diagram

No. Gambar Nama Keterangan

1 Actor

Menspesifikasikan himpuan peran yang pengguna mainkan ketika berinteraksi dengan use case.

2 Dependency

Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent).

3 Generalization

Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).

4 Include Menspesifikasikan bahwa use case

sumber secara eksplisit.

5 Extend

Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan.

6 Association Apa yang menghubungkan antara

objek satu dengan objek lainnya.

7 System Menspesifikasikan paket yang

(32)

No. Gambar Nama Keterangan

8 Use Case Deskripsi dari urutan aksi-aksi yang

ditampilkan sistem kepada actor

9 Collaboration

Interaksi aturan-aturan dan elemen lain yang bekerja sama untuk menyediakan prilaku yang lebih besar dari jumlah dan elemen-elemennya (sinergi).

10 Note

Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi

Contoh use case diagram dapat dilihat pada gambar 2.25.

(33)

2.3.2 Class Diagram

Class adalahh sebuah spesifikasi spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut(metoda/fungsi). Class memiliki tiga area pokok yaitu nama, atribut dan metoda[BGJ98]. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain[BGJ98].

Simbol-simbol yang sering dipakai pada class diagram :

Table 2.4 Simbol class diagram

No. Gambar Nama Keterangan

1 Generalization

Hubungan dimana objek anak

(descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).

2 Nary

Association

Upaya untuk menghindari asosiasi dengan lebih dari 2 objek.

3 Class Himpunan dari objek-objek yang berbagi

atribut serta operasi yang sama.

4 Collaboration

Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor

5 Realization Operasi yang benar-benar dilakukan oleh

suatu objek.

6 Dependency

Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempegaruhi elemen yang

bergantung padanya elemen yang tidak mandiri

7 Association Apa yang menghubungkan antara objek

(34)

Contoh class diagram dapat dilihat pada gambar 2.26.

Gambar Error! Reference source not found..0.26 Contoh class diagram

Hubungan antar kelas[BGJ98] :

1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan

(35)

2.3.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait) [BGJ98].

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan[BGJ98].

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah pesan[BGJ98].

(36)

Simbol-simbol yang sering dipakai pada sequence diagram :

Table 2.5 Simbol sequence diagram

Simbol Keterangan Obyek (Participant) Activation Message synchronous Message simple Message asynchronous Lifeline

Contoh sequence diagram dapat dilihat pada gambar 2.27.

(37)

2.3.4 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi[BGJ98].

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum[BGJ98]. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas[BGJ98].

Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu[BGJ98].

(38)

Simbol-simbol yang sering dipakai pada activity diagram :

Table 2.6 Simbol activity diagram

No. Gambar Nama Keterangan

1 Actifity

Memperlihatkan bagaimana masing-masing kelas antarmuka saling berinteraksi satu sama lain

2 Action State dari sistem yang mencerminkan

eksekusi dari suatu aksi

3 Initial Node Bagaimana objek dibentuk atau diawali.

4 Actifity Final

Node

Bagaimana objek dibentuk dan dihancurkan

5 Fork Node Satu aliran yang pada tahap tertentu

(39)

Contoh activity diagram tanpa swimlane dapat dilihat pada gambar 2.28.

(40)

2.4 XAMPP

XAMPP merupakan suatu paket instalasi yang di dalamnya terdapat MySQL yang sangat mudah digunakan. XAMPP juga tersedia untuk beberapa system operasi yaitu Windows, Linux, Unix dan Macintosh[APC11].

Paket-paket aplikasi yang terdapat pada XAMPP antara lain[APC11] : 1. MySQL 5.5.8

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial.

MySQL merupakan turunan salah satu konsep utama dalam database lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh pengguna maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data.

2. Apache 2.2.17

Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP.Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis dataantarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. dan lain-lain. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.

(41)

3. PHP (Hypertext Preprocessor) 5.3.5

PHP adalah bahasa pemrograman yang berfungsi untuk membuat website dinamis maupun aplikasi web. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website. Blog, Toko Online,CMS, Forum, dan website Social Networking adalah contoh aplikasi web yang bisa dibuat oleh PHP. PHP adalah bahasa scripting, bukan bahasa tag-based seperti HTML. PHP termasuk bahasa yang cross-platform, ini artinya PHP bisa berjalan pada sistem operasi yang berbeda-beda (Windows, Linux, ataupun Mac). Program PHP ditulis dalam file plain text (teks biasa) dan mempunyai akhiran “.php”.

4. PHPMyAdmin 3.3.9

PHPmyAdmin adalah web application client untuk database server MySQL. Aplikasi ini sangat populer digunakan oleh para penyedia hosting web berbasis PHP.

2.5 Pengujian

Pengujian adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas[RPS01].

Ada dua jenis pengujian yaitu : 1. Pengujian Whitebox

Pengujian whitebox fokus pada struktur kontrol program. Pengujian dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Persyaratan dalam menjalankan pengujian whitebox antara lain :

a. Mendefinisikan semua alur logika b. Melakukan pengujian secara menyeluruh

(42)

2. Pengujian Blackbox

Pengujian blackbox fokus pada spesifikasi fungsional perangkat lunak. Tujuan metode ini mencari kesalahan pada :

a. Fungsi yg salah atau hilang b. Kesalahan pada interface

c. Kesalahan pada struktur data atau akses database d. Kesalahan performansi

Referensi

Dokumen terkait

Bahan yang digunakan adalah salak pondoh nglumut yang merupakan salak khas Banjarnegara dengan variasi perendaman menggunakan Natrium metabisulfit, Kalsium hidroksida dan

Hal ini berarti penggunaan variabel usia, tingkat pendidikan, jumlah tanggungan keluarga, jumlah pinjaman, pengalaman usaha, dan omzet usaha ke dalam model adalah memperbaiki model

New World Rubber Factory telah menerapkan Peraturan Pemerintah Nomor 46 Tahun 2013 tentang Pajak Penghasilan Atas Penghasilan Dari Usaha Yang Diterima Atau

Quá trình từ ngày đầu tiên cầm bộ Thủ, là cái gốc, cái căn nguyên nhất của chữ Hán cho đến ngày mình hoàn thành chữ cuối cùng trong tập tài liệu, tất cả chỉ

Peningkatan tunggakan kredit hingga rasio NPF yang dapat terjadi pada suatu bank,dilihat dari kegiatan yang dilakukan oleh bank, apakah sesuai dengan kebijakan

Pada perancangan Komplek Wisata Budaya Madura, bentuk atap yang digunakan pada rancangan ini adalah hasil interpretasi ulang dari nilai- nilai yang berkembang di pola permukiman

Tesis penelitian ini berfokus pada pelaksanaan tes toksisitas subkronis yang dirujuk oleh Organization for Economic Cooperation and Development (OECD 407, 2008) khususnya

Berapa persentase dan perbandingan rata-rata komponen biaya obat analgesik dibandingkan biaya obat secara keseluruhan pada pasien Benign Prostatic Hyperplasia yang