Sabtu, 11 November 2017

Framework

Assalamualaikum wr. wb.

Pada kesempatan kali ini saya akan membuat web sederhana dari framework dan thymleaf. Editor yang saya gunkan yaitu netbeans. ok, langsung saja kita pada tahap-tahap membuat sederhana.
  • hal yang pertama di lakukan mengenrate project dari "start.spring.io".
seperti pada gambar dibawah ini:

E:\POLIGON\P. Framework II\Absensi\gambar\1.PNG

  • kemudian buka buka editor aplikasi netbeans lalu open projeck hinnga tampil projeck dalam aplikasi tersebut:
E:\POLIGON\P. Framework II\Absensi\gambar\2.PNG
  • buat masing package dalam folder source pacakages, seperti pada gambar dibawah ini:
E:\POLIGON\P. Framework II\Absensi\gambar\3.PNG

  • script  Mahasiswa.java :
E:\POLIGON\P. Framework II\Absensi\gambar\3a.PNG

  • script Dosen.java :
E:\POLIGON\P. Framework II\Absensi\gambar\3b.PNG

  • kemudian kita edit dalam folder package .dao
  • script MahasiswaDao.java :
E:\POLIGON\P. Framework II\Absensi\gambar\3c.PNG
  • Script untuk DosenDao.java
E:\POLIGON\P. Framework II\Absensi\gambar\3d.PNG
  • Kemudai kita buat packagas .dao di dalam folder test packages, seperti pada gambar dibawah ini:
E:\POLIGON\P. Framework II\Absensi\gambar\4.PNG
  • Sciprt mahasiswadaotest :
E:\POLIGON\P. Framework II\Absensi\gambar\3e.PNG
  • Script dosendaotest :
E:\POLIGON\P. Framework II\Absensi\gambar\3f.PNG
  • Kemudian kita ke folder other sourcer > application.propertis:
E:\POLIGON\P. Framework II\Absensi\gambar\5.PNG
  • Edit application.properties tersebut seperti pada gambar dibawah ini:
E:\POLIGON\P. Framework II\Absensi\gambar\5a.PNG

  • Kemudian kita clean and buil project tersebut. Tapi sebelumya buat terlebih dahulu database, seperti pada gambar diatas nama databasenya adalah db_absensi.
  • Jiga hasil running sucsess kemudian kita cek di command promt apakah berhasil .
E:\POLIGON\P. Framework II\Absensi\gambar\6.PNG
Dari gambar diatas kita sudah berhasil.

  • Selanjutnya kita akan tampilkan di web dengan cara kita buat packages di source packages dengan nama controller > lalu buat file dengan nama mahasiswahtmlcotroller.
  • Script file mahasiswahtmlcontroller :

@Controller
@RequestMapping("/mahasiswa")
public class MahasiswaHtmlController {
   @Autowired
   private MahasiswaDao md;
   
   @RequestMapping("/list")
   public void daftarMahasiswa (Model m){
       m.addAttribute("daftarMahasiswa", md.findAll());
   }
   
   @RequestMapping("/hapus")
   public String hapus (@RequestParam("id") String id){
       md.delete(id);
       return "redirect:list";
   }
   @RequestMapping(value = "/form", method = RequestMethod.GET)
   public String tampilkanForm (@RequestParam(value = "id",
           required = false) String id, Model m){
           m.addAttribute("mahasiswa", new Mahasiswa ());
           if (id != null && !id.isEmpty()){
              Mahasiswa mhs = md.findOne(id);
              if (mhs != null){
                m.addAttribute("mahasiswa", mhs);
              }
           }
           return "/mahasiswa/form";
   }
   @RequestMapping(value = "/form", method = RequestMethod.POST)
   public String simpanData (@Valid Mahasiswa mhs,
           BindingResult error){
       if (error.hasErrors()){
           return "/peserta/form";
       }
       md.save(mhs);
       return "redirect:list";
   }
   
  • Kemudian kita buat file html di folder other sources
  • List.html
  • Form.html
  • Ubah file list.html seperti dibawah ini:

<html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:th="http://www.thymeleaf.org">
   <head>
       <title>home</title>
       <meta charset="UTF-8"/>
       <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
   </head>
   <body>
       <center>
           <h1>Daftar Mahasiswa</h1>
           <a herf="#" th:href="@{/mahasiswa/form}">
               Tambah Data Mahasiswa</a>

           <table border="1">
               <thead>
                   <tr>
                       <th>NIM</th>
                       <th>Nama</th>
                       <th>Email</th>
                       <th>Aksi</th>
                   </tr>
               </thead>
               <tbody>
                   <tr th:each="mhs : ${daftarMahasiswa}">
                       <td th:text="${mhs.nim}"></td>
                       <td th:text="${mhs.nama}"></td>
                       <td th:text="${mhs.email}"></td>   
                       <td>
                           <a herf="#" th:href="@{/mahasiswa/edit (id=${mhs.id})}">Edit</a>|
                           <a href="#" th:href="@{/mahasiswa/form(id=${mhs.id})}">Lihat</a>|
                           <a href="#" th:href="@{/mahasiswa/hapus(id=${mhs.id})}">Hapus</a>
                       </td>
                   </tr>
               </tbody>
           </table>
       </center>
   </body>
</html>

  • Ubah form.html seperti tertulis dibawah ini:

<!DOCTYPE html>
<!--
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.
-->
<html>
   <head>
       <title>home</title>
       <meta charset="UTF-8"/>
       <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
   </head>
   <body>
       <h1>Tamba Data Peserta</h1>
       <form action="#" th:action="@{/mahasiswa/form}" th:object="${mahasiswa}" method="post">
           <table border="1">
               <tbody>
                   <tr>
                       <td>NIM</td>
                       <td><input type="text" th:field="*{nim}"/></td>
                       <td th:if="${#fields.hasErrors('nim')}"
                           th:error="*{nim}">Pesan Error</td>
                   </tr>
                   <tr>
                       <td>Nama</td>
                       <td><input type="text" th:field="*{nama}"/></td>
                       <td th:if="${#fields.hasErrors('nama')}"
                           th:error="*{nama}">Pesan Error</td>
                   </tr>
                   <tr>
                       <td>Email</td>
                       <td><input type="text" th:field="*{email}"/></td>
                       <td th:if="${#fields.hasErrors('email')}"
                           th:error="*{email}">Pesan Error</td>
                   </tr>
                   <tr>
                       <td>&nbsp;</td>
                       <td colspan="2" align="center">
                           <input type="submit" value="simpan"/>
                       </td>
                   </tr>
               </tbody>
           </table>
       </form>
   </body>
</html>











Kemudain kita clean and build dan juga kita running setelah berhasil, kita panggil dari browser :

  • Kita coba untuk menambah data kita klik “Tambah Data Mahasiswa”
  • Kita lihat hasilnya apakah berhasil disimpan:
Dari gambar diatas kita sudah berhasil membuat crud dari spring pramework.

Selasa, 07 November 2017

Aplikasi Pemesanan Lapangan Futsal (Form Pemesanan)

Assalamualaikum wr. wb.

Pada kesempatan kali ini saya akan melanjutkan postingan kemarin yaitu penyewaan lapangan futsal. aplikasi yang saya buat kali ini yaitu membuat form pemesanan dari client. Pada postingan sebelum dari aplikasi yang buat hanya bisa sampai registrasi mendaftar sebagai member.
ok, langsung saja pada tahap-tahap pembuatan form pemesanan.
langkah yang pertama yang kita akan buat adalah login, seperti pada gambar di bawah ini:

dengan script seperti berikut :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widg37"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/coba"
xmlns:android="http://schemas.android.com/apk/res/android">

<TableLayout
    android:layout_marginTop="280dp"
android:id="@+id/widget37"
android:layout_width="250dp"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:orientation="vertical" >    
    
<EditText
    android:id="@+id/txtusername"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Username"
    android:textSize="18sp" />


<EditText
android:id="@+id/txtpassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:password="True"
android:textSize="18sp" />

 </TableLayout> 
 
<TableLayout
android:id="@+id/w7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>  
<TableRow
    android:layout_marginLeft="90dp"
android:id="@+id/widget65"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnlogin"
android:onClick="login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="L O G I N" />
<Button
android:id="@+id/btndaftar"
android:onClick="daftar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DAFTAR" />
</TableRow>
 </TableLayout> 
<TextView
android:id="@+id/txtstatus"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>


- setelah berhasil login akan masuk pada tampilan home disitu terdapat berbagai macam pengelolah futsal, seperti pada gambar dibawah ini:


dengan script seperti berikut:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bgc"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Home" >

    <ImageView
        android:id="@+id/lap1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="40dp"
        android:background="@drawable/a"/>
    <Button 
        android:id="@+id/btn1"
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:text="Dunia Futsal"
        android:textStyle="bold"
        android:layout_below="@+id/lap1"
        android:layout_marginLeft="20dp"/>
     
     <ImageView
         android:id="@+id/lap2"
         android:layout_width="100dp"
         android:layout_height="100dp"
         android:layout_marginLeft="50dp"
         android:layout_marginTop="40dp"
         android:layout_toRightOf="@+id/lap1"
         android:background="@drawable/b" />
     <Button 
        android:id="@+id/btn2"
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:text="MyFutsal"
        android:textStyle="bold"
        android:layout_marginLeft="45dp"
        android:layout_below="@+id/lap2"
        android:layout_toRightOf="@+id/lap1"/>
     
     <ImageView
        android:id="@+id/lap3"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="100dp"
        android:layout_below="@+id/lap1"
        android:background="@drawable/c"/>
     <Button 
        android:id="@+id/btn3"
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:text="YouFutsal"
        android:textStyle="bold"
        android:layout_marginLeft="20dp"
        android:layout_below="@+id/lap3"/>
     
     <ImageView
        android:id="@+id/lap4"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginLeft="45dp"
        android:layout_marginTop="100dp"
        android:layout_below="@+id/lap2"
        android:layout_toRightOf="@+id/lap3"
        android:background="@drawable/d"/>
     <Button 
        android:id="@+id/btn4"
        android:layout_width="110dp"
        android:layout_height="wrap_content"
        android:text="Futsal"
        android:textStyle="bold" 
        android:layout_marginLeft="40dp"
        android:layout_below="@+id/lap4"
        android:layout_toRightOf="@+id/lap3"/>

</RelativeLayout>

- dari form home, setelah pilih tempat futsal yang kita pilih. kita lanjutkan dengan melakukan pemesanan pada lapangan futsal yang kita pilih. tampilan pilih lapangan seperti berikut:


dengan script seperti berikut :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/lap"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Lapangan1" >

     <ImageView
        android:id="@+id/lap1"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginTop="100dp"
        android:background="@drawable/lap1"
        android:scaleType="fitXY" />

    <ScrollView
        android:id="@+id/scrol"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/lap1"
        android:layout_marginTop="20dp" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
            
<TextView
                android:id="@+id/view2"
                android:layout_gravity="center"
                android:textStyle="bold"
                android:textSize="15dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Lapangan Futsal"/>
<TextView
                android:id="@+id/view2"
                android:layout_marginTop="15dp"
                android:textSize="15dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Rp 70.000/Jam"/>
            
            
            <TextView
                android:id="@+id/view1"
                android:layout_marginTop="15dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Futsal adalah permainan bola yang dimainkan oleh dua tim, yang masing-masing beranggotakan lima orang. Tujuannya adalah memasukkan bola ke gawang lawan, dengan memanipulasi bola dengan kaki. Selain lima pemain utama, setiap regu juga diizinkan memiliki pemain cadangan. Tidak seperti permainan sepak bola dalam ruangan lainnya, lapangan futsal dibatasi garis, bukan net atau papan." />

            <TableLayout
                android:id="@+id/tab1"
                android:layout_marginTop="25dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <LinearLayout
                    android:id="@+id/l1"
                    android:layout_gravity="center"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/btn2"
                        android:layout_width="97dp"
                        android:layout_height="45dp"
                        android:text="C H A T"
                        android:textStyle="bold" />

                    <Button
                        android:id="@+id/btn1"
                        android:layout_width="97dp"
                        android:layout_height="45dp"
                        android:textStyle="bold"
                        android:text="P E S A N" />

                    <Button
                        android:id="@+id/btn3"
                        android:layout_width="97dp"
                        android:layout_height="45dp"
                        android:textStyle="bold"
                        android:text="E X I T" />
                </LinearLayout>
            </TableLayout>
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

- kemudian kita akan melakukan pemesanan pada lapangan yang kita inginkan, seperti pada gambar dibawah ini:


dengan script seperti berikut :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widg37"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/tes"
xmlns:android="http://schemas.android.com/apk/res/android">

<TableLayout
    android:layout_marginTop="190dp"
android:id="@+id/widget37"
android:layout_width="250dp"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:orientation="vertical" >  
    <EditText
    android:id="@+id/txtlap"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="id_lapangan"
    android:textSize="18sp" />
    
<EditText
    android:id="@+id/txtjammulai"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Jam Mulai"
    android:textSize="18sp" />


<EditText
android:id="@+id/txtjamselesai"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Jam Selesai"
android:textSize="18sp" />
<TextView 
    android:layout_marginLeft="170dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="70.000/Jam"/>
<EditText
    android:id="@+id/txttothal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Total Harga"
    android:textSize="18sp" />

 </TableLayout> 
 
<TableLayout
android:id="@+id/w7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">  
<TableRow
android:id="@+id/widget65"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnlogin"
android:onClick="login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PESAN SEKARANG" />


</TableRow>
 </TableLayout> 
<TextView
android:id="@+id/txtstatus"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>


dengan begitu form pemesanan yang kita buat sudah selesai ....