Selasa, 30 April 2013

Deadlock (Sistem Informasi)


I.          Pengertian Deadlock
                 Deadlock adalah Suatu kondisi di mana sekumpulan proses tidak dapat berjalan kembali atau tidak adanya komunikasi antar proses. Deadlock merupakan kumpulan proses yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut.


Model Deadlock

Bila beberapa proses ingin menggunakan resource yang sama dalam satu waktu, maka hal ini akan berpotensi menimbulkan deadlock.
Ø  Resources
Ada 2 jenis yaitu
a.       Preempatable
-          Preempatable resource adalah resource yang dapat diambil dari proses yang memilikinya tanpa menimbulkan efek. Sistemnya terdiri dari : user memory (32MB), 1 pointer, dan 2 proses cetak (@30MB)
-          Proses A request printer dan mendapatkannya sebelum komputasinya selesai (lewat batas waktu), A keluar dari user memory (A masih punya printer). Proses B sekarang run dan berusaha mengakses printer (B tidak berhasil, karena printer masih dimiliki A), maka bisa timbul deadlock. Pada kondisi ini, B dapat dikeluarkan dari user memori, A masuk lagi dan di run lagi menggunakan user memory, mencetak dan release printer
b.      Non Preemptable resource
Non Preemptable resource adalah resource tidak dapat diambil dari proses tanpa menimbulkan efek kegagakan komputasi. Contohnya proses yang sedang mulai melakukan ‘burning CD’ adalah non preemtable resource. Proses ini tidak memungkinkan untuk dilakukan swapping dengan proses lain, karena akan berakibat proses ‘burning’ akan gagal

Inheritance pada Java (PBO)


a.       Inheritance
Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas yang didasarkan pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya.
Keuntungan Inheritance :
1.       Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
2.      Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

Beberapa aturan tentang pewarisan(inheritance) yang perlu diperhatikan :
1.      Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.
2.      Subclass juga merupakan class biasa, maka kita tetap dapat melakukan pewarisan pada subclass ini. Misal : class B merupakan subclass dari class A, kita dapat membuat class baru yang diturunkan dari class B sehingga class baru tersebut akan memiliki apa yang dimiliki oleh class A dan class B.
3.      Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan).

Relasi Dan Join (Basis Data)


1.      Relationship
           Relationship adalah suatu hubungan antara beberapa entitas. Konsep ini sangat penting sekali di dalam basis data, di mana memungkinkan entitas-entitas untuk saling berhubungan satu sama lain
           Di dalam sebuah relationship, primary key memiliki peran sangat penting untuk mengaitkan entitas. Selain itu, primary key juga di gunakan untuk mendefinisikan batasan keterhubungan.
Jenis-jenis relasi entitas :
a.       Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.
b.      Satu ke banyak (one to many) atau banyak ke satu (many to one)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A.
c.       Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya.

Komunikasi Data Digital


   Komunikasi data digital adalah teknologi yang berbasis sinyal elektrik komputer, sinyalnya bersifat terputus-putus dan menggunakan sistem bilangan biner. Bilangan biner tersebut akan membentuk kode-kode yang merepresentasikan suatu informasi tertentu.

TEKNIK KOMUNIKASI DATA DIGITAL
Data ditransfer melalui path komunikasi tunggal pada transmisi data secara serial dimana tiap elemen pensinyalan dapat berupa : 
  • Kurang dari 1 bit : misalnya dengan pengkodean Manchester
  • 1 bit : NRZ-L dan FSK adalah contoh-contoh analog dan digital
  • Lebih dari 1 bit : QPSK sebagai contohnya.

TRANSMISI ASYNCHRONOUS
Strategi dari metode ini yaitu mencegah problem timing dengan tidak mengirim aliran bit panjang yang tidak putus -putusnya. Melainkan data ditransmisi per karakter pada suatu waktu, dimana tiap karakter adalah 5 sampai 8 bit panjangnya. Timing atau synchronisasi harus dipertahankan antara tiap karakter; receiver mempunyai kesempatan untuk men-synchron-kan awal dari tiap karakter baru. 
Gambar 4.1 menjelaskan suatu contoh untuk teknik ini. 




Gambar Teknik Asynchronous

TRANSMISI SYNCHRONOUS
Dengan transmisi synchronous, ada level lain dari synchronisasi yang perlu agar receiver dapat menentukan awal dan akhir dari suatu blok data. Untuk itu, tiap blok dimulai dengan suatu pola preamble bit dan diakhiri dengan pola postamble bit. Pola-pola ini adalah kontrol informasi. 

Subnetting


SUBNETTING
Subnetting adalah proses memecah suatu  IP jaringan ke sub jaringan yang lebih kecil yang disebut "subnet." Setiap subnet deskripsi non-fisik (atau ID) untuk jaringan-sub fisik (biasanya jaringan beralih dari host yang mengandung satu  router -router dalam jaringan multi). Subnetting adalah sebuah teknik yang mengizinkan para administrator jaringan untuk memanfaatkan 32 bit IP address yang tersedia dengan lebih efisien. Teknik subnetting membuat skala jaringan lebih luas dan tidak dibatas oleh kelas-kelas IP (IP Classes) A, B, dan C yang sudah diatur. Dengan subnetting, anda bisa membuat network dengan batasan host yang lebih realistis sesuai kebutuhan. Subnetting menyediakan cara yang lebih fleksibel untuk menentukan bagian mana dari sebuah 32 bit IP adddress yang mewakili netword ID dan bagian mana yang mewakili host ID.

Dengan kelas-kelas IP address standar, hanya 3 kemungkinan network ID yang tersedia; 8 bit untuk kelas A, 16 bit untuk kelas B, dan 24 bit untuk kelas C. Subnetting mengizinkan anda memilih angka bit acak (arbitrary number) untuk digunakan sebagai network ID.

Alasan Menggunakan Subnetting
1.      Mengalokasikan IP address yang terbatas supaya lebih efisien. Jika internet terbatas oleh alamat-alamat di kelas A, B, dan C, tiap network akan memliki 254, 65.000, atau 16 juta IP address untuk host devicenya. Walaupun terdapat banyak network dengan jumlah host lebih dari 254, namun hanya sedikit network (kalau tidak mau dibilang ada) yang memiliki host sebanyak 65.000 atau 16 juta. Dan network yang memiliki lebih dari 254 device akan membutuhkan alokasi kelas B dan mungkin akan menghamburkan percuma sekitar 10 ribuan IP address.
2.      Alasan kedua adalah, walaupun sebuah organisasi memiliki ribuan host device, mengoperasikan semua device tersebut di dalam network ID yang sama akan memperlambat network. Cara TCP/IP bekerja mengatur agar semua komputer dengan network ID yang sama harus berada di physical network yang sama juga. Physical network memiliki domain broadcast yang sama, yang berarti sebuah medium network harus membawa semua traffic untuk network. Karena alasan kinerja, network biasanya disegmentasikan ke dalam domain broadcast yang lebih kecil – bahkan lebih kecil – dari Class C address.

Senin, 29 April 2013

SQL (Structured Query Language)


1.      SQL (Structured Query Language)
           SQL (atau query language) adalah dalah salah satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrogramman level ke-3 (3rd GL),
           SQL adalah sebuah bahasa yang digunakan untuk me-request informasi dari basis data. Bahasa ini sudah disediakan oleh DBMS. Konstruksi SQL terbentuk atas kombinasi relational-algebra dan relational-calculus
           SQL terdiri dari beberapa komponen, dua di antaranya yang sangat fundamental adalah DDL (Data Definition Language) dan DML (Data Manipulation Language)

2.      DDL (Data Definition Language)
DDL menyediakan perintah-perintah untuk mendefinisikan, memodifikasi, dan menghapus skema relasi, misalnya tabel, view, prosedur, dan fungsi
Contoh perintah DDL adalah CREATE, ALTER, dan DROP

3.      DML (Data Manipulation Language)
DML menyediakan perintah-perintah untuk menambah, memodifikasi, menghapus, dan emngambil data di dalam basis data.
Contoh perintah DML adalah INSERT, UPDATE, DELETE, dan SELECT

a.       Penambahan Data
Sintaks operasi penambahan data dapat dituliskan sebagai berikut :
           INSERT INTO r (A1, A2, ...., An)
               VALUES (V1, V2, ... , An)
Keterangan :
           R adalah relasi (tabel)
           A adalah atribut (field atau kolom)
           V adalah value (nilai yang diisikan)

Misalkan tabel jurusan memiliki field id dan nama, maka pernyataan SQL untuk penambahan data dituliskan sebagai berikut
           INSERT INTO jurusan (id, nama)
               VALUES (1, “Teknik Elektro”)

b.      Modifikasi Data
Sintaks operasi modifikasi data dapat dituliskan sebagai berikut :
           UPDATE r
               SET A1=V1, A2=V2, ...,  An=Vn
Keterangan :
           P adalah predikat

Misalkan nilai field nama untuk data dengan id 1 ingin di ubah menjadi Teknik Informatika, SQLnya adalah
           UPDATE jurusan
               SET nama = “Teknik Informasi”
               WHERE id = 1

c.       Penghapus Data
      Sintaks operasi penghapusan data dapat dituliskan sebagai berikut
                 DELETE FROM r
                       WHERE P
Misalkan nilai data dengan id 1 ingin dihapus, pernyataan SQLnya dituliskan sebagai berikut :
          DELETE FROM jurusan
             WHERE id = 1
Jika tidak menggunakan klausa WHERE akan mengakibatkan dihapusnya seluruh data di tabel. Jadi, jika ingin menhapus data tertentu, harus menggunakan klausa WHERE.

d.      Seleksi Data
Sintaks operasi seleksi atau pengambilan data dapat dituliskan sebagai berikut :
           SELECT A1, A2, .... , An
               FROM  r1, r2, r3, ...., rm
               WHERE P
Misalkan ingin menampilkan data id dan nama jurusan, pernyataan SQLnya dituliskan sebagai berikut
           SELECT id, nama
               FROM jurusan
Ada juga karakter * (asterik) yang menyatakan seluruh field. Jadi, pernyataan di bawah ini ekuivalen dengan pernyataan di atas
           SELECT *
               FROM jurusan