Anda di halaman 1dari 48

TUGAS KELOMPOK

MATA KULIAH

REKAYASA PERANGKAT LUNAK

DISUSUN OLEH :

1. Erras Lindiarda Mahentar [3411191102]


2. Marcelino Adam [3411191107]
3. Muhammad Rafi Hanief Kuswanto [3411191110]

PROGRAM STUDI / JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN INFORMATIKA

UNIVERSITAS JENDERAL ACHMAD YANI

2022
DAFTAR ISI

DAFTAR ISI...............................................................................................................................i
BAB I.........................................................................................................................................1
SDLC RUP dan RAD.................................................................................................................1
A. Pengertian SDLC.........................................................................................................1
B. Pengertian RUP (Rational Unified Process)................................................................1
a. Tahapan metode RUP.....................................................................................................3
C. Pengertian Model Rapid Application Development (RAD).......................................5
A. Tahapan Metode RAD.............................................................................................5
B. Penerapan.................................................................................................................6
C. Kelebihan Model RAD............................................................................................7
D. Kekurangan Model RAD.........................................................................................7
BAB II........................................................................................................................................1
Eksplorasi Diagram UML..........................................................................................................1
A. Pengertian UML..........................................................................................................1
B. Jenis-Jenis UML..........................................................................................................1
A. Tujuan atau Fungi Penggunaan UML......................................................................3
B. Notasi UML.............................................................................................................4
Berikut ini notasi-notasi UML yang ada ditabel dibawah ini............................................4
C. Contoh UML............................................................................................................5
Berikut contoh kasus Perpustakaan pada UML.................................................................5
BAB III.......................................................................................................................................1
ANALISIS SISTEM WEB E-COMMERCE.............................................................................1
A. Analisa Sistem.............................................................................................................1
B. Kebutuhan Sistem........................................................................................................1
a. Kebutuhan Fungsional Sistem.....................................................................................1
b. Kebutuhan Non-Fungsional Sistem.........................................................................2
C. Analisis Kebutuhan Perangkat Keras/ Hadware..........................................................2
D. Analisis Kebutuhan Perangkat Lunak/ Sofwareware..................................................2
E. Perancangan Sistem.....................................................................................................2
a. Usecase Diagram.........................................................................................................2
b. Skenario Diagram....................................................................................................3
c. Class Diagram.............................................................................................................8

i
d. Squence Diagram.....................................................................................................9
e. Activity Diagram.......................................................................................................13
F. Perancangan Database...................................................................................................17
BAB 4.........................................................................................................................................1
Eksplorasi arsitektur...................................................................................................................1
A. Client Server................................................................................................................1
a. Fungsi..........................................................................................................................1
b. Cara Kerja................................................................................................................1
c. Keuntungan..................................................................................................................2
B. Microservices..............................................................................................................2
a. Kelebihan Microservices.............................................................................................3
b. Kekurangan Microservices......................................................................................4
C. Monolithic architecture...............................................................................................4
a. Keuntungannya............................................................................................................5
b. Kekurangannya........................................................................................................5
D. Service-oriented...........................................................................................................6
a. Fungsi SOA serta Peran Service-Oriented Architecture.............................................6
E. Component-based........................................................................................................7
A. Tujuan CBD.............................................................................................................7
B. Manfaat CBD...........................................................................................................7
BAB IV......................................................................................................................................9
BUGS.........................................................................................................................................9
A. Pengertian Bug............................................................................................................9
a. Jenis-Jenis Bug............................................................................................................9
b. Penyebab Bug pada Software................................................................................10
BAB VI......................................................................................................................................1
KUALITAS MC CALL QUALITY..........................................................................................1
A. Analisa Kualitas Perangkat Lunak Sistem Informasi Akademik Menggunakan
McCall....................................................................................................................................1

ii
BAB I
SDLC RUP dan RAD

A. Pengertian SDLC

SDLC (System Development Life Cycle) atau Siklus hidup pengmbangan


system adalah proses pembuatan dan pengubahan sistem serta model dan metodologi
yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya
merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang
diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap:
rencana(planning),analisis (analysis), desain (design), implementasi (implementation),
uji coba (testing) dan pengelolaan (maintenance) proses pembuatan dan pengubahan
sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-
sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi.
SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat
lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain
(design), implementasi (implementation), uji coba (testing) dan pengelolaan
(maintenance).

B. Pengertian RUP (Rational Unified Process)

RUP merupakan singkatan dari Rational Unified Process, RUP adalah suatu
kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh
Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses
tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat
diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim
proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan
mereka.

RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus


pada pengembangan model dengan menggunakan Unified Model Language (UML).
Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:

1
 Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-
aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan
dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu
major milestoneyang menandakan akhir dari awal dari phase selanjutnya.
Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas
Inception, Elaboration, Construction, dan Transition.
 Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-
aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan
ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang
dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni
who is doing, what, howdan when. Dimensi ini terdiri atas: Business
Modeling, Requirement, Analysis and Design, Implementation, Test,
Deployment, Configuration dan Change Manegement, Project Management,
Environtment.

Pada penggunaan kedua standard tersebut diatas yang berorientasi obyek (Object
Oriented) memiliki menfaat yakni:
1. improve productivity
standard ini dapat memanfaatkan kembali komponen-komponen yang telah
tersedia/dibuat sehingga dapat meningkatkan produktifitas.
2. Deliver high quality system
kualltas sistem dapat informasi dapat ditingkatkan sebagai sistem yang telah
dibuat pada komponen-komponen yang telah teruji (well -tested dan well -
proven) sehingga dapat mempercepat delivery sistem informasi yang telah
dibuat dengan kualitas yang tinggi.
3. Lower maintenance cost
Standard ini dapat membantu untuk meyakinkan dampak perubahan yang
teralokasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya
pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan
informasi tanpa standar yang jelas.

2
4. Facilitate reuse
Standard ini memiliki kamampuan yang mengembangkan komponen-
komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang
lainnya.
5. Manage complexity
Standard ini mudah untuk mengatur dan monitor semua proses dari semua
tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat
kompleks dapat dilakukan dengan aman sesuai dengan harapan semua
manager proyek IT/IS yakni deliver good quality software within cost and
schedule time and the users accepted.

a. Tahapan metode RUP


1. Inception
 Menentukan ruang lingkup proyek.
 Membuat business case.
 Memenuhi syarat bahwa program telah memenuhin syarat.
2. Elaboration
 Menganalisa berbagai persyaratan dan resiko.
 Menetapkan base line.
 Merencanakan fase berikutnya yaitu construction.
3. Contruction
 Melakukan sederetan iterasi.
 Pada setiap iterasi akan melibatkan proses analisa desain, implementasi
dan testing.
4. Transistion
 Membuat apa yang sudah dimodelkan menjadi suatu produk yang utuh.
 Beta dan performance testing.
 Membuat dokumentasi tambahan seperti training, user guides dan sales kit.
 Membuat rencana peluncuran produk ke komunitas pengguna.

b. Aliran Kerja Rational Unified Process (RUP)


RUP juga mempunyai aliran kerja yang terbagi menjadi dua bagian, yaitu:
Aliran kerja utama dan Aliran kerja pendukung, dimana keduanya merupakan
suatu kesatuan dalam proses pengembangan sistem (SDLC)

c. Aliran Kerja Utama Rational Unified Process (RUP)


1. Business Modeling Pada tahap ini, terdapat identifikasi dan deskripsi langsung
dari area dan permasalahan untuk redesign atau reengineering, beserta struktur
dan proses–proses bisnis organisasi.

2. Requirements Tujuan utama pada fase ini adalah menyusun sistem apa yang
seharusnya ada dan mengapa perlu dibuat, mendefinisikan batas dari sistem,
melihat kemungkinan ancaman keamanan serta bagaimana cara
penanggulangannya, dan mengestimasi biaya dan skala waktu yang rumit. Isi

3
dari sistem dibangun yang kemudian diterjemahkan kedalam use case model
dengan tambahan spesifikasi kebutuhan. Baik kebutuhan fungsional dan
nonfungsional akan dikumpulkan dan dianalisis. Kebutuhan user dan
stakeholder serta fitur high-level didefinisikan dan kemudian diubah menjadi
specific software requirements.

3. Analysis and Design Pada fase ini, semua requirement pada tahap kedua akan
diubah menjadi spesifikasi implementasi.

4. Implementation Pada tahap ini, semua analisa dan desain yang telah dibuat
pada fase sebelumnya akan diimplementasikan dan diterjemahkan menjadi
kode program.

5. Testing Pada tahap ini, pengembang software akan menguji dan memverifikasi
semua interaksi komponen, kebutuhan yang telah diimplementasikan dan
kualitas dari software yang telah dikembangkan.

6. Deployment Pada tahap ini, pengembang software menyebarkan software


yang telah selesai kepada user. Pengembang software juga menyediakan
dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang
software mendapatkan umpan balik dan masukan terhadap software yang
berujung pada modifikasi fungsi dan fitur agar menjadi lebih baik.

d. Aliran Kerja Pendukung Rational Unified Process (RUP)


1. Configuration and Change Management Tahap ini menjalankan dan merawat
integritas dari proyek. Kegiatannya meliputi monitoring dan mengatur
perubahan permintaan, perubahan biaya, dan tetap mengontrol berbagai versi
produk. Tahap ini juga meliputi manajemen konfigurasi hardware dan
software.

2. Project Management Tahap ini menyediakan framework untuk mengatur


software dan resiko. Tahap ini juga menyediakan pedoman untuk planning,
staffing, monitoring dan secara umum menunjukan manajemen proyek.

3. Environment Tahap ini menjelaskan tentang infrastruktur dan metode yang


dibutuhkan untuk mengembangkan sistem

e. Kelebihan RUP
 Software yang dikembangkan dengan metode ini biasanya menghasilkan
kualitas yang baik.

 Document pengembangan sistem sangat terorganisir, karena setiap fase harus


terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

f. Kelemahan RUP

4
 Membutuhkan keahlian yang baik atau yang telah berpengalaman dalam
mengembangkan perangkat lunak dalam arti metode ini kurang cocok bagi
pemula.

 Diperlukan majaemen yang baik, karena proses pengembangan tidak dapat


berulang sebelum menghasilkan suatu produk yaitu aplikasi. Jadi apabila
dalam suatu proses seperti perancangan tidak selesai tepat waktu maka akan
mempengaruhi keseluruhan proses pengembangan perangkat lunak.

C. Pengertian Model Rapid Application Development (RAD)


Rapid Aplication Development (RAD) adalah sebuah model proses
perkembangan perangkat lunak sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari).

Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan
pendekatan konstruksi berbasis komponen.

Metode rad menekankan proses pembuatan aplikasi berdasarkan pembuatan


prototype, iterasi, dan feedback berulang-ulang. Dengan metode rad aplikasi yang
dibuat dan diperbaiki bisa dengan cepat, jadi cocok untuk pengembangan dunia digital
yang cepat.

A. Tahapan Metode RAD

1. Bussiness Modeling
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan,
berikut Informasi apa yang mengendalikan proses bisnis?
 Informasi apa yang dimunculkan?
 Di mana informasi digunakan?
 Siapa yang memprosenya?

5
2. Data Modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness
modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk
menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek
diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.

3. Proses Modeling
Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi
implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah
objek data.

4. Aplication Generation
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga
memakai komponen program yang telah ada atau menciptakan komponen
yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi
konstruksi perangkat lunak.

5. Testing dan Turnover


Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih
secara penuh.

B. Penerapan
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu
singkat yang dicapai dengan menerapkan:
Component based construction ( pemrograman berbasis komponen bukan
prosedural).Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak
yang telah ada.Pembangkitan kode program otomatis/semi otomatis.
Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel
tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem
yang dibangun. keutuhan yang diinginkan pada tahap analisis kebutuhan telah
lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara
lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model
RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang
ditempuh model ini sangat pendek dengan penerapan teknik yang cepat. Sistem
dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu
yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini
melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun
berbeda. Sesuai dengan pembagian modul sistem.

6
C. Kelebihan Model RAD

 Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam


menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
 Cocok untuk proyek yang memerlukan waktu yang singkat.
 Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya,
tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang
ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga
waktu pengembangan menjadi lebih singkat dan efisien.

D. Kekurangan Model RAD

 Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di


dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di
dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak
ada, proyek RAD akan gagal.
 Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan
dengan teratur, pembangunan komponen penting pada RAD akan menjadi
sangat bermasalah.
 RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang
tinggi.
 Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek
dalam skala besar.
 Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak
baru antara pengembang dan pelanggan.
 Bagi proyek yang besar tetapi berskala, RAD memerlukan sumberdaya
manusia yang memadai untuk mencipatakan jumlah tim RAD yang baik.
 RAD menurut perkembangan dan pelanggan memilik komitmen di dalam
akivitas rapid-fire yang diperlukan untuk melengkapi sebuah system didalam
kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada
dalam tiap konstituen, proyek RAD akan gagal

7
BAB II
Eksplorasi Diagram UML

A. Pengertian UML

UML atau “Unified Modelling Language” adalah suatu metode permodelan


secara visual yang berfungsi sebagai sarana perancangan sistem berorientasi
objek.

Definisi UML adalah sebagai suatu bahasa yang sudah menjadi standar pada
visualisasi, perancangan, dan juga pendokumentasian sistem aplikasi. Saat ini
UML menjadi bahasa standar dalam penulisan blue print software (arsitektur).

Menurut (Rosa-Salahuddin, 2011:113), Unified Modelling Language atau


UML merupakan salah satu standar bahasa yang banyak digunakan di dunia
industri untuk menggambarkan kebutuhan (requirement), membuat analisis dan
desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek
(PBO).

B. Jenis-Jenis UML

Berikut ini jenis-jenis dari UML, antara lain:

1
1. Use Case Diagram.
Suatu urutan interaksi yang saling berkaitan antara sistem dan aktor. Use case
dijalankan melalui cara menggambarkan tipe interaksi antara user.

2. Activity Diagram.
Salah satu jenis diagram pada UML yang dapat memodelkan metode apa saja
yang terjadi pada sebuah system.

3. Sequence diagram.
Salah satu jenis diagram pada UML yang menggambarkan hubungan objek
yang berdasarkan urutan waktu. Sequence diagram dapat menjelaskan tahapan
atau urutan yang harus dilakukan agar dapat menghasilkan sesuatu seperti
pada use case diagram.

4. Class diagram.
Salah satu jenis diagram pada UML yang dipakai untuk menampilkan paket-
paket maupun kelas-kelas yang ada pada sebuah sistem yang akan digunakan.

5. Statemachine diagram
Salah satu jenis diagram pada UML yang menjelaskan perubahan keadaan
maupun transisi suatu objek pada system.

6. Communication diagram
Salah satu jenis diagram pada UML yang dapat menjelaskan proses terjadinya
suatu aktivitas dan diagram ini juga menggambarkan interaksi antara objek
yang ada pada sebuah system.

7. Deployment diagram
Salah satu diagram pada UML yang menunjukan tata letak sebuah program
secara fisik. dapat juga diartikan untuk menampilkan bagian-bagian aplikasi
yang terdapat pada perangkat keras dan dipakai untuk menerapkan suatu
sistem dan hubungan antara komponen hardwere).

8. Component diagram
Salah satu jenis diagram pada UML yang menjelaskan softwere pada suatu
system.

9. Object diagram
Salah satu jenis diagram pada UML yang menjelaskan objek-objek pada suatu
sistem dan hubungan lainnya.

10. Composite structure diagram

2
Salah satu jenis diagram pada UML yang menjelaskan struktur internal dari
(component, class, dan use case), termasuk hubungan pengklasifikasian ke
bagian lain dari sebuah program.

11. Interaction Overview diagram


Salah satu jenis diagram pada UML yang berfungsi untuk menvisualisasikan
hubungan dan kerjasama antara activity diagram dengan sequence diagram.

12. Package diagram.


Salah satu jenis diagram pada UML berfungsi untuk mengumpulkan kelas dan
juga menunjukan bagaimana elemen model akan disusun serta
menggambarkan ketergantungan antara paket-paket

13. Timing diagram.


Salah satu jenis diagram pada UML berfungsi sebagai bentuk lain dari
interaksi diagram, dimana fokus yang paling utamanya kepada waktu.

Adapun macam-macam dari UML dibagi menjadi 3, antara lain:


1. Structure diagram.
Kumpulan diagram yang berfungsi untuk menjelaskan suatu struktur statis dari
sistem yang dimodelkan.

2. Behaviour diagram.
Kumpulan diagram yang digunakan untuk menjelaskan kelakuan sistem atau
rangkaian perubahan yang terjadi pada sebuah sistem.

3. Interaction diagram.
Kumpulan diagram yang berfungsi untuk menjelaskan interaksi sistem dengan
sistem lain maupun antar sistem pada sebuah sistem.

A. Tujuan atau Fungi Penggunaan UML

Berikut tujuan atau fungsi dari penggunaan UML, antara lain:

 Dapat memberikan bahasa permodelan visual kepada user dari berbagai jenis
pemograman ataupun proses rekayasa.

 Dapat menghubungkan metode terbaik yang ada dalam pemodelan.

 Dapat membagikan model yang siap digunakan, adalah bahasa pemodelan


visual yang ekspresif untuk saling berbagi model dengan mudah dan
memperluas program.

3
 Dapat berguna sebagai blue print, karena lengkap dan detail dalam
perancangan. Yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.

 Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya
berguna untuk memodelkan perangkat lunak (software) saja.

 Dapat membuat suatu bahasa pemodelan yang nantinya dapat dipergunakan


oleh manusia maupun oleh mesin.

B. Notasi UML
Berikut ini notasi-notasi UML yang ada ditabel dibawah ini.
Simbol Nama Keterangan

Mewakili peran orang, sistem yang lain atau alat ketika berhubungan
Actor
dengan use case.

Abstraksi dari penghubung antara aktor dengan Use Case


Use Case

Association Abstraksi dari penghubung antara aktor dengan use case.

Menunjukkan spesialisasi aktor untuk dapat berpartisipasi dengan use


Generalization
case.

Elemen fisik saat program dijalankan dan mencerminkan sebuah


Note
sumber daya komputasi.

Class Kumpulan objek yang mempunyai atribut dan operasi.

Interface Kumpulan dari operasi tanpa implementasi dari sebuah class.

Interaction Dipakai untuk menunjukan alir pesan antar objek.

Hubungan elemen yang ada di bagian tanda panah akan merealisasikan


Relalization
pernyataan elemen yang ada pada bagian tanda panah.
Relasi yang menunjukan perubahan pada sebuah elemen memberi
Dependency
pengaruh kepada elemen yang lainnya.

Sebuah wadah yang dipakai untuk mengelompokkan elemen-elemen


Package
dari sistem yang dirancang/ dibangun.

4
C. Contoh UML
Berikut contoh kasus Perpustakaan pada UML

5
BAB III

ANALISIS SISTEM WEB E-COMMERCE


A. Analisa Sistem
Analisis sistem merupakan kegiatan dari penguraian dari suatu sistem informasi yang
utuh ke dalam bagian komponennya sehingga akan menghasilkan sebuah sistem yang
sesuai dengan kebutuhan pengguna. Oleh sebab itu analisis harus dilakukan secara
matang agar sistem yang dihasilkan benar-benar optimal. Topical Konveksi memiliki
masalah yang menjadi kendala pada penjualan produk yaitu sistem penjualan masih
konvesional dan sistem pembelian yang hanya dapat dilakukan didalam toko Topical
Konveksi. Sistem penjualan yang dimiliki Topical Konveksi terpublikasi secara ontime
sehingga pembeli tidak mengetahui produk terbaru pada brand Topical Konveksi. Sistem
penjualan pada Topical Konveksi akan lebih baik dengan adanya sebuah sistem web E-
Commerce sehingga pembeli dapat mengetahui berbagai macam produk dari Topical
Konveksi dan dapat membelinya secara online.

B. Kebutuhan Sistem
Analisis kebutuhan sistem digunakan untuk mempermudah menganalisis sebuah
sistem yang dibutuhkan. Terdapat dua jenis kebutuhan sistem yang dibutuhkan:

a. Kebutuhan Fungsional Sistem


Kebutuhan fungsional sistem merupakan kebutuhan yang berisi proses
berjalannya sistem, layanan sistem yang harus disediakan sehingga system dapat
memberikan informasi yang tepat untuk User sesuai data yang ada.

Berikut adalah kebutuhan fungsional sistem dari sistem web E-Commerce dengan
framework Codeigniter:

1. User mampu melakukan login


2. User dapat melihat produk terbaru
3. User harus mampu melihat deskripsi/detail produk.
4. User harus mampu melakukan pembelian melalui online:
a) User melakukan tambah keranjang atau add to cart pada produk yang ingin
dibeli.
b) User melakukan hapus keranjang, tambah keranjang
c) User melakukan pengecekan data diri.
d) User melakukan pengisian jasa ekspedisi
e) User melakukan hubungi admin untuk konfirmasi pembayaran melalui
Button yang disediakan.

5. Admin harus mampu mengupdate data barang setiap hari


a) Admin melakukan tambah barang.
b) Admin melakukan edit barang.

1
c) Admin melakukan hapus barang.

6. Admin harus mampu mengolah pembelian


a) Admin mengubah status pembayaran.

7. Pimpinan harus mampu melihat data transaksi penjualan online

b. Kebutuhan Non-Fungsional Sistem


Kebutuhan Non-Fungsional sistem merupakan kebutuhan yang
menitikberatkan pada properti prilaku yang dimiliki oleh sistem. Kebutuhan non-
fungsional juga sering disebut sebagai batasan layanan atau fungsi yang ditawarkan
sistem seperti batasan waktu, batasan pengembangan proses, standarisasi dan lain
lain. Analisis kebutuhan non fungsional dilakukan untuk mengetahui spesifikasi
kebutuhan untuk sistem. Spesifikasi kebutuhan melibatkan analisis perangkat keras
atau hardware, analisis perangkat lunak atau software dan analisis pengguna atau User

C. Analisis Kebutuhan Perangkat Keras/ Hadware


Perangkat Keras atau hardware yang memadahi untuk membangun system baru
adalah:
a. Laptop Asus Core I5
b. Ruang kosong disk minimal 1 GB.
c. Jaringan lokal/Xampp

D. Analisis Kebutuhan Perangkat Lunak/ Sofwareware


Perangkat lunak yang harus disiapkan untuk membangun website ECommerce
sebagai berikut:
a. Sistem operasi PC: Windows 10
b. Xampp
c. Sublime text
d. Framework Codeigniter
e. MySql

E. Perancangan Sistem
Dalam pembuatan sistem Website E-Commerce pada Topical Konveksi diperlukan
model interaksi, untuk memberikan gambaran umum kepada User. Perancangan tersebut
menggunakan Bahasa permodelan UML (Unifed Modelling Languange).

a. Usecase Diagram

Usecase diagram merupakan permodelan untuk menggambarkan sebuah interaksi


antara satu atau lebih aktor dengan sistem yang akan dibuat. Untuk lebih jelasnya
tentang Usecase diagram dan skenario diagram dapat dilihat pada gambar dibawah
ini.

2
b. Skenario Diagram
Nama Usecase: Registrasi
Aktor : User (konsumen)
Pre-kondisi : Membuka melalui url.
Post-kondisi : Mendapatkan akun baru
Deskripsi :Memasukan data diri untuk membuat akun baru
Tabel 4. 1 Skenario Registrasi
User Sistem
1. Mengakses wesite E-Commerce 2. Menampikan Halaman
Dashboard
3.Klik Signin|Signup 4.Menampilkan halaman login
4. Klik Create an Account 5. Menampilkan Form Registrasi
6. Memasukan data diri 7. Data berhasil di simpan

Nama Usecase: Melihat Detail Produk


Aktor : User (konsumen)
Pre-kondisi : Membuka melalui url.
Post-kondisi : Mengetahui detail produk yang ditampilkan pada website Topical
Konveksi.
Deskripsi : Melihat detail dari produk yang ditampilkan pada website Topical
Konveksi
Tabel 2 Skenario Melihat Detail Produk
User Sistem

3
1. Mengakses wesite E-Commerce 2. Sistem menampilkan menu
utama dari sistem atau tampilan
awal (Dashboard). Didalam
dashboard terdapat beberapa menu
dan daftar produk
3.Klik Detail 4. Sistem menampilkan detail
produk yang terdiri dari nama
produk, harga dan jumlah stok dari
produk.

Nama Usecase: Pembelian dan konfirmasi


Aktor : User (konsumen)
Deskripsi : Menginputkan data pembelian dan konfirmasi
Pre-kondisi : Membuka melalui url.
Post-kondisi : User dapat melakukan data pembelian dan konfirmasi.

Tabel 3 Skenario Pembelian Produk dan konfirmasi


User Sistem
1. Mengakses Wesite E-Commerce 2. Sistem menampilkan menu
utama dari sistem atau tampilan
awal (Dashboard). Didalam
dashboard terdapat beberapa menu
dan daftra produk.
3.Klik Button Tambah Keranjang 4. Sistem akan menambahkan
Untuk Membeli Barang produk ke menu keranjang.
5. Klik Button Keranjang 6. Sistem menampilkan tabel data
barang
7. Klik Button Proses Pesanan 8. Sistem menampilkan data diri
user dan jenis ekspedisi.
9. Memasukan Jenis Ekspedisi 10. Sistem menambahkan data
pesanan ke admin dan sistem akan
menampilkan notifikasi
11. Klik History 12. Sistem akan menampilkan data
pesanan

4
13.Klik Konfirmasi 14.Sistem akan menampilkan
halaman konfirmasi.
13. Klik Upload Bukti Bayar 14. Sistem menampilkan form
upload bukti bayar
14. Upload Bukti Bayar Sistem Menambahkan data bukti
bayar ke admin

Nama Usecase: Mengelola Data Barang


Aktor : Admin
Pre-kondisi : Membuka melalui url.
Post-kondisi : Admin dapat mengelola data barang
Deskripsi :Menambah data barang, menghapus data barang atau mengedit data
barang

Tabel 4 Mengelola Data Barang


Admin Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama halaman admin atau
tampilan
awal (Dashboard) admin.
3. Klik Data Barang 4. Sistem menampilkan halaman
data barang
5. Klik Tambah Barang 6. Sistem menampilkan form
tambah data barang
7. Masukan Data Barang 8. Sistem menambahkan produk di
database dan ditampilkan pada
dashboard user
9. Klik Edit Barang 10. Sistem nampilkan form edit
barang
11. Ubah Data Barang 12. Sistem menyimpan data produk
dalam database dan ditampilkan
pada dashboard user
14. Klik Hapus 15. Sistem menghapus data produk
didalam database

Nama Usecase: Mengelola Data Tipe

5
Aktor : Admin
Pre-kondisi : Membuka melalui url.
Post-kondisi : Admin dapat mengelola data tipe
Deskripsi :Menambah data tipe, menghapus data tipe atau mengedit data tipe
Tabel 5 Mengelola Data Tipe
Admin Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama halaman admin atau
tampilan awal (Dashboard) admin.
3. klik Data Tipe 4. Sistem menampilkan halaman
data tipe
5. klik Tambah Tipe 6. Sistem menampilkan form
tambah data tipe
8. Masu 8. Sistem menambahkan tipe di
9. kan Data Tipe
database dan ditampilkan pada data
barang user
9. Kik Edit Tipe 10. Sistem menampilkan form edit
tipe
11. Ubah Data Tipe 12. Sistem menyimpan data tipe ke
dalam database dan ditampilkan
pada halaman data barang user
14. Klik Hapus 15. sistem menghapus data produk
didalam database

Nama Usecase: Mengelola Data User


Aktor : Admin
Pre-kondisi : Membuka melalui url.
Post-kondisi : Admin dapat mengelola data User
Deskripsi :Menambah data User, menghapus data User

Tabel 6 Mengelola Data User

Admin Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama halaman admin atau
tampilan awal (Dashboard) admin.

6
3. Klik Data User 4. Sistem menampilkan halaman
data User
5. Klik Tambah User 6. Sistem menampilkan form
tambah data User
7. Masukan Data User 8. Sistem menambahkan data user
di database.
9. Klik Hapus 10. Sistem menghapus data produk
didalam database
Nama Usecase : Mengelola Data Ekspedisi
Aktor : Admin
Pre-kondisi : Membuka melalui url.
Post-kondisi : Admin dapat mengelola data Ekspedisi Deskripsi :Menambah data
Ekspedisi, menghapus data Ekspedisi atau mengedit data Ekspedisi.

Tabel 7 Mengelola Data Ekspedisi


Admin Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama halaman admin atau
tampilan awal (Dashboard) admin.
3. Klik Data Ekspedisi 4. Sistem menampilkan halaman
data Ekspedisi
5. Klik Tambah Ekspedisi 6. Sistem menampilkan form
tambah data Ekspedisi

7. Masukan Data Ekspedisi 8. Sistem menambahkan ekspedisi


di database dan ditampilkan pada
halaman ekspedisi user
9. Klik Edit Ekspedisi 10. Sistem nampilkan form edit
Ekspedisi

11. Ubah Data Ekspedisi 12. Sistem menyimpan data produk


di database dan
ditampilkan halaman
ekspedisi user
14. Klik Hapus 15. Sistem menghapus data produk
di database

Nama Usecase : Melihat data transaksi


Aktor : Pimpinan (Owner)
Pre-kondisi : Membuka melalui url.

7
Post-kondisi : Pimpinan dapat melihat data transaksi
Deskripsi : Pimpinan melihat data transaksi

Tabel 8 Skenario Melihat Data Transaksi


Pimpinan Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama pimpinan atau tampilan awal
(Dashboard) pimpinan.
3. Klik Data Transaksi 4. Sistem menampilkan halaman
data transaksi

Nama Usecase : Mengelola Data Transaksi


Aktor : Admin
Pre-kondisi : Membuka melalui url.
Post-kondisi : Admin dapat mengelola data transaksi
Deskripsi :admin dapat melihat data transaksi, dan mengubah status transaksi.

Tabel 9 Skenario Melihat Data Transaksi


Admin Sistem
1. Mengakses Halaman Admin 2. Sistem menampilkan menu
utama admin atau tampilan awal
(Dashboard) admin.
3. Klik Data Transaksi 4. Sistem menampilkan halaman
data transaksi
5. Klik Ubah Status Konfirmasi 6. Sistem menampilkan form data
Pembayaran transaksi

7. Ubah Status Konfirmasi 8. Sistem menyimpan status


konfirmasi dan menampilkan pada
halaman history user

c. Class Diagram
Class diagram merupakan model statis yang menggambarkan struktur dan
deskripsi class serta hubungannya antara class

8
d. Squence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di


sekitar sistem (termasuk pengguna, display/form) berupa message yang digambarkan
terhadap waktu.

Registrasi User

Detail Barang

9
Pembelian dan Konfirmasi

Mengelola Data Tipe

10
Mengelola Data Barang

Mengelola Data User

11
Mengelola Data Ekspedisi

Mengelola Data Transaksi

12
Melihat Transaksi

e. Activity Diagram
Activity Diagram menggambarkan aktivitas untuk memenuhi kondisi tertentu atau
parallel yang dilakukan oleh aktor, Dapat dipakai untuk memodelkan proses bisnis.

Registrasi

13
Detail Barang

Pembelian dan Konfirmasi

14
Mengelola Data Barang

Mengelola Data Tipe

15
Mengelola Data User

Mengelola Data Transaksi

16
Mengelola Data Ekspedisi

F. Perancangan Database
Database dibuat dengan metode migration
a. Tabel User
Pada tabel ini digunakan untuk menyimpan data dari User dan admin.
Tampilan tabel User dapat dilihat pada tabel 10 dibawah ini.
Nama Type Status
Id_user Intcrement Primary Key

Nama varchar

17
Username varchar

Password varchar

Alamat varchar

Phone varchar

Gender Enum Perempuan, Laki-


laki
Role enum Admin,
Konsumen,
Pimpinan

b. Table Barang
Pada tabel ini digunakan untuk menyimpan data barang dari admin Tampilan
tabel Barang dapat dilihat pada tabel 11 dibawah ini.
Nama Type Status
id_barang Intcrement Primary Key

kd_tipe varchar

nama_barang varchar

ukuran String

jumlah_barang varchar

harga varchar

image varchar

c. Tabel Transaksi
Pada tabel ini digunakan untuk menyimpan data transaksi dari admin Tampilan tabel
transaksi dapat dilihat pada tabel 12 dibawah ini:
Nama Type Status
id_transaksi Intcrement Primary Key

id_user Intcrement

nama varchar

18
alamat varchar

no_telp Intcrement

tanggal_trans Intcrement

sub_total Intcrement

nama_exp varchar

ongkos varchar

total_bayar Intcrement

waktu_kirim varchar

status varchar

d. Tabel Pesanan
Pada tabel ini digunakan untuk menyimpan data pesanan dari admin Tampilan tabel
pesanan dapat dilihat pada tabel 13 dibawah ini:
Nama Type Status
id_pesanan Intcrement Primary Key

id_transaksi Intcrement

id_barang varchar

nama_barang Intcrement

jumlah varchar

harga varchar

e. Tabel Ekspedisi
Pada tabel ini digunakan untuk menyimpan data ekspedisi dari admin Tampilan tabel
ekspedisi dapat dilihat pada tabel 14 dibawah ini:
Nama Type Status
id_exp Intcrement Primary Key

nama_exp varchar

ongkos varchar

waktu_kirim varchar

19
f. Tabel Konfirmasi
Pada tabel ini digunakan untuk menyimpan data konfirmasi dari admin Tampilan
tabel konfirmasi dapat dilihat pada tabel 15 dibawah ini:
Nama Type Status
id_konfirmasi Intcrement Primary Key

Id_transaksi Intcrement

bank varchar

tanggal_konfirmasi Date

gambar_bukti varchar

20
BAB 4
Eksplorasi arsitektur
A. Client Server

Client Server merupakan konsep arsitektur perangkat lunak atau software yang
menghubungkan dua objek berupa sistem client dan sistem server yang saling
berkomunikasi melalui jaringan komputer maupun satu komputer yang sama. Server akan
menyediakan pengelolaan aplikasi, data dan keamanan data client.

Pada fungsi pertukaran akses web, client server berperan sebagai program web
browser yang memberikan informasi kepada pengguna atau user di seluruh dunia. Hal ini
serupa dengan akses email, database dan sebagainya yang berkaitan dengan jaringan
browser. Aplikasi client server membutuhkan laman web dan IP address dari server
khusus. Client dapat meminta informasi pada server kapanpun ia mau, karena client
adalah pengguna informasi yang ada di server. Proses komunikasi selalu bergerak dua
arah, jika client ingin menggunakan informasi maka rute yang dituju selalu pada server.
Client tidak bisa berkomunikasi kepada sesama client.

a. Fungsi
Instrumen yang ada pada client server pada dasarnya memiliki fungsi untuk
penghematan bandwidth serta kinerja yang menggunakan peran server sebagai
penyimpanan seluruh data yang digunakan oleh client. Software client hanya akan
mendapatkan informasi yang diinginkan begitu client mengakses dengan segera. Saat
ini perlindungan informasi melalui server sudah dapat dienkripsi sehingga
memungkinkan client mendapatkan data yang aman. Fungsi nyata dari client server
adalah seseorang dapat membuat bisnisnya sendiri melalui laman web yang dibuat
sebelumnya. Sehingga client dapat membagikan secara cepat untuk produk atau
jasanya kepada user di seluruh dunia. User akan mendapatkan informasi dengan cepat
dari browser yang dipakai melalui laman web yang telah dibuat oleh client.

b. Cara Kerja
Dalam konteks database, client membuat sebuah halaman website melalui
berbagai aplikasi software atau device hardware dengan memberikan visual halaman
yang menarik atau disebut juga user interface. User interface yang jelas dan menarik
akan mempengaruhi jumlah kunjungan para user sehingga menjadi elemen penting
bagi client untuk membuatnya. Proses pengaturan user interface tidak lepas terhadap
peran server khusus yaitu web server. Web server akan menerima permintaan dan
menyimpannya dalam bentuk kode html dengan penyimpanan melalui workstation.
Server tersebut yang nantinya akan memberikan umpan balik secara cepat kepada
client dalam memberikan informasi yang diinginkan. Setelah client menerima
permintaan user, selanjutnya client akan memeriksa sintaks (bahasa komputer melalui
pemrograman) dan menghasilkan database yang dibutuhkan dalam bentuk SQL

1
(Structured Query Language) atau bahasa lainnya. Proses tersebut akan dilanjutkan ke
server hingga menunggu response yang akan diberikan oleh server dalam bentuk
sesuai user akhir. Setelah user merespon, kemudian akan memberikan permintaan
database kepada client untuk ditayangkan.

c. Keuntungan
Fungsi jaringan client server memberikan keuntungan banyak sekali. Berikut
keuntungan yang diberikan arsitektur client server bagi pengguna.
1. Menyimpan big data, melalui arsitektur ini client dapat menyimpan dan
mengakses database yang sangat besar.

2. Menaikkan kinerja, dengan konsep client server pengguna dapat


meningkatkan kinerja akses data berupa informasi. Kinerja cepat dikarenakan
seluruh data disimpan pada satu server yang multitasking.

3. Biaya penggunaan hardware atau perangkat keras menjadi kecil. Penggunaan


client server memungkinkan pengguna tidak perlu membeli hard drive untuk
menyimpan data.

4. Mengurangi biaya komunikasi antar pengguna.

5. Konsisten, melalui konsep ini database yang diberikan akan meningkatkan


konsistensi data. Karena satu data dapat diakses oleh beberapa user secara
bersamaan.

6. Server storage, hanya server saja yang membutuhkan penyimpanan besar


dengan performa yang sesuai sehingga dapat memberikan kekuatan untuk
mengakses data.

Macam-macam Arsitektur
Perkembangan dunia server setiap tahun semakin membaik. Perkembangan
server tersebut bertujuan untuk memberikan fasilitas akses, administrasi, dan
keamanan data yang lebih baik untuk pengguna. Arsitektur client server memiliki
beberapa macam yaitu:
1. One Tier / Standalone
2. Two Tier / Client/Server
3. Three Tier
4. Multi Tier

B. Microservices
Arsitektur layanan mikro atau microservices adalah metode khusus untuk
mengembangkan sistem perangkat lunak yang berfokus pada pembuatan modul fungsi

2
tunggal. Umumnya, microservices mempunyai antarmuka dan operasi yang terdefinisi
dengan baik. Layanan ini semakin populer karena semakin banyak perusahaan yang
bergerak ke DevOps.
Layanan microservices umumnya memiliki beberapa tumpukan teknologi (teknologi
stack) di dalamnya seperti model database dan manajemen data. Microservices juga dapat
berkomunikasi dengan satu sama lainnya melalui kombinasi REST API, event streaming,
perantara pesan, dan lain sebagainya. Layanan ini juga umumnya diatur oleh kemampuan
bisnis yang terintegrasi dengan dengan pemisah garis yang sering disebut sebagai konteks
terbatas (bounded context).
Microservices terhubung melalui API dan dapat memanfaatkan banyak tool.
Solusi yang sama sudah pernah berkembang di ekosistem RESTful dan layanan web.
Microservices memiliki banyak manfaat untuk tim Agile dan DevOps. Netflix, Twitter,
dan perusahan teknologi lainnya bahkan telah berevolusi dari arsitektur monolitik ke
layanan mikro. Perbedaan antara layanan mikro dan arsitektur monolitik adalah
microservices menyusun aplikasi tunggal dari banyak layanan yang lebih kecil dan
digabungkan secara longgar. Sedangkan, pendekatan monolitik menyusun aplikasi besar
yang digabungkan secara erat. Tidak seperti layanan mikro, aplikasi monolit dibangun
sebagai satu unit otonom.

a. Kelebihan Microservices
Microservices memang umumnya berkisar pada definisi dan karakteristik
arsitektur. Namun, kelebihan sebenarnya dapat lebih dipahami melalui beberapa
manfaat berikut ini:

 Scalable
aplikasi arsitektur layanan mikro umumnya mudah untuk di upgrade dan
diatur sesuai dengan kebutuhan pengguna.

 Aman
microservices juga umumnya sangat aman dan secure karena telah dirancang
untuk mampu mengatasi semua kegagalan yang mungkin terjadi.

 Lebih bebas
arsitektur layanan mikro memberi developer kebebasan untuk
mengembangkan dan menyebarkan layanan secara mandiri.

 Mudah dimengerti
microservices mudah dipahami dan dimodifikasi sehingga membantu anggota
tim baru menjadi produktif dengan cepat.

 Sederhana — ketika perubahan diperlukan di pada bagian tertentu, hanya


layanan terkait yang perlu dimodifikasi — tidak perlu menerapkannya ke
seluruh aplikasi.

3
 Error terisolasi — jika satu layanan mikro gagal, yang lain akan terus bekerja
(walaupun satu area bermasalah dari aplikasi monolit dapat membahayakan
seluruh sistem)

b. Kekurangan Microservices
microservices juga mempunyai beberapa kekurangan, seperti:
 Test yang rumit
karena deployment microservices umumnya tersebar, testing bisa menjadi
sedikit rumit dan membutuhkan banyak langkah.

 Sistem yang sedikit rumit


arsitektur microservices membawa sedikit kompleksitas karena developer
harus mengurangi toleransi error, latensi jaringan, dan lain-lain.

 Perlu banyak automation


microservices juga membutuhkan sistem automation yang cukup tinggi untuk
bisa melakukan deployment.

C. Monolithic architecture
Monolithic Architecture adalah sebuah arsitektur perangkat lunak yang sering
digunakan dalam pengembangan aplikasi web. Monolith sendiri berarti bahwa sebuah
sistem dibangun dalam satu kesatuan. Dalam implementasinya, sistem yang dibangun
terdiri dari beberapa macam komponen yang tergabung dalam satu macam platform.
Let's take the case of a typical 3-tiered traditional web app dimana dalam sebuah sistem
terdapat:

 Presentation
 Business logic
 Database Layer

Sebagai contoh kita akan gunakan sebuah aplikasi e-commerce yang di dalamnya terdapat
beberapa modul yaitu:

 Account -> pendaftaran pengguna, informasi pengguna, dsb


 Product -> pencarian produk, etalase produk, dsb
 Promotions -> penawaran produk, promosi, dsb
 Orders -> pemesanan produk, dsb
 Payment -> pembayaran, invoice, dsb

Dalam Monolithic, sistem dibangun dan di maintain dalam technology stack yang
sama, semisal LAMP (Linux, Apache, MySQL, PHP) dengan skema model-view-
controller. Jika dilihat dari garis besar, berikut kurang lebih adalah ilustrasi dari
implementasi aplikasi tersebut.

4
Dalam penerapannya, pendekatan Monolithic memiliki beberapa keuntungan
dan kerugian.

a. Keuntungannya

 SImple to develop, pada permulaan proyek pengembangan aplikasi, akan sangat


mudah jika menggunakan Monolithic Architecture, kompleksitas sangat rendah.

 Simple to deploy, Anda hanya perlu melakukan deploy (what?) maksudnya


deployment hanya akan fokus dari satu kesatuan aplikasi dan technology stack
yang digunakan

b. Kekurangannya

 Maintenance, jika aplikasi sudah menjadi terlalu besar dan kompleks, akan sulit
bagi developer untuk memahami aplikasi secara keseluruhan, sehingga jika
terdapat permintaan perubahan akan menjadi lebih kompleks dan memakan waktu

 Long time to ship, Setiap terdapat perubahan, juga aplikasi harus di deploy secara
keseluruhan, jika aplikasi sudah terlalu besar, it’s costly to deploy an application
as a whole!
 Failure Cascde, bug di satu modul (e.g. memory leak, database failure, etc) bisa
menyebabkan permasalahan pada keseluruhan system

 Complexity of growing applications, Harga dari kemudahan yang ditawarkan pada


saat permulaan proyek harus dibayarkan pada saat aplikasi menjadi sangat besar
dan kompleks, no clear ownership dari setiap codebase dari aplikasi tersebut.

 Stuck in a Technology stack, pada saat developer ingin mengadopsi satu teknologi
baru. Hal tersebut dikarenakan adopsi satu bahasa pemrograman atau framework
baru akan berdampak pada keseluruhan sistem, it is costly considering both time
and efforts.

D. Service-oriented

SOA (Service-Oriented Architecture) merupakan struktur yang memungkinkan


layanan untuk berkomunikasi satu sama lain di berbagai platform dan bahasa dengan
menerapkan apa yang dikenal sebagai sistem “loose coupling” yang berarti kopling
longgar dalam bahasa Indonesia.

Terkait sejarahnya sendiri, perlu untuk diketahui bahwa konsep SOA telah ada
selama bertahun-tahun. Istilah “loose coupling atau kopling longgar” mengacu pada klien

5
layanan, dan kemampuannya untuk tetap independen dari layanan yang diperlukan
Bagian terpenting dari konsep ini adalah bahwa klien, yang dengan sendirinya dapat
menjadi service (layanan) dapat berkomunikasi dengan layanan tersebut meskipun
mereka tidak terkait erat.

a. Fungsi SOA serta Peran Service-Oriented Architecture

Di bawah ini adalah beberapa fungsi dari SOA atau Service-Oriented Architecture
yang harus kalian ketahui:

1. Memungkinkan pengguna untuk menggabungkan sejumlah besar fasilitas dari


layanan yang ada untuk membentuk aplikasi.
2. SOA mencakup seperangkat prinsip desain yang menyusun pengembangan
sistem dan menyediakan sarana untuk mengintegrasikan komponen ke dalam
sistem yang koheren dan terdesentralisasi.
3. Paket fungsionalitas komputasi berbasis SOA menjadi satu set layanan
interoperable, dimana mereka dapat diintegrasikan ke dalam sistem software
yang berbeda milik domain bisnis yang terpisah.

Kemudian, untuk peran utamanya sendiri, SOA memiliki 2 (dua) role penting
arsitektur berorientasi layanan, yaitu

1. Service provider atau penyedia layanan


Penyedia layanan adalah pengelola layanan dan organisasi yang menyediakan
satu atau beberapa layanan untuk digunakan orang lain. Untuk mengiklankan
layanan, penyedia dapat mempublikasikannya di registry, bersama dengan
kontrak layanan yang menentukan sifat layanan, cara menggunakannya,
persyaratan layanan dan biaya yang dikenakan.

2. Service consumer atau konsumen layanan


Konsumen layanan dapat menemukan metadata layanan di registri dan
mengembangkan komponen klien yang diperlukan untuk mengikat dan
menggunakan layanan.

E. Component-based
Component Based Development adalah prosedur yang menjelaskan tentang desain
dan pengembangan sistem berbasis komputer dengan bantuan komponen perangkat lunak
yang dapat digunakan kembali.

Dengan CBD fokus utama kita adalah untuk beralih dari pemrograman perangkat
lunak ke penyusunan sistem perangkat lunak. Teknik pengembangan CBD melihatkan
prosedur untuk mengembangkan sistem perangkat lunak dengan memilih komponen yang

6
ideal, dan kemudian merakitnya menggunakan arsitektur perangkat lunak yang terdefinisi
dengan baik. Dengan penggunaan kembali sistematis komponen dasar, CBD bermaksud
untuk memberikan kualitas dan output yang lebih baik.

Object-Oriented Modeling menghasilka sejumlah besar class, object &relationship.


Sangat sulit untuk menemukan bagian yang dapat digunakan kembali di antara unit-unit
yang lebih kecil ini. Gagasan di balik CBD adalah untuk mengintegrasikan bagian-bagian
terkait dan benggunakannya kembali secara kolektif. Bagian-bagian yang terintegrasi ini
dikenal sebagai komponen.

A. Tujuan CBD

 Hemat waktu ketika kita ingin membangun sistem besar dan kompleks;
Mengembangkan sistem perangkat lunak yang kompleks dengn bantuan
komponen yang tersedia, dapat membantu mengurangi waktu pengembangan
perangkat lunak secara substansial.

 Meningkatkan kualitas perangkat lunak; Kualitas komponen adalah faktor kunci


di balik peningkatan kualitas perangkat lunak.

 Deteksi cacat dalam sistem; Strategi CBD mendukung deteksi kesalahan dengan
menguji komponen secara terpisah.

B. Manfaat CBD

 CBD membuat komponen di dalam sistem dapat digunakan kembali di sistem


yang lain.

 Komponen dapat di handle tanpa kerumitan, karena hubungan antara komponen di


handle secara terpisah.

 Pada setiap time point kita dapat menganalisis perkembangan konstruktif.


Meningkatkan untuk menggunakan kembali dari setiap individual komponen yang
mana dapat di uji dan terferivikasi secara terpisah.

7
BAB IV
BUGS
A. Pengertian Bug

Bug adalah kecacatan atau kerusakan teknis dalam sebuah aplikasi yang dapat
menyebabkan aplikasi tersebut tidak berfungsi sebagaimana mestinya. Istilah bug sendiri
bermula dari pengalaman Grace Hopper, salah satu teknisi yang berkontribusi pada
pengembangan teknologi komputer.

Grace mempublikasikan bahwa penyebab salah satu kegagalan proyeknya adalah


seekor serangga (ngengat) yang terjebak di dalam komponen komputer dan menyebabkan
malfungsi elektronik. Kejadian inilah alasan mengapa gangguan teknis pada komputer
disebut bug (serangga). Namun saat ini, bug adalah istilah yang terkait erat dengan
kerusakan yang terjadi pada software saja.

Para developer game atau aplikasi tentunya tidak menerapkan kesalahan-


kesalahan tersebut secara sengaja. Namun, karena sebuah aplikasi seringkali memiliki
ribuan baris kode, tentu saja ada kesalahan dari waktu ke waktu. Ketika sebuah bug
ditemukan, maka developer akan memperbaiki kesalahan tersebut. Proses pembersihan
bug ini disebut proses debugging. Program bug bounty umumnya diikuti oleh pengguna
dan developer lain untuk menemukan bug dan melaporkannya ke pihak perusahaan.
Sebagai gantinya, penemu bug tersebut akan mendapatkan imbalan berupa uang tunai
atau bentuk lainnya.

a. Jenis-Jenis Bug

Berikut ini adalah beberapa jenis bug yang paling sering terjadi selama proses
pengembangan software.

1. Functional error
Functional error merupakan sebuah kategori luas yang mencakup masalah
yang terkait fungsionalitas sebuah program. Bug jenis ini bervariasi, mulai
dari tombol yang tidak dapat di-klik hingga masalah pada kegunaan aplikasi
itu sendiri.

2. Performance defects
Performance defects adalah kategori bug yang terkait dengan kecepatan,
stabilitas, response time, dan penggunaan sumber daya dari sebuah software.

3. Usability defects
Usability defects adalah jenis bug yang menyebabkan pengguna tidak dapat
memanfaatkan sebuah software secara maksimal. Jenis bug ini biasanya
menyebabkan software sulit atau tidak nyaman untuk digunakan. Selain
masalah pada kode software, usability defects juga dapat disebabkan oleh

8
desain UI yang terlalu rumit sehingga pengguna kesulitan menemukan fungsi
yang mereka cari.

4. Compatibility error
Compatibility error merujuk pada masalah software yang tidak dapat berjalan
sebagaimana mestinya dalam situasi tertentu. Pada umumnya, compatibility
error akan muncul ketika kamu menjalankan aplikasi lama pada sistem operasi
yang lebih baru.

5. Security error
Security error merupakan jenis bug yang cukup berbahaya karena terkait
langsung dengan sistem keamanan sebuah software. Sebuah bug dalam sistem
keamanan software, besar atau kecil, akan membuka celah untuk cracking dan
mencuri data atau merusak software tersebut.

6. Syntax error
Syntax error adalah jenis bug yang terjadi pada source code sebuah program.
Jenis bug ini akan menghambat proses pengembangan software dan
menyebabkan software tidak dapat di-compile dengan baik.

7. Logic error
Logic error adalah jenis bug lain yang terjadi pada source code sebuah
program. Jenis bug ini biasanya disebabkan oleh penggunaan kode yang tidak
sesuai sehingga menghasilkan output yang salah.

b. Penyebab Bug pada Software

1. Komunikasi yang kurang baik


Komunikasi adalah sebuah bagian penting dalam pekerjaan, terutama
pengembangan software. Pada umumnya, sebuah software dikembangkan oleh
banyak orang dan melibatkan beberapa pihak seperti tim
marketing,programmer,tester, dan tentu saja user atau klien.

Jika salah satu dari pihak-pihak tersebut menemukan masalah dan


tidak melaporkannya, kemungkinan besar akan ada bug di produk yang
dikembangkan.

2. Kerumitan software
Software memiliki tingkat kerumitan pengembangan yang berbeda-beda.
Semakin banyak fungsi dan fitur sebuah software, semakin rumit pula kode
yang diperlukan untuk membuatnya. Kerumitan kode ini lah yang sering
menyebabkan programmer untuk melakukan beberapa kesalahan saat
menyusun kode-kode mereka.

9
3. Tidak adanya log perubahan kode
Dalam proses pengembangan software, tentu saja akan ada beberapa
perubahan seiring proses testing berlangsung. Ketika programmer tidak
memiliki catatan (log) yang mencakup keseluruhan perubahan tersebut, maka
muncul kemungkinan terjadinya bug.

4. Deadline yang terlalu singkat


Proses pengembangan software sudah selayaknya membutuhkan waktu yang
cukup untuk proses koding, testing, dan revisi. Namun ketika tim developer
diberikan deadline yang terlalu singkat, mereka tidak akan memiliki waktu
untuk memeriksa susunan kode atau menjalankan berbagai jenis testing.

5. Kesalahan logis pada desain software


Sebuah software biasanya dikembangkan untuk mencapai sebuah tujuan
tertentu. Ketika tujuan tersebut dibuat tanpa mempertimbangkan arsitektur
kode, bahasa pemrograman, waktu pengembangan, maka besar kemungkinan
software akan memiliki banyak bug.

6. Aplikasi Third-Party
Ketika sebuah software dikembangkan menggunakan plugin dan API dengan
tujuan menghemat waktu pengerjaan, maka kemungkinan terjadinya bug akan
meningkat.
Aplikasi pihak ketiga sendiri merupakan software dengan ribuan baris
kode di dalamnya. Ketika kode-kode tersebut tidak memiliki kompatibilitas
dengan kode software yang sedang dikembangkan, maka akan muncul bug.

10
BAB VI
KUALITAS MC CALL QUALITY
A. Analisa Kualitas Perangkat Lunak Sistem Informasi Akademik Menggunakan
McCall

Penyusunan kuesioner yang digunakan menggunakan jawaban antara setuju dan tidak
setuju terhadap pernyataan yang diberikan. Penyusunan kuesioner ditentukan dengan
mengacu kepada faktor kualitas perangkat lunak dengan menggunakan metode McCall
khususnya pada aspek Product Operation.

a. Correctness
Terhadap Kelengkapan Fungsionalitas
Pada faktor correctness berhubungan dengan kelengkapan dari fungsionalitas
pada Sistem Informasi Akademik PNJ didapatkan bahwa website PNJ ini belum
memenuhi beberapa fungsi fungsionalitas yang dibutuhkan oleh mahasiswa. Dari 49
mahasiswa menyatakan bahwa 37 mahasiswa merasa terdapat fiture yang tidak
berjalan pada website PNJ dan ada 10 mahasiswa menyatakan bahwa fiture dari
website PNJ telah memenuhi kebutuhan mahasiswa.

Terhadap Kesesuaian Informasi


Berdasarkan data yang diperoleh dari tanggapan mahasiswa terhadap
kesesuaian informasi yang diberikan oleh website PNJ bahwa informasi yang
ditampilkan oleh PNJ belum memenuhi kebutuhan mahasiswa. Dari 49 mahasiswa,
terdapat 4 mahasiwa yang setuju bahwa Informasi akademik yang ditampilkan sudah
sesuai dengan kebutuhan mahasiswa. 15 mahasiswa menyatakan bahwa informasi
mengenai data kompensasi pada website PNJ telah sesuai. 7 mahasiwa yang
menyatakan Informasi yang ditampilkan website PNJ selalu menampilkan berita
terbaru atau up to date terhadap infromasi akademik PNJ.

b. Reliability
Melaksanakan fungsi
Berdasarkan data yang diperoleh dari tanggapan mahasiswa terhadap
ketersedian fungsionalitas oleh website PNJ dinyatakan telah tercapai. Dari 49
mahasiswa, 16 mahasiswa menyatakan mengalami sulit log in ke website PNJ.
Terdapat 16 mahasiswa menyatakan sering terjadinya hang atau error saat membuka
website PNJ. 6 mahasiswa menyatakan bahwa setelah melakukan pengisian edom
data yang dimasukkan tidak tersimpan. 16 mahasiwa menyatakan bahwa tingkat
keamanan website PNJ cukup tinggi.

Terhadap Kemampuan Download


Berdasarkan hasil dari pengolahan kuesioner yang berhubungan dengan faktor
reliability pada Sistem Informasi Akademik PNJ ini didapatkan bahwa kemampuan
download sudah tercapai. Hal ini dapat dinyatakan dengan hasil kuesioner bahwa dari

1
49 mahasiswa terdapat 45 siswa yang menyatakan bahwa tidak terjadinya kegagalan
saat melakukan pengunduhan bukti pengisian EDOM. Sementara hanya 5 mahasiswa
yang mengalami kegagalan pengunduhan.

c. Efficiency
Berdasarkan hasil dari pengolahan kuesioner yang berhubungan dengan faktor
efficiency pada Sistem Informasi Akadmeik PNJ ini dinyatakan belum tercapai.
Berdasarkan 49 mahasiwa, 40 mahasiswa menyatakan kecepatan pemrosesan dalam
pengaksesan website PNJ sedikit lama jika banyak mahasiswa yang sedang
mengakses. 39 mahasiswa menyatakan server sering kali down disebabkan kurangnya
ketersediaan penyimpanan pada server PNJ. 10 mahasiswa setuju dengan pernyataan
adanya kapabilitas perantara komunikasi yang besar yang digunakan untuk
mentransfer data.

d. Integrity
Berdasarkan hasil dari pengolahan kuesioner yang berhubungan dengan faktor
integrity pada Sistem Informasi Akadmeik PNJ ini dinyatakan belum tercapai.
Berdasarkan 49 mahasiwa, 22 mahasiswa menyatakan bahwa tingkat keamanan hak
akses website PNJ sangat baik dan terdapat 14 mahasiswa menyatakan bahwa seluruh
informasi yang bersangkutan dengan jurusan sudah terintegrasi secara menyeluruh.

e. Usability
Berdasarkan hasil dari pengolahan kuesioner yang berhubungan dengan faktor
usability pada Sistem Informasi Akademik PNJ ini dinyatakan telah tercapai. Dari 49
mahasiwa, terdapat 38 mahasiswa yang menyatakan bahwa website PNJ mudah untuk
digunakan oleh mahasiswa. 27 mahasiswa menyatakan bahwa adanya fiture bantuan
(help) atau FAQ yang membantu pengunjung website yang kesulitan untuk
menemukan informasi yang dinginkan. Setelah dilakukan pengolahan hasil dari
kuesioner terhadap Sistem Informasi Akademik PNJ dapat disimpulkan data dalam
bentuk Tabel dibawah ini.

2
Pada faktor correctnes hanya terdapat 35.36% mahasiswa yang setuju dengan
hasil kuesioner yang menandakan bahwa faktor correctness belum tercapai. Faktor
reliability memiliki persentase bahwa mahasiswa yang setuju sebesar 68.38% yang
menandakan faktor ini telah tercapai. Pada faktor efficiency mahasiswa yang setuju
sebesar 31.2% yang menandakan faktor ini belum tercapai. Pada faktor integrity
hanya terdapat 36.75% mahasiswa yang setuju dengan hasil kuesioner yang
menandakan bahwa faktor ini belum tercapai. Faktor usability memiliki persentase
mahasiswa yang setuju sebesar 65.3% yang menandakan faktor ini telah tercapai.

Anda mungkin juga menyukai