## VISUALISASI PENERAPAN PROSES MULTITHREADING PADA METODE INTERNAL SORTING

## Andri Sukmaindrayana
Prodi Teknik Informatika STMIK DCI Kp. Cibinuang RT/RW 17/03 Ds Sukamahi Kec. Sukaratu Kab. Tasikmalaya E-mail: sukmaindrayana@gmail.com

## ABSTRACT
Multithreading  is  an  ability  that  allows  a  set  of  instructions  (process)  run simultaneously  (time  slicing)  in  a  program.  Sorting  is  a  process  to  reconstruct an  object using a set of specific rules. Sorting is  also known as an algorithm to put  a collection of data elements into a particular order based on one or more keys in each element. Basically there are two kinds of sequences are commonly used in the sorting process :
1. ride sequence (ascending), sort of data that has the smallest value to the largest;
2. sequence  down  (  descending  )  ,  sort  of  data  that  have  the  greatest  value  to  the smallest .
Visualization  (UK  :  visualization)  is  in  the  manufacture  of  engineering  drawings, diagrams, or animations to appearance information. In general, visualization in the form of  images  both  abstract  and  real  has  been  known  since  the  beginning  of  human civilization.  Examples  of  this  include  the  paintings  on  the  walls  of  the  caves  of  ancient humans,  form  letters  hiroglip  Egyptian,  Greek  geometry  systems,  and  techniques  of Leonardo da Vinci's painting for engineering and scientific purposes, etc.
Keyword : Multithreading, Sorting, Visualization.

## I. PENDAHULUAN
Multithreading  merupakan  suatu kemampuan yang memungkinkan
beberapa  kumpulan  instruksi  (proses) dijalankan  secara  bersamaan (time  slicing) dalam sebuah program.
Sorting  merupakan  suatu  proses untuk menyusun kembali himpunan obyek menggunakan  aturan  tertentu.  Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau  beberapa  kunci  dalam  tiap-tiap elemen.  Pada  dasarnya  ada  dua  macam urutan  yang  biasa  digunakan  dalam  suatu proses sorting:
1. urut  naik (ascending) ,  mengurutkan dari  data  yang  mempunyai  nilai  paling kecil sampai paling besar.
2. urut  turun (descending) ,  mengurutkan dari  data  yang  mempunyai  nilai  paling besar sampai paling kecil.
Berdasarkan  dua  konsep  di  atas maka  penulis  tertarik  untuk  membuat sebuah aplikasi yang dapat merepresentasikan  keduanya  kedalam sebuah  tugas  akhir  berjudul “Visualisasi Penerapan  Proses  Multithreading  Pada Metode Internal Sorting”.
II. LANDASAN TEORI

## a. Thread
Model  proses  yang  didiskusikan sejauh ini telah menunjukkan bahwa suatu proses  adalah  sebuah  program  yang menjalankan  eksekusi  thread  tunggal. Sebagai  contoh,  jika  sebuah  proses
menjalankan sebuah program Word Processor,  ada  sebuah  thread  tunggal  dari instruksi-instruksi yang sedang
dilaksanakan.
Kontrol  thread  tunggal  ini  hanya memungkinkan  proses  untuk  menjalankan satu tugas pada satu waktu. Banyak sistem operasi  modern  telah  memiliki  konsep yang  dikembangkan  agar  memungkinkan sebuah  proses  untuk  memiliki  eksekusi multithreads ,  agar  dapat  dapat  secara terus  menerus  mengetik  dalam  karakter dan  menjalankan  pengecek  ejaan  didalam proses  yang  sama.  Maka  sistem  operasi tersebut  memungkinkan  proses  untuk menjalankan  lebih  dari  satu  tugas  pada satu waktu.
Multithread suatu kemampuan yang memungkinkan beberapa kumpulan instruksi (proses) dijalankan secara bersamaan  (time  slicing)  dalam  sebuah program. Multithreading bermanfaat untuk  membuat  proses  yang  interaktif, misalnya pada program permainan (game). Program  tetap  dapat  menggerakkan beberapa objek sambil memberi
kesempatan  pengguna  melakukan  respon melalui mouse atau keyboard.

## b. Visualisasi
Visualisasi  (Inggris: visualization ) adalah rekayasa dalam pembuatan gambar,  diagram  atau  animasi  untuk penampilan suatu informasi. Secara umum, visualisasi dalam bentuk gambar baik yang bersifat  abstrak  maupun  nyata  telah dikenal  sejak  awal  dari  peradaban manusia.  Contoh  dari  hal  ini  meliputi lukisan di dinding-dinding gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometriYunani,  dan  teknik  pelukisan  dari Leonardo  da  Vinci  untuk  tujuan  rekayasa dan ilmiah, dll.
Pada  saat  ini  visualisasi  telah berkembang  dan  banyak  dipakai  untuk
keperluan  ilmu  pengetahuan,  rekayasa, visualisasi  disain  produk,  pendidikan, multimedia  interaktif,  kedokteran,  dll. Pemakaian dari grafika komputer merupakan  perkembangan  penting  dalam dunia  visualisasi,  setelah  ditemukannya teknik  garis  perspektif  pada  zaman Renaissance. Perkembangan
bidang animasi  juga  telah  membantu  banyak dalam  bidang  visualisasi  yang  lebih kompleks dan canggih.
c. Animasi
Animasi,  atau  lebih  akrab  disebut dengan  film  animasi,  adalah  film  yang merupakan  hasil  dari  pengolahan  gambar tangan  sehingga  menjadi  gambar  yang bergerak.  Pada  awal  penemuannya,  film animasi  dibuat  dari  berlembar-lembar kertas  gambar  yang  kemudian  di-"putar" sehingga  muncul  efek  gambar  bergerak. Dengan  bantuan  komputer  dan  grafika komputer, pembuatan film animasi menjadi  sangat  mudah  dan  cepat.  Bahkan akhir-akhir  ini  lebih  banyak  bermunculan film  animasi  3  dimensi  daripada  film animasi 2 dimensi.
Wayang  kulit  merupakan  salah  satu bentuk  animasi  tertua  di  dunia.  Bahkan ketika  teknologi  elektronik  dan  komputer belum  diketemukan,  pertunjukan  wayang kulit  telah  memenuhi  semua  elemen animasi  seperti  layar,  gambar  bergerak, dialog dan ilustrasi musik.
d. Model
Model adalah rencana, representasi, atau  deskripsi  yang  menjelaskan  suatu objek, sistem, atau konsep, yang seringkali berupa  penyederhanaan  atau  idealisasi. Bentuknya  dapat  berupa  model  fisik (maket,  bentuk  prototipe),  model  citra (gambar  rancangan,  citra  komputer),  atau rumusanmatematis.
e. Sorting
Sorting  merupakan  suatu  proses untuk menyusun kembali humpunan obyek
menggunakan  aturan  tertentu.  Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau  beberapa  kunci  dalam  tiap-tiap elemen.  Pada  dasarnya  ada  dua  macam urutan  yang  biasa  digunakan  dalam  suatu proses sorting:
1. urut  naik  (ascending),  mengurutkan dari  data  yang  mempunyai  nilai  paling kecil sampai paling besar.
2. urut  turun  (descending),  mengurutkan dari  data  yang  mempunyai  nilai  paling besar sampai paling kecil.

## III. PERANCANGAN SISTEM
Tahap  perancangan  atau  tahap desan  dalam  pembuatan  suatu  sistem aplikasi komputer digunakan untuk
merepresentasikan  sistem  yang  akan dibangun. Perancangan atau desain ini juga dapat  digunakan  untuk  menelusuri  dan mengecek  kebutuhan  pengguna  dan sekaligus  dapat  dijadikan  sebagai  ukuran untuk  menilai  kualitas  sistem.  Adapun perancangan yang dilakuakn dalam pembuatan aplikasi visualisasi model pada lift ini adalah sebagai berikut :
a. Perancangan Algoritma
Dari  beberapa  definisi  algortima  salah satunya  menyebutkan  bahwa  Algortima adalah  urutan  langkah-langkah  berhingga untuk memecahkan suatu masalah. Dalam pembuatan  aplikasi  visualisai  pada  model lift  ini,  penyusun  akan  merancang beberapa  algortima  diantaranya  adalah sebagai berikut :

## 1. Function Random
Deklarasi i : integer Algortima for i  Low(BubbleSortArray) to High(BubbleSortArray) do BubbleSortArray[I] := Random(170); SelectionSortArray := BubbleSortArray; QuickSortArray := BubbleSortArray; ArraysRandom := True; {EndFor}

## Keterangan:
Fungsi ini akan melakukan proses acak dari mulai  indeks  array  terendah  sampai dengan  indeks  tertinggi  pada  array,  yang kemudian akan diisi oleh data acak dengan jangkauan  data  maksimal  170,  bertipe bilangan bulat.
Dilakukan  untuk  semua  metode  interbal sorting, yaitu BubbleSort, SelectionSor dan QuickSort.  Fungsi  akan  memberikan  nilai balik  berupa  status  acak  data  array menjadi true .

## 2. Function Sorting
Algortima ThreadsRunning := 3; with BubbleSortArray do OnTerminate := ThreadDone
(Andri Sukmaindrayana)
with SelectionSortArray do OnTerminate := ThreadDone with QuickSortArray do OnTerminate := ThreadDone Keterangan: Peubah ThreadRunning diisi  sama dengan  3  yang  digunakan  sebagai inisialisasi bahwa proses akan dilakukan  bersama-sama  sebanyak  3 job.  Untuk  masing  thread,  yaitu BubbleSortArray, SelectionSortArray dan  QuickSortArray  dilakukan  proses secara  bersamaan  dan  selanjutnya apabila  proses  masing-masing  selesai maka thread akan berkurang satu demi satu  sampai  dengan  tidak  ada  thread yang diproses.
b. Perancangan Antar Muka (Interface) Perancangan  antarmuka (Interface) merupakan rancang bangun dari
percakapan  antar  pemakai  sistem  ( user ) dengan  komputer.  Percakapan  ini  dapat berupa  proses  pemasukan  data  ke  sistem, menampilkan output informasi  kepada pemakai sistem ( user ) atau dapat keduanya. Beberapa rancangan antarmuka yang penyusun rancang  dalam  pembuatan aplikasi  visualisasi  ini  adalah  sebagai berikut:

## 1. Rancangan Form Utama
Visualisasi Thread Metode Internal Sorting
X Random Sorting Selesai Sekilas Bubble Sort Selection Sort Quick Sort Pengaturan Warna Garis: V Kecepatan: 1 2 3 4 5 6 7 8 9
Keterangan :
1. Visualisasi  Bubble  Sort,  digunakan untuk  menampilkan  data  berupa  garis yang ditampilkan dengan panjang yang berbeda,  ditampilkan  visualisasi  acak, visualisasi proses pengurutan dan garis dengan  panjang  yang  terurut  dari terpendek ke garis terpanjang, pengurutan dilakukan dengan menggunakan  metode  internal  sorting bubble sorting.
2. Visualisasi  Selection  Sort,  digunakan untuk  menampilkan  data  berupa  garis yang ditampilkan dengan panjang yang berbeda,  ditampilkan  visualisasi  acak, visualisasi proses pengurutan dan garis
dengan  panjang  yang  terurut  dari terpendek ke garis terpanjang, pengurutan dilakukan dengan menggunakan  metode  internal  sorting selection sorting.
3. Visualisasi Quick Sort, digunakan untuk menampilkan  data  berupa  garis  yang ditampilkan  dengan  panjang  yang berbeda,  ditampilkan  visualisasi  acak, visualisasi proses pengurutan dan garis dengan  panjang  yang  terurut  dari terpendek ke garis terpanjang, pengurutan dilakukan dengan menggunakan  metode  internal  sorting quick sorting. 4. Warna Garis, digunakan untuk pengaturan  warna  visualisasi  garis sesuai  dengan  pilihan  warna  yang disediakan. 5. Kecepatan, digunakan untuk melakukan pengaturan kecepatan dalam  proses  acak  dan  proses pengurutan.
6. Tombol  “Random”,  digunakan  untuk mengeksekusi  acak  pada  masing- masing  metode  internal  sorting  yang divisualkan  dengan bentuk garis dengan panjang yang beragam.
7. Tombol  “Sorting”,  merupakan  tombol untuk  melakukan  ekesekusi  proses internal  sorting  yang  dilakukan  secara bersamaan.
8. Tombol  “Sekilas”,  untuk  menampilkan form sekilas tentang program.
9. Tombol  “Selesai”,  digunakan  untuk menutup dan keluar dari aplikasi ini.

## IV. PEMBAHASAN
Pembahasanprogram ini adalah mengenai perangkat lunak untuk menggambarkan  atau  memvisualisasikan proses  konsep  thread  yang  diterapkan pada  metode  internal  sorting.  Adapun beberapa
tahapan dalam
mengimplementasikan program yang dilakukan adalah sebagai berikut:
a. Perangkat  Keras (Hardware) yang digunakan Dalam mengimplementasikan program yang penyusun buat, menggunakan  beberapa  perangkat  keras (Hardware) yang digunakan diantaranya:
1. Prosesor  AMD  Athlon(tm)  X2  250
Processor 3.00
2. RAM 1.00 GB
3. Harddisk 160 Gb
4. VGA ATI Radeon HD 3200 Graphics
5. Monitor LCD LG 19”
6. Printer Epson T11
7. Mouse dan Keyboard Standard
b. Perangkat  Lunak  (Software)  yang
digunakan
Perangkat  lunak (Software) yang digunakan dalam menyelesaikan permasalahan ini diantaranya: 1. Sistem Operasi Microsoft Windows 7
Microsoft  Windows 7 adalah salah satu variant  sistem  operasi  Windows  yang merupakan program untuk menjalankan dan mengoperasikan komputer. 2. BorlandDelphi 7 Enterprise Delphi adalah  sebuah  perangkat  lunak (bahasa pemrograman) untuk membuat  program/aplikasi  komputer berbasis  windows.  Delphi  merupakan bahasa  pemrograman  berbasis  objek, artinya  semua  komponen  yang  ada merupakan objek-objek.
3. Menggunakan  Microsoft  Office  2010 sebagai  alat  bantu  pengolahan  kata dalam pembuatan laporan tugas akhir.
4. Menggunakan  Microsoft  Visio  2003 sebagai  alat  bantu  dalam  mendesain rancangan-rancangan DFD, ERD, rancangan form dan rancangan laporan-laporan.
c. Implementasi Program
1. Daftar Nama Implementasi Unit
No Nama Unit Keterangan 1. UnitThreadSort.pas Digunakan  sebagai  unit  atau  program pada  menu  utama  dari  visualisasi thread pada metode internal sorting 2. UnitFormSekilas.pas Unit yang digunakan untuk membangun  form  sekilas  mengenai program  atau  sistem  yang  penyusun buat. 2. Daftar Nama Implementasi Form No Nama Form Keterangan 1. ThreadSort.dfm Form  yang  dirancang  sebagai  menu tampilan  utama  dari  visualisasi  model lift yang dibuat 2. FormSekilas.dfm Form  yang  menampilkan  informasi sekilas  tentang  aplikasi visualisai  yang dibuat 3. Nama Implementasi Project No Nama Project Keterangan 1. ThreadSrtingVisualization.dpr Merupakan  file  project  dari  aplikasi visualisasi thread pada internal sorting
d. Tampilan/Layout Implementasi Form
V. KESIMPULAN
1. Thread merupakan proses yang dapat diekseskusi secara bersama-sama
sesuai  dengan  kebutuhan  sumber daya masing-masing thread tersebut.
2. Visualisasi  ini  mewakili  data  angka berupa  garis-garis  dalam  pengolahan data array.
3. Konsep multithread dapat diaplikasikan dan divisualisasikan
kedalam  bentuk  metode  internal sorting.
4. Visualisasi  metode  internal  sorting tidak  menampilkan  seluruh  metode, hanya  metode  Bubble  Sort,  Selection Sort dan Quick Sort saja.

## VI. DAFTAR PUSTAKA
Bambang Hariyanto, Ir., MT., Struktur Data, Informatika, Bandung, 2003; Inge Martina, Ir., 36 Jam Belajar Komputer Delphi  5.0,  PT  Elex  Media  Komputindo, Jakarta, 2001; Rinaldi  Munir,  Algoritma  &  Pemrograman Dalam  Bahasa  Pascal  Dan  C,  Informatika, Bandung, 2011.
(Andri Sukmaindrayana)