Pages

Subscribe Twitter

Senin, 04 April 2011

Doubly Linked List



Struktur Doubly Linked List

Ø  Node-node doubly linked list saling berkait melalui pointer. Bagian left sebuah node menunjuk node selanjutnya. Bagian right sebuah node menunjuk node sesudahnya.
Ø  pHead : pointer yang menunjuk node pertama
Ø  Setiap node terdiri atas
Ø  Left, yaitu pointer yang menunjuk ke node sebelumnya pada list
Ø  Data
Ø  Left, yaitu pointer yang menunjuk ke node sebelumnya pada list
Ø  Left node pertama bernilai NULL
Ø  Right node terakhir bernilai NULL

Struktur Sebuah Node Doubly Linked List

Ø  Setiap node terdiri atas
Ø  Left, yaitu pointer yang menunjuk ke node sebelumnya pada list
Ø  Data
Ø  Left, yaitu pointer yang menunjuk ke node sebelumnya pada list

Double Linked List (DLL) adalah suatu cara pengolahan data yang bekerja dengan record dalam jumlah besar, sehingga membutuhkan alokasi memori dinamis yang besar pula. DLL biasanya digunakan pada saat alokasi memori konvensional tidak lagi bisa diandalkan. Sedangkan bekerja dengan data yang besar tidak dapat dihindari lagi, karena tidak jarang pula, data besar tersebut memiliki hubungan yang erat.


Di dalam DLL tidak hanya sekadar menampilkan setiap record-nya, melainkan dapat pula menambahkan record, menghapus beberapa record sesuai keinginan pengguna, sampai mengurutkan record. Kondisi tersebut memungkinkan dimilikinya satu rantai data yang panjang dan saling berhubungan.
Pada Double Linked List, setiap node memiliki dua buah pointer ke sebelah kiri (prev) dan ke sebelah kanan (next). Gambar 1 memperlihatkan sebuah node dari Double Linked List.

Bertambah lagi komponen yang akan digunakan. Apabila dalam Single Linked List hanya memiliki head, curr dan node, maka untuk Double Linked List, ada satu penunjuk yang berfungsi sebagai akhir dari list: tail. Bagian kiri dari head akan menunjuk ke NULL. Demikian pula dengan bagian kanan dari tail. Setiap node saling terhubung dengan pointer kanan dan kiri. Gambar 2 memperlihatkan contoh Double Linked List.

struct node {
 
   //bagian data
    tipedata data 1;
    tipedata data 2;
    …
tipedata data n;
    //pointer ke node sebelum dan sesudahnya
    struct node *left;
    struct node *right;
};
typedef struct node node;

Sebelum membuat doubly linked list, perlu dideklarasikan dan diinisialisasikan pHead, yaitu pointer yang menunjuk node pertama dari double linked list
                          node *pHead = NULL;

Operasi Doubly Linked List 
  1. Menambah sebuah node pada doubly linked list.
  2. Menghapus sebuah node dari doubly linked list.
  3. Mencari node pada doubly linked list.
  4. List tranversal

Menambah Node Ke Doubly Linked List 
Tahap – tahap menambah node pada double linked list: 
          Buat node baru yang akan ditambahkan.
          Tentukan node sebelum tempat penyisipan (pCur).
          Set left node baru menunjuk predencecor dan right node baru menunjuk succesor.
          Set right predencecor dan left succesor menunjuk node baru .  
pCur dapat memiliki dua keadaan:
          it can contain the address of a node (i.e. you are adding somewhere after the first node – in the middle or at the end)
          it can be NULL (i.e. you are adding either to an empty list or at the beginning of the list)
          pNew = (struct node *) malloc(sizeof(struct dllnode));  
          pNew -> data = 84; 
          pNew -> left = pCur;
          pNew -> right = pCur -> right; 
          pCur -> right  = pNew;  

Kode Untuk Menambah Node Ke Doubly-Linked List
//insert a node into a linked list
    struct node *pNew;
    pNew = (struct node *)  malloc(sizeof(struct node));
    pNew -> data = item;
    if (pCur == NULL){
         //add before first logical node or to an empty list
                   pNew -> left = pHead;
                   pNew -> right = pHead;
          pHead = pNew;
    }
    else {
                      if (pCur -> right == NULL) {
              //add at the end
pNew -> left = pCur;
pNew -> right = pCur -> right; 
pCur -> right  = pNew;
}
                      else {  //add in the middle
                                    pNew -> left = pCur;
                                pNew -> right = pCur -> right;
                                pCur -> right -> left = pNew;  
                                pCur -> right = pNew;
                     }
        }
   }

Menghapus Node Dari Doubly Linked List

          Setiap node pada doubly linked list dapat dihapus. Jika doubly linked list tidak memiliki node lagi, maka pHead bernilai NULL .
          Untuk menghapus node baru :
        Cari node yang akan dihapus (pCur).
        Set right dari predencecor pCur agar menunjuk succesor pCur
        Set left dari succesor pCur agar menunjuk predencecor pCur
        Hapus node yang ditunjuk pCurmenggunakan free function.

Kode Untuk Menghapus Sebuah Node Pada Doubly Linked List.

//delete a node from a linked list
if (pCur -> left == NULL){
         //deletion is on the first node of the list
                   pHead = pCur -> right;
                   pCur -> right -> left = NULL;
{
else {
         //deleting a node other than the first node of the list
        pCur -> left -> right = pCur -> right;
                  pCur -> right -> left = pCur -> left;
}
free(pCur).

Pencarian Data Pada Doubly-Linked List

          Proses tambah node dan hapus node membutuhkan pencarian node tempat disisipkan dan yang akan dihapus.
//search the nodes in a linked list
pCur = pHead;
//search until the target value is found or the end of the list is reached
while (pCur != NULL && pCur -> data != target) {
      pCur = pCur -> right;
}
//determine if the target is found or ran off the end of the list
if (pCur != NULL)
   found = 1;
else
   found = 0;
  
ABSTRAKSI TIPE DATA DOUBLY LINKED LIST
Abstraksi tipe data Double Linked List sedikit berbeda dengan Single Linked List, yaitu tinggal menambahkan pointer prev dan harus diawali dengan pembuatan struct tnode.

Kemudian, mendeklarasikan beberapa node yang akan digunakan sebagai head, tail, node aktif (curr) dan node sementara (node) seperti berikut:

Sama seperti pada pembuatan Single Linked List, dalam pembuatan Double Linked List ini, akan membuat sebuah perulangan sebanyak 5 kali untuk mengisikan nilai 0 sampai 4 ke dalam field x untuk masing-masing node.


Secara umum, kode yang dibuat hampir sama dengan pembuatan Single Linked List. Hanya bedanya, pada Double Linked List, pointer kiri dan kanan dihubungkan dengan suatu node.

Pertama-tama, tentunya perlu diuji apakah head bernilai NULL yang artinya belum ada satu node pun yang tercipta. Apabila demikian, maka node yang dibuat akan menjadi head. Node aktif (curr) pun diset sesuai node yang dibuat. Dan sebagai konsekuensi dari Double Linked List, maka diatur pointer prev pada head menunjuk ke NULL.

Untuk menguji keberhasilan Double Linked List, awal list sampai akhir list akan dicetak dengan deklarasi:

Dan karena apa yang dibentuk adalah Double Linked List, maka juga mencetak dari tail sampai head, dengan deklarasi:

Untuk membebaskan memori teralokasi, dilakukan dengan pemanggilan fungsi free(). Kode selengkapnya:

Operasi pada linked list tidak hanya pembuatan dan pencetakan. Suatu saat, mungkin perlu untuk menghapus node yang terletak di tengah-tengah list. Atau bahkan mungkin perlu menyelipkan node di tengah-tengah node.

 
MACAM-MACAM DOUBLE LINKED LIST

1. DOUBLE LINKED LIST CIRCULAR (DLLC)
a. Definisi
Double Linked List Circular adalah linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah field yang berisi data untuk node tersebut. Double Linked List Circular pointer next dan prev-nya menunjuk ke dirinya sendiri secara circular.

b. Bentuk Node DLLC
Pengertian:
Double : field pointer-nya terdiri dari dua buah dan dua arah, yaitu prev dan next.
Linked List : node-node tersebut saling terhubung satu sama lain.
Circular : pointer next dan prev-nya menunjuk ke dirinya sendiri.

Ilustrasi Double Linked List Circular
Ø Setiap node pada linked list mempunyai field yang berisi data dan pointer ke node berikutnya dan ke node sebelumnya.
Ø Untuk pembentukan node baru, mulanya pointer next dan prev akan menunjuk ke dirinya sendiri.
Ø Jika sudah lebih dari satu node, maka pointer prev akan menunjuk ke node sebelumnya, dan pointer next akan menunjuk ke node sesudahnya.

c. Pembuatan Double Linked List Circular
Deklarasi node, dibuat dari struct berikut ini:
Penjelasan:
Ø Pembuatan struct bernama TNode yang berisi 3 field, yaitu field data bertipe integer dan field next dan prev yang bertipe pointer dari Tnode.
Ø Setelah pembuatan struct, buat variabel haed yang bertipe pointer dari TNode yang berguna sebagai kepala linked list.

Pembuatan Node Baru:
Digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta alokasi memorinya, pointer prev dan next menunju ke dirinya sendiri.

d. Double Linked List Circular Menggunakan Head
§ Menggunakan 1 pointer head.
§ Head selalu menunjuk node pertama.

Deklarasi Pointer Head:
Manipulasi linked list tidak bisa dilakukan langsung ke node yang dituju, melainkan harus melalui node pertama dalam linked list. Deklarasinya sebagai berikut:

e. Penambahan Data
Penambahan Data di Depan:
Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan pada head-nya.

Pada prinsipnya adalah mengkaitkan data baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan. Dibutuhkan pointer bantu yang digunakan untuk prev) yang akan digunakan untuk mengikat
®menunjuk node terakhir (head list dengan node terdepan.



SUMBER : PRAKTIKUM STRUKTUR DATA



Free Template Blogger collection template Hot Deals SEO

LINKED LIST



LINKED LIST

Dalam suatu linier list kita dapat melakukan operasi penyisipan atau penghapusan atas elemen-elemennya pada sembarang posisi.
Misalkan ada 1500 item yang merupakan elemen dari suatu linier list. Jika elemen ke-56 akan kita keluarkan, maka elemen ke-1 s/d elemen ke-55 tidak akan berubah posisinya pada linier list tersebut. Tetapi elemen ke-57 akan menjadi elemen ke-56, elemen ke-58 akan menjadi elemen ke 57 dst.

Selanjutnya jika kita sisipkan satu elemen pada posisi setelah elemen ke-41, maka elemen ke-42 s/d elemen ke-1500 akan berubah posisinya.
Untuk menyatakan keadaan diatas diperlukan suatu konsep yang berbeda dengan konsep sekuensial sebelumnya.

Linked list merupakan suatu cara non-sekuensial yang digunakan untuk merepresentasikan suatu data

DEFINISI
Linked List (one way list) adalah suatu kumpulan elemen data (yang disebut sebagai node) dimana urutannya ditentukan oleh pointer.
Linked list (list bertaut) adalah salah satu struktur data dasar yang sangat fundamental dalam bidang ilmu komputer. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).
Pada array, apabila programmer ingin menyimpan data, programmer diharuskan untuk mendefinisikan besar array terlebih dahulu, seringkali programmer mengalokasikan array yang sangat besar(misal 100). Hal ini tidak efektif karena seringkali yang dipakai tidak sebesar itu. Dan apabila programmer ingin menyimpan data lebih dari seratus data, maka hal itu tidak dapat dimungkinkan karena sifat array yang besarnya statik. Linked list adalah salah satu struktur data yang mampu menutupi kelemahan tersebut.
Secara umum linked list tersusun atas sejumlah bagian-bagian data yang lebih kecil yang terhubung (biasanya melalui pointer). Linked list dapat divisualisasikan seperti kereta, bagian kepala linked list adalah mesin kereta, data yang disimpan adalah gerbong, dan pengait antar gerbong adalah pointer.

Jenis-Jenis Linked List

  • Singly linked list
  • Double linked list
  • Circular Linked List

Setiap elemen (node) dari suatu linked list terdiri atas dua bagian, yaitu :
·         INFO              : berisi informasi tentang elmen data yang bersangkutan.
·         NEXT             : berisi alamat dari elemen (node) selanjutnya yang dituju.

OPERASI DASAR PADA LINKED LIST

Ada beberapa aturan yang didefinisikan pada operasi di dalam linked list, yaitu :
·         Jika P adalah suatu variabel pointer, maka nilainya adlah alamat atau lokasi dari variabel lain yang dituju.
·         Operasi yang didefinisikan pada suatu variabel pointer adalah :
  1. Test apakah sama dengan NULL
  2. Test untuk kesamaan dengan variabel pointer lain
  3. Menetapkan sama dengan NULL
  4. Menetapkan menuju ke node lain

Notasi yang didefinisikan sehubungan dengan operasi diatas adalah :
1.       NODE(P), artinya node yang ditunjuk oleh pointer P.
2.       INFO(P), artinya nilai INFO dari node yang ditunjuk pointer P
3.       NEXT(P), artinya hubungan (link) selanjutnya dari node yang ditunjuk oleh pointer P

SUMBER : PRAKTIKUM STRUKTUR DATA


Free Template Blogger collection template Hot Deals SEO

MYOB (Mind Your Own Business)



MYOB  (Mind Your Own Business)
MYOB adalah sebuah software akutansi yang diperuntukan bagi usaha kecil dan menengah (UKM) yang dibuat secara terpadu (integarated software).
 MYOB dikembangkan pertama kali oleh MYOB Limited Australia dan sekarang telah dikembangkan di beberapa negara lain seperti di Amerika,  Kanada, Selandia Baru dan lainnya.
Beberapa versi MYOB :
• MYOB Accounting
• MYOB Premier
• MYOB Basic Bussiness
• MYOB Accounting Plus
 MYOB Just Invoice

Beberapa kelebihan MYOB dibandingkan dengan software akutansi lain :
• User friendly
• Multi Currency
• Tingkat Keamanan yang cukup valid untuk setiap user
• Kemampuan explorasi  semua laporan ke program Excel tanpa         melalui proses ekspor/impor file yang merepotkan
• Kemempuan trash back semua laporan ke sumber dokumen dan sumber transaksi
• Dapat diaplikasikan untuk 150 jenis perusahaan
• Menampilkan keuangan komparasi (perbandingan) serta menampilkan analisis laporan dalam bentuk grafik

FITUR YANG DISEDIAKAN OLEH MYOB
 
§ Accounts
  Menyediakan fitur Account List, Record Journal Entry.
§ Banking
  Menyediakan fitur Spend Money, Bank Register, Reconcile Account, Prepare Bank Deposit, Print Cheque.
§ Sales
  Menyediakan fitur Sales Register,  Enter Sales, Receive Payment, Print Invoice.
§ Time Billing
  Menyediakan fitur Activities List, Enter Activity Slip, Prepare Time Billing Invoice, Activity Log.
§Purchases
  Menyediakan fitur Purchase Register, Enter  Purchase, Print Purchase  Order.
§Inventory
  Menyediakan fitur Item Register, Item List, Set Item Prices, Count Inventory, Adjust Inventory, Transfer Inventory, Auto Build Inventory. 
§ Card File
  Menyediakan fitur Card List seperti Customer, Suplier, Emloyee, Personal.

SUMBER : praktikum sistem informasi & akutansi keuangan


Free Template Blogger collection template Hot Deals SEO

Senin, 28 Maret 2011

Rekayasa Perangkat Lunak (Software Engineering)





Rekayasa perangkat lunak/Software Engineering (SE) berkaitan dengan mengembangkan dan memelihara sistem perangkat lunak yang berperilaku andal dan efisien, yang terjangkau untuk mengembangkan dan memelihara, dan memenuhi semua persyaratan bahwa pelanggan telah ditetapkan untuk mereka. Hal ini penting karena dampak besar, sistem perangkat lunak mahal dan peran perangkat lunak dalam aplikasi keselamatan-kritis.Hal mengintegrasikan matematika signifikan, ilmu komputer dan praktek yang asal usulnya dalam rekayasa.

Siswa dapat menemukan rekayasa perangkat lunak dalam dua konteks: program ilmu komputer yang menawarkan program perangkat lunak satu atau lebih teknik sebagai unsur dari kurikulum CS, dan dalam program rekayasa perangkat lunak terpisah.program Sarjana ilmu komputer dan rekayasa perangkat lunak cenderung memiliki banyak kursus yang sama, namun, pada Spring 2006 ada beberapa SE program di tingkat sarjana. Software engineering berfokus pada pengembangan perangkat lunak dan melampaui pemrograman untuk memasukkan hal-hal seperti memunculkan kebutuhan pelanggan, dan merancang dan pengujian perangkat lunak. SE siswa belajar bagaimana menilai kebutuhan pelanggan dan mengembangkan perangkat lunak berguna yang memenuhi kebutuhan tersebut.


Baik ilmu komputer dan rekayasa perangkat lunak kurikulum biasanya membutuhkan sebuah yayasan di dasar-dasar pemrograman dan ilmu komputer teori dasar. Mereka berbeda dalam fokus mereka di luar unsur-unsur inti. program ilmu komputer cenderung untuk menjaga inti kecil dan kemudian mengharapkan siswa untuk memilih di antara program yang lebih maju (seperti sistem, jaringan, database, kecerdasan buatan, teori, dll). Sebaliknya, program SE umumnya mengharapkan siswa untuk berfokus pada berbagai topik yang penting untuk agenda SE (masalah pemodelan dan analisis, desain perangkat lunak, perangkat lunak dan validasi verifikasi, kualitas perangkat lunak, proses perangkat lunak, manajemen software, dll). Sementara kedua program CS dan SE biasanya membutuhkan siswa untuk mengalami aktivitas tim proyek, program-program SE cenderung untuk melibatkan siswa secara signifikan lebih dari itu, sebagai proses tim yang efektif adalah penting untuk praktek SE efektif. Selain itu, persyaratan utama yang ditetapkan oleh pedoman kurikulum SE adalah SE siswa harus belajar bagaimana membangun perangkat lunak yang benar-benar berguna dan dapat digunakan oleh pelanggan dan memenuhi semua persyaratan yang ditentukan untuk itu.


Kebanyakan orang yang sekarang fungsi di Amerika Serikat sebagai insinyur perangkat lunak yang serius memiliki gelar dalam ilmu komputer, bukan dalam rekayasa perangkat lunak. Pada sebagian besar ini adalah karena derajat komputer telah tersedia secara luas selama lebih dari 30 tahun dan derajat rekayasa perangkat lunak tidak. Posisi yang memerlukan pengembangan sistem perangkat lunak besar sering daftar "Software Engineer" sebagai judul posisi. Lulusan ilmu komputer, teknik komputer, dan program rekayasa perangkat lunak adalah kandidat yang baik untuk posisi tersebut, dengan jumlah studi rekayasa perangkat lunak dalam program-program menentukan kesesuaian yang lulusan untuk posisi tersebut.


Sebagian besar profesional TI yang memiliki derajat komputasi datang dari CS atau program IS. Hal ini jauh terlalu dini untuk seseorang yang ingin bekerja sebagai seorang insinyur perangkat lunak atau sebagai praktisi teknologi informasi untuk takut bahwa mereka tidak akan memiliki kesempatan jika mereka tidak lulus dari program sarjana di salah satu disiplin ilmu baru. Secara umum, gelar CS dari program dihormati adalah yang paling fleksibel derajat dan dapat membuka pintu ke dunia profesional CS, SE, IT, dan kadang-kadang CE. Gelar dari IS dihormati program memungkinkan masuk ke kedua IS dan IT karir.


perhatian Media untuk outsourcing, offshoring, dan migrasi pekerjaan telah menyebabkan banyak khawatir tentang masa depan karir komputasi terkait. Ini di luar lingkup situs web ini untuk mengatasi masalah ini. Laporan dari British Computer Society membahas isu-isu ini karena dampaknya Inggris Laporan Globalisasi ACM Ayub Migrasi Task Force mencerminkan perspektif internasional, bukan hanya satu AS-sentris.


SUMBER :
http://computingcareers.acm.org/?page_id=12

Free Template Blogger collection template Hot Deals SEO

Data Mining dan Web Mining



Web Mining - adalah aplikasi dari data mining teknik untuk menemukan pola dari Web . Menurut analisis target, web mining dapat dibagi menjadi tiga jenis, yaitu web usage miningWeb content mining dan Web structure mining.
Data mining (DM) yang juga dikenal sebagai Knowledge Discovery (Frawley et al., 1992) , merupakan salah satu bidang yang berkembang pesat karena besarnya kebutuhan akan nilai tambah dari database skala besar yang makin banyak terakumulasi sejalan dengan pertumbuhan teknologi informasi. Secara umum, data mining dapat didefinisikan sebagai suatu rangkaian proses untuk menggali nilai tambah berupa ilmu pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data (Pramudiono, 2003).
Web mining merupakan penerapan teknik data mining terhadap web dengan tujuan untuk memperoleh pengetahuan dan informasi lebih dari dalam web.Web mining dapat dikategorikan ke dalam tiga ruang lingkup yang berbeda, yaitu web content miningweb structure mining dan web usage mining (Srivastavaet al., 2000).

Association Rules dan Algoritma Apriori

Association rules merupakan salah satu teknik data mining yang berfungsi untuk menemukan asosiasi antar variabel, korelasi atau suatu struktur diantaraitem atau objek-objek didalam database transaksi, database relasional, maupun pada penyimpanan informasi lainnya.
Sebagai ilustrasi dalam analisis weblog dari association rules adalah sebagai berikut, pola yang mungkin adalah “jika seseorang mengunjungi websiteCNN, terdapat kemungkinan sebesar 60% orang tersebut mengunjungi website Detik pada bulan yang sama.” Pada ilustrasi tersebut, pola yang ditemukan berpotensi menghasilkan potongan informasi yang menarik dan dibutuhkan oleh perusahaan yang terkait.
Proses di dalam teknik assocation rules adalah mencari aturan-aturan yang memenuhi minimum support dan confidence. Algoritma yang pertama kali digunakan dalam teknik association rules dan yang paling banyak digunakan adalah algoritma apriori (Agrawal & Srikant, 1994).

Web Crawler

Web crawler (yang juga dikenal dengan web spider atau web robot) adalah suatu program atau script otomatis yang menjelajahi WWW dengan menggunakan sebuah metode atau cara yang otomatis. Nama-nama yang jarang digunakan pada sebuah web crawler adalah antsautomatic indexersbotsworms(Kobayashi & Takeda, 2000).

Extended Log File Format

Extended Log Format dirancang untuk memenuhi beberapa kebutuhan di bawah ini (Baker & Behlendorf, 1996):
  • Memperbolehkan kontrol pada data yang direkam.
  • Memenuhi kebutuhan proxyclient dan server dalam format yang umum.
  • Menyediakan penanganan yang sempurna akan masalah penghilangan karakter.
  • Memperbolehkan dalam pertukaran demografis data.
  • Memperbolehkan dalam menyajikan rekapitulasi data.

SUMBER :


Free Template Blogger collection template Hot Deals SEO

Sistem Informasi (Information systems)



Sistem Informasi (SI) berkaitan dengan informasi bahwa sistem komputer dapat menyediakan untuk membantu perusahaan, non-profit atau organisasi pemerintah dalam mendefinisikan dan mencapai tujuannya. Hal ini juga berhubungan dengan proses yang perusahaan dapat melaksanakan dan meningkatkan menggunakan teknologi informasi. profesional IS harus memahami faktor teknis dan organisasional, dan harus dapat membantu organisasi menentukan bagaimana informasi dan proses bisnis teknologi memungkinkan dapat memberikan fondasi untuk kinerja organisasi yang unggul. Mereka berfungsi sebagai jembatan antara komunitas teknis dan manajemen dalam sebuah organisasi.

Informasi apa kebutuhan perusahaan? Bagaimana informasi yang dihasilkan? Apakah disampaikan kepada orang-orang yang membutuhkannya? Apakah disajikan kepada mereka dengan cara yang memungkinkan mereka untuk menggunakannya dengan mudah? Apakah organisasi terstruktur untuk dapat menggunakan teknologi secara efektif? Apakah proses bisnis organisasi yang dirancang dengan baik? Apakah mereka menggunakan peluang yang diciptakan oleh teknologi informasi sepenuhnya?Apakah organisasi menggunakan kemampuan komunikasi dan kolaborasi teknologi informasi tepat? Apakah organisasi mampu beradaptasi cukup cepat untuk mengubah keadaan eksternal? Ini adalah isu penting yang bisnis bergantung pada IS orang untuk alamat.


Sebagian besar program IS berlokasi di sekolah bisnis, namun mereka mungkin memiliki nama yang berbeda seperti sistem informasi manajemen, sistem informasi komputer, atau sistem informasi bisnis. Semua IS derajat menggabungkan topik bisnis dan komputasi, tetapi penekanan antara masalah teknis dan organisasi bervariasi antara program. Misalnya, program berbeda secara substansial dalam jumlah diperlukan pemrograman.



Secara tradisional, banyak lulusan IS program telah berfungsi dalam peran yang mirip dengan peran yang program TI secara eksplisit mempersiapkan siswa mereka. Sistem informasi lulusan terus mengisi peran tersebut, namun program-program baru dalam teknologi informasi menawarkan jalur alternatif untuk posisi tersebut.

sumber :


Free Template Blogger collection template Hot Deals SEO

Pengantar Basis Data



STRUCTURE QUERY LANGUAGE
Structure Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language). SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada sebuah program aplikasi.
Komponen-Komponen SQL
a. Data Definition Language (DDL) :
Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.
b. Data Manipulation Language (DML) :
Digunakan untuk memanipulasi data dengan menggunakan perintah : select, insert, update, delete.
Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA' yang ia inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya.
c. Data Control Language (DCL) :
Digunakan untuk mengontrol hak para pemakai data dengan perintah : grant, revoke SQL


DATA DEFINITION LANGUAGE
1. CREATE TABLE
Fungsi : membuat tabel
Sintaks : CREATE TABLE tbname
(col 1 data type data spec,
col 2 data type data spec,
.
.
PRIMARY KEY (col1,……))
Contoh :
CREATE TABLE PERSONEL
(REGNO CHAR(10) NOT NULL,
NAME CHAR(45) NOT NULL,
ADDRESS CHAR(45),
BIRTH DATE NOT NULL WITH DEFAULT,
PRIMARY KEY (REGNO))


NULL
Spesifikasi NULL, NOT NULL, NOT NULL WITH DEFAULT
NULL :
dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. Null bukan berarti kosong (blank) atau 0 (Nol)
NOT NULL :
pemakai atau program harus memberikan nilai-nilai pada saat memasukkan record
NOT NULL WITH DEFAULT :
nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini.
Nilai default-nya :
Nol untuk tipe field NUMERIC
Blank untuk tipe field CHARACTER
CURRENT DATE untuk tipe field DATE
CURRENT TIME untuk tipe field TIME
Pada saat membuat tabel, salah satu atribut tersebut di atas dispesifikasikan pada sebuah kolom.
2. CREATE VIEW
Fungsi : membuat tabel view.
View merupakan bentuk alternatif penyajian data dari satu atau lebih tabel. View dapat berisi semua atau sebagian kolom yang terdapat pada tabel dimana kolom tersebut didefinisikan.
Tujuan membuat view :
• Meningkatkan keamanan data
• Meningkatkan kemandirian data
• Penyederhanaan bagi end user (data yang sedikit, nama-nama kolom yang baru dan dapat dibaca dengan lebih baik)


Properti :
• Tidak terdapatnya data tambahan
• View mencakup subset kolom dan / atau baris
• View dapat berisikan data dari beberapa tabel dan / atau tabel-tabel view lainnya
• View dapat berisikan perolehan data, misal : nilai rata-rata
• Manipulasi data melalui view terbatas
Sintaks : CREATE VIEW viewname (column1, column2, ……..)
AS SELECT statement FROM tbname
[WITH CHECK OPTION]
Keterangan : View-name : nama view yang akan dibuat. Column : nama atribut untuk view Statement : atribut yang dipilih dari tabel basis data. Tabel-name : nama tabel basis data.
Contoh :
CREATE VIEW VPERSON (REGNO, NAME) AS
SELECT REGNO, NAME FROM PAUL.PERSONEL
3. CREATE INDEX
Fungsi : membuat index
Sintaks : CREATE [UNIQUE] INDEX indexname ON nama_table (nama_kolom)
Contoh :
CREATE UNIQUE INDEX PRSONIDX
ON PERSONEL(REGNO)
Dengan indeks memungkinkan suatu tabel diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari datanya dan dapat pula diakses secara cepat


elalui indeks yang dibuat berdasar nilai field tertentu. Spesifikasi UNIQUE akan menolak key yang sama dalam file.
4. DROP TABLE
Fungsi : menghapus Tabel
Sintaks : DROP TABLE tbname
Contoh : DROP TABLE PERSONEL
Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti :
- semua record dalam tabel akan terhapus
- index dan view pada tabel akan hilang
- deskripsi tabel akan hilang
5. DROP VIEW
Fungsi : menghapus view
Sintaks : DROP VIEW viewname
Contoh : DROP VIEW VPERSON
6. DROP INDEX
Fungsi : menghapus index Sintaks : DROP INDEX indexname
Contoh : DROP INDEX PRSONIDX
7. ALTER
Fungsi : merubah atribut pada suatu tabel

Sintaks : ALTER TABLE tbname
MODIFY (nama_kolom tipe_kolom) ADD (nama_kolom tipe_kolom [[before, nama_kolom]]) DROP (nama_kolom tipe_kolom)
Contoh : merubah Tabel TABX dengan menambah Field D.
ALTER TABLE TABX
ADD D CHAR(3)
DATA MANIPULATION LANGUAGE
1. INSERT
Fungsi : menambah baris (record) baru
Sintaks : INSERT INTO tbname (col1, ...) VALUES (value1, ...)
Catatan :
Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks berikut ini : Sintaks : INSERT INTO tbname VALUES (value1, value2, ...) Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut.
2. UPDATE
Fungsi : merubah record
Sintaks : UPDATE tbname SET field = ekspresi WHERE kondisi

3. DELETE
Fungsi : menghapus record
Sintaks : DELETE FROM tbname WHERE kondisi
4. SELECT
Fungsi : menampilkan record
Sintaks : SELECT [DISTINCT] colname FROM tbname [WHERE kondisi] [GROUP BY kondisi] [HAVING kondisi] [ORDER BY kondisi]
Contoh Kasus DDL :
• Membuat Tabel (CREATE TABLE)
1. CREATE TABLE S (Sn Char(5) NOT NULL,
Sname Char(20) NOT NULL,
Status Smallint NOT NULL,
City Char(15) NOT NULL);
2. CREATE TABLE P
(Pn Char(6) NOT NULL,
Pname Char(20) NOT NULL,
Color Char(6) NOT NULL,
Weight Smallint NOT NULL);
3. CREATE TABLE SP
(Sn Char(5) NOT NULL,
Pn Char(6) NOT NULL,
QTY INTEGER NOT NULL);

4. CREATE UNIQUE INDEX Sidx ON S(Sn);
CREATE UNIQUE INDEX Pidx ON P(Pn);
CREATE INDEX Sdx ON SP(Sn);
CREATE INDEX Pdx ON SP(Pn);
• Modifikasi Table P dengan perintah :
RENAME COLUMN P.COLOR TO WARNA
ALTER TABLE P ADD (City CHAR(15) NOT NULL)
• Membuat View (CREATE VIEW) 1. Membuat view untuk suplier yang statusnya lebih besar dari 15
CREATE VIEW GOOD_SUPPLIERS AS SELECT Sn, Status, City FROM S WHERE Status > 15;
2. Membuat view yang berisi supplier yang tinggal di Paris
CREATE VIEW Paris_Suppliers AS SELECT * FROM Supliers WHERE City = ' Paris '
3. Membuat view dengan mengganti nama_atributnya
CREATE VIEW Parts (PNum, Part_Name, WT)
AS SELECT P#, Pname, Weight FROM Part
WHERE COLOR = 'Red'
SQL

- Nina Suri Tilandani --

Free Template Blogger collection template Hot Deals SEO