## Pengukuran  Kualitas  Perangkat  Lunak  Website  Pendataan  Ekskul  Siswa Menggunakan Function Point
Rizky  Parlika 1 ,  Rayhan  Rizal  Mahendra 2 ,  Muhammad  Rafli  Aulia  Rojani  Lutfi 3 ,  Rizqy  Khoirul  Waritsin 4 , Humam Maulana Tsubasanofa Ramadhan 5 1,2,3,4,5 Universitas Pembangunan Nasional “Veteran” Jawa Timur

## I NFORMASI A RTIKEL

## ABSTRACT
Sejarah Artikel: Diterima Redaksi: 19 Juni 2022 Revisi Akhir:  15 September 2022
Diterbitkan Online : 10 Maret 2023 The development of software or software has started even since the creation of electronic computers. Software contains electronic data stored in computer devices. Measurement is the foundation of every engineering discipline and applies to software engineering as well. To evaluate the performance of a system or process, a mechanism is needed to observe and determine the level of efficiency. In software measurement there is an application to measure the value of the software. There are several methods of measuring software, one of which is the function point. Function point is one method that can measure software. This method produces the points needed to assess how much the price of a software is. The  points  are  divided  into  two  categories,  namely  Crude  Function  Point  (CFP)  and Relative Complexity Adjustment Factor RCAF. By using these points, a fixed price can be determined for a software.

## K ATA K UNCI
Software Engineering, Software Measuring, Software Metrics, Function Point

## K ORESPONDENSI
E-mail: rizkyparlika.if@upnjatim.ac.id

## 1. PENDAHULUAN
Rekayasa  perangkat  lunak,  yang  dalam  bahasa  Inggris  dikenal dengan  istilah software  engineering ,  merupakan  bidang  profesi dan  studi  yang  berfokus  pada  mempelajari  pembangunan perangkat  lunak  mulai  dari  perancangan,  pembuatan,  hingga pemeliharaan  perangkat  lunak  [1].  Dalam  rekayasa  perangkat lunak,  dikenal  istilah  siklus  hidup  pengembangan  perangkat lunak  atau  biasa  dikenal  dengan  SDLC  ( Software  Development Life  Cycle ).  SDLC  adalah  siklus  proses  penciptaan  atau pengembangan suatu sistem [2] [4].
Dalam  siklus  hidup  pengembangan  perangkat  lunak  atau disingkat  SDLC  ( Software  Development  Life  Cycle ),  terdapat pengujian  perangkat  lunak  atau software  testing sebagai  salah satu  tahapan  di  dalam  pengembangan  perangkat  lunak  [1]  [2]. Adanya pengujian perangkat lunak atau software testing ini tidak dapat  dipisahkan  dengan  istilah  pengukuran  kualitas  perangkat lunak atau dalam bahasa Inggris dikenal dengan sebutan software metrics .
Pengukuran kualitas perangkat lunak adalah kegiatan memberikan nilai numerik atau profil terhadap atribut komponen,
sistem, atau proses sebuah perangkat lunak dan membandingkan nilai-nilai tersebut dengan nilai standar yang berlaku pada
sebagian  besar  organisasi  [1].  Dengan  begitu  akan  didapat kesimpulan tentang kualitas suatu perangkat lunak tersebut [1].
Dalam  paper  ini  penulis  akan  mengukur  perangkat  lunak  yaitu website  Pendataan  Ekskul  Siswa  dengan  menggunakan  metode pengukuran Function Point .

## 2. TINJAUAN PUSTAKA

## 2.1 Pengukuran Perangkat Lunak
Berdasarkan Institute  of  Electrical  and  Electronics  Engineers (IEEE), pengukuran adalah ukuran tingkatan berdasarkan jumlah dan banyaknya dari sebuah sistem, komponen, atau proses yang mempunyai  suatu  atribut.  Mengukur  adalah,  menunjukkan jumlah  dari  luasan,  dimensi  dan  kapasitas.  Pada  awalnya, pengukuran  adalah  kegiatan  menentukan  angka  suatu  objek dengan  sempurna  dan  teratur.  Proses  menentukan  angka  ini menggambarkan  suatu  usaha  untuk  menentukan  karakteristik pada suatu objek.
Di  Dalam  pengukuran  perangkat  lunak,  membutuhkan  suatu jumlah satuan yang disebut dengan metrik. Metrik memiliki dua kategori yang dijabarkan oleh Pressman yaitu [5]:
1. Pengukuran secara langsung ( Direct Metric ) Direct Metrik adalah satuan metrik yang berhubungan dengan  objek  dari  software  secara  langsung,  contoh  : banyaknya  jumlah  baris  kode/ Line  of    Code (LOC), waktu  kinerja,  penggunaan  memori  dan  error  yang terdapat dalam jangka waktu.
2. Pengukuran secara tak langsung ( Indirect Metric ) Indirect  Metric adalah  satuan  metrik  yang  diperoleh dari  adanya  hubungan  interaksi  antara  software  itu sendiri  dengan  lingkungan  di  sekelilingnya,  contoh: kualitas, fungsionalitas, efisiensi, kompleksitas, reliabilitas, dan lain sebagainya.
Pada  umumnya,  pengukuran  secara  langsung  ( Direct  Metric ) lebih  mudah  diimplementasikan  ketimbang  pengukuran  secara tak  langsung  ( Indirect  Metric )  karena  dapat  memperoleh  hasil secara langsung. Sedangkan, untuk memperoleh  hasil pengukuran  secara  tak  langsung  ( Indirect  Metric )  diharuskan untuk  melalui  tahapan  yang  lebih  rumit  dalam  kalkulasi  dan akumulasi informasi yang diperlukan.

## 2.2 Function Point
function  point memiliki  fungsi  untuk  meringankan  salah  satu kekurangan dari metode LOC dengan cara mengurangi sebagian ukuran  program  yang  tidak  ada  pada  kode  sumber.  Pengguna merasa  metode  ini  sangat  berguna.  Hal  ini  disebabkan,  bahwa metrik dapat dikategorikan sebagai metrik yang berjalan sendiri.
Function  point dapat  dilihat  untuk  membandingkan  hasil  dari lingkungan software yang berbeda.
Selanjutnya, function  point ini  didapatkan  dari  spesifikasi  yang dapat digunakan  supaya  mendapatkan ukuran  program  sebelum pengembangan berlangsung. Transisi titik fungsi dan LOC tidak dapat linier, karena ukuran penerapannya tidak hanya bergantung pada jumlah fungsi, tetapi juga pada kompleksitasnya.
Perhitungan  dalam  metode Function  Point dibagi  menjadi  dua bagian perhitungan, yaitu Function Point yang tidak disesuaikan atau Unadjusted Function Point (UFP) dan Function Point yang disesuaikan atau Adjusted Function Point (AFP). Function Point yang tidak disesuaikan merupakan metrik yang digunakan untuk mengukur  perangkat  lunak  dengan  cara  menghitung  olahan informasi suatu fungsi terkait dengan jenis file, luaran, masukan data,  atau  kendali  eksternal.  Untuk  menentukan  tipe  fungsi pengguna dapat memanfaatkan pendekatan Data Flow Diagram (DFD)  yang  dapat  mewakilkan  fungsionalitas  suatu  perangkat lunak  dan Entity  Relationship  Diagram (ERD)  yang menggambarkan implementasi suatu basis data yang menyimpan tabel, field, ataupun atribut [6] [7].
Dalam  pengukuran  kualitas  perangkat  lunak  metode Function Point , terdapat lima parameter yang digunakan [16]:
1. External Input (Masukan Eksternal).
Semua masukan eksternal yang didapat dari pengguna ataupun  dari  aplikasi  lain.  Masukan  eksternal  biasa
dimanfaatkan  dalam  pembaruan internal  logic  file (ILF).
2. External Output (Luaran Eksternal).
Semua  luaran  eksternal  yang  ditampilkan  kepada pengguna  melalui  aplikasi  yang  bertujuan  untuk meneruskan informasi kepada pengguna mengenai data terkait  aplikasi  tersebut.  Luaran  eksternal  biasanya dapat berupa pesan error ,  laporan, tampilan informasi pada layar, dan lain sebagainya.
3. External Inquiry (Pemeriksaan Eksternal).
Pemeriksaan  eksternal  merupakan  penggabungan  dari komponen  masukan  dan  luaran  yang  berfungsi  untuk mendapatkan  respon  atau  luaran.  Pemeriksaan eksternal contohnya adalah interupsi sistem.
4. Internal Logical File (File Logika Internal).
File logika internal adalah sekumpulan data yang saling berkaitan  dan  dikelompokkan  secara  logis.  Data didapatkan dari masukan yang kemudian diproses oleh aplikasi  untuk  disimpan  dengan  struktur  yang  logis. Basis  data  adalah  salah  satu  contoh  dari  file  logika internal.
5. External Interface Files (File Antarmuka Eksternal). File antarmuka eksternal merupakan  sekumpulan data yang disimpan secara eksternal yang saling berhubungan  logis  yang  file  tersebut  berguna  untuk aplikasi tersebut.
Selain itu, juga ada perhitungan Relative Complexity Adjustment Factor (RCAF)  yang  terdiri  atas  14  parameter  yang  masing- masing dapat diberi bobot nilai 0 (tidak pengaruh), 1 (insidental), 2 (moderat), 3 (rata-rata), 4 (signifikan), dan 5 (essential). Berikut adalah 14 parameter tersebut:
1. Komunikasi data
2. Pemrosesan terdistribusi
3. Performa
4. Konfigurasi
5. Frekuensi penggunaan software
6. Frekuensi masukan data
7. Kemudahan bagi pengguna
8. Frekuensi pembaruan data
9. Processing data
10. Kemungkinan penggunaan kembali kode program
11. Kemudahan dalam instalasi
12. Kemudahan operasional ( backup, recovery, dsb. ) 13. Perangkat lunak dibuat untuk multi organisasi
14. Mengikuti perubahan / fleksibel
3. METODOLOGI

## 3.1 Flowchart
Gambar 1. Flowchart metodologi
3.2 Studi Literatur
Pada  tahap  pertama,  penulis  mempelajari  materi  melalui  studi literatur  yang  merupakan  kegiatan  mengumpulkan  data  bacaan, membaca  sumber,  mencatat  hal  penting,  serta  mengolah  bahan penelitian [3]. Sumber yang penulis gunakan sebagian besar dari buku dan paper yang dicari melalui internet.

## 3.3 Panduan CFP dan RCAF
Panduan dibuat untuk mempermudah pembaca memahami arti di balik nilai-nilai yang penulis berikan pada perangkat lunak yang akan penulis nilai nanti. Berikut adalah panduan untuk CFP dan RCAF:

## Tabel 1. Panduan definisi penilaian CFP
Tipe Kompleksitas Definisi Input Sederhana (3) Input  sederhana  apabila  data yang  diinput  pada  suatu  fitur hanya  dicocokkan  dengan  data yang  telah  ada  dan  tidak melibatkan banyak data. Menengah (4) Input  menengah  apabila  fitur memungkinkan untuk memasukkan banyak data sekaligus ke dalam basis data. Kompleks (6) Input  kompleks  apabila  fitur memungkinkan untuk memperbarui  basis  data  seperti menambah  /  menghapus  / mengubah data. Output Sederhana (4) Output  tergolong  sederhana apabila fitur hanya menampilkan data statis. Menengah (5) Output  tergolong  menengah apabila fitur menampilkan banyak data dari basis data atau menampilkan data berupa gambar,  video,  atau  tipe  data yang serupa. Kompleks (7) Output  tergolong  kompleks apabila  data  yang  ditampilkan adalah  data  hasil  perhitungan dari data  yang lain  dan melibatkan  banyak  data  pada basis data. Query / Search / View Sederhana (3) Data  yang  tersimpan  terlihat simpel  disimpan  tidak  dalam database. Menengah (4) Data yang tersimpan menunjukan proses. Kompleks (6) Data  yang  tersimpan  memiliki data yang lebih dari 1/kompleks dan disimpan didalam database. File / Tabel / Database Sederhana (7) Data  berisi  tentang  file  atau database yang jumlahnya sedikit, sekitar lima baris data. Menengah (10) Data  berisi  tentang  file  atau database yang jumlahnya cukup banyak dan beberapa berhubungan dengan data lainnya Kompleks (15) Data  berisi  tentang  file  atau database yang jumlahnya sangat  banyak  dan  semua  data tersebut terhubung dengan data lainnya. Interface Eksternal Sederhana (6) Tergolong  sederhana  apabila interface  external  hanya  dapat mengambil satu jenis data. Menengah (7) Tergolong  menengah  apabila interface  external  hanya  dapat mengambil  dua  atau  tiga  jenis data. Kompleks (10) Tergolong  kompleks  apabila interface external dapat mengambil lebih dari tiga jenis data.
Tabel 2. Panduan definisi penilaian RCAF
Aspek Kompleksitas Definisi Komunikasi data 0 (Tidak pengaruh) Perangkat  lunak  merupakan perangkat lunak yang berdiri sendiri  ( stand-alone )  atau perangkat lunak yang murni menggunakan batch processing . 1 (Insidental) Perangkat lunak menggunakan batch processing namun mempunyai  entri  data  jarak jauh  atau  pencetakan  jarak jauh. 2 (Moderat) Perangkat lunak menggunakan batch processing namun mempunyai  entri  data  jarak jauh  serta  pencetakan  jarak jauh. 3 (Rata-rata) Perangkat  lunak  mencakup online  data  collection atau proses jarak jauh ( teleprocessing ) front - end ke batch  processing atau
query system . 4 (Signifikan) Perangkat lunak tidak hanya sekedar front - end ,  tetapi hanya  mengakomodasi  satu jenis komunikasi teleprocessing . 5 (Essential) Perangkat lunak tidak hanya sekedar front - end ,  dan menyediakan lebih dari satu jenis  metode  komunikasi teleprocessing . Pemrosesan terdistribusi 0 (Tidak pengaruh) Data tidak dipindahkan atau diproses  pada  komponen sistem lainnya. 1 (Insidental) Data disiapkan untuk pemindahan, kemudian dipindahkan  dan  diproses pada komponen sistem, untuk pemrosesan pengguna. 2 (Moderat) Data disiapkan untuk pemindahan, kemudian dipindahkan  dan  diproses pada  komponen  lain  dari sistem, bukan untuk pemrosesan pengguna. 3 (Rata-rata) Pemrosesan  tersebar  dan pemindahan  data  dilakukan secara online secara  satu arah. 4 (Signifikan) Pemrosesan  tersebar  dan pemindahan data online secara dua arah. 5 (Essential) Pemrosesan  tersebar  dan pemindahan data berlangsung  secara on-line dan dilakukan secara dinamis  pada  komponen sistem yang sesuai. Performa 0 (Tidak pengaruh) Tidak ada persyaratan kinerja khusus yang ditentukan oleh pengguna. 1 (Insidental) Persyaratan kinerja dan desain dinyatakan dan dipertimbangkan, tetapi tidak diperlukan adanya tindakan khusus. 2 (Moderat) Waktu respons atau throughput sangat penting di semua  jam  kerja.  Tidak diperlukan  desain  khusus untuk menggunakan prosesor. Tangani persyaratan  latensi  dengan sistem antarmuka terbatas.. 3 (Rata-rata) Waktu respons atau throughput  sangat  penting selama  semua  jam  kerja. Tidak  diperlukan  desain khusus  untuk  penggunaan CPU. Memproses persyaratan  tenggat  waktu dengan  sistem  antarmuka membatasi. 4 (Signifikan) Persyaratan kinerja pengguna  yang  dinyatakan secara ketat untuk memerlukan tugas penguraian  kinerja  selama fase desain. 5 (Essential) Alat analisis kinerja digunakan dalam fase pengembangan,  desain,  dan penerapan  untuk  memenuhi persyaratan kinerja pengguna. Konfigurasi 0 (Tidak pengaruh) Penggunaan  platform  pada hardware sangat jarang digunakan bahkan tidak dipakai  dimana  sistem  akan mengeksekusi 1 (Insidental) Penggunaan  platform  pada hardware  dilakukan  hanya pada waktu tertentu saja 2 (Moderat) Penggunaan  platform  pada hardware kadang-kadang bisa digunakan tetapi, selalu cenderung ke tengah-tengah. 3 (Rata-rata) Penggunaan  platform  pada hardware  sering  digunakan untuk sistem akan
dieksekusi. 4 (Signifikan) Penggunaan  platform  pada hardware  sangat  penting untuk  digunakan  sebagai sistem akan dieksekusi. 5 (Essential) Penggunaan  platform  pada hardware  dianggap  hal-hal yang perlu saja sebagaimana sistem yang akan dieksekusi. Frekuensi pengguna software 0 (Tidak pengaruh) Pengembangan aplikasi tidak ada pengaruhnya terhadap transaksi jual beli/bisnis 1 (Insidental) Pengembangan aplikasi pada  transaksi  bisnis  hanya terjadi  pada  waktu  tertentu saja 2 (Moderat) Pengembangan aplikasi hanya terjadi ketika dibutuhkan tetapi selalu berjalan  ke  arah  tengah- tengah  (kadang  digunakan, kadang tidak) 3 (Rata-rata) Pengembangan aplikasi pada  transaksi  bisnis  sering dilakukan ketika pengembangan aplikasi berjalan  agar  mendapatkan hasil yang untung 4 (Signifikan) Pengembangan aplikasi pada  transaksi  bisnis  sangat penting  karena  biaya  pada pengembangan aplikasi tidaklah murah 5 (Essential) Pengembangan aplikasi pada transaksi bisnis penting dilakukan untuk mengembangkan pengembangan aplikasi Frekuensi input data 0 (Tidak pengaruh) Data  yang  dimasukan  ke software tidak pengaruh apakah  data  tersebut  akurat atau tidak. 1 (Insidental) Data  yang  dimasukan  ke software  hanya  digunakan pada waktu tertentu saja. 2 (Moderat) Data  yang  dimasukan  ke software  agar  keakuratan data tidak selalu diperiksa. 3 (Rata-rata) Data  yang  dimasukan  ke software  sering  dilakukan untuk  mengecek  keakuratan data yang telah dimasukan. 4 (Signifikan) Data  yang  dimasukan  ke software sangat penting
untuk  mengecek  keakuratan data yang telah dimasukan. 5 (Essential) Data  yang  dimasukan  ke software data yang perlu saja tidak semua data di cek. Kemudahan bagi pengguna 0 (Tidak pengaruh) Penggunaan  aplikasi  pada user  tidak  dipertimbangkan faktor  kemudahan  dalam memakai aplikasi tersebut 1 (Insidental) Penggunaan  aplikasi  pada user  hanya  digunakan  pada waktu tertentu saja 2 (Moderat) Penggunaan  aplikasi  pada user  tidak  sering  dilakukan apakah aplikasi tersebut mudah digunakan 3 (Rata-rata) Penggunaan  aplikasi  pada user sering dilakukan apakah aplikasi tersebut mudah digunakan 4 (Signifikan) Penggunaan  aplikasi  pada user sangat penting dilakukan  apakah  aplikasi mudah digunakan atau tidak 5 (Essential) Penggunaan  aplikasi  pada user  berkaitan  dengan  hal- hal  yang  perlu  saja  tidak semua  penggunaan  mudah dilakukan atau tidak Frekuensi pembaruan data 0 (Tidak pengaruh) Tidak terdapat pembaruan 1 (Insidental) Pembaruan  secara  online dari  satu  hingga  tiga  file kontrol disertakan. Frekuensi update rendah dan recovery mudah. 2 (Moderat) Pembaruan  secara  online dari  empat  atau  lebih  file kontrol disertakan. Frekuensi update rendah dan recovery mudah. 3 (Rata-rata) Pembaruan secara online file logika internal utama disertakan. 4 (Signifikan) proteksi dari kehilangan data penting  telah dirancang dan diimplementasikan secara khusus ke dalam sistem. 5 (Essential) Prosedur pemulihan otomatis dengan keterlibatan manusia minimum.
Processing data Keterangan Komponen pemrograman kompleks: - Kontrol  sensitif  dan/atau pemrosesan keamanan khusus aplikasi. - Pemrosesan  logis  yang luas - Pemrosesan  matematika yang luas - Banyak exception processing, mengakibatkan  transaksi tidak  lengkap  sehingga harus diproses lagi. - Pemrosesan kompleks untuk menangani berbagai kemungkinan input/output. 0 (Tidak pengaruh) Tidak terdapat program kompleks seperti di atas. 1 (Insidental) Terdapat 1 program kompleks seperti di atas 2 (Moderat) Terdapat 2 program kompleks seperti di atas 3 (Rata-rata) Terdapat 3 program kompleks seperti di atas 4 (Signifikan) Terdapat 4 program kompleks seperti di atas 5 (Essential) Terdapat 5 program kompleks seperti di atas Kemungkin an penggunaan kembali kode program 0 (Tidak pengaruh) Tidak  terdapat  kode  yang bisa digunakan lagi. 1 (Insidental) Kode  yang dapat  digunakan lagi diterapkan pada aplikasi. 2 (Moderat) Kurang  dari  10%  dari  kode aplikasi yang dikembangkan dimaksudkan untuk digunakan  di  lebih  dari  satu aplikasi. 3 (Rata-rata) Sepuluh  persen  (10%)  atau lebih dari kode aplikasi yang dikembangkan dimaksudkan untuk  digunakan  di  lebih dari satu aplikasi. 4 (Signifikan) Aplikasi    disajikan  dan/atau didokumentasikan secara spesifik agar mudah digunakan kembali, dan aplikasi  disesuaikan  pada tingkat kode sumber. 5 (Essential) Aplikasi  didokumentasikan untuk memudahkan
reusability, dan aplikasi disesuaikan untuk digunakan dengan mempertahankan pengaturan pengguna. Kemudahan dalam instalasi 0 (Tidak pengaruh) Tidak  terdapat  peninjauan eksklusif  yang  diperlukan oleh  pengguna  dan  tidak terdapat  pengaturan  khusus yang diperlukan dalam instalasi. 1 (Insidental) Tidak  terdapat  peninjauan eksklusif  yang  diperlukan oleh pengguna, tetapi diperlukan parameter khusus untuk melakukan instalasi 2 (Moderat) Persyaratan pemasangan dan konversi  yang  ditentukan pengguna, petunjuk pemasangan  dan    konversi disediakan dan diuji. Dampak  konversi  terhadap proyek tidak dianggap signifikan 3 (Rata-rata) Persyaratan pemasangan dan konversi  yang  ditentukan pengguna, petunjuk pemasangan  dan    konversi disediakan dan diuji. Dampak  konversi  terhadap proyek dianggap signifikan 4 (Signifikan) Selain  dua  alat  sebelumnya, alat penginstalan dan konversi otomatis disediakan dan diuji. 5 (Essential) Selain tiga alat sebelumnya, alat penginstalan dan konversi otomatis disediakan dan diuji. Kemudahan operasional (backup, recovery, dsb.) 0 (Tidak pengaruh) Aplikasi tidak dapat melakukan  prosedur  khusus selain  back-up  normal  yang dilakukan oleh pengguna 1 (Insidental) prosedur  dalam  melakukan pengaktifan ( start-up ), pencadangan ( back-up ), dan pemulihan ( recovery) tersedia, tetapi campur tangan manusia dibutuhkan 2 (Moderat) prosedur  dalam  melakukan pengaktifan ( start-up ), pencadangan ( back-up ), dan pemulihan ( recovery) tersedia,  tetapi  tidak  ada campur tangan manusia. 3 (Rata-rata) Aplikasi meminimalisir kebutuhan untuk
pemasangan  pita  dan/atau
akses  data  jarak  jauh  yang membutuhkan manusia 4 (Signifikan) Aplikasi meminimalisir kebutuhan untuk penanganan kertas 5 (Essential) Tidak  ada  campur  tangan manusia  dalam  pengawasan ketika  melakukan  operasi selain  untuk  menghidupkan atau mematikan aplikasi. . Software dibuat untuk multi organisasi perusahaan / klien 0 (Tidak pengaruh) Hanya ada satu lokasi instalasi  dan  itu  sudah dipertimbangkan dalam desain 1 (Insidental) Kebutuhan  untuk  lebih  dari satu situs instalasi dimasukkan ke dalam desain. aplikasi juga dirancang untuk  bekerja hanya di lingkungan hardware dan software yang identik. 2 (Moderat) Mempertimbangkan beberapa situs instalasi dalam desain. Aplikasi yang telah  dibuat  hanya  dapat berjalan  di    lingkungan hardware dan/atau software yang sejenis. 3 (Rata-rata) Mempertimbangkan beberapa situs instalasi dalam  desain.  Aplikasi  juga dibuat    untuk  dapat  bekerja di  lingkungan  perangkat keras  dan/atau  perangkat lunak yang berbeda. 4 (Signifikan) Dokumentasi  dukungan  dan rencana yang disediakan dan diuji untuk aplikasi pendukung di beberapa lokasi instalasi, dan aplikasi seperti  dijelaskan oleh 2. 5 (Essential) Tersedia  dokumentasi  dan rencana  dukungan  dan  dites untuk mengakomodasi aplikasi  di  beberapa  situs instalasi dan aplikasi tersebut seperti yang dijelaskan oleh 3. Mengikuti perubahan / fleksibel Keterangan Karakteristik  pada  suatu aplikasi: - Flexible query - Tersedia fitur query dan report yang dapat menangani  permintaan sederhana. (dihitung sebagai 1 item) - Tersedia fitur query dan report yang dapat menangani  permintaan dengan tingkat kompleksitas secara umum. (dihitung sebagai 2 item) - Tersedia fitur query dan report yang dapat menangani  permintaan dengan tingkat kompleksitas tinggi. (dihitung sebagai  3 item) - Business Control Data - Data dicadangkan dalam tabel yang ditata oleh  pengguna,  tetapi perubahan  yang  terjadi hanya  berlaku  pada siklus bisnis berikutnya. (dihitung sebagai 1 item) - Data dicadangkan dalam tabel yang ditata oleh  pengguna,  dan perubahan  yang  terjadi langsung  berlaku  pada siklus tersebut. (dihitung sebagai  2 item) 0 (Tidak pengaruh) Tidak ada satupun diatas 1 (Insidental) Total satu (1) item 2 (Moderat) Total dua (2) item 3 (Rata-rata) Total tiga (3) item 4 (Signifikan) Total empat (4) item 5 (Essential) Total lima (5) item

## 3.4 Aplikasi Pengukuran
Penulis  membuat  aplikasi  pengukuran Function  Point .  Aplikasi ini akan membantu penulis dalam menghitung total nilai Function Point sehingga penulis hanya perlu memasukkan nilai-nilai CFP dan  RCAF  dan  aplikasi  akan  menghitung  nilai  total Function Point secara  otomatis.  Penulis  menggunakan  bahasa  Python
dengan  memanfaatkan  GUI toolkit tkinter  dalam  pembuatan aplikasi ini.
Gambar 2. Tampilan aplikasi pengukuran Function Point

## 3.5 Website Pendataan Ekskul Siswa
Website  ini  dirancang  untuk  memudahkan  proses  pendataan ekstrakurikuler siswa. Terdapat lima jenis ekstrakurikuler yaitu, voli, sepak bola, tari tradisional, musik, dan rohis. sistem dapat diakses  oleh  admin  sekolah.  admin  dapat  membuat  database, menghapus  database,  mengedit  data  anggota  dan  dapat menghapus data anggota. admin juga dapat mendaftarkan ekskul siswa serta melihat grafik dan tabel.
Berikut ini fitur-fitur hasil perancangan sistem yang telah dibuat:
1. Sistem  Login  Admin:  sebelum  masuk  ke  dalam halaman  utama,  admin  perlu  login  terlebih  dahulu dengan username “admin” dan password “123456S”.
Gambar 3. Halaman login
2. Buat dan Hapus Database: admin dapat membuat dan menghapus database sesuai keinginan.
Gambar 4. create dan delete database
3. Input  Data  Anggota  Ekskul:  admin  dapat  menginput nama  siswa,  NIS,  kelas,  dan  ekskul  yang  diikuti  oleh siswa.  admin  juga  dapat  menghapus  data  siswa  dan mengubah data siswa.

## Gambar. 5 Input data anggota
4. Input Data absensi siswa: admin dapat mengisi absensi pada tiap ekskul sesuai dengan kehadiran tiap anggota, yang perlu dilakukan adalah memilih pertemuan ekskul mulai dari pertemuan ke-1 hingga pertemuan ke-10 lalu mengisi  tanggal  pertemuannya.  setelah  itu  admin memilih  opsi  “hadir”  apabila  siswa  menghadiri pertemuan  dan  opsi  “tidak  hadir”  apabila  tidak menghadiri  pertemuan.  Admin  juga  dapat  mengubah dan menghapus data absensi siswa.

## Gambar. 6 Input absensi
5. Input  Data  Nilai:  admin  dapat  mengisi  nilai  ekskul siswa. tiap anggota ekskul memiliki dua penilaian yaitu PTS  dan  PAS.  admin  hanya  perlu  memilih  tipe penilaian  kemudian  memasukan  nilai  tersebut  pada siswa yang dituju.
Gambar. 7 Input data nilai
6. Grafik  Anggota  Ekskul  dan  Absensi:  Sistem  dapat menampilkan  grafik  jumlah  anggota  tiap  ekskul  dan absensi ekskul pada tiap pertemuan untuk menampilkan  grafik  absensi,  admin  perlu  memilih terlebih  dahulu  ekskul  apa  yang  ingin  ditampilkan. grafik  akan  berubah  secara  otomatis  sesuai  dengan inputan yang dimasukkan oleh admin.
Gambar. 8 Grafik anggota dan absensi anggota ekskul
7. Mendukung  Tampilan  Responsive  Website  Pada Semua Device: website yang penulis buat mendukung untuk  digunakan  di  berbagai  perangkat  seperti handphone,tablet,  laptop,  dan  desktop.  sistem  akan menyesuaikan ukuran tiap elemen berdasarkan resolusi layar perangkat.

## Gambar. 9 tampilan mobile
8. Lihat  Data  List  Anggota,  Absen  dan  Nilai  dalam Bentuk  Tabel:  selain  melihat  grafik  data,  admin  juga dapat  melihat  data  anggota,  absen,  dan  nilai  secara keseluruhan pada daftar tabel yang telah dibuat. admin dapat mengubah data yang sudah ada dan menghapus data tersebut.
Gambar. 10  lihat, ubah, dan hapus data anggota
Gambar. 11 lihat, ubah, dan hapus data absensi
Gambar. 12 lihat, ubah, dan hapus data nilai
9. Export dan upload database: sistem dapat mengekspor dan mengunggah database yang telah dimasukkan oleh admin dengan format json.

## Gambar. 13  Export dan upload database
10. Export data table dalam bentuk dokumen: sistem dapat mengekspor  data  tabel  yang  telah  dimasukkan  oleh admin dengan format excel dan PDF.

## Gambar. 14 Export data table dalam bentuk excel
11. Rangking  Nilai  dan  Absensi:  Dengan  adanya  fitur  ini admin  dapat  mengetahui  secara  otomatis  nilai  terbaik dan  murid  terteladan  berdasarkan  data  nilai  dan kehadiran siswa.

## Gambar. 15 Rangking atau melihat
12. Grafik anggota ekskul berdasarkan kelas: Sistem dapat menampilkan grafik anggota ekskul berdasarkan kelas siswa. Grafik ini berada pada menu ekskul. Jadi admin dapat langsung mengetahui banyaknya anggota.
Gambar. 16 Grafik anggota berdasarkan kelas
13. Grafik  absen  berdasarkan  pertemuan:  Sistem  dapat menampilkan  grafik  absensi  tiap  ekskul  berdasarkan pertemuan. Dengan adanya grafik ini admin jadi lebih mudah  mengetahui  seberapa  banyak  siswa  yang mengikuti ekskul.
Gambar. 17 Grafik absensi berdasarkan pertemuan
14. Grafik  nilai  berdasarkan  rata-rata  nilai:  Sistem  dapat menampilkan  grafik  nilai  berdasarkan  rata-rata  nilai PTS  dan  PAS.  Grafik  ini  berada  di  menu  nilai,  jadi admin dapat mengetahui rata - rata nilai tiap ekskul dan dapat  menjadi  masukan  dalam  menentukan  materi kegiatan ekskul kedepannya.

## Gambar. 18 Grafik rata-rata nilai

## 4. HASIL DAN PEMBAHASAN

## 4.1 Pengukuran Crude Function Point (CFP) pada Website Pendataan Ekskul Siswa
Pada pengukuran Crude Function Point (CFP), ada lima hal yang harus dinilai, yaitu input, output, query/search/view, file/tabel/database, dan interface eksternal.
Pada website ini ditemukan empat fitur bertipe input, yaitu fitur login,  absen,  CRUD  data  siswa,  dan  CRUD  nilai.  Fitur  bertipe output pada website ini ada dua fitur, yaitu Grafik rata-rata nilai dan menghitung predikat. Fitur bertipe query / search / view pada website ini ada satu fitur yaitu cari nama siswa. Fitur bertipe File / tabel / database ditemukan 4 fitur, yaitu tabel siswa, tabel ekskul, tabel  nilai, dan  tabel  absensi. Fitur bertipe ditemukan dua  fitur, yaitu menampilkan excel dan menampilkan PDF.
Berikut adalah tabel yang menjelaskan bobot fitur-fitur dari setiap tipe pada Website Pendataan Ekskul Siswa beserta keterangannya.
Tabel 3. Penilaian CFP Tipe Fitur Kompleksitas (bobot) Keterangan
Input
Login Sederhana (3) Input  tergolong sederhana apabila data yang diinput pada suatu  fitur  hanya dicocokkan dengan data yang telah  ada  dan tidak  melibatkan banyak data. Absen Menengah (4) Input  tergolong menengah apabila fitur memungkinkan untuk memasukkan banyak data sekaligus ke dalam basis data. CRUD data siswa Kompleks (6) Input  tergolong kompleks apabila fitur memungkinkan untuk memperbarui basis  data  seperti menambah/meng hapus/mengubah data. CRUD nilai Kompleks (6) Output Grafik rata-rata nilai Kompleks (7) Output  tergolong kompleks apabila data yang ditampilkan adalah  data  hasil perhitungan  dari data  yang  lain dan melibatkan banyak data pada basis data. Menghitun g predikat Kompleks (7) Query / search / view Cari nama siswa Sederhana (3) Data yang tersimpan terlihat simpel  disimpan tidak dalam database. File / tabel / database Tabel siswa Menengah (10) Data berisi tentang  file  atau database yang jumlahnya  cukup banyak dan beberapa berhubungan dengan data lainnya Tabel ekskul Menengah (10) Tabel nilai Menengah (10) Tabel absensi Menengah (10)
Interface eksternal Menampilk an excel Menengah (7) Tergolong menengah apabila  interface external hanya dapat  mengambil dua atau tiga jenis data. Menampilk an PDF Menengah (7) TOTAL CFP 90

## 4.2 Pengukuran Relative Complexity Adjustment

## Factor (RCAF) pada Website Pendataan Ekskul
Siswa
Pada  pengukuran Relative  Complexity  Adjustment  Factor (RCAF), terdapat empat belas aspek yang harus dinilai, berikut ini hasil tabel pengukurannya.

## Tabel 4. Penilaian RCAF
No Karakteristik Bobot Keterangan 1 Tingkat Kompleksitas Komunikasi Data 1 Perangkat lunak menggunakan batch processing namun mempunyai  entri  data  jarak jauh  atau  pencetakan  jarak jauh. 2 Tingkat Kompleksitas pemrosesan Terdistribusi 0 Data tidak dipindahkan atau diproses  pada  komponen sistem lainnya. 3 Tingkat Kompleksitas Performance 0 Tidak ada persyaratan kinerja khusus yang ditentukan oleh pengguna. 4 Tingkat Kompleksitas Konfigurasi 0 Penggunaan  platform  pada hardware sangat jarang digunakan  bahkan  tidak dipakai dimana sistem akan mengeksekusi 5 Tingkat Frekuensi Pengguna software 2 Pengembangan aplikasi hanya terjadi ketika dibutuhkan  tetapi  selalu berjalan  ke  arah  tengah- tengah  (kadang  digunakan, kadang tidak) 6 Tingkat Frekuensi Input Data 2 Data  yang  dimasukan  ke software  agar  keakuratan data tidak selalu diperiksa. 7 Tingkat Kemudahan Penggunaan Bagi User 4 Penggunaan  aplikasi  pada user sangat penting dilakukan  apakah  aplikasi mudah digunakan atau tidak 8 Tingkat Frekuensi Update Data 4 proteksi  dari  kehilangan data penting telah dirancang dan diimplementasikan secara
khusus ke dalam sistem. 9 Tingkat Kompleksitas Processing Data 2 Terdapat 2 program kompleks seperti di atas 10 Tingkat Kemungkinan Penggunaan Kembali / Reusable Kode Program 4 Aplikasi    dikemas  dan/atau didokumentasikan secara spesifik agar mudah digunakan  kembali,  dan aplikasi  disesuaikan  pada tingkat kode sumber. 11 Tingkat Kemudahan Dalam Instalasi 5 Selain tiga alat sebelumnya, alat penginstalan dan konversi otomatis disediakan dan diuji. 12 Tingkat Kemudahan Operasional Software (backup, recovery, dan sebagainya) 2 prosedur  dalam  melakukan pengaktifan ( start-up ), pencadangan ( back-up ), dan pemulihan ( recovery) tersedia,  tetapi  tidak  ada campur tangan manusia. 13 Tingkat

## Software
Dibuat untuk Multi Organisasi Perusahaan/kli en 3 Mempertimbangkan beberapa situs instalasi
dalam desain. Aplikasi juga dibuat    untuk  dapat  bekerja di  lingkungan  perangkat keras  dan/atau  perangkat lunak yang berbeda. 14 Tingkat Kompleksitas dalam Mengikuti Perubahan / Fleksibel 2 Total dua (2) item TOTAL RCAF 31

## 4.3 Penghitungan Function Point
Pada  perhitungan  function  point,  terdapat  hasil  beserta  rumus untuk menghitung function point dibawah ini :
Total CFP = 90
Total RCAF = 31 Rumus Function Point (FP) : FP = CFP x (0,65 + 0,01 x RCAF) = 90 x (0,65 + 0,01 x 31) = 90 x 0,96 = 86,4
Gambar 19. Penghitungan Function Point dengan aplikasi

## 4.4 Estimasi Harga Software
Dari hasil perhitungan poin-poin dengan aplikasi function point, dapat  ditentukan  estimasi  biaya  terhadap  software  pendataan ekstrakurikuler  siswa.  Untuk  harga  1  poin,  penulis  menetapkan harga senilai Rp 27.272. Estimasi biaya didasarkan pada website dari  dicoding  yang  menyebutkan  bahwa  gaji  seorang  web developer sebesar Rp 4.845.033. Oleh karena itu, harga software pendataan ekstrakurikuler ditetapkan sebagai berikut:
● Gaji/hari Web Developer
Jumlah hari kerja selama satu bulan adalah 22 hari dengan 5 hari kerja dan 2 hari libur. Maka ditetapkan gaji/hari sebagai berikut:
Rp 4.845.033 : 22 = Rp 220.228

## ● Gaji/jam Web Developer
Jumlah jam kerja selama satu hari adalah 8 jam. Maka ditetapkan gaji/jam sebagai berikut:
Rp 220.228 : 8 = Rp 27.528 No Pekerjaan Gaji/bulan Gaji/jam 1 Web Developer Rp 4.845.033 Rp 27.528
● Harga/poin pada hasil perhitungan function point
Dari perhitungan gaji/jam web developer, maka dapat diketahui harga  dari  website  pendataan  ekstrakurikuler  siswa  sebagai berikut:
Rp 27.528 * 86,4 = Rp 2.378.419
Dari  hasil  perhitungan  poin-poin  penilaian  dengan  harga  yang diberikan, dihasilkan harga Rp  2.378.419

## 5. KESIMPULAN DAN SARAN
Dari  hasil  dan  pembahasan  yang  sudah  penulis  susun  di  atas, dapat disimpulkan bahwa:
1. Function point dapat digunakan untuk membandingkan hasil  dari  lingkungan  perangkat  lunak  yang  berbeda- beda.
2. Terdapat lima parameter yang digunakan dalam metode Function Point, yaitu External Input, External Output, External  Inquiry,  Internal  Logical  File,  dan  External Interface Files.
3. CFP  (Crude  Function  Point)  pada  web  aplikasi Pendataan Ekskul Siswa ini mendapatkan 90 poin.
4. RCAF (Relative Complexity Adjustment Factor) pada web aplikasi Pendataan ekskul siswa mendapatkan 31 poin
5. FP total pada web aplikasi Pendataan Ekskul Siswa ini adalah 86,4 poin.

## DAFTAR PUSTAKA
[1] I. Sommerville, Software Engineering, 9 penyunt., Boston: Pearson, 2011.
[2] R.  A.  Sukamto  dan  M.  Salahuddin,  Rekayasa  Perangkat Lunak  (Terstruktur  dan  Berorientasi  Objek),  Bandung: Informatika Bandung, 2016.
[3] M. Zed, Metode Penelitian Kepustakaan, Jakarta: Yayasan Obor Indonesia, 2008.
[4] S.  M.  Salve,  S.  N.  Samreen  dan  N.  Khatri-Valmik,  “A Comparative  Study  on  Software  Development  Life  Cycle Models,” International Research Journal of Engineering and Technology (IRJET), vol. 5, no. 2, pp. 696-700, 2018.
[5] R. S. Pressman dan B. R. Maxim, Software Engineering: A Practitioner's Approach, 2014.
[6] F. P. Laksamana, A. R. Perdanakusuma dan M. C. Saputra, “Evaluasi  Biaya  Pengembangan  Sistem  Informasi Pengelolaan  Arsip  Surat  (SIPAS)  Menggunakan  Function Point  dan  Object  Point  (Studi  Kasus  :  PT  Sekawan  Media Informatika),”  Jurnal  Pengembangan  Teknologi  Informasi dan Ilmu Komputer, vol. 2, no. 8, pp. 2692-2701, 2018.
[7] T.  Arnuphaptrairong,  “Early  Stage  Software  Effort Estimation  Using  Function  Point  Analysis  :  An  Empirical Validation.,” INTERNATIONAL JOURNAL OF DESIGN, ANALYSIS AND TOOLS FOR INTEGRATED CIRCUITS AND SYSTEMS, vol. 4, no. 1, pp. 15-21, 2013.
[8] R. K. Hapsari dan M. J. H. W.P., “ESTIMASI KUALITAS
PERANGKAT LUNAK BERDASARKAN PENGUKURAN  KOMPLEKSITAS  MENGGUNAKAN
METRIK  FUNCTION  ORIENTED,”  dalam  Seminar Nasional Sains dan Teknologi Terapan III 2015, Surabaya,
2015.
[9] M.  Aljohani  dan  R.  Qureshi,  “Comparative  Study  of Software  Estimation Techniques,”  International  Journal  of Software Engineering & Applications (IJSEA), vol. 8, no. 6, pp. 39-53, 2017.
[10] D.  Khairani,  “STUDI  KASUS  PENGUKURAN  SISTEM INFORMASI  MENGGUNAKAN  FUNCTION  POINT (FP),” JURNAL TEKNIK INFORMATIKA, vol. 8, no. 2, pp. 141-148, 2015.
[11] R.  Parlika,  D.  C.  M.  Wijaya,  H.  Khariono  dan  R.  A. Fernanda,  “STUDI  LITERATUR  PERBANDINGAN ANTARA  METODE  LOC,  COCOMO,  FPA  DALAM RANAH  SOFTWARE  METRIC,”  Jurnal  Pendidikan Informatika dan Sains, vol. 9, no. 1, pp. 66-74, 2020.
[12] A.  Sutanti,  "PENGUKURAN  KUALITAS  PERANGKAT LUNAK," Jurnal Mikrotik, vol. 6, no. 3, pp. 1-21, 2016.
[13] N.  Rachmat  dan  Saparudin,  "Estimasi  Ukuran  Perangkat Lunak  Menggunakan  Function  Point,"  Prosiding  Annual Research , vol. 3, no. 1, pp. 1-5, 2017.
[14] Y.  Wulandari,  B.  Fatkha  and  S.  Rizky,  "Pengukuran Perangkat  Lunak  dengan  Menggunakan  Metode  Function Point  (Studi  Kasus  :  Cashlez),"  Jurnal  Akuntansi Manajemen Bisnis dan Teknologi, vol. 1, no. 2, pp. 271-284, 2021.
[15] S.  Widyastuti  and  W.  Ariandi,  "SISTEM  INFORMASI MENGHITUNG BIAYA PEMBANGUNAN PERANGKAT  LUNAK  DENGAN  MENGGUNAKAN METODE MATRIK FUNCTION POINT," Syntax Literate:
Jurnal  Ilmiah  Indonesia,  vol.  6,  no.  10,  pp.  5338  -  5355, 2021.
[16] J.  Kristi,  S.  N.  Aisah  dan  R.  S.  Dewi,  “Estimasi  Biaya Software  FAS  (Financing  Analysis  System)  Menggunakan Metode  Function  Point  (Studi  Kasus  Pada  PT  BPRS Lantabur Tebuireng),” JURIKOM (Jurnal Riset Komputer), vol. 7, no. 1, pp. 97-103, 2020.
[17] R. S. Dewi, T. W. Andari, M. B. A. Rasyid dan R. C. A.P., “Ekstraksi  Faktor  Kompleksitas  Game  Menggunakan Metode  Function  Points,”  Jurnal  Nasional  Teknologi  dan Sistem Informasi , vol. 4, no. 2, pp. 115-122, 2018.
[18] R.  B.  H.  E.  Kapita,  M.  Angelin  dan  S.  R.  Wicaksono, “ANALISIS KUALITAS PERANGKAT LUNAK
MENGGUNAKAN METODE FUNCTION POINT ANALYSIS  (STUDY  KASUS:  Transaksi  Pembelian  di eBay),” Jurnal Informatika dan Rekayasa Perangkat Lunak, vol. 1, no. 1, pp. 31-36, 2019.
[19] F.  R.  .  Hariri  and  J.  E.  .  Wahyu  Prakasa,  “Pengukuran Kompleksitas  Sistem  E-Learning  di  UIN  Maulana  Malik Ibrahim Malang Menggunakan Metrik Function Oriented”, inotek, vol. 3, no. 1, pp. 245–250, Mar. 2021.
[20] S.  R.  Wicaksono,  P.  K.  K.  Putro  dan  G.  A.  Immanuel, “Implementasi Function Point Analysis Untuk Pengukuran Kualitas  Situs  (Studi  Kasus:  Alibaba.com),”  Jurnal Informatika: Jurnal Pengembangan IT (JPIT), vol. 4, no. 2,
pp. 123-126, 2019.

## BIODATA PENULIS

## Rizky Parlika, S.Kom, M.Kom
Dosen  Program  Studi  Informatika  Universitas Pembangunan Nasional “Veteran” Jawa Timur. Email:rizkyparlika.if@upnjatim.ac.id
Rayhan Rizal Mahendra Mahasiswa Program Studi Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur. Email:  20081010045@student.upnjatim.ac.id

## Muhammad Rafli Aulia Rojani Lutfi
Mahasiswa Program Studi Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur. Email: 20081010061@student.upnjatim.ac.id

## Rizqy Khoirul Waritsin
Mahasiswa Program Studi Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur. Email:  20081010082@student.upnjatim.ac.id

## Humam Maulana Tsubasanofa Ramadhan
Mahasiswa Program Studi Informatika
Universitas Pembangunan Nasional “Veteran”
Jawa Timur. Email: 20081010084@student.upnjatim.ac.id