Pages

This is default featured slide 1 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by Premiumblogtemplates.com

This is default featured slide 2 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by Premiumblogtemplates.com

This is default featured slide 3 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by Premiumblogtemplates.com

This is default featured slide 4 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by Premiumblogtemplates.com

This is default featured slide 5 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by Premiumblogtemplates.com

Rabu, 13 Maret 2013

Notasi Prefix, infix dan Postfix

Tips Membuat Notasi Prefix, Infix, dan Postfix

aritmatika3Dalam struktur data yang banyak dipelajari, kita ketahui adanya 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika, yaitu prefix, infix, dan postfix.
Sebelum kita kupas mengenai notasi di atas, perlu dipahami terlebih dahulu indikator yang membentuk terjadinya notasi dalam struktur data. Notasi terbentuk dari operand dan operator. Operand adalah data atau nilai yang membantu dalam proses sedangkan operator adalah fungsi yang digunakan dalam proses.

Contoh :
A + B * C
2 + 3 * 5
Keterangan : A, B, C, 2, 3, 5 adalah operand
+, * adalah operator
Nahh… sekarang mudah-mudahan sudah dapat diketahui indikator yang membentuk suatu notasi. Selanjutnya kita harus mengetahui level/hirarkhi dari operator seperti
1. ^ (pangkat)
2. * (kali) atau / (bagi)
3. + (jumlah) atau – (kurang)
Seperti yang telah dibahas di awal, diketahui notasi pada struktur data terdiri atas 3 macam, yaitu
1. Prefix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada didepan operand.
Contoh :  A + B * C (Infix)
maka notasi prefixnya adalah   +A*BC
    Pemecahannya :
                       A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C ,prefixnya dengan menggabungkan operand dan memindahkan operator kedepan dari operand, sehingga fungsi B * C, notasi prefixnya menjadi *BC. Sehingga hasil sementara dari notasi prefix adalah
       A + *BC
selanjutnya mencari prefix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan *BC, gabungkan operand, sehingga menjadi A*BC, lalu pindahkan operator kedepan operand, sehingga hasil akhir menjadi
      + A * B C
Contoh yang lain:
1.  A + B  – C * D
        2     3    1   —–>    hirarkhi level
     A + B – *CD   —–>    1
     +AB – *CD     —–>    2
     – +AB *CD     —–>    3
2. A * B ^ C – D
       2   1    3      —–>    hirarkhi
    A * ^BC – D     —–>    1
    *A^BC - D       —–>    2
    -*A^BCD         —–>    3
3.  A + ( B – C ) * D
        3      1      2   —–> hirarkhi
     A + -BC * D      —–>  1 (karena diapit tanda paranthesis atau kurung buka/tutup,( ) )
     A + *-BCD        —–>  2
     + A *-BCD        —–>  3 
2. Infix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada diantara operand. Notasi ini hanya dikenal oleh manusia dan selalu digunakan dalam perhitungan aritmatika.
     Contoh :  A + B * C
                    ( A + B ) * C
                    A – ( B + C ) * D ^ E
3. Postfix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada dibelakang operand. Notasi ini hanya dikenal oleh processor dan dipahami dalam ALU. 
     Contoh :  A + B * C (Infix)
maka notasi postfixnya adalah   ABC*+
    Pemecahannya :
                       A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , postfixnya dengan menggabungkan operand B dan C menjadi BC lalu memindahkan operator ke belakang operand C, sehingga fungsi B * C, notasi postfixnya menjadi BC*. Sehingga hasil sementara dari notasi postfix adalah
       A + BC*
selanjutnya mencari postfix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan BC*, gabungkan operand tersebut, sehingga menjadi ABC*, lalu pindahkan operator + ke belakang operand ABC*, sehingga hasil akhir menjadi
      ABC*+
Contoh yang lain:
1.  A + B  – C * D
        2     3    1   —–>    hirarkhi level
     A + B – CD*   —–>    1
     AB+ – CD*     —–>    2
     AB+CD*-       —–>    3
2. A * B ^ C – D
       2   1    3      —–>    hirarkhi
    A * BC^ – D     —–>    1
    ABC^* - D       —–>    2
    ABC^*D-         —–>    3
3.  A + ( B – C ) * D
        3      1      2   —–> hirarkhi
     A + BC- * D      —–>  1 (karena diapit tanda paranthesis atau kurung buka/tutup,( ) )
     A + BC-D*        —–>  2
     A BC-D*+         —–>  3 
yahh…gitulah pembentukkan notasi yang bisa di sharing dalam pertemuan ini.
Jika ingin menguasai cara pembentukkan notasi ini caranya adalah dengan BANYAK LATIHAN KASUS.
1. A * ( B + C ) / ( D – E ), Notasi Postfix dan Prefix?
2. ABC+*DE-/, Notasi Infix dan Prefix?
3. 223+*32-, berapakah hasilnya

TREE

TREE


Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen.

Tree bisa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root.

Contoh : 

             Direktori/folder pada windows atau linux.




A. Terminologi Pada Tree
         
      Contoh Tree :

B. Operasi Dasar
  • Create: membentuk sebuah tree baru yang kosong.
  •  Clear: menghapus semua elemen tree.
  • Emptymengetahui apakah tree kosong atau tidak.
  •  Insert: menambah node ke dalam Tree secara rekursif.  Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri.  Untuk data pertama akan menjadi elemen root.
  • Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu.  Syaratnya adalah tree tidak boleh kosong.
  •  Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akan dikunjungi sekali.
  • Count: menghitung jumlah node dalam Tree.
  • Height : mengetahui kedalaman sebuah Tree
  • Find Min dan Find Max : mencari nilai terkecil dan terbesar pada Tree
  • Child : mengetahui anak dari sebuah node (jika punya)
C. BST (Binary Search Tree) 

      Suatu tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah.

Tiap node dalam binary tree hanya boleh memiliki paling banyak dua child. 

     Contoh BST :

D. Tree Traversal
       Teknik menyusuri tiap node dalam sebuah tree secara sistematis, sehingga semua node dapat dan hanya satu kali saja dikunjungi
Ada tiga cara traversal
preorder
inorder
postorder
Untuk tree yang kosong, traversal tidak perlu dilakukan


1. Preorder (SLR)
  1. Simpul / Node nya
  2. Subtree sebelah kiri (Left)
  3. Subtree sebelah kana (Right) 
         Contoh :
      Implementasi dalam bahasa C
      struct node {
                         struct node *left;
                         struct node *right;
                         char                 label;
                         }
                          void preorder(struct node *p)
                         {
                          if (p==NULL)  return;       jika empty-tree, tidak perlu lakukan
                          printf(“visit %c ”, p->label);  tampilkan label node yang dikunjungi
                          preorder(p->left);            traverse the left subtree
                          preorder(p->right);    traverse the right subtree
                          }

2. Inorder (LSR)

  1. Subtree sebelah kiri (Left)
  2. Simpul / Node nya
  3. Subtree sebelah kana (Right)
          contoh :

     Implementasi dalam bahasa C
     struct node {
                        struct node *left;
                        struct node *right;
                        char                 label;
                       }
                        void inorder(struct node *p)
                       {
                        if (p==NULL)  return;       jika empty-tree, tidak perlu lakukan
                        inorder(p->left);            traverse the left subtree
                        printf(“visit %c ”, p->label);  tampilkan label node yang dikunjungi
                        inorder(p->right);    traverse the right subtree
                        }

3. Postorder (LRS)

  1. Subtree sebelah kiri (Left)
  2. Subtree sebelah kana (Right)
  3. Simpul /Node nya 
          contoh :
     Implementasi dalam bahasa C
     struct node {
                        struct node *left;
                        struct node *right;
                        char                 label;
                       }
                         void postorder(struct node *p)
                       {
                         if (p==NULL)  return;       jika empty-tree, tidak perlu lakukan
                         postorder(p->left);            traverse the left subtree
                         postorder(p->right);    traverse the right subtree
                         printf(“visit %c ”, p->label);  tampilkan label node yang dikunjungi
                       }
             Contoh Preorder, Postorder, Inorder

Inner Join


SQL INNER JOIN Keyword

The INNER JOIN keyword returns rows when there is at least one match in both tables.

SQL INNER JOIN Syntax

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
PS: INNER JOIN is the same as JOIN.

SQL INNER JOIN Example

The "Persons" table:
P_Id
LastName
FirstName
Address
City
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger
The "Orders" table:
O_Id
OrderNo
P_Id
1
77895
3
2
44678
3
3
22456
1
4
24562
1
5
34764
15
Now we want to list all the persons with any orders.
We use the following SELECT statement:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
The result-set will look like this:
LastName
FirstName
OrderNo
Hansen
Ola
22456
Hansen
Ola
24562
Pettersen
Kari
77895

DML dan DDL pada My SQL


Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
  • DDL - Data Definition Language
    merupakan kumpulan perintah SQL yang digunakan untuk membuatmengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
  • DML - Data Manipulation Language
    merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.

Mari kita lihat dari definisi dan contoh lebih lanjut pada bagian berikut di bawah ini.

DDL - Data Definition Language

Seperti definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger
Contoh :
-- Perintah berikut akan membuat table pada database kita dengan nama "ms_karyawan"
CREATE TABLE ms_karyawan (
  kode_cabang varchar(10) default NULL,
  kode_karyawan varchar(10) NOT NULL,
  nama_depan varchar(8) default NULL,
  nama_belakang varchar(9) default NULL,
  jenis_kelamin varchar(1) default NULL,
  PRIMARY KEY  (kode_karyawan)
)

Daftar Perintah DDL pada MySQL 5.0 

Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.
  • Pembuatan (CREATE)
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE
  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW
  • Tabel Matrix Perintah DDL MySQL 5.0

     OBJECT
    CREATE
     ALTER
     DROP
    RENAME 
     DATABASE
     Yes
    Yes 
     Yes

     FUNCTION
     Yes
    Yes
     Yes

     INDEX
     Yes

     Yes

     PROCEDURE
     Yes
    Yes
     Yes

     TABLE
     Yes
    Yes
     Yes
     Yes
     TRIGGER
     Yes

     Yes

     VIEW
     Yes
    Yes
     Yes


    DML - Data Manipulation Language

    DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.

    Contoh DML : Mengambil Seluruh Row Data dari table MS_KARYAWAN

    SELECT * FROM ms_karyawan



    Contoh DML : Memasukkan data ke dalam tabel ms_karyawan

    INSERT INTO ms_karyawan(
                    kode_cabang,
                    kode_karyawan,
                    nama_depan,
                    nama_belakang,
                    jenis_kelamin)
    VALUES ('cab-001','kar-001','Feris','Thia','Laki-laki');

    Beberapa daftar Perintah DML MySQL 5.0

    • CALL
    • DELETE
    • DO
    • HANDLER
    • INSERT
    • LOAD DATA INFILE
    • REPLACE
    • SELECT
    • TRUNCATE
    • UPDATE

Selasa, 05 Maret 2013

QUEUE

A.    Pengertian Queue (Antrian)
Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran elemen dilakukan pada sisi depan.
Jenis struktur data antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Antrian banyak dijumpai dalam kehidupan sehari-hari. Misal : antrian registrasi mahasiswa, tiket kereta api dan lain-lain.

Berbeda dg stack, prinsip yg digunakan dalam antrian adalah FIFO ( First In First Out ). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya.
Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah penakai ( user ) yg menggunakan sistem tsb secara serempak. Karena sistem ini biasanya menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh seorang user, maka user yang lain harus antri sampai gilirannya.
           
Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan ANTRIAN PRIORITAS ( PRIORITY QUEUE )
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya. DEQUEUE adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga membutuhkan variabel Head dan Tail
           
Deklarasi Queue :
 
 

Notasi Prefix,Infix, dan Postfix


Dalam struktur data yang kita pelajari secara umum ada 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika,yaitu Prefix,Infix,dan postfix.Dan untuk mengetahui notasi-notasi yang diatas itu,sebelumnya kita harus mengenal dan mengetahui indikator yang ada di notasi itu tersebut.

    Notasi ini terbentuk dari Operand dan Operator.
Operand adalah data atau nilai yang membantu dalam proses,sedangkan Operasi adalah fungsi yang digunakan dalam proses.



contohnya:
A+B*C
2 + 5 * 3
Keterangan: A ,B ,C ,2 ,3 ,5 adalah Operand.
+,*  adalah Operator.

   Setelah kita mengenal dan mengetahui dengan Operand dan Operator, maka mari kita mengenal juga tingkat/ level yang ada didalam notasi tersebut:
-( ) (Kurung).
- ^ (Pangkat).
- * / (Perkalian / Pembagian).
- + - (Penjumlahan / Pengurangan).

Notasi ada 3 jenis, yaitu Prefix,Infix dan Postfix yang seperti kita ketahui di atas:

1.Prefix adalah notasi yang terbentuk atas operator dengan operand, dimana oprator didepan operand.
   contoh: A + B * C (infix).
   maka notasi prefixnya adalah: +A*BC.

   Pemecahannya:

                A+B*C

        Diketahui ada 3 operand yaitu: A, B, C dan 2 operand yaitu: +, *.proses dimulai dengan melihat dari hirarkhi oprator.Contoh diatas operator yang tertinggi adalah * kemudian +. Tanda * diapit oleh 2 operand yaitu B*C, prefixnya dengan menggabungkan operand dan memindahkan operator ke depan dari operand,sehingga fungsi B*C, notasi prefixnya menjadi *BC.

Sehingga hasil sementara dari notasi prefix adalah:
      A+*BC

        Selanjutnya mencari prefix untuk operator yang berikutnya yaitu  +, cara yang dilakukan sama seperti diatas, operator + diapit oleh operand, yaitu A dan *BC, gabungkan operand,sehingga menjadi A*BC,lalu pindahkan operator kedepan operand,sehingga hasil akhir menjadi :
     +A*BC.


2.Infix adalah notasi yang membentuk atas operator dengan operand,dimana operator berada diantara operand.
   Contoh :          
                 - A + B * C
                 - (A + B) * C
                 - A - (B + C) * D ^ E


3.Postfix adalah notasi yang membentuk atas operator dengan operand, dimana operator berada dibelakang operand.
   Contoh : A + B * C ( infix).
maka notasi postfix adalah ABC*+.

Pemecahannya:

                  A + B * C

     Diketahui ada 3 operand yaitu : A,B,C dan 2 operator yaitu : +, *. proses dimulai dengan melihat dari hirarkhi operator.Contoh diatas operator yang tertinggi adalah * kemudian +.

Tanda * diapit oleh kedua operand yaitu B dan C yaitu B*C, postfix dengan menggabungkan operand B dan C menjadi BC,lalu memindahkan operator ke belakang operand C, sehingga fungsi B*C, notasi postfixnya menjadi BC*.Sehingga hasil sementara dari notasi postfix adalah A + BC*

      Selanjutnya mencari postfix untuk operator yang berikutnya, yaitu +, dengan cara yang dilakukan sama seperti di atas, operator + diapit oleh 2 operand, yaitu : A dan BC* gabungkan operand tersebut,sehingga menjadi ABC*,lalu pindahkan operator + kebelakang operand ABC*.
Sehingga hasil akhir  menjadi :   ABC*+.

contoh Notasi Huruf :



Contoh Notasi Angka:

UIB BATAM

UIB BATAM
KAMPUS SAYA SIAHKAN KLIK GAMBAR !!!

CALENDER

Diberdayakan oleh Blogger.

Popular Posts

ABOUT ME

Nama saya Randi Perdana Arman
NPM 1231050
Prodi Sisteminformasi di Universitas intenational Batam
Boleh Komen dan Copy isi Blog saya :D
semua ini Untuk share dan belajar bersama :)


VISITORS

Randy|
Perdana Arman

Followers

PROFIL LENGKAP KU

Unknown
Lihat profil lengkapku
Visitors
Locations of Site Visitors

Featured Posts

animasi bergerak naruto dan onepiece
HELICOPTER
Guitar
SistemInformasidanKomunikasi © 2013