• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA. Berikut merupakan teori-teori umum dan khusus yang digunakan dalam penulisan skripsi ini:

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA. Berikut merupakan teori-teori umum dan khusus yang digunakan dalam penulisan skripsi ini:"

Copied!
34
0
0

Teks penuh

(1)

5 BAB 2

TINJAUAN PUSTAKA

2.1. Teori Umum

Berikut merupakan teori-teori umum dan khusus yang digunakan dalam penulisan skripsi ini:

2.1.1 Perangkat Lunak

Menurut Pressman (2010, pp. 4), Definisi perangkat lunak adalah sebagai berikut:

1. Sekumpulan perintah (program komputer) yang bila dieksekusi akan memberikan fitur, fungsi, dan kinerja yang diinginkan.

2. Struktur-struktur data yang memungkinkan program untuk memanupulasi informasi.

3. Dokumen yang menggambarkan operasi dan kegunaan dari suatu program.

Komponen metodologi pengembangan perangkat lunak dapat dibagi dalam empat unit:

Gambar 2.1 Software Engineering Layer

(Sumber: Software Engineering a Practitioner’s Approach - Pressman, 2010: 14)

(2)

1. Berfokus pada kualitas

Semua pendekatan dengan teknik apapun pada rekayasa perangkat lunak harus berdasarkan pada standar yang mengutamakan kualitas. Pondasi dasar dan utama yang mendukung rekayasa perangkat lunak yang baik yaitu berfokus pada kualitas. 2. Proses

Proses rekayasa perangkat lunak adalah perekat yang memegang lapisan teknologi bersama dan memungkinkan pengembangan rasional dan tepat waktu dari perangkat lunak komputer. Proses mendefinisikan kerangka kerja untuk satu set area proses kunci yang harus dibentuk untuk pengiriman yang efektif dari teknologi rekayasa perangkat lunak. Bidang utama membentuk dasar bagi kontrol manajemen proyek perangkat lunak dan menetapkan konteks dimana metode teknis telah diterapkan, produk kerja telah dihasilkan, milestone telah dibangun, kualitas dijamin, dan perubahan dikelola dengan baik.

3. Metode

Metode rekayasa perangkat lunak memberikan teknik bagaimana membangun perangkat lunak. Metode mencakup array yang luas dari tugas-tugas yang mencakup analisis kebutuhan, desain, konstruksi program, pengujian dan dukungan, rekayasa perangkat lunak relay metode pada serangkaian prinsip dasar yang mengatur setiap area teknologi dan termasuk aktivitas pemodelan dan teknik deskriptif lain.

4. Peralatan

Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi-otomatis untuk proses atau metode. Ketika alat terintegrasi sehingga informasi yang dibuat oleh satu alat yang dapat digunakan oleh yang lain, sebuah sistem untuk mendukung pengembangan perangkat lunak, yang disebut Computer-Aided Software Engineering didirikan. CASE menggabungkan software,

(3)

hardware, dan database software engineering untuk membuat lingkungan rekayasa perangkat lunak untuk analog CAD / CAE (Computer-Aided Design / Engineering) untuk hardware.

2.1.2 Metode Pengembangan Prototyping

Menurut Pressman (2010, pp. 43), prototyping merupakan metode pengembangan terbaik saat para stakeholder mendefinisikan satu set tujuan umum untuk perangkat lunak, tetapi tidak mengidentifikasi persyaratan rinci untuk fungsi dan fitur.

Gambar 2.2 Prototyping Paradigma

(Sumber: Software Engineering a Practitioner’s Approach - Pressman, 2010: 43)

Metode prototyping dimulai dari tahap communication. Tim pengembang perangkat lunak melakukan pertemuan dengan para stakeholder untuk mengidentifikasi secara garis besar kebutuhan apa saja yang sudah diketahui, dan bagian mana yang penting.

Perencanaan pembuatan prototyping dilakukan secara cepat. Setelah itu dilakukan pemodelan dalam bentuk “rancangan cepat”. Pembuatan rancangan cepat berdasarkan pada representasi aspek-aspek perangkat lunak yang akan terlihat oleh para end user (misalnya

(4)

rancangan interface atau format tampilan output). Rancangan cepat merupakan dasar untuk memulai konstruksi pembuatan prototyping.

Prototyping kemudian diserahkan kepada para stakeholder untuk mengevaluasi prototype yang telah dibuat sebelumnya dan memberikan umpan-balik yang akan digunakan untuk memperbaiki spesifikasi kebutuhan. Pengulangan terjadi saat pengembang melakukan perbaikan terhadap prototyping tersebut.

Kelebihan prototyping

1. Adanya komunikasi yang baik antara pengembang dan pelanggan.

2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.

3. Lebih menghemat waktu dalam pengembangan sistem.

4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

2.1.3 Software Testing

Menurut Pressman (2010, p482) tujuan dari pengujian adalah untuk menemukan dan memperbaiki sebanyak mungkin kesalahan dalam program sebelum menyerahkan program kepada customer. Salah satu pengujian yang baik adalah pengujian yang memiliki probabilitas tinggi dalam menemukan kesalahan.

a. Strategy testing

Menurut Pressman (2010, pp. 450), Sebuah strategi untuk pengujian perangkat lunak harus menyertakan uji tingkat rendah untuk memverifikasi bahwa source code telah di implementasi dengan benar serta uji tingkat tinggi untuk memvalidasi fungsi system utama terhadap kebutuhan stakeholder. Strategi harus memberikan panduan bagi praktisi dan satu kumpulan milestones untuk manager.

(5)

1. Unit testing in the OO context

Uji unit dalam kontek OO tidak melakukan uji pada tiap modul secara individual seperti uji unit dari perangkat lunak konvensional, namun unit terkecil yang diuji adalah class atau object yang dienkapsulasi.

Testing class untuk software OO sama dengan uji unit untuk software konvensional. uji software konvensional lebih berfokus pada detil algoritma dari modul dan aliran data sepanjang interface modul, uji class untuk software OO ditentukan oleh operasi dari class yang dienkapsulasi dan tingkah laku dari class.

2. Integration testing in the OO context

Pengujian integrasi adalah pengujian terhadap unit-unit program yang saling terintegrasi dengan fokus pada masalah interfacing.

Menurut Pressman (2010, pp. 516), terdapat dua strategi pengujian integrasi dari perangkat lunak object-oriented:

a. Thread-based testing

Mengintegrasikan sekumpulan class yang dibutuhkan untuk merespon satu input atau event. Setiap thread diintegrasikan dan diuji secara individual.

b. Use-based testing

Konstruksi sistem dimulai dengan menguji class-class yang menggunakan class server paling sedikit (independent class). Setelah pengujian independent class, dilanjutkan dengan pengujian dependent class yaitu class yang menggunakan independent class yang sudah diuji. Pengujian dependent class dilakukan terus sampai keseluruhan sistem dibangun.

(6)

3. Validation testing in the OO context

Validasi pada software OO berfokus pada aksi user dan output dari system. Untuk membantu dalam pengujian validasi, penguji harus menggunakan use cases yang merupakan bagian dari requirements model.

4. System testing

System testing adalah serangkaian pengujian dengan tujuan utamanya untuk menjalankan seluruh elemen sistem yang dikembangkan.

b. Metode Testing

1. White-Box Testing

Menurut Pressman (2010, pp. 485), pengujian White-box atau Glass-box adalah metode test-case desain yang menggunakan struktur kontrol desain procedural untuk memperoleh test-case. Dengan menggunakan metode pengujian white-box, perekayasa system dapat memperoleh test-case yang: a. Memberikankan jaminan bahwa semua jalur independent pada

suatu modul telah digunakan paling tidak satu kali.

b. Menggunakan semua keputusan logis dari sisi true dan false. c. Mengeksekusi semua batas fungsi loops dan batas

operasionalnya.

d. Menggunakan struktur internal untuk menjamin validitasnya.

2. Black-Box Testng

Black-box testing merupakan pengujian yang berpusat pada kebutuhan fungsional perangkat lunak dimana memungkinkan untuk memperoleh sekumpulan kondisi input yang secara penuh memeriksa fungsional dari sebuah aplikasi. Black-box testing berusaha menemukan kesalahan-kesalahan seperti kesalahan

(7)

fungsi dan kesalahan tampilan aplikasi. Black-box testing dapat digunakan untuk menguji aplikasi konvensional dan aplikasi yang berorientasi objek (Pressman, 2010).

2.1.4 Database

A. Database System

Database system adalah kumpulan aplikasi program yang berhubungan dengan database bersama dengan DBMS dan database itu sendiri (Connolly and Begg, 2015: p52).

B. Database

Menurut Connolly and Begg (2015, p63), Database adalah kumpulan data yang terbagi dan saling terhubung secara logikal dan deksripsinya yang dirancang untuk memenuhi kebutuhan informasi dari organisasi.

Dalam basis data, terdapat tiga istilah penting, yakni entitas, atribut, dan Relationship. Entitas adalah sebuah objek berbeda (bisa seseorang, tempat, sesuatu, konsep, ataupun kejadian) dalam organisasi yang harus direpresentasikan dalam basis data. Atribut adalah sebuah properti yang mendeskripsikan beberapa aspek dari objek yang ingin di-record. Relationship adalah asosiasi antar entitas (Connolly, 2015, p63).

C. Database Management System (DBMS)

Menurut Connolly dan Begg (2015, p64), Database Management System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, membuat, memelihara dan mengatur akses ke database.

DBMS memungkinkan user untuk mendefinisikan database menggunakan Data Definition Languange (DDL), serta melakukan insert, update, delete dan mendapatkan data dari database

(8)

menggunakan Data Manipulation Language (DML). Selain itu, fasilitas yang melayani pengaksesan data disebut query language.

1. Structure Query Language (SQL)

Menurut Connolly dan Begg (2015, p191), SQL adalah sebuah bahasa yang mucul akibat dari pengembangan model relasional, yang secara de facto menjadi bahasa standar relasi database.

2. Data Definition Language (DDL)

Menurut Thomas Connolly dan Begg (2015, p.65) DDL mengizinkan user untuk menspesifikasikan tipe data dan struktur serta batasan mengenai data yang bisa disimpan ke dalam database.

3. Data Manupulation Language (DML)

Menurut Thomas Connolly dan Begg (2015, p.92) DML merupakan bahasa yang menyediakan satu set operasi untuk mendukung operasi manipulasi data pada database.

2.1.5 Object Oriented Programming

Object Oriented Programming adalah paradigma pemrograman yang memandang perangkat lunak sebagai kumpulan objek yang saling berinteraksi di dalam suatu sistem. (Azis, 2005, p. 2).

Salah satu keuntungan dari object oriented programming dibandingkan procedural programming adalah memungkinkan pengembang aplikasi untuk membuat fungsi yang tidak perlu diubah ketika sebuah objek dengan tipe berbeda ditambahkan. Seorang pengembang aplikasi hanya perlu membuat objek baru yang mewarisi beberapa fungsi atau tipe data dari objek yang sudah ada (inheritance).

Pemrograman berorientasi objek (Object Oriented Programming) menekankan konsep sebagai berikut:

(9)

1. Class merupakan sekumpulan objek yang memiliki atribut-atribut dan method. (Lethbridge & Laganiere, 2005, pp. 31-33). Class merupakan penggambaran dari sebuah objek atau sifat objek dan juga apa yang bisa dilakukan oleh objek tersebut. Ada juga yang disebut dengan superclass, sebuah class induk yang nantinya mempunyai class-class yang terdiri dari class dan subclass. (Lethbridge & Laganiere, 2005, p. 53).

2. Objek dalam OOP adalah sebuah suatu bentuk dari class. Objek menggambarkan kemampuan untuk menyimpan informasi mengenai hal tersebut, berinteraksi dengan hal tersebut atau keduanya.

3. Encapsulation/pengkapsulan, yang merupakan pembatasan ruang lingkup program terhadap data yang diproses supaya data terlindungi oleh prosedur atau objek lain, kecuali prosedur yang berada di objek itu sendiri. (Lethbridge & Laganiere, 2005, p. 53).

4. Polymorphism adalah konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda, bahwa operasi yang sama mungkin memiliki perbedaan dalam class yang berbeda. (Lethbridge & Laganiere, 2005, p. 38).

5. inheritance (pewarisan), yaitu kepemilikan yang bersifat implisit dari fitur subclass yang didefinisikan dalam superclass. Fitur tersebut mencakup variables dan method. (Lethbridge & Laganiere, 2005, p. 39).

2.1.6 Unified Modeling Language (UML)

Berdasarkan Whitten dan Bentley (2007: 371), Unified Modeling Language adalah sekumpulan konvensi pemodelan yang digunakan untuk mengspesifikasikan atau mendeskripsikan perangkat lunak berdasarkan obyek.

(10)

A. Use case diagram

Use Case Diagram adalah diagram UML yang berguna untuk memberikan penjelasan mengenai fungsi suatu sistem yang sedang dikembangkan kepada user menggunakan istilah-istilah yang mudah dimengerti (bukan merupakan istilah yang hanya dimengerti oleh developer). Use Case Diagram memberikan representasi grafis mengenai urutan aktivitas berupa interaksi yang terjadi antara user (didalam Use Case Diagram disebut dengan Actor) dan system serta tujuan dari penggunaan system tersebut.

Di dalam Use Case Diagram, fungsi-fungsi dari system dideskripsikan menggunakan alat bernama use case. Actor adalah user yang melakukan interaksi dengan sistem, sedangkan jenis-jenis interaksi yang dilakukan oleh Actor terhadap use case disebut Relationship (Whitten and Bentley, 2007: 247-248).

1. Use case

Pemodelan Use-case mengidentifikasikan dan mendeskripsikan fungsi-fungsi pada system dengan alat yang disebut use cases. Sebuah use case merepresentasikan sebuah tujuan dari sistem dengan menggambarkan urutan aktivitas dan interaksi user dalam mencapai tujuan. Use case digambarkan dengan sebuah bentuk elips dengan nama dari use case yang muncul dari atas, bawah, atau dalam elips.

(11)

Gambar 2.3 Contoh use case diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 246)

2. Actor

Use Case diinisiasi atau dipicu oleh pengguna external yang disebut Actor. Actor memulai suatu aktifitas di system (use case), dengan tujuan menyelesaikan suatu tugas agar menghasilkan nilai yang diinginkan.

Berikut 4 jenis Actor:

a. Primary Pusiness Actor

Actor yang secara utama mendapat manfaat dari pengeksekusian usecase dengan menerima sesuatu yang terukur atau teramati dengan baik. Actor primary mungkin atau mungkin tidak memulai kegiatan bisnis. Contoh aktifitas seorang pegawai menerima slip gaji (sesuatu yang terukur) dari sistem penggajian setiap jumat, karyawan tidak melakukan sesuatu untuk memulai kegiatan tersebut tetapi karyawan adalah primary Actor yang menerima sesuatu yang bernilai.

(12)

b. Primary System Actor

Actor yang secara langsung berinteraksi dengan sistem untuk memulai sebuah aktifitas di sistem atau bisnis. Primary system Actor bisa berinteraksi dengan primary business Actor untuk menggunakan sistem yang sebenarnya. Mereka memfasilitasi kegiatan memulai penggunaan langsung ke sistem untuk kepentingan primary business Actor. Contoh pegawai kasir yang memindaikan barang ke sistem untuk customer yang membeli barang tersebut.

c. External Server Actor

Actor yang merespon permintaan dari use case. Contoh, biro kartu kredit yang melakukan pengisian melalui kartu kredit.

d. External Receiver Actor

Actor yang bukan Actor utama tapi menerima sesuatu nilai yang penting atau terukur dari use case contoh, gudang menerima pesanan untuk mempersiapkan pengiriman setelah customer melakukan pemesanan.

3. Relationship

a. Association

Gambar 2.4 Contoh Penggunaan Association pada use case

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 248)

(13)

Assosiation merupakan sebuah relasi dengan bentuk garis lurus antara Actor dengan use case. (1) Association yang memiliki tanda panah mengarah pada sebuah use case menunjukkan bahwa interaksi dinisiasikan oleh Actor. (2) Association yang tidak memiliki tanda panah menunjukkan adanya interaksi antara use case dengan external server atau Actor penerima.

b. Extends

Gambar 2.2 Contoh Penggunaan Extends pada use case

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 249)

Sebuah use case yang memiliki fungsi komplek membuat logika use case menjadi sulit dipahami. Dengen tujuan menyederhanakan use case yang bersifat komplek agar lebih mudah dipahami, bisa dengan mengekstrak fungsi yang komplek menjadi use case tersendiri yang disebut extension usecase.

(14)

c. Uses (or Includes)

Gambar 2.5 Contoh Penggunaan include pada Use Case

(Sumber: System Analysis and Design Method – Whitten and Bentley, 2007: 249)

Sangat umum jika menemukan dua atau lebih usecase yang memiliki kemiripan. Abstract use case dibuat agar mengurangi redundansi pada use case diagram, dan dapat digunakan satu atau lebih use case yang membutuhkan fungsionalitasnya. Relationship antara abstract use case dengan use case disebut uses or include.

(15)

d. Depends On

Gambar 2.6 Contoh penggunaan Depends On pada Use Case

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 250)

Relationship depend on digunakan untuk

menghubungkan use case yang saling ketergantungan antara satu use case dengan use case lainnya sehingga sebuah aktivitas hanya bisa dilakukan apabila aktivitas sebelumnya sudah berjalan.

e. Inheritance

Gambar 2.7 Contoh penggunaan Inheritance pada Use Case

(16)

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 250)

Abstract Actor dibuat dengan tujuan mengurangi komunikasi berlebih dengan system ketika dua atau lebih Actor melakukan interaksi pada satu use case yang sama. Relationship yang menghubungkan antara Actor dengan abstract Actor disebut Inheritance B. Use case narrative

Menurut Whitten dan Bentley (2007: 246), Use Case

Narrative atau Use Case Description berguna untuk

mendeskripsikan dari dan bagaimana user akan berinteraksi dengan sistem dalam menyelesaikan sebuah tugas.

Gambar 2.8 Contoh Use Case Narrative

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 257)

Bagian-bagian dari High-level Use Case Narrative adalah sebagai berikut:

1. Author adalah nama-nama individu yang berkontribusi di dalam penulisan use case.

(17)

3. Version adalah versi dari use case.

4. Use-case name adalah nama yang merepresentasikan tujuan dari use case tersebut, harus dimulai dengan kata kerja.

5. Use-case type adalah jenis use case yang digunakan. Business requirement use-case memiliki fokus pada visi strategis dan tujuan dari banyak stakeholders. Jenis use case ini memberikan deskripsi penjelasan secara umum mengenai masalah dan cakupannya, tetapi tidak termasuk rincian yang harus dikomunikasikan kepada developer mengenai apa yang harus dilakukan oleh sistem.

6. Use-case ID adalah pengidentifikasi unik dari sebuah use case yang tujuannya untuk pengelompokkan use case.

7. Priority adalah tingkat prioritas dari sebuah use case yang menunjukkan pentingnya fungsi use case tersebut di dalam sistem.

8. Source mendefinisikan entitas yang memicu pembuatan use case. Dapat berupa kebutuhan, dokumen, atau stakeholder. 9. Primary business Actor adalah stakeholder yang secara utama

diuntungkan oleh eksekusi use case dengan menerima suatu nilai yang terukur.

10. Other participating Actors adalah Actor lain di dalam use case yang berpartisipasi dan membantu terwujudnya tujuan dari use case yang ada.

11. Interested stakeholders adalah seseorang selain Actor yang memiliki ketertarikan pada tujuan dari use case.

12. Description adalah deskripsi singkat yang terdiri dari beberapa kalimat yang menjelaskan tujuan dari use case dan aktivitas-aktivitasnya.

(18)

Gambar 2.9 Contoh Use Case Narrative

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 259-260)

Setiap high-level use case dilakukan expand untuk mencakupi rincian event-event yang typical dan alternate. Typical course of events adalah deskripsi langkah demi langkah

(19)

pelaksanaan use case, sedangkan Alternate Course of events berisi beragam kondisi yang terjadi di dalam use case.

Berikut adalah konten tambahan dari sebuah ekspansi high-level use case:

1. Precondition adalah batasan dari kondisi/status sistem sebelum use case dapat dieksekusi.

2. Trigger adalah event yang menyebabkan eksekusi sebuah use case.

3. Typical course of events adalah urutan biasa dari aktivitas yang dilakukan aktor dan sistem untuk mencapai tujuan dari use case.

4. Alternate Courses adalah apabila terdapat pengecualian atau variasi dari typical course yang terjadi.

5. Conclusion adalah spesifikasi saat use case berhasil dieksekusi, saat primary Actor menerima suatu nilai yang terukur.

6. Postcondition adalah batasan dari kondisi/status sebuah sistem setelah use case berhasil dieksekusi.

7. Business rules menspesifikasikan aturan dan prosedur bisnis di dalam sistem yang baru.

8. Implementation constraints and Specifications

menspesifikasikan kebutuhan yang bersifat nonfungsional yang dapat mempengaruhi realisasi use case, dapat berguna dalam perencanaan arsitektur dan pencakupan.

9. Assumptions adalah semua asumsi yang dibuat oleh creator saat mendokumentasikan use case.

10. Open issues adalah pertanyaan atau masalah yang harus diselesaikan atau diteliti sebelum use case disetujui.

(20)

C. Activity diagram

Activity Diagram digunakan untuk menggambarkan alur urutan yang ada pada sebuah sistem dan menjelaskan alur dari sebuah use case. Terdapat beberapa elemen di dalam sebuah activity diagram, yaitu:

Tabel 2.1 Tabel Elemen Activity Diagram

Nama Simbol Deskripsi

Initial

Mode

Lingkaran hitam yang merepresentasikan awal sebuah proses.

Activity

Simbol yang merepresentasikan langkah-langkah individual di dalam activity diagram.

Flow

Simbol berupa tanda panah yang menunjukkan alur perpindahan dari satu aktivitas ke aktivitas lainya.

Decision dan Merge

Simbol yang sama digunakan untuk dua fungsi kondisional yang berbeda, Decision dan Merge.

Decision mengindikasikan

percabangan karena adanya pemilihan aktivitas dengan alur berbeda. Merge mengindikasikan adanya penggabungan aktivitas untuk kembali ke jalur yang sama setelah sebelumnya dipisahkan oleh sebuah decision.

(21)

Nama Simbol Deskripsi

Join diasosiasikan dengan proses

paralel (dua arah). Fork menggambarkan dua aktivitas yang akan berjalan secara paralel. Join menggambarkan berakhirnya proses yang berjalan secara paralel (dua arah)

Activity Final

Simbol ini menunjukkan akhir dari proses pada sebuah activity diagram.

(22)

Gambar 2.10 Contoh Activity Diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 392)

D. Class diagram

Menurut Whitten dan Bentley (2007: 373-381), Class Diagram digunakan untuk menggambarkan pengorganisasian obyek-obyek bisnis dan asosiasinya terhadap satu sama lain pada sebuah sistem. Dalam hal ini, obyek bisnis disebut sebagai class. Di dalam class diagram, class-class yang ada dapat dihubungkan satu sama lain menggunakan garis lurus. Di dalam sebuah class, terdapat elemen berupa nama, attribute, dan operation.

Berikut adalah beberapa jenis hubungan di dalam class diagram menurut Whitten dan Bentley (2007: 373-381):

(23)

1. Mulitiplicity

Multiplicity adalah indikator yang menunjukkan banyaknya hubungan antar class.

Tabel 2.2 Jenis-Jenis Multiplicity

Multiplicity Deskripsi

1 Hanya satu.

0..1 Nol atau satu

* Nol atau lebih.

1..* Satu atau lebih.

x..y Antara jumlah x dan jumlah y

2. Association

Association adalah hubungan antara dua class atau lebih di dalam sebuah class diagram. Pada setiap association terdapat multiplicity. Terdapat dua jenis hubungan association di dalam class diagram, yaitu:

a. Bi-directional

Adanya hubungan antar class dimana kedua class sama-sama memiliki peran terhadap satu sama lain. Hubungan bi-directional digambarkan dengan garis lurus tanpa tanda panah yang menghubungkan kedua class. b. Uni-directional

Adanya hubungan antar class dimana hanya salah satu class memiliki peran dalam hubungan tersebut. Hubungan uni-directional digambarkan dengan garis lurus yang memiliki tanda panah di salah satu ujungnya.

(24)

Gambar 2.11 Contoh Association Bi-Directional dan Uni-Directional Class Diagram

3. Generalization dan specialization

Generalization dan Specialization adalah hubungan antar class dimana terdapat superclass, yaitu sebuah class yang merupakan hasil pengelompokan class-class berdasarkan attribute dan behavior yang sama (generalization), dan sub class, yaitu class-class yang mendapatkan attribute dan behavior turunan dari sebuah super class namun dapat memiliki attribute dan behavior-nya sendiri (specialization).

Gambar 2.12 Contoh Generalization/Specialization Class Diagram

(Sumber: System Analysis and Design Method – Whitten dan Bentley, 2007: 375)

(25)

4. Aggregation dan composition

Aggregation dan Composition adalah hubungan antar class dimana sebuah class merupakan bagian dari class lainnya.

Gambar 2.13 Contoh Aggregation Class Diagram (Sumber: System Analysis and Design Method – Whitten and

Bentley, 2007: 379)

Perbedaan antara composition dan aggregation adalah pada composition terdapat hubungan yang lebih erat antar class. Misalnya, jika class A adalah bagian dari class B, maka class B tidak akan bisa berdiri sendiri tanpa class A. Pada UML 2.0 notasi aggregation tidak lagi digunakan karena fungsinya kurang terlihat perbedaannya dengan bentuk association dengan multiplicity satu atau lebih (one or more). Hal ini menyebabkan beberapa praktisi menganggap aggregation tidak memiliki arti penting pada penggunaannya.

(26)

Gambar 2.14 Contoh Composition Class Diagram (Sumber: System Analysis and Design Method ¬- Whitten and

Bentley, 2007: 379)

Gambar 2.15 Contoh Class Diagram

(Sumber: System Analysis and Design Method – Whitten and Bentley, 2007: 406)

E. Sequence diagram

Sequence diagram adalah diagram UML yang

menggambarkan interaksi antara obyek-obyek di dalam sistem berdasarkan urutan waktu (Whitten and Bentley, 2007: 659). Berikut ini adalah elemen-elemen dari sequence diagram:

(27)

Tabel 2.3 Elemen Sequence Diagram

Nama Simbol Deskripsi

Actor

Actor adalah representasi user yang berinteraksi dengan sistem.

Interface

Class <<interface>>

Suatu notasi yang berfungsi untuk memastikan class interface code, agar tidak terjadi kebingungan atas jenis class.

Controller

Class <<controller>>

Setiap use case memiliki satu atau lebih controller, digambarkan sama seperti notasi interface class.

Entity Classes

Simbol yang

merepresentasikan class pada class diagram.

Message

Berfungsi untuk

menyampaikan pesan dari setiap method.

Activity Bars

Berfungsi untuk menunjukan berapa lamanya waktu objek digunakan.

Return Message

Hasil dari masukan yang dimasukan oleh objek.

(28)

Nama Simbol Deskripsi

Self-call Objek yang memanggil

method-nya sendiri.

Frame

Menandakan area pada

diagram yang melakukan

seleksi, pengulangan, dan suatu pilihan khusus.

Gambar 2.16 Contoh Sequence Diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007: 659)

2.1.7 Interaksi Manusia dan Komputer

Menurut Shneiderman dan Plaisant (2010, p15), Interaksi Manusia dan Komputer adalah sebuah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta mempelajari fenomena-fenomena besar yang berhubungan dengannya.

(29)

a. Faktor manusia terukur

Menurut Shneiderman dan Plaisant (2010, p32), ada faktor-faktor manusia terukur dalam desain antarmuka user antara lain: 1. Waktu belajar

Menyatakan berapa lama waktu yang diperlukan user untuk mempelajari cara relevan dalam melakukan suatu tugas.

2. Kecepatan kinerja

Menyatakan berapa lama waktu yang diperlukan untuk melakukan suatu tugas.

3. Tingkat kesalahan

Mengukur berapa banyak kesalahan yang dilakukan oleh user ketika menjalankan sistem. Sistem tersebut harus memiliki tingkat kesalahan yang rendah bila sedang digunakan oleh user.

4. Daya ingat

Kemampuan user memelihara pengetahuannya setelah jangka waktu tertentu.

5. Kepuasan subjektif

Menyatakan tingkat kepuasan user terhadap berbagai aspek sistem.

b. Delapan aturan emas

Berdasarkan Shneiderman dan Plaisant (2010), terdapat Delapan Aturan Emas (Eight Golden Rules) yang digunakan sebagai pedoman dalam merancang suatu antarmuka user (user interface) yang baik, yaitu:

(30)

1. Berusaha untuk konsisten

Konsisten dalam berbagai aspek yang terdapat dalam aplikasi, seperti warna yang digunakan, jenis font yang dipakai, dan tampilan menu.

2. Menyediakan kegunaan universal

Perancangan dilakukan dengan mengetahui perbedaan dari user sehingga dapat dipakai oleh semua kategori user baik yang sudah ahli maupun pemula. User yang beragam dan desain harus mempertimbangkan perbedaan dan pertimbangan dalam hal rentang usia, cacat dan keanekaragaman teknologi.

3. Memberikan umpan balik yang informatif

Untuk setiap sistem diharapkan adanya suatu umpan balik bagi user. Respon yang diberikan tergantung dari aksi yang dilakukan user.

4. Merancang dialog penutupan

Memberikan gambaran hasil yang akan didapat oleh user jika melakukan suatu tindakan sehingga user tidak salah dalam memilih tindakan dan melanjutkan ke tahap selanjutnya.

5. Memberikan pencegahan dan penanganan masalah

Suatu sistem yang baik harus dapat menghindarkan user dari kesalahan sebelum kesalahan itu terjadi. Jika user membuat suatu kesalahan, antarmuka (interface) harus dapat mendeteksi kesalahan dan memberikan informasi yang spesifik kepada user untuk menangani kesalahan.

(31)

6. Memungkinkan aksi pembalikan yang mudah

Setiap aksi harus dirancang sedemikian rupa sehingga dapat melakukan pembalikan untuk kembali ke keadaan semula sebelum aksi tersebut dijalankan.

7. Mendukung pusat kendali internal

User yang sudah berpengalaman menginginkan bahwa mereka bertanggungjawab atas sebuah sistem maka sistem dapat memberikan respons terhadap setiap aksi yang dilakukan oleh user karena manusia yang memegang kontrol sistem.

8. Mengurangi beban ingatan jangka pendek

Dengan keterbatasan ingatan yang dimiliki oleh manusia, sistem harus dirancang sesederhana mungkin dengan tujuan user tidak memerlukan waktu yang lama untuk beradaptasi menggunakan sistem.

2.2. Teori Khusus

2.2.1 Visual Basic .NET

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan bahasa ini, para programmer dapat membangun aplikasi windows forms, aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Visual Basic dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa VB .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai

(32)

evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework.

NET Framework merupakan model platform yang memudahkan dalam membangun lingkungan aplikasi yang terdistribusi di internet.

Platform .NET Framework terdiri dari 2 bagian utama yaitu :

a. Commun Language Run Time (CLR), berfungsi untuk

manajemen memori, security, me-Load, mengeksekusi kode, dan mengisolasi aplikasi.

b. .NET Framework Class Library (FCL), berisikan koleksi kelas yang dalam penggunaanya dapat diturunkan menjadi koleksi objek. Objek tersebut kemudian dapat digunakan untuk membangun aplikasi.

2.2.2 ASP .NET

Menurut Walther (2008, pp. 11) ASP.NET adalah sebuah teknologi server-side scripting yang digunakan untuk membuat halaman-halaman web dinamic. ASP.NET adalah sebuah platform terbaru untuk mengembangkan aplikasi web, Web Services dan Web Form dalam Microsoft .NET Framework. ASP.NET merupakan evolusi teknologi dari Microsoft Active Server Pages (ASP) untuk .NET Platfrom yang baru.

ASP.NET tidak hanya terbatas pada bahasa script, tetapi memungkinkan pengembang untuk menggunakan bahasa NET seperti C#, J#, VB, dll. Hal ini memungkinkan developer untuk membangun aplikasi yang sangat menarik dengan memanfaatkan Visual Studio.

Keuntungan memakai ASP.NET adalah sebagai berikut:

2. ASP.NET secara drastis mengurangi jumlah code yang dibutuhkan untuk membangun aplikasi besar.

3. Dengan built-in Windows authentication membuat aplikasi Anda jauh lebih aman.

4. Menggunakan ASP.NET dipastikan lebih memiliki kinerja yang lebih baik.

(33)

5. ASP.NET menyediakan kemudahan bagi penggunanya, seperti contohnya mengirim formulir sederhana, authentication dari client untuk deployment dan juga konfigurasi website.

6. ASP.NET framework dilengkapi dengan peralatan yang kaya dan terintegrasi dengan Visual Studio. WYSIWYG editing, drag-and-drop server controls dan juga deployment secara otomatis adalah beberapa keunggulan dari fitur ASP.NET.

7. Karena Source code dan HTML digabung menjadikan ASP.NET lebih mudah di-maintenance dan di-edit. Ini membuat ASP.NET menjadi lebih flexible dan powerfull.

8. ASP.NET memudahkan dalam proses deployment. Tidak perlu me-register component.

9. Web server memonitor pages, applikasi, dan komponen secara otomatis. Jika ada hal yang mencurigakan, maka ASP.NET akan secara otomatis men-detect-nya.

10. Lebih mudah bekerja dengan ADO.NET yang menggunakan data binding dan feature page formatting yang membuat aplikasi dapat berjalan dengan cepat tanpa adanya masalah performa.

2.2.3 Internet Information Service (IIS)

Internet Information Services atau IIS merupakan sebuah produk microsoft yang digunakan sebagai web server untuk menampilkan web page dan web service yang diminta oleh pengguna melalui web browser. Internet Information Services menyediakan semua paket sistem operasi windows.

(Microsoft Corporation, 2015, What is

IIS?,http://www.iis.net/overview) 2.2.4 Miscrosoft SQL Server

Microsoft SQL Server merupakan produk Relational Database Management System (RDBMS) yang dibuat oleh Microsoft. Orang sering menyebutnya dengan SQL Server saja. Microsoft SQL Server juga mendukung SQL sebagai bahasa untuk memproses query ke dalam database. Microsoft SQL Server banyak digunakan pada dunia bisnis,

(34)

pendidikan atau juga pemerintahan sebagai solusi database atau penyimpanan data. Pada tahun 2008 Microsoft mengeluarkan SQL Server 2008 yang merupakan versi paling banyak digunakan. Berikut ini adalah beberapa fitur yang dari sekian banyak fitur yang ada pada SQL Server:

a. XML Support. Dengan fitur ini, Anda bisa menyimpan dokumen XML dalam suatu tabel, meng-query data ke dalam format XML melalui Transact-SQL dan lain sebagainya.

b. Multi-Instance Support. Fitur ini memungkinkan Anda untuk menjalankan beberapa database engine SQL Server pada mesin yang sama.

c. Data Warehousing and Business Intelligence (BI) Improvements. SQL Server dilengkapi dengan fungsi-fungsi untuk keperluan Business Intelligence melalui Analysis Services. Selain itu, SQL Server 2008 juga ditambah dengan tools untuk keperluan data mining.

d. Performance and Scalability Improvements. SQL Server

menerapkan ke beberapa server sekaligus. Peningkatan lainnya juga dicapai di sisi DBCC, indexed view, dan index reorganization. e. Query Analyzer Improvements. Fitur yang dihadirkan antara lain:

integrated debugger, object browser, dan fasilitas object search. f. DTS Enhancement. Fasilitas ini sekarang sudah mampu untuk

memperhatikan primary key dan foreign key constraints. Ini berguna pada saat migrasi tabel dari RDBMS lain.

g. Transact-SQL Enhancements. Salah satu peningkatan disini adalah T-SQL sudah mendukung UDF (User-Definable Function). Ini memungkinkan Anda untuk menyimpan secara rutin ke dalam database engine.

Gambar

Gambar 2.1 Software Engineering Layer
Gambar 2.2 Prototyping Paradigma
Gambar 2.3 Contoh use case diagram
Gambar 2.4 Contoh Penggunaan Association pada  use case
+7

Referensi

Dokumen terkait

Entitas luar (external entity) atau masukan (input) atau keluaran (output) atau orang yang memakai/berinteraksi dengan perangkat lunak ynag dimodelkan atau sistem lain

Pressman (2010:215) berpendapat perancangan adalah membuat gambaran atau model dari sebuah perangkat lunak dengan menyediakan rincian mengenai arsitektur dari perangkat

Visual Studio 2019 merupakan sebuah perangkat lunak lengkap yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal,

Misalnya memberikan tombol konfirmasi atau pesan peringatan pada tindakan, jika kesalahan terjadi sistem harus dapat mendeteksi kesalahan dengan cepat dan memberikan

Hasanudin, (2008) melakukan penelitian untuk merancang sebuah aplikasi penjadwalan proyek perangkat lunak yang diimplementasikan dengan menggunakan bahasa pemrograman

Aplikasi Pelatihan dan Pemesanan Jasa Tenaga Kerja Berbasis Website pada CV Eljonash Swapraja adalah aplikasi perangkat lunak berbasis website yang berfungsi untuk

Web service adalah aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti

OOSE adalah suatu pengembangan piranti lunak dengan cara membuat modul atau objek tersendiri yang dapat dengan mudah diganti, dimodifikasi dan digunakan kembali.. Metode