PPL Sprint 05

Nathaniel Nicholas
slovneek
Published in
4 min readMay 1, 2019

Nani Blog Post terakhir?! Basically ini yang ada di dalam pikiran mayoritas mahasiswa PPL pas diumumin minggu ini adalah Individual Review terakhir, walaupun pada panduan dan tabel penilaian yang diberikan menyatakan Individual Review sebanyak 6 kali. Tentunya ini berdampak kebanyak mahasiswa yang telah merencanakan poin-poin yang ingin diambil yang mengira terdapat total 6 pertemuan berubah menjadi 5, dari yang seharusnya terdapat 2 kesempatan ter-snap oleh Thanos menjadi sisa 1 pertemuan HMMMMMMMMMM (spoiler Infinity War, tapi kalau sampai sekarang masih belum nonton…. what are you doing?). Tapi yasudahlah kalau memang sisa 1 pertemuan kita gunakan saja sebisanya, we’re in the endgame now (serius kalau belum nonton Infinity War atau film-film Marvel sebelumnya, nonton dulu highly recommended). Ok jadi fokus lagi ke Sprint Review, minggu ini saya ingin membahas kembali tentang Testing (specifically Stress and Penetration), Persona dan Docker Orchestration.

Testing: Stress and Penetration

“Just bend me over and punish me harder!”
- Firebat, April 2019

Blog sebelumnya saya sempat membahas testing dengan menggunakan Mock Object dalam environment Stub. Untuk stress testing, beda dengan unit test yang menguji fungsionalitas kode yang dihasilkan, stress testing menguji ̶m̶e̶n̶t̶a̶l̶ ̶p̶a̶r̶a̶ ̶d̶e̶v̶e̶l̶o̶p̶e̶r̶ ̶u̶n̶t̶u̶k̶ ̶t̶e̶r̶u̶s̶ ̶m̶e̶n̶e̶r̶u̶s̶ ̶m̶e̶n̶e̶r̶i̶m̶a̶ ̶p̶e̶r̶c̶o̶b̶a̶a̶n̶ ̶d̶a̶n̶ ̶k̶e̶s̶e̶n̶g̶s̶a̶r̶a̶a̶n̶ stabilitas sistem software dalam kondisi-kondisi yang merugikan (bagi sistem tersebut). Tujuan dari test ini adalah untuk melihat batas-batas ketahanan maksimum sistem dan error handling. Contoh kasus kondisi tersebut biasa terlihat oleh mahasiswa pada SIAK-War. SIAK-War mereferensikan jadwal pemilihan mata kuliah yang dilakukan sebelum awal semester. Untuk mahasiswa tahun-tahun atas, server crash sudah bukan hal yang baru karena adanya ratusan hingga ribuan mahasiswa yang ingin mengakses server website pemilihan mata kuliah tersebut. Contoh kondisi itulah dimana banyaknya user yang mengakses website secara bersamaan merupakan contoh yang merugikan sistem, dimana sistem hanya dapat menghandle sejumlah user secara bersamaan. Dari Stress Testing, informasi-informasi yang didapatkan:

  • Average Response Time
  • Peak Response Time
  • Error Rates
  • CPU Utilization
  • Memory Utilization

Selanjutnya kita akan membahas mengenai Penetration Testing. Penetration Testing digunakan untuk mensimulasikan cyber-attack pada sistem keamanan software, contohnya mengambil nilai-nilai sensitif seperti password atau nomor kartu kredit user; ataupun mengubah nilai-nilai data yang tersimpan. Tujuan dari testing ini digunakan untuk mencari celah keamanan dalam sistem software yang dihasilkan.
Terdapat 5 tahap dalam melakukan Penetration Testing:

  • Set Scope/Reconnaissance : mendefinisikan goal dari test yang akan dilakukan serta metodenya. Sistem jalan kerja kode juga dipelajari untuk mencari potensi celah keamanan dalam sistem.
  • Scanning : melihat respon dari sistem apabila cyber-attack berusaha dilakukan menggunakan berbagai kode ataupun tools lainnya.
  • Exploit Vulnarabilities : menyerang sistem dengan mengeksploitasi kelemahannya yang telah ditemukan pada tahap sebelumnya agar dapat mengakses sistem tersebut.
  • Gain Access : setelah mendapatkan akses kedalam sistem, lakukan pengambilan data sensitif atau perubahan data sebagai tanda bukti bahwa keamanan sistem berhasil diretas.
  • Report : membuat laporan berdasarkan testing yang telah dilakukan.

Persona

Jadi…persona itu apa ya? Sederhananya, persona merupakan data yang merepresentasikan target user yang berpotensi menggunakan produk yang kita hasilkan. Persona dihasilkan dari penelitian mengenai target/potential user yang diharapkan. Dari persona tersebut, kita dapat menentukan UI/UX yang cocok untuk potential user.

Persona biasanya memiliki 4 jenis data utama penting:

  • Biography : data pribadi general mengenai target user, meliputi umur, kelamin, lokasi dan sebagainya.
  • Motivation : alasan target user ingin menggunakan aplikasi yang dihasilkan.
  • Goal : harapan dari target user terhadap aplikasi yang dihasilkan
  • Frustration : hal yang tidak diinginkan oleh target user terhadap aplikasi yang dihasilkan

Contoh persona dari target user untuk produk SLOVNEEK

SLOVNEEK Persona; Diambil dari blog rekan yang mengambil dari rekan lainnya(T E A M W O R K).

Seperti yang sebelumnya dibilang, persona seharusnya representasi data (bukan data orang asli) dari penelitian target user; hanya saja data yang dikasihkan merupakan data orang asli sehingga namanya kita sensor.
Walaupun persona yang diberikan kurang lengkap, diketahui user menginginkan aplikasi yang dapat menyimpan definisi-definisi kata istilah bisnis. Oleh karena itu kami menghasilkan API yang dapat menyimpan, menampilkan, mengubah dan menghapus definisi-definisi kata tersebut dengan mudah.

Software Architecture

original content Software Architecture. do not steal plz

Jadi untuk yang bingung melihat gambar diatas, itu merupakan sketsa ide arsitektur penggunaan aplikasi Slovneek. Dalam pengembangan aplikasi yang dihasilkan, kelompok kami menghasilkan 3 image sesuai kebutuhan masing-masing: FrontEnd, BackEnd dan DataBase. FrontEnd menggunakan React Redux dalam implementasi, BackEnd menggunakan Django Rest Framework dalam implementasi dan Database menggunakan PostGres database. Image-image tersebut kemudian disimpan kedalam container masing-masing. Kemudian dibuat 2 buah network, tiap network berisi 2 container agar image-image dalam network dapat berkomunikasi satu sama lain. Network yang dihasilkan adalah network FrontEnd-BackEnd dan network BackEnd-DataBase. Semua image tersebut kemudian dibungkus sebagai satu aplikasi oleh Docker dan dideploy sebagai satu aplikasi.

Ketika user mengakses aplikasi website, image frontend akan terpanggil yang akan berkomunikasi dengan backend. Frontend dapat mendapatkan atau mengakses Database dengan berkomunikasi dengan Backend terlebih dahulu untuk meminta Backend mengakses/merubah database sesuai kebutuhan. Dari database tersebut frontend dapat menampilkan data-data kepada user.

hasil arsitektur estetika by Hilya

Sekian untuk yang saya sampaikan, dan jika memang ini adalah minggu terakhir, maka ini akan menjadi post terakhir saya. Mohon maaf jika ada kesalahan, terima kasih dan jangan lupa…
.
.
.
Subscribe to PewDiePie

--

--