• Tidak ada hasil yang ditemukan

Design Patterns

Design pattern adalah solusi umum yang dapat digunakan kembali untuk menyelesaikan masalah yang seringkali berulang dalam pembuatan perangkat lunak. Dalam bukunya yang berjudul Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides yang dikenal sebagai Gang Of Four membagi katalog Design patterns mereka dalam tiga kategori: yaitu creational patterns (factory method, abstract factory, builder, singleton, prototype), structural patterns (decorator, composite, proxy, adapter, bridge, flyweight, facade), dan behavioral patterns (srategy, iterator, template method, mediator, observer, chain of responsibility, memento, command, state, visitor, interpreter).

Creational patterns berhubungan dengan penciptaan objek.

Structural patterns berhubungan dengan struktur statis objek dan kelas.

Behavioral patterns melakukan karakterisasi cara dimana kelas dan objek berinteraksi dan mendistribusikan kepentingannya (GOF 1995).

Database Patterns

Adalah patterns yang digunakan sebagai suatu teknik dalam melakukan store objek ke dalam database. Design patterns ini dapat diadaptasikan untuk bekerja dengan objek yang disimpan dalam berbagai jenis media penyimpanan tetap. Semenjak database menjadi media penyimpanan yang umum digunakan untuk objek, patterns ini telah ditulis dengan asumsi bahwa objek disimpan dalam sebuah database (Grand 2002) .

pattern sebagai berikut:

Persistence layer pattern, menggambarkan bagaimana menjaga kelas dari suatu objek tetap dan kelas yang menggunakan objek tetap tersebut, independen terhadap mekanisme berulang yang digunakan. • CRUD pattern menggambarkan bagaimana

cara merancang interface methods dari implementasi persistance layar pattern. • Stale object pattern menerangkan

bagaimana untuk membuat rancangan metode update menggunakan CRUD pattern menjadi lebih kuat.

Type Conversion pattern menggambarkan bagaimana cara melakukan manajemen terhadap perbedaan dalam cara runtime environment dan representasi data dalam database.

Dirty pattern digunakan dalam implementasi dari CRUD pattern untuk menghindari update yang tidak perlu terhadapa objek tetap.

Lazy retrieval pattern menggambarkan sebuah optimisasi kepada persistance layer pattern untuk menghindari diperolehnya kembali objek dari database yang sudah tidak diperlukan lagi.

Hubungan antar database pattern dapat dilihat pada Gambar 1.

Gambar 1 Hubungan antar database pattern (Grand 2002).

CRUD Pattern

CRUD merupakan kependekan dari crate, retrieve, update dan delete yang merupakan istilah atau proses umum yang sering digunakan

2 pattern.

Manfaat Penelitian

Manfaat dari penelitian ini adalah dihasilkannya sistem yang mengelola data penilangan secara terintegrasi dalam satu pusat data, yang akan memenuhi kebutuhan informasi dalam proses penilangan. Dari penelitian ini juga diharapkan dapat ditegaskan kembali manfaat dari penerapan design pattern secara umum dan penerapan CRUD pattern secara khusus dalam suatu sistem, sehingga dapat diketahui keuntungan ataupun kerugiannya.

TINJAUAN PUSTAKA

Design Patterns

Design pattern adalah solusi umum yang dapat digunakan kembali untuk menyelesaikan masalah yang seringkali berulang dalam pembuatan perangkat lunak. Dalam bukunya yang berjudul Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides yang dikenal sebagai Gang Of Four membagi katalog Design patterns mereka dalam tiga kategori: yaitu creational patterns (factory method, abstract factory, builder, singleton, prototype), structural patterns (decorator, composite, proxy, adapter, bridge, flyweight, facade), dan behavioral patterns (srategy, iterator, template method, mediator, observer, chain of responsibility, memento, command, state, visitor, interpreter).

Creational patterns berhubungan dengan penciptaan objek.

Structural patterns berhubungan dengan struktur statis objek dan kelas.

Behavioral patterns melakukan karakterisasi cara dimana kelas dan objek berinteraksi dan mendistribusikan kepentingannya (GOF 1995).

Database Patterns

Adalah patterns yang digunakan sebagai suatu teknik dalam melakukan store objek ke dalam database. Design patterns ini dapat diadaptasikan untuk bekerja dengan objek yang disimpan dalam berbagai jenis media penyimpanan tetap. Semenjak database menjadi media penyimpanan yang umum digunakan untuk objek, patterns ini telah ditulis dengan asumsi bahwa objek disimpan dalam sebuah database (Grand 2002) .

pattern sebagai berikut:

Persistence layer pattern, menggambarkan bagaimana menjaga kelas dari suatu objek tetap dan kelas yang menggunakan objek tetap tersebut, independen terhadap mekanisme berulang yang digunakan. • CRUD pattern menggambarkan bagaimana

cara merancang interface methods dari implementasi persistance layar pattern. • Stale object pattern menerangkan

bagaimana untuk membuat rancangan metode update menggunakan CRUD pattern menjadi lebih kuat.

Type Conversion pattern menggambarkan bagaimana cara melakukan manajemen terhadap perbedaan dalam cara runtime environment dan representasi data dalam database.

Dirty pattern digunakan dalam implementasi dari CRUD pattern untuk menghindari update yang tidak perlu terhadapa objek tetap.

Lazy retrieval pattern menggambarkan sebuah optimisasi kepada persistance layer pattern untuk menghindari diperolehnya kembali objek dari database yang sudah tidak diperlukan lagi.

Hubungan antar database pattern dapat dilihat pada Gambar 1.

Gambar 1 Hubungan antar database pattern (Grand 2002).

CRUD Pattern

CRUD merupakan kependekan dari crate, retrieve, update dan delete yang merupakan istilah atau proses umum yang sering digunakan

3 dapat berupa metode-metode berikut:

create() method, dipanggil ketika akan membuat objek data baru.

retrieve() operation, untuk memperoleh objek dari database.

update() operation, merupakan kombinasi dari delete() dan create() operation. • delete() operation, merupakan operasi

penghapusan instance dari tempat penyimpanan data berdasarkan pada objek yang diberikan (Bartalos & Bielikova 2003).

Metode Pengembangan Perangkat Lunak

Waterfall

Model proses perangkat lunak adalah sebuah representasi abstrak dari proses perangkat lunak. Setiap model proses merepresentasikan sebuah proses hanya dari satu perspektif tertentu sehingga hanya memberikan sebagian informasi dari proses tersebut. Ada sejumlah model proses yang cukup umum digunakan. Model waterfall mengambil aktivitas proses spesifikasi, pengembangan, validasi, evolusi dan merepresentasikannya sebagai fase proses yang terpisah seperti spesifikasi kebutuhan, implementasi, pengujian, dan proses selanjutnya (Sommerville 2001).

Gambar 2 Proses pengembangan perangkat lunak dengan metode Waterfall (Sommerville 2001).

Menurut Sommerville (2001), tahapan-tahapan penting dari model Waterfall dapat dipetakan menjadi aktivitas-aktivitas pengembangan berikut:

1. Analisis dan definisi kebutuhan. Layanan, batasan, dan tujuan sistem ditetapkan melalui pembicaraan dengan pengguna sistem. Informasi tersebut kemudian

spesifikasi sistem.

2. Perancangan sistem dan perangkat lunak. Perancangan sistem berfungsi untuk menetapkan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak meliputi identifikasi dan deskripsi abstraksi sistem perangkat lunak.

3. Implementasi dan pengujian unit. Pengujian unit meliputi verifikasi bahwa setiap unit memenuhi spesifikasinya. 4. Integrasi dan pengujian sistem. Seluruh unit

perangkat lunak diuji sebagai sebuah sistem secara keseluruhan untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi.

5. Operasi dan pengelolaan. Pada tahap ini sistem telah digunakan. Pemeliharaan meliputi perbaikan error yang tidak diketahui saat pengembangan, pengembangan sistem dan penambahan layanan baru. Proses pengembangan perangkat lunak ini diperlihatkan pada Gambar 2.

Java Interface

Java interface adalah sekumpulan konstanta dan metode abstrak, dimana metode abstrak merupakan sebuah metode yang tidak memiliki implementasi. Dengan kata lain tidak ada tubuh dari kode yang didefinisikan untuk metode tersebut.

Menurut Deitel (2004) java interface menggambarkan sekumpulan metode yang dapat dipanggil pada objek, metode ini berfungsi memberitahukan objek untuk melakukan beberapa tugas atau mengembalikan beberapa bagian informasi. Pendeklarasian interface dimulai dengan keyword interface dan hanya mengandung metode abstrak. Tidak seperti kelas-kelas, semua anggota interface harus public, dan interface tidak boleh menentukan implementasinya secara detail.

Sebuah kelas yang melakukan implementasi terhadap kelas interface harus menyediakan sebuah pendefinisian untuk semua metode dalam interface tersebut. compiler akan menghasilkan error jika ada metode dalam interface yang tidak didefinisikan dalam kelas yang mengimplementasikannya.

Sistem Manajemen Database

Menurut Connolly, database adalah koleksi bersama atas data yang terhubung secara lojik dan deskripsi dari data tersebut dirancang untuk

4 Database merepresentasikan entitas, atribut,

dan relasi lojik di antara keduanya. Entitas adalah suatu objek nyata (orang, tempat, benda, konsep, atau peristiwa) dalam suatu organisasi. Sebuah atribut adalah sifat yang menggambarkan beberapa aspek dari objek yang hendak disimpan, dan relasi adalah asosiasi antar entitas.

Sistem manajemen database adalah suatu sistem perangkat lunak yang memungkinkan pengguna-penggunanya untuk mendefinisikan, membuat, memelihara, dan mengontrol akses terhadap database (Connolly 2002).

Unified Modeling Language (UML)

UML adalah sebuah standar untuk membuat model yang merepresentasikan perangkat lunak berorientasi objek dan business sistems. UML menstandardisasi notasi tetapi tidak menentukan bagaimana mengimplementasikan notasi tersebut (Pender 2002). UML mendefinisikan beberapa jenis diagram yang berbeda, beberapa elemen yang terkandung dalam UML ini adalah:

• Diagram kelas (class diagram), adalah diagram yang merepresentasikan kelas-kelas, bagian komponennya, dan cara dimana kelas-kelas dari objek-objek tersebut berelasi satu sama lain. Sebuah kelas adalah sebuah definisi untuk sebuah tipe objek. Relasi antara suatu kelas dengan kelas yang lainnya digambarkan dalam beberapa jenis relasi yang bebeda. Beberapa dari jenis relasi tersebut dapat berupa:

a) Basic Agregation (Gambar 3) menggambarkan bahwa suatu kelas merupakan bagian dari kelas yang lainnya. Pada relasi ini kelas anak dapat berdiri sendiri atau memiliki usia yang lebih lama dari kelas induknya.

Gambar 3 Basic agregation (Donald 2004).

b) Composition aggregation (Gambar 4) menggambarkan bahwa suatu kelas merupakan bagian dari kelas yang lainnya, dimana kelas anak bergantung kepada kelas induknya, sehingga ketika kelas induk dihapus/rusak maka kelas anak akan secara otomatis dihapus/rusak pula.

Gambar 4 Composition aggregation (Donald 2004).

c) Inheritance/Generalization (Gambar 5) merupakan relasi yang menggambarkan hubungan pewarisan (inheritance) antara kelas induk dengan kelas turunannya.

Gambar 5 Inheritance/generalization (Donald 2004).

d) Realization (Gambar 6) merupakan relasi yang menggambarkan hubungan suatu kelas yang melakukan implementasi terhadap kelas interface.

Gambar 6 Realization (Donald 2004). • Use case diagram adalah suatu grafik yang

terdiri dari lima grafik yang sangat sederhana yang merepresentasikan sistem, pelaku, use case, asosiasi, dan depedensi dari suatu rancangan. Tujuan dari diagram ini adalah untuk menyediakan sebuah penjelasan tingkat tinggi dari hubungan antara sistem dengan dunia luar. Elemen dari use case diagram dapat dilihat pada Gambar 7. Use case diagram menggunakan <<include>> stereotype notation yang menerangkan bahwa suatu use case akan selalu memanggil use case lain yang dibutuhkannya dan <<extend>> stereotype notation yang menerangkan bahwa use case lain yang dibutuhkan tidak harus selalu dipanggil saat use case tersebut berjalan.

5 Gambar 7 Elemen use case diagram

(Pender 2002).

Sequence diagram adalah diagram yang mengilustrasikan interaksi di antara objek-objek. Interaksi menunjukkan kepada kita bagaimana objek-objek berkomunikasi satu sama lain. Setiap waktu suatu objek berkomunikasi kepada yang lainnya yang dilakukan dalam sebuah operasi/proses. Jadi jika kita dapat memodelkan interaksi antar objek, kita dapat menemukan operasi-operasi yang dibutuhkan oleh objek-objek tersebut. Contoh dari sequence diagram diperlihatkan pada Gambar 8.

Gambar 8 Contoh sequence diagram (Pender 2002).

Entity-Relationship Diagram (ERD)

ERD adalah alat pemodelan data semantik yang digunakan untuk menyelesaikan tujuan dari pendeskripsian secara abstrak atau melukiskan data. Pendeskripsian secara abstrak dari data disebut model konseptual. Model konseptual itu akan memimpin kita kepada sebuah “skema”. Sebuah skema menyatakan sebuah ketetapan, penggambaran tetap dari

Skema ini digambarkan dalam suatu diagram yang memperlihatkan entitas-entitas beserta atributnya, serta hubungan satu sama lainnya dalam suatu database.

Metode Pengujian Perangkat Lunak Black

Box

Pengujian black box berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan perekayasa perangkat lunak (analis) mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box merupakan pendekatan komplementer yang kemungkinan besar mampu menemukan kesalahan dalam kategori sebagai berikut:

• fungsi-fungsi yang tidak benar atau hilang, • kesalahan antarmuka,

• kesalahan dalam struktur data atau akses database eksternal,

• kesalahan kinerja, dan

• inisialisasi dan kesalahan terminasi (Pressman 2001). Skema pengujian ini diperlihatkan pada Gambar 9.

Gambar 9 Skema pengujian black box (Pressman 2001).

METODOLOGI PENELITIAN

Dokumen terkait