Friday, 18 December 2020

UTS keamanan komputer

 


 

1.       Didalam keamanan computer, apa yang perlu diamankan dan diamankan dari apa?

Dari segi hardware tentu menmpatkan perangkat di tempat tertentu agar tidak dapat diakses oleh sembarang orang , dan dari segi software tentu perlu diaman kan data – data yang penting dari serangan virus atau ancaman – ancaman lain.

 

2.       Bagaimana solusi mengatasi ancaman dari kategori ancaman yang ada?

Dengan membatasi akses terhadap perangkat , meng update perangkat lunak ke versi terbaru.

 

3.       Jelaskan secara singkat metode-metode keamanan komputer yang ada saat ini?

Berdasarkan level, metode pengamanan komputer dibedakan berdasarkan level       keamanan, dan disusun seperti piramida, yaitu:

1.   Keamanan Level 0, merupakan keamanan fisik (Physical Security) atau keamanan tingkat awal. Apabila keamanan fisik sudah terjaga maka keamanan di dalam computer juga akan terjaga.

2.   Keamanan Level 1, terdiri dari database security, data security, dan device security. Pertama dari pembuatan database dilihat apakah menggunakan aplikasi yang sudah diakui keamanannya. Selanjutnya adalah memperhatikan data security yaitu pendesainan database, karena pendesain database harus memikirkan kemungkinan keamanan dari database. Terakhir adalah device security yaitu adalah yang dipakai untuk keamanan dari database tersebut.

3.   Keamanan Level 2, yaitu keamanan dari segi keamanan jaringan. Keamanan ini sebagai tindak lanjut dari keamanan level 1.

4.   Keamanan Level 3, merupakan information security. Informasi – informasi seperti kata sandi yang dikirimkan kepada teman atau file – file yang penting, karena takut ada orang yang tidak sah mengetahui informasi tersebut.

5.   Keamanan Level 4, keamanan ini adalah keseluruhan dari keamanan level 1 sampai level 3. Apabila ada satu dari keamanan itu tidak terpenuhi maka keamanan level 4 juga tidak terpenuhi.

 

 

4.       Sebutkan dan jelaskan secara singkat macam-macam virus yang ada sampai saat ini?

 

1. Virus sektor boot

Jenis virus ini dapat mengambil kendali saat Anda memulai - atau mem-boot - komputer Anda. Salah satu cara penyebarannya adalah dengan mencolokkan drive USB yang terinfeksi ke komputer Anda.

 

2. Virus skrip web

Jenis virus ini mengeksploitasi kode browser web dan halaman web. Jika Anda mengakses halaman web seperti itu, virus dapat menginfeksi komputer Anda.

 

3. Pembajak peramban

Jenis virus ini “membajak” fungsi browser web tertentu, dan Anda mungkin diarahkan secara otomatis ke situs web yang tidak diinginkan.

 

4. Virus penduduk

Ini adalah istilah umum untuk virus apa pun yang masuk ke dalam memori sistem komputer. Virus residen dapat dijalankan kapan saja saat sistem operasi dimuat.

 

5. Virus aksi langsung

Jenis virus ini beraksi saat Anda menjalankan file yang berisi virus. Jika tidak, itu tetap tidak aktif.

 

6. Virus polimorfik

Virus polimorfik mengubah kodenya setiap kali file yang terinfeksi dijalankan. Ini dilakukan untuk menghindari program antivirus.

 

7. Virus file infector

Virus umum ini memasukkan kode berbahaya ke dalam file yang dapat dijalankan - file yang digunakan untuk menjalankan fungsi atau operasi tertentu pada sistem.

 

8. Virus multipartite

Jenis virus ini menginfeksi dan menyebar dengan berbagai cara. Itu dapat menginfeksi file program dan sektor sistem.

 

9. Virus makro

Virus makro ditulis dalam bahasa makro yang sama yang digunakan untuk aplikasi perangkat lunak. Virus semacam itu menyebar ketika Anda membuka dokumen yang terinfeksi, seringkali melalui lampiran email

 

5.        Mengapa diperlukannya cryptography dalam keamanan komputer?

Agar computer atau data yang ada di dalam nya tidak dapat di akses oleh sembarang orang dan menjaga kerahasian data dengan cara di enkripsi.

 

6.        Apa yang dimaksud dengan error detection?

Error detection adalah suatu kegiatan untuk memastikam bahwa data yang diterima sama dengan data yang dikirim. Sedangkan Error correction adalah deteksi kesalahan dan rekonstruksi, asli bebas dari kesalahan data.

 

 Mengapa perlu melakukan error detection?

Untuk menghindari data error karena noise, baik black maupun white noise dan akibatnya karena data berubah 0 berubah menjadi 1, sedangkan 1 berubah menjadi 0

 

7.        Dengan cara apa melakukan error detection itu?

menggunakan cocok fungsi hash ( atau chechsum algoritma ). Sebuah fungsi hash menambahkan tag tetap-panjang untuk pesan, yang memungkinkan penerima untuk memverifikasi pesan yang disampaikan oleh recomputing tag dan membandingkannya dengan yang disediakan

 

8.       Ilustrasikan bagaimana cara kerja metode Huffman dalam melakukan compression?







 

9.       Ilustrasikan bagaimana cara kerja metode Lossy dan Lossless dalam melakukan compression?

Rasio kompresi pada lossless didapat cenderung rendah sedangkan rasio kompresi pada lossy didapat bisa sangat tinggi.



 


 

10.   Ilustrasikan bagaimana cara kerja metode Run-Length Encoding Type 1 dan Type 2 dalam melakukan compression?

 

kompresi dan dekompresi data menggunakan run-length encoding (RLE) ini merupakan suatu bentuk teknik yang digunakan untuk mengkompresi data yang berisi karakter-karakter berulang.

Berikut contoh algoritma Run-length Encoding



Example Run-length Coding

Pada gambar atau media citra proses compresi dengan metode RLE ini, dapat di analogikan seperti pada gambar berikut ini.



RLE Gambar/Icons

pada suatu gambar pasti terdiri dari pixel warna, jadi proses compresing pada metode RLF dilakukan dengan mengurangi bit pada pola warna yang sama atau setidaknya memiliki kemiripan yang sangat dekat.

Kesimpulan:

Run-length encoding (RLE) merupakan metode kompresi data yang sangat sederhana

Teknik kompresi dengan RLE ini berguna untuk data yang banyak memiliki kesamaan dan data tersebut berdekatan, misal teks ataupun grafik seperti icon atau gambar garis-garis yang banyak memilki kesamaan pola.

.

 



Wednesday, 3 June 2020

jFreechart Gui dengan database

jFreechart merupakan framework / library yang digunakan untuk menampilkan data ke dalam sebuah chart.
Kali ini kita akan membuat program dengan jFreechart dengan bahasa java dan menggunakan IDE Netbeans .

Tahap awal ialah membuat database :
saya membuat dbgraf dengan 2 tabel yaitu :
1.tablebar
2.tablepie

dengan masing - masing tabel memiliki kolom nilai1,2,3



di lanjutkan membuat class koneksi untuk menghubungkan aplikasi dengan database seperti berikut
jangan lupa untuk meng import file mysql-connector-java-5.1.23-bin.jar
yang berisi library yg di butuhkan class koneksi


untuk sytax lengkap nya 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author hp
 */
public class koneksi {
    private static Connection koneksi;
    public static Connection getkoneksi(){
        if (koneksi==null){
            try{
              String url = new String();
              String user = new String();
              String password = new String();
              url ="jdbc:mysql://localhost/DBgraf";
              user="root";
              password="";
              DriverManager.registerDriver(new com.mysql.jdbc.Driver());
              koneksi =(Connection)DriverManager.getConnection(url,user,password);
            
        }catch(SQLException t){
            System.out.println("Koneksi error");
        }
    }
    return koneksi;
}

setelah itu membuat class javaGrafikInput yang akan menampilkan chartpie 
jangan lupa untuk terlebih dahulu mengimport file jfreechart.jar ke library yang berisi library yang di butuhkan oleh class javaGrafikInput


syntax lengkap nya 

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.util.Rotation;


/**
 *
 * @author hp
 */
public class PieGrafikInput extends JFrame {
    double n1_eramadhan=0,n2_eramadhan=0, n3_eramadhan=0;
    public void setNilai(String nilai1, String nilai2, String nilai3){
    try {
    n1_eramadhan = Double.parseDouble(nilai1);
    } catch (NumberFormatException ex){}
    try {
    n2_eramadhan = Double.parseDouble(nilai2);
    } catch (NumberFormatException ex){}
    try {
    n3_eramadhan = Double.parseDouble(nilai3);
    } catch (NumberFormatException ex){}
    
    this.setSize(600, 400);
    this.setTitle("Diagram PIE");
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    PieDataset dataset = buildData();
    JFreeChart chart = buildChart(dataset, "Data Dari Grafik Input");
    ChartPanel pieChart = new ChartPanel(chart);
    this.setContentPane(pieChart);
    }
    
    private JFreeChart buildChart(PieDataset dataset, String judul){
        JFreeChart chart = ChartFactory.createPieChart3D(judul, dataset,true, true, false);
        PiePlot3D plot = (PiePlot3D) chart.getPlot();
        plot.setStartAngle(290);
        plot.setDirection(Rotation.CLOCKWISE);
        plot.setForegroundAlpha(0.5f);
        return chart;
    }
    
    private PieDataset buildData(){
    DefaultPieDataset dataSet = new DefaultPieDataset();
    dataSet.setValue("Nilai 1", n1_eramadhan);
    dataSet.setValue("Nilai 2", n2_eramadhan);
    dataSet.setValue("Nilai 3", n3_eramadhan);
    
    return dataSet;
    }
    
    public static void main(String[] args) {
    try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }catch (Exception e){
    }
    
    SwingUtilities.invokeLater(new Runnable(){
        @Override
        public void run(){
            new PieGrafikInput().setVisible(true);
    }
    });
  }

lalu membuat jFrameform untuk input data chart pie dan menampilkan nya
untuk desain jform nya seperti berikut


pada gambar terdapat area yang di beri tanda kotak merah merupakan letak jLabel4, 5, dan 6
pada program ini saat tombol grafik di tekan maka akan mengambil nilai dari database Mysql dan menaruh nya di jlabel tersebut lalu nilai di teruskan ke javaGrafikInput.

syntax pada button simpan dapat di lihat pada gambar berikut


saat tombol di simpan akan mengirim nilai di jTextField ke tableBar dan memberi notif pop up berhasil lalu menghapus inputan yang ada di jTextfield 

sedangkan syntax button grafik dapat di lihat pada gambar berikut


saat tombol grafik di tekan maka akan mengambil nilai dari database Mysql dan menaruh nya di jlabel tersebut lalu nilai di teruskan ke javaGrafikInput



untuk class BarGrafikInput proses pembuatan nya sama hanya syntax nya yang berbeda
berikut syntax nya

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author hp
 */
public class BarGrafikInput extends JFrame {
    //terima nilai dari jframe dan inisialisasi bar chart
    double n1_eramadhan=0, n2_eramadhan=0, n3_eramadhan=0;
    public void setNilai (String Nilai1, String Nilai2, String Nilai3){
    try{
     n1_eramadhan = Double.parseDouble(Nilai1);
    }catch(NumberFormatException ex){}
    try{
     n2_eramadhan = Double.parseDouble(Nilai2);
    }catch(NumberFormatException ex){} 
    try{
     n3_eramadhan = Double.parseDouble(Nilai3);
    }catch(NumberFormatException ex){}
    this.setSize(600, 400);
    this.setTitle("Diagram Bar");
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final CategoryDataset dataset = createDataset();
    final JFreeChart chart = createChart(dataset);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(600, 400));
    setContentPane(chartPanel);
}
    // menambahkan nilai bar chart tiap nilai
    private CategoryDataset createDataset() {
    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.addValue(n1_eramadhan, "Nilai 1" , "");
    dataset.addValue(n2_eramadhan, "Nilai 2", "");
    dataset.addValue(n3_eramadhan, "Nilai 3 ", "");
    return dataset;
    }
    
    private JFreeChart createChart(final CategoryDataset dataset) {
    JFreeChart chart = ChartFactory.createBarChart3D("Data Grafik ", "", "",
    dataset, PlotOrientation.VERTICAL, true, true, false);
    chart.setBackgroundPaint(new Color(135,206,250));
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setNoDataMessage("Data Not Available");
    CategoryAxis axis = plot.getDomainAxis();
    axis.setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
    CategoryItemRenderer renderer = plot.getRenderer();
    renderer.setBaseItemLabelsVisible(true);
    BarRenderer barRenderer = (BarRenderer) renderer;
    barRenderer.setItemMargin(0.1D);
    barRenderer.setDrawBarOutline(true);
    return chart;
    }
    
    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
        }
    SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
    new BarGrafikInput().setVisible(true);
        }
      });
    } 

dan sytax pada jFrame button simpan


selanjutnya untuk button grafik


dan yang terakhir merupakan hasil run Program PieChart dan BarChart



ada beberapa kekurangan di program yaitu data yang telah di input hanya dapat di hapus / edit melalui mysql  sedangkan melalui aplikasi tidak bisa , mungkin kedapan nya dapat di tambahkan metode CRUD pada aplikasi yang lebih lengkap

Program input data kasus penyebaran penyakit Covid-19

Program yang dimaksud di buat denga bahasa java dengan menggunakan IDE Netbeans 

dengan menggunakan library java jfreechart

data hasil input akan menampilkan diagram piechart


hasil run aplikasi  akan tampil seperti berikut:


data di input pada textfield yg tersedia lalu klik simpan maka data yang telah di input akan 

di tampilkan kembali, lalu untuk memunculkan piechart dengan klik button grafik maka 

grafik akan di muncul kan adapun cara lengkap pembuatan aplikasi nya dalam bentuk 

pdf


Langkah Pembuatan GUI jFreechart sederhana di netbeans



disini saya menganggap bagi yang membaca sudah memahami apa itu java dan IDE Netbeans Tahap awal adalah membuat project baru klik new project , lalu pilih java Application , lalu klik next, nama project bebas 


lalu membuat jframe form dengan nama home
jFramehome berupa GUI untuk memanggil class java Piechart 


lalu mendesain tampilan GUI jFrame home dengan menambahkan menu bar dari pallet 


setelah itu menambah kan menu item pada menu bar  


di lanjutkan menambahkan event action pada menu item


pada action menu item di tambah kan sytax seperti berikut :

JavaPieChart subPie=new JavaPieChart();
        jDesktopPane1.add(subPie);
        subPie.setVisible(true);

untuk memanggil javaPieChart class

membuat java class baru dengan nama javaPieChart

 

ada pun sytax pada class javaPieChart sperti brikut :

//library yang di butuhkan
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.util.Rotation;

/**
 *
 * @author eramadhan
 */
public class JavaPieChart extends JInternalFrame  {
    
    public JavaPieChart() {
    //inisialisasiframe
    this.setSize(600, 400);
    this.setTitle("Diagram PIE");
    //this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuat diagram/chart jfreechart
//Membuat/mengkalkulasikan data char
PieDataset dataset = buildData();
// Membuat chart berdasarkan data yang ada pada dataset
JFreeChart chart = buildChart(dataset, "Browser yang YangDIgunakan");
// Memasukan chart pada panel agar lebih mudah ditampilkan pada komponen swing containe
ChartPanel pieChart= new ChartPanel(chart);
//memasukan chart panel kedalam jpanel
this.setContentPane(pieChart);
   }


 private JFreeChart buildChart(PieDataset dataset, String judul) {
    JFreeChart chart = ChartFactory.createPieChart3D(judul, // JudulChart
    dataset, // data chart yang akanditampilkan
    true, // jikaya, makaakanlegend chart/diagram ditampilkan
    true,
    false);
    PiePlot3D plot = (PiePlot3D) chart.getPlot();
    plot.setStartAngle(290);
    plot.setDirection(Rotation.CLOCKWISE);
    plot.setForegroundAlpha(0.5f);
    return chart;
    }

    private PieDataset buildData() {
    DefaultPieDataset dataSet= new DefaultPieDataset();
    dataSet.setValue("Google Chrome", 45);
    dataSet.setValue("MozilaFirefox", 30);
    dataSet.setValue("Internet Explorer", 15);
    dataSet.setValue("Browser Lainnya", 10);
    return dataSet;
}
    public static void main(String[] args) {
     try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
    }
    SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
    new JavaPieChart().setVisible(true);
        }
    });
    }
    
}

lalu jalan kan aplikasi dengan short cut shift+f6 pada jFrame home ,jika tidak ada error maka aplikasi akan tampil seperti berikut 


setelah itu klik di menubar untuk memanggil atau menampilkan javaPieChart class


hasil nya seperti berikut :