<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>IT 4 our life &#187; trigger</title> <atom:link href="http://www.rey1024.com/tag/trigger/feed/" rel="self" type="application/rss+xml" /><link>http://www.rey1024.com</link> <description>Tuliskan ilmu untuk mengingat dan berbagi</description> <lastBuildDate>Tue, 24 Jan 2012 08:47:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.2.1</generator> <item><title>Gammu : sms multipart insert into outbox dengan Trigger</title><link>http://www.rey1024.com/2009/09/gammu-sms-multipart-insert-into-outbox-dengan-trigger/</link> <comments>http://www.rey1024.com/2009/09/gammu-sms-multipart-insert-into-outbox-dengan-trigger/#comments</comments> <pubDate>Wed, 09 Sep 2009 05:15:50 +0000</pubDate> <dc:creator>Resika Arthana</dc:creator> <category><![CDATA[Software Engineering]]></category> <category><![CDATA[ALGORITMA UDH]]></category> <category><![CDATA[aplikasi sms gammu]]></category> <category><![CDATA[gammu]]></category> <category><![CDATA[MENGIRIM LEBIH DARI 1 SMS DENGAN GAMMU]]></category> <category><![CDATA[SMS]]></category> <category><![CDATA[sms gateway]]></category> <category><![CDATA[SMS MULTIPART]]></category> <category><![CDATA[trigger]]></category> <category><![CDATA[TRIGGER PADA OUTBOX]]></category> <category><![CDATA[UDH]]></category> <category><![CDATA[USER DATA HEADER]]></category> <guid
isPermaLink="false">http://www.rey1024.com/?p=117</guid> <description><![CDATA[Salah satu cara mengirim SMS dengan gammu adalah dengan mengisi tabel outbox pada database gammu. tabel outbox pada gammu terbatas hanya untuk mengirim paling banyak 160 karakter. Jika lebih dari 160 karakter, maka SMS tersebut harus dipecah-pecah dan bagian lain harus ditaruh di tabel outbox_multipart. Untuk mengirim SMS lebih dari 1 karakter, terlebih dahulu harus [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><a
href="http://www.rey1024.com/wp-content/uploads/sms-gateway-gammu_trigger.jpg" rel="lightbox[117]"><img
class="alignleft size-full wp-image-118" title="sms gateway gammu_trigger" src="http://www.rey1024.com/wp-content/uploads/sms-gateway-gammu_trigger.jpg" alt="sms gateway gammu_trigger" width="100" height="52" /></a>Salah satu cara mengirim <strong>SMS </strong>dengan <strong>gammu </strong>adalah dengan mengisi tabel outbox pada database <strong>gammu</strong>. tabel <strong>outbox </strong>pada <strong>gammu </strong>terbatas hanya untuk mengirim paling banyak 160 karakter. Jika lebih dari 160 karakter, maka SMS tersebut harus dipecah-pecah dan bagian lain harus ditaruh di tabel <strong>outbox_multipart</strong>. Untuk mengirim SMS lebih dari 1 karakter, terlebih dahulu harus di generate <strong>UDH (user Data header</strong>). UDH dan pembagian SMS bisa dibuat pada level <strong>trigger </strong>pada database.</p><p
style="text-align: justify;">Berikut adalah ketentuan untuk menggenerate <strong>UDH  pada Gammu</strong>:</p><p>Contoh format <strong>UDH pada GAMMU </strong>: 05 00 03 XX 0N 0n<br
/> 05 : adalah panjang dari <strong>UDH</strong><br
/> 00 : menentukan apakah <strong>sms </strong>Concatenate atau tidak<br
/> 03 : length of rest part of data<br
/> xx : reference header, 00-ff (acak)<br
/> 0N : jumlah <strong>SMS </strong>yang dikirim<br
/> 0n : nomor <strong>SMS</strong><span
id="more-117"></span></p><p>Contoh 050003ff0201 : merupakan <strong>UDH </strong>untuk <strong>SMS </strong>multipart( 2 <strong>SMS</strong>) yang merupakan <strong>SMS </strong>ke 1.</p><p>Jika ingin mengirip SMS dengan cara menginsert di otubox pada database, sebaiknya di buat di level trigger. Trigger yang digunakan adalah trigger sebelum data dimasukkan ke outbox dan trigger setelah dimasukkan ke outbox.</p><p>langsung aja, untuk memudahkannya.. buat saja di level <strong>trigger </strong>pada database.</p><p><strong><span
style="color: #ff0000;">yang ini saya update tanggal 30 september 2009</span></strong></p><h2><a
href=" 	 http://www.ziddu.com/download/6702996/b4insert.txt.html" target="_blank"><em><span
style="color: #ff00ff;"><strong>Download Trigger outbox_before_insert</strong></span></em></a></h2><h2><a
href="http://www.ziddu.com/download/6702997/afterInser.txt.html" target="_blank"><em><strong><em><span
style="color: #ff00ff;"><strong>Download Trigger outbox_after_insert</strong></span></em></strong></em></a></h2><p><strong><span
style="color: #3366ff;">cmiiw <img
src='http://www.rey1024.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br
/> </span></strong></p> ]]></content:encoded> <wfw:commentRss>http://www.rey1024.com/2009/09/gammu-sms-multipart-insert-into-outbox-dengan-trigger/feed/</wfw:commentRss> <slash:comments>24</slash:comments> </item> <item><title>Pengenalan Trigger, Function, Procedure dan View pada MYSQL</title><link>http://www.rey1024.com/2008/05/pengenalan-trigger-function-procedure-dan-view-pada-mysql/</link> <comments>http://www.rey1024.com/2008/05/pengenalan-trigger-function-procedure-dan-view-pada-mysql/#comments</comments> <pubDate>Fri, 02 May 2008 01:53:04 +0000</pubDate> <dc:creator>Resika Arthana</dc:creator> <category><![CDATA[Tutorial Komputer]]></category> <category><![CDATA[basdat]]></category> <category><![CDATA[basisdata]]></category> <category><![CDATA[dasar basis data]]></category> <category><![CDATA[function]]></category> <category><![CDATA[mysql 5]]></category> <category><![CDATA[procedure]]></category> <category><![CDATA[trigger]]></category> <category><![CDATA[view]]></category> <guid
isPermaLink="false">http://www.rey1024.com/?p=13</guid> <description><![CDATA[Berikut adalah dasar-dasar trigger, function, procedure serta view yang bisa diimplementasikan pada MYSQL 5 keatas. Dengan menggunakan trigger, function, procedure serta view, pemanfaatan MYSQL akan lebih bermanfaat. Contohnya : kita bisa membuat urutan langkah-langkah tertentu setelah suatu even dilakukan (ex: insert, update, delete). Tutorial ini ditujukan bagi yang belum mengenal trigger, function, procedure serta view [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Berikut adalah dasar-dasar  trigger, function, procedure serta view yang bisa diimplementasikan pada MYSQL 5 keatas. Dengan menggunakan trigger, function, procedure serta view, pemanfaatan MYSQL akan lebih bermanfaat. Contohnya  : kita bisa membuat urutan langkah-langkah tertentu setelah suatu even dilakukan (ex: insert, update, delete). Tutorial ini ditujukan bagi yang belum mengenal  trigger, function, procedure serta view sama sekali. Bagi yang sudah bisa, artikel ini boleh dan harus diabaikan <img
src='http://www.rey1024.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /></p><p><span
id="more-13"></span></p><h1><a
name="_Toc162203076">Procedure dan Function</a></h1><h2><a
name="_Toc162203077">Syntax Umum</a></h2><h3><a
name="_Toc162203078">procedure</a></h3><p>Syntak untuk membuat procedure dalam MySQL adalah sebagai berikut.</p><pre>CREATE</pre><pre>    [DEFINER = { <code><em>user</em></code> | CURRENT_USER }]</pre><pre>    PROCEDURE <code><em>sp_name</em></code> ([<code><em>proc_parameter</em></code>[,...]])</pre><pre>    [<code><em>characteristic</em></code> ...] <code><em>routine_body</em></code></pre><h3><a
name="_Toc162203079"><code>Function</code></a></h3><pre>CREATE</pre><pre>    [DEFINER = { <code><em>user</em></code> | CURRENT_USER }]</pre><pre>    FUNCTION <code><em>sp_name</em></code> ([<code><em>func_parameter</em></code>[,...]])</pre><pre>    RETURNS <code><em>type</em></code></pre><pre>    [<code><em>characteristic</em></code> ...] <code><em>routine_body</em></code></pre><p><span
style="text-decoration: underline;">Keterangan</span></p><p>1. proc_parameter (hanya pada procedure):</p><pre>    [ IN | OUT | INOUT ] <code><em>param_name</em></code> <code><em>type</em></code></pre><ul
class="unIndentedList"><li> IN parameter dilewatkan ke dalam procedure tetapi modifikasi nilai dari parameter ini tidak kelihatan setelah procedure tersebut dipanggil.</li><li> Out parameter merupakan parameter yang dilewatkan dari dalam procedure ke pemanggil procedure tersebut. Nilai inisialisasi saat memanggil adalah null dan hasil parameter akan kelihatan setelah procedure dipanggil.</li><li> INOUT parameter diinisilaisai oleh pemanggil procedure, kemudian hasil modifikasinya tersebut akan kelihatan setelah procedure tersebut dipanggil.</li></ul><p>2. characteristic</p><pre>    LANGUAGE SQL</pre><pre>  | [NOT] DETERMINISTIC</pre><pre>  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }</pre><pre>  | SQL SECURITY { DEFINER | INVOKER }</pre><pre>  | COMMENT '<code><em>string</em></code>'</pre><p>3. routine_body:</p><pre><code><em>Valid SQL procedure statement</em></code></pre><p>Routine body berisi syntax-syntax sql yang valid, seperti insert atau select. Bisa juga berisi compound. Compount diapit oleh begin&#8230; end. Syntax dari compound system adalah sebagai berikut.</p><pre>[<code><em>begin_label</em></code>:] BEGIN</pre><pre>    [<code><em>statement_list</em></code>]</pre><pre>END [<code><em>end_label</em></code>]</pre><p>Compound ini bisa diisi dengan label. Begin label dan end label harus sama. Di dalam compound juga bisa berisi deklarai variabel, looping atau kontrol program lainnya. Setiap Function harus punya return      value untuk mengembalikan nilai yang dihasilkan</p><h1><a
name="_Toc162203080">Contoh Procedure dan Function MySQL<br
/> </a></h1><p>Berikut adalah contoh penggunaan procedure. Pertama kita buat terlebih dahulu database dengan nama adakara. Kemudian silakan buat table berikut dengan isinya. Berikut ini adalah hasil dumping dari database adakara.</p><pre>CREATE TABLE `siswa` (</pre><pre>  `NIS` varchar(20) collate latin1_general_ci NOT NULL,</pre><pre>  `Nama` varchar(30) collate latin1_general_ci NOT NULL,</pre><pre>  `Angkatan` varchar(9) collate latin1_general_ci NOT NULL,</pre><pre>  PRIMARY KEY  (`NIS`)</pre><pre>) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;</pre><pre>LOCK TABLES `siswa` WRITE;</pre><pre>/*!40000 ALTER TABLE `siswa` DISABLE KEYS */;</pre><pre>INSERT INTO `siswa` VALUES ('1024','resika arthana','2005/2006'),('1','cxfbsdjg','2005/2006'),('2','dshfk','2005/2006'),('3','dsfku','2005/2006'),('11','Ari damayanti','2005/2006'),('12','wedana','2005/2006'),('122','andika','2005/2006'),('123','mas ayu','2005/2006');</pre><pre>/*!40000 ALTER TABLE `siswa` ENABLE KEYS */;</pre><pre>UNLOCK TABLES;</pre><pre>-- Dump completed on 2007-03-21  7:47:58</pre><h3><a
name="_Toc162203081">Procedure</a></h3><p>Berikut ini adalah proses pembuatan procedure, dibuat dalam command from.</p><pre>mysql&gt; <code><strong>delimiter //</strong></code></pre><pre>mysql&gt; <code><strong>CREATE PROCEDURE jumlahSiswa (OUT param1 INT)</strong></code></pre><pre>    -&gt; <code><strong>BEGIN</strong></code></pre><pre>    -&gt;   <code><strong>SELECT COUNT(*) INTO param1 FROM siswa;</strong></code></pre><pre>    -&gt; <code><strong>END;</strong></code></pre><pre>    -&gt; <code><strong>//</strong></code></pre><pre>Query OK, 0 rows affected (0.00 sec)</pre><pre>mysql&gt; <code><strong>delimiter ;</strong></code></pre><h3><a
name="_Toc162203082"><code>Function</code></a></h3><p><code><em>mysql&gt; create function tmbhSaudara(nama char(20)) returns char(5)</em></code></p><p><code><em> -&gt; return concat('Saudara ',nama);</em></code></p><p><code><em>Query OK, 0 rows affected (0.36 sec)</em></code></p><h2><a
name="_Toc162203083">Pemanggilan Procedure dan Function</a></h2><p>Pemanggilan procedure menggunakan syntax</p><pre>CALL <code><em>procedure_atau_function_name</em></code>([<code><em>parameter</em></code>[,...]])</pre><p><code><em>procedure_atau_function_name</em></code> adalah nama procedure ata fungsi yang dipanggil dan parameter adalah nama-nama parameter procedure atau fungsi tersebut</p><h3><a
name="_Toc162203084">Procedure</a></h3><pre>mysql&gt; call jumlahSiswa(@a);</pre><pre>Query OK, 0 rows affected (0.00 sec)</pre><pre>mysql&gt; select @a;</pre><pre>+------+</pre><pre>| @a   |</pre><pre>+------+</pre><pre>| 8    |</pre><pre>+------+</pre><pre>1 row in set (0.00 sec)</pre><h3><a
name="_Toc162203085">Function</a></h3><p><code><em>mysql&gt; select tmbhSaudara(' resika arthana');</em></code></p><p><code><em>+--------------------------------+</em></code></p><p><code><em>| tmbhSaudara(' resika arthana') |</em></code></p><p><code><em>+--------------------------------+</em></code></p><p><code><em>| Saudara  resika arthana        |</em></code></p><p><code><em>+--------------------------------+</em></code></p><p><code><em>1 row in set (0.00 sec)</em></code></p><p><code><em> </em></code></p><h2><a
name="_Toc162203086">Menghapus Procedure dan Function</a></h2><p>Untuk menghapus procedure atau function digunakan perintah sebagai berikut</p><pre>DROP {PROCEDURE | FUNCTION} [IF EXISTS] <code><em>procedure_or_function_name</em></code></pre><h1><a
name="_Toc162203087">Trigers</a></h1><h2><a
name="_Toc162203088">Syntax Umum Triger</a></h2><pre>CREATE</pre><pre>    [DEFINER = { <code><em>user</em></code> | CURRENT_USER }]</pre><pre>    TRIGGER <code><em>trigger_name</em></code> <code><em>trigger_time</em></code> <code><em>trigger_event</em></code></pre><pre>    ON <code><em>tbl_name</em></code> FOR EACH ROW <code><em>trigger_stmt</em></code></pre><p>Keterangan</p><ol
type="1"><li>DEFINER menunjukkan nama user yang      mempunyai hak akses untuk mengakses triger.</li><li>Triger_time menunjukkan saat triger      tersebut dijalankan. Terdiri      dari Before atau After</li><li>Triger_time menandakan saat keadaan      bagaimana triger tersebut aktif. Terdiri dari<ol
type="a"><li>Insert : Triger aktif saat baris       baru dimasukkan ke dalam tabel</li><li>Update : Triger aktif saat ada baris       diperbaharui dimasukkan di dalam tabel</li><li>Delete :Triger aktif saat baris       dihapus dalam tabel</li></ol></li></ol><p><strong><em> </em></strong></p><h2><a
name="_Toc162203089">Contoh Trigers</a></h2><pre>CREATE TABLE test1(a1 INT);</pre><pre>CREATE TABLE test2(a2 INT);</pre><pre>CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);</pre><pre>CREATE TABLE test4(</pre><pre>  a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,</pre><pre>  b4 INT DEFAULT 0</pre><pre>);</pre><pre>DELIMITER |</pre><pre>CREATE TRIGGER testref BEFORE INSERT ON test1</pre><pre>  FOR EACH ROW BEGIN</pre><pre>    INSERT INTO test2 SET a2 = NEW.a1;</pre><pre>    DELETE FROM test3 WHERE a3 = NEW.a1;</pre><pre>    UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;</pre><pre>  END;</pre><pre>|</pre><pre>DELIMITER ;</pre><pre>INSERT INTO test3 (a3) VALUES</pre><pre>  (NULL), (NULL), (NULL), (NULL), (NULL),</pre><pre>  (NULL), (NULL), (NULL), (NULL), (NULL);</pre><pre>INSERT INTO test4 (a4) VALUES</pre><pre>  (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);</pre><p>Silakan masukkan nilai ke test1</p><pre>mysql&gt; <code><strong>INSERT INTO test1 VALUES </strong></code></pre><pre>    -&gt; <code><strong>(1), (3), (1), (7), (1), (8), (4), (4);</strong></code></pre><pre>Query OK, 8 rows affected (0.01 sec)</pre><pre>Records: 8  Duplicates: 0  Warnings: 0</pre><p>As a result, the data in the four tables will be as follows:</p><pre>mysql&gt; <code><strong>SELECT * FROM test1;</strong></code></pre><pre>+------+</pre><pre>| a1   |</pre><pre>+------+</pre><pre>|    1 |</pre><pre>|    3 |</pre><pre>|    1 |</pre><pre>|    7 |</pre><pre>|    1 |</pre><pre>|    8 |</pre><pre>|    4 |</pre><pre>|    4 |</pre><pre>+------+</pre><pre>8 rows in set (0.00 sec)</pre><pre>mysql&gt; <code><strong>SELECT * FROM test2;</strong></code></pre><pre>+------+</pre><pre>| a2   |</pre><pre>+------+</pre><pre>|    1 |</pre><pre>|    3 |</pre><pre>|    1 |</pre><pre>|    7 |</pre><pre>|    1 |</pre><pre>|    8 |</pre><pre>|    4 |</pre><pre>|    4 |</pre><pre>+------+</pre><pre>8 rows in set (0.00 sec)</pre><pre>mysql&gt; <code><strong>SELECT * FROM test3;</strong></code></pre><pre>+----+</pre><pre>| a3 |</pre><pre>+----+</pre><pre>|  2 |</pre><pre>|  5 |</pre><pre>|  6 |</pre><pre>|  9 |</pre><pre>| 10 |</pre><pre>+----+</pre><pre>5 rows in set (0.00 sec)</pre><pre>mysql&gt; <code><strong>SELECT * FROM test4;</strong></code></pre><pre>+----+------+</pre><pre>| a4 | b4   |</pre><pre>+----+------+</pre><pre>|  1 |    3 |</pre><pre>|  2 |    0 |</pre><pre>|  3 |    1 |</pre><pre>|  4 |    2 |</pre><pre>|  5 |    0 |</pre><pre>|  6 |    0 |</pre><pre>|  7 |    1 |</pre><pre>|  8 |    1 |</pre><pre>|  9 |    0 |</pre><pre>| 10 |    0 |</pre><pre>+----+------+</pre><pre>10 rows in set (0.00 sec)</pre>]]></content:encoded> <wfw:commentRss>http://www.rey1024.com/2008/05/pengenalan-trigger-function-procedure-dan-view-pada-mysql/feed/</wfw:commentRss> <slash:comments>20</slash:comments> </item> </channel> </rss>
