DAFTAR REFERENSI [AGR95]
Agrawal, Rakesh, Ramakrishnan Srikant. 1995. Mining Sequential Patterns. IBM Research Center.
[AHW03]
Agrawal, C, Han, Jiawei, Wang, J, and Yu, P.S. On Demand classification data streams. In Proc. 2004 ACM SIGKKD Int. Conf. knowledge Discovery in Database (KDD’04), pages 503-508, Seattle, WA, Aug. 2004.
[CAR06]
Carver, Richard H, Tai, Kuo-Chung, 2006. Modern Multithreading. John Wiley & Sons, Inc., Publication.
[GKK01]
Grossman, R. L., Kamath, C., Kegelmeyer, P., Kumar, Namburu, R.R.. Data Mining for Scientific and Engineering Applications. Kluwer Academic Publisher, 2001.
[HAN01]
Han, Jiawei, Micheline Kamber. 2001. Data Mining Concepts and Techniques. Morgan Kaufmann Publisher.
[JAC97]
David Jackson, Michelle Usher (1997). Grading Student Programs using ASSYST.Prosiding untuk 28th SIGCSE Technical Symposium on Computer Science Education, San Jose, United States, 1997.
[PEI01]
Pei, Jian, Han, Jiawei, Mortazavi-Asl, Behzad, Pinto, Helen, Chen, Qiming, Dayal, Umeshwar, Hsu, Mei-Chun. 2001. PrefixSpan: Mining Sequential Patterns Efficiently bt Prefix-Projected Pattern Growth. Simon Fraser University.
[RSL95]
Russell, S., Norvig, P., Artifical Intelligence: A Modern Approach. Prentice Hall, 1995.
xiii
LAMPIRAN A. PERCOBAAN ALTERNATIF USULAN Pada lampiran ini, terdapat dua alternatif yang menjadi subjek dari percobaan. Yang pertama adalah penggunaan multi-threading, yang kedua adalah perbandingan waktu akses file external dan akses database.
Lampiran A.1 Terdapat file external yang berisikan sequence-sequence dengan karakter ‘\n’ sebagai pemisah antar sequence. Kemudian program yang dibuat adalah bertujuan untuk mengambil baris-per-baris, untuk diproses setiap suatu baris diambil dari file external. Proses yang dilakukan disini hanyalah membacanya berulang-ulang sampai 5000 kali. Program yang tidak menggunakan multi-threading, setiap mengambil baris, diproses, dan setelah selesai, program mengambil baris selanjutnya. Hal ini dilakukan berulang sampai baris dalam file habis. Untuk program yang menggunakan multi-threading, dibangun dua thread, yang pertama untuk membaca baris dan memasukkannya pada queue, sedangkan yang kedua adalah mengambilnya dari queue dan memrosesnya. Hasil percobaan adalah sebagai berikut: 6. tanpa multi-threading start time: 1169538019696 end time: 1169539285790 selesai setelah 1266094 mili detik (21 menit 6 detik) 7. dengan multi-threading start time: 1169539497462 end time: 1169540806071 selesai setelah 1308609 mili detik (21 menit 49 detik)
Lampiran A.2 Terdapat file dan database yang memuat string terdiri dari beberapa kata yang disusun dengan acak.. Untuk file, terdapat satu string untuk setiap baris, dan untuk database, terdapat 1 string untuk setiap tuple. Totalnya terdapat 15 juta baris. Dibuat suatu program untuk menghitung kemunculan setiap huruf, dan menentukan huruf yan paling sering muncul dalam file atau database tersebut.
A-1
Pada percobaan ini, terdapat tiga variasi program yang akan dibandingkan, yaitu: 1. Program yang mengakses file external. Program ini mengambil baris-per-baris dan memroses setiap mendapatkan satu baris. 2. Program yang mengakses database. Program ini mengambil tuple dengan mengeksekusi query yang perintahnya “SELECT * FROM data WHERE ID=#”. Pada program, disediakan variabel yang menghitung baris, yang digunakan sebagai pengganti ‘#’ pada perintah query diatas. 3. Program yang mengakses database. Program ini sama dengan variasi nomor dua, perbedaannya terletak pada perintah query-nya, karena untuk variasi ini, perintahnya adalah “SELECT * FROM data”. Dari percobaan yang dilakukan untuk ketiga variasi diatas, didapat hasil sebagai berikut: 1. Variasi pertama selesai setelah 210312 mili detik (3 menit 32 detik) 4. Variasi kedua selesai setelah 2513125 mili detik (41 menit 53 detik) 5. Variasi ketiga selesai setelah 415454 mili detik (7 menit) Pada perbandingan ukuran memory yang digunakan, variasi pertama dan ketiga hampir tidak berbeda, sedangkan variasi kedua menghabiskan main memory yang sangat besar.
A-2
LAMPIRAN B. PERCOBAAN BENTUK MULTITHREAD Pada lampiran ini, akan dilakukan percobaan untuk mengetahui perbandingan waktu proses suatu program yang diimplementasikan dengan single thread, multithread cara pertama dan multithread cara kedua.
Spesifikasi Program Program yang dibangun adalah program yang mengambil elemen dari list dan menuliskannya ke layar seratus kali. Elemen tersebut bertipe data string. Setiap penulisannya diselingi dengan pemanggilan sleep() selama 10 milidetik.
Single Thread Prinsip cara single thread adalah dengan dengan mengambil satu per satu elemen di dalam list. Setiap pengambilan, dilakukan penulisan ke layar. Pengambilan elemen selanjutnya hanya akan dilakukan jika penulisan seratus kali elemen sebelumnya telah selesai.
Multithread Cara Pertama Multithread cara pertama dilakukan dengan menciptakan thread sebanyak elemen yang terdapat pada list tersebut. Setiap pengambilan elemen, diciptakan satu thread yang berfungsi untuk menuliskannya ke layar. Pengambilan elemen dilakukan terus menerus sampai elemen dalam list habis, tidak menunggu selesainya penulisan elemen sebelumnya.
Multithread Cara Kedua Multithread cara kedua dilakukan dengan cara menciptakan thread dengan jumlah tetap. Setiap elemen yang dipanggil akan diberikan satu thread untuk dituliskan ke layar. Pengambilan elemen selanjutnya dilakukan apabila terdapat thread yang idle. Apabila seluruh thread sedang melakukan proses, maka pengambilan akan ditunda sampai terdapat thread yang idle.
B-1
Scenario dan Hasil Pengujian Pengujian dilakukan dengan memberikan 10 elemen terhadap list. Pada multithread cara kedua, diberikan 5 thread yang akan bekerja. Metode Single thread
Waktu Proses 10750
Multithread cara pertama
2157
Multithread cara kedua
1109
Dari hasil diatas, dapat dilihat untuk permasalahan ini, multithread cara kedua adalah metode yang memiliki waktu proses tercepat.
B-2
This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.