## PEMODELAN OOAD APLIKASI PREDIKSI HARGA SEMBAKO BERBASIS ANDROID
[1] Siti Mujilahwati, [2] Suci Nur Fauziah
[1],[2] Universitas Islam Lamongan
Abstrak : Aplikasi  prediksi  yang  akan  dibuat  merupakan  aplikasi  yang  dapat  membantu  memberikan referensi  kenaikan  /  turnnya  harga  sembako  setiap  waktu.  Aplikasi  yang  akan  dibuat  bersifat  mobile dengan basis android  sehingga  semua masyarakat  dapat  menggunakannya.  Pentingnya  sebuah analisis permasalahan  dalam  pembuatan  sistem  aplikasi  prediksi  harga  berbasis  android  adalah  untuk memberikan  arahan  petunjuk  dan  juga  ketepatan  dalam  membuat  aplikasi  tersebut.  OOAD  (Object Oriented Analisya and Desain) merupakan sebuah metode untuk memberikan arahan dan petunjuk dalam menciptakan aplikasi bagi programmer, dimana OOAD mampu memanipulasi objek-objek yang terlibat serta  sub-sub  sistem  yang  dibutuhkan.  Dalam  artikel  ini  akan  dibahas  desain  UML  (Unified  Modeling Language) untuk sebuah aplikasi  prediksi  harga sembako berbasis android  meliputi, use case diagram, class diagram, activity diagram dan juga sequence diagram. Penelitian ini merupakan tahapan awal dari implementasi  aplikasi  prediksi  yang  diharapkan  aplikasi  tersebut  mampu  membantu  para  masyarakat luas dalam memantau harga sembako.
Kata Kunci : OOAD, Aplikasi Android, Prediksi, Sembako

## I. P ENDAHULUAN
Kondisi  harga  sembako  hampir  setiap  hari  mengalami  perubahan  harga,  meskipun  kenaikan  harga tidak  begitu  banyak  akan  tetapi  kenaikan  itu  sangat  terlihat  ketika  kita  membuka  data  harga  sembako yang telah dirilis oleh kementerian perdagangan Indonesia. Kenaikan harga yang cukup  sigifikan adalah ketika  menjelang  hari-hari  besar  atau  saat  musim  panen.  Mengetahui  kenaikan  harga  atau  memprediksi kenaikan  harga sebelum  jauh-jauh  hari akan sangat membantu bagi pengusaha  maupun  masyarakat  luas dalam memprediksikan kebutuhannnya.
Seiring  perkembangan  teknologi  mobile  yang  semakin  cepat,  terutama  pada  sistem  operasi  android. Maka membuat para competitor menciptakan beragam aplikasi startup yang dapat memudahkan para user dalam bidang bisnis, edukasi, hiburan, social media bahkan aplikasi-aplikasi yang bersifat informasi atau iklan.  Begitu  pula  yang  akan  dilakukan  oleh  peneliti,  dimana  akan  membuat  sebuah  aplikasi  yang nantinya  dapat  dimanfaatkan  oleh  masyarakat  luas  dalam  mengetahui  dan  memantau  kenaikan  harga sembako.
OOAD adalah metode terstruktur untuk menganalisis, merancang sistem dengan menerapkan konsep berorientasi  objek,  dan  mengembangkan  serangkaian  model  sistem  grafis  selama  siklus  hidup pengembangan  perangkat  lunak  (Gabry,  2017).  Konsep  ini  sangat  baik  dan  sesuai  dengan  metode penelitian  dengan  menggunakan  model  water  fall,  dan  pada  konsep  ini  bertujuan  menekankan  pada pembuatan  model  sistem,  untuk  itu  pada  paper  ini  fokus  dari  penelitian  dan  yang  akan  dibahas  pada artikel  ini adalah  membuat desain OOAD (Object Oriented Analisya and Desain) dengan UML dimana hasil  penelitian  ini  akan  dibuat  sebagai  dasar  implementasi  aplikasi  prediksi  harga  sembako  yang nantinya dapat dimanfaatkan oleh semua masyarakat

## II. M ETODE P ENELITIAN
Teknik penelitian ini akan menggunakan action research dengan model SDLC ( Sistems Development Life  Cycle ).  Dengan  menggunakan  model  SDLC  ini  diharapkan  mampu  memberikan  arahan  peneliti dalam  membangun sebuah aplikasi prediksi, pada tahap desain  sistemakan dibuat  model OOAD (Object Oriented  Analisya  and  Desain) .  Dimana  pada  penelitian  ini  terlebih  dahulu  akan  dilakukan  analisis permasalahan  dan  data,  serta  desain  sistem,  implementasi,  uji  coba  dan  tahap  pemeliharaan.  Adapun bahasan  pada  artikel  ini  pada  tahap  analisis  dan  desain  sistem.  Pemodelan  merupakan  bagian  paling penting dalam analisis dan desain sistem(Satzinger, 2012).

## A. Analisis Sistem
Analisis  sistem  dilakukan  untuk  tujuan  mempelajari  suatu  sistem  atau  bagian-bagiannya  untuk mengidentifikasi  tujuannya.  Ini  adalah  teknik  pemecahan  masalah  yang  meningkatkan  sistem  dan memastikan  bahwa  semua  komponen  sistem  bekerja  secara  efisien  untuk  mencapai  tujuan.Analisis kebutuhan aplikasi ini akan dilakukan dengan cara ;
1. observasi  yaitu  dengan  pendekatan  kepada  masyarakat  tentang  respon  kenaikan  harga  sembako, selanjutnya akan dilakukan wawancara dan respon tentang usulan aplikasi yang akan dibuat. Dari sini akan  kita  ketahui  betapa  pentingnya  aplikasi  yang  akan  dibuat  bagi  masyarakat,  serta  menilai kelayakan user.
2. Literasi data harga sembako dari beberapa tahun terakhir sebagai dasar acuan harga naik atau turun. Pada  penelitian  ini  akan  digunakan  sebuah  metode  regresi  linier  untuk  menilai  harga  sembako tersebut  naik  apa  turun.  Sehingga  data  harga  sembako  yang  ada  akan  dijadikan  data  sample/  data latih.
Selain  analisis  kebutuhan  sistem  juga  memiliki  analisis  fungsionalitas  yaitu  adanya  tampilan  menu user  untuk  memilih  jenis  bahan  pokok  sembako,  melihat  hasil  prediksi  terakhir,  melakukan  prediksi, menginputkan harga jenis sembako terahir dan melihat hasil prediksi yang diinginkan.

## B. Desain Sistem
Sistem  desain  pada  dasarnya  merupakan  kumpulan  aturan,  batasan,  dan  prinsip,  yang diimplementasikan  dalam  desain  dan  kode.  Ketiga  atribut  ini  melayani  fungsi  yang  berbeda  dan memberikan keteraturan sistem yang koheren dalam sistem dari tombol ke aplikasi halaman tunggal (L, 2011)
1. Aturan: harus memiliki isyarat visual atau teks untuk menunjukkan CTA
2. Batasan: hanya dapat memiliki 3 jenis unik - utama, sekunder, dan default.
3. Prinsip: harus digunakan untuk interaksi pengguna tertentu
Berdasarkan hasil analisis maka akan dibuat pemodelan desain sistem. Desain sistem mengacu pada konsep  OOAD  maka  akan  dibuat  sebuah  Use  Case  Diagram,  Class  Diagram,  Activity  Diagram  serta Sequence Diagram yang akan dibangun dengan UML.

## III. H ASIL DAN P EMBAHASAN
UML  ( Unified  Modeling  Language )  merupakan  sebuah  standart  Bahasa  dalam  industry  visualisai, merancang  dan  mendokumentasikan  sebuah  perangkat  lunak  yang  dipakai  oleh  professional  IT  dalam membuat  aplikasi(Bell,  2003).  Desain  sistem  yang  telah  dibuat  untuk  aplikasi  prediksi  harga  sembako berbasis android adalah sebagai berikut :

## A. Use case Diagram
Tujuan utama dari diagram use-case adalah untuk membantu tim pengembangan memvisualisasikan persyaratan fungsional suatu sistem, termasuk hubungan "aktor" (manusia yang akan berinteraksi dengan sistem) untuk proses-proses penting, serta hubungan di antara yang berbeda(Bell, 2003). Perilaku sistem adalah  bagaimana  sistem  beraksi  dan  bereaksi.  Perilaku  ini  merupakan  aktifitas  sistem  yang  bisa  dilihat dari  luar  dan  bisa  diuji.Perilaku  sistem  ini  dicapture  di  dalam  USE  CASE.  USE  CASE  sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem dengan lingkungannya(arifwicaksanaa, 2016).Desain use case didasarkan atas aktor yang terlibat, aplikasi murni digunakan  oleh  konsumen  masyarakat  luas,  aplikasi  bebas  digunakan  oleh  siapa  saja.  Sehingga  dalam desain ini hanya ada satu aktor yaitu konsumen.
Gambar 1. Use Case Diagram
Dari  desain use  case tersebut  maka  dapat  dijelaskan  bahwa  fitur  yang  diberikan  sistem  adalah konsumen  dapat  memilih  jenis  sembako  yang  ingin  mereka  prediksi,  sebelum  melakukan  perhitungan prediksi  konsumen  diminta  untuk  menginputkan  nilai  harga  terakhir  dari  jenis  sembako  yang  ingin diprediksi.  Fitur  selanjutnya  adalah  dapat  melihat  hasil  prediksi  yang  telah  dilakukan  prediksi sebelumnya. Selain  melihat prediksi  harga secara numerik  maka konsumen dapat  melihat  hasil prediksi secara grafik. Konsumen yang belum pernah menggunakan aplikasi dapat membuka fitur view panduan.

## B. Class Diagram
Diagram  kelas  adalah  cara  yang  kuat  dan  sering  digunakan  untuk  memahami  dan mendokumentasikan  persyaratan  informasi  dari  suatu  sistem(Satzinger,  2012). Class  diagram menggambarkan  untuk  pemrograman  berorientasi  objek.  Dikarenakan  pembuatan  aplikasi  ini  dibangun dengan  menggunakan  android  studio  yang  dasar  pemrogramannya  juga  mengggunakan  konsep OOP. Class diagram merupakan salah satu diagram utama dari UML untuk menggambarkan class atau blueprint object pada sebuah sistem. Analisis pembentukan class diagram merupakan  aktivitas  inti  yang  sangat  mempengaruhi  arsitektur  piranti  lunak  yang  dirancang hingga ke tahap pengkodean (John W, 2012).
System Konsumen view hasil prediksi view panduan aplikasi view grafik perubahan harga view update prediksi pilihan nama sembako input harga terakhir <<include>> <<include>> <<extend>> <<extend>>
Gambar 2. Class Diagram
Relasi  yang  digunakan  pada class-class diatas  adalah  relasi  assosiasi  dan  realisasi  dengan  artinya kelas yang dari bahan pok dan hasil prediksi relasi dari kelas prediksi, mulai dari data, proses dan hasil. Class update harga adalah class yang akan mendokumentasikan hasil prediksi yang diperoleh. Sedangkan class panduan tidak berelasi dikasrena berdiri sendiri bukan dari aksi, dan proses lainnya.

## C. Activity Diagram
Gambar 3. Activity Diagram
Bahan Pokok +No. +Nama_Bahan +tahun +add() +update() +delete() +search() hasil prediksi +nomer +Harga_terakhir +hasil_prediksi +update() update harga +id +periode +Hasil_prediksi +update() panduan +id_panduan +Keterangan +insert() +update() +delete() 0 +0 prediksi +Nama_Bahan +Harga_terakhir +hasil_prediksi +hitung() Konsumen Sistem respon membuka aplikasi menampilkan menu melakukan prediksi harga membuka menu bantuan menampilkan pilihan nama bahan sembako minyak goreng Daging sapi Daging ayam ras telur ayam ras tepung terigu kedelai import beras lokal gula pasir cabe keriting bawang meminta harga terakhir menginputkan harga terakhir Menghitung harga prediksi Hasil prediksi Melihat hasil prediksi Melihat update harga prediksi Update harga prediksi memproses grafik hasil prediksi menampilkan grafik harga prediksi y^ = a *b.x
Sesuai dengan namanya diagram ini menggambarkan tentang aktifitas yang terjadi pada sistem. Dari pertama sampai akhir, diagram ini menunjukkan langkah  – langkah dalam proses kerja sistem yang kita buat. Struktur diagram ini juga mirip dengan flowchart . Fungsi Activity Diagram menggambarkan proses bisnis  dan  urutan  aktivitas  dalam  sebuah  proses,  Memperlihatkan  urutan  aktifitas  proses  pada  sistem, Activity diagram  dibuat  berdasarkan  sebuah  atau  beberapa use  case pada use  case diagram  (Pratama, 2016). Diagram aktivitas sangat membantu ketika alur kegiatan untuk kasus penggunaan sangat kompleks (Satzinger, 2012). Use case Mengisi keranjang belanja yang rumit dalam tiga kasus penggunaan lain yang mungkin diminta saat menambahkan item ke keranjang belanja. Misalnya, aktor mungkin mencari produk dan  kemudian  melihat  ulasan  produk  sebelum  menambahkan  item  ke  keranjang.  Setelah  item ditambahkan,  aktor  mungkin  mencari  dan  melihat  aksesori  yang  tersedia  dan  kemudian  menambahkan satu atau lebih ke keranjang.
Activity  diagram dibuat  supaya  programmer  dapat  mengimimplemkan  sesuai  dengan  alur  aktifitas yang  akan  direncanakan  pada  aplikasi.  Mulai  dari  aktor  atau  konsumen  melakukan  aktifitas  sampai aktifitas sistem respon.
Gambar 4. Activity Regresi Linier
Penggambaran proses regresi untuk prediksi harga sembako dibuat seperti pada Gambar 4 di atas. Dimana  regresi  membaca  dari  harga  terkini  yang  dimasukkan  oleh  konsumen  untuk  membaca  prediksi jenis  harga  sembako  yang  akan  diprediksi  dengan  data  latih  /  data  harga  beberapa  tahun  terakhir  yang dipakai.

## D. Sequence Diagram
Sequence Diagram adalah salah satu dari diagram - diagram yang ada pada UML, sequence diagram ini adalah diagram yang menggambarkan kolaborasi dinamis antara sejumlah object . Kegunaannya untuk menunjukkan  rangkaian  pesan  yang  dikirim  antara object juga  interaksi  antara object. Sesuatu  yang terjadi  pada  titik  tertentu  dalam  eksekusi  sistem.Dalam  sequence  diagram,  setiap object hanya  memiliki garis yang digambarkan garis putus-putus ke bawah. Pesan antar object digambarkan dengan anak panah dari object yang mengirimkan pesan ke object yang menerima pesan.
membaca jenis sembako memasukkan harga terkini (y) menghitung prediksi Y = a + bX a = (sum(harga terkini).sum(kuadrat harga n)) - (sum(harga n).sum(harga n*harga terkini)) /( banyak harga n*kuadrat harga n) -sum(kuadrat harga n) b = (banyak harga n *(hrga n*harga terkini)) - (sum(harga n)*harga terkini)/( banyak harga n*kuadrat harga n) -sum(kuadrat harga n)
baca data harga n (X)
membaca hasil Y (naik / turun)
Gambar 5. Sequence Pemilihan Jenis Sembako
Pada sequence  diagram diatas,  bisa  dilihat  bahwa  yang  menjadi  aktor  adalah  konsumen.  Setiap aktifitas  yang  dilakukan  oleh  konsumen  pada  proses  pemilihan  jenis  sembako  yang  akan  diprediksi disimbolkan dengan simbul alir  secara  vertikal oleh garis  lurus. Dimulai dari  membuka aplikasi  sampai memilih salah  satu jenis sembako  yang telah disediakan oleh  sistem diantara ada gading, dagang ayam, beras,  bawang,  minyak  goring,  dll  sebanyak  11  jenis  sembako  yang  nantinya  akan  digunakan  pada aplikasi prediksi ini. Setelah konsumen memilih jenis sembako yang dipilih selanjutnya adalah konsumen diminta  untuk  memasukkan  harga  terakhir  /  harga  saat  ini  dari  jenis  sembako  yang  telah  dipilih. Gambaran sequence selanjutnya masuk pada sequence pada proses konsumen melakukan prediksi seperti pada gambaran 6 berikut ini.
Gambar 6. Sequence Prediksi Harga
Kelanjutan  dari  proses  pemilihan  jenis  sembako  selanjutnya  pada  Gambar  5  konsumen  diminta sistem untuk memasukkan harga sembako terakhir dan system selanjutnya melakukan perhitungan regresi dengan membaca nilai harga yang diinputkan sebagai nilai x dengan data latih yang telah disediakan oleh sistem. Selanjutnya didapatkan hasil prediksi.
konsumen sembako jenis sembako daftar harga 1 : membuka() 2 : melihat() 3 : memilih salah satu() 4 : langsung memilih() 5 : memastikan jenis sembako yang dipilih()
jenis sembako harga rumus regresi data latih hasil prediksi Konsumen 1 : inputkan() 2 : Request() 3 : melakukan perhitungan() 4 : mengambil()
5 : output()

## IV. S IMPULAN DAN S ARAN
Dalam tulisan ini, kami mempresentasikan studi kasus pada desain aplikasi prediksi harga sembako berbasis  android  dengan  menggunakan  software  startUML.  Kami  telah  mempresentasikan  spesifikasi desain  teknis  dan  pembelajaran  dari  proyek  baik  secara  visualisasi  dan  sistematik  pada  metode  yang dipakai pada proses prediksi.Kami mempresentasikan arsitektur, komponen sistem menggunakan Bahasa UML,  dengan  visualisasi  dalam  use  case  diagram,  class  diagram,  activity  diagram  serta  sequence diagram.  Hasil  desain  ini  akan  diimplementasikan  pada  pembuatan  aplikasi  baik  secara  visual  maupun secara sistematik dengan memasukkan metode regresi linier.

## V. D AFTAR P USTAKA
Arifwicaksanaa. (2016, april 1). pengertian-use-case . Retrieved from medium.com: https://medium.com/@arifwicaksanaa/pengertian-use-case-a7e576e1b6bf Bell, D. (2003, Juni 15). IBM . Retrieved from developerworks: https://www.ibm.com/developerworks/rational/library/769.html Gabry, O. E. (2017, Maret 19). omarelgabrys-blog . Retrieved from medium.com: https://medium.com/omarelgabrys-blog/object-oriented-analysis-and-design-introduction-part-1- a93b0ca69d36
John W. Satzinger, R. B. (2012). Sistems Analysis and Design in a Changing World. Joe  Sabatino
L, S. (2011, Februari 21). what-is-a-design-system . Retrieved from medium.muz: https://medium.muz.li/what-is-a-design-system-1e43d19e7696
Pratama,  A.  R.  (2016,  agustus  11). mengenal-uml-contoh-uml-diagram-model-activity-diagram . Retrieved  from  www.codepolitan.com:  https://www.codepolitan.com/mengenal-uml-contoh-uml- diagram-model-activity-diagram
Satzinger,  J.  (2012). System  Analysis  and  Design  In  a  Changing  World. Boston,  USA:  Course Technology.
.