Contoh Program Sederhana Android Koneksi Dengan Database MySQL

Pagi semuanya, lama sudah ga posting di blog ini lagi :), harap maklum karena masih banyak kesibukan yang harus diselesaikan. Yap, kali ini aku mau coba berbagi mengenai bagaimana membuat sebuah program Android sederhana untuk menampilkan data yang diambil dari database MySQL. Dalam proses pengambilan data, akan melalui beberapa proses diantaranya Android melakukan request kepada server melalui script PHP dimana koneksi terjadi di script PHP tersebut.
Kemudian PHP akan membaca request dari Android dan memprosesnya untuk melakukan pengambilan data dari database, setelah itu jika data ditemukan akan dikirimkan kembali ke Android berupa data JSON. Di Activity Android-nya akan melakukan parsing data berupa JSON tersebut setelah itu tinggal proses terakhir, yaitu mengolah data yang sudah didapatkan. Entah itu ditampilkan pada layar atau sejenisnya. Yang pasti, disini saya akan memberikan contoh untuk menampilkan data mahasiswa yang datanya diambil dari database MySQL.
Pertama coba buat sebuah database dengan nama “test“, setelah itu buatlah sebuah tabel “mahasiswa” dengan struktur tabel sebagai berikut ini :

Struktur Tabel Android MySQL

Struktur Tabel Android MySQL

Kemudian, jika database dan tabel sudah siap langkah selanjutnya kita buat sebuah file PHP dengan nama “profil.php” yang berisi script seperti berikut ini :

// profil.php

mysql_connect("localhost", "root", "");
mysql_select_db("test");

// menerima request dari Android
$n = $_REQUEST['npm'];
$q = mysql_query("SELECT * FROM mahasiswa WHERE npm = '{$n}'");
$r = array();
$c = mysql_num_rows($q);
if($c>0){
	$r["account"] = array();
	while($e = mysql_fetch_array($q)){
		$a = array();
		$a["npm"] 			= $e["npm"];
		$a["nama_lengkap"] 	= $e["nama_lengkap"];
		$a["jurusan"] 		= $e["jurusan"];
		array_push($r["account"], $a);
	}
	$r["success"] = 1;
	// mengirimkan data JSON ke Android
	echo json_encode($r);
}else{
	$r["success"] = 0;
	echo json_encode($r);
}
mysql_close();

Setelah itu, buatlah sebuah Project Android yang berisikan 1 layout XML dan 2 class java, diantaranya adalah activity_main.xml, MainActivity.java dan JSONParser.java. Source code masing-masing file tersebut adalah sebagai berikut : Continue reading

Contoh Game/Permainan Puzzle 8 Blok (GUI) Menggunakan Java

Pada postingan sebelumnya sudah aku bahas mengenai game ini yang menggunakan Metode Hill Climbing dan Manhattan Distance untuk menentukan solusi terbaik dari problem solving untuk urutan blok pada game tersebut. Hanya saja pada postingan yang sebelumnya saya bahas yaitu Text Mode bukan berupa GUI, kali ini saya ingin share untuk GUI Versionnya. Tampilan program/gamenya seperti pada gambar dibawah ini :
Game Puzzle 8 Blok Java
Oke sekian saja penjelasannya, semoga bisa ngerti :mrgreen:
Langsung saja, ini contoh game yang sudah jadi dan tinggal runnning (asalkan sudah terinstall Java di komputer/laptop kamu) download contoh game puzzle 8 blok java dengan metode hill climbing disini.
Nah untuk source code dari game tersebut diatas bisa download disini

Semoga bisa bermanfaat 🙂

Implementasi Metode Simple Hill Climbing Pada Game Sederhana Puzzle 8 Blok

Game Puzzle 8 Blok adalah permainan sederhana yang terdiri dari susunan 9 buah kotak/persegi yang mana 8 kotak diantaranya berisikan angka dari 1 hingga 8, 1 kotak sisanya kosong. Kotak kosong ini digunakan untuk memindahkan 8 kotak atau blok-blok hingga mencapai urutan angka yang diinginkan. Mungkin untuk lebih jelasnya silahkan lihat gambar dibawah ini, gambar berikut ini adalah visualisasi permainan tersebut :

Ya seperti itulah, jadi teringat permainan itu di masa lalu ya?? 🙂 Saat ini saya akan coba membuatnya dalam sebuah permainan komputer sederhana, kenapa sederhana, karena untuk bagian pertama ini saya ingin share dulu game versi text nya, atau versi DOS (Command Prompt). Untuk versi GUI nya akan menyusul di posting selanjutnya :).

Disini agar proses pencarian solusi optimal, saya menggunakan algoritma Simple Hill Climbing yang didukung dengan metode Manhattan Distance untuk mengetahui jumlah atau jarak paling minimum dari persoalan menuju posisi blok yang diinginkan. Untuk lebih jelasnya mengenai Manhattan Distance atau Simple Hill Climbing bisa dicari lebih lanjut di website lainnya :mrgreen:. Untuk hasil contoh jalannya program ini adalah sebagai berikut : Continue reading

Menghitung Jarak Antara 2 Koordinat Peta Dengan PHP

Selamat pagi semuanya, kita ketemu lagi disini 🙂 kali ini aku mau coba berbagi mengenai bagaimana cara menghitung jarak antara dua koordinat (gabungan antara latitude dan longitude) yang didapat dari Google Map dalam satuan Km (Kilometer) menggunakan script PHP. Oke langsung saja ya, beginilah bunyinya :

## formula untuk menghitung jarak antara dua koordinat
## rumus / formula ini merupakan hasil konversi dari rumus baku
## dalam hal pengukuran jarak "great-circle"
function rad($x){ return $x * M_PI / 180; }
function distHaversine($coord_a, $coord_b){
	# jarak kilometer dimensi (mean radius) bumi
	$R = 6371;
	$coord_a = explode(",",$coord_a);
	$coord_b = explode(",",$coord_b);
	$dLat = rad(($coord_b[0]) - ($coord_a[0]));
	$dLong = rad($coord_b[1] - $coord_a[1]);
	$a = sin($dLat/2) * sin($dLat/2) + cos(rad($coord_a[0])) * cos(rad($coord_b[0])) * sin($dLong/2) * sin($dLong/2);
	$c = 2 * atan2(sqrt($a), sqrt(1-$a));
	$d = $R * $c;
	# hasil akhir dalam satuan kilometer
	return number_format($d, 0, '.', ',');
}

## cara penggunaannya
## contoh ada 2 koordinat (latitude dan longitude)
$a = "-6.195168,106.769012";
$b = "-6.159617,106.839523";
print distHaversine($a, $b);

Contoh Function Di Oracle Menghitung Jumlah Huruf Konsonan Dan Vokal Dari Inputan

Soal ini didapat dari Praktikum Basis Data Lanjut mengenai pembahasan Function dan Procedure di Database Oracle. Okey, berikut ini merupakan sintaks function untuk menghitung karakter selain angka serta membedakan mana yang termasuk huruf vokal dan konsonan berdasarkan inputan user :

CREATE OR REPLACE FUNCTION VOKAL_KONSONAN (KATA IN VARCHAR2)
RETURN VARCHAR2 IS HASIL VARCHAR2(255);
KONSONAN NUMBER;
VOKAL NUMBER;
BEGIN
IF LENGTH(TRIM(TRANSLATE(KATA, '+-.0123456789', ' '))) IS NULL THEN
HASIL := 'Teks yang kamu masukkan mengandung karakter angka';
ELSE
KONSONAN := LENGTH(REPLACE(TRANSLATE(KATA, 'aAeEiIoOuU', ' '), ' ', NULL));
VOKAL := LENGTH(REPLACE(KATA, ' ', NULL)) - KONSONAN;
END IF;
RETURN HASIL;
END;
/

Untuk menjalankan atau mencoba sintaks diatas setelah dieksekusi dan berhasil membuat function, bisa memakai sintaks atau query berikut ini :

SELECT VOKAL_KONSONAN('Rendra Kurniawan') FROM DUAL;

Semoga bermanfaat 🙂

Praktikum Basis Data (Oracle) – Part 3

Ini merupakan lanjutan dari postingan sebelumnya yaitu Praktikum Basis Data Oracle Part 2. Mohon maaf kepada teman-teman jika upload-nya telat, maklum karena banyak kegiatan di luar :). Oke langsung saja, berikut ini yang bisa aku sharing untuk Part 3 :

  1. Insert record baru dalam jumlah banyak menggunakan 1 query
  2. Merubah date format pada saat eksekusi query
  3. Melihat constraint yang ada pada suatu tabel
  4. Menampilkan seluruh tabel yang ada pada schema tertentu
  5. Menampilkan semua user dan schema yang ada
  6. Menggabungkan data antara 2 tabel menggunakan “Merge” dilengkapi berbagai kondisi (When Matched, Delete When Not Matched, dll)

Pertama (Insert Banyak Record Dengan 1 Query)

Maksudnya adalah jika ingin memasukkan data ke dalam suatu tabel lebih dari 1 record menggunakan 1 query yang bisa dieksekusi dalam 1 waktu. Berikut ini adalah source code nya :

INSERT ALL
INTO MATKUL_04900 VALUES (7, 1, ‘Alpro’, 3, ‘Dosen’)
INTO MATKUL_04900 VALUES (8, 1, ‘English’, 3, ‘Dosen’)
INTO MATKUL_04900 VALUES (9, 1, ‘Agama’, 3, ‘Dosen’)
INTO MATKUL_04900 VALUES (10, 1, ‘PBO’, 3, ‘Dosen’)
INTO MATKUL_04900 VALUES (11, 1, ‘KP’, 3, ‘Ibu Dosen’)
INTO MATKUL_04900 VALUES (12, 1, ‘KKN’, 3, ‘Dosen’)
SELECT * FROM DUAL;

Kedua (Merubah Date Format Query)

Penjelasan singkat dari judul kedua ini adalah, jika pada waktu eksekusi sebuah query entah itu untuk insert record atau select query, jika salah satu field merupakan parameter yang dibutuhkan untuk suatu kondisi, pastinya format tanggal perlu diatur sesuai value parameter yang diinginkan. Misalkan begini, di dalam record mempunyai value seperti “10/31/2012” namun kita ingin merubah formatnya menjadi “31/10/2012” tanpa harus merubah value (semoga bisa paham yang sebenarnya aku maksudkan, :mrgreen:), berikut ini adalah source-nya (Contoh untuk insert record) :

-- Inilah poin pentingnya --
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD';
-- Poin penting --

INSERT ALL
INTO TAB_MOD3_02 VALUES ('1001','Rendra','1990/01/23','P','Surabaya','SMPN 2 Mojosari',100)
INTO TAB_MOD3_02 VALUES ('1002','Kurniawan','1990/02/23','P','Mojokerto','SMPN 2 Mojosari',100)
INTO TAB_MOD3_02 VALUES ('1003','Rain','1990/03/23','P','Sidoarjo','SMPN 2 Mojosari',100)
SELECT * FROM DUAL;

Ketiga (Menampilkan Constraint)

Berikut ini adalah contoh query untuk menampilkan constraint yang ada pada tabel :

SELECT CONSTRAINT_NAME, R_CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME FROM USER_CONSTRAINTS ORDER BY CONSTRAINT_TYPE ASC;

Keempat (Menampilkan Seluruh Tabel Pada Schema)

SELECT TABLE_NAME, COLUMN_NAME FROM USER_TAB_COLUMNS ORDER BY TABLE_NAME ASC;

Kelima (Menampilkan User & Schema)

Berikut adalah contoh query untuk menampilkan daftar user dan schema yang ada pada Oracle :

SELECT SYS_CONTEXT('userenv','db_name') AS NAMA_DB, SYS_CONTEXT('userenv','session_user') AS NAMA_SCHEMA FROM DUAL;

Keenam (Merge Data)

Dibawah ini merupakan contoh query untuk menggabungkan data dari beberapa tabel menggunakan fungsi Merge.

MERGE INTO TAB_MOD3_02 b USING(
SELECT nopes, nmsis, ttl, jk, almtsis,
asalsek, bindo, bing, mat, ipa, poin
FROM TAB_MOD3_01
WHERE nopes = '1001') a ON (b.nopes = a.nopes)
WHEN MATCHED THEN UPDATE SET b.danem = ((a.bindo + a.bing + a.mat + a.ipa + a.poin)/5)
DELETE WHERE (a.nmsis = '') WHEN NOT MATCHED THEN
INSERT (b.nopes, b.nmsis, b.ttl, b.jk, b.almtsis, b.asalsek, b.danem)
VALUES (a.nopes, a.nmsis, a.ttl, a.jk, a.almtsis, a.asalsek,
((a.bindo + a.bing + a.mat + a.ipa + a.poin)/5))
WHERE (a.nopes <> '');

Yap, sekian untuk Part 3 ini, semoga bisa bermanfaat… sampai ketemu di Part 4 selanjutnya 🙂

Praktikum Basis Data (Oracle) – Part 2

Well well,,, kali ini aku mau share lanjutan dari post sebelumnya yaitu Praktikum Basis Data Oracle Part 1 dimana sebelumnya membahas mengenai pembuatan user, tablespace dan syart-syarat awal yang diperlukan untuk memulai pembahasan/pembelajaran pada umumnya mengenai Oracle Database.

Di Part 2 ini aku ingin share mengenai beberapa hal, diantaranya adalah :

  1. Membuat sebuah tabel dilengkapi dengan constraint
  2. Mengubah nama tabel (rename table)
  3. Merubah nama field/kolom dari sebuah tabel
  4. Menghapus tabel
  5. Menambahkan index, menambah constraint pada tabel
  6. Membuat tabel dengan meng-copy / berdasarkan struktur dari tabel lain
  7. Melihat constraint yang ada pada suatu tabel

Yah,,, lumayan poin yang akan dibahas kali ini, semoga bisa bermanfaat bagi semua 🙂

Pertama (Membuat Tabel Dilengkapi Constraint)

Berikut ini contoh untuk membuat suatu tabel dengan nama TaMod2 dengan 5 field/kolom, lihat script query berikut :

CREATE TABLE TaMod2 (
kode_user INT,
nama_user VARCHAR(30) NOT_NULL,
telepon VARCHAR(12),
email VARCHAR(25),
alamat VARCHAR(100),
CONSTRAINT pk_user PRIMARY KEY(kode_user));

Kedua (Merubah Nama Tabel)

Misalkan dari tabel diatas, kita akan merubah namanya dari TaMod2 menjadi TabMod2, maka bisa menggunakan query seperti berikut ini :

RENAME TaMod2 TO TabMod2;

Ketiga (Merubah Nama Kolom & Merubah Tipe Data Field/Kolom)

-- Query untuk merubah nama field / kolom
-- Contohnya untuk merubah kolom nama_user menjadi nama_pengguna
ALTER TABLE TabMod2 RENAME COLUMN nama_user TO nama_pengguna;

-- Query untuk merubah tipe data dari field tertentu pada tabel
-- Contoh berikut adalah merubah tipe data dari field kode_user
-- yang mana awalnya bertipe data INT, dirubah menjadi VARCHAR
ALTER TABLE TabMod2 MODIFY (kode_user VARCHAR(10));

Keempat (Menghapus Tabel)

Untuk menghapus tabel di Oracle, ada 2 metode yang perlu diketahui, yaitu dihapus secara biasa tapi masih tersisa di Recycle Bin-nya Oracle, atau benar-benar dihapus tanpa bekas. Berikut ini adalah query yang bisa kalian pakai, pertama adalah menghapus secara biasa dan query yang kedua untuk benar-benar menghapus tabel tanpa sisa di BIN (Recycle Bin Oracle).

DROP TABLE TabMod2;

Dengan query diatas (Drop), kita masih bisa mengembalikan atau meng-undo agar tabel bisa kembali lagi, gag jadi terhapus, bisa pakai query ini :

FLASHBACK TABLE TabMod2 TO BEFORE DROP;

Dan berikut ini query untuk melihat isi RECYCLE BIN-nya Oracle, jika ada tabel yang dihapus dengan query DROP pasti masuk disini.

SELECT * FROM RECYCLEBIN;

Dan ini adalah query untuk menghapus Tabel tanpa masuk di RECYCLE BIN, hampir sama dengan fungsi Shift+Del, querynya adalah :

PURGE TABLE TabMod2;
-- Contoh untuk menghapus tabel di RECYCLE BIN
PURGE TABLE "BIN$KIkRl/BNTzmEdg9BW4Z3Pg==$0";
-- Dan beberapa pengetahuan lain yang hampir sama dengan PURGE ALL
PURGE RECYCLEBIN;
PURGE DBA_RECYCLEBIN;
PURGE USER_RECYCLEBIN;

Kelima (Menambahkan Index / Constraint di Suatu Tabel)

CREATE INDEX FK_EMAIL ON TabMod2 (email ASC);

ALTER TABLE TabMod2
	ADD CONSTRAINT FK_EMAIL FOREIGN KEY (KD_EMAIL)
		REFERENCES TB_EMAIL (ID_EMAIL);

Keenam (Membuat Tabel Dengan Copy Struktur Tabel Lain)

Sebelumnya, misalkan kita buat tabel baru dengan nama Tab_Nama_01 dengan query berikut ini :

CREATE TABLE Tab_Nama_01 (
nomor_peserta varchar(12) PRIMARY KEY NOT NULL,
CONSTRAINT nopes CHECK(LENGTH(nomor_peserta)=12),
nama_siswa varchar(50) NOT NULL,
t_lahir varchar(20) NOT NULL, ttl DATE NOT NULL,
gender char(1) NOT NULL, nama_ayah varchar(50) NOT NULL,
nama_ibu varchar(50) NOT NULL,
nama_wali varchar(50) NOT NULL,
telepon varchar(15) NOT NULL,
almt_sis varchar(150) NOT NULL, kota varchar(50) NOT NULL,
kab varchar(50) NOT NULL, n_b_indo NUMBER NOT NULL,
n_b_ingg NUMBER NOT NULL, n_mat NUMBER NOT NULL,
n_ipa NUMBER NOT NULL, asal_sek varchar(70) NOT NULL,
tahun NUMBER(4) NOT NULL,
CONSTRAINT th CHECK(LENGTH(tahun)=4));

Kemudian, kita akan membuat tabel baru dengan nama Tab_Nama_02 dengan beberapa field yang meniru struktur dari tabel pertama yaitu Tab_Nama_01, berikut ini contoh querynya :

CREATE TABLE Tab_Nama_02 AS SELECT
a.*,
((a.n_b_indo + a.n_b_ingg + a.n_mat + a.n_ipa)/4) danem,
TO_DATE(a.TTL, 'MONTH') bulan,
TO_DATE(a.TTL, 'DD') tanggal,
TO_DATE(a.TTL, 'YYYY') tahun_lahir,
SUBSTR(nama_siswa,1, INSTR(nama_siswa,',')-1) nama_depan,
SUBSTR(nama_siswa,(INSTR(nama_siswa,',')+1),LENGTH(nama_siswa)) nama_belakang
FROM TAB_NAMA_01 a;

Ketujuh (Melihat Constraint Dari Tabel)

Beriku ini adalah contoh query untuk melihat atau menampilkan constarint apa aja pada table yang udah pernah kita buat sebelumnya. Ada beberapa cara :

-- 1
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'Tab_Nama_02';
-- 2
SELECT * FROM ALL_CONSTRAINTS WHERE TABLE_NAME = 'Tab_Nama_02';
-- 3
SELECT CONSTRAINT_NAME, COLUMN_NAME FROM USER_CONS_COLOM WHERE TABLE_NAME = 'Tab_Nama_01';

Yap… akhirnya sampai ujung juga. Capek juga ya, haha.. oke deh semoga bermanfaat bagi teman-teman. Sampai jumpa lagi ya di PART 3.

Praktikum Basis Data (Oracle) – Part 1

Dengan dimulainya tahun ajaran baru untuk Praktikum Basis Data Semester ini, aku punya ide untuk share pengalaman tentang hal terkait yang mana sudah pernah aku jalani di semester sebelumnya. Aku harap bisa bermanfaat khususnya bagi yang sedang Praktikum Basis Data Oracle atau bagi teman-teman lainnya yang lagi belajar mengenai Oracle 🙂

Pada bagian pertama ini, aku ingin share mengenai beberapa hal berikut :

  1. Membuat User baru di Oracle
  2. Membuat Tablespace untuk User tertentu di Oracle
  3. Memberikan hak akses agar user bisa login, bisa membuat Table, user bisa membuat Tablespace,  user dapat membuat View, Store Procedure, Trigger dan komponen DBMS lainnya.
  4. Contoh sederhana untuk membuat tabel baru dan insert record baru pada tabel tersebut.

Pertama (Membuat Tablespace Oracle)

Tablespace yang dibuat tersendiri ini nantinya berguna untuk user tertentu sebagai lokasi penyimpanan datanya, seperti tabel, view dan lain sebagainya. Tablespace ini berupa suatu file dengan ekstensi / bertipe file “.ora“, yang disimpan pada lokasi sesuai pilihan kita. Misalkan kita akan membuat suatu tablespace dengan nama praktikum yang disimpan pada file praktikum.ora, berikut ini query-nya :

CREATE TABLESPACE praktikum DATAFILE 'D:\Oracle\praktikum.ora'
SIZE 1M
AUTOEXTEND ON NEXT 500K
MAXSIZE 3M;

Script diatas bisa dijalankan melalui SQL Plus atau Interface lainnya yang mendukung operasi database Oracle. Keterangan dari script diatas adalah sebagai berikut :

  1. Baris pertama adalah untuk membuat tablespace dengan nama tersebut yang disimpan pada Drive D:/ dengan path tersebut.
  2. Baris kedua untuk menentukan berapa besar kapasitas file tablespace ini
  3. Baris ketiga merupakan ketentuan untuk file tablespace tersebut jika kapasitas penyimpanan melampaui batas yang ditentukan di baris kedua, istilahnya akan membengkak sebesar 500Kb tiap kali terjadi pembengkakan
  4. Baris terakhir adalah ketentuan berapa besar maksimal ukuran tablespace ini (Tidak bisa bengkak lagi).

Kedua (Membuat User Baru di Oracle)

Berikut ini contoh query untuk membuat user baru di Oracle menggunakan tablespace yang sudah dibuat pada poin pertama tadi.

CREATE USER rendra IDENTIFIED BY kurniawan DEFAULT TABLESPACE praktikum;

Ketiga (Memberi Hak Akses Pada User Oracle)

Setelah berhasil membuat user baru, sekarang diberi hak akses agar bisa melakukan beberapa hal seperti, login, membuat table, membuat view dan membuat tablespace. Sintaks yang bisa digunakan adalah sebagai berikut :

GRANT CONNECT, RESOURCE TO rendra;
GRANT CREATE VIEW TO rendra;
GRANT TRIGGER TO rendra;

Konsep untuk memberi hak akses adalah seperti script diatas, jika pemberian hak akses diatas masih kurang, bisa ditambahkan sendiri sesuai format seperti tersebut diatas.

Keempat (Membuat Table Baru & Insert Record)

Setelah pemberian hak akses, silahkan coba masuk/login sebagai user yang baru dibuat tadi dengan perintah conn rendra kemudian masukkan passwordnya. Setelah berhasil masuk/login, mencoba untuk membuat 2 buah tabel yaitu tabel mhs dan jurusan. Contoh perintahnya seperti ini :

CREATE TABLE MHS(NPM VARCHAR(15) NOT NULL,NAMA_LENGKAP VARCHAR(70),GENDER CHAR(1) NOT NULL,
TTL VARCHAR(50),
PRIMARY KEY(NPM) USING INDEX);

CREATE TABLE JURUSAN(
KD_JURUSAN INT NOT NULL,
NM_JURUSAN VARCHAR(50),
CONSTRAINT NM_JURUSAN_U PRIMARY KEY(KD_JURUSAN) USING INDEX);

Dan script dibawah ini adalah untuk insert data di tabel yang barusan dibuat tadi :

INSERT INTO MHS VALUES ('06.2009.1.04900', 'Rendra Kurniawan', 'L', 'Mojokerto, 23 Mei 1990', 1);

Bonus, script ini adalah contoh untuk membuat View di Oracle :

CREATE VIEW lihat_mhs AS
SELECT MHS.NPM, MHS.NAMA_LENGKAP, JURUSAN.NM_JURUSAN
FROM MHS INNER JOIN
JURUSAN ON MHS.KD_JURUSAN = JURUSAN.KD_JURUSAN
ORDER BY MHS.NPM ASC;

Okelah,,, sekian semoga bermanfaat… sampai ketemu di PART selanjutnya ya…
Thanks

Query MySQL Untuk Menghitung Umur/Usia

Malam ini aku ingin share salah satu pengetahuan mengenai SQL Query (Khususnya di MySQL) dengan studi kasus bagaimana caranya kita bisa memperoleh atau mengetahui berapa umur / usia dari data seseorang yang ada di dalam database. Jadi misalkan dalam suatu tabel, anggap saja nama tabelnya adalah tabel “karyawan” dimana terdapat satu field/kolom dengan nama “tanggal_lahir”, terdapat suatu record value dari data karyawan perusahaan dengan struktur sebagai berikut :

nama_karyawan tanggal_lahir
Rendra Kurniawan 2012/05/23

Dari contoh diatas, saya ingin mengetahui berapa umur Rendra saat ini (Dengan tanggal saat ini sebagai patokan)? Query berikut bisa kalian coba :

SELECT nama_karyawan, tanggal_lahir, (YEAR(CURDATE())-YEAR(tanggal_lahir)) AS umur FROM karyawan

Maka akan didapatkan hasil sebagai berikut :

nama_karyawan tanggal_lahir umur
Rendra Kurniawan 2012/05/23 22

Yap, sekian semoga bisa bermanfaat di lain waktu 🙂
Terima Kasih

Menentukan Hari Dari Sebuah Tanggal – PHP

Selamat siang semuanya,,, karena kekurangan bahan untuk share ( atau mungkin aku yang bingung mau share apaan 😀 ), yah mumpung ini inget ada hal sepele namun spertinya bisa bermanfaat bagi yang butuh, hehe…

Konsepnya adalah bagaimana caranya kita mengetahui nama hari dari suatu tanggal tertentu menggunakan PHP. Misalkan tanggalnya adalah 2012-10-18, nah kita ingin tau nih hari apa sih di tanggal tersebut? Oke, life starts here 😀

$tanggal = strtotime("2012-10-18");
$hari_en = date('l', $tanggal);
$hari_ar = array("Monday"=>"Senin", "Tuesday"=>"Selasa", "Wednesday"=>"Rabu", "Thursday"=>"Kamis", "Friday"=>"Jumat", "Saturday"=>"Minggu", "Sunday"=>"Minggu");
$hari_id = $hari_ar[$hari_en];
print $hari_id; # maka akan keluar kata Kamis

Oke, simple saja… sekian semoga bermanfaat 😀