mysql-query-browser

MySQL Query Gabung Lebih Dari 1 Record Row

Udah lama nih gag update blog :), akhirnya punya bahan juga untuk share lagi. Kali ini aku coba bagi pengalaman mengenai SQL Query. Jadi query ini tujuannya untuk menggabungkan beberapa data atau record yang ada di dalam suatu table menjadi satu tampilan atau menjadi satu record row berdasarkan ID tertentu.

Jadi misalkan begini, asumsi kita punya tabel dengan nama “detail_produksi” dengan struktur dan sample record sebagai berikut :

ID_DETIL ID_PRODUKSI NAMA_BAHAN
1 1 Bahan A
2 1 Bahan B
3 2 Bahan Z

Nah, yang akan ditampilkan harus seperti berikut ini :

ID_PRODUKSI BAHAN_PRODUKSI
1 Bahan A, Bahan B
2 Bahan Z

Poinnya adalah, Bahan A dan Bahan B tergabung menjadi satu karena mempunyai ID_PRODUKSI yang sama. Bagaimana querynya??? Silahkan lihat query berikut :

SELECT ID_PRODUKSI, GROUP_CONCAT(NAMA_BAHAN SEPARATOR ', ') AS BAHAN_PRODUKSI FROM detail_produksi GROUP BY ID_PRODUKSI

Kunci utama terletak di bagian “GROUP_CONCAT” yang merupakan fungsi bawaan dari MySQL sendiri. Oke sekian, semoga bisa bermanfaat untuk semua πŸ™‚

PHP Multiple MySQL Database Connection

PHP MySQL Database Multiple Connection ?
Maksudnya adalah, di project yang sama atau di halaman yang sama kalian bisa melakukan koneksi ke Database di MySQL yang berbeda.
Terkadang hal seperti ini diperlukan, contohnya barusan ini aku dapet permasalahan yang mengharuskan untuk mengakses
2 Database sekaligus dalam suatu proses bisnis.
Syntax-nya sama aja sih, cuman ditambahin parameter yang jarang sekali dipakai di fungsi mysql_connect() miliknya PHP.
Seperti yang disebutkan pada PHP Manual pembahasan mysql_connect(), bahwa disana disebutkan ada
5 parameter yang bisa digunakan. Biasanya kita hanya memakai 3 parameter pertama nya kan?

Oke kembali ke permasalahan, kali ini kita butuh parameter keempat (TRUE/FALSE), yang berguna menjadikan koneksi baru tanpa mengganggu
koneksi yang sudah ada sebelumnya. Langsung contohnya seperti ini :

# mengatur koneksi dan disimpan dalam satu variabel
$koneksi_a = mysql_connect($hostname, $username, $password);
$koneksi_b = mysql_connect($hostname, $username, $password, true);

# mengatur pemilihan database sesuai koneksi
mysql_select_db('database_a', $koneksi_a);
mysql_select_db('database_b', $koneksi_b);

# contoh untuk melakukan query
# query dengan koneksi pertama
mysql_query('SELECT * FROM TABEL_DB_A', $koneksi_a);
# query dengan koneksi kedua
mysql_query('SELECT * FROM TABEL_DB_B', $koneksi_b);

Yap, kurang lebih seperti itulah, cuman aku pernah kepikiran juga (belum pernah aku implementasikan :mrgreen:) bahwa tetap bisa
olah Database lebih dari satu dengan hanya menggunakan 1 koneksi, hanya pakai alternatif pada Query SQL nya.

Contoh Procedure Oracle Menentukan Huruf Vokal & Konsonan Dari Record Tabel

Selamat pagi… πŸ™‚

Pagi ini aku mau berbagi pengalaman yang aku dapat dari Praktikum Basis Data yang baru saja aku lalui, tinggal Final Project nya saja, semoga lancar. Di modul terakhir aku mendapatkan soal, “Tampilkan huruf vokal dan konsonan pada value/record dari suatu tabel!”

Kurang lebih soalnya begitu, ya intinya bagaimana caranya menampilkan huruf vokal dan konsonan pada suatu kata/kalimat yang termasuk dalam record value dari tabel yang ada menggunakan Procedure di Oracle10g. Oke, misalkan aku punya tabel dengan nama “MHS”, dengan field sebagai berikut :

NPM_MHS NAMA_MHS JURUSAN
06.2009.1.04900 Rendra Kurniawan T. Informatika
06.2009.1.04901 Muadzin Rizal T. Informatika

Nah dari tabel tersebut diatas, misalnya aku mau menentukan field yang akan aku olah adalah field NAMA_MHS untuk ditentukan huruf vokal dan konsonan dari tiap value/record yang ada yaitu “Rendra Kurniawan & Muadzin Rizal” sesuai isi tabel. Oke, kurang lebih berikut ini contoh PL/SQL Procedure di Oracle untuk menentukan vokal dan konsonan dari record yang ada di tabel MHS :

CREATE OR REPLACE PROCEDURE VOKAL IS
CURSOR NAMA IS SELECT NMSIS FROM MHS;
EMP_REC NAMA%ROWTYPE;
panjang_kar INTEGER;
karakter VARCHAR(1);
kata VARCHAR(25);
i INTEGER;
BEGIN
	OPEN NAMA;
	FETCH NAMA INTO EMP_REC;
	kata := EMP_REC.NMSIS;
	panjang_kar := LENGTH(kata);
	FOR i IN 1..panjang_kar LOOP
		karakter := SUBSTR(kata,i);
		IF INSTR(karakter, 'a') OR INSTR(karakter, 'e')
		OR INSTR(karakter, 'i') OR INSTR(karakter, 'o')
		OR INSTR(karakter, 'u') THEN
			DBMS_OUTPUT.PUT_LINE('Vokal : ' || karakter);
		ELSE
			DBMS_OUTPUT.PUT_LINE('Konsonan : ' || karakter);
		END IF;
	END LOOP;
	CLOSE NAMA;
END;

Sekian,,, semoga bermanfaat bagi semua :mrgreen:

Menampilkan Deret Bilangan Prima Dengan PL/SQL

Selamat pagi,,, πŸ˜‰
Kali ini aku mau berbagi satu hal baru (bagiku) tentang PL/SQL yang baru ku pelajari. Contoh source code berikut ini adalah untuk menampilkan deretan bilangan prima menggunakan PL/SQL Oracle. Oke, langsung saja lihat source code deretan bilangan prima denga PL/SQL Oracle berikut ini :

SET SERVEROUTPUT ON
DECLARE
K NUMBER(3);
I INTEGER;
BEGIN
K:=&input;
DBMS_OUTPUT.PUT('2 ');
FOR I IN 2..K LOOP
	IF MOD(I,2)>0 THEN
		IF I > 7 THEN
			IF MOD(I,3)>0 AND MOD(I,5)>0 AND MOD(I,7)>0 THEN
				DBMS_OUTPUT.PUT(TO_CHAR(I) || ' ');
			END IF;
		ELSE
			DBMS_OUTPUT.PUT(TO_CHAR(I) || ' ');
		END IF;
	END IF;
END LOOP;
DBMS_OUTPUT.NEW_LINE;
END;

Sedikit keterangan mengenai kode diatas, untuk variabel K digunakan untuk menampung hasil input yang merupakan sampai angka berapa deretan bilangan prima ditampilkan.

Proper Case/Title Case MySQL

Selamat pagi semua, kali ini aku coba berbagi mengenai suatu cara untuk mengubah jenis huruf (Case/Change Case) di MySQL Query. Syntax default bawaan dari MySQL hanya UCASE & LCASE, nah masing-masing fungsi tersebut hanya bisa digunakan untuk mengubah semua huruf dalam suatu text ke bentuk kapital/huruf besar semua atau huruf kecil semua.

Dari sini muncul pertanyaan, gimana caranya agar hanya huruf depan di tiap kata saja yang besar, yang lainnya kecil (Biasa disebut sebagai proper case/title case).

Oke, untuk contoh querynya adalah sebagai berikut :

UPDATE nama_tabel SET nama_field = CONCAT(UPPER(SUBSTRING(nama_field, 1, 1)), LOWER(SUBSTRING(nama_field FROM 2)))

Semoga bermanfaat πŸ™‚

Mengatasi Masalah “data provider or other service returned an E_FAIL status delphi” Di Delphi

Selamat pagi semua πŸ™‚ ketemu lagi… kali ini aku coba share mengenai Delphi lagi πŸ˜€ soalnya lagi dapet project yang mengharuskanku pake ni Language,hehe.
Jadi ceritanya gini, waktu buat proses CRUD Database MySQL dengan Delphi tiba-tiba saat di compile ulang malah muncul error seperti pesan diatas, yaitu “data provider or other service returned an E_FAIL status delphi” … aku coba restart IDEnya tetep aja kayak gitu pas aku coba running. Dan akhirnya aku nemuin solusinya, ternyata di salah satu table di MySQL ku terdapat record yang mana fieldnya berupa “datetime” dan disalah satu recordnya berisi “0000-00-00 00:00:00” , setelah aku coba ganti value record pada field tersebut dengan waktu lainnya (selain 0)… program delphi ku kembali bisa di Running & Compile πŸ™‚

Senangnya akhirnya, hehehe… oke sekian pengalaman dariku… semoga bermanfaat kelak πŸ˜‰

Query SQL Untuk Menghitung Total Record (COUNT) Dari Setiap Value / Primary Yang Berbeda (DISTINCT)

sqlQuery

Assalamualaikum … πŸ™‚
Kali ini aku mau share mengenai SQL Query, dimana dengan query berikut kita bisa mendapatkan Total Record atau kita bisa mengetahui berapa sih total data yang kita maksud ada di dalam rekord tabel?? Untuk lebih jelasnya bisa lihat contoh rekord tabel dibawah ini :

nama_mhs
Rendra
Eko
Budi
Rendra
Hermansah
Hermansah
Budi
Rendra

Nah, dari contoh tabel diatas, kita ingin tahu berapa kali nama Rendra, Eko, Budi dan Hermansah muncul ??? Dengan output / hasil akhir hanya menampilkan nama yang berbeda saja. Semoga kalian tau apa sebenernya aku maksudkan πŸ˜€
Oke, berikut adalah querynya :

SELECT nama_mhs, COUNT( * ) AS total_muncul FROM nama_tabel GROUP BY nama_mhs

Nanti hasil akhirnya adalah sebagai berikut :

nama_mhs total_muncul
Rendra 3
Eko 1
Budi 2
Hermansah 2

Sekian… semoga bisa bermanfaat πŸ˜€

Query Untuk Menghapus Data / Record Yang Sama (Duplikat) Di Dalam Suatu Tabel MySQL

Sesuai dengan judulnya, berikut adalah langkah – langkah yang bisa kalian pakai untuk menghapus data / record yang sama dalam suatu tabel di database MySQL hanya dengan satu Query saja. Pengetahuan ini akudapat dariΒ http://www.justin-cook.com/wp/2006/12/12/remove-duplicate-entries-rows-a-mysql-database-table/

Berikut penjelasan singkatnya …

  1. Buka MySQL Manager, pilih database yang akan diolah, kemudian masukkan query berikut, misal ini aku mau menghapus dari tabel yang bernama “pelanggan”
    CREATE TABLE tabelBaru AS SELECT * FROM pelanggan WHERE 1 GROUP BY email;
    

    “email” itu adalah field yang digunakan sebagai acuan kita untuk membedakan data yang tidak sama

  2. Setelah itu hapus tabel pelanggan, bisa dengan klik kanan – hapus tabel, atau bisa juga dengan sintaks “DROP TABLE pelanggan”
  3. Kemudian rename table “tabelBaru” dengan nama table “pelanggan”
  4. Selesai, coba cek dah sekarang record tabelnya πŸ˜€
Semoga bermanfaat …

Contoh Aplikasi Penjadwalan Ujian Tugas Akhir Kuliah Menggunakan PHP

Dalam sistem ini ada beberapa golongan user / hak otorisasi seperti Administrator, Mahasiswa dan Dosen. Dilengkapi dengan messages, reminder dan beberapa fitur lain yang menarik. Jika ingin lebih tahu langsung download saja aplikasi Penjadwalan Tugas Akhir dengan PHP melalui link berikut ini : Download Aplikasi Penjadwalan Tugas Akhir

Tidak lupa juga, database untuk aplikasi tersebut, silahkan download Databasenya disini
Semoga bermanfaat :mrgreen:

Contoh Program Sistem Informasi Delphi Dengan Database Access Dilengkapi Dengan Peramalan Produksi

πŸ˜€ Hai k1 k1,,, newbie Delphi lagi belajar ni … dengan susah payah akhirnya aku berhasil membuat suatu aplikasi operasi database access (sebuah aplikasi sistem informasi). Akun yakin masih banyak yang kekurangan dari program kedua yang aku buat menggunakan Delphi ini. Namun yang ini lebih mendingan udah pake Report, hehehe πŸ˜€ tapi bagaimanapun ini adalah jerih payah seorang newbie :mrgreen:
Fitur yang ada di dalam aplikasi ini adalah :

  1. Data Karyawan
  2. Data Konsumen
  3. Data Supplier
  4. Data Bahan Baku Produksi
  5. Data Jenis Produksi
  6. Transaksi
  7. Peramalan Produksi
  8. Laporan Transaksi dan Pendataan
  9. Autentikasi
  10. Dan dilengkapi dengan beberapa tambahan seperti :
    • Validasi Form
    • Input Numeric pada TEdit
    • Autosize DBGrid
    • Rename Coloumn Header DBGrid
    • Support PNG Image dan beberapa fungsi – fungsi atau procedure pendukung

Oke, ini dia screenshootnya … tapi kalo kalian pengen download sourcenya, bisa kalian dapatkan source code contoh aplikasi sistem informasi berbasi delphi dengan database access ini disini

UPDATE : untuk download full source codenya, mari kesini http://rendramm2.wordpress.com/2012/01/18/source-code-aplikasiprogram-peramalan-produksi-delphi-7/