Fakultas Ilmu Komputer UI

Commit eaa66a73 authored by YOGI LESMANA  SULESTIO's avatar YOGI LESMANA SULESTIO
Browse files

1/2

parent 3511d1b3
Pipeline #18993 passed with stages
in 2 minutes and 29 seconds
......@@ -13,13 +13,22 @@ Deployment, Persona, Refactoring, Docker, + Profiling
### Persona
![ ](/assets/images/2019-05-02/login.png)
Menampilkan halaman login, dibuat sederhana agar tidak memusingkan.
![ ](/assets/images/2019-05-02/home.png)
Menampilkan statistik sehingga dapat dilihat oleh pengguna serta terdapat visualisasi berupa peta.
![ ](/assets/images/2019-05-02/log.png)
Menampilkan log, di bagian kiri diberikan sebuah kotak yang diberi nama filter log untuk memperjelas dan memudahkan dalam pencarian log tertentu
Apabila lognya ditekan, maka akan muncul keterangan mengenai log yang bersangkutan supaya dapat dipelajari lebih lanjut.
![ ](/assets/images/2019-05-02/logdetail.png)
Menampilkan keterangan dari log, terdiri dari deskripsi dan IP layer. Di sini juga terdapat pilihan untuk mengubah detail log menjadi format PDF untuk kepentingan analisis.
![ ](/assets/images/2019-05-02/filter.png)
Menampilkan hasil penyaringan.
![ ](/assets/images/2019-05-02/server.png)
Menampilkan daftar server yang diserang untuk mengetahui server mana saja yang menjadi sasaran.
![ ](/assets/images/2019-05-02/serverdetail.png)
Menampilkan keterangan dari server, seperti alamat IP, alamat fisik, dan sistem operasi yang digunakan. Terdapat juga grafik yang menunjukkan serangan dalam beberapa waktu terakhir dan tipe serangan yang paling banyak.
![ ](/assets/images/2019-05-02/not.png)
Terjadi apabila resolusi layar tidak mencukupi.
### Refactoring
Berikut adalah implementasi Refactoring yang saya lakukan
......
---
layout: post
title: DPRD(2)
date: 2019-05-26 22:00:00 +0700
author: yogi
---
Pada blog terakhir, saya akan mengulang mengenai DPRD.
<!--more-->
Deployment, Persona, Refactoring, Docker, + Profiling
### Persona
![ ](/assets/images/2019-05-02/login.png)
Menampilkan halaman login, dibuat sederhana agar tidak memusingkan.
![ ](/assets/images/2019-05-02/home.png)
Menampilkan statistik sehingga dapat dilihat oleh pengguna serta terdapat visualisasi berupa peta.
![ ](/assets/images/2019-05-02/log.png)
Menampilkan log, di bagian kiri diberikan sebuah kotak yang diberi nama filter log untuk memperjelas dan memudahkan dalam pencarian log tertentu
Apabila lognya ditekan, maka akan muncul keterangan mengenai log yang bersangkutan supaya dapat dipelajari lebih lanjut.
![ ](/assets/images/2019-05-02/logdetail.png)
Menampilkan keterangan dari log, terdiri dari deskripsi dan IP layer. Di sini juga terdapat pilihan untuk mengubah detail log menjadi format PDF untuk kepentingan analisis.
![ ](/assets/images/2019-05-02/filter.png)
Menampilkan hasil penyaringan.
![ ](/assets/images/2019-05-02/server.png)
Menampilkan daftar server yang diserang untuk mengetahui server mana saja yang menjadi sasaran.
![ ](/assets/images/2019-05-02/serverdetail.png)
Menampilkan keterangan dari server, seperti alamat IP, alamat fisik, dan sistem operasi yang digunakan. Terdapat juga grafik yang menunjukkan serangan dalam beberapa waktu terakhir dan tipe serangan yang paling banyak.
![ ](/assets/images/2019-05-02/not.png)
Terjadi apabila resolusi layar tidak mencukupi.
### Refactoring
Berikut adalah implementasi Refactoring yang saya lakukan
```
<div class="bp3-non-ideal-state">
<div class="bp3-non-ideal-state-visual">
<span class="bp3-icon bp3-icon-warning-sign" />
</div>
<h4 class="bp3-heading">
This website does not support your resolution.
</h4>
<div>
Please make sure you are viewing this website on desktop browser or
continue at your own risk.
</div>
<button class="bp3-button bp3-intent-primary">Continue</button>
```
```
<div className="app_non-ideal-container bp3-dark">
<NonIdealState
icon="warning-sign"
title="This website does not support your resolution"
description="Please make sure you are viewing this website on desktop browser or continue at your own risk"
action={<Button intent={Intent.PRIMARY} onClick={this.disableWarning}>Continue</Button>}
/>
```
### Deployment & Docker
![ ](/assets/images/2019-05-02/diagram.png)
Saya akan menjelaskan setiap service yang ada di dalam arsitektur SIMLOMANKEJAP.
Secara garis besar terbagi 3, yaitu:
PUBLIC ACCESSIBLE NETWORK, yang terdiri dari:
Dashboard = berisi front end atau tampilan depan.
Backend = terhubung dengan Dashboard dan merupakan bagian yang menggerakkan website seperti menampilkan log dan keterangannya.
Static Files Server = berisi nginx | server static berupa css dan js.
PRIVATE NETWORK, yang terdiri dari:
Postgres = terhubung dengan Backend untuk menyimpan data biasa seperti user dan server
Elasticsearch = terhubung dengan Logstash, Backend, dan Postgres untuk dapat mencari log dengan cepat
Logstash = terhubung dengan Barnyard2 dan untuk mengcollect transformasi log, parse
DATA CENTER BPPT, yang terdiri dari:
IDS (Intrusion Detection System), yang mengandung
Barnyard2 = untuk mengirim dari snort ke logstash
Snort = untuk mengambil log IDS
Saya akan menjelaskan arti dari istilah yang ada di file gitlab-ci.yml
**script** = adalah keyword yang dibutuhkan oleh sebuah job. Merupakan shell script yang dieksekusi oleh Runner. Contohnya:
```
job:
script: "bundle exec rspec"
```
Parameternya juga dapat mengandung beberapa perintah dengan menggunakan sebuah array. Contohnya:
```
job:
script:
- uname -a
- bundle exec rspec
```
**image** = digunakan untuk menspesifikasikan Docker image yang digunakan oleh job.
**services** = diunakan untuk menspesikasikan Docker image service, terhubung dengan sebuah base image yang dispesifikasikan di image.
**before_script** = digunakan untuk mendefinisikan perintah yang seharusnya dijalankan sebelum semua job, termasuk job deploy. Dapat berupa sebuah array atau string multi-line
**after_script** = digunakan untuk mendefiniskan perintah yang akan dijalankan setelah semua job, termasuk yang gagal. Berbeda dengan before, after harus berupa sebuah array atau string multi-line
**stages** = digunakan untuk mendefinisikan stage yang dapat digunakan oleh job dan didefiniskan secara global.
###Profiling
Proses optimisasi diawali dengan profiling app. Profiling dilakukan untuk menemukan bagian mana dari program yang memakan CPU time (atau memori, I/O) paling banyak, dan di mana letak kemungkinan hambatan performa berada. Paket software seringkali mencakup internal timing routines yang dapat digunakan, atau dapat menggunakan external profiler.
Pemakaian sejumlah thread untuk memecahkan sebuah task dapat menyebabkan overhead. Sangat mungkin, bahwa ketika jumlah prosesor untuk menyelesaikan sebuah tugas digandakan, waktu yang dibutuhkan tidak berkurang setengahna. Pada kasus terburuk, waktunya bisa sama atau bahkan bertambah. Oleh sebab itu, sangat penting untuk mengetahui waktu eksekusi yaiitu scalability dari app. Scalability bergantung pada ukuran permasalahan. Jika total ukuran dari sistem tetap walaupun jumlah tasknya bervariasi, hal tersebut dapat dikatakan strong scalability. Begitu juga sebaliknya.
![ ](/assets/images/2019-05-02/perf.png)
![ ](/assets/images/2019-05-02/memory.png)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment