Sharing Tutorial Pemrograman, Database, Aplikasi, Informasi, Umum dan News Update

Articles by "database"

Bilangan romawi atau angka romawi merupakan suatu sistem penomoran yang berasal dari romawi kuno. Angka romawi sangat umum digunakan untuk penomoran-penomoran seperti jam, buku, penomoran surat-surat, kelas, dan lainnya. Dalam dunia programming terkadang banyak user-user yang menggunakan angka romawi bahkan aplikasi-aplikasi mereka yang manual pun banyak menggunakan angka-angka romawi seperti untuk pengkodean surat, nomor dll.

Oleh karena ini pada kesempatan ini akan mencoba berbagi bagaimana caranya membuat fungsi/function angka romawi pada database PostgrSql. tujuan kenapa harus dibuat function? agar ketika kita membutuhkan convert dari angka numeric ke angka romawi kita hanya tinggal memanggil fungsi tersebut tanpa harus membuat fungsinya lagi. 

script fungsinya angka romawi adalah seperti berikut :
  • Function: public.romawi(integer) : untuk penamaan fungsi
  • DROP FUNCTION public.romawi(integer); : untuk menghapus fungsi
  • CREATE OR REPLACE FUNCTION public.romawi(angka_in integer) : untuk membuat fungsi dan otomatis menghapus fungsi.  jadi ketika ada perubahan sintak dalam struktur fungsi kita bisa langsung execute fungsi tanpa harus menjalankn dulu  DROP FUNCTION public.romawi(integer) / tanpa harus menghapus fungsi yang existing terlebih dahulu
  • angka_in integer : merupakan parameter dari fungsi tersebut, artinya ketika akan menggunakan fungsi ini nilai lemparannya harus merupakan nilai integer tidak boleh string, double dll
  • RETURNS character varying AS : sedangkan sintaks ini fungsinya adalah return value dari fungsi  romawi ini berupa character varying atau string

untuk menjalannya cukup panggil fungsi tersebut :
select romawi(13245)
apabila berhasil (codingan tidak error) akan menampilkan hasilnya seperti ini :

selamat mencoba dan semoga bermanfaat, kalau ada diskusi dan pertanyaan silahkan email ke : osa.busana@gmail.com. terimakasih.

Pada tutorial kali ini akan dishare  cara melakukan update tabel dengan melibatkan dua tabel atau lebih atau dalam bahasa pemrograman database disebut dengan left join.

kalau script update biasa seperti berikut
update nama_tabel set nama_kolom where kolom_kondisi=?
tetapi bagaimana apabila ditemukan kasus kita harus melakukan update data dengan sumber nilai update nya dari tabel yang berbeda atau kondisi where nya dari tabel berbeda.

berikut adalah contoh script sql update data dari tabel berbeda
update rs_resep
set dokter_kode = rs_registrasi.registrasi_dokter
from rs_registrasi
where rs_resep.registrasi_id = rs_registrasi.registrasi_id;
Keterangan :
1. Script di atas untuk melakukan update data dokter ditabel rs_resep dengan sumber data dokternya dari tabel rs_registrasi
2. Kondisi data yang di update berdasarkan registrasi_id sehingga ada kondiri where  rs_resep.registrasi_id = rs_registrasi.registrasi_id;

Semoga bermanfaat dan selamat mencoba


Diantara kelebihan menggunakan database postgreSql adalah karena postgresSql sudah support dengan function, trigger dan view. sehingga akan sangat membantu bagi para developer aplikasi dalam mengelola database,crud dll.
Berikut terlampir function untuk minus tahun pada database postgresSql,
-- Function: public.minus1_thn(date)
-- DROP FUNCTION public.minus1_thn(date);
CREATE OR REPLACE FUNCTION public.minus1_thn(tgl date)
  RETURNS numeric AS
$BODY$
DECLARE
TAHUN NUMERIC;
BEGIN
 IF EXTRACT(MONTH FROM TGL) = 1 THEN
    TAHUN = EXTRACT(YEAR FROM TGL) - 1;
 ELSE
    TAHUN = EXTRACT(YEAR FROM TGL);
    END IF; RETURN TAHUN;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.minus1_thn(date)
  OWNER TO postgres;
baca juga : Script Membuat Tabel Pada databse PostgresSql
baca juga : Membuat Function Minus 1 Bulan Pada Database PostgreSql

untuk memanggil atau menggunakan function ini adalah sbb :
select minus1_thn('2018-02-02')
Selamat mencoba dan semoga bermanfaat.


Berikut adalah contoh script membuat function pada database postgreSql dengan return value integer. kalau pada artikel sebelumnya sudah di share cara Membuat Function Nama Bulan Dari Tanggal Pada Database PostgreSQL . Perbedaannya kalau artikel sebelumnya return value adalah string (character varying) sedangkan pada postingan kali ini return value nya adalah integer.

Berikut adalah sintak nya
-- Function: public.function_test(character varying)
-- DROP FUNCTION public.function_test(character varying);
CREATE OR REPLACE FUNCTION public.function_test(bulan_txt character varying)
  RETURNS integer AS
$BODY$
DECLARE
bulan integer;
BEGIN
   IF bulan_txt = 'Januari' THEN
     bulan = 1;
   ELSIF bulan_txt = 'Februari' THEN
     bulan = 2;
   ELSIF bulan_txt = 'Maret' THEN
     bulan = 3;
ELSIF bulan_txt = 'April' THEN
     bulan = 4;
ELSIF bulan_txt = 'Mei' THEN
     bulan = 5;
ELSIF bulan_txt = 'Juni' THEN
     bulan = 6;
ELSIF bulan_txt = 'Juli' THEN
     bulan = 7;
ELSIF bulan_txt = 'Agustus' THEN
     bulan = 8;
ELSIF bulan_txt = 'September' THEN
     bulan = 9; ELSIF bulan_txt = 'Oktober' THEN
     bulan = 10; ELSIF bulan_txt = 'November' THEN
     bulan = 11;
    ELSIF bulan_txt = 'Desember' THEN
     bulan = 12;  
   END IF;
 
RETURN bulan;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.function_test(character varying)
  OWNER TO postgres;

Semoga bermanfaat, terimakasih.


Berikut adalah tutorial cara membuat tabel baru pada database PostgreSql
-- Table: public.agama
-- DROP TABLE public.agama;
CREATE TABLE public.agama
(
  agama_id serial NOT NULL,
  agama_name character varying(100),
  agama_code character varying(10),
  rec_created timestamp without time zone,
  rec_creator character varying(50),
  rec_editor character varying(50),
  rec_edited timestamp without time zone,
  is_deleted smallint DEFAULT 2, -- 1:Ya, 2:bukan
  CONSTRAINT agama_pkey PRIMARY KEY (agama_id),
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.agama
  OWNER TO postgres;
COMMENT ON TABLE public.agama
  IS 'RS';
COMMENT ON COLUMN public.agama.is_deleted IS '1:Ya, 2:bukan';
1. tipe data serial supaya id nya autoincrement 
2. default 2 : nilai akan otomatis terisi 2 meskipun dari form tidak diinput

Klik button execute query untuk menjalankan script, apabila tidak ada error maka anda sudah berhasil membuat tabel baru agama , silahkan cek pada database.

Selamat mencoba,

Untuk membuat function minus 1 bulan pada database postgreSql adalah seperti berikut :

CREATE OR REPLACE FUNCTION minus_satu_bln(tgl date)
  RETURNS numeric AS
$BODY$
DECLARE
BULAN NUMERIC;
BEGIN
    IF EXTRACT(MONTH FROM TGL) = 1 THEN
       BULAN = 12; 
    ELSE  
       BULAN = EXTRACT(MONTH FROM TGL) - 1;
    END IF;   
RETURN BULAN;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION minus_satu_bln(date)
  OWNER TO postgres;
untuk execute function tersebut adalah seperti berikut :

Pada postingan sebelumnya kita sudah mengetahui cara membuat fungsi menghitung usia/umur pada pemrograman PHP  dan pada postingan kali ini kita akan sama-sama mengetahui cara membuat function (fungsi) untuk menghitung usia pada database postgreSql, karena seperti pada postingan-postingan sebelumnya salah satu diantara kelebihan database postgreSql adalah kita bisa membuat function yang mana kapanpun kita akan berubah bahasa pemrograman seperti dari .net ke php ataupun sebaliknya function-function tersebut tetap bisa digunakan.

Function untuk menghitung usia atau umur pada database postgreSql adalah sebagai berikut :
  -- Function: hitung_usia(date, date)

-- DROP FUNCTION hitung_usia(date, date);

CREATE OR REPLACE FUNCTION hitung_usia(date1 date, date2 date)
  RETURNS numeric AS
$BODY$
DECLARE
    in_date1     date;
    in_date2     date;
    compute_age numeric(4);
   
begin
    compute_age = EXTRACT(YEAR FROM AGE(date2, date1));
    RAISE NOTICE 'a, %', compute_age;
        return compute_age;
end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION hitung_usia(date, date)
  OWNER TO postgres;


 Kemudian untuk menggunakan function tersebut kita tinggal memanggilnya seperti ini :
select hitung_usia('1989-01-01','2016-01-01')
Selamat Mencoba & Terimakasih.

Pada postingan sebelumnya kita sudah mengetahui beberapa tutorial mengenai database postgreSql seperti cara membuat function nama bulan , cara penggunaan selection case-when , penggunaan like- ilike , dan lain-lain.

Pada postingan kali ini akan di share mengenai salah satu cara untuk melakukan convert tipe data pada database postgreSql, convert tipe data terkadang kita butuhkan untuk manipulasi output data dari sebuah hasil query seperti :
1. Tipe data field 'created_date' pada tabel adalah timestamp atau datelalu ketika kita melakukan query output datanya ingin menjadi character varying .
2.  Tipe data file 'umur' pada tabel adalah integer lalu ketika kita melakukan query output datanya ingin menjadi string atau character varying.
3. dan lain-lain

Salah satu cara untuk melakukan convert  tipe data seperti kasus-kasus contoh di atas adalah dengan menggunakan key '::' seperti contoh berikut :



Pada contoh kasus di atas, ketika kita melakukan query data dari tabel rtl_master_barang field created_date  field tersebut tipe datanya adalah timestamp namun kita akan ubah output data ketika melakukan query menjadi character varying, caranya cukup simple 'created_date::character varying(50) as createddate_convert'
  • created_date adalah nama field
  • :: adalah key untuk melakukan convert
  • character varying adalah tipe data yang dinginkan
  • (50) adalah length (panjang) dari tipe data
Pada tipe data yang lainnya pun sama seperti kita akan melakukan convert field umur yang tipe datanya character varying menjadi integer :
select umur::integer from master_customer
Cukup simple dan mudah untuk dicoba, Selamat mencoba dan semoga bermanfaat.


Pada postingan sebelumnya kita sudah mengetahui bagaimana caranya membuat fungsi untuk menampilkan nama bulan bahasa indonesia di PHP , pada postingan kali ini akan dishare bagaimana caranya membuat function di postgreSql untuk menampilkan nama bulan. karena dari beberapa kelebihan database PostgreSql salah satunya adalah kita bisa membuat Function, Triger, View dll. Jadi dengan kita membuat function pada database tersebut maka kita bisa menggunakan function  itu berulang-ulang kapanpun kita membutuhkannya, apalagi dalam membangun/mengembangkan sebuah sistem menampilkan nama bulan dari suatu tanggal (date) sering kita temui dan kita butuhkan.

Untuk membuat function menampilkan nama bulan dari suatu tanggal pada database PostgreSql scriptnya adalah sebagai berikut :

-- Function: bulan(date)

-- DROP FUNCTION bulan(date);

CREATE OR REPLACE FUNCTION bulan(tgl date)
  RETURNS character varying AS
$BODY$
DECLARE
BULAN CHARACTER VARYING(12);
BEGIN
   IF    EXTRACT(MONTH FROM TGL) = 1 THEN
         BULAN = 'Januari';
   ELSIF EXTRACT(MONTH FROM TGL) = 2 THEN
         BULAN = 'Februari';
   ELSIF EXTRACT(MONTH FROM TGL) = 3 THEN
         BULAN = 'Maret';
   ELSIF EXTRACT(MONTH FROM TGL) = 4 THEN
         BULAN = 'April';
   ELSIF EXTRACT(MONTH FROM TGL) = 5 THEN
         BULAN = 'Mei';
   ELSIF EXTRACT(MONTH FROM TGL) = 6 THEN
         BULAN = 'Juni';
   ELSIF EXTRACT(MONTH FROM TGL) = 7 THEN
         BULAN = 'Juli';
   ELSIF EXTRACT(MONTH FROM TGL) = 8 THEN
         BULAN = 'Agustus';
   ELSIF EXTRACT(MONTH FROM TGL) = 9 THEN
         BULAN = 'September';
   ELSIF EXTRACT(MONTH FROM TGL) = 10 THEN
         BULAN = 'Oktober';
   ELSIF EXTRACT(MONTH FROM TGL) = 11 THEN
         BULAN = 'Nopember';
   ELSIF EXTRACT(MONTH FROM TGL) = 12 THEN
         BULAN = 'Desember';
   END IF;
  
RETURN BULAN;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION bulan(date)
  OWNER TO postgres;
Tinggal di Run script tersebut dan otomatis akan masuk ke function database anda dan untuk menghapus function tersebut cukup jalankan script :

 DROP FUNCTION bulan(date);
Maka secara otomatis function "bulan" tersebut sudah terhapus dari database anda.

Kemudian untuk memanggil function tersebut adalah sebagai berikut :

select bulan('2016-02-03')








Selamat Mencoba dan semoga bermanfaat.

inilahcode

{facebook#YOUR_SOCIAL_PROFILE_URL} {twitter#YOUR_SOCIAL_PROFILE_URL} {google-plus#YOUR_SOCIAL_PROFILE_URL} {pinterest#YOUR_SOCIAL_PROFILE_URL} {youtube#YOUR_SOCIAL_PROFILE_URL} {instagram#YOUR_SOCIAL_PROFILE_URL}

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget