Web

PHP MySQL; Membuat Shopping Cart (Keranjang Belanja) dengan Menggunakan Session


Tampilan Contoh Aplikasi Shopping Cart

Dalam aplikasi e-commerce tentunya terdapat shopping cart. Shopping cart digunakan untuk menampung sementara dari produk-produk yang akan dibeli oleh pengunjung situs e-commerce. Dalam tulisan ini akan menjelaskan secara singkat tentang shopping cart yaitu dengan menggunakan fasilitas session yang ada dalam PHP dan menggunakan MySQL untuk menyimpan data secara permanen.

Baca lebih lanjut

Java

JPA; Membuat Class TableModel dari Entity Class


Misalkan entity class nya (Anggota.java) seperti di bawah ini


package com.andik.tutorial.entity;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Andik Hermawan
 */
@Entity
@Table(name = "anggota")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Anggota.findAll", query = "SELECT a FROM Anggota a"),
    @NamedQuery(name = "Anggota.findById", query = "SELECT a FROM Anggota a WHERE a.id = :id"),
    @NamedQuery(name = "Anggota.findByNama", query = "SELECT a FROM Anggota a WHERE a.nama = :nama"),
    @NamedQuery(name = "Anggota.findByAlamat", query = "SELECT a FROM Anggota a WHERE a.alamat = :alamat"),
    @NamedQuery(name = "Anggota.findByKota", query = "SELECT a FROM Anggota a WHERE a.kota = :kota"),
    @NamedQuery(name = "Anggota.findByEmail", query = "SELECT a FROM Anggota a WHERE a.email = :email"),
    @NamedQuery(name = "Anggota.findByTelepon", query = "SELECT a FROM Anggota a WHERE a.telepon = :telepon")})
public class Anggota implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id")
    private String id;
    @Column(name = "nama")
    private String nama;
    @Column(name = "alamat")
    private String alamat;
    @Column(name = "kota")
    private String kota;
    @Column(name = "email")
    private String email;
    @Column(name = "telepon")
    private String telepon;

    public Anggota() {
    }

    public Anggota(String id) {
        this.id = id;
    }

    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 getAlamat() {
        return alamat;
    }

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

    public String getKota() {
        return kota;
    }

    public void setKota(String kota) {
        this.kota = kota;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTelepon() {
        return telepon;
    }

    public void setTelepon(String telepon) {
        this.telepon = telepon;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Anggota)) {
            return false;
        }
        Anggota other = (Anggota) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.andik.tutorial.entity.Anggota[ id=" + id + " ]";
    }

}

dari entity class (Anggota.java) di atas dapat kita tampilkan pada JTable menggunakan TableModel. TableModel ini memuat data dari class java.util.List. Sebagai contoh dalam tulisan ini Class TableModel nya kita kasih nama AnggotaTableMode.java.

package com.andik.tutorial.model;

import com.andik.tutorial.entity.Anggota;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Andik Hermawan
 */
public class AnggotaTableModel extends AbstractTableModel {

    private List<Anggota> list;

    public AnggotaTableModel() {
        list = new ArrayList<Anggota>();
    }

    public void setData(List list) {
        this.list = list;
        fireTableDataChanged();
    }

    public void add(Anggota anggota) {
        list.add(anggota);
        fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);
    }

    public void edit(int index, Anggota anggota) {
        list.set(index, anggota);
        fireTableRowsUpdated(index, index);
    }

    public void delete(int index) {
        list.remove(index);
        fireTableRowsDeleted(index, index);
    }

    public void deleteAll() {
        list.clear();
        fireTableDataChanged();
    }

    public Anggota get(int row) {
        return list.get(row);
    }

    @Override
    public int getRowCount() {
        return list.size();
    }

    @Override
    public int getColumnCount() {
        return 6;
    }

    public List<Anggota> getList() {
        return list;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
                return list.get(rowIndex).getId();
            case 1:
                return list.get(rowIndex).getNama();
            case 2:
                return list.get(rowIndex).getAlamat();
            case 3:
                return list.get(rowIndex).getKota();
            case 4:
                return list.get(rowIndex).getEmail();
            case 5:
                return list.get(rowIndex).getTelepon();
            default:
                return null;
        }
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return "ID";
            case 1:
                return "Nama";
            case 2:
                return "Alamat";
            case 3:
                return "Kota";
            case 4:
                return "Email";
            case 5:
                return "Telepon";
            default:
                return null;
        }
    }

    @Override
    public Class getColumnClass(int column) {
        switch (column) {
            case 0:
                return String.class;
            case 1:
                return String.class;
            case 2:
                return String.class;
            case 3:
                return String.class;
            case 4:
                return String.class;
            case 5:
                return String.class;
            default:
                return Object.class;
        }
    }
}

Untuk memanggilnya dengan code di bawah ini

...
        AnggotaTableModel model = new AnggotaTableModel();
        anggotaTableView.setModel(model);
...

Untuk lebih jelasnya disambung di artikel selanjutnya, selamat mencoba dan semoga bermanfaat… 😀

Web

PHP MySQL; Cara Cepat Membuat Halaman CRUD Menggunakan Adobe Dreamweaver CS 5


Pengembangan aplikasi database tentunya tidak terlepas dari CRUD (Create, Read, Update dan Delete) baik berbasis desktop maupun web. Sebenarnya banyak cara untuk membuat halaman CRUD dengan PHP dan MySQL, bisa dengan code manual maupun menggunakan generator kode. Menulis kode manual memang akan bisa lebih ampuh dan juga lebih mudah untuk mengembangkan serta penggunaan ulang, akan tetapi ketika project menumpuk kadang kita kelamaan dalam menulis kodenya dan hasilnya project selesai dengan waktu yang lebih lama. Selain itu, dengan coding manual kita disibukkan untuk meneliti baris demi baris kode yang mengakibatkan fokus kita terposrsir pada itu dan validasi sistem akan terlupakan.

Baca lebih lanjut