BAB II LANDASAN TEORI
2.1
Ekspresi Aritmatika Sebuah ekspresi aritmatika terdiri dari operand dan operator. Operator
dalam ekspresi aritmatika dapat dibagi menjadi 2 jenis (Rosa A.S :2010), yaitu : 1.
Binary operator (operator pasangan).
2.
Unary operator (operator tunggal). Binary operator adalah operator yang memiliki 2 buah operand (diapit
oleh 2 buah operand), sedangkan unary operator adalah operator yang hanya memiliki 1 buah operand (diikuti oleh sebuah operand). Operator – operator yang termasuk dalam binary operator adalah operator penjumlahan (+), pengurangan (), perkalian (*), pembagian (/), modulo (mod), divisor (div), pemangkatan (^), operator logika AND, operator logika OR, dan operator perbandingan (seperti operator lebih besar, lebih kecil, sama dengan, lebih besar sama dengan, lebih kecil sama dengan, dan tidak sama dengan). Sedangkan operator yang termasuk dalam unary operator adalah operator minus (~), operator faktorial (!), operator trigonometri (seperti operator sinus, cosinus, tangen, cotangen, secan, dan cosecan), operator logika NOT, operator exponential (exp) dan fungsi logaritma (log). Prioritas / kedudukan dari masing – masing operator (baik unary operator maupun binary operator) dari tinggi ke rendah adalah sebagai berikut, 1.
Operator pemangkatan (^) dan semua unary operator.
2.
Operator perkalian (*), pembagian (/), modulo (mod) dan divisor (div).
3.
Operator penjumlahan (+) dan pengurangan (-).
4.
Operator perbandingan, yaitu operator lebih besar, lebih kecil, sama dengan, lebih besar sama dengan, lebih kecil sama dengan, dan tidak sama dengan.
5.
Operator logika NOT. 7
8
6.
Operator logika AND dan OR.
7.
Assignment Operator (=). Ekspresi aritmatika akan diselesaikan berdasarkan urutan prioritas dari
operator di atas dengan ketentuan operator yang memiliki prioritas yang lebih tinggi akan diselesaikan terlebih dahulu. Tahapan – tahapan penyelesaian suatu ekspresi aritmatika dapat direpresentasikan dalam bentuk graph yang dinamakan pohon ekspresi (expression tree).
2.1.1
Notasi / Penulisan Ekspresi Aritmatika Polish Notation diperkenalkan oleh seorang ahli matematika Polandia
bernama Jan Lukasiewicz. Polish Notation merupakan notasi penulisan ekspresi aritmatika. Polish Notation terdiri dari 3 bentuk (Rosa A.S :2010), yaitu : 1.
Prefix
2.
Suffix (Postfix)
3.
Infix
2.1.1.1 Infix Bentuk infix merupakan bentuk penulisan normal dari ekspresi aritmatika. Suatu infix dapat berupa operand tunggal, atau gabungan dari unary operator dengan infix, ataupun berupa gabungan dari binary operator dengan dua buah infix. Diagram bentuk infix dapat dilihat pada gambar di bawah ini. Operand
Infix expression
Infix expression
Unary operator
Infix expression
Binary operator
Infix expression
Gambar 2.1 Diagram bentuk infix Bentuk infix dari ekspresi aritmatika tersebut tidak mengubah bentuk penulisan ekspresi dan hanya melakukan pembuangan spasi-spasi yang berlebihan saja. Sebagai contoh, misalkan diketahui suatu ekspresi aritmatika x * y + 2 * (z – 3), maka bentuk infix-nya berupa x*y+2*(z–3).
9
2.1.1.2 Prefix Bentuk prefix merupakan cara / bentuk penulisan ekspresi aritmatika dimana operator ditulis di depan dari operandnya. Suatu prefix dapat berupa operand tunggal, atau gabungan dari unary operator dengan prefix, ataupun berupa gabungan dari binary operator dengan dua buah prefix. Diagram bentuk prefix dapat dilihat pada gambar di bawah ini. Operand
Prefix expression
Unary operator
Binary operator
Prefix expression
Prefix expression
Prefix expression
Gambar 2.2 Diagram bentuk prefix Sebagai contoh, misalkan diketahui suatu ekspresi aritmatika x * y + 2 * (z – 3), maka bentuk prefix-nya berupa : + * x y * 2 – z 3. Proses pengubahan ekspresi aritmatika x * y + 2 * (z – 3) ke dalam bentuk prefix dilakukan berdasarkan urutan prioritas dari operator – operator yang terdapat di dalam ekspresi aritmatika tersebut. Proses dimulai dengan mengubah sub ekspresi (z – 3) menjadi - z 3 sehingga ekspresi aritmatika tersebut menjadi x * y + 2 * - z 3. Proses dilanjutkan dengan mengubah sub ekspresi x * y menjadi * x y sehingga ekspresi aritmatika menjadi * x y + 2 * - z 3 dan dilanjutkan dengan mengubah bentuk 2 * - z 3 menjadi * 2 – z 3 sehingga ekspresi aritmatika menjadi * x y + * 2 – z 3. Proses diakhiri dengan mengubah ekspresi aritmatika menjadi bentuk prefix + * x y * 2 – z 3.
2.1.1.3 Suffix (Postfix) Bentuk suffix (postfix) merupakan cara / bentuk penulisan ekspresi aritmatika dimana operator ditulis di belakang dari operandnya. Suatu suffix dapat berupa operand tunggal, atau gabungan dari suffix dengan unary operator, ataupun berupa gabungan dari dua buah suffix dengan binary operator. Diagram bentuk suffix dapat dilihat pada gambar di bawah ini.
10
Operand
Suffix expression
Suffix expression
Suffix expression
Unary operator
Suffix expression
Binary operator
Gambar 2.3 Diagram bentuk suffix Sebagai contoh, misalkan diketahui suatu ekspresi aritmatika x * y + 2 * (z – 3), maka bentuk suffix-nya berupa : x y * 2 z 3 - * +. Proses pengubahan ekspresi aritmatika x * y + 2 * (z – 3) ke dalam bentuk suffix (postfix) juga dilakukan berdasarkan urutan prioritas dari operator – operator yang terdapat di dalam ekspresi aritmatika tersebut. Proses dimulai dengan mengubah sub ekspresi (z – 3) menjadi z 3 - sehingga ekspresi aritmatika tersebut menjadi x * y + 2 * z 3 -. Proses dilanjutkan dengan mengubah sub ekspresi x * y menjadi x y * sehingga ekspresi aritmatika menjadi x y * + 2 * z 3 dan dilanjutkan dengan mengubah bentuk 2 * z 3 - menjadi 2 z 3 - * sehingga ekspresi aritmatika menjadi x y * + 2 z 3 - *. Proses diakhiri dengan mengubah ekspresi aritmatika menjadi bentuk suffix x y * 2 z 3 - * +.
2.1.2
Pohon Ekspresi (Expression Tree) Pohon ekspresi (expression tree) adalah sebuah pohon biner (binary tree)
dimana daun berisi operand yang terdapat dalam ekspresi aritmatika dan akar berisi operator yang terdapat dalam ekspresi aritmatika tersebut. Proses pembacaan dari pohon ekspresi dimulai dari daun paling kiri hingga akar utama. Operand dan operator yang berada pada level bawah akan dibaca terlebih dahulu. Sebagai contoh, misalkan diketahui sebuah ekspresi matematika x * y + 2 * (z – 3), maka pohon ekspresinya adalah sebagai berikut,
11
+ *
* x
y
2
z
3
Gambar 2.4 Pohon Ekspresi untuk Ekspresi Aritmatika x * y + 2 * (z – 3)
Sesuai dengan struktur pohon ekspresi di atas, maka proses penyelesaian ekspresi aritmatika x * y + 2 * (z – 3) dibagi menjadi 2 bagian, yaitu sub ekspresi di sebelah kiri operator penjumlahan (+) dan sub ekspresi di sebelah kanan operator penjumlahan (+). Left subtree dari pohon ekspresi menggambarkan proses penyelesaian sub ekspresi di sebelah kiri operator penjumlahan (+), dan right subtree menggambarkan proses penyelesaian sub ekspresi di sebelah kanan operator penjumlahan (+). Operator dan operand yang berada pada kedudukan (level) yang lebih bawah pada pohon akan dikerjakan terlebih dahulu. Proses pembacaan pada left subtree akan membaca sub ekspresi (x * y). Sedangkan proses pembacaan pada right subtree akan dimulai dengan membaca sub ekspresi (z – 3) terlebih dahulu dan dilanjutkan dengan pembacaan sub ekspresi 2 * (z – 3). Proses pembacaan akan diakhiri dengan menggabungkan hasil proses pembacaan pada left subtree dan right subtree, sehingga didapat ekspresi aritmatika x * y + 2 * (z – 3).
2.1.3
Tree Pohon (tree) merupakan struktur data nonlinier yang banyak digunakan
dalam aplikasi sehari-hari (Rosa A.S :2010). Contoh aplikasi pohon yang dapat kita lihat sehari-hari adalah pengelolaan file dalam direktori penyimpanan. Pohon merupakan struktur data yang memiliki suatu struktur hirarki pada sekumpulan elemen, dan memiliki hubungan satu ke banyak (one to may relationship) seperti
12
yang kita lihat dalam struktur organisasi sebuah perusahaan atau daftar isi sebuah buku. Dalam struktur organisasi kita dapat melihat bahwa ada level atas biasanya hanya ada satu pimpinan tertinggi. Pada level berikutnya diisi oleh beberapa orang dengan jabatan yang berbeda tetapi dalam tingkatan yang sama. Selanjutnya dapat dipecah lagi ke level berikutnya sampai struktur dapat memenuhi fungsi dan tujuan organisasi. Biasanya satu atasan memiliki beberapa bawahan yang berada dalam ruang lingkup wewenang dan tugas atasan. Begitu juga dalam daftar isi buku, dimana satu buku terdiri dari beberapa bab dan setiap terdiri dari beberapa sub bab, satu sub bab terdiri dari beberapa sub sub bab dan seterusnya. Dengan demikian hirarki dapat kita anggap sebagai “terdiri dari” atau “bawahan” atau “diawasi” dari atas ke bawah. Salah satu keuntungan pohon dibandingkan dengan struktur data linier adalah waktu cari sebuah node maksimum (dapat) lebih kecil dari n jika jumlah data = n. Sebuah tree dapat mempunyai hanya sebuah simpul tanpa sebuah sisi pun. Dengan kata lain, jika G = (V, E) adalah tree, maka V tidak boleh berupa himpunan kosong, namun E boleh kosong. Tree juga seringkali didefinisikan sebagai graf tak-berarah dengan sifat bahwa hanya terdapat sebuah lintasan unik antara setiap pasang simpul. Selain itu, di dalam tree jumlah sisinya adalah jumlah simpul dikurangi satu. Secara sederhana, sebuah tree bisa didefenisikan sebagai kumpulan dari elemen – elemen yang disebut dengan node / vertex (simpul) dimana salah satu node disebut dengan root (akar), dan sisa node lain terpecah menjadi himpunan yang saling tidak berhubungan satu sama lain dan disebut dengan subtree (pohon bagian). Jika dilihat pada setiap subtree maka subtree juga mempunyai root dari subtree-nya masing – masing. Dengan melihat istilah dasar di atas, maka sebuah tree secara rekursif dapat didefenisikan sebagai berikut : 1.
Sebuah node tunggal adalah sebuah tree.
2.
Jika terdapat sebuah node N dan beberapa subtree N1, N2, N3, …, Nk maka dari node N dan subtree yang ada dapat dibentuk sebuah tree yang mempunyai root pada node N.
13
N Sebuah node tunggal, N
N1
N2
N3
Nk
Subtree N1, N2, N3, …, Nk
N
N1
N2
N3
Nk
Tree baru yang terbentuk dari node N dan subtree N1, N2, N3, …, Nk
Gambar 2.5 Contoh pembentukan Tree Level 1
A
D I
E J
2
C
B F K
G L
H M
N
3 4
O
Gambar 2.6 Contoh tree dengan 15 node
5
14
Seperti yang terlihat pada gambar 2.6 di atas, sebenarnya yang disebut dengan node itu adalah bagian dari tree yang berisikan data / informasi dan penunjuk percabangan. Tree pada gambar 2.6 berisi 15 node yang berisikan informasi berupa huruf A, B, C, D hingga huruf O lengkap dengan percabangannya masing – masing, dimana tree ini mempunyai root pada node A. Hubungan antara satu node dengan node lain bisa dianalogikan seperti halnya dalam sebuah keluarga, yaitu ada anak, bapak, saudara, dan lain – lain. Dalam gambar 2.6 node A adalah bapak dari node B dan C, dengan demikian node B dan C ini bersaudara. Node D dan E adalah anak dari node B. Node C adalah paman dari node D dan E. Level (tingkatan) suatu node ditentukan dengan pertama kali menentukan root sebagai tingkat pertama. Jika suatu node dinyatakan sebagai tingkat N, maka node yang merupakan anaknya dikatakan berada dalam tingkat N + 1. Gambar 2.6 menunjukkan contoh tree lengkap dengan level pada setiap node. Di samping defenisi di atas, ada juga beberapa buku yang menyebutkan bahwa root dinyatakan sebagai level 0 dan node lain dinyatakan mempunyai level 1 tingkat lebih tinggi dari root. Selain level, juga dikenal istilah degree (derajat) dari suatu node. Degree suatu node dinyatakan sebagai banyaknya anak atau turunan dari node tersebut. Sebagai contoh dalam gambar 2.6 node A mempunyai degree 2, node B mempunyai degree 2, dan node C mempunyai degree 3. Node lain F, H, I, J, K, L, N, dan O yang semuanya mempunyai degree 0 disebut juga dengan leaves (daun). Leaf dan root tergolong external node (simpul luar), sedangkan selain node tersebut di atas disebut dengan internal node (simpul dalam). Height / depth (ketinggian / kedalaman) dari suatu tree adalah tingkat maksimum dari suatu node dalam tree tersebut dikurangi dengan 1. Dengan demikian tree pada gambar 2.6 yang mempunyai root pada node A mempunyai height 4. Ancestor (leluhur) dari suatu node adalah semua node yang terletak dalam suatu jalur dengan node tersebut mulai dari root sampai node yang ditinjau. Sebagai contoh ancestor dari node L gambar 2.7 adalah node A, C, dan G.
15
Descendant (keturunan) dari suatu node adalah semua node yang terletak tepat di bawah node tersebut. Sebagai contoh descendant dari node G pada gambar 2.6 adalah node L, M, N, dan O. Predecessor dari suatu node adalah semua node yang berada pada level di atas dari level node tersebut. Sebagai contoh predecessor dari node G pada gambar 2.6 adalah node A, B, dan C. Successor dari suatu node adalah semua node yang berada pada level di bawah dari level node tersebut. Sebagai contoh successor dari node G pada gambar 2.6 adalah node I, J, K, L, M, N, dan O. Sibling dari suatu node adalah semua node yang berada pada level yang sama yang berasal dari node asal (satu level di atas node yang ditinjau) yang sama dengan node tersebut. Sebagai contoh sibling dari node G pada gambar 2.6 adalah node F dan H.
2.1.3.1 Binary Tree Binary Tree (pohon biner) didefenisikan sebagai suatu kumpulan node yang mungkin kosong atau mempunyai root dan paling banyak dua subtree (anak) yang saling terpisah yang disebut dengan left subtree (pohon bagian kiri / anak kiri / cabang kiri) dan right subtree (pohon bagian kanan / anak kanan / cabang kanan). Subtree bisa disebut juga dengan istilah branch (cabang). Binary tree merupakan tipe yang sangat penting dari struktur data tree, dan banyak dijumpai dalam berbagai terapan. Lebih lanjut, dalam binary tree akan dibedakan antara left subtree dengan right subtree, sementara dalam struktur tree secara umum urutan ini tidak penting. Jadi binary tree merupakan bentuk tree yang beraturan. Karakteristik lain adalah bahwa dalam binary tree dimungkinkan tidak mempunyai node. Gambar 2.7 berikut ini menunjukkan contoh suatu binary tree.
16
A
C
B
D I
F
G J
H K
L
Gambar 2.7 Contoh binary tree
Pengertian leaf, parent, child, level, dan degree yang berlaku dalam tree juga berlaku dalam binary tree. Selain defenisi yang telah ada, dalam binary tree juga dikenal istilah complete binary tree (pohon biner lengkap) level N, yang didefenisikan sebagai sembarang binary tree dimana semua leaf – nya terdapat pada level N dan semua node yang mempunyai level lebih kecil dari N selalu mempunyai left subtree dan right subtree. Gambar 2.8 berikut ini merupakan contoh complete binary tree level 4, tetapi bukan complete binary tree level 5.
17
Level A
1
B
D
H
E
I
2
C
J
L
F
K
G
L
M
M
N
R
3 O
S
4 5
Gambar 2.8 Complete binary tree level 4
Selain istilah complete binary tree, juga ada istilah skewed binary tree (pohon biner miring), yaitu suatu binary tree yang banyaknya node dalam left subtree tidak seimbang dengan banyaknya node dalam right subtree. Gambar 2.9 menunjukkan right dan left skewed binary tree.
B
D
C
G
H
O
1
S
a.
b.
Gambar 2.9 Contoh skewed binary tree (a) Skewed left (b) Skewed right
18
Dengan memperhatikan gambar sembarang binary tree, kita akan memperoleh tambahan informasi, yaitu banyaknya node maksimum pada level N adalah 2 (N-1). Sehingga banyaknya node maksimum sampai level N adalah : N
Σ
2 (i-1) = 2 N – 1
i=1
Dengan demikian untuk complete binary tree level 5, banyaknya leaf adalah 16 buah dan banyaknya node yang bukan leaf, termasuk root, adalah 15 buah.
2.1.3.2 Proses Traversal pada Binary Tree Pohon biner (Binary Tree) dapat ditelusuri dengan 4 cara (Rosa A.S :2010), yakni: a.
Preorder Traversal (Penelusuran Preorder)
b.
Inorder Traversal (Penelusuran Inorder)
c.
Postorder Traversal (Penelusuran Postorder)
d.
Levelorder Traversal (Penelusuran Level demi Level)
a.
Preorder Traversal (Penelusuran Preorder) Pre berarti sebelum. Jadi pendaftaran parent dilakukan sebelum subtree -
nya. Kemudian lakukan preorder terhadap left subtree dan right subtree. Rumus untuk preorder traversal adalah : Atas, Kiri (kalau ada), Kanan (kalau ada). Contoh lainnya diambil binary tree pada gambar 2.10 di bawah ini.
H K
A J
C B
D
Gambar 2.10 Contoh binary tree
L
19
Dari binary tree gambar 2.10 apabila dilakukan preorder traversal akan menghasilkan data “H, A, C, B, D, K, J, L” dimana proses traversal ini bisa dilihat pada gambar 2.11 .
Preorder
Cetak Node H
Cetak Node A
Left subtree
Left subtree (kosong)
Cetak Node C
Cetak Node B Left subtree (kosong)
Right subtree
Left subtree
Right subtree (kosong)
A
C
C B
D
Right subtree
Cetak NodeDK B Left subtree
B
D Right subtree Cetak Node J
Cetak Node D Left subtree (kosong) Right subtree (kosong)
Left subtree (kosong)
J K J
L
Right subtree (kosong)
Right subtree L
Cetak Node L Left subtree (kosong) Right subtree (kosong)
Gambar 2.11 Proses Preorder traversal dari binary tree gambar 2.10 Prosedur penyelesaian Preorder traversal dapat dituliskan dalam bahasa Pascal seperti berikut,
Procedure PreOrder (Aku : Pohon); Begin If (Aku = NIL) then Write(‘Pohon Biner belum ada.’) Else Begin Writeln(Aku^.Isi); PreOrder(Aku^.Kiri); PreOrder(Aku^.Kanan); End; End;
20
b.
Inorder Traversal (Penelusuran Inorder) In artinya di antara. Jadi pendaftaran parent - nya dilakukan di antara left
subtree dan right subtree. Untuk menyelesaikan (menelusuri) left subtree dan right subtree dilakukan dengan cara Inorder juga. Rumus untuk inorder traversal adalah: Kiri (kalau ada), Atas, Kanan (kalau ada). Jika dilakukan inorder traversal terhadap binary tree gambar 2.10, akan menghasilkan data “A, B, C, D, H, J, K, L” dimana proses traversal ini bisa dilihat pada gambar 2.12. Left subtree (kosong)
Left subtree A
Left subtree (kosong) Cetak Node A
Left subtree
Right subtree
Cetak Node C
Left subtree (kosong)
Right subtree
Cetak Node D
B
C
C
Cetak Node B Right subtree (kosong)
Right subtree (kosong) B
Inorder
D
B
Cetak Node H
D
Left subtree
D Left subtree (kosong) Cetak Node J Right subtree (kosong)
J
Right subtree
Cetak Node K Right subtree
K J
L
Left subtree (kosong) Cetak Node L Right subtree (kosong)
L
Gambar 2.12 Proses Inorder Traversal dari binary Tree gambar 2.10
Prosedur penyelesaian Inorder traversal dapat dituliskan dalam bahasa Pascal seperti berikut, Procedure InOrder (Aku : Pohon); Begin If (Aku = NIL) then Write(‘Pohon Biner belum ada.’) Else Begin InOrder(Aku^.Kiri);
21
Writeln(Aku^.Isi); InOrder(Aku^.Kanan); End; End;
c.
Postorder Traversal (Penelusuran Postorder) Post artinya setelah. Jadi pendaftaran parent - nya dilakukan setelah left
subtree dan right subtree. Untuk menelusuri left subtree dan right subtree lakukan dengan cara postorder pula. Rumus untuk Postorder Traversal adalah : Kiri (kalau ada), Kanan (kalau ada), Atas. Jika dilakukan postorder traversal terhadap binary tree pada gambar 2.10, akan menghasilkan data “B, D, C, A, J, L, K, H” dimana proses traversal ini bisa dilihat pada gambar 2.13. Left subtree (kosong) Left subtree (kosong)
Left subtree
B
Right subtree
C B
C B
D
Right subtree (kosong) Cetak Node B
Right subtree
A
Postorder
Left subtree
D
D
Cetak Node C
Cetak Node A
Left subtree (kosong) Right subtree (kosong) Cetak Node D
Left subtree (kosong)
Right subtree Left subtree
Right subtree (kosong)
K J
Cetak Node J
J
L
Left subtree (kosong) Right subtree
Cetak Node L Right subtree (kosong)
L
Cetak Node H
Cetak Node K
Gambar 2.13 Proses Postorder Traversal dari binary tree gambar 2.10
Prosedur penyelesaian Postorder traversal dapat dituliskan dalam bahasa Pascal seperti berikut, Procedure PostOrder (Aku : Pohon);
22
Begin If (Aku = NIL) then Write(‘Pohon Biner belum ada.’) Else Begin PostOrder(Aku^.Kiri); PostOrder(Aku^.Kanan); Writeln(Aku^.Isi); End; End;
d.
Levelorder Traversal (Penelusuran Level demi Level) Penelusuran dengan cara ini dilakukan mulai dari root kemudian
pendaftaran level demi level dari kiri ke kanan. Jika dilakukan levelorder traversal terhadap binary tree gambar 2.10, akan menghasilkan data “H, A, K, C, J, L, B, D”.
2.2
Unified Modeling Language (UML) Menurut pendapat Rumbaugh, Jacobson dan Booch ( 1999, p3 ), “ Unified
Modeling Language (UML) is a general- purpose visual modeling language that is used to specify, visualize, construct, and document the artifact of a software systems. It’ captures decisions and understanding about systems that must be constructed. It’s used to understand, design, browse, configure, maintain, and control information about such system”. Dapat diartikan sebagai berikut , “Unified Modeling Language (UML) adalah bahasa visual modeling yang digunakan untuk menentukan, memberikan gambaran, gagasan dan dokumentasi dari sebuah system software, juga untuk mengambil keputusan dan mengerti mengenai sistem yang akan dibangun. Digunakan agar sistem yang dibuat dapat dimengerti, dirancang, dibentuk, dipelihara, dan dikontrol informasinya.
23
2.2.1
Use Case Diagram Berdasarkan pendapat Mathiassen ( 2000, p120 ), Usecase adalah suatu
pola yang menggambarkan interaksi antara sistem dengan actor pada suatu sistem. Berdasarkan pendapat Jones dan Rama (2003,p348), Usecase adalah urutan atas tahap-tahap yang melibatkan interaksi antara actor dan system untuk tujuan yang nyata Jadi dapat disimpulkan bahwa Usecase adalah pola interaksi antara actor dan sistem dalam application domain untuk tujuan yang nyata.
2.2.1.1 Simbol Use Case Diagram Berdasarkan pendapat Mathiassen ( 2000, p120 ), Notasi-notasi atau simbol yang digunakan dalam usecase diagram : a.
Usecase UseCase
Gambar 2.14 Usecase
Usecase adalah suatu pola yang menggambarkan interaksi antara sistem dengan aktor pada suatu sistem.
b.
Actor
Actor
Gambar 2.15 Actor
Actor adalah penggambaran seorang pengguna (user) atau sistem lain yang berhubungan dengan suatu sistem.
24
c.
Association
Gambar 2.16 Association
Association adalah garis komunikasi actor dengan usecase yang berpartisipasi di dalamnya.
d.
System boundary System
Gambar 2.17 System boundary
Batasan sistem dimana usecase dieksekusi.
2.2.2
Activity Diagram Menurut pendapat Jones, Rama ( 2006 , p60 ), “Activity diagram plays the
role of a “map” in understanding business processes by showing the sequence of activities in the process “. Dapat diartikan sebagai berikut, “activity diagram adalah sebuah representasi grafik yang digunakan untuk menunjukan urutan aktivitas dalam suatu proses bisnis dengan tujuan untuk memahami proses bisnis tersebut”.
2.2.2.1 Simbol Activity Diagram Menurut pendapat Jones dan Rama (2006, p62), symbol utama yang ada pada activity diagram adalah : a.
Swimlane “Swimlane responsible for the particular event or activity is a column in an activity diagram that separates activities or events according to the person or department”. Dapat diartikan sebagai berikut “Swimlane
25
adalah sebuah kolom dalam activity diagram yang memisahkan aktivitas baru atau event berdasarkan orang atau departemen yang bertanggung jawab atas aktivitas atau event yang berhubungan”. b.
” Agents outside the organization (e.g.,the customer) are also represented in swimlane”. Dapat diartikan sebagai berikut “agent-agent diluar organisasi (seperti konsumen) ditampilkan dalam swimlane”.
c.
“The computer system use to record and process AIS data is represented by a swimlane”. Dapat diartikan sebagai berikut,”komputer digunakan untuk mencatat dan memproses data SIA ditampilkan dalam sebuah swimlane”.
d.
A Solid Circle
Gambar 2.18 Solid Circle
“Represents the start of the process. It appers in the swimlane of the agents (inside or outside the organization) who initiates the process”. Dapat diartikan sebagai berikut,“sebuah lingkaran berisi menunjukkan awal dari proses. Ini muncul dalam swimlane
agent(dalam maupun
luar perusahaan) yang memulai proses”. e.
Rounded rectangle “Rounded circle shown an event, activity or trigger”. Dapat diartikan sebagai berikut,”segiempat yang berisi bulat yang menunjukkan suatu event, aktivitas atau pemicu terjadinya suatu event”.
Gambar 2.19 Rounded Rectangle
26
f.
“Continuous line with arrows are used to show the sequence of events”. Dapat diartikan sebagai berikut,”garis panah menunjukkan urutan dari event”.
Gambar 2.20 Continuous Line
g.
“We use a document symbol to represent source documents and reports”. Dapat diartikan sebagia berikut,”kita menggunakan simbol document untuk menampilkan document sumber dan laporan-laporan”.
Gambar 2.21 Document h.
“Dotted lines with arrow are use to represent the flow of information between events”. Dapat diartikan sebagai berikut,”garis panah terputusutus menunjukkan arus informasi antara event”.
Gambar 2.22 Dotted Line With Arrow
i.
“A computer file from which data may be read froma recorded in computer files during business events”. Dapat diartikan sebagai berikut,”suatu file komputer dimana data dalam file computer tersebut bisa dibaca dari atau dicatat dalam computer selama event bisnis”.
27
Gambar 2.23 Table j.
“Dotted lines are used to connect events and table to show how table data are created or used by events”. Dapat diartikan sebagai berikut,”haris putus-putus digunakan untuk menghubungkan event dan table
untuk
menunjukkan
bagaimana
table
data
dibuat
dan
dugunakan oleh event”.
Gambar 2.24 Dotted Line
k.
“A bull’s-eye represent the end of the process”. Dapat diartikan sebagai berikut,”sebuah sasaran menunjukkan akhir dari proses”.
Gambar 2.25 Bull’s-eye
2.3
Pembelajaran Berbantuan Komputer / Computer Aided Intruction (CAI)
2.3.1
Definisi Pembelajaran Berbantuan Komputer Istilah CAI (Computer Assisted Intruction) umumnya menunjuk pada
semua software pendidikan yang diakses melalui computer dimana anak didik dapat berinteraksi dengannya. Sistem computer menyajikan serangkaian program program pengajaran kepada anak didik baik berupa informasi maupun latihan soal-soal untuk mencapai tujuan pengajaran tertentu dan pelajaran dapat disajikan program CAI melalui berbagai macam metode seperti : drill and practice, tutorial,
28
simulasi, permainan, problem-solving, dan lain sebagainya (idris, 2008). CAI atau pengajaran dengan bantuan computer adalah pengajaran yang menggunakan komputer sebagai alat bantu. Komputer ini dapat dilengkapi sehingga dapat memperluas fungsinyadan dapat digunakan sebagai mesi belajar atau teaching machine.
2.3.2 Model Pembelajaran Berbatuan Komputer Model CAI (idris, 2008) dapat dibedakan menjadi 5 jenis yaitu : 1. Tutorial (Penjelasan) Tutorial memakai teori dan strategi pembelajaran dengan memberikan materi, pernyataan, contoh, latihan dan kuis agar murid dapat menyelesaikan suatu masalah. Informasi atau mata pelajaran disajikan dalam modul-modul kecil, lalu disusul dengan pertanyaan. Respon siswa dianalisa computer, umpan balik yang benar diberikan, sehingga siswa merasa berinteraksi langsung dengan pengajar. 2. Drill and Practice (Latihan dan Praktik) Latihan dan praktik merupakan salah bentuk CAI dimana metode pengajaran dilakukan dengan memberikan latihan berulang-ulang. Pendekatan ini menekankan pengajaran dengan menghafal tanpa memberikan kemampuan untuk memahaminya, dimana ingatan manusia dilatih dengan memberikan latihan terus menerus sehinga materi tertanam dalm otak. Bentuk ini cocok dipakai dalam tingkat pendidikan dasar. 3. Problem Solving (Pemecahan Masalah) Pada model pemecahan masalah, siswa dituntut untuk menganalisa masalah dan memecahkannya. Tujuannya agar siswa dapat memperoleh pengertian yang lebih mendalam mengenai masalah yang sangat kompleks. 4. Simulasi Simulasi digunakan untuk mengkaji permasalahn yang rumit, aspek penting dari objek dicatat oleh computer, model dibuat semirip mungkin dengan model nyata dari permasalahan yang dipelajari oleh siswa,
29
sihingga siswa dapat mengkaji kaitan antara besaran objek yang penting, cara ini banyak digunakan di biologi, transportasi, ekonomi dan ilmu computer. 5. Games (Permainan) Dalam dunia akademis, permainan seringkali dapat dimanfaatkan untuk menambah pengetahuan dengan cara yang santai karena didalam permainan
terdapat
unsur
hiburan.
Permainan
dapat
dilakukan
berulangkali sehinggadapat melatih kecepatan respon dari pemakai. Metode ini dapat juga berupa simulasi, yang mempunyai lawan dalam melakukan permainan.
2.3.3
Keuntungan dan Keterbatasan CAI
Keuntungan pembelajaran berbantuan computer : 1.
Pembelajaran berbantuan computer bila dirancang dengan baik, merupakan media pembelajaran yang sangat efektif, dapat memudahkan dan meningkatkan kualitas pembelajaran.
2.
Meningkatkan motivasi belajar siswa
3.
Mendukun pembelajaran individual sesuai kemampuan siswa.
4.
Melati siswa untuk terampil memilih bagian-bagian isi pembelajaran yang dikehendaki.
5.
Dalam mengerjakan latihan-latihan proses koreksi jawaban dapat dimintakan bantuan komputer dan disajikan dengan cepat atau sesuai kecepatan yang diperlukan pembelajar.
6.
Materi dapat diulang-ulang sesuai keperluan, tanpa harus menimbulkan rasa jenuh guru atau nara sumbernya.
Keterbatasan CAI adalah : 1. Keterbatasan bentuk dialog/ komunikasi 2. Sering siswa mempunyai jalan pikiran yang belum tentu dapat terancang dan diungkapkan dengan tepat melalui komputer.
30
3. Untuk feedback yang diperlukan siswa pada dasarnya sering sangat bervariasi, tetapi dengan komputer kepentingan siswa masing-masing tidak selalu dapat terlacak atau disediakan oleh program komputer. 4. Beberapa program yang disediakan mungkin menyebabkan belajar hafalan yang kurang bermakna bagi siswa. 5. keterseringan
menggunakan
komputer
dapat
menyebabkan
ketergantungan yang berakibat kurang baik. 6. Mengurangi sikap interaksi social yang seharusnya merupakan bagian dalam pendidikan.
2.4
Konsep Dasar Startegi Pembelajaran / Contextual Teaching and Learning (CTL)
2.4.1
Definisi Konsep Dasar Strategi Pembelajaran Kata kontekstual (contextual) berasal dari kata context yang berarti “
hubungan, konteks, suasana dan keadaan (konteks)” (KUBI, 2002:519). Sehingga contextual teaching and learning (CTL) dapat diartikan sebagai suatu pembelajaran yang berhubungan dengan suasana tertentu. Secara umum contextual mengandung arti : Yang berkenan, relevan, ada hubungan atau kaitan langsung mengikuti konteks; Yang membawa maksud, makna, dan kepentingan. Dari konsep tersebut ada tiga hal yang harus kita pahami: 1. CTL mendorong agar siswa dapat menemukan hubungan antara materi yang dipelajari dengan situasi kehidupan nyata, artinya siswa dituntut untuk dapat menangkap hubungan antara pengalaman belajar disekolah dengan kehidupan nyata. 2. CTL mendorong siswa untuk dapat menerapkannya dalam kehidupan, artinya CTL bukan hanya mengharapkan siswa dapat memahami materi yang dipelajarinya, akan tetapi bagaimana materi pelajaran itu dapat mewarnai prilaku dalam kehidupan sehari-hari.
31
2.4.2
Karakteristik CTL Terdapat lima karakteristik penting dalam proses pembelajaran yang
menggunakan pendekatan CTL, yaitu (Sanjaya :2010): 1. Dalam CTL, pembelajaran merupakan proses pengaktifan pengetahuan yang sudah ada, artinya apa yang akan dipelajari tidak terlepas dari pengetahuan yang sudah dipelajari, sehingga pengetahuan yang diperoleh siswa adalah pengetahuan yang utuh yang memiliki keterkaitan satu sama lain. 2. Pembelajaran yang kontekstual adalah dalam rangka memperoleh dan menambah pengetahuan baru. Pengetahuan baru itu diperoleh dengan cara dedukatif, artinya pembelajaran dimulai dengan mempelajari secara keseluruhan, kemudian memperhatikan detailnya. 3. Pemahaman pengetahuan, artinya pengetahuan yang diperoleh bukan untuk dihafal tetapi untuk dipahami dan diyakini, misalnya dengan cara meminta
tanggapan
dari
yang
lain
tentang
pengetahuan
yang
diperolehnya dan berdasarkan tanggapan tersebut baru pengetahuan itu dikembangkan. 4. Mempraktikan
pengetahuan
dan
pengalaman
tersebut,
artinya
pengetahuan dan pengalaman yang diperoleh harus dapat diaplikasikan dalam kehidupan siswa. 5. Melakukan refleksi terhadap strategi pengembangan pengetahuan. Hal ini dilakukan
sebagai
umpan
balik
untuk
proses
perbaikan
dan
penyempurnaan strategi.
2.4.3
Asas=Asas CTL CTL sebagai suatu pendekatan pembelajaran memilik tujuh asas.
Asas=asas ini melandasi pelaksanaan proses pembelajaran dengan menggunakan pendekatan CTL. Asas ini sering juga disebut sebagai komponen-komponen CTL, berikut ketujuh asas dari CTL (Sanjaya, 2010):
32
1. Konstruktivisme Kontruktivisme adalah proses membangun atau menyusun pengetahuan baru dalam struktur kognitif siswa berdasarkan pengalaman. 2. Inkuiri Inkuiri mempunyai arti bahwa proses pembelajaran didasarkan pada pencarian dan penemuan melalui proses berpikir secara sistematis. Pengetahuan bukanlah sejumlah fakta hasil dari mengingat, akan tetapi hasil dari proses menemukan sendiri. 3. Bertanya (Questioning) Belajar pada hakikatnya adalah bertanya dan menjawab pertanyaan. Bertanya dapat dipandang sebagai refleksi dari keingintahuan setiap individu, sdangkan menjawab pertanyaan mencerminkan pengetahuan seseorang dalam berpikir. 4. Masyarakat Belajar (Learning Community) Konsep masyarakat belajar menyarankan hasil pembelajaran didapat dari hasil kerja sama dengan orang lain. Hasil belajar di peroleh dari “sharing” antar teman atau antar kelompok dan antar yang tahu ke yang belum tahu. Masyarakat belajar akan berjalan baik jika terjadi komunikasi dua arah, duakelompok atau lebih yang terlibat aktif dalam komunikasi pembelajaran saling belajar. 5. Pemodelan (Modelling) Membahasakan yang ada dalm pemikiran adalah salah satu bentuk dari pemodelan. Jelasnya pemodelan adalah membahaskan yang dipikirkan, mendemonstrasikan bagaimana guru menghendaki siswanya untuk belajar dan melakukan sesuatu. Dalam pembelajaran kontekstual, guru bukan satu-satunya model. Model bisa dirancang dengan melibatkan siswa atau bisa juga mendatangkan dari luar. 6. Refleksi (Reflexion) Refleksi merupakan cara berfikir atau merespon tentang apa yang baru dipelajari. Berpikir kebelanga tentang apa yang sudah dilakukan dimasa lalu. Pengejawantahannya dalam pembelajarannya adalah
guru
33
menyiapkan waktu sejenak agar siswa dapat melakukan refleksi yang berupa pernyataan langsung tentang apa yang sudah diperoleh pada hari itu. 7. Penilaian yang sebenarnya (Authentic Assesment) Penilaian adalah proses
berbagai data yang bisa menggambarkan
mengenai perkembangan belajar siswa. Dalam pembelajaran berbasis CTL, gambaran perkembangan siswa perlu diketahui guru, agar siswa dapat memastikan bahwa siswa mengalamai pembelajaran yang benar. Fokus penilaian adalah pada penyelesaian tugas yang relefan dan kontekstual. Evaluasi dilakukan terdapat proses maupun hasil.