MATA KULIAH
DISUSUN OLEH :
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
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.
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.
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.
e. Kelebihan RUP
Software yang dikembangkan dengan metode ini biasanya menghasilkan
kualitas yang baik.
f. Kelemahan RUP
4
Membutuhkan keahlian yang baik atau yang telah berpengalaman dalam
mengembangkan perangkat lunak dalam arti metode ini kurang cocok bagi
pemula.
Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan
pendekatan konstruksi berbasis komponen.
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.
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
7
BAB II
Eksplorasi Diagram UML
A. Pengertian UML
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).
B. Jenis-Jenis UML
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.
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.
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.
Dapat memberikan bahasa permodelan visual kepada user dari berbagai jenis
pemograman ataupun proses rekayasa.
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.
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.
4
C. Contoh UML
Berikut contoh kasus Perpustakaan pada UML
5
BAB III
B. Kebutuhan Sistem
Analisis kebutuhan sistem digunakan untuk mempermudah menganalisis sebuah
sistem yang dibutuhkan. Terdapat dua jenis kebutuhan sistem yang dibutuhkan:
Berikut adalah kebutuhan fungsional sistem dari sistem web E-Commerce dengan
framework Codeigniter:
1
c) Admin melakukan hapus barang.
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
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
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.
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
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
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.
7
Post-kondisi : Pimpinan dapat melihat data transaksi
Deskripsi : Pimpinan melihat data transaksi
c. Class Diagram
Class diagram merupakan model statis yang menggambarkan struktur dan
deskripsi class serta hubungannya antara class
8
d. Squence Diagram
Registrasi User
Detail Barang
9
Pembelian dan Konfirmasi
10
Mengelola Data Barang
11
Mengelola Data Ekspedisi
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
14
Mengelola Data Barang
15
Mengelola Data User
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
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.
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.
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.
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:
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
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
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
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.
Di bawah ini adalah beberapa fungsi dari SOA atau Service-Oriented Architecture
yang harus kalian ketahui:
Kemudian, untuk peran utamanya sendiri, SOA memiliki 2 (dua) role penting
arsitektur berorientasi layanan, yaitu
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.
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.
Deteksi cacat dalam sistem; Strategi CBD mendukung deteksi kesalahan dengan
menguji komponen secara terpisah.
B. Manfaat CBD
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.
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.
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.
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.
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.
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.