BAB 2 LANDASAN TEORI - Sistem Rekomendasi Film Indonesia Menggunakan Algoritma Apriori

BAB 2 LANDASAN TEORI Pada bab ini akan diuraikan beberapa hal penting berkenaan dengan dasar perancangan sistem rekomendasi film Indonesia menggunakan algoritma Apriori. Semua dasar teori tentang sistem rekomendasi beserta algoritma yang digunakan dikutip dari buku, jurnal, laporan dan Internet.

2.1 Sistem Rekomendasi

  Sistem rekomendasi merupakan sistem yang bertujuan memperkirakan informasi yang menarik bagi penggunanya dan juga membantu calon konsumen dalam memutuskan barang apa saja yang akan dibelinya. (Adi, 2010). Dalam sistem rekomendasi diperlukan adanya preferensi atau profil pengguna dalam menentukan pilihan dari sekian banyak item yang ada sesuai dengan kebutuhan pengguna. Profil pengguna umumnya didasarkan menarik tidaknya suatu informasi yang dilihat oleh user (Tsalaatsa, et al, 2013). Sistem rekomendasi akan menawarkan kemungkinan dari penyaringan informasi personal sehingga hanya informasi yang sesuai dengan kebutuhan dan preferensi pengguna yang akan ditampilkan di sistem dengan menggunakan sebuah teknik atau model rekomendasi (Sebastia, et al, 2009).

  Ada beberapa metode yang digunakan dalam sebuah sistem rekomendasi. metode atau pendekatan yang dipilih pada sistem rekomendasi bergantung pada permasalahan yang akan diselesaikan, teknik rekomendasi yang berbeda-beda digunakan untuk aplikasi yang berbeda, dasar dari suatu tujuan dan objektif dari sebuah aplikasi (Berka, et al, 2004). Beberapa metode sistem rekomendasi, yaitu :

  1. Content-Based : bekerja dengan cara mencari item lain yang mirip dengan item yang disukai oleh user berdasarkan informasi content atau tekstual dari setiap item (Mobasher, et al, 2000)

  2. Collaborative Filtering : metode yang digunakan untuk memprediksi kegunaan item berdasarkan penilaian pengguna sebelumnya (Adomavicious, et al, 2005)

  3. Knowledge-Based : merekomendasikan berdasarkan pengetahuan tentang bagaimana item tertentu dapat memenuhi kebutuhan pengguna.

  4. Hybrid Based : kombinasi dari beberapa metode yang ada dalam pengembangan sistem rekomendasi.

Gambar 2.1 Diagram teknik rekomendasi dan sumber pengetahuannya menurut

  Burke, Robin (2007)

2.2 Data Mining

  Secara sederhana, data mining merupakan ekstrasi informasi atau pola yang penting atau menarik dari data yang ada di database yang besar (Sucahyo, 2003). Prosesnya memungkinkan pengguna untuk menganalisis data dari dimensi dan sudut pandang yang berbeda, membuat kategori, dan meringkaskan hubungan yang teridentifikasi.

Gambar 2.2 merupakan komponen utama dalam data mining menurut Han & Kamber

  (2001) :

Gambar 2.2 Arsitektur Data Mining

  1. Database, data warehouse, internet dan repositori informasi lainnya : merupakan kumpulan data, ataupun jenis informasi lainnya. Pemilahan data atau integrasi data dilakukan untuk pengolahan data.

2. Server database : server database bertanggung jawab dalam pengambilan data yang relevan dengan permintaan pengguna.

  3. Knowledge base : digunakan untuk memandu dan mengevaluasi ketertarikan dari pola yang dihasilkan. Pengetahuan tersebut dapat mencakup konsep hirarki yang digunakan untuk mengatur atribut atau nilai atribut ke dalam berbagai tingkat abstraksi.

  4. Mesin data mining : hal yang paling penting untuk sistem data mining dan idealnya terdiri dari satu set modul fungsional untuk tugas-tugas seperti karakterisasi, asosiasi dan analisis korelasi, klasifikasi, prediksi, cluster anaylsis, outlier analysis, dan analisis evolusi.

  5. Modul evaluasi pola : komponen ini biasanya menggunakan ukuran “ketertarikan” dan interaksinya dengan modul data mining untuk memfokuskan pencarian ke pola yang menarik.

  6. Antar Muka (User Interface) : modul ini memungkinkan pengguna untuk berinteraksi dengan sistem data mining.

  Secara umum, data mining melibatkan enam kelas tugas (Fayyad, et al. 1996), yaitu:

  1. Anomaly Detection : identifikasi data yang tidak biasa dari kumpulan data, yang mungkin menarik atau data yang rusak yang membutuhkan investigasi lebih lanjut.

  2. Association Rule Learning : mencari hubungan antara variabel data.

  3. Clustering : menemukan kelompok – kelompok dan struktur dalam data tanpa menggunakan struktur yang dikenal dalam data.

  4. Classification : generalisasi struktur yang dikenal untuk diterapkan ke data baru. Sebagai contoh, program e-mail mungkin akan mencoba untuk mengklasifikasikan e-mail sebagai “sah” atau sebagai “spam”.

  5. Regression : mencoba untuk menemukan sebuah fungsi yang memodelkan data dengan kesalahan yang minim.

  6. Summarization : memberikan representasi yang lebih padat dari kumpulan data, termasuk visualisasi dan pembuatan laporan.

Gambar 2.3 Langkah – langkah dalam menyusun proses KDD (Fayyad, et al.

  1996) Sebagian besar teknik yang dipakai dalam sistem rekomendasi merupakan penerapan dari teknik yang dikenal dalam proses data mining. Dalam sistem rekomendasi, data mining digunakan untuk mendeskripsikan kumpulan teknik analisis untuk menyimpulkan aturan rekomendasi atau membangun model rekomendasi dari kumpulan data yang besar, dan sistem rekomendasi yang menggabungkan teknik tersebut akan menghasilkan rekomendasi berdasarkan pengetahuan yang dipelajari dari tindakan dan atribut pengguna (Schafer, 2009), maka dari itu data mining sering juga disebut knowledge discovery in database (KDD) dimana keluaran dari data

  mining bisa dipakai untuk memperbaiki pengambilan keputusan di masa depan (Rochmah, 2010).

  Proses data mining biasanya terdiri dari tiga langkah yang dilakukan secara berurutan (Pyle, D, 1999), yaitu : data preprocessing, analisis data, dan hasil

  interpretasi, seperti gambar dibawah berikut :

Gambar 2.4 Tiga langkah utama dan beberapa metode dalam Data Mining.

  Dari Gambar 2.4, maka analisis dalam data mining terdiri dari dua fungsi (Santosa, 2007), yaitu :

  1. Fungsi prediksi : memprediksi nilai atribut tertentu berdasarkan nilai atribut yang lain dimana atribut yang diprediksi itu dikenal sebagai variabel yang tergantung pada variabel lain

2. Fungsi deskripsi : memperoleh pola dari kecenderungan korelasi, cluster dan anomali data yang menyimpulkan hubungan dalam data.

  Beberapa teknik ataupun algoritma dalam data mining yang dapat digunakan adalah teknik Clustering, Classification, Association Rule dan sebagainya.

2.3 Aturan Asosiasi (Association Rule Mining)

  Aturan asosiasi adalah teknik untuk menemukan aturan asosiatif antara suatu kombinasi atribut, mencari dan menemukan hubungan antar item yang ada dalam kumpulan data dan bertujuan untuk menemukan informasi item-item yang saling berhubungan dalam bentuk sebuah aturan, maka dari itu, aturan asosiasi termasuk dalam metode analisis market basket (Rochmah, 2010). Aturan asosiasi dapat digunakan untuk menemukan “hubungan atau sebab akibat” (Kusumo, et al. 2003). Aturan asosiasi ataupun korelasi item-ke-item merupakan salah satu metode yang paling terkenal dalam sistem rekomendasi (Sarwar, et al. 2001). Aturan asosiasi telah digunakan dalam berbagai bidang seperti jaringan telekomunikasi, market, manajemen resiko, dan sebagainya.

  Market Basket Analysis adalah Analisis terhadap kebiasaan membeli customer

  dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan

  customer dalam keranjang belanjaannya (Rochmah, 2010). Association rule memiliki

  bentuk LHSRHS dengan interpretasi bahwa jika setiap item dalam LHS (Left Hand Side) dibeli, maka item dalam RHS (Right Hand Side) juga dibeli (Kusumo, et al. 2003).

  Umumnya terdapat dua ukuran interestingness measure atau nilai ketertarikan yang didapatkan dari hasil pengolahan data (Han, et al. 2001), yaitu :

  1. Nilai pendukung (Support) yaitu ukuran yang menunjukkan seberapa besar tingkat dominasi suatu item dari keseluruhan transaksi yang ada dimana ukuran ini menentukan apakah item tersebut layak untuk dicari nilai kepastiannya.

2. Nilai Kepastian (Confidence) yaitu ukuran yang menunjukkan hubungan antar

  item secara kondisional

  Kedua ukuran itulah nantinya yang berfungsi untuk menentukan interesting

  association rules, untuk dibandingkan dengan batasan yang ditentukan oleh pengguna

  yang mana batasan tersebut umumnya terdiri dari min_support dan min_confidence (Aritonang, 2012).

  Dalam pencarian aturan asosiasi, diperlukan suatu variabel ukuran yang dapat ditentukan oleh pengguna, untuk mengatur batasan sejauh mana dan sebanyak apa hasil output yang diinginkan oleh pengguna (Rochmah, 2010). Dalam asosiasi terdapat istilah antecedent dan consequent, antecedent untuk mewakili bagian “jika” dan consequent untuk mewakili bagian “maka”. Dimana antecedent dan consequent adalah sekelompok item yang tidak punya hubungan secara bersama (Santoso, 2007).

2.4 Algoritma Apriori

  Algoritma Apriori adalah salah satu teknik yang digunakan untuk menemukan aturan asosiasi. Algoritma apriori adalah algoritma pengambilan data dengan aturan asosiatif untuk menentukan hubungan asosiatif suatu kombinasi item (Kusrini, 2009). Algoritma Apriori ini cocok diterapkan bila terdapat beberapa hubungan item yang ingin dianalisa. Untuk penyelesaian masalah asosiasi adalah dengan mengurangi jumlah set item yang dipertimbangkan, lalu pengguna menetapkan nilai minimum

  support dan nilai min- support (Rochmah, 2010). Jadi nilai (A

  ∪ C) ≤ min- support untuk setiap assosiation rule A → C atau (A → C) ≤ min- support. Apriori pertama menghasilkan semua himpunan item yang disebut frequent itemsets. Terdapat dua proses utama pada algoritma apriori (Han & Kamber 2006), yaitu :

  1. Penggabungan (Join) Setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi

  2. Pemangkasan (Prune) Hasil kombinasi item akan dipangkas dengan menggunakan minimum support yang telah ditentukan pengguna.

  Algoritma apriori bertujuan untuk menemukan frequent itemsets pada kumpulan data. Analisis apriori merupakan suatu proses untuk menemukan semua aturan apriori yang memenuhi syarat minimum untuk nilai pendukung (Support) dan nilai kepastian (Confidence), (Syaifullah, 2010). Nilai pendukung dari sebuah item bisa didapatkan dengan rumus :

  ( ) Support (A) =

  100% Dimana : JT = Jumlah transaksi yang terdapat A T = Total Transaksi Sedangkan nilai pendukung dari 2 buah item bisa didapatkan dengan rumus :

  ( → )

  (

  Support (A, B) =

  → ) 100% Dimana : JT (A

  →B) = Jumlah transaksi yang terdapat A dan B Untuk mendapatkan nilai kepastian bisa didapatkan dengan rumus :

  ( → )

  (

  Confidence (A, B) =

  → ) 100% Apriori beroperasi dalam dua tahap, tahap pertama semua item dengan dukungan minimum atau item yang sering dihasilkan. Tahap kedua, algoritma menghasilkan aturan dari himpunan semua frekuensi item yang ada.

  Frequent itemset merupakan iterasi pada data. Pada iterasi ke-k ditemukan

  semua himpunan item-item yang mempunyai k item yang disebut k-itemset. Setiap iterasi terdiri dari dua tahap. Pertama, adalah tahap pembangkitan kandidat (candidate

  generation) dimana himpunan semua frequent (k – 1) -itemset Fk-1 yang ditemukan

  pada pass ke-(k – 1) digunakan untuk membangkitkan kandidat itemset Ck. Prosedur pembangkitan kandidat menjamin bahwa Ck adalah superset dari himpunan semua

  frequent k-itemset. Kemudian data di-scan dalam tahap Penghitungan Support

  (Support Counting). Pada akhir pass Ck diperiksa untuk menentukan kandidat mana yang sering muncul, menghasilkan Fk. Penghitungan support berakhir ketika Fk atau

  Ck+1 kosong. Untuk membangkitkan rule akan dibangkitkan lebih dahulu candidate rule. Candidate rule berisi semua kemungkinan rule yang memiliki support > minimum support karena input candidate rule adalah frequent-itemset. Kemudian candidate rule akan join dengan tabel F untuk menemukan support antecedent. Confidence rule dihitung dengan cara membandingkan support rule dengan support antecedent rule. Hanya rule yang mempunyai confidence > minimum confidence yang

  disimpan dalam tabel rule (tabel R), (Kusumo, et al. 2003).

2.5 PHP (Hypertext Prepocessor)

  PHP adalah singkatan dari Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded

  scripting). PHP adalah script yang digunakan untuk membuat halaman web dinamis, dimana halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client.

  Mekanisme ini menyebabkan informasi yang diterima client selalu terbaru atau up to

  date (Lubis, et al. 2011). Semua script PHP di eksekusi pada server dimana script tersebut dijalankan. Contoh terkenal dari aplikas PHP adalah phpBB dan MediaWiki.

  PHP dapat juga dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSPJava Sun Microsystems, dan CGI/Perl.

  Konsep kerja PHP diawali dengan suatu halaman web (file.php), oleh klien (browser), kemudian berdasarkan alamat di internet, browser mendapatkan alamat dati web server, yang akan mengidentifikasi halaman yang diminta, dan menyampaikan segala informasi yang dibutuhkan oleh web server. Lalu, file PHP yang diminta didapatkan oleh web server, isinya segera dikirimkan ke mesin PHP untuk diproses dan memberikan hasilnya ke web server dan menyampaikannya ke klien. PHP bertugas sebagai interpreter (Lubis, et al. 2011).

  Server Web Server Middleware Database (Apache, ISS, Xitami, (ASP, PHP, JSP, (Acces, dsb) dsb) Oracle, dsb) Request Response Internet Browser (Chrome, Firefox, IE, dsb)

Gambar 2.5 Arsitektur aplikasi web yang melibatkan Middleware Kelebihan PHP :

   Membuat web menjadi dinamis.  Program atau aplikasi dapat dijalankan disemua sistem operasi.  Dapat berjalan dalam web server di sistem operasi yang berbeda.  Dapat berjalan di sistem operasi yang berbeda.  Dapat didapatkan secara gratis  PHP yang dikembangkan dengan bahasa C dapat kita kembangkan sendiri  Tidak melakukan kompilasi dalam penggunaannya  Mendukung banyak paket database baik komersial maupun nonkomersial  Mudah dipakai karena terdapat banyak referensi

  Kekurangan PHP :

   Permasalahan sering terjadi pada register_global  Tidak mengenal package Script dapat dibaca semua orang jika tidak di encoding dulu  Kelemahan dalam keamanan.

  Dalam PHP, variabel selalu diisi dengan nilai. Dengan kata lain, ketika anda mengisikan sebuah ekspresi pada suatu variabel, semua nilai ekspresi asal akan disalin ke dalam variabel tujuan. Ini berarti setelah mengisikan nilai suatu variabel ke variabel yang lain, jika kita mengubah nilai salah satu variabel tidak akan mempengaruhi variabel yang lain.

2.6 SQL

  SQL adalah kepanjangan dari Structured Query Language, yang merupakan bahasa pemrograman untuk menyimpan, memanipulasi dan mendapatkan data yang tersimpan dari basis data relasional (database). SQL adalah bahasa standar untuk sistem basis data relasional (Lubis, et al. 2011). Sistem basis data yang umumnya dipakai seperti MySQL, MS Access, Oracle, SQL Server, dan sebagainya. Dan biasanya sistem basis data tersebut menggunakan SQL versi yang tersendiri seperti MS SQL Server menggunakan T-SQL, Oracle menggunakan PL/SQL, MS Access menggunakan Jet SQL.

  SQL memungkinkan seorang programmer atau administrator database untuk melakukan :  Modifikasi struktur database  Mengubah pengaturan sistem keamanan  Melakukan proses kueri (query) untuk mencari informasi dalam database  Memperbaharui data yang ada dalam database

  SQL mendukung tipe format data yang sangat luas untuk penyimpanan informasi internal, yaitu :

   Numerik = INTEGER, SMALLINT, BIGINT, NUMERIC (w,d), DECIMAL(w,d), FLOAT, REAL, DOUBLE PRECISION

   Karakter = CHARACTER(L), VARCHAR(L)  Biner = BIT(L), BIT VARYING (L), BLOB  Temporal = DATE, TIME, TIMESTAMP

  Contoh query dalam SQL (Halvorsen, 2014) :  Insert into STUDENT (Name, Number, SchoolId)

  Values (‘John Smith’, ‘100005’, l)  Select SchoolId, Name from SCHOOL  Select * from SCHOOL where SchoolId > 100  Update STUDENT set Name=’John Wayne’ where

  StudentId=2  Delete from STUDENT where SchoolId=3 Dalam penggunaannya SQL dikategorikan menjadi tiga sub perintah, yaitu :

  1. DDL (Data Definition Language) : digunakan untuk membangun kerangka database

  2. DML (Data Manipulation Language) : digunakan untuk memanipulasi data dalam database yang telah terbuat

3. DCL (Data Control Language) : digunakan untuk menghapus data dari tabel.

2.7 Unified Modelling Language (UML)

  Unified Modelling Language (UML) adalah suatu model visualisasi dengan

  banyak tujuan yang digunakan untuk menentukan, menggambarkan, membentuk, dan mendokumentasi hasil dari sebuah sistem perangkat lunak (Rumbaugh, et al. 2005). UML bertujuan untuk menyatukan penelitian terdahulu mengenai teknik pemodelan dan menggabungkan teknik terbaik perangkat lunak ke dalam sebuah pendekatan standar (Rumbaugh, et al. 2005). UML dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis dalam bahasa pemrograman apapun, tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek

  (Hayati, 2011). Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak dimana setiap bentuk memiliki makna tertentu, dan sintaks UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan (Dharwiyanti, S & Wahono, R.S, 2003).

  Berikut adalah tabel 2.1 yang merupakan pandangan atau aspek UML dan pembagiannya sesuai dengan konsep utama yang relevan menurut Rumbaugh, et al (2005).

Tabel 2.1 Pandangan/Aspek UML

  Area Pokok Aspek Diagram Konsep Utama Asosiasi, Kelas,

  Ketergantungan,

  Static View Diagram Kelas

  Generalisasi, Antarmuka, Realisasi

  Penghubung, Antarmuka, Part, Port,

  Sruktur Internal Antarmuka yang disediakan, Antarmuka yang diperlukan

  Penghubung, Diagram

  Struktural Kolaborasi, Kegunaan

  Design View Kolaborasi

  kolaborasi, Peran Komponen,

  Ketergantungan, Port, Diagram Antarmuka yang

  Komponen disediakan, Realisasi, Antarmuka yang diperlukan, sub-sistem

  Aktor, Asosiasi, Extend,

  Use Case Diagram Use Include, Use case, View Case

  Generalisasi Use Case Dinamis State Diagram State Transisi penyelesaian,

  Machine Machine Melakukan Aktivitas, View Efek, Event, Daerah,

  Bagian, Keadaan, Transisi, Pemicu

  Aksi, Aktivitas, Aliran Kontrol, Node Kontrol,

  Aliran dara, Diagram

  Activity View Pengecualian, Ekspansi

  Aktivitas bagian, Fork, Gabungan, Objek Node,

  Pin Spesifikasi kejadian, Spesifikasi eksekusi,

  Interaction Diagram

  interaksi, Penggalan

  View Sequence

  interaksi operand,

  Lifeline, Pesan, Sinyal

  Artifak,

  Deployment Diagram

  Fisik Ketergantungan,

  View Deployment

  Manifestasi, Node Diagram Package Impor, Model, Paket

  Model

  Pembatas, Profil, Model Manajemen Management

  Diagram Package Stereotipe, Tagged

  View Value

  Ada beberapa model yang sering digunakan dalam pengembangan sistem perangkat lunak berbasis objek, yaitu :

2.7.1 Diagram Use Case

  Diagram use case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem (Dharwiyanti, S & Wahono, R.S, 2003). Diagram ini digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, B. 2004). Terdapat beberapa elemen dalam sebuah diagram use case (Hayati, 2011), yaitu :

  1. Aktor Aktor adalah sesuatu atau seseorang yang berinteraski dengan sistem. Aktor merepresentasikan peran bukan individu dari sistem tersebut. Nama yang dipilih untuk aktor harus menyatakan peran dari aktor tersebut.

Gambar 2.6 Aktor

  2. Use Case Sebuah use case adalah cara penggunaan sistem yang spesifik oleh aktor. Use case menggambarkan suatu fungsi yang tampak.

Gambar 2.7 Use Case

  3. Keterhubungan Keterhubungan antara use case dengan use case lain berupa generalisasi antara use case tersebut, yaitu :

  1. Include : perilaku use case merupakan bagian dari use case lain

  2. Extend : perilaku use case memperluas perilaku use case yang lain

Gambar 2.8 Contoh diagram use case

2.7.2 Diagram Sequence

  Sequence diagram menggambarkan interaksi antar objek di dalam dan di

  sekitar sistem. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan (Dharwiyanti, S & Wahono, R.S, 2003).

  Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, pesan akan dipetakan menjadi operasi dari Kelas (Dharwiyanti, S & Wahono, R.S, 2003). Berikut tabel 2.2 adalah elemen – elemen yang ada dalam diagram sequence (Hayati, 2011) :

Tabel 2.2 Elemen Diagram Sequence

  Nama Deskipsi Gambar Menggambarkan batasan

  Objek Lifeline objek Proses input & output

  Boundary

  ataupun antarmuka Berhubungan dengan

  Controller

  proses Berhubungan dengan

  Entity

  input & output data Menggambarkan aliran

  Message Arrow proses data Menggambarkan aktivitas

  Activation objek Menggambarkan aktor

  Aktor sebagai objek

2.7.3 Diagram Kelas

  Kelas (Class) menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi) (Dharwiyanti, S & Wahono, R.S, 2003). Kelas memiliki tiga area pokok, yaitu :

  1. Nama

  2. Atribut

  3. Metoda

  Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak

  yang hanya memiliki metoda. Gambar 2.9 adalah contoh dari diagram kelas :

Gambar 2.9 Contoh diagram kelas

2.7.4 Diagram Aktivitas

  Diagram aktivitas adalah diagram flowchart yang diperluas untuk menunjukkan aliran kendali satu aktivitas ke aktivitas lain. Diagram aktivitas digunakan untuk memodelkan aspek dinamis sistem. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Di dalam diagram aktivitas, terdapat state khusus yang menggambarkan proses action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal

  processing). Berikut gambar 2.10 contoh dari diagram aktivitas :