sms gateway menggunakan gammu

Assalamu'alaikum lur. bagai mana kabar hari ini? alhamdulillah.
mari belajar sama sama tentang sms gateway. 
ada yang bilang sms gateway itu sulit. tapi insya allah dengan melihat coretan saya kali ini akan lebih mudah untuk di pahami dan di mengerti. insya allah.
sebelumnya apa sih sms gateway itu? 
        Berbeda dengan aplikasi SMS Broadcast yang bersifat satu arah, SMS Gateway adalah jenis layanan dua arah, artinya selain dapat menerima pesan dari luar juga dapat mengirim balasan secara otomatis ke nomor tujuan. contohnya SMS Quis, SMS Polling dll. Secara sederhana cara kerja aplikasi SMS Gateway adalah pertama user akan mengirim SMS ke nomor SMS Gateway kita dengan format yang telah kita tentukan misalnya “Maxi<spasi>Buku” atau RAMAL kirim ke xxxx. Isi pesan yang masuk akan diseleksi, bila formatnya benar maka pengirim akan menerima balasan secara otomatis misalnya “Terima kasih telah menghubungi kami” pun bila formatnya salah pengirim tetap akan mendapat balasan yang menginformasi bahwa format yang dikirimkan salah. (Ariza Novianti, Ami Fauzijah, 2009).
       Tapi dalam coretan ini belum ada cara untuk membuat sms auto replynya. insya allah kapan kapan saya share di blog ini juga.. pembuatan sms gateay kali ini saya menggunakan aplikasi Gammu Versi 1.29.0. sebenarnya ada versi terbaru dari gammu. tapi yang kita coba kali ini menggunaka versi 1.29.0. yang belum punya gammu siahkan donload di sini(free)

        Adapun peralatan perang yang di gunakan tidaklah banyak atara lain :
        1.komputer/laptop
        2.hp/modem
        3.simcart (as,xl,m3 dll)
        4.kopi satu gelas (not recomended)
        5.rokok(very not recomended)
        kesuen lah.. langsung saja donload modulnya neng kene

Membuat SwingAccordionMenu menggunakan check box

Tugas kuliah yang sangat menyebalkan, tapi akhirnya........ ketemu..... setelah lembur bersama Robith Al faidzin dan Pery Oktriansyah, sekarang waktunya di share. bagai mana membuat SwingAccordionMenu  menggunkan Check box. kalo di delphi tinggal donload konponennya, instal, pasang, beres,,, tapi kalo di java.... pie yowwww... .ayo yang mau belajar.... bekicot>>>>>

Chapter one
Pastinya Buat project baru di netbeans + main formnya(nek ra iso yo gebangeten... hahahahahha,,, jenege terserah)
Chapter one selesai sekarang Chapter two
 tambahkan 1 scrool box, 3 panel, 2 check box,  atus posisinya seperti di bawah ini...

Chapter two selesai
sekarang Chapter three
nah ini bagian yang paling penting... saksikan dengan seksama.. rugi ra di saksikan dengan benar benar..
ok... langkagnya adalah ambil gelas, taro kopi_gula kegelas tambahlan air panas.... sruput GERRRRR
hahahaha guyon....
seriusnya,,, pada langkah ini intinya kita akan menyembuyikan dan menampilakn kembali panel yang ada di bawah Check Box, pada saat Check Box aktif maka panel muncul,, ketika Check Box  tidak aktif maka pabl akan tersmbunyi....begono kawan.... Script nya sangat sangat sangat sederhana seka seka seka liiiiiii...

 ini Scriptnya :
 
       if(jCheckBox1.isSelected()){
       tampil();
       }else{
       delek();
       }

mudeng??????

tampil itu isinya adalah

    private void tampil() {
    jPanel1.setVisible(true);  (jPanel1: panel yang akan di sembunyikan)

sedang delek iku:

   private void delek(){
   jPanel1.setVisible(false);

oke sekarang kitajalan kan... berhasil?????
lako berhasil akan peperti ini
pada saat di jalankan
 setlah Check box Di klik

nek ora tergantung amal dan perbuatan juga....
OK dah.... sekarng silahkan di modifikasi dan LANJUTKAN.... (kata pak SBY)

Nb: jangan di lakukan kagiatan ini... ini hanya di lakukan oleh ppara Profesional.... heeeeeeeeee... pis Mas bro....



Membuat button oval di Netbeans

Bosan Degan tampilan Default di netbeans???? jawabannya pasti iya...kalo kamarin kata sudah belajar bagai mana membuat panel Gradient...  nah kali ini kata akan belajar bagai mana membuat Button berbentuk Oval.
sepertini tampilanya
tampilan Default di Netbeans







Setalah Di modifikasi







Gampang kok... tinggal copas Sript berikut, Pasang,,, beres,,,,
Ini Scriptnya

package komponen_11090203;
import javax.swing.Icon;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
/**
 *
 * @author Pheloe
 */
public class Button_11090203 extends JButton {
    private boolean over;
    private boolean press;
    public Button_11090203() {
        super();
        setFocusPainted(false);
        setBorderPainted(false);
        setContentAreaFilled(false);
        setOver(false);
        addMouseListener(new MouseAdapter() {
            @Override
            public void mouseEntered(MouseEvent e) {
                setOver(true);
            }
            @Override
            public void mouseExited(MouseEvent e) {
                setOver(false);
            }
            @Override
            public void mousePressed(MouseEvent e) {
                setPress(true);
            }
            @Override
            public void mouseReleased(MouseEvent e) {
                setPress(false);
            }
        });
    }
    public boolean isOver() {
        return over;
    }
    public void setOver(boolean over) {
        this.over = over;
        repaint();
    }
    public boolean isPress() {
        return press;
    }
    public void setPress(boolean press) {
        this.press = press;
        repaint();
    }
    @Override
    public void setIcon(Icon defaultIcon) {
        if (defaultIcon instanceof ImageIcon) {
            ImageIcon icon = (ImageIcon) defaultIcon;
            //icon = new ImageIcon(EfekGambar.class(icon.getImage()));
            super.setIcon(icon);
        } else {
            super.setIcon(defaultIcon);
        }
    }
    @Override
    protected void paintComponent(Graphics g) {
        Color light = new Color(1F, 1F, 1F, 0.5F);
        Color dark = new Color(1F, 1F, 1F, 0F);
        GradientPaint paint = null;
        if (over) {
            if (press) {
                paint = new GradientPaint(0, 0, light, 0, getHeight(), light);
            } else {
                paint = new GradientPaint(0, 0, dark, 0, getHeight(), light);
            }
        } else {
            paint = new GradientPaint(0, 0, light, 0, getHeight(), dark);
        }
        RoundRectangle2D.Double kotak = new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), getHeight(), getHeight());

        Graphics2D g2 = (Graphics2D) g.create();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setPaint(paint);
        g2.fill(kotak);
        super.paintComponent(g);
    }
    public static void main(String[] usu) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
               // Frame frame = new Frame();
               // frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
               // JPanel panel = new JPanel(new FlowLayout());
               // panel.setBackground(Color.RED);
               // frame.add(panel);
               // frame.setBounds(100, 100, 300, 200);
               // panel.add(new Button());
               // frame.pack();
               // frame.setVisible(true);
            }
        });
    }
}






Ok Sudah. sekarang tinggal di pasang... pemasannya oun tak sulit... tinggal drag claass ini ke form.. beres...

Membuat Gradient form di Netbeans

Ok kawan kawan semua yang lag belajar java, saya mau sedikit share bagai mana cara membuat efek gradient di netbeans.  mungkin kawan kawan semua bosan dengan tampilan di nerbeans yang standar standart. hasilnya seperti yang tampak di ganbar. Ok langsung saja... yang pertama haurus kita buat adalah sebuah class.


class yang pertama kita beri nama panel.java. script nya ini..

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.GeneralPath;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;
/**
 *
 * @author shoechardex
 */   
public class panel_11090203 extends JPanel {
    private static final long serialVersionUID = -1;
    private BufferedImage gradientImage;
   private Color black = Color.black;
    private Color warna = new Color(0,80,60);
    /**
     * membuat panel white cyan
     */
    public panel_11090203() {
        super();
    }
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (isOpaque()) {
            Graphics2D g2 = (Graphics2D) g.create();
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            setUpGradient();
            g2.drawImage(gradientImage, 0, 0, getWidth(), getHeight(), null);
            int width = getWidth();
            int height = getHeight() * 5 / 100;
            Color light = new Color(1F, 1F, 1F, 0.5F);
            Color dark = new Color(1F, 1F, 1F, 0.0F);
            GradientPaint paint = new GradientPaint(0, 0, light, 0, height, dark);
            GeneralPath path = new GeneralPath();
            path.moveTo(0, 0);
            path.lineTo(0, height);
            path.curveTo(0, height, width / 2, height / 2, width, height);
            path.lineTo(width, 0);
            path.closePath();
            g2.setPaint(paint);
            g2.fill(path);
            paint = new GradientPaint(0, getHeight(), light, 0, getHeight() - height, dark);
            path = new GeneralPath();
            path.moveTo(0, getHeight());
            path.lineTo(0, getHeight() - height);
            path.curveTo(0, getHeight() - height, width / 2, getHeight() - height / 2, width, getHeight() - height);
            path.lineTo(width, getHeight());
            path.closePath();
           g2.setPaint(paint);
            g2.fill(path);
            g2.dispose();
        }
    }

    /**
     * membuat gambar background gradient
     */
    private void setUpGradient() {
        gradientImage = new BufferedImage(1, getHeight(), BufferedImage.TYPE_INT_ARGB);
        Graphics2D g2 = (Graphics2D) gradientImage.getGraphics();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        GradientPaint paint = new GradientPaint(0, 0, black, 0, getHeight(), warna);
        g2.setPaint(paint);
        g2.fillRect(0, 0, 1, getHeight());
        g2.dispose();
    }
}

 setelah selesai lalu kita buat class yang kedua yaitu PanelImpl.java. scriptnya ..

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Paint;
import javax.swing.Icon;
import javax.swing.JPanel;

/**
 *
 * @author shoechardex
 */
public class PanelImpl_11090203 extends JPanel implements PanelDao_11090203{

    private static final long serialVersionUID = 1L;
    private Icon backgroundImage;
    private int backgroundImageType;
    private Paint backgroundPaint;
    private boolean opaqueGradient;
    private boolean opaqueImage;
    private Image gambar;

    public PanelImpl_11090203() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    public Icon getBackgroundImage() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }

    public int getBackgroundImageType() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    public Paint getBackgroundPaint() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }

    public boolean isOpaqueGradient() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    public boolean isOpaqueImage() {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    protected void paintComponent(Graphics g) {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }

    public void setBackgroundImage(Icon backgroundImage) throws IllegalArgumentException {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    public void setBackgroundImageType(int backgroundImageType) throws IllegalArgumentException {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }

    public void setBackgroundPaint(Paint backgroundPaint) {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }

    public void setOpaqueGradient(boolean opaqueGradient) {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
    public void setOpaqueImage(boolean opaqueImage) {
        //compiled code
        throw new RuntimeException("Compiled Code");
    }
}

sudah?... lalu file class yang ketiga namanya  PanelDao.java. Sriptnya....

/**
 *
 * @author shoechardex
 */
public interface PanelDao_11090203 {
    public static final int BACKGROUND_IMAGE_CENTER_BOTTOM = 0;
    public static final int BACKGROUND_IMAGE_CENTER_MIDDLE = 1;
    public static final int BACKGROUND_IMAGE_CENTER_TOP = 2;
    public static final int BACKGROUND_IMAGE_LEFT_BOTTOM = 3;
    public static final int BACKGROUND_IMAGE_LEFT_MIDDLE = 4;
    public static final int BACKGROUND_IMAGE_LEFT_TOP = 5;
    public static final int BACKGROUND_IMAGE_RIGHT_BOTTOM = 6;
    public static final int BACKGROUND_IMAGE_RIGHT_MIDDLE = 7;
    public static final int BACKGROUND_IMAGE_RIGHT_TOP = 8;
    public static final int BACKGROUND_IMAGE_STRECT = 9;
    public static final int BACKGROUND_IMAGE_TILED = 10;
}

setelah semua selesai Drag panel.java Kehalaman Form utama hasilnya akan seperti ini....

Selamat mancoba...

Work Breakdown Structure

Sebuah karya breakdown structure (WBS) dalam hal yg berguna untuk manajemen proyek dan rekayasa sitem, adalah alat yang digunakan untuk mendefinisikan dan kelompok sebuah proyek yg   diskrit elemen kerja dengan cara yang membantu mengatur dan menentukan ruang lingkup kerja total proyek.
Pada dasarn
ya WBS merupakan suatu daftar yang bersifat top down dan secara hirarkis menerangkan komponen-komponen yang harus dibangun dan pekerjaan yang berkaitan dengannya.

Struktur WBS


Struktur dalam WBS mendefinisikan tugas-tugas yang dapat diselesaikan secara terpisah dari tugas-tugas lain, memudahkan alokasi sumber daya, penyerahan tanggung jawab, pengukuran dan pengendalian proyek. Pembagian tugas menjadi sub tugas yang lebih kecil tersebut dengan harapan menjadi lebih mudah untuk dikerjakan dan diestimasi lama waktunya.
Model WBS memberikan beberapa keuntungan, antara lain :
  • Memberikan daftar pekerjaan yang harus diselesaikan
  • Memberikan dasar untuk mengestimasi, mengalokasikan sumber daya, menyusun jadwal, dan menghitung biaya
  • Mendorong untuk mempertimbangkan secara lebih serius sebelum membangun suatu proyek .
Perbedaan Level Dan Tingkat Kedetailan WBS
Setiap organisasi menggunakan terminologinya sendiri untuk mengklasifikasi komponen WBS sesuai levelnya dalam hirarki. Sebagai contoh, beberapa organisasi memperlihatkan level-level yang berbeda sebagai tugas (task), sub-tugas (sub-task) dan paket pekerjaan (work package) sebagaimana yang ditunjukkan dalam bagan diatas. Sementara organisasi lain mungkin menggunakan istilah fase (phase), entri (entry) dan aktifitas (activity).
WBS mungkin saja disusun  mengikuti pembagian atau pentahapan dalam siklus hidup proyek ( the project life cycle). Level-level yang lebih tinggi dari struktur umumnya dikerjakan oleh kelompok-kelompok. Level yang paling rendah dalam hirarki seringkali terdiri dari aktifitas-aktifitas dilakukan secara individual, kendati demikian sebuah WBS yang menitikberatkan pada “deliverable”  tidak memerlukan aktifitas-aktifitas yang spesifik.
Peran WBS Dalam Perencanaan Proyek
WBS merupakan pondasi untuk perencanaan proyek. WBS dibuat sebelum ketergantungan diidentifikasi dan lamanya aktifitas pekerjaan diestimasi. WBS juga dapat digunakan untuk mengidentifikasi tugas-tugas dalam model perencanaan proyek. Oleh karena itu, idealnya rancangan WBS sendiri harusnya telah diselesaikan sebelum pengerjaan perencanaan proyek (project plan) dan penjadwalan proyek (project schedule).
Dengan memanfaatkan daftar pekerjaan pada WBS, akan dapat diperkirakan lamanya waktu yang dibutuhkan untuk menyelesaikan setiap pekerjaan tersebut. Perkiraan bisa dilakukan dengan mempertimbangan beberapa hal, antara lain ketersediaan sumber daya dan kompleksitas.
Selanjutnya dilakukan penjabaran dalam kalender (flow time). Beberapa model pendekatan bisa digunakan untuk menghitung perkiraan waktu yang diperlukan :
• Most optimistic :  Merupakan waktu ideal untuk menyelesaikan pekerjaan, diasumsikan segala   sesuatunya berjalan lancar, dan sempurna.
• Most likely :  Merupakan waktu yang dibutuhkan pada kondisi kebanyakan, tipikal dan   normal.
• Most pessimistic :Merupakan waktu yang dibutuhkan ketika keadaan paling sulit terjadi.
Selanjutnya, estimasi waktu dilakukan dan dibagi dalam unit (misal 8 jam/hari). Estimasi waktu untuk suatu proyek Intranet (seperti contoh diatas) lebih sulit dari proyek pengembangan aplikasi lainnya. Hal ini karena masih sedikit proyek yang dapat digunakan sebagai patokan menghitung waktu pelaksanaan.
Dalam mengestimasi waktu ini juga harus dipertimbangkan beberapa hal, misal pengalaman teknologiserver yang digunakan, keahlian Perl, CGI, Java, HTML, browser, dan juga bekerja dalam lingkungan TCP/IP.
Setelah WBS berhasil disusun dan perkiraan lama waktu pelaksanaan telah dihitung, selanjutnya dilakukan penyusunan jadwal kerja. Pada dasarnya ada dua jenis model deskripsi penjadwalan, yaitu :
1. Bar Chart : Yang hanya menerangkan flow time dari setiap pekerjaan dan tanpa keterkaitan antar pekerjaan. Deskripsi ini paling baik digunakan pada presentasi
2. Network diagram : Yang menunjukkan keterkaitan antar tugas dan mengidentifikasi saat kritis pada jadwal.
Kesalahan dan Kesalahpahaman
  1. Sebuah kerja Struktur Breakdown bukan merupakan daftar kengkap kerja melainkan komprehensif lingkup proyek.
  2. Sebuah WBS bukanlah rencana proyek sebuah jadwal atau daftar kronologis. Dianggap miskin praktek untuk menyusun jadwal proyek (misalnya dengan menggunakan perangkat lunak manajemen proyek) sebelum merancang WBS yang tepat. Ini akan mirip dengan penjadwalan kegiatan konstruksi rumah sebelum menyelesaikan desain rumah.Tanpa memusatkan perhatian pada hasil yang direncanakan, sangat sulit untuk mengikuti 100% Aturan di semua tingkat dari hirarki WBS.
  3. Sebuah WBS bukanlah sebuah hirarki organisasi. Beberapa praktisi melakukan kesalahan dengan membuat WBS bahwa bayang-bayang bagan organisasi. Meskipun tanggung jawab umum yang akan ditugaskan untuk elemen organisasi, sebuah WBS yang bayangan struktur organisasi tidak deskriptif lingkup proyek dan tidak berorientasi hasil.
  4. WBS update, selain elaborasi progresif detail, memerlukan perubahan formal kontrol. Ini adalah alasan lain mengapa WBS harus berorientasi hasil dan tidak metode preskriptif. Metode dapat, dan lakukan, sering berubah, tetapi perubahan dalam hasil direncanakan memerlukan tingkat yang lebih tinggi formalitas. Jika hasil dan tindakan dicampur, perubahan DNS mungkin terlalu kaku untuk tindakan dan terlalu informal bagi hasil.

Membuat Shopping cart sederhana menggunakan PHP

Sebelum mulai membuat script ini, kita buat dahulu database dan tabel yang akan digunakan. Dalam contoh ini, kita akan membuat database dengan nama 'Toko'. Anda bisa membuatnya menggunakan script manajemen database semacam PHPMyAdmin atau yang lainnya. Selain itu, kita juga perlu membuat sebuah tabel yang berisi informasi produk yang kita tawarkan. Tabel tersebut akan kita beri nama 'produk'


Db.php
File   ini   akan   berisi   informasi   untuk   terhubung   ke   database   MySQL  kita   nantinya.   File   ini sengaja   dibuat   terpisah  agar   memudahkan  jika   seandainya   kita   ingin  memindahkan  hosting script kita ini. Agar bisa terhubung, kita bisa cukup meng-include file ini di script yang kita butuhkan.
<?php
mysql_connect(“localhost”,”root”,”password”);
mysql_select_db(“Toko”);
?>

view.php
File ini nantinya berguna untuk melihat jumlah barang yang ada di dalam shopping cart
kita. Yang perlu kita perhatikan adalah jangan lupa meletakkan perintah session_start() di awal file. Anda bisa meng-include file ini ke setiap halaman yang ada. Berikut isi file tersebut:
<?php
$total=0;

if (!empty($_SESSION['basket'])) {               //cek isi variabel _SESSION['basket']
foreach ($_SESSION['basket'] as $key => $val) {
$total +=$val; //menghitung jumlah barang
}
echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />';
} else {
echo "Tidak ada barang di keranjang";
}
?>
cart.php
File inilah yang menjadi file utama kita. File inilah yang bertugas untuk menambah, mengubah, dan  mengurangi  isi  shopping  cart  kita  nantinya.   Sekali  lagi,  jangan  lupa  untuk meletakkan perintah session_start() di awal file dan meng-include file db.php yng tadi kita buat.
<?php
$total=0;

if (!empty($_SESSION['basket'])) {                      //cek isi variabel _SESSION['basket']
foreach ($_SESSION['basket'] as $key => $val) {
$total +=$val; //menghitung jumlah barang
}
echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />';
} else {
echo "Tidak ada barang di keranjang";
}
?>


<?php
//memulai session
session_start();

//meng-include file db.php
require_once “db.php”;

$pesan='';

//handler untuk aksi shopping cart
if (isset($_GET['action'])) {

if (isset($_GET['id'])) {
$id=(int)$_GET['id'];
} else {
$id=0;
}
$action=$_GET['action'];

switch($_GET['action']) {
case 'add':

//cek variabel id
}If (!empty($_SESSION['basket'][$id])) {
$pesan="Barang sudah ada di keranjang";
} else {
$_SESSION['basket'][$id]=1;
}
break;
case 'update' :
$produk=$_POST['produk'];
foreach ($produk as $key => $val) {
if (!empty($_SESSION['basket'][$key])) {
$_SESSION['basket'][$key]=$val;
} //jika barang memang ada, baru di-update
}
break;
case 'delete' :
if (!empty($_SESSION['basket'][$id])) {
unset($_SESSION['basket'][$id]);
} else {
$pesan="Barang yang dimaksud tidak ada";
}
break;
}
}

//Menampilan isi shopping cart
if (!empty($_SESSION['basket'])) {
$basket=$_SESSION['basket'];
?>
<FORM method="POST" action="?action=update">
<h3>Isi keranjang belanja:</h3>
<center><table border="1">
<tr>

`<th>No.</th>
      <th>Nama produk</th>
      <th>Jumlah</th>
      <th>Aksi</th>
    </tr>

<?php
$no_urut=0;
$total=0;
$total_harga=0;
foreach ($basket as $key => $val) {                               //menuliskan tabel
$no_urut++;
$query="SELECT * FROM produk WHERE id_prod='$key'";
$hasil=mysql_query($query);
if ($hasil) {
$data=mysql_fetch_array($hasil);
$total+=$val;                                                   //jumlah barang
$total_harga += ($val * $data['harga']); //total
harga
?>
<tr>
      <td><?php echo $no_urut?></td>
      <td><?php echo $data['title']?></td>
      <td><INPUT name="produk[<?php echo $key?>]" type="text"
value="<?php echo $val?>" /></td>
      <td><A href="?action=delete&id=<?php echo $key?
>">Hapus</a></A></td>
</tr>
<?php }
} ?>
<tr>
      <td colspan="2" align="center"><INPUT type="submit"
value="Perbaharui"></td>
      <td><strong>Total</strong></td>
      <td><?php echo 'Rp '.$total_harga?></td>
</tr>
</table>
</FORM><br />
<?php
echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />';
} else {
echo "<center><strong>Tidak ada barang di
keranjang</strong><br />";
}
echo '<strong>'.$this->pesan.'</strong>'; //menampilkan pesan kalau
ada
?></center>

ilmukomputer.com

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More