Belajar Membuat CRUD Dengan SPRING

Pada kesempatan kali ini kita akan membahas tentang  framework,  sebelum masuk pada pembuatan projeknya, kita harus mengetahui dahulu itu framework. Framework atau bahasa Indonesianya kerangka kerja adalah sebuah software untuk memudahkan para programmer membuat aplikasi atau web yang isinya adalah berbagai fungsi, plugin, dan konsep sehingga membentuk suatu system tertentu. Dengan menggunakan framework, sebuah aplikasi akan tersusun dan terstruktur dengan rapi. Sekarang kita akan mulai membuat projeknya.
Sebelummasukpadapembuatanaplikasinyakitaharusmendownloadprojecterlebihdahulu Di
link http://start.spring.io/ contohnyasebagaiberikut


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fYOljwvhSU68oQSNCiEI6DRbLTkxpQzGQtOOkiKX3_mcAp8HW-zdCo4EIUIOEtlD-JoG7OzCrMqr5gt6hV1ow1WhhhbV8Y0XzXh9RII54yed7JB_cYtzuqq4_R4rb7KDrWaK_eLpNRmU/s1600/1.PNG

Didalam project inisayamenggunakan spring boot versi 158 dan dependencies-nyasayamenggunakan WEB, MYSQL, JPA, danThymeleaf. Nama project-nyasayaberinama “Tugas_UTS” Untukmendownload file tersebutklik generate project.
Jikasudahkita Generate Project dan file berbentuk file zip. diextracdulu yah..!!!!
kemudianBukaaplikasiNetbeansdan open project
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1su-PE31fos3cKVIgqWr2raOvJxu8oFv6r073bBQ2aCWMhNbmVKfA6ZLzWhUMRNqxdsasHV-GIAXb1n9-SP4iyQRNiRzZ2FKBEDnUSFGgHAvTLRKrGf7lZjfXdt6SYXVdcKDnEKhTl6i/s1600/2.png
SelanjutnyaPada  source package kitabuat package baru

Pada package entity kitabuat class baruyaitu class mahasiswa.java

Kemudiankitamengedit file class Mahasiswaberikutcodingannya
/*
 * 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.
 */
packagefadli.com.andre_uts.entity;

importjava.util.Date;
importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Id;
importjavax.persistence.Table;
importjavax.persistence.Temporal;
importjavax.persistence.TemporalType;
importorg.hibernate.annotations.GenericGenerator;

public class Mahasiwa {

  @Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String Nim;
@Column(nullable = false)
private String Nama;
@Column(name = "tanggal_lahir", nullable = false)
@Temporal(TemporalType.DATE)
private Date tanggalLahir;
@Column(nullable = false)
private String Alamat;
@Column(nullable = false)
private String No_telp;
}
Setelahitukitatekanalt+insertdankitapilih getters and setter, kemudiankitacentangsemuacolomlalu generate
Selanjutnyakitabuatclass  barudengannama buku.java. berikutadalahkodingnya
packagefadli.com.andre_uts.entity;

importjava.util.Date;
importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Id;
importjavax.persistence.Table;
importjavax.persistence.Temporal;
importjavax.persistence.TemporalType;
importorg.hibernate.annotations.GenericGenerator;


 @Entity
@Table (name ="tbl_buku")
public class buku {

           @Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
@Column(nullable = false)
private String Judul_buku;
@Column(nullable = false)
private String Penerbit;
}
Setelahitukitatekanalt+insertdankitapilih getters and setter, kemudiankitacentangsemuacolomlalu generate.
Sekarangkitaakanbuat packagedaodanbuat interface mahasiswa.java dan buku.java
selanjutnyatambahkankodinganseperiberikut extend Paggingdanseterusnyalihatpadagambar

Mahasiswacontroller.java
/*
 * 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.
 */
packagefadli.com.andre_uts.controller;

/*
 * 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.
 */
packagefadli.com.andre_uts.controller;

importfadli.com.andre_uts.dao.mahasiswaDao;
importfadli.com.andre_uts.entity.Mahasiswa;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.data.domain.Page;
importorg.springframework.data.domain.Pageable;
importorg.springframework.http.HttpStatus;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.RequestBody;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.ResponseStatus;
importorg.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/api")
public class MahasiswaController {
   @Autowired
privatemahasiswaDaomahasiswaDao;

@RequestMapping(value = "/mahasiswa", method = RequestMethod.GET)
public Page<Mahasiswa>findAll(Pageablepageable) {
returnmahasiswaDao.findAll(pageable);
    }

@RequestMapping(value = "/mahasiswa", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public void save(@RequestBodyMahasiswa m) {
mahasiswaDao.save(m);
    }

@RequestMapping(value = "/mahasiswa/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
public void edit(@PathVariable String id, @RequestBodyMahasiswa m) {
m.setid(id);
mahasiswaDao.save(m);
    }

@RequestMapping(value = "/mahasiswa/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.OK)
public void delete(@PathVariable String id) {
Mahasiswa m = mahasiswaDao.findOne(id);
if (m != null) {
mahasiswaDao.delete(id);
        }
    }
}

Bukucontroller.java
/*
 * 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.
 */
packagefadli.com.andre_uts.controller;

importfadli.com.andre_uts.dao.bukuDao;
importfadli.com.andre_uts.entity.buku;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.data.domain.Page;
importorg.springframework.data.domain.Pageable;
importorg.springframework.http.HttpStatus;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.RequestBody;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.ResponseStatus;
importorg.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api")
public class BukuController {

@Autowired
privatebukuDaobukuDao;

@RequestMapping(value = "/Buku", method = RequestMethod.GET)
public Page<buku>findAll(Pageablepageable) {
returnbukuDao.findAll(pageable);
    }

@RequestMapping(value = "/Buku", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public void save(@RequestBodybuku b) {
bukuDao.save(b);
    }

@RequestMapping(value = "/Buku/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.OK)
public void edit(@PathVariable String id, @RequestBodybuku b) {
b.setid(id);
bukuDao.save(b);
    }

@RequestMapping(value = "/Buku/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.OK)
public void delete(@PathVariable String id) {
buku b = bukuDao.findOne(id);
if (b != null) {
bukuDao.delete(id);
        }
    }
}
Selanjutnyapada application propertis 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6DS5D-A-MPg8gPhb9uUm_GqOP5l9JKZuO8XOoIMACt8qbULoVFra_osVruzqfa6e3M3-2WMQ2pK5-GusnEsm6fhpExcs0BUR3wxhAQv3sEulP_90AW8B2cCw2wqcdxa6A5k5EeU-TZKvc/s1600/11.PNG
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6DS5D-A-MPg8gPhb9uUm_GqOP5l9JKZuO8XOoIMACt8qbULoVFra_osVruzqfa6e3M3-2WMQ2pK5-GusnEsm6fhpExcs0BUR3wxhAQv3sEulP_90AW8B2cCw2wqcdxa6A5k5EeU-TZKvc/s1600/11.PNG
Isikanconectionsbgberikut

spring.datasource.url=jdbc:mysql://localhost/db_pendaftaran
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.generate-ddl=true

selanjutnyabuat database baru
dengancarabukalocalhost/phpmyadminpasstikanxampptelahaktif
dan file clean and build

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCHhjS_jafJLq0YXOshW4qipb0zbmaaow23gPfC-x0tK59B6NfCgODQndX2Kg9OzTW02n4xcqhBEwFuiT3E1NtofYeznsVxi-Vp6094ffH_zlJiur3Tu1VzQQkTFPyhVn5KNd7FOzJF693/s1600/12.PNG








Jikasuksesmakatampilannyasebagaiberikut

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_jpBPXmZoDHsCM4hsH6V3qBFL_rS9be-sXdIpsHVyqN2R8SJd2dWJcNXGQm4f19hDaJ50htHakXHy5NgyhDBtK5PBm73dw1KjJEy5Z1VSXgaQa5-scVX8rFWJguVL_iEB7UWrIL2fu3AT/s1600/13.PNG


Buat package baruMahasiswa  buat  file html, form.html dan list.html

Bottom of Form

Berikutadalah file lihat.html
Tambah.html
Berikutadalahhasilnya.
DaftarMahasiswa
nim
nama
Aksi

Tambah Data
Top of Form
nim
Pesan Error
nama
Pesan Error
Simpan



Kemudianbuat package barubuku  buat  file html, form.html dan list.htmldanberikutadalahhasilnya.

Daftarbuku
kode
nama
Aksi


Tambah Data
Top of Form
kode
Pesan Error
nama
Pesan Error
Simpan





Bottom of Form
Bottom of Form


0 komentar:

Tips Crud Dengan JSON Dan Database MYSQL

 Langka Awal Buatkan file php dengan nama server.php
<?php
$server = "localhost";
$username = "root";
$database = "pakaian";
$password = "";
mysql_connect($server, $username, $password) or die("<h1>Koneksi Mysql Error : 
</h1>" . mysql_error());
mysql_select_db($database) or die("<h1>Koneksi Kedatabase Error : </h1>" .
mysql_error());
@$operasi = $_GET['operasi'];
switch ($operasi) {
$query_tampil_pakaian = mysql_query("SELECT * FROM db_pakaian")
case "view":
 or die(mysql_error());
$data_array = array();
while ($data = mysql_fetch_assoc($query_tampil_pakaian)) {
$data_array[] = $data;
}
case "insert":
echo json_encode($data_array);
break;
@$jenis = $_GET['jenis'];
/* Source code untuk Insert data */
@$merk = $_GET['merk'];
$query_insert_data = mysql_query("INSERT INTO db_pakaian
@$ukuran = $_GET['ukuran'];
@$harga = $_GET['harga'];
 (merk, jenis, ukuran, harga) VALUES('$merk', '$jenis', '$ukuran', '$harga')");
if ($query_insert_data) {
echo "Data Berhasil Disimpan";
}
} else {
echo "Error Insert Pakaian " . mysql_error();
break;
$query_tampil_pakaian = mysql_query("SELECT * FROM db_pakaian 
case "get_pakaian_by_id":
@$id = $_GET['id'];
WHERE id='$id'"
) or die(mysql_error());
$data_array = array();
$data_array = mysql_fetch_assoc($query_tampil_pakaian);
echo "[" . json_encode($data_array) . "]";
/* Source code untuk Update Biodata */
break;
case "update":
@$merk = $_GET['merk'];
@$harga = $_GET['harga'];
@$jenis = $_GET['jenis'];
@$ukuran = $_GET['ukuran'];

$query_update_pakaian = mysql_query("UPDATE db_pakaian SET merk='$merk',
@$id = $_GET['id'];
 jenis='$jenis' , ukuran='$ukuran',harga='$harga' WHERE id='$id'");
if ($query_update_pakaian) {
echo mysql_error();
echo "Update Data Berhasil";
} else { }
/* Source code untuk Delete Biodata */
break;
case "delete":
@$id = $_GET['id'];
$query_delete_pakaian = mysql_query("DELETE FROM db_pakaian WHERE
 id='$id'");
if ($query_delete_pakaian) {
echo "Delete Data Berhasil";
} else {
}
echo mysql_error();
break;
?>
default:
break;
}

Langka Kedua Edit AndroidManifest.xml seperti di bawah ini


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jhohannes.purba"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="jhohannes.purba.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest> 


Langka ketiga buatkan file dengan nama activity_main.xml



< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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="com.examplore.deathnote.MainActivity" >
    
    <Button
        android:id="@+id/buttonTambahPakaian"
        android:layout_width="186dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Tambah Pakaian" />



    <HorizontalScrollView
        android:id="@+id/horizontalScrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >



        <ScrollView
            android:id="@+id/verticalScrollView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >



            <TableLayout
                android:id="@+id/tablePakaian"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp" >
            </TableLayout>
        </ScrollView>
    </HorizontalScrollView>



</LinearLayout>

Langka Keempat Buatkan file dengan nama  Koneksi.java


package com.examplore.deathnote;


import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;



public class Koneksi {



    public String call(String url) {
          int BUFFER_SIZE = 2000;
          InputStream in = null;
          try {
           in = OpenHttpConnection(url);
          } catch (IOException e) {
           e.printStackTrace();
           return "";
          }
          InputStreamReader isr = new InputStreamReader(in);
          int charRead;
          String str = "";
          char[] inputBuffer = new char[BUFFER_SIZE];
          try {
           while ((charRead = isr.read(inputBuffer)) > 0) {
            String readString = String.copyValueOf(inputBuffer, 0, charRead);
            str += readString;
            inputBuffer = new char[BUFFER_SIZE];
           }
           in.close();
          } catch (IOException e) {
           // Handle Exception
           e.printStackTrace();
           return "";
          }
          return str;
         }



         private InputStream OpenHttpConnection(String url) throws IOException {
          InputStream in = null;
          int response = -1;
          URL url1 = new URL(url);
          URLConnection conn = url1.openConnection();
          if (!(conn instanceof HttpURLConnection))
           throw new IOException("Not An Http Connection");
          try {
           HttpURLConnection httpconn = (HttpURLConnection) conn;
           httpconn.setAllowUserInteraction(false);
           httpconn.setInstanceFollowRedirects(true);
           httpconn.setRequestMethod("GET");
           httpconn.connect();
           response = httpconn.getResponseCode();
           if (response == HttpURLConnection.HTTP_OK) {
            in = httpconn.getInputStream();
           }
          } catch (Exception e) {
           throw new IOException("Error connecting2");
          }
          return in;
         }
}



Langka Kelima buatkan file dengan nama Pakaian.java



package com.pakaian.pakaian;
public class Pakaian extends Koneksi {
     String URL = "http://192.168.43.94/pakaian/server.php";
     String url = "";
     String response = "";

     public String tampilPakaian() {
      try {
       url = URL + "?operasi=view";
       System.out.println("URL Tampil Pakaian: " + url);
       response = call(url);
      } catch (Exception e) {
      }
      return response;
     }

     public String inserPakaian(String merk, String jenis,String ukuran, String harga) {
      try {
       url = URL + "?operasi=insert&merk=" + merk + "&jenis=" + jenis+ "&ukuran=" + ukuran+ "&harga=" + harga;
       System.out.println("URL Insert Pakaian : " + url);
       response = call(url);
      } catch (Exception e) {
      }
      return response;
     }

     public String getPakaianById(int id) {
      try {
       url = URL + "?operasi=get_pakaian_by_id&id=" + id;
       System.out.println("URL Insert Pakaian : " + url);
       response = call(url);
      } catch (Exception e) {
      }
      return response;
     }

     public String updatePakaian(String id, String merk, String jenis, String ukuran, String harga) {
      try {
       url = URL + "?operasi=update&id=" + id + "&merk=" + merk + "&jenis=" + jenis + "&ukuran=" + ukuran + "&harga=" + harga;
       System.out.println("URL Insert Biodata : " + url);
       response = call(url);
      } catch (Exception e) {
      }
      return response;
     }

     public String deletePakaian(int id) {
      try {
       url = URL + "?operasi=delete&id=" + id;
       System.out.println("URL Insert Pakaian : " + url);
       response = call(url);
      } catch (Exception e) {
      }
      return response;
     }

    }



Langka Keenam buatkan file dengan nama MainActivity.java



package com.examplore.deathnote;


import java.util.ArrayList;



import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;



import com.examplore.deathnote.MainActivity;
import com.examplore.deathnote.Pakaian;
import com.examplore.deathnote.R;



import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v4.view.ViewPager.LayoutParams;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;



public class MainActivity extends Activity implements OnClickListener {



     Pakaian pakaian = new Pakaian();
     TableLayout tabelPakaian;



     Button buttonTambahPakaian;
     ArrayList<Button> buttonEdit = new ArrayList<Button>();
     ArrayList<Button> buttonDelete = new ArrayList<Button>();



     JSONArray arrayPakaian;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (android.os.Build.VERSION.SDK_INT > 9) {
              StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
              StrictMode.setThreadPolicy(policy);
             }
        //pengenalan variabel
        tabelPakaian = (TableLayout) findViewById(R.id.tablePakaian);
          buttonTambahPakaian = (Button) findViewById(R.id.buttonTambahPakaian);
          buttonTambahPakaian.setOnClickListener(this);



          TableRow barisTabel = new TableRow(this);
          barisTabel.setBackgroundColor(Color.CYAN);



          TextView viewHeaderId = new TextView(this);
          TextView viewHeaderMerk = new TextView(this);
          TextView viewHeaderJenis = new TextView(this);
          TextView viewHeaderUkuran = new TextView(this);
          TextView viewHeaderHarga = new TextView(this);
          TextView viewHeaderAction = new TextView(this);



          viewHeaderId.setText("ID");
          viewHeaderMerk.setText("Merk");
          viewHeaderJenis.setText("Jenis");
          viewHeaderUkuran.setText("Ukuran");
          viewHeaderHarga.setText("Harga");
          viewHeaderAction.setText("Action");



          viewHeaderId.setPadding(5, 1, 5, 1);
          viewHeaderMerk.setPadding(5, 1, 5, 1);
          viewHeaderJenis.setPadding(5, 1, 5, 1);
          viewHeaderUkuran.setPadding(5, 1, 5, 1);
          viewHeaderHarga.setPadding(5, 1, 5, 1);
          viewHeaderAction.setPadding(5, 1, 5, 1);



          barisTabel.addView(viewHeaderId);
          barisTabel.addView(viewHeaderMerk);
          barisTabel.addView(viewHeaderJenis);
          barisTabel.addView(viewHeaderUkuran);
          barisTabel.addView(viewHeaderHarga);
          barisTabel.addView(viewHeaderAction);



          tabelPakaian.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT));



          try {



           arrayPakaian = new JSONArray(pakaian.tampilPakaian());



           for (int i = 0; i < arrayPakaian.length(); i++) {
            JSONObject jsonChildNode = arrayPakaian.getJSONObject(i);
            String merk = jsonChildNode.optString("merk");
            String jenis = jsonChildNode.optString("jenis");
            String ukuran = jsonChildNode.optString("ukuran");
            String harga = jsonChildNode.optString("harga");
            String id = jsonChildNode.optString("id");



            System.out.println("Merk :" + merk);
            System.out.println("Jenis :" + jenis);
            System.out.println("Ukuran :" + ukuran);
            System.out.println("Harga :" + harga);
            System.out.println("ID :" + id);



            barisTabel = new TableRow(this);



            if (i % 2 == 0) {
             barisTabel.setBackgroundColor(Color.LTGRAY);
            }



            TextView viewId = new TextView(this);
            viewId.setText(id);
            viewId.setPadding(5, 1, 5, 1);
            barisTabel.addView(viewId);



            TextView viewMerk = new TextView(this);
            viewMerk.setText(merk);
            viewMerk.setPadding(5, 1, 5, 1);
            barisTabel.addView(viewMerk);



            TextView viewJenis = new TextView(this);
            viewJenis.setText(jenis);
            viewJenis.setPadding(5, 1, 5, 1);
            barisTabel.addView(viewJenis);
            
            TextView viewUkuran = new TextView(this);
            viewUkuran.setText(ukuran);
            viewUkuran.setPadding(5, 1, 5, 1);
            barisTabel.addView(viewUkuran);
            
            TextView viewHarga = new TextView(this);
            viewHarga.setText(harga);
            viewHarga.setPadding(5, 1, 5, 1);
            barisTabel.addView(viewHarga);



            buttonEdit.add(i, new Button(this));
            buttonEdit.get(i).setId(Integer.parseInt(id));
            buttonEdit.get(i).setTag("Edit");
            buttonEdit.get(i).setText("Edit");
            buttonEdit.get(i).setOnClickListener(this);
            barisTabel.addView(buttonEdit.get(i));



            buttonDelete.add(i, new Button(this));
            buttonDelete.get(i).setId(Integer.parseInt(id));
            buttonDelete.get(i).setTag("Delete");
            buttonDelete.get(i).setText("Delete");
            buttonDelete.get(i).setOnClickListener(this);
            barisTabel.addView(buttonDelete.get(i));



            tabelPakaian.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT,
              LayoutParams.MATCH_PARENT));
           }
          } catch (JSONException e) {
           e.printStackTrace();
          }
         }



         public void onClick(View view) {



          if (view.getId() == R.id.buttonTambahPakaian) {
           // Toast.makeText(MainActivity.this, "Button Tambah Data",
           // Toast.LENGTH_SHORT).show();



           tambahPakaian();



          } else {
           /*
            * Melakukan pengecekan pada data array, agar sesuai dengan index
            * masing-masing button
            */
           for (int i = 0; i < buttonEdit.size(); i++) {



            /* jika yang diklik adalah button edit */
            if (view.getId() == buttonEdit.get(i).getId() && view.getTag().toString().trim().equals("Edit")) {
             // Toast.makeText(MainActivity.this, "Edit : " +
             // buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();
             int id = buttonEdit.get(i).getId();
             getDataByID(id);



            } /* jika yang diklik adalah button delete */
            else if (view.getId() == buttonDelete.get(i).getId() && view.getTag().toString().trim().equals("Delete")) {
             // Toast.makeText(MainActivity.this, "Delete : " +
             // buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();
             int id = buttonDelete.get(i).getId();
             deletePakaian(id);



            }
           }
          }
         }



         public void deletePakaian(int id) {
          pakaian.deletePakaian(id);



          /* restart acrtivity */
          finish();
          startActivity(getIntent());



         }



         public void getDataByID(int id) {



          String merkEdit = null, jenisEdit = null, ukuranEdit = null, hargaEdit = null;
          JSONArray arrayPersonal;



          try {



           arrayPersonal = new JSONArray(pakaian.getPakaianById(id));



           for (int i = 0; i < arrayPersonal.length(); i++) {
            JSONObject jsonChildNode = arrayPersonal.getJSONObject(i);
            merkEdit = jsonChildNode.optString("merk");
            jenisEdit = jsonChildNode.optString("jenis");
            ukuranEdit = jsonChildNode.optString("ukuran");
           hargaEdit = jsonChildNode.optString("harga");
           }
          } catch (JSONException e) {
           e.printStackTrace();
          }



          LinearLayout layoutInput = new LinearLayout(this);
          layoutInput.setOrientation(LinearLayout.VERTICAL);



          // buat id tersembunyi di alertbuilder
          final TextView viewId = new TextView(this);
          viewId.setText(String.valueOf(id));
          viewId.setTextColor(Color.TRANSPARENT);
          layoutInput.addView(viewId);



          final EditText editMerk = new EditText(this);
          editMerk.setText(merkEdit);
          layoutInput.addView(editMerk);



          final EditText editJenis = new EditText(this);
          editJenis.setText(jenisEdit);
          layoutInput.addView(editJenis);
          
          final EditText editUkuran = new EditText(this);
          editUkuran.setText(ukuranEdit);
          layoutInput.addView(editUkuran);
          
          final EditText editHarga = new EditText(this);
          editHarga.setText(hargaEdit);
          layoutInput.addView(editHarga);



          AlertDialog.Builder builderEditPakaian = new AlertDialog.Builder(this);
          builderEditPakaian.setIcon(R.drawable.batagrams);
          builderEditPakaian.setTitle("Update Pakaian");
          builderEditPakaian.setView(layoutInput);
          builderEditPakaian.setPositiveButton("Update", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
            String merk = editMerk.getText().toString();
            String jenis = editJenis.getText().toString();
            String ukuran = editUkuran.getText().toString();
            String harga = editHarga.getText().toString();



            System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " + harga);



            String laporan = pakaian.updatePakaian(viewId.getText().toString(), editMerk.getText().toString(),
                    editJenis.getText().toString(),editUkuran.getText().toString(),  editHarga.getText().toString());



            Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();



            /* restart acrtivity */
            finish();
            startActivity(getIntent());
           }



          });



          builderEditPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
           }
          });
          builderEditPakaian.show();



         }



         public void tambahPakaian() {
          /* layout akan ditampilkan pada AlertDialog */
          LinearLayout layoutInput = new LinearLayout(this);
          layoutInput.setOrientation(LinearLayout.VERTICAL);



          final EditText editMerk = new EditText(this);
          editMerk.setHint("Merk");
          layoutInput.addView(editMerk);



          final EditText editJenis = new EditText(this);
          editJenis.setHint("Jenis");
          layoutInput.addView(editJenis);
          
          final EditText editUkuran = new EditText(this);
          editUkuran.setHint("Ukuran");
          layoutInput.addView(editUkuran);
          
          final EditText editHarga = new EditText(this);
          editHarga.setHint("Harga");
          layoutInput.addView(editHarga);



          AlertDialog.Builder builderInsertPakaian = new AlertDialog.Builder(this);
          builderInsertPakaian.setIcon(R.drawable.batagrams);
          builderInsertPakaian.setTitle("Insert Pakaian");
          builderInsertPakaian.setView(layoutInput);
          builderInsertPakaian.setPositiveButton("Insert", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
            String merk = editMerk.getText().toString();
            String jenis = editJenis.getText().toString();
            String ukuran = editUkuran.getText().toString();
            String harga = editHarga.getText().toString();



            System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " + harga);



            String laporan = pakaian.inserPakaian(merk, jenis, ukuran, harga);



            Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();



            /* restart acrtivity */
            finish();
            startActivity(getIntent());
           }



          });



          builderInsertPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
           }
          });
          builderInsertPakaian.show();
         }
}



Dan Outputnya akan jadi seperti di bawah ini
Hasil database

Hasil Output dari Android

0 komentar: