Rabu, 26 Januari 2011

kisi DBMS

1.       Mana yang salah tentang perintah berikut?
SQL> CREATE OR REPLACE TRIGGER AFT_INS_KEUANGAN
AFTER INSERT ON KEUANGAN
FOR EACH ROW
WHEN (:new.donasi > 0)
DECLARE
BEGIN
IF INSERTING THEN
UPDATE STATUS_MHS
SET STATUS = ‘lunas’
WHERE NIM = :new.nim;
END IF;
END;

a.       Trigger ini dijalankan setelah insert dilakukan pada tabel KEUANGAN.
b.      “:new.donasi” menunjuk kolom donasi pada data yang baru dimasukkan.
c.       “INSERTING” digunakan untuk memeriksa kondisi apakah sedang memasukkan data baru.
d.      “STATUS_MHS” adalah tabel yang di dalamnya ada kolom “STATUS” dan “NIM”
e.      Perintah DECLARE tanpa variabel membuat trigger ini tidak dapat dibuat.

2.       Mana yang salah tentang perintah berikut?
SQL> create trigger ledger_after_ins_row
before insert on LEDGER_AUDIT
for each row
begin
call INSERT_LEDGER_DUP(:new.Action_Date, :new.Action, :new.Item,
:new.Quantity, :new.QuantityType, :new.Rate,:new.Amount, :new.Person);
end; 

a.       Trigger ini dijalankan sebelum insert dilakukan pada tabel LEDGER_AUDIT.
b.      “INSERT_LEDGER_DUP” adalah nama procedure yang dipanggil untuk membuat duplikat data yang baru dimasukkan.
c.       “:new…..” mengambil data dari data yang baru  dimasukkan.
d.      perintah “for each row” tidak perlu, menghambat eksekusi trigger.
e.      perintah “for each row” perlu, untuk meyakinkan setiap record yang diisikan diduplikasi.

3.       Mana dua pernyataan berikut yang salah tentang perintah ini:
SQL> CREATE INDEX mahasiswa_idx ON mahasiswa(nim, nama, alamat );

a.       “mahasiswa_idx” adalah nama indeksnya.
b.      “mahasiswa” adalah nama tabelnya.
c.       tabel mahasiswa berisi hanya kolom-kolom (nim, nama, alamat).
d.      “(nim, nama, alamat)” adalah kolom-kolom di tabel mahasiswa yang akan dijadikan indeks.
e.      Indeks tak dapat dibuat karena kolom indeksnya lebih dari satu.

4.       Mana yang salah tentang perintah berikut?
CREATE or REPLACE VIEW mahasiswa_view (nim, nama, alamat)
AS
      SELECT nim, nama, alamat
      FROM mahasiswa
      WHERE alamat != ‘’ with check option;

a.       VIEW di atas menyimpan data asli mahasiswa
b.      VIEW di atas tidak menyimpan data asli mahasiswa, hanya menyimpan pointer-nya.
c.       “mahasiswa_view” akan menampilkan beberapa data dari tabel mahasiswa
d.      “check option” akan memeriksa setiap perubahan yang dilakukan pada view terhadap constraint yang diberlakukan terhadap setiap kolom.
e.      “alamat != ‘’” memeriksa alamat yang tidak kosong.

5.       Mana yang salah tentang perintah berikut?

CREATE SEQUENCE supplier_seq
    MINVALUE 1
    START WITH 1
    INCREMENT BY 1
    CACHE 20;
/

INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(supplier_seq.nextval, 'Kraft Foods');
/

a.       “supplier_seq” adalah objek yang valid, dikenali, di ORACLE.
b.      Nilai awalnya 1, naik satu demi satu, sampai 20.
c.       Nilai awalnya 1, naik satu demi satu, sampai MAXVALUE default 999999999999999999999999999
d.      Mengambil nilai berikutnya dari objek sequence dilakukan dengan perintah “nextval”
e.      Perintah di atas mengisi dua kolom di tabel “suppliers”

6.       Mana yang salah tentang perintah berikut?

SQL> COMPUTE min max avg of bayar on prodi

a.       Perintah COMPUTE melakukan perhitungan dari sekelompok data.
b.      Hasil urutan eksekusi perintah ini bukan min max avg tetapi avg max min.
c.       “bayar” merupakan kolom dari sebuah tabel.
d.      “prodi” harus muncul pada perintah BREAK yang mendahului perintah COMPUTE.
e.      Perintah COMPUTE dapat dijalankan tanpa perintah BREAK.
7.       Mana yang salah tentang perintah berikut?

SQL> COLUMN prodi FORMAT A10 WORD_WRAPPED HEADING "PRODI|JUR"

a.       “prodi” merupakan kolom suatu tabel.
b.      “A10” berarti 10 huruf.
c.       WORD_WRAPPED berarti kata-kata akan diputus jika panjangnya melebihi 10 huruf.
d.      “PRODI|JUR” akan membuat judul dua baris jika ada perintah SET HEADSEP “|”.
e.      WORD_WRAPPED berarti kata-kata akan dilanjutkan di bawahnya jika panjangnya melebihi 10 huruf.
8.       Mana yang salah tentang perintah berikut?

SQL> TTITLE CENTER "DAFTAR MAHASISWA" SKIP CENTER"===============================================" SKIP 2  LEFT "User          : " SQL.USER SKIP RIGHT "Halaman :" FORMAT 99 SQL.PNO SKIP LEFT  "Tanggal       :" FORMAT A20 v_today SKIP LEFT  "=============================================================" BTITLE LEFT "----------------------------------------------------------------------------------------------"SKIP 2
a.       TTITLE memberi judul di atas, BTITLE memberi judul di bawah.
b.      CENTER untuk membuat tampilan berikutnya di tengah layar.
c.       SKIP n membuat baris baru kosong sebanyak n baris
d.      LEFT rata kiri
e.      “v_today “ merupakan kolom.
9.       Mana yang salah tentang perintah berikut?

SQL> SET DEFINE ON
SQL> ACCEPT file_name PROMPT "File penampung hasil report: "
SQL> SPOOL &file_name

a.       SET DEFINE ON untuk mendefinisikan variabel dari masukan keyboard
b.      “file_name” adalah variabel
c.       PROMPT untuk menampilkan pesan
d.      SPOOL untuk membuat report
e.      Nama file laporan berekstensi “rpt”

10.   Mana yang salah tentang perintah berikut?

SQL> select TO_CHAR(SYSDATE,'DD-MON-YYYY')today, nim, nama, prodi, bayar
  2> from mahasiswa ORDER BY 1,2;

a.       TO_CHAR adalah fungsi untuk mengubah tipe data selain CHAR menjadi CHAR
b.      “today” merupakan kolom
c.       “today” merupakan variabel
d.      “nim, nama, prodi, bayar” merupakan kolom
e.      ORDER BY 1,2 diurutkan pada kolom pertama dan kedua.

11.   Agar hasil pembuatan laporan diatur dalam format HTML, perlu diberikan perintah:
a.       SET MARKUP HTML ON SPOOL ON
b.      SET MARKUP ON SPOOL ON
c.       SET HTML ON SPOOL ON
d.      SET SPOOL HTML ON
e.      SET HTML ON

12.   Mana pernyataan yang salah tentang tuning:
a.       Tuning diperlukan ketika akses basis data Oracle lambat.
b.      Tuning dilakukan dengan mencari alternatif query (SQL) yang lebih efisien.
c.       Tuning dilakukan dengan menjalankan program khusus (explain plan for ….à @plan).
d.      Hasil program khusus tersebut menunjukkan langkah-langkah eksekusi.
e.      Hasil program khusus tersebut menunjukkan waktu eksekusi.

        13. Perhatikan dua buah query berikut:
                QUERY 1 :            select a.*,b.nama,c.kategori from buku a
where exists (select 1 from supplier b where
a.id_supplier=b.id_supplier) and
exists (select 1 from jenis c where a.id_jenis=c.id_jenis)

                QUERY 2 :     select a.*,b.nama,c.kategori from buku a
where a.id_supplier in (select b.id_supplier from supplier b) and
a.id_jenis in (select c.id_jenis from jenis c)

                Mana yang salah tentang dua buah query tersebut :
                a.  select 1 pada QUERY 1 bermakna munculkan kolom pertama.
                b.  select 1 pada QUERY 1 bermakna tampilkan angka 1 sebanyak record.
                c.  kata kunci  “exists” pada QUERY 1 digunakan untuk memeriksa keberadaan hasil subquery
     berikutnya.
d.  pelaksanaan kata kunci “in” pada umumnya lebih lambat daripada “exists”.
e.  perintah “select b.id_supplier” pada QUERY 2 dapat diganti “select id_supplier”.


14.  Penguncian data di Oracle dapat dilakukan terhadap hal-hal berikut, kecuali:
a.       row.
b.      multiple row.
c.       table.
d.      column.
e.       field.

        15.  Mana pernyataan yang salah tentang perintah berikut:
                                SQL> LOCK TABLE karyawan IN EXCLUSIVE MODE;
a.       perintah tersebut untuk mengunci tabel “karyawan”.
b.      user lain tidak dapat mengakses tabel “karyawan”.
c.       user lain boleh membaca tabel “karyawan”.
d.      Lock dapat dilepaskan dengan perintah COMMIT
e.      Lock dapat dilepaskan dengan perintah ROLLBACK

       16. Mana pernyataan berikut yang salah tentang deadlock:
a.       deadlock dapat terjadi meskipun hanya ada satu (sesi) user.
b.      deadlock dapat terjadi ketika ada dua atau lebih (sesi) user.
c.       deadlock terjadi ketika beberapa sesi user mencoba mengunci data, lalu permintaan mereka
tak dapat dilayani karena data sedang dipakai user lain.
d.      deadlock dapat dipecahkan oleh user yang terlibat deadlock tersebut.
e.      deadlock juga dapat dipecahkan oleh administrator.

       17. Mana pernyataan berikut yang salah tentang backup:
a.       backup bermanfaat ketika database rusak.
b.      backup dapat dilakukan terhadap data fisik asli.
c.       backup dapat dilakukan secara lojik.
d.      untuk mendapatkan database sebelum rusak, dilakukan recovery dari backup terakhir.
e.      untuk mendapatkan database sebelum rusak, dilakukan recovery dari backup paling awal.

       18. Mana pernyataan berikut yang salah tentang perintah berikut:
SQL> GRANT SELECT ON satu TO scotti;

a.       “scotti” adalah nama user
b.      “satu” adalah nama tabel
c.       “scotti” dapat melakukan “SELECT” terhadap tabel “satu”
d.      “scotti” dapat melakukan “UPDATE” pada tabel “satu”
e.      hanya “admin” yang dapat menjalankan perintah ini.

       19. Mana pernyataan berikut yang salah tentang perintah berikut:
SQL> CREATE ROLE mhs_role;
SQL> grant select on mahasiswa to mhs_role;
SQL> GRANT mhs_role to scotti;

a.       ROLE digunakan untuk menyederhanakan pemberian hak akses pada user
b.      “mhs_role” termasuk user
c.       “mhs_role” termasuk role
d.      User “scotti” diberi hak akses seperti yang diberikan pada “mhs_role”
e.      User “scotti” dapat membaca tabel “mahasiswa”

       20. Mana pernyataan berikut yang salah tentang SQL berikut:
CREATE OR REPLACE PROCEDURE GETORDERID ( v_orderID OUT ORDERS.OrderID%type)
AS
n_OrderID number;
BEGIN
    SELECT SUBSTR(MAX(OrderID),2,4) INTO v_OrderID FROM ORDERS;
    n_OrderID := TO_NUMBER(v_OrderID);
    n_OrderID := n_OrderID + 1;
    If n_OrderID <= 9 then
      v_OrderID := 'O000' || TO_CHAR(n_OrderID);
    else If n_OrderID <= 99 then
      v_OrderID := 'O00' || TO_CHAR(n_OrderID);
           else If n_OrderID <= 999 then
               v_OrderID := 'O0' || TO_CHAR(n_OrderID);
                  else
                           v_OrderID := 'O' || TO_CHAR(n_OrderID);
                  end if;
           end if;
    END IF;
END;
/

a.       Nama procedure tersebut adalah “GETORDERID”.
b.      Procedure tersebut memberikan hasilnya melalui variabel “v_orderID”.
c.       Kata kunci “OUT” dapat diganti “IN” dengan hasil yang tetap sama.
d.      Perintah  SUBSTR(MAX(OrderID),2,4)digunakan untuk mendapatkan empat huruf dari posisi kedua dari data OrderID terakhir.
e.      Perintah  TO_NUMBER(v_OrderID) digunakan untuk mendapatkan nilai angka dari string yang terdapat pada variabel v_OrderID.


Latihan soal DBMS klick

Selasa, 18 Januari 2011

Mengenal EIGRP

EIGRP adalah protokol routing yang termasuk proprietari Cisco, yang berarti hanya bisa dijalankan pada router Cisco, EIGRP bisa jadi merupakan protokol routing terbaik didunia jika bukan merupakan proprietari Cisco.

Kelebihan utama yang membedakan EIGRP dari protokol routing lainnya adalah EIGRP termasuk satu-satunya protokol routing yang menawarkan fitur backup route, dimana jika terjadi perubahan pada network, EIGRP tidak harus melakukan kalkulasi ulang untuk menentukan route terbaik karena bisa langsung menggunakan backup route. Kalkulasi ulang route terbaik dilakukan jika backup route juga mengalami kegagalan. Berikut adalah fitur-fitur yang dimiliki EIGRP:

  • Termasuk protokol routing distance vector tingkat lanjut (Advanced distance vector).
  • Waktu convergence yang cepat.
  • Mendukung VLSM dan subnet-subnet yang discontiguous (tidak bersebelahan/berurutan)
  • Partial updates, Tidak seperti RIP yang selalu mengirimkan keseluruhan tabel routing dalam pesan Update, EIGRP menggunakan partial updates atau triggered update yang berarti hanya mengirimkan update jika terjadi perubahan pada network (mis: ada network yang down)
  • Mendukung multiple protokol network
  • Desain network yang flexible.
  • Multicast dan unicast, EIGRP saling berkomunikasi dengan tetangga (neighbor) nya secara multicast (224.0.0.10) dan tidak membroadcastnya.
  • Manual summarization, EIGRP dapat melakukan summarization dimana saja.
  • Menjamin 100% topologi routing yang bebas looping.
  • Mudah dikonfigurasi untuk WAN dan LAN.
  • Load balancing via jalur dengan cost equal dan unequal, yang berarti EIGRP dapat menggunakan 2 link atau lebih ke suatu network destination dengan koneksi bandwidth (cost metric) yang berbeda, dan melakukan load sharing pada link-link tersebut dengan beban yang sesuai yang dimiliki oleh link masing-masing, dengan begini pemakaian bandwidth pada setiap link menjadi lebih efektif, karena link dengan bandwidth yang lebih kecil tetap digunakan dan dengan beban yang sepadan juga

EIGRP mengkombinasikan kelebihan-kelebihan yang dimiliki oleh protokol routing link-state dan distance vector. Tetapi pada dasarnya EIGRP adalah protokol distance vector karena router-router yang menjalankan EIGRP tidak mengetahui road map/ topologi network secara menyeluruh seperti pada protokol link-state.

EIGRP mudah dikonfigurasi seperti pendahulunya (IGRP) dan dapat diadaptasikan dengan variasi topologi network. Penambahan fitur-fitur protokol link-state seperti neighbor discovery membuat EIGRP menjadi protokol distance vector tingkat lanjut.

EIGRP menggunakan algoritma DUAL (Diffusing Update Algorithm) sebagai mesin utama yang menjalankan lingkungan EIGRP, DUAL dapat diperbandingkan dengan algoritma SPF Dijkstra pada OSPF.

EIGRP memiliki fitur-fitur utama sebagai berikut.

  • Partial updates: EIGRP tidak mengirimkan update secara periodik seperti yang dilakukan oleh RIP, tetapi EIGRP mengirimkan update hanya jika terjadi perubahan route/metric (triggered update). Update yang dikirimkan hanya berisi informasi tentang route yang mengalami perubahan saja. Pengiriman pesan update ini juga hanya ditujukan sebatas pada router-router yang membutuhkan informasi perubahan tersebut saja. Hasilnya EIGRP menghabiskan bandwidth yang lebih sedikit daripada IGRP. Hal ini juga membedakan EIGRP dengan protokol link-state yang mengirimkan update kepada semua router dalam satu area.
  • Multiple network-layer protocol support: EIGRP mendukung protokol IP, AppleTalk, dan Novell NetWare IPX dengan memanfaatkan module-module yang tidak bergantung pada protokol tertentu.

Fitur EIGRP lain yang patut diperhatikan adalah sebagai berikut:

  • Koneksi dengan semua jenis data link dan topologi tanpa memerlukan konfigurasi lebih lanjut, protokol routing lain seperti OSPF, menggunakan konfigurasi yang berbeda untuk protokol layer 2 (Data Link) yang berbeda, misalnya Ethernet dan Frame Relay. EIGRP beroperasi dengan efektif pada lingkungan LAN dan WAN. Dukungan WAN untuk link point-to-point dan topologi nonbroadcast multiaccess (NBMA) merupakan standar EIGRP.
  • Metric yang canggih: EIGRP menggunakan algoritma yang sama dengan IGRP untuk menghitung metric tetapi menggambarkan nilai-nilai dalam format 32-bit. EIGRP mendukung load balancing untuk metric yang tidak seimbang (unequal), yang memungkinkan engineer untuk mendistribusikan traffik dalam network dengan lebih baik.
  • Multicast and unicast: EIGRP menggunakan multicast dan unicast sebagai ganti broadcast. Address multicast yang digunakan adalah 224.0.0.10.

Dibalik Proses dan Teknologi EIGRP

EIGRP menggunakan 4 teknologi kunci yang berkombinasi untuk membedakan EIGRP dengan protokol routing yang lainnya: neighbor discovery/recovery, reliable transport protocol (RTP), DUAL finitestate machine, dan protocol-dependent modules.

  • Neighbor discovery/recovery
    • Menggunakan paket hello antar neighbor.
  • Reliable Transport Protocol (RTP)
    • Pengiriman paket yang terjamin dan terurut kepada semua neighbor.
  • DUAL finite-state machine
    • Memilih jalur dengan cost paling rendah dan bebas looping untuk mencapai destination.
  • Protocol-dependent module (PDM)
    • EIGRP dapat mendukung IP, AppleTalk, dan Novell NetWare.
    • Setiap protokol disediakan modul EIGRP tersendiri dan beroperasi tanpa saling mempengaruhi satu sama lain.

Neighbor discovery/recovery mechanism: teknologi ini memungkinkan router untuk dapat mengenali setiap neighbor pada network yang terhubung langsung secara dinamik. Router juga harus mengetahui jika ada salah satu neighbor yang mengalami kegagalan dan tidak dapat dijangkau lagi (unreachable). Proses ini dapat diwujudkan dengan pengiriman paket hello yang kecil secara periodik. Selama router menerima paket hello dari router neighbor, maka router akan mengasumsikan bahwa router neighbor berfungsi dengan normal dan keduanya dapat bertukar informasi routing.

RTP: Bertanggung jawab atas pengiriman paket-paket kepada neighbor yang terjamin dan terurut. RTP mendukung transmisi campuran antara paket multicast dan unicast. Untuk tujuan efisiensi, hanya paket EIGRP tertentu yang dikirim menggunakan teknologi RTP.

DUAL finite state machine: mewujudkan proses penentuan untuk semua komputasi route. DUAL melacak semua route yang di advertise oleh setiap neighbor dan menggunakan metric untuk menentukan jalur paling effisien dan bebas looping ke semua network tujuan.

Protocol-dependent modules (PDM): bertanggung jawab untuk keperluan layer network protokol-protokol tertentu. EIGRP mendukung IP, AppleTalk, dan Novell NetWare; setiap protokol tersebut telah disediakan module EIGRP nya masing-masing dan satu sama lain beroperasi secara independent. Module IP-EIGRP misalnya, bertanggung jawab untuk pengiriman dan penerimaan paket-paket EIGRP yang telah di enkapsulasi dalam IP.

Cara Kerja EIGRP

Istilah-istilah algoritma DUAL

  • Memilih jalur/route untuk mencapai suatu network dengan ongkos paling rendah, dan bebas looping.
  • AD (advertised distance), menggambarkan seberapa jauh sebuah network dari neighbor, merupakan ongkos (metric) antara router next-hop dengan network destination.
  • FD (feasible distance), menggambarkan seberapa jauh sebuah network dari router, merupakan ongkos (metric) antara router dengan router next-hop ditambah dengan AD dari router next-hop.
  • Ongkos paling rendah = FD paling rendah.
  • Successor, adalah jalur utama untuk mencapai suatu network (route terbaik), merupakan router next-hop dengan Ongkos paling rendah dan jalur bebas looping.
  • Feasible Successor, adalah jalur backup dari successor (AD dari feasible successor harus lebih kecil daripada FD dari successor)

EIGRP menggunakan dan memelihara 3 jenis tabel. Tabel neighbor untuk mendaftar semua router neighbor, tabel topologi untuk mendaftar semua entri route untuk setiap network destination yang didapatkan dari setiap neighbor, dan tabel routing yang berisi jalur/route terbaik untuk mencapai ke setiap destination.

Table Neighbor

1-neighbor-table

Ketika router menemukan dan menjalin hubungan adjacency (ketetanggaan) dengan neighbor baru, maka router akan menyimpan address router neighbor beserta interface yang dapat menghubungkan dengan neighbor tersebut sebagai satu entri dalam tabel neighbor. Tabel neighbor EIGRP dapat diperbandingkan dengan database adjacency yang digunakan oleh protokol routing link-state yang keduanya mempunyai tujuan yang sama: untuk melakukan komunikasi 2 arah dengan setiap neighbor yang terhubung langsung.

Ketika neighbor mengirimkan paket hello, ia akan menyertakan informasi hold time, yakni total waktu sebuah router dianggap sebagai neighbor yang dapat dijangkau dan operasional. Jika paket hello tidak diterima sampai hold time berakhir, algoritma DUAL akan menginformasikan terjadinya perubahan topologi.

Topology Table

2-topology-table

Ketika router menemukan neighbor baru, maka router akan mengirimkan sebuah update mengenai route-route yang ia ketahui kepada neighbor baru tersebut dan juga sebaliknya menerima informasi yang sama dari neighbor. Update-update ini lah yang akan membangun tabel topologi. Tabel topologi berisi informasi semua network destination yang di advertise oleh router neighbor. Jika neighbor meng advertise route ke suatu network destination, maka neighbor tersebut harus menggunakan route tersebut untuk memforward paket.

Tabel topologi di update setiap kali ada perubahan pada network yang terhubung langsung atau pada interface atau ada pemberitahuan perubahan pada suatu jalur dari router neighbor.

Entri pada tabel topologi untuk suatu destination dapat berstatus active atau passive. Destination akan berstatus passive jika router tidak melakukan komputasi ulang, dan berstatusactive jika router masih melakukan komputasi ulang. Jika selalu tersedia feasible successor maka destination tidak akan pernah berada pada status active dan terhindar dari komputasi ulang. Status yang diharapkan untuk setiap network destination adalah status passive.

Routing table

3-routing-table

Router akan membandingkan semua FD untuk mencapai network tertentu dan memilih jalur/route dengan FD paling rendah dan meletakkannya pada tabel routing; jalur/route inilah yang disebut successor route. FD untuk jalur/route yang terpilih akan menjadi metric EIGRP untuk mencapai network tersebut dan disertakan dalam tabel routing.

Paket-Paket EIGRP

EIGRP saling berkomunikasi dengan tetangga (neighbor) nya secara multicast (224.0.0.10) dan menggunakan 5 jenis pesan (message) dalam berhubungan dengan neighbornya:

  • Hello: Router-Router menggunakan paket Hello untuk menjalin hubungan neighbor. Paket-paket dikirimkan secara multicast dan tidak membutuhkan.
  • Update: Untuk mengirimkan update informasi routing. Tidak seperti RIP yang selalu mengirimkan keseluruhan tabel routing dalam pesan Update, EIGRP menggunakan triggered update yang berarti hanya mengirimkan update jika terjadi perubahan pada network (mis: ada network yang down). Paket update berisi informasi perubahan jalur/route. Update-update ini dapat berupa unicast untuk router tertentu atau multicast untuk beberapa router yang terhubung.
  • Query: Untuk menanyakan suatu route kepada tetangga. Biasanya digunakan saat setelah terjadi kegagalan/down pada salah satu route network, dan tidak terdapat feasible successor untuk route/jalur tersebut. router akan mengirimkan pesan Query untuk memperoleh informasi route alternatif untuk mencapai network tersebut, biasanya dalam bentuk multicast tapi bisa juga dalam bentuk unicast untuk beberapa kasus tertentu.
  • Reply: Respon dari pesan Query.
  • ACK: Untuk memberikan acknowledgement (pengakuan/konfirmasi) atas pesan Update, Query, dan Reply.

Metric EIGRP

Protokol routing digolong-golongkan berdasarkan cara mereka memilih jalur terbaik dan cara mereka menghitung metric suatu jalur (route). Metric adalah suatu ukuran yang digunakan untuk menentukan nilai cost dari suatu route menuju network tertentu. Semakin kecil metric suatu route network semakin bagus dan akan menjadi pilihan utama dalam pemilihan route terbaik.

EIGRP menggunakan komponen-komponen metric yang sama seperti pada IGRP: delay, bandwidth, reliability, load, dan maximum transmission unit (MTU).

EIGRP menggukaan gabungan metric yang sama seperti pada IGRP untuk menentukan jalur terbaik, hanya saja metric EIGRP dikalikan 256. EIGRP secara default hanya menggunakan 2 kriteria metric berikut:

  • Bandwidth.
  • Delay: total lama delay interface sepanjang jalur.

Kriteria berikut bisa dipakai, tetapi tidak direkomendasikan karena dapat menimbulkan kalkulasi ulang yang terlalu sering pada tabel topologi:

  • Reliability.
  • Loading.
  • MTU.

Minggu, 09 Januari 2011

LOOPING

contoh membuat looping :
Bilangan yang bisa dibagi 2 & 3 dengan cara mod
declare
x number;
t number;
begin
x:=1;
t:=0;

loop
if x mod 6=0 then
dbms_output.put(' '||x);
t:=t+1;
x:=x+1;
else x:=x+1;
end if;

exit when t>5;
end loop;
dbms_output.new_line;
end;
/

TRIGGER

Membuat pemicu, yang merupakan jenis khusus yang melakukan prosedur yang tersimpan secara otomatis saat pengguna mencoba pernyataan data-modifikasi yang ditentukan pada tabel. Microsoft ® SQL Server ™ memungkinkan penciptaan beberapa pemicu untuk setiap pernyataan yang diberikan INSERT, UPDATE, atau DELETE.

Sintaksis

CREATE TRIGGER trigger_name
ON {table | view}
[DENGAN ENKRIPSI]
{
{{UNTUK | SETELAH | INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [HAPUS]}
[DENGAN APPEND]
[TIDAK UNTUK REPLIKASI]
AS
[{IF UPDATE (kolom)
[{DAN | OR} UPDATE (kolom)]
[... N]
| IF (COLUMNS_UPDATED () {} bitwise_operator updated_bitmask)
{Comparison_operator} column_bitmask [... n]
}]
sql_statement [... n]
}
}

CURSOR

cursor
Blok PL/SQL tidak mengizinkan kita untuk menampilkan beberapa baris dengan menggunakan perintah SELECT secara langsung. Untuk mengatasi kendala ini, maka digunakanlah Cursor. Cursor merupakan sejenis variabel yang dapat digunakan untuk menampung banyak nilai berupa baris atau record. Nilai-nilai yang disimpan di dalam sebuah Cursor selanjutnya dapat dimanipulasi sehingga dapat digunakan sesuai kebutuhan. Atau dapat dikatakan bahwa Cursor merupakan pointer yang menunjuk ke suatu bagian memori untuk menyimpan hasil instruksi SQL. Hasil instruksi SQL tersebut biasanya merupakan multiple row, dan Cursor digunakan untuk menunjuk (pointer) ke salah satu baris data.

contoh :
CREATE PROCEDURE DAFTAR_PELANGGAN

AS

DECLARE @CUSTID INT

DECLARE @CUSTNAME VARCHAR(30)

DECLARE @DISCOUNT DECIMAL(4,2)

DECLARE CUSTCURSOR CURSOR

FOR

SELECT CUSTID,CUSTNAME,DISCOUNT

FROM CUSTOMER

ORDER BY CUSTID

FOR READ ONLY

OPEN CUSTCURSOR

WHILE (0=0) BEGIN

FETCH NEXT

FROM CUSTCURSOR INTO @CUSTID,@CUSTNAME,@DISCOUNT


IF (@@FETCH_STATUS <> 0) BREAK

PRINT CAST(@CUSTID AS VARCHAR(5)) + " " + @CUSTNAME +CAST(@DISCOUNT AS VARCHAR(5))

END
/





FUNCTION

Function adalah jenis PL/SQL block yang menghasilkan satu nilai. Secara umum, function digunakan melakukan perhitungan, mengecek eksistensi dan kevalidan suatu data. Function bisa dilibatkan dalam expresi. Function bisa disimpan dalam database sebagai object schema, sehingga suatu function bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.

contoh membuat function :
create or replace function
penjumlahan (x in number, y in number)
return number IS
hasil number;
BEGIN
hasil:=x+y;
return hasil;
end;
/

Create, Insert, Update, and Delete Table

create di gunakan untuk membuat sebuah tabel data
contoh
create table MHS (
nim char(10),
nama varchar(50),
constraint pk_mhs primary key(nim)
);

INSERT
Insert digunakan untuk memasukkan data ke sebuah tabel dalam user (schema) tertentu
contoh : insert into MHS(nim,nama)
values (’30208237′,'inu');

UPDATE
Update digunakan untuk mengubah data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu.
contoh : update MHS
set nama= ’inu’
where nim=’30208237′;

DELETE
Delete digunakan untuk menghapus data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu.
contoh : where nim=’30108111′;


Selasa, 30 November 2010

Pendapat Tentang Masalah yang ada di Indonesia Pada Saat ini

Berikan pendapat anda dan jelaskan tentang kasus Pemerintah memberikan HP kepada TKI diluar negri?

Memberikan HP kepada TKI itu sangat bagus, karna bisa membantu para TKI dalam menjalani tugas sehari-hari.
banyak berita tentang TKI membuat indonesia gempar, mungkin ini salah satu jalan pemerintah untuk mengurangi
masalah yang ada pada saat ini sekaligus memantau para TKI diseluruh pelosok, jadi TKI bisa mengadu apabila
TKI tersebut di siksa oleh majikan atau dilakukan tidak wajar.
tetapi jalan keluar tersebut belum effektif karna bisa saja HP tersebut dijual karna kebutuhan yang mendadak.
dan pastinya pemerintah akan terus mencari jalan keluar agar TKI indonesia tidak di aniaya sperti yang kita
lihat pada sekarang-sekarang ini.


Bagaimana sikap garuda mengenai isu-isu yang terjadi pada saat ini mengenai rusaknya sistem penerbanganya?

banyak isu-isu yang beredar mengenai garuda,dikarenakan garuda belum memastikan kesalahan apa yang terjadi.
namun garuda tetap harus memberikan penjelasan kepada masyarakat dan isu tersebut sebaiknya di tanggapi dengan
serius, karna isu tersebut menyangkut nama baik dari garuda pada saat ini. dengan mencari siapa membuat isu
tersebut itu tidak mungkin, atau dengan cara meminta maaf kepada masyarakat juga belum tentu masyarakat
menerima semua kenyataan yang ada.jadi sebaiknya selesaikan sistem baru lalu berikan layanan yang paling
memuaskan kepada pelanggan agar pelanggan tidak lagi kecewa terhadap garuda.


Berikan pendapat anda tentang pergantian pemimpin jogja bukan lagi sultan?

seperti biasanya pergantian pemimpin jogja biasanya di gantikan oleh sultan lagi, tetapi pada saat ini
jogja tidak lagi di pimpin oleh sultan. menurut presiden kita bapak SBY berfikiran bahwa jika trus menerus sultan
jogja tidak akan maju,dan takutnya jogja tidak lagi ada sistem demokrasi, yang ada hanya sistem kerajaan
dimana semua rakyatnya tunduk kepada rajanya. pada masalah ini pendapat saya serupa dengan bapak presiden,
dimana pemimpin di pilih oleh rakyatnya dan pemimpin bekerja untuk rakyat.dengan begitu pasti jogja akan maju
mengalami banyak perubahan dari sebelumnya.