Sabtu, 05 Januari 2013

Menggunakan SUM IF untuk menjumlahkan nilai field/kolom suatu Tabel pada MySQL


Pada kesempatan kali ini dan beberapa contoh dalam artikel berikutnya kita akan membahas berbagai fungsi yang disediakan oleh database MySQL. Untuk itu sebelumnya kita buat beberapa tabel yang diperlukan. Skema tabel dan relasi tabel adalah sebagai berikut:
diagram_erd
Diagram ERD pada database penjualan
Artikel ini hanya khusus membahas penjumlahan pada kolom tertentu dalam suatu tabel dengan syarat suatu kondisi terpenuhi. Tabel yang kita perlukan hanya tabel tunai yang dalam hal ini merupakan contoh tabel untuk penjualan tunai. 
Penjelasan field:
  • id_pelanggan dan id_cabang  merupakan merupakan nomor seri pelanggan.
  • kd_produk merupakan kode jenis produk misal: 111 untuk TV, 112 untuk Kulkas, 113 untuk VCD/DVD player, 115 untuk laptop.
  • kd_item merupakan deskripsi dari produk misal 0132AV550, dua digit pertama merupakan merk (01 untuk Toshiba, karakter berikutnya (32AV550)  merupakan nomor seri produk.
  • tgl_byr merupakan tanggal pembayaran dengan format yyyy-mm-dd.
  • jml_byr merupakan jumlah pembayaran.
query SQL yang digunakan untuk membuat tabel berikut contentnya:
CREATE TABLE IF NOT EXISTS `tunai` ( `id_pelanggan` varchar(50) DEFAULT NULL, `id_cabang` varchar(50) DEFAULT NULL, `kd_produk` varchar(50) DEFAULT NULL, `kd_item` varchar(20) DEFAULT NULL, `tgl_byr` varchar(50) DEFAULT NULL, `jml_byr` int(11) DEFAULT NULL, KEY `id_pelanggan` (`id_pelanggan`,`id_cabang`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
query untuk content:
INSERT INTO `tunai` (`id_pelanggan`, `id_cabang`, `kd_produk`, `kd_item`, `tgl_byr`, `jml_byr`) VALUES
('020011', '05', '111', '01L17LEDW', '20110202', 1500000),
('020011', '05', '112', '01G150L', '20110310', 1250000),
('020011', '05', '113', '02PXS24X', '20110410', 750000),
('012546', '12', '112', '02IC200L', '20100202', 500000),
('012546', '12', '112', '01G250L', '20100310', 3500000),
('012546', '12', '113', '03GC225P', '20110410', 1500000),
('027845', '07', '115', '01C5-002', '20110202', 1550000),
('027845', '07', '115', '02ST17I', '20100310', 2730000),
('027845', '07', '111', '0132AV550', '20110410', 4949000),
('020011', '02', '115', '01603', '20100202', 2450000),
('020011', '02', '111', '05PLM24M60', '20110310', 1725000),
('015558', '01', '111', '05MX1403R', '20100410', 775000),
('015558', '01', '115', '02MT15I XPERIA NEO', '20110410', 2900000);
Tabel akan tampak seperti gambar berikut:
tabel tunai dalam database penjualan
Pertama kita akan melakukan penjumlahan semua penjualan berdasarkan tahun, query yang kita gunakan adalah:
SELECT  SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
        SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010
FROM tunai
Output yang kita peroleh:
+----------+----------+
| jml_2011 | jml_2010 |
+----------+----------+
| 16124000 |  9955000 |
+----------+----------+
Jika kita akan mengelompokkan berdasarkan id pelanggan sehingga dapat diketahui berapa jumlah pembelian yang dilakukan per tahunnya maka query yang kita gunakan:
SELECT  id_pelanggan, 
        id_cabang,
        SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
        SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010,
        SUM(jml_byr) AS TOTAL
FROM tunai
GROUP BY id_pelanggan, id_cabang
Hasil yang kita dapatkan:
+--------------+-----------+----------+----------+---------+
| id_pelanggan | id_cabang | jml_2011 | jml_2010 | TOTAL   |
+--------------+-----------+----------+----------+---------+
| 012546       | 12        |  1500000 |  4000000 | 5500000 |
| 015558       | 01        |  2900000 |   775000 | 3675000 |
| 020011       | 02        |  1725000 |  2450000 | 4175000 |
| 020011       | 05        |  3500000 |        0 | 3500000 |
| 027845       | 07        |  6499000 |  2730000 | 9229000 |
+--------------+-----------+----------+----------+---------+
jika kita ingin menjumlahkan kolom dengan beberapa kondisi, kita tidak bisa menggunakan if, tetapi menggunakan CASE, yang pembahasannya di artikel berikut ini.

Tutorial Persiapan Pembuatan Membuat Website



image
Dalam mencari informasi dari internet, pengguna akan menuju ke sebuah alamat unik internet (misal: www.namawebsite.com) yang disebut nama domain (Domain Name/URL – Uniform Resource Locator) dan menemukan informasi berbentuk teks, gambar diam atau bergerak, animasi bergerak, suara ataupun video dalam sebuah media, yang disebut dengan website atau situs. Website ini dibuka melalui sebuah program penjelajah (Browser ) yang berada di sebuah komputer. Program penjelajah yang bisa digunakan dalam komputer diantaranya: IE (Internet Explorer), Mozilla, Firefox, Netscape, Opera .
A. PENGERTIAN WEBSITE ATAU SITUS.
Website atau situs dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink ). Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Contoh website statis adalah berisi profil perusahaan, sedangkan website dinamis adalah seperti Friendster, Multiply, dll. Dalam sisi pengembangannya, website statis hanya bisa diupdate oleh pemiliknya saja, sedangkan website dinamis bisa diupdate oleh pengguna maupun pemilik.
B. UNSUR-UNSUR DALAM PENYEDIAAN WEBSITE ATAU SITUS.
Untuk menyediakan sebuah website, maka harus tersedia unsur-unsur penunjangnya, adalah sebagai berikut:
1. Nama domain (Domain name/URL – Uniform Resource Locator )
Nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Contoh : http://www.websedu.com
Nama domain diperjualbelikan secara bebas di internet dengan status sewa tahunan. Setelah Nama Domain itu terbeli di salah satu penyedia jasa pendaftaran, maka pengguna disediakan sebuah kontrol panel untuk administrasinya. Jika pengguna lupa/tidak memperpanjang masa sewanya, maka nama domain itu akan di lepas lagi ketersediaannya untuk umum. Nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain ber-ekstensi internasional adalah com, net, org, info, biz, name. Contoh nama domain ber-ekstensi lokasi Negara Indonesia adalah :
- .co.id : Untuk Badan Usaha yang mempunyai badan hukum sah
- .ac.id : Untuk Lembaga Pendidikan
- .go.id : Khusus untuk Lembaga Pemerintahan Republik Indonesia
- .mil.id : Khusus untuk Lembaga Militer Republik Indonesia
- .or.id : Untuk segala macam organisasi yand tidak termasuk dalam kategori “ac.id”,”co.id”,”go.id”,”mil.id” dan lain lain
- .war.net.id : untuk industri warung internet di Indonesia
- .sch.id : khusus untuk Lembaga Pendidikan yang menyelenggarakan pendidikan seperti SD, SMP dan atau SMU
- .web.id : Ditujukan bagi badan usaha, organisasi ataupun perseorangan yang melakukan kegiatannya di World Wide Web.
2. Rumah tempat website (Web hosting)
Web Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar, video, data email, statistik, database dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang bisa dimasukkan tergantung dari besarnya web hosting yang disewa/dipunyai, semakin besar web hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website.
Web Hosting juga diperoleh dengan menyewa. Pengguna akan memperoleh kontrol panel yang terproteksi dengan username dan password untuk administrasi websitenya. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB (Mega Byte ) atau GB (Giga Byte ). Lama penyewaan web hosting rata-rata dihitung per tahun. Penyewaan hosting dilakukan dari perusahaan-perusahaan penyewa web hosting yang banyak dijumpai baik di Indonesia maupun Luar Negeri. Lokasi peletakan pusat data (datacenter ) web hosting bermacam-macam. Ada yang di Jakarta, Singapore, Inggris, Amerika, dll dengan harga sewa bervariasi.
3. Bahasa Program (Scripts Program).
Adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam website yang pada saat diakses. Jenis bahasa program sangat menentukan statis, dinamis atau interaktifnya sebuah website. Semakin banyak ragam bahasa program yang digunakan maka akan terlihat website semakin dinamis, dan interaktif serta terlihat bagus.
Beragam bahasa program saat ini telah hadir untuk mendukung kualitas website. Jenis jenis bahasa program yang banyak dipakai para desainer website antara lainHTML, ASP, PHP, JSP, Java Scripts, Java applets, XML, Ajax dsb. Bahasa dasar yang dipakai setiap situs adalah HTML sedangkan PHP, ASP, JSP dan lainnya merupakan bahasa pendukung yang bertindak sebagai pengatur dinamis, dan interaktifnya situs.
Bahasa program ASP, PHP, JSP atau lainnya bisa dibuat sendiri. Bahasa program ini biasanya digunakan untuk membangun portal berita, artikel, forum diskusi, buku tamu, anggota organisasi, email, mailing list dan lain sebagainya yang memerlukan update setiap saat.
4. Desain website.
Setelah melakukan penyewaan domain name dan web hosting serta penguasaan bahasa program (scripts program ), unsur website yang penting dan utama adalah desain. Desain website menentukan kualitas dan keindahan sebuah website. Desain sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website.
Untuk membuat website biasanya dapat dilakukan sendiri atau menyewa jasa website designer. Saat ini sangat banyak jasa web designer, terutama di kota-kota besar. Perlu diketahui bahwa kualitas situs sangat ditentukan oleh kualitas designer. Semakin banyak penguasaan web designer tentang beragam program/software pendukung pembuatan situs maka akan dihasilkan situs yang semakin berkualitas, demikian pula sebaliknya. Jasa web designer ini yang umumnya memerlukan biaya yang tertinggi dari seluruh biaya pembangunan situs dan semuanya itu tergantung kualitas designer. Program-program desain website salah satunya adalah Macromedia Firework, Adobe Photoshop, Adobe Dreamweaver, Microsoft Frontpage, dll.
5. Program transfer data ke pusat data.
Para web designer mengerjakan website dikomputernya sendiri. Berbagai bahasa program, data informasi teks, gambar, video, dan suara telah menjadi file-file pendukung adanya website. File tersebut bisa dibuka menggunakan program penjelajah (browser ) sehingga terlihatlah sebuah website utuh di dalam komputer sendiri (offline ). Tetapi file-file tersebut perlu untuk diletakkan dirumah hosting versi online agar terakses ke seluruh dunia. Pengguna akan diberikan akses FTP (File Transfer Protocol) setelah memesan sebuah web hosting untuk memindahkan file-file website ke pusat data web hosting. Untuk dapat menggunakan FTP diperlukan sebuah program FTP, misalnya WS FTP, Smart FTP, Cute FTP, dll. Program FTP ini banyak ditemui di internet dengan status penggunaan gratis maupun harus membayar. Para web designer pun dapat menggunakan fasilitas FTP yang terintegrasi dengan program pembuat website, misal Adobe Dreamweaver .
6. Publikasi website.
Keberadaan website tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi atau promosi.
Publikasi situs di masyarakat dapat dilakukan dengan berbagai cara seperti dengan pamlet-pamlet, selebaran, baliho, kartu nama dan lain sebagainya tapi cara ini bisa dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui search engine-search engine (mesin pencari, spt : Y ahoo, Google, MSN, Search Indonesia, dsb).
Cara publikasi di search engine ada yang gratis dan ada pula yang membayar. Yang gratis biasanya terbatas dan cukup lama untuk bisa masuk dan dikenali di search engine terkenal seperti Yahoo atau Google. Cara efektif publikasi adalah dengan membayar, walaupun harus sedikit mengeluarkan akan tetapi situs cepat masuk ke search engine dan dikenal oleh pengunjung.
C. PEMELIHARAAN WEBSITE.
Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita, artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung.
Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan (tidak rutin). Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.
D. PERPANJANGAN MASA SEWA DOMAIN NAME DAN WEB HOSTING.
Perlu dipahami bahwa domain name dan web hosting berstatus sewa. Selama kedua hal itu dibayarkan masa sewa perpanjangannya, maka Anda berhak untuk memilikinya dan mempergunakannya. Banyak terjadi kasus kelupaan dalam memperpanjang masa sewanya, atau sulit untuk menghubungi pihak ketiga (web designer) sebagai perantara pendaftaran awal, maka akan berakibat fatal. Anda akan kehilangan domain name sebagai identitas dalam dunia internet. Pastikan Anda mengingat untuk memperpanjang masa sewanya. Arti penting domain name perlu Anda pahami.

VARIABEL INPUT DALAM PHP


Software yang digunakan:
·         Macromedia Dreamweaver 8
·         WampServer
·         Mozile Firefox
==========================
1.      Buka Macromedia Dreamweaver 8 atau notepad atau editor lain.
2.      Ketik script berikut:
<html>
<head><title>Penjumlahan</title></head>
<body>
<form method=post action=input.php>
Bilangan 'A' <input type=text name=a><br>
Bilangan 'B' <input type=text name=b><br>
<input type=submit name=submit value=Jumlahkan>
<input type=reset name=reset value=Kosongkan>
</form>
</body>
</html>
3.      Simpan dengan nama: input.html di C:\wamp\www\ikhbaar\php1 (atau folder anda)
4.      Ketik script berikut:
<?PHP
$a=$_POST['a'];
$b=$_POST['b'];
$c = $a + $b;
echo "A+B = $c";

//Sumber: ICT Bidang Kemahasiswaan. Dasar – Dasar Pemrograman Website Menggunakan HTML, PHP, dan MySQL. UNNES.Nama File: Dasar Pembuatan Website.pdf
?>
5.      Simpan dengan nama: input.php di C:\wamp\www\ikhbaar\php1 (atau folder anda)
6.      Buka Mozile Firefox atau browser lain
7.      Buka program: Start WampServer
8.      Ketik di address bar: localhost\ikhbaar\php1
9.      Enter
10.  Klik file input.html
11.  Hasilnya, muncul tulisan:
12.  Isikan angka, misalnya:
Bilangan ‘A’ = 2
Bilangan ‘B’ = 3
13.  Klik tombol Jumlahkan
14.  Hasilnya akan muncul: A + B = 5
15.  Klik tombol Back di sudut kiri atas firefox
16.  Untuk mengosongkan angka 2 dan 3, klik tombol kosongkan
17.  Selesai

 
- ,