• Tidak ada hasil yang ditemukan

Analisis dan Desain Berorientasi Objek

Dalam dokumen BAB 2 TINJAUAN PUSTAKA (Halaman 26-36)

Analisis dan Desain Berorientasi Objek (Object Oriented Analysis and Design) adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep. Dasar pembuatannya sendiri adalah objek yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Alasan mengapa harus memakai metode berorientasi objek yaitu karena perangkat lunak itu sendiri yang bersifat dinamis, di mana hal ini disebabkan karena kebutuhan pengguna berubah dengan cepat[24].

Selain itu bertujuan untuk menghilangkan kompleksitas transisi antar tahap pada pengembangan perangkat lunak, karena pada pendekatan berorientasi objek, notasi yang digunakan pada tahap analisis perancangan dan implementasi relatif sama tidak seperti pendekatan konvensional yang dikarenakan notasi yang digunakan pada tahap analisanya berbeda-beda. Hal itu menyebabkan transisi antar tahap pengembangan menjadi kompleks[24].

Di samping itu dengan pendekatan berorientasi objek membawa pengguna kepada abstraksi atau istilah yang lebih dekat dengan dunia nyata, karena di dunia nyata itu sendiri yang sering pengguna lihat adalah objeknya bukan fungsinya. Beda ceritanya dengan pendekatan terstruktur yang hanya mendukung abstraksi pada level fungsional. Adapun dalam pemrograman berorientasi objek menekankan berbagai konsep seperti: Class, Object, Abstract, Encapsulation, Polymorphism, Inheritance dan tentunya UML (Unified Modeling Language)[24].

UML (Unified Modeling Language) sendiri merupakan salah satu alat bantu yang dapat digunakan dalam Bahasa pemrograman berorientasi objek. Selain itu UML merupakan standard modeling language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dan software agar bias menyelesaikan tugas-tugas seperti: Spesifikasi, Visualisasi, Desain Arsitektur, Konstruksi, Simulasi dan Testing. Dapat disimpulkan bahwa UML (Unified Modeling Language) adalah sebuah Bahasa yang berdasarkan grafik atau gambar untuk memvisualisasikan, melakukan

spesifikasi, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis objek (Object Oriented Programming).

Dokumentasi UML menyediakan 10 macam diagram untuk membuat model aplikasi berorientasi objek yang 5 di antaranya sebagai berikut.

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Di dalam use case diagram ini sendiri lebih ditekankan kepada apa yang diperbuat sistem dan bagaimana sebuah sistem itu bekerja. Sebuah use case merepresentasikan sebuah interaksi antara actor dengan sistem. Use case merupakan bentuk dari sebuah pekerjaan tertentu, misalnya login ke dalam sistem, cetak document dan sebagainya, sedangkan seorang actor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu[25]. Contoh use case dapat dilihat pada Gambar 2.2-15.

Simbol yang digunakan pada use case diagram dapat dilihat pada Tabel 2.2-11. Tabel 2.2-11 Simbol pada use case diagram

Simbol Nama Simbol Keterangan

Actor

Menggambarkan suatu entitas yang berkaitan dengan sistem tapi bukan dari bagian dalam sistem itu sendiri. Actor berada di luar sistem namun berkaitan erat dengan fungsionalitas di dalamnya.

Actor memiliki hubungan secara langsung terhadap fungsi utama baik terhadap salah satu atau semua fungsionalitas utama. Actor juga dapat dibagi terhadap berbagai jenis atau tingkatan dengan cara digeneralisasi atau dispesifikasi tergantung kebutuhan sistemnya. Actor biasanya dapat berupa pengguna atau database yang secara pandang berada dalam suatu ruang lingkup sistem

Use case

Gambaran umum dari fungsi atau proses utama yang menggambarkan tentang salah satu perilaku sistem. Perilaku sistem ini terdefinisi dari proses bisnis sistem yang akan dimodelkan. Tidak semua proses bisnis digambarkan secara fungsional pada use case, tetapi yang digambarkan hanya fungsionalitas utama yang berkaitan dengan sistem. Use case menitik-beratkan bagaimana suatu sistem dapat berinteraksi baik antar sistem maupun di luar sistem.

Asosiasi Menghubungkan keterkaitan antara

aktor dengan use case

Include

Relasi use case di mana proses bersangkutan akan dilanjutkan ke proses yang dituju

Extend

Relasi use case tambahan ke sebuah use

case yang ditambahkan dapat berdiri

sendiri walau tanpa use case tambahan itu

Generalisasi

Sebuah relasi di mana fungsi yang satu adalah fungsi yang umum dari yang lainnya

2. Use Case Scenario

Sebuah diagram yang menunjukkan use case dan aktor mungkin menjadi titik awal yang bagus, tetapi tidak memberikan detail yang cukup untuk desainer sistem untuk benar-benar memahami persis bagaimana sistem dapat

terpenuhi. Cara terbaik untuk mengungkapkan informasi penting ini adalah dalam bentuk penggunaan use case scenario berbasis teks per use case-nya[25]. [25]. Dasar format penulisan use case scenario dapat di lihat pada Tabel 2.2-12.

Tabel 2.2-12 Format Penulisan Use Case Scenario

Use Case Name Berisi nama use case

Related Requirement Berisi kode kebutuhan yang terkait dengan skenario

Goal in Context Tujuan yang ingin dicapai use case

Precondition Kondisi sistem ketika akan dilangsungkannya skenario use case

Successful End Condition Kondisi jika use case berhasil terpenuhi

Failed End Condition Kondisi jika use case gagal terpenuhi

Primary Actor Aktor utama yang berasosiasi dengan use case

Secondary Actor Aktor selain aktor utama yang berasosiasi dengan

use case

Trigger Aktivitas yang dilakukan untuk mengawali use case

Included Cases Use case yang di-include

Main Flow Step Action

1 Langkah-langkah aksi dari aktivitas use

case

2

Extension Step Branching Action

2.1 Langkah-langkah aksi lain selain aktivitas utama dari use case

2.2

3. Activity Diagram

Activity Diagram adalah sebuah tahapan yang lebih fokus kepada menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Di mana biasanya dipakai pada bisnis modeling untuk memperlihatkan urutan aktivitas proses bisnis. Activity diagram ini sendiri memiliki struktur yang mirip dengan flowchart atau data flow diagram pada perancangan terstruktur. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram[25]. Contoh activity diagram dapat dilihat pada Gambar 2.2-16.

Gambar 2.2-16 Contoh Aktivity Diagram

Simbol yang digunakan dalam aktivity diagram dapat dilihat pada Tabel 2.2-13. Tabel 2.2-13 Simbol Aktivity Diagram

Simbol Nama Simbol Keterangan

Start State

Menggambarkan entitas eksternal yang berhubungan dengan sistem

Stop State

Menggambarkan proses yang ada dalam suatu sistem

State

Menggambarkan aktivitas yang terjadi

State Condition

Menerangkan kondisi proses yang sedang berlangsung

State Transition

Menggambarkan perubahan dari state satu ke state lainnya

4. Sequence Diagram

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram jenis ini memberikan kejelasan sejumlah objek dan pesan-pesan yang diletakkan di antaranya di dalam sebuah use case. Komponen utamanya adalah objek yang digambarkan dengan kotak segi empat atau bulat, message yang digambarkan dengan gari putus dan waktu yang ditunjukkan dengan progress vertical. Manfaat dari sequence diagram adalah

memberikan gambaran detail dari setiap use case diagram yang dibuat sebelumnya[25]. Contoh sequence diagram dapat dilihat pada Gambar 2.2-17.

Gambar 2.2-17 Contoh sequence diagram Simbol sequence diagram dapat dilihat pada Tabel 2.2-14.

Tabel 2.2-14 Simbol Sequence Diagram

Simbol Nama Simbol Keterangan

Actor

Menggambarkan pihak yang berhubungan dengan sistem.

Object

Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal.

Object yang dimaksud dapat berupa boundary, control, dan entity.

LifeLine

Mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah object.

Message

Spesifikasi dari komunikasi antar object yang memuat berbagai informasi tentang aktifitas yang terjadi

Simbol Nama Simbol Keterangan

Activation Activation dinotasikan sebagai sebuah kotak

segi empat yang digambar pada sebuah

lifeline. Mengindikasikan sebuah object yang

akan melakukan sebuah aksi.

5. Class Diagram

Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class, paket dan objek serta hubungan satu sama lain. Class diagram juga menjelaskan hubungan antar class secara keseluruhan di dalam sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan[25]. Contoh class diagram dapat dilihat pada Gambar 2.2-18.

Gambar 2.2-18 Contoh class diagram Simbol class diagram dapat dilihat pada Tabel 2.2-15.

Tabel 2.2-15 Simbol Class Diagram

Simbol Nama Simbol Keterangan

Generalization

Hubungan di mana objek anak

(descendent) berbagi perilaku dan

struktur data dari object yang ada di atasnya object induk (ancestor).

Simbol Nama Simbol Keterangan Nama Class +atribut +atribut +atribut +method +method Class

Class adalah blok - blok pembangun

pada pemrograman berorientasi

object. Sebuah Class digambarkan

sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan properti atau atribut class. Bagian akhir mendefinisikan berbagai method dari sebuah class.

Dependency

Salah satu jenis relasi class diagram yang lemah di mana objek dalam suatu class akan bekerja sangat singkat dengan objek yang ada pada

class lain

(work briefly)

Association

Salah satu jenis relasi class diagram yang lemah di mana objek dalam suatu class akan bekerja dengan jumlah waktu yang lama terhadap objek yang ada pada class lain. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum

multiplicity pada sebuah relationship.

(Contoh: One-to-one, one-to-many,

many-to-many). Aggregation

Jenis relasi class di mana ketika satu

class di share atau direferensikan

kepada objek yang ada di class lain.

Composition

Jenis relasi class diagram yang kuat di mana jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka

class tersebut memiliki relasi

Composition terhadap classtempat

dia bergantung tersebut. Sebuah relationship composition

digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.

2.2.8 PHP

PHP adalah salah satu bahasa Server-side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan di antara struktur HTML dan karena bahasa Server side, maka bahasa PHP akan dieksekusi di server, sehingga dikirimkan ke

browser adalah “hasil jadi” dalam bentuk HTML, dan kode PHP Anda tidak akan terlihat. PHP termasuk dalam bahasa Open Source. Jadi Anda dapat mengubah source code dan mendistribusikan secara bebas[26].

Adapun kelebihan-kelebihan dari bahasa pemrograman PHP yaitu sebagai berikut.

1. PHP mudah dibuat dan kecepatan akses tinggi.

2. PHP dapat berjalan dalam web server yang berada dan dalam system operasi yang berbeda pula. PHP dapat berjalan disistem operasi UNIX, Windows98, Windows NT dan Macintosh.

3. PHP diterbitkan secara gratis

4. PHP juga dapat berjalan pada web server Microsoft Personal Web Server, Apache, IIS, Xitami dan sebagainya.

5. PHP adalah termasuk bahasa yang embedded (bisa ditempel atau diletakkan dalam tag HTML).

6. PHP termasuk server-side programming.

7. Sistem database yang didukung oleh PHP seperti Oracle, Sybase, mSQL, MySQL, Solid, Generic ODBC, Postgres SQL.

2.2.9 Laravel

Laravel adalah sebuah framework PHP yang dirilis di bawah lisensi MIT, dibangun dengan konsep MVC (model view controller). Laravel adalah pengembangan website berbasis MVP yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan syntax yang ekspresif, jelas dan menghemat waktu[27].

MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi. MVC memisahkan aplikasi berdasarkan komponen- komponen aplikasi, seperti : manipulasi data, controller, dan user interface.

1. Model → Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.

2. View → View adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.

3. Controller → Controller merupakan bagian yang menjembatani model dan view.

Dalam dokumen BAB 2 TINJAUAN PUSTAKA (Halaman 26-36)

Dokumen terkait