Framework 2


Bismillahi Rahmanir Rahim Selamat malam sobat, kali ini kita akan membuat sebuah project website dengan menggunakan framework spring. Tidak usah berlama-lama langsung saja kita buat.
Pertama kita memerlukan :
  1. JDK
  2. Netbeans
  3. Xampp
Kita install bahan tersebut, jika belum tahu, maka lihat di google cara installnya. kemudian jalankan netbeans. Sebelumnya kita buat dahulu project di start.spring.io .
  1. Buat project di start.spring.io
C:\Users\LabSoft08\Documents\Hendra Agus\1.JPG
Buat nama Group, Artifact dan pilih JPA, Web, Mysql.

  1. Buka netbeans dan import project tadiC:\Users\LabSoft08\Documents\Hendra Agus\3.JPG
C:\Users\LabSoft08\Documents\Hendra Agus\2.JPG
C:\Users\LabSoft08\Documents\Hendra Agus\4.JPG

  1. Pada Other Source, dan pada application.properties. lihat gambar. Tambahkan script tersebut
C:\Users\LabSoft08\Documents\Hendra Agus\5.JPG

  1. Jalankan Xampp
C:\Users\LabSoft08\Documents\Hendra Agus\6.JPG

  1. Buat Database db_perpustakaan
C:\Users\LabSoft08\Documents\Hendra Agus\7.JPG

  1. Arahkan ke Source Packages. Buat packace baru dengan nama seperti gambar di bawah
C:\Users\LabSoft08\Documents\Hendra Agus\8.JPG

  1. Kemudian pada package tersebut buat class dengan nama Anggota.java
C:\Users\LabSoft08\Documents\Hendra Agus\9.JPG

dan isi dengan script berikut :
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.HendraAgus.UTS.Hendra_UTS.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.GenericGenerator;

/**
*
* @author Aras
*/
@Entity
public class Anggota {
   @Id
   @GeneratedValue(generator = "uuid")
   @GenericGenerator(name = "uuid", strategy = "uuid2")
   private String id;
   @Column(nullable=false, unique=true, length = 10)
   private String nama;
   @Column(nullable=false, length = 50)
   private String jurusan;
   @Column(nullable=false, length = 50)
   private String alamat;

   public String getId() {
       return id;
   }

   public void setId(String id) {
       this.id = id;
   }

   public String getNama() {
       return nama;
   }

   public void setNama(String nama) {
       this.nama = nama;
   }

   public String getJurusan() {
       return jurusan;
   }

   public void setJurusan(String jurusan) {
       this.jurusan = jurusan;
   }
   public String getAlamat() {
       return alamat;
   }

   public void setAlamat(String alamat) {
       this.alamat = alamat;
   }
   
   
}

  1. Tambahkan satu class lagi di package tersebut dengan nama Buku.java
C:\Users\LabSoft08\Documents\Hendra Agus\10.JPG

Dan isikan class tersebut dengan script berikut :

package com.HendraAgus.UTS.Hendra_UTS.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.GenericGenerator;

@Entity
public class Buku {
   @Id
   @GeneratedValue(generator = "uuid")
   @GenericGenerator(name = "uuid", strategy = "uuid2")
   private String id;
   @Column(nullable=false, unique=true, length = 10)
   private String judul;
   @Column(nullable=false, length = 50)
   private String penerbit;

   public String getId() {
       return id;
   }

   public void setId(String id) {
       this.id = id;
   }

   public String getJudul() {
       return judul;
   }

   public void setJudul(String judul) {
       this.judul = judul;
   }

   public String getPenerbit() {
       return penerbit;
   }

   public void setPenerbit(String penerbit) {
       this.penerbit = penerbit;
   }
}

  1. Di Source Packages buat package baru dengan nama seperti berikut :
C:\Users\LabSoft08\Documents\Hendra Agus\11.JPG

  1. Dan buat class baru dengan nama :
C:\Users\LabSoft08\Documents\Hendra Agus\12.JPG

Dan isi dengan script berikut :

package com.HendraAgus.UTS.Hendra_UTS.dao;

import com.HendraAgus.UTS.Hendra_UTS.entity.Anggota;
import org.springframework.data.repository.PagingAndSortingRepository;

public interface AnggotaDao extends PagingAndSortingRepository<Anggota, String>{
   
}

  1. Tambah class lagi di package tersebut dengan nama :
C:\Users\LabSoft08\Documents\Hendra Agus\13.JPG

Dan isi class tersebut dengan script berikut :

package com.HendraAgus.UTS.Hendra_UTS.dao;

import com.HendraAgus.UTS.Hendra_UTS.entity.Buku;
import org.springframework.data.repository.PagingAndSortingRepository;

public interface BukuDao extends PagingAndSortingRepository<Buku, String>{
   
}

  1. Pergi lagi di Source Packages buat sebuah package baru dengan nama
C:\Users\LabSoft08\Documents\Hendra Agus\14.JPG

  1. Dan buat class baru di dalamnya dengan nama
C:\Users\LabSoft08\Documents\Hendra Agus\15.JPG

Lalu isikan script berikut :

package com.HendraAgus.UTS.Hendra_UTS.controller;

import com.HendraAgus.UTS.Hendra_UTS.dao.AnggotaDao;
import com.HendraAgus.UTS.Hendra_UTS.entity.Anggota;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/anggota")
public class AnggotaHtmlController {

   //load model tabel anggota
   @Autowired
   private AnggotaDao pd;

   //menampilkan list anggota
   @RequestMapping("/tampilan")
   public void daftarAnggota(Model m) {
       m.addAttribute("daftarAnggota", pd.findAll());
   }

   //menghapus data anggota
   @RequestMapping("/hapus")
   public String hapus(@RequestParam("id") String id) {
       pd.delete(id);
       return "redirect:tampilan";
   }

   //Tambah Data Anggota
   @RequestMapping(value = "/tambah", method = RequestMethod.POST)
   public String prosesTambah(@Valid Anggota s, BindingResult errors) {
       if (errors.hasErrors()) {
           return "/anggota/tambah";
       }
       pd.save(s);
       return "redirect:tampilan";
   }

   //Tambah Data Anggota
   @RequestMapping(value = "/tambah", method = RequestMethod.GET)
   public String tampilkanTambah(@RequestParam(value = "id", required = false) String id, Model m) {
       //defaultnya isi dengan object baru
       m.addAttribute("anggota", new Anggota());
       if (id != null && !id.isEmpty()) {
           Anggota s = pd.findOne(id);
           if (s != null) {
               m.addAttribute("anggota", s);
           }
       }
       return "/anggota/tambah";
   }

}

  1. Tambah satu class baru lagi dengan nama
C:\Users\LabSoft08\Documents\Hendra Agus\16.JPG

Kemudian isi dengan script berikut :

package com.HendraAgus.UTS.Hendra_UTS.controller;

import com.HendraAgus.UTS.Hendra_UTS.dao.BukuDao;
import com.HendraAgus.UTS.Hendra_UTS.entity.Buku;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/buku")
public class BukuHtmlController {

   //load model tabel buku
   @Autowired
   private BukuDao pd;

   //menampilkan list buku
   @RequestMapping("/tampilan")
   public void daftarBuku(Model m) {
       m.addAttribute("daftarBuku", pd.findAll());
   }

   //menghapus data buku
   @RequestMapping("/hapus")
   public String hapus(@RequestParam("id") String id) {
       pd.delete(id);
       return "redirect:tampilan";
   }

   //Tambah Data Buku
   @RequestMapping(value = "/tambah", method = RequestMethod.POST)
   public String prosesTambah(@Valid Buku s, BindingResult errors) {
       if (errors.hasErrors()) {
           return "/buku/tambah";
       }
       pd.save(s);
       return "redirect:tampilan";
   }

   //Tambah Data Buku
   @RequestMapping(value = "/tambah", method = RequestMethod.GET)
   public String tampilkanTambah(@RequestParam(value = "id", required = false) String id, Model m) {
       //defaultnya isi dengan object baru
       m.addAttribute("buku", new Buku());
       if (id != null && !id.isEmpty()) {
           Buku s = pd.findOne(id);
           if (s != null) {
               m.addAttribute("buku", s);
           }
       }
       return "/buku/tambah";
   }

}

  1. Pergi ke Other Sources dan buatkan package dengan nama
C:\Users\LabSoft08\Documents\Hendra Agus\17.JPG

Dan buat dua buah class html dengan nama tampilan.html dan tambah.html

C:\Users\LabSoft08\Documents\Hendra Agus\18.JPG
Isi dengan script berikut :

C:\Users\LabSoft08\Documents\Hendra Agus\19.JPG

Isi dengan script berikut :

  1. Kemudian masih di Other Source tersebut, kemudian buat sebuah package baru dengan nama C:\Users\LabSoft08\Documents\Hendra Agus\20.JPG

Dan didalamnya buat class baru html dengan nama tampilan.html dan tambah.html
C:\Users\LabSoft08\Documents\Hendra Agus\21.JPG
Dan isikan script berikut :

C:\Users\LabSoft08\Documents\Hendra Agus\22.JPG
Dan isi script berikut :

  1. Nah, sudah di isi script semuanya, kemudian kita clean and build :

  1. Kita running atau jalankan project

  1. Lihat di browser dengan search localhost:8080/anggota/tampilan

Komentar