Gie
Selasa, 16 Mei 2017
Wisuda...
Hari yang di nanti - nanti akhirnya tiba juga yaitu sebenernya bulan januari udah wisuda tetapi tertunda jadinya bulan April 2017 baru wisuda..Yeaaye..
Walaupun gak cum laude -__- tapi sudah sangat bersyukur dapat menyelesaikan kuliah tidak terlalu molor.
Akhirnya kata terima kasih buat istriku tercinta Bunda Ratu Indah Lesatri, 2 jagoan kecilku yang sering ditinggal pulang malem Muhammad Ghaizan Atharkavi dan Muhammad Zayyan Saviohaki atas semua pengertian dan doanya yang selalu untuk ayahmu tercinta.
Selanjutnya orang tua tercinta Bapak, Ibu Ayah, Mama, kakak dan Ade semua atas dukungan dan doanya dalam menyelesaikan kuliah ini.
Love u all...
Akhirnya selesai juga menimbang ilmu Management di UGM
Saya di sini mencoba bercerita awal dan akhirnya saja ya sudah lama tidak menulis.
Sebenernya perjalanan panjang ini bukan merupakan akhir, tapi mungkin awal menuju tingkat selanjutnya.
Dari awal matrikulasi bulan September 2013, terus sampai Februari 2014 memulai semester 1 yang banyak penyesuaian dari yang hanya kerja biasa langsung pulang ke rumah tapi sekarang harus ke kampus. Kadang setiap hari dari senin sampe jumat ke kampus dan juga weekend ngerjain tugas kelompok..hehehe..
Selanjutnya semester akhir, awal 2016 merupakan semester yang agak mendebarkan karena terkait pembuatan Thesis. Awalnya cukup banyak kendala terkait cukup sulit bertemu dengan Dosen Pembimbing yang berdomisili di jogja. Apalagi banyak dari temen-temen yang udah mulai bimbingan sedangkan saya belum mulai. Perasaan tegang dan merasa ketinggalan mulai terasa. Seiring berjalannya waktu, akhirnya akhir April 2016 saya pun memulai bimbingan awal dengan pemilihan judul. Ternyata Dosen Pembimbing Saya Bapak Ertambang Natartyo, M.sc, CMA, Ak, CA, Phd sangat bijaksana dan baik banget menerima anak bimbingannya. Masukan dan bimbingannya membuat mahasiswa tidak tertekan dan malah bisa mengeluarkan maksud tujuannya, Pokoknya pak Ertambang Top Markotop deh se Fakultas Ekonomikan dan Bisnis UGM.
Akhir kata setelah bimbingan akhir dari juli sampe November, saya hanya miss bulan september gak bimbingan malah ke hongkong tapi alhamdulilah bisa via email revisi diterima, sampe hari sidang thesis tanggal 14 Desember 2016 dan Dinyatakan lulus. Itu rasa Alhamdulillah WoW banget, lepas semua Beban. Suka dan duka itu pasti, tapi InsyaAlloh banyak sukanya daripada dukanya. yuks ahh kita kuliah lagi..
Rabu, 07 Mei 2014
Belajar, Karier dan Keluarga
Sudah lama banget gw gak nulis blog ini lagi terlalu sibuk didunia nyata mungkin..(alesan membela diri apalah lagi gak kreatif) ..hahaha...
Pertama yang gw mau tulis adalah akhir 2013 ini gw akhirnya nerusin mengambil kuliah lagi di bidang management..wow..awalanya agak ragu karena mau ngambil teknik lagi apa management. Pengen ngambil Sistem informasi bisnis nerusin kuliah S1 gw dlu tapi sepertinya management lebih menarik bagi gw dan merupakan ilmu baru. 6 Bulan pertama disi dengan matrikulasi 4 mata kuliah : Statistik, Pengenalan Bisnis, Strategi ekonomi dalam pengambilan keputusan manajer dan Pengenalan Manajemen Keuangan.
Jujur awalnya agak aneh tapi lama kelamaan ternyata mengasikkan apalagi sudah lama gak kuliah lagi setelah lulus pada tahun 2007. Ekonomi dan ilmu management sangat membuka wacana gw dalam dunia kerja, belajar bisnis dan perekonomian secara global. Akhirnya masa matrikusi cukup dilalui dengan hasil yang agak memuaskan walaupun jauh dari target tapi its okay lah bagi pemula. hahaha..
Sekarang gw masih menjalanin semester 1 di MM UGM Jakarta dari akhir februari 2014 sampai juni 2014 ini. Tetep ada 4 mata kuliah yang harus dilalui yaitu : Business Law, Marketing Management, Financial Management dan Organization Behavior. So far sih gak terlalu ada kendala paling hanya financial management aja. Pengen banget ngerti masalah Financial tapi keburu takut sama sang Profesor jadinya ngambang deh..hiksss..
Oke sedikit share gw tentang pengalaman kuliah lagi sambil kerja plus udah berkeluarga ternyata emang musti pinter-pinter bagi waktu agak belajar, karier dan keluarga tetep fokus dan gada yang terabaikan. Salam Daka...(itu istilah anak gw yang belum terungkap..hahaha)
Kamis, 25 April 2013
Commit, Rollback dan SavePoint dalam Oracle
COMMIT
Perintah ini selain secara
eksplisit digunakan oleh user database juga secara implisit digunakan oleh
ORACLE sendiri. Contohnya adalah ketika user keluar secara normal dari program
- program
utility product ORACLE seperti SQL*Plus dengan menjalankan perintah DISCONNECT.
Bentuk
umum perintah COMMIT adalah sebagai berikut :
COMMIT [COMMENT 'text'];
|
Kata kunci COMMENT
digunakan
untuk menambahkan komentar. Komentar tsb akan disimpan dalam data dictionary
apabila terjadi kegagalan pada jaringan (network)
atau mesin yang menyebabkan perintah COMMIT gagal untuk dijalankan sebagaimana
mestinya. Berikut ini adalah kondisi data pada transaksi setelah perintah
COMMIT dijalankan:
Ö Data dirubah secara permanen sesuai dengan operasi DML (Data
Manupulation language)
Ö Semua user dapat melihat semua hasil perubahan-perubahannya.
Ö Baris-baris yang semula terkunci, akan terbuka kembali sehingga
user yang
lain dapat melakukan operasi DML.
ROLLBACK
Statemen ROLLBACK digunakan
untuk membatalkan operasi DML sehingga data dikembalikan pada kondisi sebelum
operasi DML dilakukan.
Bentuk umum dari perintah
ROLLBACK adalah seperti berikut ini :
ROLLBACK [TO [SAVEPOINT] savepoint_name];
|
Perlu diperhatikan, bahwa
selain secara ekplisit digunakan oleh user skema database juga secara implisit
digunakan oleh ORACLE sendiri (lihat juga bahasan perintah COMMIT sebelumnya).
Secara automatically,
ORACLE akan menjalankan perintah ROLLBACK manakala terjadi hal-hal seperti
berikut ini :
Ö User keluar dari program utility ORACLE secara tidak normal.
Ö User keluar dari program aplikasi lainnya tanpa menjalankan
perintah commit
secara eksplisit.
Ö Sistem mengalami Crash.
SAVEPOINT
Savepoint digunakan untuk
membagi sebuah transaksi menjadi beberapa tahapan atau bagian-bagian sekaligus
memberi nama atau tanda pada bagian tsb.
Bentuk umum dari perintah statemen SAVEPOINT adalah seperti
berikut ini :
SAVEPOINT savepoint_name;
|
Perhatikan contoh-contoh berikut ini :
Perlu diperhatikan juga
bahwa jika perintah COMMIT telah dijalankan maka transaksi tersebut telah
mengalami perubahan secara permanen (secara fisik) dan juga semua tanda
SAVEPOINT yang telah dibuat akan ikut terhapus. Bagaimana jika perintah
SAVEPOINT tetap dijalankan? Maka jawabannya adalah ORACLE akan menampilkan pesan
error.
Rabu, 24 April 2013
Gila Jabatan dan Dukun Palsu
Hampir setahun lebih gak nulis di blog lagi (seolah-olah sibuk padahal males -_-). Ini gw nulis lagi karna terinspirasi lagi gara-gara Inesa bikin blog #Baca gak mau kalah, hahaha..
Sekarang gw coba sedikit shraing mengenai kejadian - kejadian lucu di negeri tercinta ini. Dari SBY turun gunung jadi Ketum partainya sampe Eyang subur yang katanya sakti ternyata tua rentaa #eehh. Pertama gw bahas SBY dlu deh yang klo gw liat ternyata gila Jabatan dan gelar. Kok bisa-bisanya seorang Presiden yang tugasnya seabrek-abrek mau ngurus partai, mentang-mentang rakyat bisa urus dirinya sendiri (Udah gak punya presiden kali yaa). lalu yang terakhir SBY dapet gelar HC dari Universitas NTU Singapura yang notabene kampusnya David yang memiliki kasus dengan profesornya dan dinyatakan bunuh diri #sepertinya dihilangkan nyawanya. Kenapa SBY mau menerima ketika anak bangsa dizholimi seperti itu. Tapi sudahlah semua orang juga tau klo SBY emang gila jabatan dan peragu, padahal peragu temannya atau sahabatnya setan, iihh seremm.
Topik kedua yang banyak menghiasi berita online maupun tv adalah eyang subur (nama orang harusnya huruf besar tapi gw gak mau tulis besar karena menurut gw ini bukan orang sepertinya), hihihi. Lucu banget ya ada kakek kayak gini istrinya bisa ampe 8 orang padahal tua dan kempot. Banyak Joke yg beredar dibbm tentang gmana cara subur untuk mengurangi istrinya menjadi 4 saja sesuai rekomendasi MUI yaitu melalui SMS Voting, hahaha macam Indonesia Idol. Ngemeng-ngemeng Trus kok bisa aja ya artis yg kebanyakan pelawak bisa jadi pengikutnya, gak habis pikir gmana si subur merekrutnya (cocok sebagai marketing nih si tua keladi). Dan sekarang syukur alhamdulilah udah terungkap praktek perdukunannya dan semoga cepet tobat sebelum mati.
Udah segini dlu cerita 2 fenomena alam yang agak janggal dan menggelikan hati nurani (bahasanya sok banget walau gak setajam silett)...Piss
Sekarang gw coba sedikit shraing mengenai kejadian - kejadian lucu di negeri tercinta ini. Dari SBY turun gunung jadi Ketum partainya sampe Eyang subur yang katanya sakti ternyata tua rentaa #eehh. Pertama gw bahas SBY dlu deh yang klo gw liat ternyata gila Jabatan dan gelar. Kok bisa-bisanya seorang Presiden yang tugasnya seabrek-abrek mau ngurus partai, mentang-mentang rakyat bisa urus dirinya sendiri (Udah gak punya presiden kali yaa). lalu yang terakhir SBY dapet gelar HC dari Universitas NTU Singapura yang notabene kampusnya David yang memiliki kasus dengan profesornya dan dinyatakan bunuh diri #sepertinya dihilangkan nyawanya. Kenapa SBY mau menerima ketika anak bangsa dizholimi seperti itu. Tapi sudahlah semua orang juga tau klo SBY emang gila jabatan dan peragu, padahal peragu temannya atau sahabatnya setan, iihh seremm.
Topik kedua yang banyak menghiasi berita online maupun tv adalah eyang subur (nama orang harusnya huruf besar tapi gw gak mau tulis besar karena menurut gw ini bukan orang sepertinya), hihihi. Lucu banget ya ada kakek kayak gini istrinya bisa ampe 8 orang padahal tua dan kempot. Banyak Joke yg beredar dibbm tentang gmana cara subur untuk mengurangi istrinya menjadi 4 saja sesuai rekomendasi MUI yaitu melalui SMS Voting, hahaha macam Indonesia Idol. Ngemeng-ngemeng Trus kok bisa aja ya artis yg kebanyakan pelawak bisa jadi pengikutnya, gak habis pikir gmana si subur merekrutnya (cocok sebagai marketing nih si tua keladi). Dan sekarang syukur alhamdulilah udah terungkap praktek perdukunannya dan semoga cepet tobat sebelum mati.
Udah segini dlu cerita 2 fenomena alam yang agak janggal dan menggelikan hati nurani (bahasanya sok banget walau gak setajam silett)...Piss
Senin, 16 April 2012
ARRAY Dalam PL/SQL Oracle
Array adalah tipe data bentukan yang dapat menyimpan sekumpulan nilai dari tipe data yang sama dan dikemas dalam bentuk larik. Nilai dari elemen-elemen array dapat diakses melalui indeksnya.
Membuat Tipe Array
TYPE nama_tipe IS
TABLE OF tipe_data
INDEX BY BINARY_INTEGER;
Keterangan :
nama_tipe = nama array yg didefinisikan
tipe_data = berfungsi utk mendeklarasikan tipe dari kumpulan
data yg akan disimpan didalam array
INDEX BY BINARY_INTEGER = berfungsi untuk menunjukkan bahwa
array tsb akan di indeks
Contoh mendeklarasikan type data Array dengan nama Array_coba sebagai kumpulan dari tipe data CHAR :
DECLARE
TYPE Array_coba IS
TABLE OF CHAR(n) -- n : banyaknya karakter
INDEX BY BINARY_INTEGER;
Misalkan kita akan mendaklarasikan variable X yang bertipe Array_coba, sintaknya adalah sebagai berikut :
Declare
X Array_coba;
Mengisi Nilai pada Elemen Array
BEGIN
X(1) := ‘A’;
X(2) := ‘B’;
END;
Contoh 1 a. :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
BEGIN
-- Melakukan pengisian terhadap elemen-elemen array
A(1) := 10; A(2) := 20;
A(3) := 30; A(4) := 40;
-- Menampilkan elemen array ke layar
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-1' || '='
||TO_CHAR(A(1)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-2' || '='
||TO_CHAR(A(2)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-3' || '='
||TO_CHAR(A(3)));
END;
/
Bandingkan dengan contoh 1.b. berikut ini :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
I integer;
BEGIN
FOR i IN 1..5 LOOP
A(i):=i*10;
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-'
||i||'='|| TO_CHAR(A(i)));
END LOOP;
END;
/
Perhatikan contoh tsb diatas akan menghasilkan tampilan seperti berikut ini :
Contoh 2.
SET SERVEROUTPUT ON
DECLARE
TYPE SISWA IS
TABLE OF VARCHAR2(20)
INDEX BY BINARY_INTEGER;
NAMA SISWA;
I integer;
BEGIN
NAMA(1):='ANDI';NAMA(2):='BURHAN';NAMA(3):='CANDRA';
NAMA(4):='ERMAN'; NAMA(5):='FARID';NAMA(6):='GUNAWAN';
FOR i IN 1..6 LOOP
DBMS_OUTPUT.PUT_LINE('Nama Siswa ke-
'||i||'='||TO_CHAR(NAMA(i)));
END LOOP;
END;
Contoh 3
Mengurutkan Data pada Elemen Array
Anda diminta utk mengurutkan data-data yg tersusun secara acak pada sebuah array dgn menggunakan blok PL/SQL. Data yg dimaksud adalah :
544, 78, 565, 23, 4
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
Temp NUMBER;
idx_max NUMBER;
i BINARY_INTEGER;
y BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
----------------------------------------------
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = '||
TO_CHAR(X(i)));
END LOOP;
----------------------------------------------
y:=5;
WHILE (y>=2) LOOP
idx_max:=1;
i:=2;
WHILE(i<=y) LOOP
IF X(idx_max) < X(i) THEN
idx_max:=i;
END IF;
i:=i+1;
END LOOP;
temp:=x(idx_max);
X(idx_max):=X(y);
X(y):=temp;
y:=y-1;
END LOOP;
---------------------------------------------------------
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = ' || TO_CHAR(X(i)));
END LOOP;
---------------------------------------------------------
END;
/
Sama dengan contoh kasus diatas, tetapi menggunakan metode lain :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
TEMP NUMBER;
K BINARY_INTEGER;
I BINARY_INTEGER;
N BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
--------------------------------------------------------
FOR I IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||I||') = ' || TO_CHAR(X(I)));
END LOOP;
----------------------------------------------------------
--PROSES PENGURUTAN
I:=1;
N:=5;
WHILE (I<=N-1) LOOP
K:=N;
WHILE (K>I) LOOP
IF X(K)<X(K-1) THEN
TEMP:=X(K-1);
X(K-1):=X(K);
X(K):=TEMP;
END IF;
K:=K-1;
END LOOP;
I:=I+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR I IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||I||') = ' ||TO_CHAR(X(I)));
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
END;
/
Membuat Tipe Array
TYPE nama_tipe IS
TABLE OF tipe_data
INDEX BY BINARY_INTEGER;
Keterangan :
nama_tipe = nama array yg didefinisikan
tipe_data = berfungsi utk mendeklarasikan tipe dari kumpulan
data yg akan disimpan didalam array
INDEX BY BINARY_INTEGER = berfungsi untuk menunjukkan bahwa
array tsb akan di indeks
Contoh mendeklarasikan type data Array dengan nama Array_coba sebagai kumpulan dari tipe data CHAR :
DECLARE
TYPE Array_coba IS
TABLE OF CHAR(n) -- n : banyaknya karakter
INDEX BY BINARY_INTEGER;
Misalkan kita akan mendaklarasikan variable X yang bertipe Array_coba, sintaknya adalah sebagai berikut :
Declare
X Array_coba;
Mengisi Nilai pada Elemen Array
BEGIN
X(1) := ‘A’;
X(2) := ‘B’;
END;
Contoh 1 a. :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
BEGIN
-- Melakukan pengisian terhadap elemen-elemen array
A(1) := 10; A(2) := 20;
A(3) := 30; A(4) := 40;
-- Menampilkan elemen array ke layar
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-1' || '='
||TO_CHAR(A(1)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-2' || '='
||TO_CHAR(A(2)));
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-3' || '='
||TO_CHAR(A(3)));
END;
/
Bandingkan dengan contoh 1.b. berikut ini :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
I integer;
BEGIN
FOR i IN 1..5 LOOP
A(i):=i*10;
DBMS_OUTPUT.PUT_LINE('Nilai elemen larik ke-'
||i||'='|| TO_CHAR(A(i)));
END LOOP;
END;
/
Perhatikan contoh tsb diatas akan menghasilkan tampilan seperti berikut ini :
Contoh 2.
SET SERVEROUTPUT ON
DECLARE
TYPE SISWA IS
TABLE OF VARCHAR2(20)
INDEX BY BINARY_INTEGER;
NAMA SISWA;
I integer;
BEGIN
NAMA(1):='ANDI';NAMA(2):='BURHAN';NAMA(3):='CANDRA';
NAMA(4):='ERMAN'; NAMA(5):='FARID';NAMA(6):='GUNAWAN';
FOR i IN 1..6 LOOP
DBMS_OUTPUT.PUT_LINE('Nama Siswa ke-
'||i||'='||TO_CHAR(NAMA(i)));
END LOOP;
END;
Contoh 3
Mengurutkan Data pada Elemen Array
Anda diminta utk mengurutkan data-data yg tersusun secara acak pada sebuah array dgn menggunakan blok PL/SQL. Data yg dimaksud adalah :
544, 78, 565, 23, 4
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
Temp NUMBER;
idx_max NUMBER;
i BINARY_INTEGER;
y BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
----------------------------------------------
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = '||
TO_CHAR(X(i)));
END LOOP;
----------------------------------------------
y:=5;
WHILE (y>=2) LOOP
idx_max:=1;
i:=2;
WHILE(i<=y) LOOP
IF X(idx_max) < X(i) THEN
idx_max:=i;
END IF;
i:=i+1;
END LOOP;
temp:=x(idx_max);
X(idx_max):=X(y);
X(y):=temp;
y:=y-1;
END LOOP;
---------------------------------------------------------
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||i||') = ' || TO_CHAR(X(i)));
END LOOP;
---------------------------------------------------------
END;
/
Sama dengan contoh kasus diatas, tetapi menggunakan metode lain :
SET SERVEROUTPUT ON
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X LARIK;
TEMP NUMBER;
K BINARY_INTEGER;
I BINARY_INTEGER;
N BINARY_INTEGER;
BEGIN
X(1) := 544; X(2) := 78;
X(3) := 565; X(4) := 23; X(5) := 4;
DBMS_OUTPUT.PUT_LINE('Sebelum di-urutkan : ');
--------------------------------------------------------
FOR I IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||I||') = ' || TO_CHAR(X(I)));
END LOOP;
----------------------------------------------------------
--PROSES PENGURUTAN
I:=1;
N:=5;
WHILE (I<=N-1) LOOP
K:=N;
WHILE (K>I) LOOP
IF X(K)<X(K-1) THEN
TEMP:=X(K-1);
X(K-1):=X(K);
X(K):=TEMP;
END IF;
K:=K-1;
END LOOP;
I:=I+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Setelah di-urutkan : ');
FOR I IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('X('||I||') = ' ||TO_CHAR(X(I)));
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
END;
/
Pengulangan dalam PL/SQL
Didalam Oracle ada 3 struktur pengulangan, yaitu :
1. Simple Loop
2. While-Loop
3. For-Loop.
Struktur Pengulangan
1. Simple Loop
Sintaks umum penulisan simple Loop adalah:
LOOP
statemen_1,
…
EXIT WHEN kondisi_1;
END LOOP;
2. While Loop
Sintaks umum penulisan While Loop adalah:
WHILE kodisi_1 LOOP
statemen_1,
...
END LOOP
3. For Loop
Sintaks umum penulisan For Loop adalah:
FOR kodisi_1 LOOP
statemen_1,
...
END LOOP
Contoh Pengulangan
Contoh 1:
Mencetak kalimat 'Sukses dgn Oracle' Sebanyak 10 kali.
= Struktur Simple LOOP =
SET SERVEROUTPUT ON
DECLARE
i integer;
BEGIN
i:=0;
LOOP
i:=i+1;
DBMS_OUTPUT.PUT_LINE('Sukses dgn Oracle');
EXIT WHEN i=10;
END LOOP;
END;
/
= Struktur While LOOP =
SET SERVEROUTPUT ON
DECLARE
i integer;
BEGIN
i:=0;
WHILE (i<=10) LOOP
DBMS_OUTPUT.PUT_LINE('Sukses dgn Oracle');
i:=i+1;
END LOOP;
END;
/
= Struktur FOR LOOP =
SET SERVEROUTPUT ON
DECLARE
i integer;
BEGIN
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE('Sukses dgn Oracle');
END LOOP;
END;
/
Perhatikan script-script diatas,
● SERVEROUTPUT : variable system
● DBMS_OUTPUT : package
● PUT_LINE : : procedure
Contoh 2:
Melakukan penjumlahan deret angka (2+4+… +(n+2))
= Struktur Simple LOOP =
SET SERVEROUTPUT ON
DECLARE
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
LOOP
JUMLAH:=jumlah+K;
K:=K+2;
EXIT WHEN K>18;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+6..18 adalah :'||JUMLAH);
END;
/
= Struktur While LOOP =
SET SERVEROUTPUT ON
DECLARE
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
WHILE (K<=18) LOOP
jumlah:=jumlah+K;
k:=k+2;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+6..18 adalah :'||JUMLAH);
END;
/
= Struktur FOR LOOP =
SET SERVEROUTPUT ON
DECLARE
i integer;
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
FOR i IN 1..(18/2) LOOP
jumlah:=jumlah+K;
k:=k+2;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+6..18 adalah :' ||JUMLAH);
END;
/
Contoh 3:
Melakukan penjumlahan deret bilangan ganjil 1+3+5..+11
= Struktur Simple LOOP =
SET SERVEROUTPUT ON
DECLARE
Jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=1;
LOOP
JUMLAH:=jumlah+K;
K:=K+2;
EXIT WHEN K>11;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 1+3+5+7+9+..25 adalah :'||JUMLAH);
END;
/
= Struktur While LOOP =
SET SERVEROUTPUT ON
DECLARE
Jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=1;
WHILE (K<=11) LOOP
jumlah:=jumlah+K;
k:=k+2;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 1+3+5+7+9+..25 adalah :'||JUMLAH);
END;
/
= Struktur For LOOP =
SET SERVEROUTPUT ON
DECLARE
I integer;
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=1;
FOR i IN 1..6 LOOP
jumlah:=jumlah+K;
k:=k+2;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 1+3+5+7+9+..25 adalah:'||JUMLAH);
END;
/
Contoh 4:
Menjumlahkan sejumlah deret ukur 2+4+16+256
= Struktur Simple LOOP =
SET SERVEROUTPUT ON
DECLARE
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
LOOP
JUMLAH:=jumlah+K;
K:=K*k;
EXIT WHEN K>256;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+16+256 adalah :' ||JUMLAH);
END;
/
= Struktur While LOOP =
SET SERVEROUTPUT ON
DECLARE
jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
WHILE (K<=256) LOOP
JUMLAH:=jumlah+K;
K:=K*k;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+16+256 adalah :' ||JUMLAH);
END;
/
= Struktur FOR LOOP =
SET SERVEROUTPUT ON
DECLARE
I integer;
Jumlah integer;
K integer;
BEGIN
jumlah:=0;
K:=2;
FOR i IN 1..4 LOOP
JUMLAH:=jumlah+K;
K:=K*k;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah 2+4+16+256 adalah :'||JUMLAH);
END;
/
i:=10;
FOR i IN REVERSE 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(TO_CHAR(i));
End loop;
END;
/
Langganan:
Postingan (Atom)