0% menganggap dokumen ini bermanfaat (0 suara)
235 tayangan

Modul SDLC

Modul SDLC (System Development Life Cycle) membahas tentang sistem informasi dan siklus hidup pengembangan sistem. Terdiri dari konsep, implementasi, delivery, penggunaan, dan pemeliharaan sistem. Juga membahas metodologi perancangan sistem informasi seperti waterfall, prototipe, berkelanjutan, dan cepat.

Diunggah oleh

iansofiansyah
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
235 tayangan

Modul SDLC

Modul SDLC (System Development Life Cycle) membahas tentang sistem informasi dan siklus hidup pengembangan sistem. Terdiri dari konsep, implementasi, delivery, penggunaan, dan pemeliharaan sistem. Juga membahas metodologi perancangan sistem informasi seperti waterfall, prototipe, berkelanjutan, dan cepat.

Diunggah oleh

iansofiansyah
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 99

 

Modul Pembelajaran 
SDLC (System 
Development Life 
Cycle) 
 

Tim RPL SMKN 1 CIOMAS 


Agustus 2019 
 

   

 
 

DAFTAR ISI 
 

   


 

BAB I  
SISTEM INFORMASI DAN SDLC 
 
 
A. Definisi Sistem Informasi 

Sistem  Informasi  merupakan  suatu  kombinasi  teratur  dari  orang-orang,  software, 


jaringan  komunikasi  dan  sumber  daya  data  yang  mengumpulkan,  mengubah,  dan 
menyebarkan  informasi  dalam  sebuah  organisasi.  Sistem  informasi  meliputi  perangkat 
keras,  perangkat  lunak,  input,  output,  data,  orang,  dan  prosedur.  Komponen-komponen 
yang saling terkait ini berfungsi bersama dalam suatu sistem. (Satzinger 2010) 

B. Contoh Sistem Informasi  


● Website 

● Mobile 


 

● Desktop 

C. SDLC (System Development Life Cycle) 

SDLC  (System Development Life Cycle) adalah teknik untuk mengelola dan 
mengendalikan  proyek.  Berbagai  alat,  teknik,  dan  metodologi  dibahas,  termasuk 
pendekatan  terstruktur  tradisional  dan  pendekatan  berorientasi  objek  yang  lebih 
baru.  Pengembang  sistem  harus  terbiasa  dengan  konsep  dasar  kedua 
pendekatan. (Satzinger 2010) 

Secara umum SDLC terdiri dari : 


 

1. Concept  

Pada  tahap  konsep  dilakukan  berbagai  cara  untuk  menggali 


sebuah  informasi  tentang  sistem  informasi  yang  akan  dibuat.  konsep 
model  dan  pemodelan  untuk  mencatat persyaratan terperinci untuk sistem 
dalam bentuk yang bermanfaat.  

2. Implementation 

Pada  tahap  implementasi  dilakukan  pembuatan  beberapa  tahapan 


diantaranya  dibuat  perancangan  ​User  Interface  dan  dibuat  aplikasi 
menggunakan  bahasa  pemograman.  Perancangan  user  interface  bisa 
menggunakan  tools  design  grafis  seperti  coreldraw,  adobe  ilustrator,  dan 
lain-lain.  Pembuatan  aplikasi  bisa menggunakan bahasa pemograman atau 
framework  sesuai  kebutuhan,  misalnya  untuk  aplikasi  web  bisa 
menggunakan  bahasa  PHP  Hypertext  Preprocessor  (PHP),  Java,  Python, 
Node Js, dan lain-lain. 

3. Delivery 

​ ilakukan  ​hosting  p
Pada  tahap  ​delivery  d ​ ada  server  aplikasi  a
​ gar 
sistem  informasi  bisa diakses di internet, biasanya pada tahap ini dilakukan 
pengujian  terlebihi  dahulu  supaya  bisa  dipastikan  sistem  berjalan  dengan 
baik. 

4. Use 

Pada  tahap  ini  sistem  harus dipastikan digunakan oleh user supaya 


sistem yang dibuat bisa dimanfaatkan semaksimal mungkin. 

5. Maintenance 

Pada  tahap  maintenance  dilakukan pemeliharaan sistem. mulai dari 


kelancaran  proses  sampai  jika  terjadi  kesalahan-kesalahan  yang  belum 
teridentifikasi saat proses pengembangan ataupun saat proses pengujian. 

D. Metodologi Perancangan Sistem Informasi 

Metodologi  adalah  cakupan  dari  kumpulan  teknik  yang  digunakan  untuk 


menyelesaikan  kegiatan  dalam  setiap  fase  siklus  hidup  pengembangan  sistem. 


 

Kegiatannya  meliputi  penyelesaian  berbagai  model  serta  dokumen  dan  hasil 


lainnya.  Seperti  profesional  lainnya,  pengembang  sistem  menggunakan  alat 
perangkat  lunak  untuk  membantu  mereka  menyelesaikan  aktivitas  mereka. 
Beberapa  metodologi  dibuat  sendiri,  dikembangkan  oleh  para  profesional  sistem 
di  perusahaan  berdasarkan  pengalaman  mereka.  Beberapa metodologi dibeli dari 
perusahaan konsultan atau vendor lain. (Satzinger 2010) 

Contoh metodologi yang sering digunakan : 

1. Waterfall 
2. Prototype 
3. Spiral 
4. Scrum 
5. RAD (Rapid Application Development) 
6. Agile 
7. dan lain-lain 

   


 

BAB II  
Metodologi Pengembangan Sistem Informasi 
 
 
Metodologi  atau  metode  pengembangan  sistem  informasi  yang  digunakan  untuk 
suatu  aplikasi  yang  ada  di  sebuah  perusahaan  sofware  house  salah  satunya  adalah 
seperti gambar berikut : 

Pada  gambar  metode  pengembangan  sistem  informasi  berikut  ada  beberapa 


tahapan diantaranya ​Planning, Analysis, Design, Implementation, Testing, Release​. Semua 
tahapan  dilakukan  secara  berurutan  dan  setiap  tahapannya  perlu  diberitahukan  atau 
dikonsultasikan kepada pihak ​client,​ berikut penjelasan dari setiap tahapan : 

1. Planning 

​ ilakukan kontrak kerja, penentuan harga, penentuan 
Pada  tahap  ​Planning d
estimasi  waktu  pengerjaan  antara  perusahaan  dengan  client,  penentuan  tim yang 
akan  terlibat  dalam  pembuatan  aplikasi.  Setelah  itu  dilakukan  proses  wawancara 
yang  meliputi  latar  belakang,  tujuan  wawancara,  siapa  yg  diwawancarai,  orang yg 
diwawancarai,  mengatur  jadwal  wawancara,  dan  menentukan  jenis  struktur 
pertanyaan. 


 

2. Analysis 

Pada  tahap  analisis  dilakukan  pengidentifikasian  masalah  dari  hasil 


wawancara  yang  ada  di  tahapan planning. kemudian dilakukan analisis kebutuhan 
data,  kebutuhan  informasi,  dan  kebutuhan  fungsional  yang  akan  dibuat  dalam 
aplikasi. 

3. Design 

Pada  tahap  design  dilakukan  arsitektur  tampilan  aplikasi  yang  dilakukan 


oleh  sistem  analis.  Pada  tahap  ini  juga  dilakukan  beberapa  perancangan  diagram 
dan  database  yang  sesuai  dengan  pendekatan  yang  digunakan  seperti 
pendekatan prosedural atau ​object oriented​. 

4. Implementation 

Pada  tahap  implementasi  dilakukan  pembuatan  aplikasi  yang  dilakukan 


oleh  designer  dan  programmer.  Beberapa  prosesnya  diantaranya  dibuat  design 
tampilan  aplikasi  web,  mobile, atau desktop oleh designer. Kemudian programmer 
menentukan  bahasa pemograman atau kerangka kerja (​framework)​  apa yang akan 
digunakan  dalam  pembuatan  sistem  informasi.  ​Framework  merupakan  kumpulan 
banyak  kode  yang  disimpan  pada  file  terpisah,  yang  mempermudah  pembuatan 
kode pada operasi yang berulang-ulang. (Upton 2007). 

5. Testing 

Pada  tahap  testing  dilakukan  pengujian  aplikasi  melalui  cara  ​blackbox 


testing.​   selain  itu,  pengujian  bisa  dilakukan  dengan  cara  ​automation  testing 
menggunakan  ​software  testing  contohnya katalon. ​Dalam pengujian dinamis kode 
​ ijalankan  untuk  menunjukkan  hasil  menjalankan  tes.  Ini  dilakukan 
software  d
selama  proses  validasi.  Sebagai  contoh:  unit  testing,  pengujian  integrasi, 
pengujian sistem, dan lain-lain. 

6. Release 

Pada  tahap  ​release  ​dilakukan  publikasi  produk  aplikasi  yang  telah  dibuat 
kepada client.  


 

BAB III 
PEMBAHASAN 
 
 
1. Planning 

Planning  atau  Perencanaan  adalah  ​proses  ​berpikir  tentang  kegiatan  yang 


diperlukan  untuk  mencapai  ​tujuan  yang  diinginkan.  Ini  adalah  aktivitas  pertama  dan 
terpenting  untuk  mencapai  hasil  yang  diinginkan.  Ini  melibatkan  penciptaan  dan 
pemeliharaan  ​rencana  ,  seperti  aspek  psikologis  yang  membutuhkan  keterampilan 
konseptual.  Bahkan  ada  beberapa  tes  untuk  mengukur  kemampuan  perencanaan 
seseorang  dengan  baik.Dengan  demikian,  perencanaan  adalah  properti  mendasar  dari 
perilaku cerdas. Terdapat beberapa tahapan dalam planning diangtaranya adalah: 

1. Kontrak Kerja 
2. Penentuan Harga 
3. Penentuan Estimasi Waktu Pengerjaan 
4. Penentuan Tim Pengerjaan 

1.1 Tahapan Penyusunan Kontrak 

1.​ P
​ ra kontraktual 
Di  dalam  tahap  ini  para  pihak  sedang  saling  menjajaki  dalam  tahapan  ini  para 
pihak  sedang  saling  menjajaki,  dalam  tahapan  ini  menjadi  negosiasi antara kedua belah 
pihak, tawar-menawar, demand dan suply, sampai terjadinya konsensus. 
Negosiasi  adalah  proses  untuk  mencapai  kesepakatan  mengenai  satu  kerja sama 
dimana para pihak saling memberikan konsesi satu sama lain. 
1. Negosiasi 
2. Memorandum of Understending 
3. Studi kelayakan 
4. Negosiasi (lanjutan) 
2.​ T
​ ahap Kontraktual 
Tahap  mulai  terjadinya  perjanjian  sampai  pelaksanaan  perjanjian  selesai.  Dalam 
tahap  ini  dilaksanakan  pemenuhan  syarat  sahnya  kontrak,  pelaksanaan  prestasi  sampai 
berakhirnya kontrak. 
1. Penulisan Naskah Awal 
2. Perbaikan Naskah 
3. Penulisan Naskah Akhir 
4. Penandatanganan 
3.​ P
​ ost Kontraktual 


 

Tahap  setelah  perjanjian  selesai,  yaitu  masa  pemeliharaan,  jaminan  cacat 


tersembunyi, atau fase garansi. 
Exemple  ;  dalam  perjanjian  borongan,  pihak  pemborong  tidak  akan  berhenti 
kewajibannya  setelah  pembangunan selesai. Pembangunan gedung bertanggung jawab 
5 tahun sejak penyerahan. 
1. Pelaksanaan 
2. Penafsiran 
3. Penyelesaiaan Sengketa 
4. Negosiasi 
○ Harus  menyelenggarakan  komunikasi  /  mendiskusikan  suatu  hal  untuk 
mencapai konsensus (kesepakatan) pokok-pokok perjanjian. 
○ Para pihak harus memberikan konsesi-konsesi 
1. Cara Penyerahan 
2. Cara Pembayaran à cash atau angsuran dan / bunga 
3. Jika  terjadi  kegagalan  dalam  kontrak  à  Siapa  yang  menanggung  resiko  dan 
kerugian. 
○ Wanprestasi 
○ Overmacht 
Adanya  kemungkinan  overmacht  subjektif  (kesulitan  salah  satu  pihak  memenuhi 
perjanjian)  /  Keadaan  Sulit,  menimbulkan  hak  renegosiasi  terhadap  kontrak  yang telah 
ditanda tangani. 
5. PRA KONTRAK 
1. Siapa yang dapat mengadakan perjanjian 
2. Siapa yang terikat terhadap perjanjian 
3. Bagaiman kekuatan mengikatnya 
4. Bagaimana  merumuskan  perjanjian  supaya  perjanjian  sah  dan  mengikat  secara 
hukum. 
5. Dituangkan dalam bentuk apa. 
6. Pemberian makna / istilah-istilah dalam rumusan perjanjian. 

2.1 Penentuan Harga 


Penentuan  harga  adalah  suatu  strategi  yang  menjadi  kunci  dalam  perusahaan 
sebagai  bentuk  konsentrasi  dari  deregulasi,  dan  persaingan  pasar  secara  global  yang 
semakin  sengit.  Harga  dapat  mempengaruhi  persepsi  pembeli,  arus  keuangan,  dan 
dalam  menentukan  posisi  merek.  Karena  hal  tersebut  harga  menjadi  suatu  ukuran  atau 
standar  mengenai  ​mutu  produk  sehingga  pembeli  mengalami  kesulitan  dalam 
mengkritisi produk yang kompleks. 

Tujuan Penentuan Harga 


 

Berikut  ini  merupakan  tujuan  dari  penetapan  harga  yang  memiliki  sifat  ekonomis  dan 
non ekonomis yaitu : 

1. Memaksimalkan penjualan dan penetrasi pasar 

Hal  yang dilakukan agar mampu menarik perhatian konsumen yang menjadi target 
pasar,  maka  perusahaan  perlu  dan  harus  melakukan  penetapan  harga  yang  rendah. 
Dengan  harga  yang  rendah  ini,  akan  menjadi  pendorong  dalam  meningkatkan 
permintaan yang datang pesaing. 

2. Mempertahankan kualitas pelayanan 

Hal  yang  dilakukan  dalam  menjaga  target  pasar  dari  pesaing  bisnis  maka  perlu 
suatu  teknik  yaitu  teknik  menyesuaikan  harga  menjadi  lebih  murah  dibandingkan 
dengan  pesaing.  Karena  penurunan  harga  ini  akan  membuat  konsumen  tetap  setia 
dengan produk yang ditawarkan. 

3. Mendapatkan atau memaksimal keuntungan 

Apabila  suatu  perusahaan sudah mencapai tahapan dalam penetepan harga suatu 


produk  maka  dalam  memperhitungkan  tingkat  keuntungan  yang  ingin  diperoleh.  Dan 
jika  marjin  keuntungan  yang  ingin  dicapai  akan  semakin  meningkat  maka  harga  yang 
akan ditetapkan untuk ditawarkan kepada konsumen pun akan menjadi tinggi. 

Metode PenentuanHarga 

Apabila  perusahaan  menentukan  dan  menetapkan  tujuan  yang  ingin  dicapai  maka 
selanjutnya  adalah  menentukan  metode  penetapan  harga.  Umumnya  metode 
penetapan harga terbagi menjadi 3 macam pendekatan yaitu: 

1. Penentuan Harga Berdasarkan Biaya 

Dalam  metode  penetapan  harga  ini  memiliki  faktor  yang  utama  yaitu  aspek 
penawaran  (biaya).  Dalam  metode  ini  harga  akan  ditentukan  berdasarkan  dengan biaya 
produksi  dan  juga  biaya  pemasaran  produk  yang  selanjutnya  akan  ditambah  dengan 
jumlah-jumlah  tertentu  untuk  dapat  menutupi  biaya-biaya  langsung,  ​biaya  overhead​, 
serta laba. 

2. Penentuan Harga Berdasarkan Harga Pesaing/Kompetitor 

Dalam  metode  penetapan  harga  ini  umumnya  dalam  pelaksanaannya  akan 


menggunakan harga pesaing sebagai referensi, namun pendekatan ini cenderung cocok 

10 
 

untuk  produk  yang  standar  di  ​pasar  oligopoli​.  Untuk  menarik  perhatian  konsumen 
perusahaan akan menggunakan strategi harga yang telah dirancang. 

3. Penentuan Harga Berdasarkan Permintaan 

Dalam  metode  penetapan  harga  inni  dilakukan  berdasarkan  dengan  persepsi 


konsumen  terhadap  ​price  value,  price  sensitivity  serta  ​perceived  quality​.  Dalam 
mengetahui  nilai  dari  harga  atas  kualitas  suatu  produk  maka  perlunya  analisa  ​Price 
Sensitivity  Master  (PSM),​   dalam  menggunakan  analisis  ini  umumnya  konsumen  diminta 
agar  memberikan  pernyataan  mengenai  harga  apakah  murah,  mahal,  atau  pas 
selanjutnya dikaitkan dengan kualitas produk yang diterima. 

Strategi Penentuan Harga 

Strategi  penetapan  harga  merupakan  proses  perusahaan  dalam 


mengklasifikasikan  dan  menggolongkan  produk  yang  dihasilkan  apakah  produk  baru 
atau produk yang telah beredar. 

Strategi  pentapan  harga  berkaitan  dengan  siklus  kehidupan  produk  (Product Life Cycle) 


yang  artinya  bahwa  suatu  produk  mempunyai  empat  tahapan  yaitu  perkenalan, 
pertumbuhan,  kematangan,  dan  penurunan.  Berikut  ini  strategi  penetapan  harga  yang 
berdasarkan pada produknya. 

Produk Baru 

Dalam  pengenalan  produk  baru  perlu  penetapan  strategi  harga.  Berikut  ini  merupakan 
penetapan harga yang efektif terdapat 2 alterrnatif yaitu: 

1. Harga Mengapung (​Skimming Price)​  

Harga  mengapung  adalah  memberikan  harga  yang  tinggi  agar  dapat  menutupi 
biaya  dan  sekaligus  meghasilkan  laba  maksimum  atau  dengan  kata  lain  dalam  hal  ini 
perusahaan  mampu  meyakinkan  pelanggan  bahwa  produknya  memiliki  perbedaan 
dengan produk sejenis yang dimiliki oleh pesaing. 

Harga  mengapung  disebut  juga  dengan  pendekatang  skimming,  pendekatan  ini  sangat 
efektif  apabila  terdapat  perbedaan  harga  atas  aspek  tertentu dan pesaing relatif sedikit. 
Selain  itu  pendekatan  skimming  bermanfaat  sebagai  pembatas  atas  permintaan  suatu 
produk  sampai  perusahaan  merasa  siap  kembali  untuk  melakukan  produksi  secara 
masal. Pendekatan ini juga dapat meningkatkan nilai produk menjadi sangat prestisius. 

2. Harga Penetrasi   

11 
 

Harga  penetrasi  adalah  memberikan  harga  yang  rendah  agar  terciptanya  pangsa 
pasar  dan  permintaan,  umumnya  diterapkan  di  kondisi  pasar  yang  tidak  terfragmentasi 
ke  dalam  aspek  berbeda  produk  dan  tersebut  tidak  mempunyai  nilai  simbolis  yang 
tinggi.  Harga  penetrasi  apabila  digunakan  maka  aakan  sangat  cocok  dan  efektif  untuk 
sasarna pasar yang cenderung sensitif terhadap harga. 

Produk Yang Telah Beredar 

Strategi  penetapan  harga  suatu  produk  yang  telah  beredar  ini  umumnya  tidak 
akan  lepas  atas  posisi  produk  tersebut  dalam  siklus  kehidupan  produk,  berikut  ini 
merupakan 3 tingkatan dalam tahapan siklusnya yaitu: 

1. Tahap Pertumbuhan 

Tahap  ini  memiliki  ciri  yaitu  penjualan  akan  meningkat  dan  disertai  dengan 
munculnya  pesaing.  Saat  terjadi  pertumbuhan  yang  cepat  maka  biasanya  strategi  yang 
akan  digunakan  adalah  tetap  mempertahankan  harga  produk  atau  pasar.  Namun 
sebaliknya  apabila  pertumbuhan  melambat,  maka  strategi  yang  diterapkan  adalah 
strategi  harga  agresif  atau  menurunkan  harga  agar  dapat  mendorong  penjualan 
sekaligus mampu menghadapi persaingan yang semakin ketat. 

2. Tahap Kematangan 

Tahap  kematangan  ini  mempunyai  karakteristik  yaitu  fleksibilitas  harga,  hal  ini 
terjadi  karena  tahap  ini  merupakan  efektivitas  strategi  dalam  penetapan  harga.  Pada 
umumnya  sudah  menjadi  kewajiban  bagi  perusahaan  menjadi  sosok  yang  responsif 
terhadap situasi pasar, konsumen, bahkan pesaing. 

3. Tahap Penurunan 

Dalam  tahap  ini  umumnya  ditandai  dengan  menurunnya  jumlah  permintaan  yang 
secara  terus  menurus.  Selain  itu  tahap  ini  merupakan  tahap  akhir  dalam  daur  hidup 
produk yang memiliki dua alternatif langkah utama yaitu: 

● Strategi diskonting (pemotongan harga) 


● Mempertahankan harga namun memotong biaya yang berhubungan dengan 
produk, khusunya dalam pengeluaran untuk promosi. 

3.1 Estimasi Waktu 

1. Estimasi Proyek 

Empat langkah dasar dalam estimasi proyek adalah: 

12 
 

1)  Perkirakan  ukuran  produk  pengembangan.  Ini  biasanya  berakhir  di  salah  satu  Lines  of 
Code 
(LOC)  atau  Function  Points  (FP),  tetapi  ada  unit  pengukuran  lain  yang  memungkinkan. 
Diskusi tentang 
pro  &  kontra  dari  masing-masing  dibahas  dalam  beberapa  materi yang dirujuk pada akhir 
laporan ini. 
2) Perkirakan upaya dalam bulan orang atau bulan. 
3) Perkirakan jadwal dalam bulan kalender. 
4) Perkirakan biaya proyek dalam dolar (atau mata uang lokal) 
 
2. Memperkirakan ukuran 

Perkiraan  akurat  ukuran  perangkat  lunak  yang  akan  dibangun  adalah  langkah 
pertama  menuju perkiraan efektif. Anda sumber informasi mengenai ruang lingkup proyek 
harus,  sedapat  mungkin,  dimulai  dengan  formal  deskripsi  persyaratan  -  misalnya, 
spesifikasi  kebutuhan  pelanggan  atau  permintaan  proposal,  spesifikasi sistem, spesifikasi 
persyaratan  perangkat  lunak. Jika Anda [memperkirakan] suatu proyek di fase selanjutnya 
dari  siklus  hidup  proyek,  dokumen  desain  dapat  digunakan  untuk  memberikan  detail 
tambahan.  Jangan  biarkan  kurangnya  spesifikasi  ruang  lingkup  formal  menghentikan 
Anda  dari  melakukan  perkiraan  proyek  awal. Deskripsi verbal atau garis besar papan tulis 
terkadang  Anda  harus  memulainya.  Bagaimanapun,  Anda  harus  berkomunikasi  dengan 
tingkat  risiko  dan  ketidakpastian  dalam  perkiraan  untuk  semua  yang berkepentingan dan 
Anda  harus  memperkirakan  kembali  proyek  secepatnya  ​lebih  banyak  informasi  ruang 
lingkup ditentukan.  
Dua cara utama Anda dapat memperkirakan ukuran produk adalah: 
1)  Dengan  analogi.  Setelah  melakukan  proyek  serupa  di  masa  lalu  dan  mengetahui 
ukurannya,  Anda  memperkirakan  masing-masing  bagian  utama  dari  proyek  baru  sebagai 
persentase  dari  ukuran  bagian  yang  serupa  dari  proyek  sebelumnya.  Perkirakan  ukuran 
total  proyek  baru  dengan  menambahkan  perkiraan  ukuran  masing-masing  bagian. 
Sebuah  estimator  berpengalaman  dapat  menghasilkan  estimasi  ukuran  yang  cukup  baik 
dengan  analogi  jika  ukuran akurat nilai tersedia untuk proyek sebelumnya dan jika proyek 
baru cukup mirip denganyang sebelumnya. 
2)  Dengan  menghitung  fitur  produk  dan  menggunakan  pendekatan  algoritmik  seperti 
Function  Points  untuk  dikonversi  hitungan  menjadi  estimasi  ukuran. "Fitur produk" tingkat 
makro  dapat  mencakup  jumlah  subsistem,  kelas  /  modul,  metode  /  fungsi.  "Fitur  produk" 
yang  lebih  rinci  mungkin  termasuk  jumlah  layar,  dialog,  file,  tabel  database,  laporan, 
pesan, dan sebagainya. 
 
 

13 
 

3. Memperkirakan upaya 

Setelah  Anda  memiliki  perkiraan  ukuran  produk  Anda,  Anda  dapat  memperoleh  estimasi 
upaya.  Konversi  ini  dari  ukuran  perangkat  lunak  hingga  upaya  total  proyek  hanya  dapat 
dilakukan  jika  Anda  memiliki  pengembangan  perangkat  lunak  yang  ditentukan  siklus 
hidup  dan  proses  pengembangan  yang  Anda  ikuti  untuk  menentukan,  merancang, 
mengembangkan,  dan  menguji  perangkat  lunak.  SEBUAH  proyek  pengembangan 
perangkat  lunak  melibatkan  jauh  lebih  dari  sekadar  pengkodean  perangkat  lunak  -  pada 
kenyataannya,  pengkodean  sering  bagian  terkecil  dari  upaya  keseluruhan.  Menulis  dan 
meninjau  dokumentasi,  mengimplementasikan  prototipe,  merancang  kiriman,  dan 
meninjau  dan  menguji  kode  mengambil  porsi  yang  lebih  besar  dari  keseluruhan  proyek 
upaya.  Perkiraan  upaya  proyek  mengharuskan  Anda  untuk  mengidentifikasi  dan 
memperkirakan,  dan  kemudian merangkum semua kegiatan Anda harus melakukan untuk 
membangun produk dengan ukuran perkiraan. 
Ada dua cara utama untuk memperoleh upaya dari ukuran: 
 
1)  Cara  terbaik  adalah  dengan  menggunakan  data  historis  organisasi  Anda  sendiri  untuk 
menentukan  berapa  banyak  upaya  proyek-proyek  sebelumnya  dari  ukuran  yang 
diperkirakan  telah  diambil.  Ini,  tentu  saja,  mengasumsikan  (a)  organisasi  Anda  telah 
mendokumentasikan  hasil  aktual  dari  proyek  sebelumnya,  (b)  bahwa  Anda  memiliki 
setidaknya  satu  masa  lalu  proyek  dengan  ukuran yang sama (bahkan lebih baik jika Anda 
memiliki  beberapa  proyek  dengan  ukuran  yang  sama  saat  ini  diperkuat  bahwa  Anda 
secara  konsisten  memerlukan  tingkat  upaya  tertentu  untuk  mengembangkan  proyek 
dengan  ukuran  tertentu),  dan  (c)  itu  Anda  akan  mengikuti  siklus  hidup  pengembangan 
yang  serupa, gunakan metodologi pengembangan yang serupa, gunakan alat serupa, dan 
gunakan tim dengan keterampilan dan pengalaman serupa untuk proyek baru.  
 
2)  Jika  Anda  tidak  memiliki  data  historis  dari  organisasi  Anda  sendiri  karena  Anda  belum 
mulai  mengumpulkan  belum  atau  karena  proyek  baru  Anda  sangat  berbeda  dalam  satu 
atau  beberapa  aspek  utama,  Anda  dapat  menggunakan  pendekatan  algoritmik  yang 
matang  dan  diterima  secara  umum  seperti  model  COCOMO  Barry  Boehm  atau 
Metodologi  Putnam  untuk  mengubah  estimasi  ukuran  menjadi  estimasi  upaya. 
Model-model  ini  telah  diperoleh  dengan  mempelajari  sejumlah  besar  proyek  yang 
diselesaikan  dari  berbagai  organisasi  untuk  dilihat  bagaimana  ukuran  proyek  mereka 
dipetakan  ke  dalam  upaya  total  proyek.  Model  "data  industri"  ini  mungkin  tidak  sama 
seakurat  data  historis  Anda  sendiri,  tetapi  mereka  dapat  memberi  Anda  perkiraan  upaya 
rata-rata yang berguna. 
 

14 
 

4. Perkiraan jadwal 

Langkah  ketiga  dalam  memperkirakan  proyek  pengembangan  perangkat  lunak 


adalah  menentukan  jadwal  proyek  dariestimasi  upaya.  Ini  umumnya  melibatkan 
memperkirakan  jumlah  orang  yang  akan  mengerjakan  proyek,  apa  mereka  akan 
mengerjakan  (Struktur  Perincian  Kerja),  kapan  mereka  akan  mulai  mengerjakan  proyek 
dan  kapan  mereka  akan  selesai  (ini  adalah  "profil  kepegawaian").  Setelah  Anda  memiliki 
informasi  ini,  Anda  perlu  menjabarkannya  menjadi  jadwal  kalender.  Sekali  lagi,  data 
historis  dari  proyek  masa  lalu  organisasi  Anda  atau  model  data  industri  dapat  digunakan 
untuk  memprediksi  jumlah  orang  yang  akan  Anda  perlukan  untuk  proyek  dengan ukuran 
tertentu dan bagaimana pekerjaan dapat dilakukan ​dipecah menjadi jadwal. 
Jika  Anda  tidak  memiliki yang lain, aturan estimasi jadwal praktis [McConnell 1996] 
dapat digunakan untuk mendapatkan kasar ide total waktu kalender yang diperlukan: 
 
Jadwal dalam bulan = 3.0 * (bulan-usaha). 
 
Pendapat  bervariasi,  apakah  2,0  atau  2,5  atau  bahkan  4,0  harus  digunakan 
sebagai  pengganti  nilai  3.0  -  hanya  dengan  mencobanya  Anda  akan  melihat  apa  yang 
cocok untuk Anda. 
 
4.1 Penentuan Tim Developer 

Struktur Tim Website Development 

Terbukti  di  banyak  kasus,  pemrograman  saja  tidak cukup untuk membuat website 


Anda  berfungsi  dengan  maksimal.  Itulah  mengapa  banyak  pemangku  kepentingan 
(stakeholders)  menaruh  perhatian  besar  pada  desain  dan  pemasaran.  ​tim  web 
development  harus  sesuai  dengan  tujuan  proyek  dan  terdiri  dari  spesialis  dengan 
beragam keterampilan dan pengetahuan. 
Beberapa  perusahaan  memberi  klien  struktur  tim  spesialis  komplit  yang  mereka 
butuhkan  untuk  proyek  tersebut,  namun  ada juga perusahaan yang tidak. Hal ini terutama 
berlaku untuk perusahaan yang masih baru dan memiliki model bisnis yang sempit. 

Jadi,  setiap  perusahaan  dapat  memiliki  spektrum  layanan  sendiri  dan  jumlah 
anggota  tim  dapat  bervariasi.  Misalnya,  di  ​SoftwareSeni  (dan  sebagian  besar  perusahaan 
lain)  ​tim  developer  terdiri  dari​:  ​Pakar  Analisis  Requirements  (requirement  analyst); 
Manajer  Proyek  (project  manager);  Desainer  Grafis  (graphic  designer);  Desainer UI/UX 
(UI/UX designer); Web Developer; Tester Website (quality assurance tester) 

15 
 

Pada  saat  yang  sama,  memiliki  spesialis  non-teknis  yang  dapat  membantu 
memenuhi  target  ​pemasaran  digital  sangat  diperlukan  di  era  global  ini.  Tim non-teknis ini 
terdiri  dari:  ​Spesialis​SEO  (​SEO  expert);  Ahli  strategi  pemasaran  (​marketing  strategist​); 
Pakar/penulis konten (​content writer​). 

A. Pakar Analisis Requirement (requirement analyst) 

Baik secara eksplisit atau tidak, seseorang harus melakukan peran analisis 
requirement pada sebuah ​proyek software development​. Titel resmi bisa saja pakar 
analisis requirement (requirements), analis bisnis, sistem analis, manajer produk, atau 
sekadar analis, tetapi seseorang perlu menerjemahkan beberapa perspektif ke spesifikasi 
requirement dan berkomunikasi dengan pemangku kepentingan lainnya. Mungkin yang 
paling penting, analis membantu menentukan perbedaan antara apa yang client inginkan 
dan apa yang benar-benar klien butuhkan. 

Tugas utama dari spesialisasi ini adalah untuk memahami visi Anda tentang 
proyek, menganalisanya, kemudian menerjemahkan ke dalam spesifikasi teknis yang 
komprehensif. Pada gilirannya, spesifikasi tersebut akan digunakan oleh ​tim website 
development​ untuk mengatur kerangka waktu pengerjaan dan persiapan proyek. 

Dengan kata lain, pakar analisis requirement mempersiapkan dasar untuk pengembangan 
produk. 

16 
 

B. Manajer Proyek (project manager) 

Untuk  memulai,  selalu  ada  manajemen  tim  proyek.  Pekerja  teknis  adalah  sumber 
daya  kreatif,  produktif,  dan  sangat  efektif,  tetapi  mereka  membutuhkan  arahan. Sebagian 
besar  proyek  mencakup  banyak  sumber  daya  yang  sangat  khusus  seperti  developer, 
analis, tester website, desainer grafis, dan penulis teknis. 

Salah  satu  fungsi  utama  dari  PM  proyek  Anda  adalah  untuk  mengkoordinasikan 
semua  sumber  daya  dan  tugas  mereka  –  untuk  memastikan  bahwa  pekerjaan  dilakukan 
dalam urutan yang tepat sesuai dengan tenggat waktu (dan ​uang​) yang dialokasikan, serta 
memfasilitasi  komunikasi  antara  yang  sangat  terfokus  (tetapi  belum  tentu  memahami 
“gambaran besar” proyek itu) dan anggota ​tim proyek software developer yang lain​. 

Seorang  manajer  proyek  layaknya konduktor orkestra ​tim web development Anda. 


Hal  pertama  yang  dia  lakukan  adalah  berkenalan  dengan  spesifikasi  teknis  dan  tanggal 
jatuh  tempo.  Berdasarkan  informasi  ini,  ​rencana  proyek  disusun  dan  dibagi  menjadi 
beberapa tahapan yang juga dikenal sebagai sprint (setting fungsional untuk jangka waktu 
tertentu). 

17 
 

Kemudian,  manajer  proyek  memonitor  seluruh  proses  pengembangan  produk 


untuk  memastikan  setiap  sprint  berakhir  tepat  waktu.  Ketika  sprint  berakhir,  manajer 
proyek  menampilkan  demo  produk  untuk  mendapatkan  umpan  balik  dan  persetujuan 
Anda  untuk  melanjutkan.  Jika  Anda  tidak  puas  dengan  apa  pun  itu,  ia  meminta  anggota 
tim untuk memperbaiki masalah tersebut. 

Selain  itu, manajer proyek berkomunikasi dengan Anda sepanjang waktu. Jadi, jika 
Anda  memiliki  pertanyaan atau ingin membuat beberapa perubahan pada proyek – dialah 
orang yang harus Anda hubungi. 

C. Desainer Grafis (Graphic Designer) 

Dalam  arti  tertentu,  semua  desain  visual  dimulai  dengan  desain  grafis. 
Sederhananya,  desain  grafis  adalah  seni  untuk  memutuskan  bagaimana  hal-hal  harus 
dilihat.  Desainer  Grafis  memilih  warna  dan  font,  serta  mengatur  elemen  (seperti  gambar 
dan  blok  teks)  dalam  tata  letak.  Ini  dapat  terjadi  baik  online  (website  dan  aplikasi  seluler) 
maupun  dalam  materi  cetak  (iklan  majalah,  sampul  buku,  display  di  toko).  Secara  historis, 
desain  grafis  terkait  dengan  media  cetak,  tetapi  tidak  adil  untuk  mendefinisikan  dan 
membatasi lingkup kerja desainer grafis hanya pada industri tersebut. 

Desain  grafis,  pada  intinya,  merupakan  kombinasi  dari  problem  solving  dan 
komunikasi  visual.  Desainer  grafis  menggunakan  warna,  gambar,  dan  tipografi  untuk 

18 
 

mengkomunikasikan  ide  atau  emosi  melalui  media  cetak,  web,  dan  desain  visual.  Karena 
sebagian  besar  pekerjaan  desain  grafis  berada  di  bawah  payung  “branding”,  desainer 
tradisional  semacam  ini  mendapat  arahan  dari  tim  pemasaran.  Meskipun  wajar  untuk 
mengaitkan  desain  grafis  hanya  dengan  daya  tarik  estetika  website,  desainer  grafis  juga 
menargetkan  sistem  laman  yang  mengalir  lancar.  Psikologi  dan  fungsionalitas  selalu 
dipertimbangkan selama proses ini. 

Gambar  statis,  bahkan  ketika  dibuat  dan  untuk  media  digital,  dianggap desain grafis. Alur 
kerja  desainer  grafis  dimulai  dari  meriset  kebutuhan  grafis  klien.  Klien  biasanya 
memberikan  referensi  grafis  yang  diinginkan,  atau  terkadang  menyerahkan  sepenuhnya 
pada  kreativitas  desainer.  Kemudian  desainer  grafis  mengumpulkan  materi/aset  berupa 
photo  stock  atau  font  yang  diperlukan  sebelum  akhirnya  mengubahnya  menjadi  logo, 
newsletter, atau ilustrasi. 

19 
 

D. Desainer UI/UX 

Desain  adalah  tonggak  yang  menentukan  arah  untuk  keseluruhan  proyek.  Anda 
akan  menemukan  setidaknya  dua  dari  berbagai  kategori-  antarmuka  pengguna  (​User 
Interface​) dan desain pengalaman pengguna (​User Experience​). 

UX  berjalan  satu  langkah  lebih  jauh  dari  desain  grafis  dengan memulai proses ​UX 
bahkan sebelum pena bertemu kertas atau mouse membuka Adobe Illustrator. 

UX  adalah  industri  multifaset  yang  menyatukan  riset  pengguna,  arsitektur 


informasi,  faktor  manusia,  dan  tentu  saja,  desain  grafis.  Desain  pengalaman  pengguna 
bertujuan  untuk  menciptakan  korelasi  antara  pengguna  dengan  produk/merek  Anda, 
melalui  cara  yang  bebas  stres  dengan  menjaga  pengguna  dan  sasaran  sebagai  inti  dari 
setiap keputusan. 

Dalam  tahap  awal,  desainer  UI/UX  menganalisis  requirement  proyek  (project 


requirements)  dan  target  audiens  proyek  tersebut  untuk  melihat  gambaran  keseluruhan. 
Pendekatan  semacam  ini  dilakukan  untuk  mengidentifikasi  kesulitan  yang  akan  dihadapi 
pengguna,  dan  secara  efektif  menyelesaikannya  melalui  desain.  Berdasarkan  pemikiran 

20 
 

ini,  desainer  menciptakan  wireframe  yang  merupakan  penempatan  skematis  elemen  di 
website. 

Di  sinilah  bagian  desain  pengalaman  pengguna  berakhir  dan  desainer  dapat  pindah  ke 
desain antarmuka. 

Sementara  UX  mencakup  semua  hal  tentang  penelitian  dan  struktur,  UI  adalah  singkatan 
dari  tampilan  visual.  Skema  warna,  font,  ikon,  dll.  Dengan  kata  lain,  perancang 
menciptakan  prototipe  (tampilan  akhir  website  Anda)  berdasarkan  pada  tahap  UX  dan 
menguji kegunaannya. Prototipe bisa interaktif atau statis. 

Desain  Antarmuka  Pengguna  secara  khusus  berkaitan  dengan  desain  elemen  interaktif, 
dan  karena  itu  eksis  hampir  secara  eksklusif  di  media  digital,  seperti  pada  komputer, 
tablet atau smartphone. Elemen interaktif seperti menu drop-down, aspek formulir, elemen 
yang dapat diklik, animasi, rancangan tombol adalah semua alat penting untuk desainer UI 
di seluruh dunia. 

21 
 

Jadi,  kita  dapat  memahami desain UI sebagai konstruksi yang memperluas definisi Desain 


Grafis, karena berkaitan dengan cara kita berinteraksi dengan suatu produk. 

Gambar  dengan  beberapa  jenis  interaktivitas  adalah  UI,  bahkan  ketika  mereka 
menggabungkan gambar statis. 

Steve  Jobs  pernah  berkata  “Desain  bukan  seperti  apa  dia  terlihat,  desain  adalah  cara 
kerjanya”.  Maksudnya  bukan  tentang  teknologi  apa  yang  dipakai,  tetapi  cara  orang 
menggunakan dan berinteraksi dengan sesuatu. 

Jadi  Anda  dapat  menyimpulkan  bahwa  desain  ​UI  adalah  konsep  total  dan  bagian 
kompleks  dari  teks,  gambar,  tata  letak,  animasi,  video  dan  elemen  yang  dapat  didengar, 
pola  navigasi,  kontrol  fisik  dan/atau  virtual,  bahkan  taktil  dan  mungkin  pengalaman 
aromatik – apa pun – untuk terlibat secara aktif dengan pengguna. 

22 
 

E. Web Developer 

Programmer  memainkan  peran  penting  dalam  ​tim  website  development​.  Mereka 


mengubah  desain  siap pakai Anda menjadi produk yang bisa digunakan oleh siapa saja di 
dunia internet. 

Website  development  setidaknya  memiliki  dua  komponen-  sisi  client,  juga  disebut 
Front-End​,  dan  sisi  server  –  juga  disebut  ​Back-End​.  Sebelum  membahas  lebih  lanjut 
mengenai  peran  Front-End  dan  Back-End  developer,  mari  kita  pahami  terlebih  dahulu 
komponen development ​sisi client (client side) dan sisi server (server side)​. 

Seperti namanya, server adalah orang yang melayani. 

Klien adalah orang yang meminta server untuk melayani. 

Jadi  ketika  seseorang  membuka  ​www.softwareseni.co.id  di  Internet  Explorer  (atau 


browser  lain),  browser  pergi  ke  mesin  ​SoftwareSeni  di  internet,  meminta  agar  konten 
ditampilkan.  Di  sini,  browser  adalah  klien  dan  mesin  ​SoftwareSeni  yang  selalu  berjalan 
dan melayani konten adalah server. 

Sebagian  besar website menggunakan kedua sisi client maupun sisi server. Meskipun ada 
hal-hal  yang  dapat  dilakukan  oleh  keduanya,  ada  beberapa  hal  yang  hanya  dapat 
dilakukan di server-side dan begitu pula sebaliknya. 

23 
 

Front-End  development  bagus  untuk  semua  hal  yang  membutuhkan  interaksi  pengguna, 
contohnya;  pembuatan  games  sederhana.  Sedangkan  Back-End  development  digunakan 
untuk  pekerjaan  yang  memerlukan  data  dinamis  untuk  dimuat,  contohnya;  sebuah 
pemberitahuan yang memberi tahu user bahwa mereka perlu login. 

Singkatnya,  developer  front-end  fokus  pada  bagaimana  user  menggunakan  website  dan 
apa  yang  mereka  lihat  ketika  mereka  mengakses  website  tersebut,  developer  back-end 
bekerja pada sistem yang memberikan informasi kepada user. 

Berikut  ini  penjelasan  lebih  rinci  dari  peran  dan  tanggung  jawab  kedua  jenis  web 
developer: 

Developer Front-End 

Pekerjaan Front-End mencakup semua yang dapat Anda lihat dan berinteraksi. Bayangkan 
tombol  registrasi yang tampak seperti pada prototipe yang pernah Anda lihat sebelumnya. 
Tetapi  kemudian  tombol  itu  aktif  di  browser,  sehingga  Anda  dapat  mengarahkan  dan 
bahkan  mengkliknya.  Tombol  bereaksi  dengan  mengubah  warna  atau  menjalankan 
animasi  tetapi  tidak  ada  hal  lain  yang  terjadi.  Hal  ini  karena  front-end  seperti  ‘kap  mobil’ 
dari  website  Anda.  Untuk  membuatnya  bekerja,  developer  harus  meletakkan  mesin  di 
sana. 

Mereka bekerja dari client-side website menggunakan bahasa pemrograman seperti; 

1. HTML + Javascript + CSS 

2. C# 

3. Java 

4. Objective C 

5. C/C++ 

6. Python 

Developer  front-end  membuat  website  sepotong  demi  sepotong  berdasarkan  prototipe 


yang  diberikan  oleh  desainer.  Dengan  cara  ini,  tugas  utama  mereka  adalah  memastikan 
website  Anda  terlihat  bagus  di  perangkat/browser  apa  pun  dan  memastikan  semua 
elemen berfungsi dengan benar. 

Developer Back-End 

24 
 

Back-end  bertanggung  jawab  untuk  bagian  dari  fungsionalitas  website  yang memerlukan 


interaksi  dengan  server.  Secara  kasar  dapat  dikatakan,  melingkupi  semua  pekerjaan 
kecuali  animasi  dan  visual.  Sekarang,  tombol  tidak  hanya divisualisasikan tetapi didukung 
oleh kode di bawah “kap mobil” yang membuat fitur registrasi berfungsi. 

Tugas  utama  mereka  adalah  menulis  kode  dari  server-side  yang  menggerakkan  fitur 
website.  Ada  banyak  bahasa  dan  kerangka  kerja  yang  dapat  digunakan  di  bagian  ini 
(JavaScript,  Python,  .NET,  Ruby,  PHP  dan  sebagainya).  Selain  itu,  mereka  bertanggung 
jawab atas pembuatan basis data dan sistem manajemen konten. 

Tim  software  developer  SoftwareSeni  Indonesia  terdiri  dari  developer  back-end  maupun 
front-end  yang  bekerja  dengan  spektrum  teknologi  yang  luas  termasuk  Angular, React.js, 
Laravel, Codeigniter, Ruby on Rails, WordPress dan lainnya. 

Selain  front-end  dan  back-end  developer,  kini  mulai  dikenal istilah ​full-stack developer 


dalam job listing. Apa itu ​full-stack​ developer? 

Full-stack Developer 

Sebagian  besar  tim  proyek IT memiliki setidaknya beberapa full-stack developer. Istilah ini 


relatif baru di industri ​software development​. 

Terdapat  beragam  definisi untuk bidang ini: dari seorang developer yang mengkhususkan 


diri  dalam  segala  hal  mulai  dari  front-end  hingga  back-end;  hingga  developer  yang 
memiliki  pengetahuan  umum  dalam  semua  langkah  development,  mulai  dari  konsep 
hingga  produk  jadi;  menjadi  maha  guru  dengan  keahlian  berlapis  yang  hampir  mustahil 
untuk dimiliki oleh seseorang. 

Full-stack  garis  keras  mengharuskan  developer  full-stack  untuk  memiliki  pengetahuan 


khusus  di  semua  tahap  pengembangan perangkat lunak. Dengan demikian, pengembang 
full-stack harus mahir, atau setidaknya memahami: 

● Lingkungan server, jaringan, dan hosting 


● Database relasional dan non relasional 
● Cara berinteraksi dengan API 
● Antarmuka pengguna dan pengalaman pengguna (UI & UX) 
● Quality assurance 
● Pengetahuan sekuritas di seluruh program 
● Memahami kebutuhan bisnis dan pelanggan 

Orang  lain  berpendapat  bahwa  full-stack  developer  adalah  bentuk  gabungan  front-end 
developer  +  back-end  developer.  Developer  ini  bukanlah  ahli  dalam  segala  hal;  mereka 
hanya  memiliki  pengetahuan  dan  kemampuan  fungsional  untuk  menentukan  konsep  dan 

25 
 

mengubahnya  menjadi  produk  jadi.  Setidaknya  ini  adalah  ​satu  dari  sekian  banyak  variasi 
full-stack yang berkembang. 

Pakar  semacam  ini  membuat  ​proses  software  development  menjadi  lebih  mudah  karena 
mereka  memahami  bagaimana  semua  bekerja  dari  berbagai  tingkatan  dan  dapat 
mengantisipasi masalah dengan solusi yang sesuai. 

Namun,  menemukan  pakar  yang  menguasi  semua  hal  sekaligus  adalah  hal  sulit  dan 
berisiko. Seperti yang pepatah katakan: ​“Jack of all trades, master of none.” 

Hal  itu  berbahaya  dari  sudut  pandang  bisnis,  lakukan  dengan  sembrono  dan  Anda  akan 
menemukan diri Anda di situasi yang sulit. 

F. Quality Assurance Tester 

QA  atau  tester  website  adalah  anggota  ​tim  website  development  yang  juga 
memiliki  peran  penting.  Dia  melindungi  produk  Anda  dari  invasi  bug  dan  mengawasi 
antarmukanya. 

Proses  testing  dimulai  dengan  analisis  requirement.  Berdasarkan  requirements 


tersebut,  para  ​QA  menyusun  rencana  testing.  Setelah  proyek  tersebut  dimulai,  web 

26 
 

developer  mengirim  setiap  versi  produk  ke  ​QA​.  Pada  gilirannya,  mereka  memeriksa 
apakah itu sesuai dengan persyaratan teknis dan tuntutan khusus dari klien (jika ada). 

Ketika  bug  ditemukan,  ​QA  menyusun  laporan  bug,  dan  mengirimnya  kembali  ke 
developer  yang  mengurus  bug  tersebut.  Kemudian  melakukan  pemeriksaan  balik  yang 
dimaksudkan  untuk  memastikan  masalah  benar-benar  terpecahkan.  Kemudian,  ​QA 
membaharui  dokumen  Project  Checklist mendokumentasikan perubahan yang terjadi (jika 
ada).  ​QA  bekerja  untuk  proyek  hingga  peluncuran  dan  terkadang  jauh  setelah 
pasca-peluncuran. 

Perlu  disebutkan  bahwa  ​QA  juga  menangani  antarmuka  (interface).  Mereka 


memeriksa  ukuran,  font,  warna  dan  elemen  lain  untuk  memenuhi  requirement.  ​QA  juga 
dapat  melaporkan  desainer  jika  mereka  menemukan  masalah  pada  fungsi  dan 
menyarankan mereka sebuah solusi. 

Setelah  Proses  Planning  tahap  pertama  selesai  maka  dilakukan  tahap wawancara 


sebagai  tahapan  selanjutnya.  Dimana wawancara berfungsi untuk mendapatkan informasi 
yang lebih detail dari narasumber atau user sebagai validasi data. 

TEKNIK PENGUMPULAN DATA

27 
 

A. WAWANCARA

● Wawancara  telah  diakui  sebagai  teknik  pengumpulan  data  atau  informasi  yang 
penting dan banyak dilakukan dalam pengembangan sistem informasi. 
● Wawancara  adalah  suatu  percakapan  langsung  dengan  tujuan-tujuan  tertentu  dengan 
menggunakan format tanya jawab yang terencana. 
● Wawancara  memungkinkan  analis  sistem  mendengar  tujuan-tujuan,  perasaan, 
pendapat  dan  prosedur-prosedur  informal  dalam  wawancara  dengan  para  pembuat 
keputusan organisasional. 

Analis  sistem  menggunakan  wawancara  untuk  mengembangkan hubungan 


mereka dengan klien, mengobservasi tempat kerja, serta untuk  mengumpulkan 
data-data yang berhubungan dengan kelengkapan  informasi.  Meskipun  e-mail 
dapat  digunakan  untuk  menyiapkan  orang  yang  diwawancarai  dengan  memberi 
pertanyaan-  pertanyaan  yang  berkaitan  dengan  temuan,  namun  akan  lebih  baik  bila 
wawancara dijalankan secara personal bukan elektronis. 

Lima langkah persiapan wawancara:

1. Membaca materi latar belakang 

Bacalah  informasi  latar  belakang  tentang  orang  yang  diwawancarai  dan  organisasinya 
sebanyak mungkin. Materi ini dapat diperoleh dari orang yang bisa Anda hubungi segera 
untuk  menanyakan  tentang  Website  perusahaan.  Laporan  tahunan  terbaru,  laporan 
berkala  perusahaan,  atau  publikasi-publikasi  lainnya  yang  dikirim  keluar  sebagai 
penjelasan tentang organisasi kepada publik. 

2. Menetapkan tujuan wawancara 

Gunakan  informasi  latar  belakang  yang  Anda  kumpulan  serta pengalaman Anda 


untuk  menetapkan  tujuan-tujuan  wawancara.  Setidaknya  ada  empat  sampai  enam  area 
utama  yang  berkaitan  dengan  sikap  pengolahan  informasi  dan  pembuatan  keputusan 
yang  ingin  Anda  tanayakan.  Area  tersebut  meliputi  sumber-sumber  informasi,  format 
informasi,  frekuensi  pebuatan  keputusan,  kualitas  informasi,  dan  gaya  pembuat 
keputusan. 
 
3. Memutuskan siapa yang diwawancarai 
Saat  memutusakan  SIAPA  saja  yang  diwawancarai,  sertakan  pula  orang-  orang 
terpenting dari semua tingkatan yang untuk hal-hal tertentu bisa dipengaruhi sistem.  

4. Menyiapkan orang yang diwawancarai 

28 
 

Siapkan  orang  yang  akan  diwawancarai  dengan  menelpon  mereka  atau  menulis  pesan 
e-mail sehingga memungkinkan orang-orang yang akan diwawancarai mempunyai waktu 
untuk berpikir. Aturlah waktu untuk 
menelpon dan membuat janji pertemuan. Biasanya, wawancara 
dijalankan selama 45 menit atau paling lama 1 jam.  

5. Menentukan jenis dan struktur pertanyaan 

Tuliskan  pertanyaan-pertanyaan  yang  mencakup  area-area  dasar  dalam  pembuatan 


keputusan  saat  Anda  menegaskan  tujuan-tujuan  wawancara.  Teknik  bertanya  yang 
tepat adalah inti dari wawancara. 

​Ada dua jenis pertanyaan dalam wawancara:

a) Pertanyaan Terbuka (Open – Ended) 

Pertanyaan  terbuka  menggambarkan  pilihan  bagi  orang  yang  diwawancarai  untuk 


merespons. Mereka terbuka dan bebas merespons. 
Respons dapat berupa dua kata atau dua paragraf.  
Beberapa contoh pertanyaan terbuka: 
-  Bagaimana  pendapat  Anda  tentang  kondisi  bisnis  ke  bisnis  e-  commerce  di 
peusahaan Anda ? 
- Apa tujuan terpenting departemen Anda ? 
- Sekali data diajukan lewat website bagaimana data-data tersebut akhirnya diproses ? 
- Gambarkan proses monitoring yang tersedia secara online ? 
- Apa rasa frustasi terbesar yang Anda alami selama masa peralihan menuju e-commerce 
?  
b) Pertanyaan Tertutup (Close – Ended) 
Pertanyaan  tertutup  membatasi  respons  orang  yang  diwawancarai.  Pertanyaan  tertutup 
seperti  dalam  soal-soal  pilihan  ganda  dalam ujian. Anda diberi suatu pertanyaan dengan 
lima jawaban, namun tidak punya 
kesempatan menulis tanggapan Anda sendiri. 
Jenis  pertanyaan  tertutup  khusus  lainnya  ialah  pertanyaan dua pilihan. Jenis pertanyaan 
ini  membatasi  orang  yang  ditanya  karena  hanya  memungkinkan  untuk  memilih  salah 
satu dari dua pilihan, seperti ya atau tidak, benar atau salah, setuju atau tidak setuju. 
  
Beberapa contoh pertanyaan tertutup: 
- Berapa lama dalam seminggu gudang informasi proyek diperbaharui? 
- Rata-rata berapa kali panggilan yang diterima pusat panggilan setiap bulannya ? 

29 
 

-  Dari  sumber-sumber  informasi  berikut  yang  mana  yang  paling bermanfaat menurut 


Anda ? 

● Formulir keluhan konsumen 


● Keluhan lewat e-mail dari konsumen yang mengunjungi website 
● Interaksi tatap muka dengan konsumen 
● Barang yang dikembalikan konsumen 
● Sebutkan dua prioritas utama Anda untuk meningkatkan infrastruktur teknologi. 
● Siapa yang menerima masukan ini ? 
  
Beberapa contoh pertanyaan dua-pilihan: 
○ Adakah Anda menggunakan web untuk menampilkan informasi bagi vendor ? 
● Setuju atau tidak setuju Anda bahwa e-commerce tidak begitu aman? 
● Apakah Anda ingin menerima salinan laporan keuangan Anda setiap bulan ? 

Struktur-struktur pertanyaan: 

a) Struktur Piramid

Dengan menggunakan bentuk ini, penanya mulai menanyakan pertanyaan-pertanyaan


mendetail, biasanya berupa pertanyaan tertutup. Kemudian penanya memperluas topik
dengan mengajukan pertanyaan-pertanyaan terbuka dan membuka respons-respons
yang lebih umum.

Contoh:

❏ Bagaimana masalah yang Anda alami dengan firewall ? 


❏ Apakah  Anda  mempertimbangkan  metode-metode  lain  untuk  meningkatkan 
keamanan data-data perusahaan ? 
❏ Apakah yang Anda pikirkan bisa membuat keamanan di sini lebih efektif ? 
❏ Umumnya,  bagaimana  perasaan  Anda  tantang  keamanan  data  terhadap  pentingya 
akses internet ? 

  

​b) Struktur Corong

Struktur ini memulai wawancara dengan pertanyaan-pertanyaan umum dan terbuka, lalu
membatasi respons dengan mengajukan pertanyaan- pertanyaan yang lebih mendetail
dan tertutup.

Contoh:

30 
 

- Bagaimana reaksi Anda terhadap pencarian berbasis Web yang baru? 

- Departeman mana yang akan mengimplemantasikannya ? 

- Item-item apa yang tersedia untuk pembelian lewat situs ? 

- Adakah item-item tertentu yang ditiadakan di website ?  

c) Struktur Berbentuk Wajik

Struktur ini harus dimulai dengan suatu cara khusus, kemudian menentukan hal-hal
yang umum, dan akhirnya mengarah pada kesimpulan yang sangat spesifik.

Contoh:

❖ Sebutkan  lima  jenis  informasi  yang  dibawa  layanan  penggunaan  website  secara 
gratis seperti yang Anda gunakan. 
❖ Sebutkan  kegiatan-kegiatan  promosional  yang  Anda  buat  fiturnya  di  website  untuk 
layanan ini. 
❖ Sebutkan nilai-nilai penggunaan komputer bagi Anda sebagai seorang Webmaster. 
❖ Sebutkan  dua  item  yang  mengejutkan  berkaitan  dengan  perilaku  pengguna  akhir  situs 
Anda yang Anda temui lewat layanan ini. 
❖ Apakah  “cookies”  merupakan  suatu  cara  yang  lebih  baik  untuk  mengukur 
penggunaan tampilan situs ?  

Kelebihan teknik wawancara:

1. Wawancara memberikan kesempatan kepada pewawancara untuk memotivasi


orang yang diwawancarai untuk menjawab dengan bebasa dan terbuka terhadap
pertanyaa-pertanyaan yang diajukan.

2. Memungkinkan pewawancara untuk mengembangkan pertanyaan- pertanyaan


sesuai dengan situasi yang berkembang.

3. Pewawancara dapat menilai kebenaran jawaban yang diberikan dari gerak-gerik dan
raut wajah orang yang diwawancarai.

4. Pewawancara dapat menanyakan kegiatan-kegiatan khusus yang tidak selalu terjadi.

Kekurangan teknik wawancara:

1. Proses wawancara membutuhkan waktu yang lama, sehingga secara relatif mahal
dibandingkan dengan teknik yang lainnya.
2. Keberhasilan hasil wawancara sangat tergantung dari kepandaian pewawancara
untuk melakukan hubungan antar manusia.

31 
 

3. Wawancara tidak selalu tepat untuk kondisi-kondisi tenpat yang tertentu, misalnya
di lokasi-lokasi yang ribut dan ramai.
4. Wawancara sangat menganggu kerja dari orang yang diwawancarai bila waktu yang
dimilikinya sangat terbatas.

 
JOINT APPLICATION DESIGN (JAD)  

Pendekatan  altrenatif  untuk  mewawancarai  pengguna  satu  demi  satu  disebut  JAD,  yang 
dikembangkan oleh IBM. Latar belakang digunakannya JAD adalah untuk : 

● menyingkat waktu (sekaligus biaya) yang diperlukan dalam wawancara 

● meningkatkan mutu hasil informasi yang diperoleh  

● menciptakan  identifikasi  lebih  banyak  pengguna 


dengan  sistem informasi baru sebagai hasil proses-proses 
yang partisipatif.  

JAD  memerlukan  beberapa  keahlian  khusus  dari  penganalisis  serta  kemampuan  dan 
komitmen  penuh  dari  pihak  organisasi  dan  pengguna  yang  menggunakan  pendekatan  ini. 
Dalam  situasi-situasi  tertentu,  JAD  dapat  menjadi  sangat  efektif  dan  dapat  dianggap sebagai 
alternatif untuk beberapa metode tradisional yang digunakan untuk menganalisis sistem. 
  
Sesi JAD terdiri dari berbagai partisipan: 
- ​Penganalisis 

Sedikitnya  satu  penganalisis  harus  ada,  namun  biasanya  penganalisis  berperan  pasif, 
tidak seperti wawancara tradisonal dimana penganalis 
mengontrol interkasi.  
- ​Pengguna 
Delapan  sampai  dua  belas  pengguna  dapat  dipilih  dari  berbagai  tingkatan  agar 
berpartisipasi  dalam  sesi  JAD.  Cobalah  memilih  pengguna  di  atas  level  bagaian 
administrasi yang dapat menyatakan informasi apa 
yang mereka butuhkan untuk menjalankan pekerjaan mereka serta apa 
yang mereka harapkan dari sistem yang baru. 

- ​Pihak eksekutif 

Pemimpin  sesi  tidak  harus  seorang  ahli  dalam  menganalisis  dan  mendesain  sistem, 
melainkan seseorang yang memiliki kemampuan 
berkomunikasi yang mengagumkan untuk memfasilitasi interaksi secara 
tepat.  Pertimbangkan  seorang  anggota  departemen  pelatihan  yang  bertindak  sebagai 
pemimpin sesi. 
 
- ​Pengamat 

32 
 

Sesi  JAD  harus  pula  mencakup  satu  atau  dua  pengamat  yang  dapat berupa penganalisis 
atau  ahli-ahli  teknik  dari  area  fungsional  lainnya  agar  dapat  memberi  penjelasan  teknis 
dan saran-saran kepada 
kelompok selama sesi berlangsung  

- ​Notulen 

Seorang  notulen  atau  penulis  dari  departemen  SI  dapat  menyertai  sesi-  sesi  JAD  dan 
bertugas menulis segala sesuatu yang dilakukan. Pastikan 
bahwa penulis tersebut menerbitkan rekaman hasil-hasil JAD segera 
sesudah  kelompok  mengadakan  pertemuan.  Pertimbangkan  memilih  penulis  kedua  dari 
departemen pengguna.  

Kondisi-kondisi yang mendukung penggunaan JAD 

Berikut  ini  sejumlah  kondisi  yang  membantu  Anda  memutuskan menggunakan JAD. 


Pertimbangkan untuk menggunakan JAD bila : 
1.  Kelompok  pengguna  gelisah  dan  menginginkan  sesuatu  yang  baru,  bukan  solusi 
standar untuk suatu masalah khusus. 
2.  Budaya  organisasi  mendukung  perilaku  penyelesaian  masalah  bersama  antar pegawai 
dari level yang berbeda-beda. 
3.  Penganalisis  memprediksi  bahwa  jumlah  ide-ide  yang  dapat  dihasilkan  melalui 
wawancara empat-mata tidak sebanyak ide yang dihasilkan dari 
perluasan pengamatan kelompok. 
4.  Workflow organisasi memungkinkan ketiadaan personil kunci selama waktu dua sampai 
empat hari. 

  

  

  

Kelebihan penggunaan JAD untuk menjalankan wawancara tradisional: 

1. Menghemat waktu wawancara tradisional empat-mata. 

33 
 

2.  Memungkinkan  perkembangan  yang  cepat.  Pada  wawancara  pengguna  tidak  dapat 
dijalankan  secara  bertahap  selama  beberapa minggu atau bulan, perkembangan bisa berlanjut 
jauh lebih cepat.  

3.  Kemungkinan  pengembangan  kepemilikan  sistem  informasi.  Sebagai  penganalisis,  kita 


selalu  berusaha  melibatkan  pengguna  dan  mendorong  pengguna  mengambil  lebih  dulu 
kepemilikan sistem yang kita rancang. 
 
4. Pengembangan desain yang kreatif. 

​Kekurangan JAD: 

1. JAD membutuhkan komitmen waktu sepenuhnya dari 18 sampai 20 partisipan. 


2. Jika  persiapan  setiap sesi JAD tidak cukup memadai, atau bila laporan tindak  lanjut  serta 
dokumentasi  untuk  spesifikasi-spesifikasi  tertentu  tidak  lengkap.  Sehingga  hal-hal  yang 
berhubungan dengan desain menjadi kurang begitu memuaskan. 
3. Keahlian-keahlian  organisasi  dan  budaya  organisasi  yang  diperlukan  tidak  cukup 
dapat  dikembangkan  sehingga  memungkinkan  upaya-upaya  bersama  yang  lebih 
produktif dalam menyusun JAD. 

​B. OBSERVASI 

Observasi  adalah  pengamatan  langsung  suatu  kegiatan  yang  sedang dilakukan. Melalui 


observasi  penganalisis  dapat  memperoleh  pandangan-  pandangan  mengenai  apa  yang 
sebenarnya  dilakukan,  melihat  langsung  keterkaitan diantara para pembuat keputusan di dalam 
organisasi,  memahami  pengaruh  latar  belakang  fisik  terhadap  para  pembuatkeputusan, 
menafsirkan  pesan-pesan  yang  dikirim  oleh  pembuat keputusan lewat tata letak kantor, serta 
memahami pengaruh para pembuat keputusan terhadap pembuat keputusan lainnya. 
  
Untuk  mengamati  perilaku  para  pembuat  keputusan, penganalisis sistem juga harus mengamati 
lingkungan  di  sekitar  mereka.  Beberapa  unsur  konkret  di  lingkungan  pembuat  keputusan  bisa 
diamati dan diterjemahkan. Unsur-unsur ini meliputi : 
1. Lokasi kantor 
2. Penempatan meja pembuat keputusan 
3. Alat tulis kantor  
4. Properti seperti komputer dan kalkulator 
5. Jurnal dagang dan koran 
6. Pencahayaan dan warna 
7. Cara berpakaian oleh pembuat keputusan  

Kelebihan teknik observasi: 

1. Data  yang  dikumpulkan  melalui  observasi  cenderung  mempunyai  keandalan  yang 


tinggi. 

34 
 

2. Penganalisis  melalui  observasi  dapat  melihat  langsung  apa  yang  sedang  dikerjakan. 
Pekerjaan-pekerjaan yang rumit kadang-kadang sulit untuk dijelaskan  dengan 
kata-kata.  Melalui  observasi,  penganalisis  dapat mengidentifikasikan  kegiatan-kegiatan 
yang tidak tepat yang telah digambarkan oleh teknik pengumpulan data yang lain. 
3. Dengan  observasi,  penganalisis  dapat  menggambarkan  lingkungan  fisik  dari 
kegiatan-kegiatan, misalnya tata letak fisik perlatan, penerangan, gangguan suara, dsb. 

Kekurangan teknik observasi: 

1. Umumnya  orang  yang  diamati  merasa  terganggu  atau  tidak  nyaman,  sehingga  akan 
melakukan pekerjaanya dengan tidak semestinya. 
2. Pekerjaan  yang  sedang  diobservasi  mungkin  tidak  dapat  mewakili  suatu  tingkat 
kesulitas pekerjaan tertentu atau kegiatan-kegiatan khusus yang tidak selalu dilakukan. 
3. Observasi dapat mengganggu pekerjaan yang sedang dilakukan. 
4. Orang  yang  diamati  cenderung  melakukan  pekerjaannya  dengan lebih baik dari biasanya 
dan sering menutupi kejelekannya. 

​C. DAFTAR PERTANYAAN (KUESIONER) 

Suatu  daftar  yang  berisi  dengan  pertanyaan-pertanyaan  untuk  tujuan  khusus  yang 
memungkinkan  penganalisis  untuk  mengumpulkan  data  mengenai  sikap,  keyakinan,  perilaku 
dan  karakteristik  dari  orang-orang  utama  di  dalam  organisasi  serta  pendapat  dari  responden 
yang dipilih. 
Kuesioner  sangat  bermanfaat  jika  orang-orang  di  dalam  organisasi terpisah  saling 
berjauhan,  yakni  orang-orang  yang  terlibat  proyek  sistem,  sehingga  tinjauan  secara 
keseluruhan diperlukan sebelum merekomendasikan alternatif lainnya 

​Kelebihan teknik kuesioner: 

1. Kuesioner baik untuk sumber data yang banyak dan tersebar. 


2. Responden  tidak  merasa  terganggu,  karena  dapat  mengisi  kuesioner  dengan  memilih 
waktunya sendiri yang paling luang. 
3. Kuesioner secara relatip lebih efisien untuk sumber data yang banyak. 
4. Karena  kuesioner  biasanya  tidak  mencantumkan  identitas  responden,  maka  hasilnya 
dapat lebih objektif. 
Kekurangan teknik kuesioner: 
1. Kuesioner  tidak  menggaransi  responden  untuk  menjawab  pertanyaan  dengan  sepenuh 
hati. 

35 
 

2. Kuesioner  cenderung  tidak  fleksibel,  artinya  pertanyaan  yang  harus  dijawab  terbatas 
yang  dicantumkan  di  kuesioner  saja,  tidak  dapat  dikembangkan  lagi  sesuai  dengan 
situasinya. 
3. Pengumpulan  sampel  tidak  dapat  dilakukan  secara  bersama-sama  dengan  daftar 
pertanyaan,  lain halnya dengan obeservasi yang dapat sekaligus mengumpulkan sampel 
Kuesioner yang lengkap sulit untuk dibuat. 

​Tipe Kuesioner 

Ada  dua  jenis  format  kuesioner,  yaitu  ​Format  Bebas  ​(​Free  Format​)  dan  ​Format  Pasti  ​(​Fixed 
Format​).  Dalam  suatu  kuesioner  dapat  hanya  berbentuk  format  bebas  saja  atau  format  pasti 
saja atau gabungan dari keduanya. 

Kuesioner Format Bebas 


Kuesioner  format  bebas  berisi  dengan  pertanyaan-pertanyaan  yang  harus  diisi  oleh 
responden di temapat yang sudah disediakan. 
Contoh: 
● Sebutkan  metode-metode  yang  Anda  rasa  tepat  untuk  memperbaiki 
masukan-masukan yang mengandung kesalahan. 
​Kuesioner Format Pasti 

● Kuesioner tipe ini mempunyai beberapa bentuk pertanyaan. 

​a) Check-off Questions 

Jenis  dari  pertanyaan-pertanyaan  ini  dibuat  sehingga  responden  dapat  memeriksa  (check-off) 
jawaban-jawaban yang sesuai. 
Mana yang menjadi pemasok dari perangkat keras Anda ? 

● Compaq 
● Univac 
● IBM 
● Macintosh 

​b) Yes/NO Questions 

Jenis  dari  pertanyaan-pertanyaan  ini  memungkinkan  responden  untuk  menjawab  “Ya”  atau 
“Tidak”. 

​c) Opinion/choice Questions 

36 
 

Jenis  dari  pertanyaan-pertanyaan  ini  memungkinkan  responden  untuk  memberikan 


pendapatnya. 
Bagaimana pendapat Anda tentang komputerisasi yang akan dilakukan ini ? 

1 = Sangat setuju  4 = Tidak setuju 

2 = Setuju 5 = Sangat tidak setuju 

3 = Kurang Setuju 

​D. PENGAMBILAN SAMPLE 

Pengambilan sampel (​sampling​) adalah pemilihan sejumlah item tertentu  dari 


seluruh  item  yang  ada  dengan  tujuan  mempelajari  sebagian  item  tersebut  untuk  mewakili 
seluruh itemnya. 
Sebagian  item  yang  dipilih  disebut  sampel-sampel  (​samples​).  Sedang  seluruh  item  yang  ada 
disebut populasi (​population​).  
Cara pengambilan sampel: 

1. Pengambilan  sampel  secara  keputusan  (​judgemental  sampling​)  Adalah  penentuan 


sampel  dan  pemilihan  masing-masing  item  sampelnya  diambil  dengan  dasar 
keputusan yang masuk akal menurut si pengambil sampel.  
Di  judgemental  sampling,  pengetahuan atau opini dan pengalaman si pengambil sampel 
digunakan untuk menentukan item-item sampel yang akan dipilih dari populasi.  
2. Pengambilan  sampel  secara  statistik  (​statistical  sampling​)  Pengambilan  sampel 
didasarkan  secara  random,  sehingga  semua  item-  item  di  populasi  mempunyai 
kesempatan yang sama untuk terpilih sebagai sampel. 
3. Karena  di  pengambilan  sampel  secara  statistik,  item-item  sampel  dipilih  secara random, 
maka  disebut  juga  pengambilan  sampel  secara  random  (​random  sampling​)  dan  karena 
semua  item-item  di  populasi  mempunyai  kesempatan  (probabilitas)  yang  sama  untuk 
terpilih  menjadi  item  sampel,  ma​ka disebut juga dengan pengambilan sampel secara
probabilitas (​probability sampling​).

2. Analysis 
Analisis Sistem 

37 
 

  

Analisis  sistem  dapat  didefinisikan  sebagai  penguraian  dari  suatu  sistem  informasi 

yang  utuh  kedalam  bagian-bagian  komponennya  dengan  maksud  untuk 

mengidentifikasikan  dan  mengevaluasi  permasalahan-  permasalahan, 

kesempatan-kesempatan,  hambatan-hambatan  yang  terjadi  dan 

kebutuhan-kebutuhan  yang  diharapkan  sehingga  dapat  sesuai  dengan  yang 

diharapkan. 

  

  

  

4.1.1. Analisis dan Kebutuhan Non-Fungsional 

  

Analisis  kebutuhan  non  fungsional  menggambarkan  kebutuhan  sistem 

yang  menitikberatkan  pada  properti  prilaku  yang  dimiliki  oleh  sistem, 

diantaranya  kebutuhan  perangkat  lunak,  perangkat  keras, serta pengguna 

system  (​user​)  sebagai  bahan  analisis  kekurangan  dan  kebutuhan  yang  harus 

dipenuhi dalam perancangan sistem yang akan diterapkan. 

4.1.1.1. Analisis Kebutuhan Perangkat Lunak 


Analisis  perangkat  lunak  terdiri  dari  spesifikasi minimum 

perangkat lunak yang dipakai dalam membangun 

  

  

  

  

38 
 

  

  

  

39 

  

  

  

  

  

  

dan  mengimplementasikan  aplikasi  pencarian  informasi  obat  ini, 

yaitu : 

1. Sistem Operasi Windows XP SP2 


  

2. Aplikasi IDE Eclipse 

  

3. JDK versi 8.0 dan Android SDK Windows 

  

4. ADT versi 15.0.1 

  

5. Platform Android versi 2.2 keatas. 

  

6. Notepad++ 

  

39 
 

7. Xampp.win32.1.6.7 

  

4.1.1.2. Analisis Kebutuhan Perangkat Keras 


  

Berikut  ini  adalah  spesifikasi perangkat  keras minimum  yang 

mendukung apliaksi pencarian informasi obat dengan baik, yaitu : 

1.  Perangkat  Keras  Aplikasi  ​Backend  ​Processor  : 

Kapasitas Minimum 2.0 GHZ Memori    : 

Minimum 512 MB 

VGA    :  Kecepatan  Minimum  32  MB 

Hardisk  : Minimum Kapasitas 20 GB 

2.  Perangkat  keras  Aplikasi  ​Frontend 

Resolusi  :  240  x  320  pixels  Memori 

: 100 MB 

CPU  : 300 MHZ 

  

  

  

  

  

  

4.1.1.3. Analisis Pengguna Sistem (​User)​  


  

40 
 

Analisis  pengguna  sistem  dimaksudkan  untuk  mengetahui 

siapa  saja  aktor  yang  terlibat  dalam menjalankan sistem. Aplikasi 

pencarian  informasi  obat  ini  menggunakan  ​platform  ​teknologi 

bergerak (​mobile) ​dan web. Pengguna sistem ini yaitu : 

1.  Pengguna  aplikasi  pencarian  informasi  obat  atau  ​enuser 

yaitu para pengguna ​platform ​android. Dalam menggunakan 

sistem  ini,  pengguna  harus  memiliki koneksi internet karena 

sistem ini bersifat ​online.​  

2.  Admin  merupakan  aktor  yang  berperan  dalam 

memanipulasi / mengelola data pada sisi server. 

  

  

  

4.1.2. Analisis dan Kebutuhan Fungsional 

  

Analisis  kebutuhan  fungsional  menggambarkan  proses  kegiatan 

yang  akan  deterapkan  dalam  sebuah  sistem  dan  menjelaskan  kebutuhan 

yang  diperlukan  sistem  agar  sistem  dapat  berjalan  dengan  baik  serta  sesuai 

dengan  kebutuhan.  Analisis  kebutuhan  fungsional  ini  meliputi  analisis 

kebutuhan  data  dan  pemodelan  sistem.  Pemodelan  sistem  dimodelkan 

dengan menggunakan UML (​Unified Modeling Language). 

  

41 
 

  

  

  

  

  

4.1.2.1. Analisis Kebutuhan Sistem 


  

Sebelum  melakukan  perancangan  sistem,  terlebih  dahulu 

dilakukan  analisis  kebutuhan  system  yaitu  dengan  cara  melakukan 

wawancara  terhadap  responden.  Hal  ini  dimaksudkan  agar  dapat 

mengatasi  ketidaksesuaian  antara  aplikasi  yang  dirancang  dengan 

kebutuhan  pengguna.  Adapun  kebutuhan  system  yang  diperlukan 

antara lain : 

1. Menampilkan informasi mengenai kategori sakit. 


  

2.  Menampilakan  informasi  obat  yang  sesuai  dengan 

kategori sakit. 

3. Menampilkan detail informasi obat secara lengkap. 


  

4.  Menampilkan  informasi  mengenai  alamat  apotek  24 jam, 

alamat rumah sakit dan alamat dokter/klinik. 

4.1.2.2. Analisis Kebutuhan Data 


  

Setelah  melakukan  proses  analisis  kebutuhan  sistem,  maka 

analisis  selanjutnya  adalah  analisis  kebutuhan  data.  Analisis  ini 

42 
 

bertujuan  untuk  memudahkan  dalam  perancangan  informasi. 

Adapun analisis kebutuhan data yang diperlukan antara lain : 

1. Data Obat 
  

Kriteria  data  obat  yang  akan  ditampikan meliputi kategori 

obat, nama obat, golongan obat, kandungan, 

  

  

  

  

  

  

dosis, indikasi, kontra indikasi, efek samping, perhatian. 

2. Data Alamat Apotek 24 jam 


  

Kriteria  data  Apotek  yang  akan  ditampilkan  meliputi  nama 

apotek, alamat apotek dan nomor telepon. 

3. Data Alamat Rumah Sakit 


  

Kriteria  data  Rumah  Sakit  yang  akan  ditampilkan  meliputi  nama 

rumah sakit, alamat rumah sakit dan nomor telepon. 

4. Data Alamat Dokter/Klinik 


  

43 
 

Kriteria  data  Dokter/Klinik  yang  akan  ditampilkan  meliputi  nama 

dokter/klinik, alamat dokter/klinik dan nomor telepon. 

  

  

  

4.1.2.3. Gambaran Umum Sistem 

  

Aplikasi  Pencarian  Informasi  Obat-obatan  pada  Sistem 

Operasi  Android  ini  dibangun  untuk  memudahkan  para  pengguna 

dalam mencari informasi obat secara cepat dan tepat. 

Arsitektur  fisik  sistem  terdiri dari tiga bagian utama yaitu ​client, 

application  server,  ​dan  ​database  server.  ​Prinsip  kerja  sistem secara 

keseluruhan dapt dilihat pada gambar berikut ini : 

  

  

  

  

  

  

  

Gambar 4.1 Arsitektur Aplikasi Pencarian Informasi Obat 

44 
 

3. Design 
Suatu  rancangan  secara  cepat  berfokus  pada  semua  representasi  semua  aspek 
perangkat  lunak  yang  akan  terlihat  oleh  para  pengguna  akhir  misalnya  perancangan 
antarmuka  pengguna  atau  format  tampilan.  Pemodelan  (​modeling​)  adalah  proses 
merancang piranti perangat lunak sebelum melakukan pengkodean (Pressman 2012). 
 

 
Traditional versus Object-Oriented Approaches (Satzinger 2010) 
 
Unified  Modelling  Language  (UML)  ​termasuk  diagram  komunikasi  yang  dapat 
digunakan  untuk  model  interaksi  (Sommerville  2011).  Pada  tahap  design  akan  dilakukan 
beberapa  perancangan  diagram  dan  database  yang  sesuai  dengan  pendekatan  yang 
digunakan  seperti  pendekatan  prosedural  atau  ​object  oriented​.  Pada  pendekatan 
prosedural diagram yang harus dibuat antara lain :  
1) Contex Diagram 
2) DFD Fragment 
3) Data Flow Definition 
4) Proses Description 
5) Other Traditional Models 
6) ERD (Entity Relationship Diagram) 
Namun  diagram yang biasa digunakan oleh perusahaan/industri dalam pembuatan 
sistem  informasi  dengan  pendekatan prosedural antara lain Data Flow Diagram (DFD) dan 
Entity Relationship Diagram (ERD).  

45 
 

1. Data Flow Diagram (DFD) 


Data  Flow  Diagram  (DFD)   merupakan  ​gambaran grafis yang memperlihatkan 
aliran  data  dari  sumbernya  dalam  obyek  kemudian  melewati  suatu  proses  yang 
mentransformasikan ke tujuan yang lain, yang ada pada objek lain (Wijaya 2007). 
Data  Flow  Diagram  (DFD)    merupakan  suatu  model  logika  data  atau  proses 
yang  dibuat  untuk  menggambarkan  dari  mana  asal  data  dan  kemana  tujuan  data 
yang  keluaran  dari  sistem,  dimana  data  di  simpan,  proses  apa  yang  menghasilkan 
data  tersebut,  dan  interaksi  antara  data  yang  tersimpan  dan  proses  yang  dikenakan 
pada data tersebut (Kristanto 2003). 
Data  Flow  Diagram  (DFD)  ​atau  dalam  bahasa  Indonesia  menjadi Diagram Alir 
Data  (DAD)  adalah  representasi  grafik  yang  menggambarkan  aliran  informasi  dan 
transformasi  informasi  yang  diaplikasikan  sebagai  data  yang  mengalir  dari 
masukn/input dan keluaran/output. (Rosa A.S dan Shalahuddin 2014:70). 
Dalam DFD terdapat 3 level, yaitu : 

Diagram Konteks  :  menggambarkan  satu  lingkaran  besar  yang  dapat 


mewakili  seluruh  proses  yang  terdapat  di  dalam  suatu 
sistem.  Merupakan  tingkatan  tertinggi  dalam  DFD  dan 
biasanya  diberi  nomor  0  (nol).  Semua  entitas  eksternal 
yang  ditunjukkan  pada  diagram  konteks  berikut 
aliran-aliran  data  utama  menuju  dan  dari  sistem. 
Diagram  ini  sama  sekali  tidak  memuat  penyimpanan 
data dan tampak sederhana untuk diciptakan. 

Diagram  Nol  (diagram  :  merupakan  satu  lingkaran  besar  yang  mewakili 


level-1)  lingkaran-lingkaran  kecil  yang  ada  di  dalamnya. 
Merupakan  pemecahan  dari  diagram  Konteks  ke 
diagram  Nol.  di  dalam  diagram  ini  memuat 
penyimpanan data. 

Diagram Rinci   :  merupakan  diagram  yang  menguraikan  proses  apa 


yang ada dalam diagram Nol. 

 
Simbol - simbol yang ada di Data Flow Diagram antara lain : 

46 
 

 
 
2. Entity Relationship Diagram (ERD) 
Menurut  Rosa  A.S  dan  Shalahuddin  (2014:50),  bahwa  pemodelan  basis  data 
yang  paling  banyak  digunakan  adalah  menggunakan  ​Entity  Realtionship  Diagram 
(ERD)​. ERD digunakan untuk pemodelan basis data relasional. 

47 
 

 
 
Adapun  diagram  yang  digunakan  dalam  pembuatan/perancangan  sistem 
informasi dengan pendekatan object oriented antara lain : 
1) Usecase Diagram 
Use  case  Diagram ​adalah model UML yang digunakan untuk menampilkan 
hubungan  antara  pengguna  dan  aktivitas.  ​Use  case  j​ uga berguna untuk membuat 
diagram  yang  lebih  grafis (Satzinger ​et al ​2012). Adapun fungsi yang ada pada ​use 
case diagram d​ apat dilihat pada gambar sebagai berikut : 
 

48 
 

 
 
Adapun contoh kasus-kasus dalam pembuatan ​use case diagram ​antara lain : 
Kasus Penggunaan sederhana dengan aktor : 

 
 
 
 
 
Use Case Diagram with Automation Boundary and Alternate Actor Notation : 

49 
 

 
Semua Kasus Penggunaan yang Melibatkan Pelanggan sebagai Aktor : 

 
Menurut Rosa dan Salahuddin :  
● Extend  ​adalah  Relasi  ​use  case  tambahan  ke  sebuah  ​use  case  dimana 
use  case  yang  ditambahkan  dapat  berdiri  sendiri  walau  tanpa  ​use  case 
tambahan itu. 
Kalau  Extend,  misalkan  customer  mau  lihat  barang,  maka  ketika 
customer  mau  melihat  barang  tidak  perlu  melewati  proses  login  dan 
pesan barang. 
● Include  ​adalah  Relasi  ​use  case  tambahan  ke  sebuah  ​use  case  dimana 
use  case  yang  ditambahkan  memerlukan  ​use case ini untuk menjalankan 
fungsinya. 
Kalau  Include,  misalkan  admin  mau  isi  data  barang,  maka  ketika  admin 
mau  isi  data  barang  harus  melewati  proses  login  terlebih  dahulu  misal 
dengan mengisi username dan password. 
 

50 
 

2) Usecase Deskripsi 
● Use  case  deskripsi  menyediakan  detail  prasyarat,  postconditions,  urutan 
kegiatan, dan kondisi pengecualian dalam use case 
● Menjelaskan  aktor  yang  berinteraksi  dengan  sistem  komputer  langkah demi 
langkah untuk melakukan aktivitas bisnis 
● Memiliki  beberapa  skenario  untuk  kasus  penggunaan,  masing-masing 
contoh kasus penggunaan tertentu 
● Three levels of detail : brief, intermediate, and fully developed description 
● Banyak  analis  lebih  suka  menulis  deskripsi  naratif  kasus  penggunaan 
daripada menggambar diagram aktivitas 
 
Komponen - komponen yang ada di use case deskripsi : 
➔ nama use case / nama skenario 
➔ Aktor / pemangku kepentingan 
➔ Kasus penggunaan terkait 
➔ Prasyarat - set kriteria yang harus benar sebelum memulai use case 
➔ Postconditions  -  set  kriteria  yang  harus  benar  setelah  menyelesaikan  use 
case 
➔ Alur kegiatan (langkah dalam satu atau dua kolom) 
➔ Kondisi pengecualian 
 
Adapun contoh use case deskripsi sebagai berikut : 

 
3) System Sequence Diagram 
Sequence  Diagram  merupakan  Intraction  Diagram  yang  digunakan  untuk 
menjelaskan  eksekusi  sebuah  skenario  semantik.  Sequence  Diagram  juga 

51 
 

digunakan  untuk  menjelelaskan  interaksi  antar  objek  dalam  urutan  waktu  (Booch, 
Maksimchuk, Engle, Young, Conallen, & Houston, 2007). 

Berikut komponen – komponen yang ada pada sequence diagram : 


● Object  –  adalah  komponen  berbentuk  kotak  yang  mewakili  sebuah  class 
atau  object.  Mereka  mendemonstrasikan  bagaimana  sebuah  object 
berperilaku pada sebuah system. 
● Activation  boxes  –  adalah  komponen  yang  berbentuk  persegi panjang yang 
menggambarkan waktu yang diperlukan sebuah object untuk menyelesaikan 
tugas.  Lebih  lama  waktu  yang  diperlukan,  maka  activation  boxes  akan  lebih 
panjang. 
● Actors  –  adalah  komponen  yang  berbentuk  stick  figure.  Komponen  yang 
mewakili seorang pengguna yang berinteraksi dengan system. 
● Lifeline  –  adalah  komponen  yang  berbentuk  garis  putus  –  putus.  Lifeline 
biasanya  memuat  kotak  yang  berisi  nama  dari  sebuah  object.  Berfungsi 
menggambarkan aktifitas dari object. 

Contoh sequence diagram : 

 
Pada  contoh  Sequence  Diagram  diatas,  bisa  dilihat  bahwa  yang  menjadi  Actors 
adalah  Administrator.  Activation  boxes  biasanya  memilik  garis  yang  memberitahu 
aktifitas yang terjadi ketika actors atau objects berinteraksi ke object lain. 
 
 

52 
 

 
Pada  contoh  sequence  diagram  diatas  ‘Reservation  window’  mengirim  pesan 
makeReservation()  ke  ‘HotelChain’.  Kemudian  ‘HotelChain’  mengirim  pesan  yang 
sama  ke  ‘Hotel’.  Bila  ‘Hotel’  punya  kamar  kosong,  maka  dibuat  ‘Reservation’  dan 
‘Confirmation’.  Lifeline  adalah  garis  dot  (putus-putus)  vertikal  pada  gambar, 
menerangkan  waktu  terjadinya  suatu  obyek.  Setiap  panah  yang  ada  adalah 
pemanggilan  suatu  pesan.  Panah  berasal  dari  pengirim  ke  bagian  paling atas dari 
batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. 

Activation  bar  menerangkan lamanya suatu pesan diproses. Pada gambar diagram 


,  terlihat  bahwa  ‘Hotel’  telah  melakukan  pemanggilan  diri  sendiri  untuk 
pemeriksaan  jika  ada  kamar  kosong.  Bila  benar,  maka  ‘Hotel’membuat 
‘Reservation’  dan  ‘Confirmation’.  Pemanggilan  diri  sendiri  disebut  dengan  iterasi. 
Expression  yeng  dikurung  dengan  “[  ]”,  adalah  condition  (keadaan  kondisi).  Pada 
diagram  dapat  dibuat  note (catatan). Pada gambar, terlihat seperti selembar kertas 
yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML. 

4) Activity Diagram 
Activity  diagram  berupa  ​flow  chart  ​yang  digunakan  untuk  memperlihatkan 
aliran  kerja  dari  sistem.  Acivity  diagram  menggambarkan  berbagai  alir  aktivitas 
dalam  sebuah  sistem  yang sedang dirancang, bagaimana masing-masing berawal, 
decision  yang  mungkin  terjadi  dan  bagaimana  mereka  berakhir.  Adapun 
simbol-simbol yang ada pada activity diagram antara lain :  

53 
 

 
Adapun contoh activity diagram dalam kasus sistem informasi absensi : 
a. Activity Diagram login pada sistem informasi absensi 

 
b. Activity Diagram tambah data user pada sistem informasi absensi 

54 
 

 
c. Activity Diagram ubah data user pada sistem informasi absensi 

 
d. Activity Diagram hapus data user pada sistem informasi absensi 

55 
 

 
5) State Machine Diagram 
State  Machine  Diagram  adalah  teknik  yang  umum  digunakan  untuk 
menggambarkan  behaviour  sebuah  sistem.  Hal  ini  digunakan  untuk  membantu 
analis, perancang dan pengembang untuk memahami perilaku obyek pada sistem. 
A. Simbol
Simbol UML untuk state chart diagram adalah segiempat yang tiap
pojoknya dibuat rounded. Titik awalnya menggunakan lingkaran solid
yang diarsir dan diakhiri dengan mata. UML juga memberi pilihan untuk
menambahkan detil ke dalam simbol tersebut dengan membagi 3 area
yaitu ​nama state, variabel danaktivitas​. State variabel seperti ​timer dan
counter​ yang kadangkala sangat membantu.
Activity terdiri atas events dan action, tiga hal yang sering 
digunakan dalam activity adalah: 
1) Entry = Apa yang terjadi ketika sistem masuk ke state 
2) Exit  = Apa yang terjadi ketika sistem meninggalkan state 
3) Do = Apa yang terjadi ketika sistem ada di state
B. State, Event, Transition 
Statechart  diagram  menampilkan  state-state  yang  mungkin  dari 
sebuah  obyek,  event  yang  bisa  dideteksi  dan  respon  atas  eventevent 
tersebut.  Secara  umum,  pendeteksian  sebuah  event  dapat  menyebabkan 
sebuah  obyek  bergerak  dari  satu  state  ke  state  yang  lain  yang  disebut 
dengan transition. Contoh : 

56 
 

 
Label  pada  transisi  memiliki  dua  bagian  yang  dipisahkan  dengan  garis 
miring.  Yang  pertama  adalah  nama  dari  peristiwa  yang  memicu  transisi. 
Yang  kedua  adalah  nama  dari  suatu  tindakan  yang  akan dilakukan setelah 
transisi telah dipicu. Properties dari Gambar Diagram sebuah PINTU PUTAR 
di atas adalah sebagai berikut: 
● Jika  pintu  putar  dalam  keadaan  terkunci,  dan  Coin  dimasukkan, 
maka  transisi  pintu  putar  ke  Unlocked  state,  dan  tindakan  Aktifkan 
dilakukan. 
● Jika  pintu  putar  dalam  keadaan  unlocked,  setelah  berhasi  dibuka, 
maka transisi pintu putar ke Lock state, dan tindakan Lock dilakukan. 
Sebuah state machine diagram mempunyai : 
● State  (kejadian  sesaat)  are  represented  by  the  values  of  attributes  of 
an object 
● State digambarkan dengan bentuk Data Kosong 
➔ “Black Hole” states is state has transition into it but none out 
➔ Miracle states is state has transition out of it but none   
➔ Initial  state  /  creation  state  dengantanda  untuk  memulai  sebuah 
state  diagram  (  in  western  culture  people  read  from  left  to  right, 
top to bottom, starting in the top – left corner 
➔ Composite States 
◆ Kumpulan  dari  beberapa  state  yang  yang  setidaknya  dalam 
sebuah region 
◆ Orthogonal  State,  jenis  composite  state  yanglebih  dari  satu 
region 
➔ Submachine State 
Ø  Sejenis  composite  state  yang  isinya  didefinisikan  oleh  state 
machine lain. 
Ø  State  machine  yang  berisi  submachine  state  disebut 
“containing state machine. 
Ø Sebuah state yang dihubungkan dengan machine lainnya. 
Ø  Dihubungkan  ke  satu  /  lebih  entry  point  dan  satu  /  lebih  exit 
point 

Digunakan untuk mendukung konsep encapsulation 


a. Sebuah  state  tidak  boleh  mempunyai  region  dan  submachine 
secara bersamaan 

57 
 

b. Nama state mempunyai sintaks 


c. Nama submachine state : referenced state machine 
 
➔ Sub states 
◆ Sebuah state yang ada dalam sebuah region 

◆ Direct substate, sub state yang tidak berisi state lain 


◆ Indirect substate, sub state yang berisi state lain 
 
➔ Region ( kelompok state ) 
◆ Dipisahkan  dengan  garis  terputus,  yang  setiap  region  boleh 
mempunyai nama yang optional 
◆ Sebuah  state  tidak  boleh  mempunyai  region  dan  sub 
machine secarah bersamaan 
 
➔ Transition 
◆ Digambarkan dengan tanda anak panah 
◆ Progressions  from  one states to another, will be triggered by 
an event 
◆ Transition  adalah  hasil  dari  methode  yang  menyebabkan 
perubahan  state,  walaupun  tidak  semua  methode 
menyebabkan perubahan state 
Label on transition is in the format event [guard][/methode list()] 
a. Event bisa dituliskan dengan past tense 
b. Event  menyebabkan  sebuah  object  berpindah  dari  satu 
state ke state lain 
c. Guard,  condition  that  nust  be  true  for  the  transition  to  be 
tiggered 
d. Guard harus konsisten dan tidak overlap 
e. Guard harus lengkap logikanya 
f. Mehode  dijalankan.  Ketika  object  memasuki  state 
diindikasikan  dengan  methode  bernama  entry()  dan  ketika 
object  keluar  state  diindikasikan  dengan methode bernama 
exit() 

58 
 

g. Methode  menyebabkan  perubahan  disebuah  state,  bisa 


juga tidak 
h. Join,  menggabungkan  beberapa  transition  menjadi  sebuah 
transition 
i. Fork,  memecah  sebuah  transition  menjadi  beberapa 
transition  yang  berkondisi  AND  (transition  harus  dilewati 
semuanya). 
➔ Junction 
Menggabungkan  sebuah  /  beberapa  trasition  dan 
memecahnya  menjadi  sebuah  /  beberapa  trasition  yang berkondisi 
AND ( transition harus dilewati semuanya ). 
Dimungkinkan  transition  ke  sebuah  state  yang  berisi  beberapa 
state yang disebut state list 
➔ Choice,  mengkondisikan  sebuah  transition  menjadi  sebuah  / 
beberapa  transition,  yang  hanya  dipilih  salah  satu  transition  ( 
choice ). 
○ Digunakan lambang diamond 
○ Operand  dapat  diletakkan  di  dalam  diamond  atau  pada 
transition 
➔ Entry  point  dilambangkan  sebuah  lingkaran  kecil  yang  ditaruh 
pada  pinggiran  state  (  bisa  di  dalam  bisa  juga  di  luar  ),  dan 
berguna sebagai sub machine state. 
 

 
 
➔   Exit  point  dilambangkan  sebuah  lingkaran  kecil  bersilang  yang 
ditaruh  pada  pinggiran  state  (  bisa  juga  di  dalam  atau  di  luar  ), 
dan berguna sebagai submachine state. 

 
State Machine Diagram ada 2 jenis 
❖ Behavioral State machines 
■ Merupakan state machine diagram umumnya 
■ Digunakan untuk mendefinisikan perilaku sebuah object 
❖ Protocol State Machine 
■ Digunakan untuk penggunaan protocol pada sebuah system 
■ Dapat  didefinisikan  ke  spesifik  Protocol  State  Machine  atau  Behavioral 
State Machines 
■ Didefinisikan sebagai diagram context ( global overview ) 
■ Notasi  yang  digunakan  sama  dengan  Behavioral  State  Machines  dengan 
penambahan kata ( protocol ) 

59 
 

■ Tidak adanya internal activity seperti entry, exit, do 


■ Transition  pada  Protocol  State  Machine  harus  menggunakan  Protocol 
Transition 
■ Protocol Transition 
➢ Sintaks : [pre condition] event / [post condition] 
➢ Precondition  atau  postcondition  adalah  guard  (  Guard  is condition that 
must be true for the transition to be triggered ) 
■ Precondition, kondisi sebelum transition 
■ Postcondition, kondisi setelah transition 
 
 
6) Class Diagram  
Class  diagram  merupakan  model  untuk  menunjukkan  hubungan  antar 
kelas  untuk  sebuah  model  kelas.  Class  diagram  digunakan  untuk 
mendokumentasikan  dan  menggambarkan  kelas  pemrograman  yang  akan 
dibangun (Satzinger et al, 2010). 
RMO Domain Model Class Diagram 

 
 
One-to-One Relationship Represented with Attributes Containing Object 
Identifiers 

60 
 

 
 
One-to-Many Relationship Between Customer and Order Classes 

 
 
One-to-Many Relationship Represented with Attributes Containing Object 
Identifiers 

 
 
Many-to-Many Relationship between Employee and Project Classes 

61 
 

Generalization Hierarchy within the RMO Class Diagram 

  

4. Implementation 
A. Konsep Dasar Design Website 

Sebuah  lukisan  yang  indah  selalu  dimulai  dari  sebuah  coretan  sederhana  di  atas 
kanvas,  tetapi  ingat  …  sebelumnya  pelukis  pasti  sudah  mempunyai  ide  atau  paling  tidak 
dasar  style  yang  akan  dipakai  untuk  melukis.  Tanpa  ide  dasar,  berapa  kalipun 
mencoretkan  kuasnya  pelukis  tidak  akan  bisa  menghasilkan  lukisan  yang  indah 
(setidaknya  lukisan  yang  indah  bagi  orang  awam  seperti  saya  dan  Anda).  Jadi  mulailah 
dengan KONSEP. 

Desain website harus mempunyai fungsi. 

62 
 

Hal  ini  berarti  semua  bagiannya  harus  memainkan  peran  dalam  menyediakan  informasi 
kepada pengunjung tentang siapa Anda, produk Anda atau layanan Anda. 

Jangan  membuat  website  hanya  untuk  “sekedar”  ikut-ikutan,  tentukan  fungsinya  terlebih 
dahulu  baik  untuk  (perusahaan)  Anda  sendiri  maupun  bagi  calon  pengunjung  website 
Anda. 

Website harus mudah dibaca dan dikunjungi. 

Tidak  semua  yang  Anda  tulis  akan  dibaca  oleh  pengunjung  dan tidak semua pengunjung 
akan  membaca  semuanya.  Pada  kenyataannya  pengunjung  hanya  membaca  sesuatu 
yang menarik untuk mereka. 

Tahap-tahap  apa  saja  yang  harus  dilakukan  untuk  membangun  sebuah  website?  berikut 
langkah-langkah persiapan secara umum yang dibagi menjadi lima tahap, diantaranya : 

1. Merumuskan Tujuan Membuat Website 

Berdasarkan  isi  maupun  tujuan,  suatu  website  biasanya  dapat  digolongkan  menjadi 
seperti berikut : 
● website marketing, berfungsi sebagai media presentasi dan pemasaran 
● website costumer service, berfungsi sebagai media untuk melayani konsumen. 
● website e-Commerce, berfungsi sebagai media transaksi online. 
● website informasi / berita, berfungsi sebagai media informasi berita. 
 
● Menentukan isi website 

Faktor  yang  paling  penting  dalam  suatu  website  adalah  isi  dari  website  itu  sendiri.  Hal 
tersebut berkaitan dengan manfaat yang akan diperoleh pengunjung dari sebuah website. 

● ​Menentukan target pengunjung 

Meskipun  suatu  website  mampunyai  sifat  terbuka  dalam  arti  sebuah  website  bebas 
dikunjungi  oleh semua orang, namun alangkah baiknya apabila dalam pembuatan website 
perlu  dilakukan  gambaran  target  yang  akan  dituju  oleh  sebuah  website.  Alasan  ini  lebih 
didasarkan  pada  penggunaan  hardware  dan  aplikasi  browser  yang  berbeda  dengan 
setiap pengunjung. 

Untuk  menarik  pembaca/pengunjung,  Anda  bisa  mulai  dengan  beberapa  aturan  dasar 
berikut: 

63 
 

● Tentukan “tema besar” website Anda. 


● Jika  Anda  pemilik  website,  tentukan  nama  yang  catchy,  mudah  diingat  dan  yang  pasti 
merujuk  pada  tema  besar  Anda.  Ingat…memikirkan  “makanan”  akan  mudah  jika  Anda 
mengingat  “tempe”  atau  bahkan  yang  sedikit  lebih  jauh  dengan  mengingat  “piring”,  tapi 
Anda  tidak  akan  pernah  memikirkan  “makanan”  jika  Anda  mengingat  “semen”  atau 
“pasir”. 
● Kembangkan  struktur  artikel  atau  navigasi  yang  tertata  dengan  baik,  selalu  umpamakan 
website  merupakan  urutan  ruang-ruang,  jangan  sampai  pengunjung  “tersesat”  ketika 
mengunjungi website Anda. 
● Kelompokkan teks, gambar dan isi website lain sesuai dengan peruntukan (halaman). 
● Penggunaan  header  atau  sub  judul  untuk  memisahkan  topik/  ide  yang  berbeda-beda 
untuk memberikan kemudahan bagi pembaca dalam menemukan yang mereka inginkan. 
● Selalu menitik beratkan pada kesinambungan & konsistensi. 
● Jangan  menggunakan  kalimat  yang  terlalu  panjang,  warna,  gambar  atau  jenis  font  yang 
berlebihan.  Kompleksitas  hanya  akan  menghilangkan  esensi  dari  artikel  atau  isi  website 
Anda.  Cobalah  untuk  mengungkapkan  ide-ide  Anda  dengan  kata-kata  yang  singkat  tapi 
mudah dimengerti. Gunakan pembedaan warna antara 1-2 warna saja atau font style (bold, 
italic  dan  underline).  Tentunya  untuk  poin  ini  sangat  bersifat  subjektif;  artinya  sesuaikan 
dengan kebutuhan & fungsi website Anda. 
● Sebelum  merencanakan  menggunakan  beberapa  jenis  font  sekaligus,  usahakan  Anda 
sudah  benar-benar  menguasai  dasar-dasar  tipografi.  Jika  belum,  gunakan  cara  aman; 
batasi pembedaan jenis font hingga maksimal 3 jenis font. 
● Pastikan font yang Anda pilih merupakan jenis font standard dan mudah dibaca. 

 
● Menentukan struktur website 

Struktur  website  diperlukan  untuk  memberikan  kemudahan  dalam  mengelola  suatu 


website.  Tetntunya  struktur  tersebut  harus  disesuaikan  dengan  isi  dari  website.  Dengan 
memiliki  struktur  yang  terorganisasi  dengan  baik,  suatu  website  akan  memberikan 
kemudahan dalam navigasi, editing, dan pemeliharaan website tersebut. 

2. Desain Website 

Faktor  keindahan  desain  tampilan  dari  suatu  website  merupakan  salah  satu  faktor  yang 
paling  penting  dalam  menentukan  keberhasilan  suatu  website,  selain  faktor  kecepatan 

64 
 

loading.  Suatu  situs  yang  baik  memiliki  suatu  kesatuan  desain  bias  dikatakan  memiliki 
kesamaan  tema  dalam  halaman-halaman  webnya.  Hal  ini  penting  dalam  hal  estetika 
maupun  segi  navigasi.  Kesamaan  desain  yang  biasanya  dipertahankan  antara  lain 
kesamaan  jenis  font  yang  digunakan,  warna,  tombol  navigasi  (menu)  letak  menu  dan  lain 
sebagainya. 

Karena  itu  sangatlah  penting  bagi  seorang web designer untuk mengetahui aturan-aturan 


yang  berlaku  dalam  mendisain  suatu  website.  Hal  ini  diperlukan  agar  design  web  dari 
website yang akan dibangun tidak terkesan sekedarnya. 

  

Adapun  hal-hal  penting  yang  perlu untuk diketahui seorang web designer adalah sebagai 


berikut : 
● ​Prinsip-prinsip dasar design 

Untuk  membangun  suatu  website  yang  baik  seorang  web  designer  sebaiknya 
memperhatikan  prinsip-prinsip  yang  ada,  terlepas  ia  mempunyai  bakat  seni  atau  tidak. 
Adapun prinsip-prinsip yang perlu diperhatikan antara lain : 

Unik​,  yang  dimaksud  dengan  unik  dalam  mendesign  suatu  website  adalah  kesadaran 
seorang designer untuk tidak meniru atau menggunakan karya orang lain. 
Komposisi​,  untuk  memperindah  tampilan  halaman  web,  seorang  web  designer  harus 
betul-betul  memahami komposisi, baik bentuk maupun warna yang akan digunakan dalam 
website yang digunakan. 
 
Simple​, banyak dari seorang web designer yang memegang prinsip “Keep it smile”. Hal ini 
ditujukan agar tampilan website terlihat rapi, bersih dan informatif. 
 
Semiotic​,  arti  semiotic  adalah  ilmu  yang  mempelajari  tentang  tanda-tanda.  Dalam  hal  ini 
diharapkan  pengunjung  dapat  dengan  mudah  dan  cepat  mengerti  ketika  melihat  tanda 
dan gambar yang terlihat dalam gambar yang ada dalam suatu website. 
 
Ergonomic​,  ergonomic  dalam  mendesign  suatu  website  adalah  kepunyaan  yang  akan 
didapatkan  pengunjung  dalam  membaca  dan  kecepatan  yang  bakal  diperoleh 
pengunjung  dalam  mencari  informasi.  Hal-hal  yang  perlu  diperhatikan  oleh  seorang  web 
designer untuk mencapai prinsip ini adalah : 
● Pemilihan ukuran fonts yang tepat sehingga mudah dibaca 
○ Menempatkan  link  sedemikian  rupa  sehingga mudah dan cepat untuk diakses dan 
yang lebih penting lagi adalah suatu website terlihat lebih informatif. 

65 
 

  
Focus​,  focus  adalah  hierarki  prioritas  dari  pesan  yang  akan disampaikan. Dengan adanya 
focus  tersebut,  diharapkan  pengunjung  dapat  memahami  dan  menentukan  pesan  mana 
yang lebih dahulu harus dibaca atau dilihat. 
  
Konsistensi​,  konsistensi  adalah  pemilihan  bentuk  atau  style  yang  digunakan  pada 
elemen-elemen  perancangan  web  dan  digunakan  pada semua halaman website. Website 
yang  konsisten  akan  memberikan  identitas  tersendiri  dan  mampu  memperlihatkan  visi 
serta misi dari website tersebut. 

3. Elemen - Elemen Design 

Design  grafis  khususnya  dalam  halaman-halaman  web  terdiri  dari  beberapa  elemen 
sebagai berikut (Ariesto Hadi Sutopo, 2002) : 

● Teks adalah bagian paling utama untuk menampilkan informasi. 


● Grafik  atau  image  merupakan  elemen  yang  dapat  membantu  menjelaskan  informasi. 
Dengan penggunaan grafik maupun image orang lebih mudah memahami suatu pesan. 
● Animasi  merupakan  sarana untuk menampilkan informasi dengan baik, disamping animasi 
merupakan daya tarik yang mudah diingat pengunjung. 
● Video  dapat  merupakan  hasil  suatu  rekaman  dengan  kamera  video,  HP,  maupun  hasil 
pengolahan komputer. 
● Suara  melengkapi  desain  web,  memberikan  efek  khusus  pada  suatu  tampilan  animasi 
serta memberikan kenyamanan bagi pengunjung yang mendengarkannya. 
● Interaktif link dapat menggunakan button yang berupa teks,symbol, grafik, maupun image, 
yang berfungsi untuk memudahkan pengunjung dalam menyelusuri suatu website. 

4. Konsep Design 

Pada  intinya  konsep  mendesain  tampilan  website  sangat  berkaitan  dengan  desain grafis, 
dan  pada dasarnya mengikut prinsip design grafis secara umum. Oleh karena itu alangkah 
baiknya  jika  dalam  mendesain  halaman  tampilan  website  juga  memperhatikan  prinsip 
design. Prinsip-prinsip design tesebut adalah : 
1. Komunikatif​, prinsip komunikatif berhubungan dengan identitas, isi pesan, serta audiens.  
2. Estetis​,  fungsi  dari  estetis  ini  adalah  memberikan  suatu  keindahan,  sehingga  lebih 
menarik  minat  pengunjung  untuk  lebih  menggali  informasi  yang  ditawarkan  dari  suatu 
website. 

66 
 

3. Ekonomis​,  design  web  harus  memperhatikan  faktor  ekonomis  dalam arti ukuran file yang 


digunaka.  Hal  tersebut  berkaitan  erat  dengan  kecepatan  akses  yang  ditawarkan  suatu 
website. 
  
Untuk  mendapatkan  design  yang  komunikatif,  estetis,  dan  ekonomis  hendaknya  seorang 
web  designer  perlu  memperhatikan  pedoman-pedoman  yang  ada  untuk  membuat  tata 
letak  suatu  tampilan,  yaitu  dalam  mengatur  elemen-elemen  layout.  Pedoman  yang 
dimaksud adalah : 
Kesatuan​,  elemen-elemen  layout  dari  halaman  harus  ditempatkan  sedemikian  rupa 
sehingga merupakan kesatuan informasi pada satu halaman atau beberapa halaman. 
Balance​,  elemen–elemen  layout  dari  halaman  harus  ditempatkan  sedemikian  rupa 
sehingga terdapat keseimbangan secara keseluruhan. 
Kontras​,  diperlukan  untuk  menonjolkan  bagian  yang  dianggap  lebih  penting  dari  bagian 
lainnya.  Kontras  dapat  dinyatakan  dengan  membedakan  ukuran  serta  warna  dari  elemen 
layout. 
Kontinyuitas​,  informasi  lebih dimengerti oleh pengguna bila mempunyai aliran-aliran yang 
baik,  sedikit  gangguan  yang  menghambatnya.  Suatu  aliran  informasi  dapat  dikatakan 
kontinyu  dan  harmonis  bila  tampilannya  mencerminkan  kesinambungan  dari  satu  bagian 
ke  bagian  yang  lain.  Kontinyuitas  dapat  dibuat  dengan  membuat  halaman-halaman  yang 
mempunyai  gaya,  bentuk  atau  warna  yang  memberikan  pengguna  merasakan 
kesinambungan dengan halaman lainnya. 

5. Pembuatan Layout 

Bermacam-macam  langkah  yang  digunakan  untuk  membuat  layout  dari  suatu  website. 
Berikut  ini  merupakan  proses  yang  secara  umum  banyak  dilakukan  dalam  pembuatan 
layout : 
1. Membuat sketsa design 
Seorang  designer  bisa  saja  menuangkan  ide  dalam  pembuatan  interface dengan terlebih 
dahulu  membuat  sketsa  diatas  kertas.  Namun  untuk  kebanyakan  orang,  langkah  ini 
biasanya  dilewatkandan  langsung  pada  langkah  pembuatan  layout  design  dengan 
menggunakan software Photoshop, Balsamiq Mockup dll. 
2. Membuat layout design 
Banyak  software  yang  dapat  digunakan  untuk  membuat  layout.  Salah  satu  diantaranya 
adalah  Macromedia,  proses  ini  dikerjakan  setelah  pembuatak  sketsa  design.  Namun 
terkadang pembuatan layout merupakan proses pertama kali dikerjakan 
3.  Membagi  gambar  menjadi  potongan-potongan  kecil,  proses  ini  diperlukan  untuk 
meng-optotimize waktu download 

67 
 

4.  Membuat  animasi,  animasi  diperlukan  untuk  menghidupkan  atau  menjadikan  website 
lebih interaktif 
5. Membuat HTML 
Setelah  merapikan  layout  design  lengkap  dengan  tombol,  image,  teks,  script  HTML,  hal 
yang perlu dilakukan adalah membuat layout ke dalam format HTML 

B. Pemograman WEB 
❖ HTML  

HTML  adalah  singkatan  dari  Hypertext  Markup  Language.  Disebut 


hypertext  karena  di dalam HTML sebuah text biasa dapat berfungsi lain, kita dapat 
membuatnya  menjadi  link  yang  dapat  berpindah  dari  satu  halaman  ke  halaman 
lainnya  hanya  dengan  meng-klik  text  tersebut.  Kemampuan  text  inilah  yang 
dinamakan  hypertext, walaupun pada implementasinya nanti tidak hanya text yang 
dapat dijadikan link. 
Disebut  Markup  Language  karena  bahasa  HTML  menggunakan  tanda 
(​mark​),  untuk  menandai  bagian-bagian  dari  text.  Misalnya,  text  yang  berada  di 
antara  tanda  tertentu  akan  menjadi  tebal,  dan  jika  berada  di  antara  tanda  lainnya 
akan tampak besar. Tanda ini di kenal sebagai HTML tag. (Andre 2017) 

Perintah dasar HTML : 

Tag Utama 

Tag  Atribut  Deskripsi 

<html></html>    Baris paling atas dari 


setiap file HTML. Tag 
pembuka dan tag 
penutup HTML. 

<head></head>    Informasi umum dari 


sebuah halaman web. 

<title></title>    Judul halaman terdapat 


didalam tag head. 

<body></body>  background  Settingan atribut untuk 


bgcolor  seluruh dokumen. Tag 

68 
 

bgsound  body juga berfungsi 


font  untuk menampilkan teks, 
link  gambar atau konten 
alink  yang akan ditampilkan di 
vlink  browser. 
topmargin 
img 
dan lain-lain 
 

Contoh penulisan sintaks : 

<!DOCTYPE html> 

<html> 

<head> 

<title>Belajar HTML</title> 

</head> 

<body> 

<p>Hello World!</p> 

</body> 

</html> 

Modifikasi Teks 

Tag  Deskripsi  Contoh 

69 
 

<b></b>  Teks tebal  Teks tebal 

<i></i>  Teks miring  Teks miring  

<u></u>  Teks garis bawah  Teks garis bawah 

<pre></pre>  Preformatted Teks  Contoh teks 

<h1></h1>  Header 1 
Header 1 
<h2></h2>  Header 2  Header 2 
<h3></h3>  Header 3  Header 3 

<h4></h4>  Header 4  Header 4 

<h5></h5>  Header 5  Header 5 

<h6></h6>  Header 6  Header 6 

<sub></sub>  Subscript  sub​Script 


Super​
<sup></sup>  Superscript  script 
 

Font 

Tag  Atribut  Deskripsi 

<font></font>  color  Mengubah gaya suatu 


size  huruf. 
name 
 

Links 

Tag  Atribut  Deskripsi 

<a></a>  href  Membuat link ke 


target  dokumen atau situs 
style  lainnya. 
class 
name 
id 

70 
 

Gambar 

Tag  Atribut  Deskripsi 

<img>  src    Menampilkan sebuah 


alt    gambar  
name   
border   
height   
width  
 

Formatting 

Tag  Deskripsi  Contoh 

<blockquote>  Digunakan untuk  Sample of text in a block 


</blockquote>  mengatur text dan  quote format  
gambar dalam suatu tag 

<ol> </ol>    Ordered List (digunakan  1. Item 1  


dengan <li>)  

<ul> </ul>   (digunakan dengan <li>)   • Item 1   


     
<li>    Elemen List   

<dd> </dd>    Definition List  Sample text  

<dt>  Definition Term   Sample text  

<dd>  Definition Description  Sample text 

<p> </p>  Paragraf  Sample   


text 

<br>   Ganti baris  Sample text 

<hr>    Garis horizontal    

<center> </center>  Menengahkan elemen  Sample 


 

71 
 

Tabel  

Tag  Atribut  Deskripsi 

<table> </table>  border    Mengatur semua elemen 


cellpadding   table 
cellspacing   
width   
height   
name   
id   
title   
bgcolor   
background  
align   
valign   

<tr> </tr>   height    Membuat baris baru 


bgcolor   
background  
align   
valign   
title   

<td> </td>   height    Membuat kolom 


width   
bgcolor   
background  
align   
valign   
title   
colspan   
rowspan 

<th> </th>  height    Header(kepala tabel). 


width    Otomatis ke tengah dan 
bgcolor    tebal. 
background  
align   
valign   
title   
colspan   
rowspan   

<tbody> </tbody>  height    Format yang berlaku 


width    bagi cell yang diapit tag.  
align   

72 
 

valign   
bgcolor   
background 

<colgroup> </colgroup>  height    Format yang berlaku 


width    bagi kolom  
align  
valign   
bgcolor   
background  
colspan   
 

Form 

Tag  Atribut  Deskripsi 

<form> </form>   method    Mengatur elemen dari 


action   form 
name  

<input type=>  text    Variasi dari tipe elemen 


password    form 
hidden   
radio   
checkbox   
submit   
image   
reset  

<select> </select>  name  Membuat combo-box. 


size  Digunakan bersama 
dengan option 

<option>  selected     
name   
value  

<textarea> </textarea>   name     


rows   
cols   
wrap 

wrap  off  no wrap 


virtual    word wrap, sent as one 
physical  line   

73 
 

word wrap, sent with 


breaks  
 

❖ CSS (Cascading Style Sheets) 

CSS  adalah  kumpulan  kode  program  yang  digunakan  untuk  mendesain 


atau  mempercantik  tampilan  halaman  HTML.  Dengan  CSS  kita  bisa  mengubah 
desain  dari  text,  warna,  gambar  dan  latar  belakang  dari  (hampir)  semua  kode  tag 
HTML. 
CSS  biasanya  selalu  dikaitkan  dengan  HTML,  karena  keduanya  memang 
saling  melengkapi.  HTML  ditujukan  untuk  membuat  struktur,  atau  konten  dari 
halaman  web.  Sedangkan  CSS  digunakan  untuk  tampilan  dari  halaman  web 
tersebut. Istilahnya, “​HTML for content, CSS for Presentation”.​ (Andre 2017) 

Daftar beberapa atribut CSS : 

Atribut  Nilai Atribut  Keterangan 

font-family    Semua jenis huruf  Untuk menentukan jenis 


(verdana, arial, Courier  huruf 
dll.)  
 
 

font-size   8px, 9px, 10px dan  Untuk mengatur ukuran 


seterusnya  huruf  

font-variant  Small-caps, Normal-caps  Untuk membuat huruf 


menjadi KAPITAL 

font-weight  Normal, Bold, Bolder,  Untuk membuat huruf 


Lighter  tebal  

text-decoration  - none   - tidak ada style  


- underline  - garis bawah 
- overline   - garis diatas text  
- line-through  - garis ditengah text 

text-align   left, center, right  Untuk mengatur letak 


text   

font-style   Normal, italic  Gaya huruf 

margin-left   Angka (dalam cm)   Batas kiri halaman 

74 
 

margin-top    Batas atas halaman 


margin-bottom    Batas bawah halaman 
margin-right  Batas kanan halaman 
 

❖ Javascript  
Javascript  adalah  bahasa  pemograman  yang  digunakan  untuk  membuat 
interaksi  atau  menambah  fitur  web dinamis kedalam sebuah web. Untuk membuat 
halaman  web,  anda  tidak  harus  menggunakan  ​JavaScript​.  Namun,  saat  ini 
JavaScript  hadir  dalam  hampir  setiap  halaman  web  modern.  Sehingga  ​JavaScript 
adalah salah satu bahasa pemograman web yang wajib di kuasai. 

Javascript  merupakan  bagian  dari  3 teknologi penting yang harus dikuasai 


programmer  web,  yakni  HTML  untuk  konten  (isi  dari  website), CSS untuk tampilan 
(presentation),  dan  Javascript  untuk  interaksi  (behavior).  ​Hampir  seluruh  website 
modern  saat  ini  menggunakan  ​JavaScript  untuk  membuat  berbagai  aplikasi  yang 
dapat  berinteraksi  dengan  user,  seperti  ​validasi  form  HTML,​   games,  kalkulator, 
fitur ​chatting,​ dll. (Andre 2014) 

❖ MVC 

Model-View-Controller  atau  MVC  adalah  sebuah  metode  untuk  membuat 


sebuah  aplikasi  dengan  memisahkan  data  (Model)  dari  tampilan  (View)  dan  cara 
bagaimana  memprosesnya  (Controller).  Dalam  implementasinya  kebanyakan 
framework dalam aplikasi website adalah berbasis arsitektur MVC. 

❖ Framework 

75 
 

Framework  adalah  sebuah  software  untuk  memudahkan  para  programer 


untuk  membuat  sebuah  aplikasi  web  yang  di  dalam  nya  ada  berbagai  fungsi 
diantaranya  plugin,  dan  konsep  untuk  membentuk  suatu  sistem  tertentu  agar 
tersusun dan terstruktur dengan rapi. 

Framework  merupakan  kumpulan  library  siap  pakai  yang  dapat 


dimanfaatkan  dalam  membangun  aplikasi  tertentu.  Untuk  menggunakan 
library-library  yang  disediakan  oleh  suatu  framework,  developer  harus 
menyesuaikan  diri  dengan  aturan-aturan  pada  framework  tersebut,  karena  setiap 
framework mempunyai aturan yang berbeda.  

Framework PHP yang umum digunakan :  

C. Pemograman Mobile Android 


1. Pengenalan Dasar Pemograman Android 

Android  adalah  sistem  operasi  dan  platform  pemrograman  yang 


dikembangkan  oleh  Google  untuk  ponsel  cerdas  dan  perangkat  seluler  lainnya 
(seperti  tablet).  Android  bisa  berjalan  di  beberapa  macam  perangkat  dari  banyak 
produsen  yang  berbeda.  Android  menyertakan  kit  development  perangkat  lunak 
untuk  penulisan  kode  asli  dan  perakitan  modul  perangkat  lunak  untuk  membuat 
aplikasi  bagi  pengguna  Android.  Android  juga  menyediakan  pasar  untuk 
mendistribusikan  aplikasi.  Secara  keseluruhan,  Android  menyatakan  ekosistem 
untuk aplikasi seluler. 

76 
 

Android  menyediakan  arsitektur  development  yang  kaya.  Anda  tidak  perlu 


mengetahui  banyak  tentang  komponen  arsitektur  ini,  namun  perlu  mengetahui 
apa  yang  tersedia  dalam  sistem  yang  digunakan  untuk  aplikasi  Anda.  Diagram 
berikut  menampilkan  komponen  utama  sistem  tumpukan  Android  —  sistem 
operasi dan arsitektur development. 

Dalam gambar di atas: 

1. Aplikasi:  Aplikasi  berada  pada  tingkat  ini,  bersama  dengan  aplikasi  sistem 
inti  untuk  email,  perpesanan  SMS,  kalender,  penjelajahan  Internet,  atau 
kontak. 
2. Kerangka  Kerja  API  Java:  Semua  fitur  Android  tersedia  untuk  developer 
melalui  antarmuka  pemograman  aplikasi  (API)  yang  ditulis  dalam  bahasa 

77 
 

Java.  Anda  tidak  perlu  mengetahui  detail  semua  API  untuk  mempelajari 
cara  mengembangkan  aplikasi  Android,  namun  Anda  bisa  mengetahui 
selengkapnya  tentang  API  berikut  ini,  yang  berguna  untuk  membuat 
aplikasi : 
● Sistem  Tampilan  digunakan  untuk  membangun  UI  aplikasi,  termasuk 
daftar, tombol, dan menu. 
● Pengelola  Referensi  digunakan  untuk  mengakses  sumber  daya 
non-kode seperti string, grafik, dan file layout yang dilokalkan. 
● Pengelola  Notifikasi  digunakan  untuk  menampilkan  peringatan khusus 
di bilah status. 
● Pengelola Aktivitas yang mengelola daur hidup aplikasi. 
● Penyedia  Materi  yang  memungkinkan  aplikasi  untuk  mengakses  data 
dari aplikasi lain. 
● Semua API kerangka kerja yang digunakan aplikasi sistem Android. 

3.  Pustaka  dan  Waktu  Proses  Android:  Setiap  aplikasi  berjalan  dalam 
prosesnya  sendiri  dan  dengan  instance  Android  Runtime  sendiri,  yang 
memungkinkan  beberapa  mesin  sekaligus  virtual  pada  perangkat 
bermemori  rendah.  Android  juga  menyertakan  rangkaian  pustaka  waktu 
proses  inti  yang  menyediakan  sebagian  besar  fungsionalitas  bahasa 
pemrograman  Java,  termasuk  beberapa  fitur  bahasa  Java  8  yang 
digunakan  kerangka  kerja  Java API. Banyak layanan dan komponen sistem 
Android  inti  dibangun  dari  kode  asli  yang  memerlukan  pustaka  asli  yang 
ditulis  dalam  C  dan  C++.  Pustaka  asli  tersebut  tersedia  untuk  aplikasi 
melalui kerangka kerja Java API. 

4.  Hardware  Abstraction  Layer  (HAL):  Lapisan  ini  menyediakan  antarmuka 


standar  yang  menunjukkan  kemampuan  perangkat  keras  di  perangkat  ke 
kerangka  kerja  Java  API yang lebih tinggi. HAL terdiri atas beberapa modul 
pustaka,  masing-masing  mengimplementasikan  antarmuka  untuk 
komponen perangkat keras tertentu, seperti modul kamera atau bluetooth. 

5.  Kernel  Linux: Fondasi platform Android adalah kernel Linux. Lapisan di atas 


mengandalkan  kernel  Linux  untuk  fungsionalitas  pokok  seperti  threading 
dan  manajemen  memori  tingkat  rendah.  Menggunakan  kernel  Linux 
memungkinkan  Android  memanfaatkan  fitur  keamanan  utama  dan 
memungkinkan  produsen  perangkat  mengembangkan  driver  perangkat 
keras untuk kernel yang cukup dikenal. 

Android Version : 

78 
 

Code Name  Version  Initial release  API level 


Number  date 

N/A  1.0  23 September  1 


2008 

N/A  1.1  9 Februari 2009  2 

Cupcake  1.5  27 April 2009  3 

Donut  1.6  15 September  4 


2009 

Eclair  2.0 - 2.1  26 Oktober  5-7 


2009 

Froyo  2.2 - 2.2.3  20 Mei 2010  8 

Gingerbread  2.3 - 2.3.7  6 Desember  9-10 


2010 

Honeycomb  3.0 - 3.2.6  22 Februari 2011  11-13 

Ice Cream  4.0 - 4.0.4  18 Oktober 2011  14-15 


Sandwich 

Jelly Bean  4.1 - 4.3.1  9 Juli 2012  16-18 

Kitkat  4.4 - 4.4.4  31 Oktober 2013  19-20 

Lollipop  5.0 - 5.1.1  12 November  21-22 


2014 

Marshmallow  6.0 - 6.0.1  5 Oktober 2015  23 

Nougat  7.0  22 Agustus  24 


2016 

Oreo  8.0  21 Agutus 2017  26 

2. Teknologi Pengembangan Aplikasi Android 


● Java 

Java  telah  menjadi  bahasa  yang  populer  sejak  beberapa  dekade. 


Java  seringkali  digunakan  untuk  pengembangan  aplikasi  web  dan 

79 
 

enterprise.  Hingga  akhirnya,  Java  telah  menguasai  dunia  pengembangan 


aplikasi  Android  setelah Google merilis Android sebagai open source pada 
tahun 2008 lalu. 

Penggunaan  Java  untuk  pengembangan  aplikasi  mobile  sangatlah 


besar.  Hal  ini  karena  sekitar  60%  dari  pasar  ponsel  dimiliki  oleh  Android. 
Pasar  Android  diperkirakan  akan  tumbuh  lebih  jauh  jika  bahasa  seperti  C 
++  mendapatkan  kesempatan  yang  lebih  baik  dalam  pengembangan 
Android.  Inilah  yang  membuat  Java  diharapkan  dapat  mempertahankan 
kepemimpinannya untuk masa yang akan datang. 

Meskipun  Java  banyak  digunakan  untuk  pengembangan  aplikasi 


Android,  namun  ia  juga  dapat  digunakan  untuk  pengembangan  aplikasi 
lintas  platform.  User  dapat  menulis  aplikasi  di  Java dan mengkompilasinya 
agar berjalan di iOS (iPhone, iPad) dan platform seluler lainnya. 

JUniversal, RoboVM  

dan  CodeNameOne  adalah  beberapa  pilihan  untuk 


mengembangkan  aplikasi  lintas  platform  (termasuk  aplikasi  iOS)  yang 
menggunakan Java. 

Java  juga  merupakan  bahasa  yang  lebih mudah dipelajari, memiliki 


dukungan  komunitas  yang  hebat,  memiliki  banyak  open  source  library, 
serta didukung oleh framework dan dokumentasi yang bagus. 

● Kotlin 

Pada  2017  lalu,  Google  mengumumkan  bahwa  Kotlin  akan menjadi 


bahasa  pemrograman  resmi  untuk  Android.  Mungkin  bagi  sebagian 
developer  aplikasi  Android  sudah  mengetahui  tentang  hal  ini.  Nah  bagi 
yang  belum  tahu  apa  itu  Kotlin,  sederhananya  ia  adalah  bahasa 
pemrograman  yang  merupakan  “penyempurnaan”  dari  bahasa 
pemrograman Java untuk pengembangan aplikasi Android. 

Kotlin  awalnya  dikembangkan  oleh  JetBrains,  perusahaan  dibalik 


IntelliJ  IDEA.  Setelah  melalui  banyak  perkembangan,  JetBrains  kemudian 
merilis  Kotlin  secara  open  source  dan  kini  setelah  semakin  maju,  Google 
mendukung  secara  penuh  Kotlin  untuk  pengembangan  aplikasi  pada 
Android. 

80 
 

Developer  tidak  perlu  khawatir  jika  proyek  Android-nya  yang 


menggunakan  Java  akan  menjadi  tidak  bisa  digunakan  ketika 
menggunakan  Kotlin.  Karena  di  antara  Java  dan  Kotlin,  keduanya  bisa 
digunakan secara berbarengan. 

● JavaScript + HTML5 

Walaupun para pengembang iOS dan android suka bekerja dengan 
library  dan  bahasa  asli  seperti  Swift,  Objective-C  dan Java untuk membuat 
aplikasi  seluler,  namun  ternyata  hal  itu  tidak  selalu  menjadi  pilihan  terbaik 
dalam hal efisiensi waktu. 

Meskipun  terdapat  banyak  keuntungannya,  namun  tentu  saja  ada 


kelemahannya  juga.  Kerugian  terbesarnya  adalah  jika  diperlukan  untuk 
membangun  aplikasi  seluler  yang  sama  secara  terpisah  untuk  iOS, 
Android, Windows, dan platform lainnya. 

Di  sinilah  bahasa  pemrograman  seperti  C  #  dan  JavaScript  hadir 


sebagai  penyelamat.  Kedua  bahasa  ini  digunakan  untuk  membangun 
aplikasi  lintas platform dan hybrid. Duet antara JavaScript dan HTML5 telah 
membawa  pengembangan  aplikasi  seluler  hybrid  ke  tingkat  yang 
melampaui imajinasi. 

Salah  satu  alasan  utama  mengapa  pengembangan  aplikasi  hybrid 


menggunakan  framework  JavaScript  dan  markup  HTML5  adalah  karena 
menjadikannya  sebagai  pilihan  termudah  untuk  para  pengembang  web 
masa lalu untuk memasuki dunia pengembangan aplikasi seluler saat ini. 

Framework  UI  JavaScript  berbasis  HTML5  seperti  Ionic 


memungkinkan  kamu  untuk  membuat  aplikasi  seluler  hybrid  dengan 
tampilan  dan  nuansa  native  dengan  menggunakan  CSS,  JavaScript,  dan 
HTML versi dulu. 

Dengan  bangkitnya  React  Native  baru-baru  ini,  maka  telah 


membawa  JavaScript  ke  dunia  pengembangan  aplikasi  bawaan  lintas 
platform untuk Android dan iOS. 

JavaScript  juga  memiliki  aplikasi  hebat  dalam  pengembangan 


mobile  game.  Unity  3D  yang  merupakan  salah  satu  game  engine 
terkemuka  menggunakan  JavaScript  sebagai  salah  satu  pilihan  scripting 
beserta C # dan unity script. 

81 
 

D. Pemograman Desktop 

5. Testing (Pengujian Perangkat Lunak) 


A. Teknik Pengujian Perangkat Lunak 

Testing  atau  pengujian  perangkat  lunak  adalah elemen kritis dari jaminan kualitas 


perangkat  lunak  dan  merupakan  review  akhir  dari  spesifikasi,  perancangan  dan 
pengkodean.  Pada  tahap  awal  dari  pengembangan  perangkat  lunak,  engineer 
berusaha  untuk  membangun  perangkat  lunak  dari  sebuah  konsep  abstrak 
menjadi  implementasi  nyata. Pada saat pengujian, engineer membuat serangkaian 
kasus uji yang bertujuan untuk menguji perangkat lunak yang telah dibuat. 

Meningkatnya  visibilitas  perangkat  lunak sebagai suatu elemen sistem dan "biaya” 


yang  muncul  akibat  kegagalan  perangkat  lunak,  memotivasi  dilakukan 
perencanaan yang baik melalui pengujian yang teliti. 

Beberapa aturan objektif pengujian perangkat lunak : 

● Pengujian adalah proses eksekusi sebuah program untuk menemukan “error” 


● Kasus uji yang baik adalah sesuatu yang bisa mengungkapkan kemungkinan 
yang tinggi untuk menemukan error-error yang tidak ditemukan sebelumnya 
● Pengujian yang sukses adalah sesuatu yang bisa mengungkapkan error yang 
tidak ditemukan sebelumnya 
 

B. Prinsip Pengujian 

Pada  saat  melakukan  pengujian  terhadap  suatu  perangkat  lunak  ada  beberapa 
prinsip pengujian yang harus diperhatikan, diantaranya: 
1.  Semua pengujian harus terlacak kekebutuhan user 
2.  Pengujian harus direncanakan jauh sebelum pengujian dimulai 
3.  Pengujian dimulai dari kecil dan mengarah kepada yang besar 
4.  Pengujian yang sempurna adalah tidak mungkin 
5.  Agar pengujian berjalan dengan efektif, maka sebaiknya dilakukan oleh pihak 
ketiga yang netral 

82 
 

Kemampuan  untuk  diuji  dari  sebuah perangkat lunak  (perangkat lunak  testability) 


adalah kemudahan sebuah program komputer untuk diuji. 

Daftar  pemeriksaan  yang  berkaitan  dengan  kemudahan  untuk  diuji  dari  sebuah 
perangkat lunak , diantaranya: 

1. Operability 
● “Lebih baik dia bekerja dan lebih efisien dia diuji”
● Sistem mempunyai sedikit “bug”
● Tidak ada bug yang menghalangi pengujian

2. Observability 
● “apa yang anda lihat adalah apa yang anda uji”
● Bedakan output yang dihasilkan oleh masing-masing input
● State sistem dan variabel terlihat selama eksekusi
● Status sistem yang lampau dan variabel
● Semua faktor yang mempengaruhi output dapat dilihat
● Output yang salah mudah diidentifikasi
● Error internal otomatis dideteksi dengan mekanisme pengujian diri dan
secara otomatis dilaporkan
● Kode program bisa diakses

3. Controlability 
● Semua output yang mungkin bisa dihasilkan melalui kombinasi beberapa 
input 
● Semua kode dapat dieksekusi untuk beberapa kombinasi input-State dari 
perangkat lunak dan hardware serta variabel dapat dikontrol secara 
langsung oleh engineer 
● Format input dan ooutput konsisten dan terstruktur -Pengujian bisa 
diidentifikasi, diotomatiskan dan diproduksi ulang 

4. Decomposability 
● Sistem perangkat lunak dibangun dari modul-modul yang berdiri sendiri
● Modul perangkat lunak diuji secara independen

5. Simplicity 
● Functional simplicity
● Structural simplicity

83 
 

● Code simplicity

6. Stability 
● Perubahan terhadap perangkat lunak jarang, terkendali dan tidak
membatalkan pengujian yang telah ada
● Perangkat lunak bisa merecover dengan baik dari kegagalan

7. Understandability 
● Perancangan dipahami dengan baik
● Ketergantungan antara internal, eksternal dan shared komponen
dimengerti dengan baik
● Perubahan terhadap perancangan diberitahukan kepada perancang
lainnya
● Dokumentasi teknik bisa diakses dengan cepat, diorganisasikan dengan
baik, tertentu, rinci dan akurat.
C. Perancangan Kasus Uji 
Perancangan  untuk  pengujian  perangkat  lunak  adalah  hal  yang  sama 
menantangnya  dengan  perancangan  awal  dari perangkat lunak  itu sendiri. Setiap 
produk rekayasa perangkat lunak bisa diuji dalam dua cara: 
1. ​Mengetahui cara kerja internal dari produk tersebut (White Box Testing) 
2.  Mengetahui  fungsinya,  sehingga  pengujian  dilakukan  dengan 
mendemonstrasikan  fungsi  tersebut  bisa  berjalan  dengan  sempurna  atau  ada 
error (Black Box Testing) 

D. White Box Testing 


White-box  testing  ​yaitu  metode  desain  ​test  case  y​ ang  menggunakan  stuktur 
​ apat 
kontrol  desain  posedural  unntuk  memperoleh  ​test  case.  Test  case  d
diperoleh dengan: 
1. Menjamin  bahwa  semua  ​independet  path  ​pada  suatu  modul  telah  digunakan 
minimal satu kali 
2. Menggunakan semua keputusan logis pada sisi true dan false. 
3. Mengeksekusi semua loop dalam batasannya dan pada batas operasionalnya 
4. Mengunakan struktur data internal untuk menjamin validitasnya 
 

84 
 

Gambar 2.12 . ​White box Testing 

Sumber : www.ilmukomputer.com 

Pengujian ini harus memenuhi kriteria sebagai berikut : 

a.  Mengurangi  pelaksanaan  ​test  case  ​untuk  mencapai  hasil  pengujian  yang 
diinginkan 

b.  Test  case  ​akan  menunjukkan  ketidaksesuaian  (ketidaksinkronan)  beberapa 


kesalahan,  tetapi  kurang  menunjukkan  detil  kesalahan  ​Perangkat  lunak  y​ ang 
dibangun  tidak  selalu  sempurna.  Terkadang  ada  kesalahan  yang  baru  akan 
diketahui  saat  pengujian  atau  bahkan  saat  implementasi.  Berikut  ini  kriteria 
perangkat lunak ​ yang “cacat” : 
1. Kesalahan  logika  dan  asumsi  yang  salah  berbanding  terbalik  dengan 
probabilitas  jalur  program  yang  akan  dieksekusi.  Kecenderungan 
kesalahan  ini  terjadi  pada  tahap  desain  dan  implementasi  fungsi,  kondisi 
atau  kontrol  yang  berada  di  luar  pikiran.  Kesalahan  ini  tejadi  jika 
pemrosesan  yang  rutin  sudah  dikerjakan  dengan  baik  tetapi  pemrosesan 
yang khusus cenderung diabaikan. 
2. Selalu  ada  keyakinan  bahwa  logical  path  tidak akan dieksekusi pada basis 
regular.  Kesalahan  ini  terjadi  karena  adanya  kesalahan  asumsi  tentang 
aliran data dan kontrol. 
3. Kesalahan  tipologis  yang  merupakan  kesalahan  yang  acak  atau  random. 
Perpindahan  dari  bahasa  pemrograman  satu  ke  bahasa pemrograman lain 
menyebabkan timbulnya kesalahan sintak. 
  
Path  Testing  ​adalah  metode  pengujian  yang  memungkinkan  desainer  ​test  case 
mengukur  kompleksitas  logika  desain  posedural  dan  menggunakannya  sebagai 

85 
 

pedoman  untuk  menetapkan  basis  set  dari  jalur  eksekusi.  Metode  ini  menjamin 
bahwa  setiap  statement  akan  dilalui  minimal  sekali  dalam  proses  pengujian. 
​ kan  menguji  setiap 
Tujuannya  adalah  meyakinkan  bahwa  himpunan  ​test  case  a
​ ada  suatu  program  paling  sedikit  satu  kali.  Titik  awal  ​path  testing  a
path  p ​ dalah 
suatu  program  ​flow  graph    yang  menunjukkan  node  –  node  yang  menyatakan 
keputusan  program,  misalnya  :  kondisi  if  –  then  –  else  dan  busur  yang 
menyatakan  alur  kontrol.  Statement  yang  memiliki  kondisi  ada  pada node – node 
dalam  ​flow  graph.​   ​Path  testing  ​menggambarkan  alur  kontrol  di  mana  setiap 
cabang  ditunjukkan  oleh  path  yang  terpisah  sedangkan  loop  ditunjukkan  oleh 
arrows looping dan kembali ke loop kondisi node. 

E. Cara Melakukan Pengujian White Box 

Penjelasan sederhana tentang pengujian kotak putih, dibagi menjadi dua 


langkah dasar​: 

1.  Memahami Kode Sumber 

Hal  pertama  yang  akan  sering  dilakukan  oleh  tester  adalah  mempelajari  dan 
memahami  kode  sumber  aplikasi.  Karena  pengujian  White  Box  melibatkan 
pengujian  cara  kerja  suatu aplikasi, tester harus sangat berpengetahuan dalam 
bahasa  pemrograman  yang  digunakan  dalam  aplikasi  yang  mereka  uji.  Juga, 
orang  yang diuji harus sangat menyadari praktik pengkodean aman. Keamanan 
sering  menjadi  salah  satu  tujuan  utama  pengujian  perangkat  lunak.  Penguji 
harus  dapat  menemukan  masalah  keamanan  dan  mencegah  serangan  dari 
peretas  dan  pengguna  naif  yang  mungkin  menyuntikkan  kode  berbahaya  ke 
dalam aplikasi baik secara sadar atau tidak sadar. 

2.  Buat Kasus Uji Dan Lakukan Uji 

Langkah  dasar  kedua  untuk  pengujian  White  Boxmelibatkan  pengujian  kode 


sumber  aplikasi  untuk aliran dan struktur yang tepat. Salah satu caranya adalah 
dengan  menulis  lebih  banyak  kode  untuk  menguji  kode  sumber  aplikasi. 
Penguji  akan  mengembangkan  tes  kecil  untuk  setiap  proses  atau  serangkaian 
proses  dalam  aplikasi.  Metode  ini  mensyaratkan  bahwa  tester  harus  memiliki 
pengetahuan  yang  mendalam  tentang  kode  dan  sering  dilakukan  oleh 
pengembang.  Metode  lain  termasuk  Pengujian  Manual  ,  uji  coba,  dan 
pengujian  kesalahan  dan  penggunaan  alat  pengujian  seperti  yang  akan  kami 
jelaskan lebih lanjut dalam artikel ini. 

86 
 

F. Contoh Pengujian White Box 

Pertimbangkan potongan kode berikut 

Printme (int a, int b) {------------ Printme adalah fungsi 


  hasil int = a + b; 
  Jika (hasil> 0) 
  Cetak ("Positif", hasil) 
  Lain 
  Cetak ("Negatif", hasil) 
  } ----------- Akhir dari kode sumber 

Tujuan pengujian WhiteBox adalah untuk memverifikasi semua cabang keputusan, 


loop, pernyataan dalam kode. 

Untuk menjalankan pernyataan dalam kode di atas, kasus uji WhiteBox akan menjadi 

■ A = 1, B = 1 
■ A = -1, B = -3 

  

G. Blackbox Testing 

Black-box  testing  merupakan  pendekatan  pengujian  dimana  program  dianggap 


sebagai  suatu ‘black-box’ (‘kotak hitam’) Program test case berbasiskan spesifikasi 
Test planning​ dapat dimulai sejak awal proses pengembangan sistem. 

Black-box  testing  berfokus  pada  persyaratan  fungsional  perangkat lunak. Metode 


ini  memungkinkan  ​perangkat  lunak  developer  untuk  mendapatkan  serangkaian 
kondisi  input  yang  mempergunakan  semua  persyaratan  fungsional  program. 
Black-Box  testing  bukan  alternatif  ​white-box  testing,​   namun  merupakan 
pelengkap  yang  mampu  mengungkap  kesalahan,  jika  dibandingkan  metode 
white-box testing. 

87 
 

Gambar 2.13. ​Black Box Testing 

Sumber :​ ​www.ilmukomputer.com 

Pengujian black box berusaha menemukan kesalahan dalam kategori : 

1. Fungsi – fungsi yang tidak benar atau hilang 


2. Kesalahan ​interface 
3. Kesalahan dalam struktur data atau akses database eksternal 
4. Kesalahan kinerja 
5. Inisialisasi dan kesalahan terminasi 

  

Black-box testing cenderung diaplikasikan selama tahap akhir pengujian. Pengujian black-box 
memperhatikan  struktur  kontrol,  sehingga  perhatian  berfokus  pada  domain  informasi. 
Black-box testing testing dirancang untuk dapat menjawab pertanyaan berikut: 

a.  Bagaimana validitas fungsional diuji? 


b.  Kelas input apa yang akan membuat test case menjadi baik? 
c.  Apakah sistem sensitif tehadap nilai input tertentu? 
d.  Bagaimana batasan dari suatu data diisolasi? 
e.  Bagaimana kecepatan dan volume data yang dapat ditolelir oleh sistem? 
f. Apa pengaruh kombinasi tertentu dari data terhadap operasi sistem? 

  

H. Klasifikasi Black Box testing 

88 
 

Klasifikasi black box testing mencakup beberapa pengujian, diantaranya sebagai berikut: 
  
1.  Pengujian fungsional (​Functional testing)​  
Pada  jenis  pengujian  ini, perangkat lunak di uji untuk persyaratan fungsional. Pengujian di 
lakukan  dalam  bentuk  tertulis  untuk  memeriksa  apakah  aplikasi  berjalan  seperti  yang  di 
harapkan.  Walaupun  pengujian  fungsional  sudah  sering  di  lakukan  di  bagian  akhir  dari 
siklus  pengembangan,  masing-masing  komponen  dan  proses  dapat  di  uji  pada  awal 
pengembangan,  bahkan  sebelum  sistem  berfungsi.  Pengujian  ini  sudah  dapat  di  lakukan 
pada  seluruh  sistem.  Pengujian  fungsional  meliputi  seberapa  baik  sistem  melaksanakan 
fungsinya,  termasuk  perintah-perintah  pengguna,  manipulasi  data,  pencarian  dan  proses 
bisnis,  pengguna  layar  dan  integrasi.  Pengujian  juga  meliputi  permukaan  yang  jelas  dari 
jenis  fungsi-fungsi,  serta  operasi  back  end  (seperti,  keamanan  dan  bagaimana 
meningkatkan sistem). 
  
2.  Pengujian tegangan (​stress testing​) 
Pengujian  tegangan  berkaitan  dengan  kualitas  aplikasi  di  dalam  lingkungan.  Idenya 
adalah  untuk  menciptakan  sebuah  lingkungan  yang  lebih  menuntut  aplikasi, tidak seperti 
saat  aplikasi  dijalankan  pada  beban  kerja  normal.  Pengujian  ini  adalah  yang  paling  sulit, 
cukup kompleks di lakukan, dan memerlukan upaya bersama dari semua tim. 
  
3.  Pengujian beban (​load testing)​  
Pada  pengujian  beban  aplikasi  akan  di  uji  dengan  beban  berat  atau  masukan,  seperti 
yang  terjadi pada pengujian situs web, Untuk mengetahui apakah aplikasi atau situs gagal 
atau  kinerjannya  menurun.  Pengujian  beban  ber  oprasi  pada  tingkat  beban  standar, 
biasanya  beban  tertinggi  akan  diberikan  ketika  sistem  dapat  menerima  dan  tetap 
berpungsi  dengan  baik.  Perlu  di  ketahui  bahwa  pengujian  beban  tidak  bertujuan  untuk 
merusak  sistem  dengan  banyak  hal,  namun  mencoba  untuk  menjaga  agar  sistem  selalu 
kuat dan berjalan dengan lancar. 
  
4.  Pengjian khusus (​ad-hoc testing​) 
Jenis  pengujian  ini  di  lakukan  tanpa  penciptaan rencana pengujian (​test ​plan ) atau kasus 
pengujian  (​test  case)​ ​.  Pengujian  kasus  membantu  dalam  menentukan  lingkungan  dan 
durasi  dari  sebagai  pengujian  lainnya  dan  juga  membantu  para  penguji  dalam 
mempelajari  aplikasi  sebelum  memulai  pengujian  ini merupakan metode pengujian forma 
yang  paling  sedikit.  Salah  satu  penggunaan  terbaik  dari  pengujian  khusus  adalah  untuk 
penemuan.  Membaca  persyaratan  atau  sfesikasi  (jika  ada)  jarang  memberikan  panduan 
yang  jelas  mengenai  bagaimana  sebuah  program  benar-benar  bertindak  bahkan 
dokumentasi  penggunaan  tidak  menangkap​’’look  and  feel’’  ​dari  sebuah  program. 
Pengujian  khusus  dapat  menemukan  lubang-lubang  dalam  pengujian  strategi  dan  dapat 

89 
 

mengekspos  hubungan  di  antara  sub  sistem  lain  yang  tidak  jelas.  Dengan  cara  ini, 
pengujian khusus berfungsi sebagai alat untuk memeriksa kelengkapan yang anda uji. 
  
5.  Pengujian penyelidikan (​exploratory testing​) 
Pengujian  penyelidikan  mirip  dengan  pengujian  khusus  dan dilakukan untuk mempelajari 
/  mencari  aplikasi.  Pengujian  penyelidikan  perangkat  lunak  ini  merupakan  pendekatan 
yang menyenangkan untuk pengujian.  
  
6.  Pengujian usabilitas (usability testing) 
Pengujian  ini  di  sebut  juga  sebagai  pengujian  untuk  keakraban  pengguna  (​testing  for 
user-friendliness​).  Pengujian  ini  di  lakukan  jika  antarmuka  penguna  dari  aplikasinya 
penting  dan  harus  spesifik  untuk  jenis  penguna  tertentu.  Pengujian  usabilitas  adalah 
proses  yang  bekerja  dengan  penguna  akhir  secara  langsung  maupun  tidak  langsung 
untuk  menilai  bagaimana  pengguna  merasakan  paket perangkat lunak dan bagai mereka 
berinteraksi  dengannya.  Proses  ini  akan  membongkar  area  kesulitan  pengguna  seperti 
halnya  area  kekuatan.  Tujuan  dari  pengujian  usabilitis  harus  membatasi  dan 
menghilangkan  kesulitan  bagi  pengguna  dan  untuk  memengaruhi  area  yang  kuat  untuk 
usabilitas  maksimum.  Pengujian  ini  idealnya  melibatkan  masukan  dari  pengguna  secara 
langsung  maupun  tidak  langsung  (mengamati  prilaku)  dan  bila  memungkikan  melibatkan 
komputer  yang  di  dukung  umpan  balik. Komputer yang di dukung umpan balik sering kali 
(jika  tidak  selalu)  dihilangkan  untuk  proses  ini.  Komputer  yang  di  dukung  dengan  umpan 
balik  dapat  berperan  sebagai  pengatur  waktu  (​timer)​   pada  dialog  untuk  monitoring 
(memonitor)  berapa  lama  waktu  yang  di  perlukan  pengguna  untuk  menggunakan  dialog 
dan  alat  menghitung  (​counter​)  untuk  menentukan seberapa sering kondisi tertentu terjadi 
​ antuan  pesan,  dan  lain  –  lain).  Biasanya,  proses  tersebut 
(misalnya,  pesan  ​error,  b
melibatkan  modivikasi  sepele  (​trivial​)  dari  perangkat  lunak  yang  sudah  ada, namun dapat 
berakibat  besar  terhadap  laba  atas  investasi.  Akhirnya,  pengujian  usabilitas 
mengakibatkan  perubahan  pada  produk  yang  diberikan  sesuai  dengan  penemuan  yang 
di  buat  mengenai  kegunaan.  Perubahan  ini  harus  secara  langsung  berkaitan  dengan 
fungsinya  di  dunia  nyata  dengan  pengguna  pada  umumnya.  Dokumen  ini  harus  di  tulis 
semaksimal  mungkin  untuk  mendukung  perubahan  sehingga  mempermudah 
penanganan situasi yang sama di masa yang akan datang. 
  
7.  Pengujian asap (​smoke testing​) 
Jenis  pengujian  ini  di  sebut  juga  pengujian  kenormalan  (​sanity  testing)​ .  Pengujian  ini 
dilakukan  untuk  memeriksa  apakah  aplikasi  tersebut  sudah  siap  untuk  pengujian  yang 
lebih  besar  dan  bekerja  dengan  baik  tanpa  cela  sampai  tingkat  yang  paling  diharapkan. 
Pada  sebuah  pengujian  baru  atau  perbaikan  peralatan  yang  terpasang,  jika  aplikasi 
“berasap”,  aplikasi  tersebut  tidak  bekerja  !  istilah  ini  juga  merujuk  langsung  kepada 

90 
 

pengujian  perangkat  lunak  (​software​)  dasar.  Istilah  ini  awalnya  tercipta  pada  manufaktur 
kontainer  dan  pipa,  ketika  ​smoke  t​ elah  di  perkenalkan  untuk  menentukan  apakah  ada 
kebocoran.  Praktik  umum  di  Microsoft  dan  beberapa  perusahaan  perangkat  lunak 
shrini-wrap  ​lainnya  adalah  proses  “​daily  build  and  smoke  test​”.  Setiap  file  di  kompilasi, 
dihubungkan,  dan  digabungkan  menjadi  sebuah  perogram  yang dapat di eksekusi setiap 
hari,  dan  program  ini  kemudian  di  masukan  melalui  “​pengujian  asap  ”  (​smoke  test​)  yang 
relatif sederhana untuk memeriksa apakah produk “berasap” ketika produk dijalankan. 
  
8.  Pengujian pemulihan (​recovery testing)​  
Pengujian  pemulihan  (​recovery  testing  )​   pada  dasarnya  dilakukan  untuk  memeriksa 
seberapa  cepat  dan  baiknya  aplikasi  bisa  pulih  terhadap  semua  jenis  ​crash  atau 
kegagalan  hardware,  masalah  bencana  dan  lain  lain.  Jenis  atau  taraf  pemulihan  di 
tetapkan dalam persyaratan spesifikasi. 
  
9.  Pengujian volume (​volume testing​) 
Pengujian  volume  dilakukan  terhadap  efisiensi  dan  aplikasi.  Jumlah  data  yang  besar  di 
proses  melalui  aplikasi  (yang  sedang  di  uji)  untuk  memeriksa  keterbasan  ekstrem  dari 
sistem.  Seperti  namanya,  pengertian  volume  adalah  pengujian  sebuah  sistem  (baik 
perangkat  keras  dan  perangkat  lunak)  untuk  serangkaian  pengujian  dengan volume data 
yang  di  proses  adalah  subjek  dari  pengujian,  seperti  sistem  yang  mendapat  menangkap 
​ tau  dapat  memperbaharui  basis  data 
sistem  pengolahan  trasaksi  penjualan  ​real-time  a
atau pengembalian data (​data retrieval)​ . 

Pengujian  volume  akan  berusaha  memastikan  batas  –  batas fisik dan logis untuk sebuah 


kapasitas  sistem  dan  memastikan  apakah  batasan  dapat  di  terima  untuk  memenuhi 
proyeksi kapasitas dari pengolahan bisnis organisasi. 

10. Pengujian Domain (​domain testing​) 


Pengujian  domain  ini  sering  kali  menjelaskan  teknik  pengujian.  Beberapa  penulis 
biasanya  hanya  menulis  tentang  pengujian  domain  ketika  mereka  menulis  desain 
pengujian.  Dugaan  dasarnya  adalah  bahwa  nada  mengambil  ruang  pengujian  yang 
memungkinkan  dari  variabel  indvidu  dan  membaginya  lagi  kedalam  subset  (dalam 
beberapa  cara)  yang  sama.  Kemudian,  anda  menguji  perwakilan  dari  masing  masing 
subset. 
  
11. Pengujian skenario (​Scenario testing​) 
Pengujian  ini  adalah  sebuah  pengujian  yang  realitas,  kredibel  dan  memotivasi 
stakeholder,  tantangan  untuk  program  dan  mempermudah  penguji  untuk  melakukan 
evaluasi.  Pengujian  ini  menyediakan  kombinasi  variabel  –  variabel  dan  fungsinya  yang 

91 
 

sangat  berarti daripada kombinasi buatan yang anda dapatkan dengan pengujian domain 
atau desain pengujian kombinasi.   
  
12. Pengujian regresi (​regression testing)​  
Pengujian  ini  adalah  gaya  pengujian  yang  berfokus  pada  pengujian  ulang  (​retesting)​  
setelah  ada  perubahan.  Pada  pengujian  regresi  berorientasi  resiko  (​risk-oriented 
regression  testing)​ ,  daerah  yang  sama  yang  sudah  di  uji,  akan  kita  uji  lagi  dengan 
pengujian  yang  berbeda  (semakin  komplek).  Usaha  dari  pengujian  ini  bertujuan  untuk 
mengurangi resiko sebagai berikut : 
a.  Perubahan untuk memperbaiki bug yang gagal 
b.  Beberapa  perubahan  memiliki  efek  samping,  tidak  memperbaiki  bug  lama  atau 
memperkenalkan bug baru. 
  
13. Penerimaan pengguna (​user acceptance​) 
Dalam  pengujian  ini  perangkat  lunak  akan  di  serahkan  kepada  pengguna  dan  bekerja 
seperti  yang  diharapkan.  Pada pengembangan perangkat lunak, ​user acceptance testing 
(UAT),  juga  di  sebut  pengujian beta (​beta testing)​ , pengujian aplikasi (​application testing​), 
dan  pengujian  penggunaan  akhir  (​end  user  testing​)  adalah  tahapan  pengembangan 
perangkat  lunak  ketika  perangkat  lunak  di  uji  pada  “dunia  nyata”  yang  dimaksud  oleh 
​ engan  membayar  relawan 
pengguna.  UAT  dapat  dilakukan  dengan  ​in-house  testing  d
atau  subjek  penguji  perangkat  lunak  atau  biasanya  mendistribusikan  perangkat  lunak 
secara  luas  dengan  melakukan  pengujian  versi  yang  tersedia  secara  gratis  untuk  di 
unduh  melalui  web.  Pengalaman  awal  pengguna  akan  di  teruskan  kembali  kepada  para 
pengembang  yang  membuat  perubahan  sebelum  akhirnya  melepaskan  perangkat  lunak 
komersial. 
  
14. Pengujian alfa (​alpha testing)​  
Pada  pengujian  ini  akan  di  undang  ke  pusat  pengembangan  dengan  maksud  pengguna 
akan  mengunakan  aplikasi  dan  pengembang  mencatat  setiap  masukan  atau  tindakan 
yang  di lakukan oleh pengguna. Semua jenis perilaku yang tidak normal atau tidak sesuai 
dari sistem di catat dan di koreksi oleh pengembang. 
  
15. Pengujian beta (beta testing) 
Pada  tahap  penguian  ini  perangkat  lunak  di  distribusikan  sebagai  sebuah  versi  beta 
dengan  pengguna  yang  menguji  di  situs  mereka.  Kesalahan  atau  cacat  akan  di  laporkan 
kepada  pengembang.  Pengujina beta ini dilakukan setelah pengujian alfa. Versi beta ini di 
rilis  untuk  pengguna  yang  terbatas  di  luar  perusahaan.  Perangkat  lunak  di  lepaskan  ke 
kelompok  masyarakat  agar  dapat  memastikan  bahwa  perangkat  lunak  tersebut  memiliki 
beberapa kesalahan atau bug. 

92 
 

  

I. Cara melakukan Pengujian BlackBox 

Berikut adalah langkah-langkah umum yang diikuti untuk melakukan semua jenis Pengujian 
Kotak Hitam. 

● Awalnya, persyaratan dan spesifikasi sistem diperiksa. 


● Tester memilih input yang valid (skenario tes positif) untuk memeriksa apakah SUT 
memprosesnya dengan benar. Juga, beberapa input yang tidak valid (skenario tes negatif) 
dipilih untuk memverifikasi bahwa SUT dapat mendeteksi mereka. 
● Tester menentukan output yang diharapkan untuk semua input tersebut. 
● Penguji perangkat lunak membuat kasus uji dengan input yang dipilih. 
● Kasus uji dieksekusi. 
● Penguji perangkat lunak membandingkan keluaran aktual dengan keluaran yang 
diharapkan. 
● Cacat jika ada yang diperbaiki dan diuji ulang. 

 
Perbandingan Pengujian Kotak Hitam dan Kotak Putih: 
Pengujian Black Box  Pengujian White Box 
fokus utama pengujian black box  White Box Testing (Unit Testing) 
adalah pada validasi persyaratan  memvalidasi struktur internal dan kerja 
fungsional Anda.  kode perangkat lunak Anda 
Pengujian black box memberikan  Untuk melakukan White Box Testing, 
abstraksi dari kode dan berfokus  pengetahuan tentang bahasa 
pada upaya pengujian pada perilaku  pemrograman yang mendasarinya 
sistem perangkat lunak.  sangat penting. Sistem perangkat lunak 
saat ini menggunakan berbagai bahasa 
dan teknologi pemrograman dan tidak 
mungkin untuk mengetahui semuanya. 

Pengujian black box memfasilitasi  Pengujian white box tidak memfasilitasi 


komunikasi pengujian antar modul  komunikasi pengujian antar modul 

  

  

  

93 
 

Contoh form Software Test Plan (FSTP) 

​FORM SOFTWARE TEST PLAN 

  
Kode Uji : A-001 Tgl Uji: 1 Agustus 2019 Penguji: Guruputra 
Nama Aplikasi : SIMKA 
Nama Kasus Uji : ​Pengujian ​form login admin 

No  Skenario  Test Case  Hasil yang  Hasil  Kesimpulan 


Pengujian  Diharapkan  Pengujian 

1  Username dan  Username:  Sistem akan  Sesuai  Valid 


Password tidak  (kosong)  menolak dan  harapan 
diisi kemudian  menampilkan 
klik tombol  Password:  pesan“Harap isi 
Login  (kosong)  username dan 
password” 

2  Mengetikkan  Username:  Sistem akan  Sesuai  Valid 


Username, dan  menolak dan  harapan 
password tidak  admin  menampilkan 
diisi atau  pesan“Password 
kosong  Password:  belum diisi” 
kemudian klik  (kosong) 
tombol Login 

3  Mengetikkan  Username:  Sistem akan  Sesuai  Valid 


Password, dan  (kosong)  menolak dan  harapan 
username tidak  menampilkan 
diisi atau  Password: admin  pesan“Username 
kosong  belum diisi” 
kemudian klik 
tombol Login 

94 
 

4  Mengetikkan  Username:admin  Sistem akan  Sesuai  Valid 


Username  menolak dan  harapan 
dan/atau  Password: adm123  menampilkan 
password tidak  pesan“Username 
sesuai,  atau Password 
kemudian klik  yang anda 
tombol Login  masukan salah” 

5  Mengetikkan  Username: admin  Sistem menerima  Sesuai  Valid 


Username (diisi  akses login dan  harapan 
sesuai data  Password:  kemudian 
sebenarnya)  h4ll0w0rd  menampilkan 
dan password  halaman utama 
(diisi sesuai  Admin 
data 
sebeanrnya), 
kemudian klik 
tombol Login 

6. Release 

   

95 
 

Daftar Pustaka 
 
Upton D. 2007. ​Codeigniter for Rapid PHP Application Development​. Mumbai : Packt 
Publishing. 

Satzinger JW, Jackson RB, Burd SD. 2012. ​Systems Analysis and Design in a Changing 
World,​ 5th ed. Boston : Cengage Learning. 

Andre. 2017. Belajar HTML Dasar Part 1 : Pengertian HTML. Diambil dari: 

https://www.duniailkom.com/belajar-html-pengertian-html/​. (20 Agustus 2019) 

Andre. 2013. Tutorial Belajar CSS Part 1: Pengertian CSS, Apa yang dimaksud dengan 

CSS?. Diambil dari: 

https://www.duniailkom.com/tutorial-belajar-css-part-1-pengertian-css-apa-yang-di

maksud-dengan-css/​. (20 Agustus 2019) 

Andre. 2014. Tutorial Belajar Javascript Dasar Untuk Pemula. Diambil dari : 

https://www.duniailkom.com/tutorial-belajar-javascript-dasar-untuk-pemula/​. (20 

Agustus 2019) 

Astamal, Rio. 2006. Mastering Kode HTML Edisi Kedua. Surabaya : Rahasia Web Master. 

Dian, Muhar. 2019. Kursus Dasar-Dasar Developer Android. Diambil dari : 

https://google-developer-training.github.io/android-developer-fundamentals-cours

e-concepts/idn/​ . (20 Agustus 2019)  

Pressman, Roger, S. 2012. Rekayasa Perangkat Lunak.Pendekatan. Praktisi. Edisi 7. 


Yogyakarta : Andi.  
 
Wijaya 2007. Data Flow Diagram. Diambil dari : 
http://mouridho.blogspot.com/2014/01/data-flow-diagram-dfd.html​ (20 Agustus 
2019) 

96 
 

 
Rosa A.S dan M.Shalahudin .2014. Rekayasa Perangkat Lunak (Terstruktur dan 
Berorientasi. Objek). Bandung: Informatika. 

Booch, Maksimchuk, Engel, Young, Conallen, & Houston, 2007. Pengertian Sequence 
Diagram dan Contohnya. Diambil dari : 
https://ilmuakuntansi.co.id/pengertian-sequence-diagram-dan-contohnya/​ (20 
Agustus 2019) 
 
Ichsanti. 2019. Penetapan Harga (Tujuan, Metode, dan Strategi). Diambil dari : 
https://www.akuntansilengkap.com/ekonomi/penetapan-harga-tujuan-metode-dan-
strategi/​. (20 Agustus 2019) 
 
Alfa. 2011. Tahapan Penyusunan Kontrak. Diambil dari : 
https://alfanaikkelas.wordpress.com/2011/01/07/tahapan-penyusunan-kontrak/​. (20 
Agustus 2019) 
 
Peters, Kathleen. 2019. Software Project Estimation. Diambil dari : 
https://courses.cs.washington.edu/courses/cse403/07sp/assignments/estimationb
asics.pdf​. (20 Agustus 2019) 
 
Bussiness, Dev. 2018. Website Development: Berbagai Peran & Proses Dalam Proyek IT. 
Diambil dari : ​https://www.softwareseni.co.id/software-developer-indonesia/​. (20 
Agustus 2019) 
 
Putri, Kemala. 2018. 3 Bahasa Pemrograman Terbaik untuk Pengembangan Aplikasi 
Android. Diambil dari : 
https://teknologi.id/insight/bahasa-pemrograman-untuk-pengembangan-aplikasi-an
droid/​ . (21 Agustus 2019) 

Artikel PSBO : State Machine Diagram. Diambil dari : 


http://mangubay.blogspot.com/2013/04/artikel-psbo-state-machine-diagram.html 
(21 Agustus 2019) 

Simarmata janner​. 2010. Rekayasa Perangkat. Yogyakarta : Andi. 

Tutorail Testing: What is WHITE Box Testing?. Diambil dari: 


https://www.guru99.com/white-box-testing.html​ (21 Agustus 2019) 

  

97 
 

98 

Anda mungkin juga menyukai