• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. perawatan sistem setelah sistem telah berjalan. Dalam definisi ini ada dua kata kunci :

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. perawatan sistem setelah sistem telah berjalan. Dalam definisi ini ada dua kata kunci :"

Copied!
14
0
0

Teks penuh

(1)

6 BAB 2

LANDASAN TEORI

2.1 Software Engineering

2.1.1 Pengertian Software Engineering

Software Engineering adalah sebuah disiplin engineering yang memperhatikan semua aspek produksi software mulai dari tahap awal spesifikasi sistem sampai perawatan sistem setelah sistem telah berjalan. Dalam definisi ini ada dua kata kunci : 1. Disiplin engineering. Para insinyur mengaplikasikan teori, metodologi, dan alat-alat yang mereka miliki sebagaimana diperlukan, tetapi kadangkala mereka juga mencari solusi baru suatu permasalahan meskipun tidak ada teori/metodologi yang mendukung. 2. Semua aspek produksi software. Software engineering tidak hanya terfokus pada hal-hal teknis pengembangan software tapi juga aktivitas-aktivitas seperti manajemen proyek dan pengembangan teori, metodologi, dan alat untuk mendukung pengembangan software.

Secara umum, software engineers mengadopsi pendekatan sistematis dan terorganisir dalam pekerjaan mereka, mengingat ini merupakan teknik yang paling efektif. Tapi engineering itu sendiri berfokus pada penyeleksian metode-metode yang sesuai dengan masalah yang dihadapi dan terkadang suatu pendekatan yang kurang formal ternyata lebih cocok untuk penyelesaian masalah. Hal ini berlaku terutama pada konteks pengembangan sistem berbasis web yang memerlukan pencampuran antara keahlian software (teknikal) dan desain grafis. (Sommervile, 2006 : 7)

(2)

2.1.2 Waterfall Model

Waterfall Model merupakan sebuah metodologi dalam pengembangan software yang alurnya sekuensial seperti sebuah air terjun.

Gambar 2.1 Linear Sequential Model Ada lima tahapan dalam waterfall model, yaitu : (Pressman, 2010 : 39)

a. Komunikasi

Proses mempelajari berbagai masalah bisnis yang direncanakan untuk dicari solusinya. Tahap ini menentukan masalah bisnisnya, mengidentifikasi berbagai penyebabnya, menspesifikasi solusi, dan mengidentifikasi kebutuhan informasi yang harus dipenuhi solusi.

b. Perencanaan

Tahap ini berfokus pada perencanaan untuk tiga bagian utama, yaitu estimating (perkiraan) misalnya untuk perkiraan biaya, waktu, tenaga kerja, scheduling (penjadwalan), dan tracking (pengawasan) terhadap perkembangan proyek.

c. Modelling

Proses membuat perancangan-perancangan seperti rancangan sistem , rancangan layar, rancangan basis data, dsb.

(3)

d. Konstruksi

Proses pembuatan software secara teknis, yaitu menulis baris-baris kode bahasa pemrograman tertentu yang nantinya akan membentuk sebuah software .

e. Peluncuran

Software yang telah dibuat dan dianggap memenuhi kriteria yang diharapkan akan di-implementasi. Setelah di-implementasi, pihak pengembang software (atau pihak yang bertanggung jawab) harus memastikan adanya dukungan-dukungan terhadap penggunaan software yang telah di-implementasi. Dukungan ini misalnya berupa customer support , maintenance, dsb.

2.1.3 Unified Modelling Language (UML)

Unified Modeling Language (UML) adalah tujuan umum dari bahasa pemodelan visual untuk sebuah sistem. UML dirancang untuk menggabungkan praktek terbaik saat ini dalam pemodelan teknik dan rekayasa perangkat lunak. (Arlow, 2002 : 5)

Pada dasarnya UML merupakan sebuah tools (alat) yang digunakan untuk membuat permodelan dan representasi sistem dengan menggunakan teknik analisis dan desain berbasis objek.

2.1.3.1 Use Case Diagram

Sebuah use case diagram menampilkan hubungan antara aktor dan use case dalam suatu sistem. (Ambler, 2005 : 33)

Pedoman penulisan use case : Gunakan strong verb

(4)

Beri nama use case dengan domain terminology

Berikan kesan pengurutan waktu pelaksaan dalam pengurutan use case

Gambar 2.2 Use Case Diagram 2.1.3.2 Use Case Spesification

Use case specification dapat disebut juga sebagai scenario. Use case specification menjabarkan urutan-urutan langkah aksi yang dilakukan dalam suatu use-case. (Ambler, 2005 : 40)

2.1.3.3 Activity Diagram

Activity diagram merupakan model ekuivalen untuk pengembangan berorientasi objek dari flowchart dan flow diagram yang digunakan dalam pengembangan terstruktur. (Ambler, 2005 : 113)

Pada dasarnya, activity diagram merupakan gambaran lain dari use case specification. Activity diagram menggambarkan urutan alur kerja suatu use case dalam bahasa awam, sehingga mudah dimengerti oleh pihak non-teknikal.

(5)

Gambar 2.3 Activity Diagram 2.1.3.4 Conceptual Class Diagram

Conceptual class diagram merupakan sebuah diagram yang menggambarkan relasi-relasi class dalam suatu use case. Use case yang dimaksud di sini bukanlah use case keseluruhan namun poin (digambarkan berbentuk oval dalam use case diagram). (Ambler, 2005 : 55)

2.1.3.5 Sequence Diagram

Sequence diagram berguna untuk : (Ambler, 2005 :80)

Validasi dan menjelaskan logika dan alur suatu aktivitas Detect bottlenecks within an object oriented design

(6)

Gambar 2.4 Sequence Diagram 2.1.3.6 Class Diagram

Class diagram menampilkan classes dari suatu sistem, hubungan antar class tersebut, serta atribut dan operasi dari masing-masing class.

Class diagram berguna untuk : (Ambler, 2005 : 47)

Eksplorasi domain concept dalam bentuk domain model Menganalisa requirement dalam bentuk model konseptual Menggambarkan desain dari object oriented software

Apabila conceptual class diagram menggambarkan relasi antar class dari suatu use case/sequence, maka class diagram menggambarkan relasi class secara keseluruhan sistem.

(7)

Gambar 2.5 Class Diagram

2.2 Database (Basis Data) 2.2.1 Pengertian Database

Berikut beberapa pengertian tentang basis data, yaitu : (Indrajani, 2011 : 2)

• Kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis data mengonsolidasi banyak catatan yang sebelumnya disimpan dalam file terpisah. • Merupakan suatu kumpulan data yang berhubungan secara logis dan deskripsi

data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat penyimpanan data yang besar, di mana dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen melainkan seluruh sumber daya perusahaan yang dapat digunakan bersama.

(8)

2.2.1 DBMS (Database Management System)

(Database Management Sistem (DBMS) adalah perangkat lunak komputer khusus yang disediakan dari vendor-vendor komputer yang digunakan untuk membuat, mengakses, mengontrol, dan mengelola database. (Whitten, 2004 : 20)

Keuntungan dari DBMS adalah: (Indrajani, 2011 : 9) 1. Mengontrol redundansi data

2. Konsistensi data

3. Informasi lebih dari sejumlah data yang sama 4. Pemakaian data bersama

5. Meningkatnya integritas data 6. Meningkatnya keamanan database 7. Meningkatnya standardisasi 8. Meningkatnya skala ekonomi 9. Keseimbangan konflik kebutuhan

10. Meningkatnya akses data dan tanggapan 11. Meningkatnya produktivitas

12. Meningkatnya pemeliharaan data karena independensi data 13. Meningkatnya konkurensi data

14. Meningkatnya service backup dan recovery 2.2.2 ERD (Entity Relationship Diagram)

ERD (Entity Relationship Diagram) merupakan sebuah model diagram yang menggambarkan hubungan objek-objek dalam suatu database. (Connoly, 2005 : 342) Dengan kata lain, ERD merupakan representasi logik dari suatu basis data.

(9)

Gambar 2.6 ER Diagram 2.2.3 Microsoft SQL Server

SQL server adalah produk utama Microsoft dalam bidang basis data, mulai dari SQL Server Express yang ditujukan untuk kelas bawah sampai SQL Server Enterprise Edition yang ditujukan bagi semua kelas pengguna. SQL Server hanya dapat dijalankan pada sistem operasi produksi Microsoft (misalnya Windows). Transact-SQL pada SQL Server juga kompatibel dengan ODBC, OLE DB, dan ADO.NET. (Taylor, 2011 : 247)

2.3 .NET Framework

.NET Framework merupakan sebuah software framework yang dikembangkan Microsoft dan berjalan pada sistem operasi berbasis Windows. Program yang ditulis untuk .NET Framework dieksekusi dalam lingkungan software yang biasa disebut CLR (Common Language Runtime). CLR merupakan sebuah aplikasi mesin virtual yang menyediakan servis seperti sekuritas, manajemen memori, dan penanganan eksepsi. CLR dan class library bersama-sama membentuk .NET .

(10)

Programmer membuat software dengan menggabungkan source code mereka dengan .NET Framework dan class libraries yang dimiliki .NET. Saat ini, bahasa yang umum digunakan untuk membuat aplikasi .NET adalah VB (Visual Basic) dan C#. Untuk bisa menjalankan aplikasi berbasis .NET , pada sistem yang akan digunakan haruslah telah ter-install .NET Framework sesuai versi yang digunakan oleh aplikasi tersebut.

2.4 Object/Relational Mapper

Peran O/RM (Object Relational Mapper) adalah menjembatani jarak antara model relasional (database) dan model berorientasi objek. Menggunakan mapping files atau atribut dalam suatu objek bisnis, sebuah framework O/RM dapat digunakan untuk memaksa objek bisnis ke database dan mengambilnya via API (Application Programming Interface) dari framework ORM dengan sedikit atau tanpa SQL. (Millet, 2009 : 2)

2.4.1 NHibernate

NHibernate adalah port dari framework Hibernate yang popular digunakan untuk Java. Hibernate telah beredar bertahun-tahun dan telah terbukti sebagai komponen yang tangguh (robust). ORM berkembang lambat di dunia .NET. tapi seiring waktu banyak pengembang yang mulai melihat keuntungan dari mengautomasi Data Access Layer mereka. (Millet, 2009 : 2)

(11)

2.5 Web Portal

Sebuah portal menyediakan konten suatu aplikasi kepada user melalui sebuah tampilan layar yang konsisten. (ORACLE)

2.6 Performance Testing

Performance testing merupakan sebuah testing secara umum untuk menentukan performa suatu sistem dari segi responsiveness dan stabilitas ketika sistem berada dalam tekanan tertentu. Dalam penulisan skripsi ini, penulis menggunakan 2 tools untuk pengujian performa web yang dibuat yaitu YSlow dan PageSpeed.

2.6.1 YSlow

YSlow merupakan sebuah add-on bagi Mozilla Firefox maupun Google Chrome yang dikembangkan oleh Yahoo dan berguna untuk menganalisa halaman web dan menyarankan cara-cara untuk meningkatkan performanya berdasarkan aturan-aturan yg telah ditetapkan dan diimplementasi YSlow. Adapun fitur-fitur utama dari YSlow adalah :

• Mengukur halaman web berdasar set aturan yang telah ada atau set aturan yang dibuat user

• Memberikan saran-saran untuk peningkatan performa • Merangkum komponen halaman

(12)

2.6.2 PageSpeed

PageSpeed merupakan add-on (untuk Mozilla Firefox maupun Google Chrome) yang dikembangkan Google dan berguna untuk menganalisa performa halaman web. Perbedaan mendasar PageSpeed dan YSlow adalah YSlow menampilkan hasil analisa per komponen dengan grade A-F , sementara PageSpeed menampilkan skor 1-100 untuk setiap halaman. PageSpeed menggunakan set aturan yang telah ditetapkan, adapun aturan-aturan tersebut adalah sebagai berikut : (GoogleDevelopers)

Optimize caching

Sebagian besar halaman web menggunakan sumber daya/komponen yang berubah-ubah, seperti dokumen CSS , Javascript, dsb. Komponen-komponen ini memerlukan waktu untuk diunduh melewati jaringan, sehingga secara keseluruhan mempengaruhi kecepatan akses halaman web. HTTP caching memungkinkan komponen-komponen tersebut untuk disimpan, atau biasa disebut cached, berdasar browser atau proxy. Dengan metode ini, ketika pengguna mengakses suatu halaman, maka browser akan me-load komponen yang tersimpan (cached) secara lokal dan tidak perlu mengunduh komponennya secara langsung dari server, sehingga mengurangi waktu loading halaman web bersangkutan.

Minimize round trip times

Round-trip time (RTT) merupakan waktu yang dibutuhkan klien untuk mengirim request dan server untuk memberikan respon melewati jaringan, tidak termasuk waktu yang dibutuhkan untuk transfer data. Lebih jelasnya, RTT melibatkan waktu yang dibutuhkan bagi request untuk dikirim dan dikembalikan lagi

(13)

melalui kabel, tapi tidak termasuk waktu yang dibutuhkan untuk sepenuhnya mengunduh byte data. Sebagai contoh, apabila suatu browser menginisiasi koneksi pertama kalinya ke sebuah web server, terjadi minimal 3 kali RTT : sekali untuk resolusi nama DNS, sekali untuk pengaturan koneksi TCP , dan sekali untuk HTTP request dan byte pertama dari HTTP response.

Minimize payload size

Jumlah data yang dikirim dalam setiap respon server dapat menambah latency signifikan pada aplikasi, terutama pada area dimana bandwith-nya terbatas. Minimasi ukuran payload pada sumber daya dinamis dan statis dapat mengurangi latency jaringan secara signifikan. Selain itu, untuk scripts yang ter-cached, pengurangan ukuran byte dokumen bersangkutan mempercepat waktu yang dibutuhkan oleh browser untuk mengeksekusi dan me-render halaman web. Minimize request overhead

Setiap kali klien mengirimkan sebuah HTTP request, klien harus mengirim semua associated cookies yang telah diset untuk domain bersangkutan. Umumnya pengguna memiliki koneksi internet yang asimetris, dimana rasio koneksi i jauh lebih besar daripada upload. Contohnya, sebuah HTTP header request sebesar 500 byte dapat menghabiskan waktu yang setara untuk mengunduh sebuah data HTTP response sebesar 10KB. Cara terbaik untuk menurunkan waktu request klien adalah dengan mengurangi jumlah byte yang di-upload sebagai request header data.

(14)

Optimize browser rendering

Begitu sumber daya telah diunduh ke klien, browser masih harus me-load , interpretasi, dan render kode HTML, CSS, dan Javascript. Memformat kode dan halaman dalam cara-cara yang mengeksploitasi karakteristik browser yang digunakan dapat meningkatkan performa pada sisi klien.

Gambar

Gambar 2.1 Linear Sequential Model  Ada lima tahapan dalam waterfall model, yaitu : (Pressman, 2010 : 39)
Gambar 2.2 Use Case Diagram  2.1.3.2 Use Case Spesification
Gambar 2.3 Activity Diagram  2.1.3.4 Conceptual Class Diagram
Gambar 2.4 Sequence Diagram  2.1.3.6 Class Diagram
+3

Referensi

Dokumen terkait

Jikalau di kapal yang tidak ada tempat teduhnya Anda dapat menutupi Housng Camera / Housing Video Ikelite tersebut dengan Handuk/ Baju biasa untuk sementara (Agar tidak

Situ bekas galian pasir merupakan ekosistem perairan yang kurang mendapatkan perhatian, namun jika diamati memiliki potensi untuk dikembangkan sebagai lahan budidaya, baik

Jika sebuah runway memiliki lebar 30 m dan digunakan untuk pesawat udara bertempat duduk penumpang 100 orang atau lebih, bahu harus disediakan dan jumlah lebar runway dan bahu

Pihak tersebut diantaranya adalah penyelenggara/lembaga, staf kantor Museum Negeri Sonobudoyo, ketua Group Pertunjukan, Pengurus pertunjukan, Dalang, wiyaga, sinden,

Sulitnya menentukan target hasil produksi yang tepat salah satunya disebabkan oleh sistem kerja alat-alat mekanis yang tidak efisien, misalnya adanya waktu yang hilang

Terdapat gangguan pertumbuhan tulang kaki yang menyebabkan pergeseran sumbu mekanik ( garis lurus yang ditarik dari dari pusat kepala femoralis ke pusat mata kaki;

Pada penelitian ini dapat disimpulkan bahwa tidak terdapat hubungan indeks massa tubuh dengan kadar kolesterol total pada guru dan karyawan SMA MUHAMMADIYAH 1 dan 2 Surakarta.